BUG 28351
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
<h2>返乡人员姓名</h2>
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<input placeholder="请输入" v-model="form.name" :maxlength="20" />
|
||||
<input placeholder="请输入" v-model="form.name" :maxlength="20"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -23,10 +23,10 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<input
|
||||
placeholder="请输入"
|
||||
type="idcard"
|
||||
v-model="form.idNumber"
|
||||
:maxlength="20"
|
||||
placeholder="请输入"
|
||||
type="idcard"
|
||||
v-model="form.idNumber"
|
||||
:maxlength="20"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -39,10 +39,10 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<input
|
||||
placeholder="请输入"
|
||||
type="number"
|
||||
v-model="form.phone"
|
||||
:maxlength="11"
|
||||
placeholder="请输入"
|
||||
type="number"
|
||||
v-model="form.phone"
|
||||
:maxlength="11"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -55,9 +55,9 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<AiSelect
|
||||
v-model="form.type"
|
||||
dict="epidemicRecentPersonType"
|
||||
class="select"
|
||||
v-model="form.type"
|
||||
dict="epidemicRecentPersonType"
|
||||
class="select"
|
||||
></AiSelect>
|
||||
</div>
|
||||
</div>
|
||||
@@ -72,9 +72,9 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<AiSelect
|
||||
dict="epidemicRecentTravel"
|
||||
v-model="form.travelType"
|
||||
class="select"
|
||||
dict="epidemicRecentTravel"
|
||||
v-model="form.travelType"
|
||||
class="select"
|
||||
></AiSelect>
|
||||
</div>
|
||||
</div>
|
||||
@@ -89,10 +89,10 @@
|
||||
<div class="ai-area" @click="isShowStartTime = true">
|
||||
<div class="ai-area__wrapper">
|
||||
<span class="label" v-if="form.startTime">{{
|
||||
form.startTime
|
||||
}}</span>
|
||||
form.startTime
|
||||
}}</span>
|
||||
<i v-else>请选择</i>
|
||||
<u-icon name="arrow-right" color="#ddd" />
|
||||
<u-icon name="arrow-right" color="#ddd"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -106,20 +106,20 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<AiAreaPicker
|
||||
ref="area"
|
||||
class="ai-area"
|
||||
:value="form.startAreaId"
|
||||
:fullName.sync="form.startAreaName"
|
||||
all
|
||||
mode="custom"
|
||||
@select="(v) => (form.startAreaId = v)"
|
||||
ref="area"
|
||||
class="ai-area"
|
||||
:value="form.startAreaId"
|
||||
:fullName.sync="form.startAreaName"
|
||||
all
|
||||
mode="custom"
|
||||
@select="(v) => (form.startAreaId = v)"
|
||||
>
|
||||
<div class="ai-area__wrapper">
|
||||
<span class="label" v-if="form.startAreaName">{{
|
||||
form.startAreaName
|
||||
}}</span>
|
||||
form.startAreaName
|
||||
}}</span>
|
||||
<i v-else>请选择</i>
|
||||
<u-icon name="arrow-right" color="#ddd" />
|
||||
<u-icon name="arrow-right" color="#ddd"/>
|
||||
</div>
|
||||
</AiAreaPicker>
|
||||
</div>
|
||||
@@ -133,11 +133,11 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<textarea
|
||||
auto-height
|
||||
v-model="form.startAddress"
|
||||
:maxlength="500"
|
||||
placeholder="请输入详细的出发地址"
|
||||
placeholder-style="font-size: 16px"
|
||||
auto-height
|
||||
v-model="form.startAddress"
|
||||
:maxlength="500"
|
||||
placeholder="请输入详细的出发地址"
|
||||
placeholder-style="font-size: 16px"
|
||||
></textarea>
|
||||
</div>
|
||||
</div>
|
||||
@@ -152,10 +152,10 @@
|
||||
<div class="ai-area" @click="isShowEndTime = true">
|
||||
<div class="ai-area__wrapper">
|
||||
<span class="label" v-if="form.arriveTime">{{
|
||||
form.arriveTime
|
||||
}}</span>
|
||||
form.arriveTime
|
||||
}}</span>
|
||||
<i v-else>请选择</i>
|
||||
<u-icon name="arrow-right" color="#ddd" />
|
||||
<u-icon name="arrow-right" color="#ddd"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -169,20 +169,20 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<AiAreaPicker
|
||||
ref="area"
|
||||
class="ai-area"
|
||||
:value="form.arriveAreaId"
|
||||
:fullName.sync="form.arriveAreaName"
|
||||
mode="custom"
|
||||
@select="(v) => (form.arriveAreaId = v)"
|
||||
all
|
||||
ref="area"
|
||||
class="ai-area"
|
||||
:value="form.arriveAreaId"
|
||||
:fullName.sync="form.arriveAreaName"
|
||||
mode="custom"
|
||||
@select="(v) => (form.arriveAreaId = v)"
|
||||
all
|
||||
>
|
||||
<div class="ai-area__wrapper">
|
||||
<span class="label" v-if="form.arriveAreaName">{{
|
||||
form.arriveAreaName
|
||||
}}</span>
|
||||
form.arriveAreaName
|
||||
}}</span>
|
||||
<i v-else>请选择</i>
|
||||
<u-icon name="arrow-right" color="#ddd" />
|
||||
<u-icon name="arrow-right" color="#ddd"/>
|
||||
</div>
|
||||
</AiAreaPicker>
|
||||
</div>
|
||||
@@ -196,11 +196,11 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<textarea
|
||||
auto-height
|
||||
v-model="form.arriveAddress"
|
||||
:maxlength="500"
|
||||
placeholder="请输入详细的返乡地址"
|
||||
placeholder-style="font-size: 16px"
|
||||
auto-height
|
||||
v-model="form.arriveAddress"
|
||||
:maxlength="500"
|
||||
placeholder="请输入详细的返乡地址"
|
||||
placeholder-style="font-size: 16px"
|
||||
></textarea>
|
||||
</div>
|
||||
</div>
|
||||
@@ -213,12 +213,12 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<textarea
|
||||
auto-height
|
||||
style="height: 90px"
|
||||
v-model="form.description"
|
||||
:maxlength="500"
|
||||
placeholder="请输入行程描述"
|
||||
placeholder-style="font-size: 16px"
|
||||
auto-height
|
||||
style="height: 90px"
|
||||
v-model="form.description"
|
||||
:maxlength="500"
|
||||
placeholder="请输入行程描述"
|
||||
placeholder-style="font-size: 16px"
|
||||
></textarea>
|
||||
</div>
|
||||
</div>
|
||||
@@ -235,10 +235,10 @@
|
||||
<div class="ai-area" @click="isShowDate = true">
|
||||
<div class="ai-area__wrapper">
|
||||
<span class="label" v-if="form.checkTime">{{
|
||||
form.checkTime
|
||||
}}</span>
|
||||
form.checkTime
|
||||
}}</span>
|
||||
<i v-else>请选择</i>
|
||||
<u-icon name="arrow-right" color="#ddd" />
|
||||
<u-icon name="arrow-right" color="#ddd"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -263,9 +263,9 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<AiRadio
|
||||
style="width: 100%"
|
||||
v-model="form.checkResult"
|
||||
dict="epidemicRecentTestResult"
|
||||
style="width: 100%"
|
||||
v-model="form.checkResult"
|
||||
dict="epidemicRecentTestResult"
|
||||
></AiRadio>
|
||||
</div>
|
||||
</div>
|
||||
@@ -280,9 +280,9 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<input
|
||||
placeholder="请输入"
|
||||
v-model="form.temperature"
|
||||
:maxlength="20"
|
||||
placeholder="请输入"
|
||||
v-model="form.temperature"
|
||||
:maxlength="20"
|
||||
/>
|
||||
<i>℃</i>
|
||||
</div>
|
||||
@@ -296,9 +296,9 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<AiRadio
|
||||
style="width: 100%"
|
||||
v-model="form.touchInFourteen"
|
||||
dict="epidemicTouchInFourteen"
|
||||
style="width: 100%"
|
||||
v-model="form.touchInFourteen"
|
||||
dict="epidemicTouchInFourteen"
|
||||
></AiRadio>
|
||||
</div>
|
||||
</div>
|
||||
@@ -311,31 +311,31 @@
|
||||
</div>
|
||||
<div class="form-item__right">
|
||||
<AiCheckbox
|
||||
style="width: 100%"
|
||||
v-model="form.health"
|
||||
dict="epidemicRecentHealth"
|
||||
style="width: 100%"
|
||||
v-model="form.health"
|
||||
dict="epidemicRecentHealth"
|
||||
></AiCheckbox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<u-picker
|
||||
mode="time"
|
||||
:params="dataParams"
|
||||
v-model="isShowDate"
|
||||
@confirm="onDateChange"
|
||||
mode="time"
|
||||
:params="dataParams"
|
||||
v-model="isShowDate"
|
||||
@confirm="onDateChange"
|
||||
></u-picker>
|
||||
<u-picker
|
||||
mode="time"
|
||||
:params="params"
|
||||
v-model="isShowStartTime"
|
||||
@confirm="onStartChange"
|
||||
mode="time"
|
||||
:params="params"
|
||||
v-model="isShowStartTime"
|
||||
@confirm="onStartChange"
|
||||
></u-picker>
|
||||
<u-picker
|
||||
mode="time"
|
||||
:params="params"
|
||||
v-model="isShowEndTime"
|
||||
@confirm="onEndChange"
|
||||
mode="time"
|
||||
:params="params"
|
||||
v-model="isShowEndTime"
|
||||
@confirm="onEndChange"
|
||||
></u-picker>
|
||||
<div class="btn-wrapper">
|
||||
<div class="btn" hover-class="text-hover" @click="submit">提交</div>
|
||||
@@ -344,9 +344,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import AiUploader from "@/components/AiUploader/AiUploader";
|
||||
// import AiSelect from "@/components/AiSelect/AiSelect";
|
||||
import { mapState } from "vuex";
|
||||
import {mapState} from "vuex";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
@@ -409,11 +407,11 @@ export default {
|
||||
onLoad(option) {
|
||||
this.areaId = this.user.areaId;
|
||||
document.title = '返乡登记'
|
||||
if(option.corpId) {
|
||||
if (option.corpId) {
|
||||
this.form.corpId = option.corpId
|
||||
}
|
||||
this.form.arriveGirdId = option.arriveGirdId
|
||||
this.form.arriveGirdName = option.arriveGirdName
|
||||
this.form.arriveGirdName = decodeURIComponent(option.arriveGirdName)
|
||||
},
|
||||
|
||||
methods: {
|
||||
@@ -439,7 +437,7 @@ export default {
|
||||
}
|
||||
|
||||
if (
|
||||
!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.form.idNumber)
|
||||
!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.form.idNumber)
|
||||
) {
|
||||
return this.$u.toast("请输入正确的身份证账号");
|
||||
}
|
||||
@@ -465,8 +463,8 @@ export default {
|
||||
}
|
||||
|
||||
if (
|
||||
new Date(this.form.startTime.replace(/-/g, "/")).getTime() >
|
||||
new Date().getTime()
|
||||
new Date(this.form.startTime.replace(/-/g, "/")).getTime() >
|
||||
new Date().getTime()
|
||||
) {
|
||||
return this.$u.toast("出发时间不得晚于当前时间");
|
||||
}
|
||||
@@ -476,8 +474,8 @@ export default {
|
||||
}
|
||||
|
||||
if (
|
||||
this.form.startAreaId.substr(this.form.startAreaId.length - 3, 3) ===
|
||||
"000"
|
||||
this.form.startAreaId.substr(this.form.startAreaId.length - 3, 3) ===
|
||||
"000"
|
||||
) {
|
||||
return this.$u.toast("出发地区必须选到村或社区");
|
||||
}
|
||||
@@ -490,8 +488,8 @@ export default {
|
||||
}
|
||||
|
||||
if (
|
||||
new Date(this.form.startTime.replace(/-/g, "/")).getTime() >=
|
||||
new Date(this.form.arriveTime.replace(/-/g, "/")).getTime()
|
||||
new Date(this.form.startTime.replace(/-/g, "/")).getTime() >=
|
||||
new Date(this.form.arriveTime.replace(/-/g, "/")).getTime()
|
||||
) {
|
||||
return this.$u.toast("到达时间不得早于出发时间");
|
||||
}
|
||||
@@ -500,8 +498,8 @@ export default {
|
||||
return this.$u.toast("请选择到达地区");
|
||||
}
|
||||
if (
|
||||
this.form.arriveAreaId.substr(this.form.arriveAreaId.length - 3, 3) ===
|
||||
"000"
|
||||
this.form.arriveAreaId.substr(this.form.arriveAreaId.length - 3, 3) ===
|
||||
"000"
|
||||
) {
|
||||
return this.$u.toast("到达地区必须选到村或社区");
|
||||
}
|
||||
@@ -537,30 +535,28 @@ export default {
|
||||
|
||||
this.$loading();
|
||||
this.$http
|
||||
.post(`/app/appepidemicbackhomerecord/addOrUpdate`, {
|
||||
...this.form,
|
||||
startTime: this.form.startTime + ":00",
|
||||
arriveTime: this.form.arriveTime + ":00",
|
||||
checkTime: this.form.checkTime + " 00:00:00",
|
||||
health: this.form.health.join(","),
|
||||
checkPhoto: JSON.stringify(this.form.checkPhoto),
|
||||
})
|
||||
.then((res) => {
|
||||
|
||||
this.$hideLoading();
|
||||
this.flag = false;
|
||||
if (res.code == 0) {
|
||||
console.log(res)
|
||||
uni.$emit("updateBackList");
|
||||
setTimeout(() => {
|
||||
uni.navigateTo({url: `./Success?status=1&corpId=${this.form.corpId}`})
|
||||
}, 400);
|
||||
}
|
||||
}).catch((err) => {
|
||||
console.log(err)
|
||||
.post(`/app/appepidemicbackhomerecord/addOrUpdate`, {
|
||||
...this.form,
|
||||
startTime: this.form.startTime + ":00",
|
||||
arriveTime: this.form.arriveTime + ":00",
|
||||
checkTime: this.form.checkTime + " 00:00:00",
|
||||
health: this.form.health.join(","),
|
||||
checkPhoto: JSON.stringify(this.form.checkPhoto),
|
||||
})
|
||||
.then((res) => {
|
||||
this.$hideLoading();
|
||||
this.flag = false;
|
||||
if (res.code == 0) {
|
||||
uni.$emit("updateBackList");
|
||||
uni.navigateTo({url: `./Success?status=1&corpId=${this.form.corpId}`})
|
||||
})
|
||||
setTimeout(() => {
|
||||
uni.navigateTo({url: `./Success?status=1&corpId=${this.form.corpId}`})
|
||||
}, 400);
|
||||
}
|
||||
}).catch((err) => {
|
||||
console.log(err)
|
||||
uni.$emit("updateBackList");
|
||||
uni.navigateTo({url: `./Success?status=1&corpId=${this.form.corpId}`})
|
||||
})
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -589,6 +585,7 @@ export default {
|
||||
|
||||
.form-item__checkbox {
|
||||
width: 100%;
|
||||
|
||||
div {
|
||||
width: 100%;
|
||||
height: 80px;
|
||||
@@ -753,6 +750,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn-wrapper {
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
|
||||
@@ -49,7 +49,9 @@
|
||||
</div>
|
||||
<div class="pad-b120"></div>
|
||||
<div class="footer" v-if="isAdmin">
|
||||
<div class="bg-fff" @click="linkTo(`./Add?arriveGirdId=${girdId}&arriveGirdName=${girdName}`)">登记</div>
|
||||
<div class="bg-fff"
|
||||
@click="linkTo(`./Add?arriveGirdId=${girdId}&arriveGirdName=${encodeURIComponent(girdName)}`)">登记
|
||||
</div>
|
||||
<div class="bg-blue" @click="show=true">邀请居民填写</div>
|
||||
</div>
|
||||
<u-popup v-model="show" mode="bottom" border-radius="14">
|
||||
@@ -100,6 +102,10 @@ export default {
|
||||
...mapState(['user']),
|
||||
params() {
|
||||
return qs.parse(decodeURIComponent(location.search))
|
||||
},
|
||||
shareLink() {
|
||||
let {girdId, girdName, user: {corpId}} = this
|
||||
return location.origin + `/apps/AppBackUserList/add?corpId=${corpId}&arriveGirdId=${girdId}&arriveGirdName=${encodeURIComponent(girdName)}`
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
@@ -188,7 +194,7 @@ export default {
|
||||
},
|
||||
copy() {
|
||||
let oInput = document.createElement('input')
|
||||
oInput.value = location.origin + `/apps/AppBackUserList/add?corpId=${this.user.corpId}&arriveGirdId=${this.girdId}&arriveGirdName=${this.girdName}`
|
||||
oInput.value = this.shareLink
|
||||
document.body.appendChild(oInput)
|
||||
oInput.select()
|
||||
document.execCommand('Copy')
|
||||
@@ -201,7 +207,7 @@ export default {
|
||||
// title: this.params.title,
|
||||
// desc: this.params.tableExplain,
|
||||
imgUrl: 'https://cdn.cunwuyun.cn/dvcp/h5/back-user-share.png',
|
||||
link: location.origin + `/apps/AppBackUserList/add?corpId=${this.user.corpId}&arriveGirdId=${this.girdId}&arriveGirdName=${this.girdName}`,
|
||||
link: this.shareLink,
|
||||
}])
|
||||
})
|
||||
},
|
||||
@@ -211,7 +217,7 @@ export default {
|
||||
// title: this.params.title,
|
||||
// desc: this.params.tableExplain,
|
||||
imgUrl: 'https://cdn.cunwuyun.cn/dvcp/h5/back-user-share.png',
|
||||
link: location.origin + `/apps/AppBackUserList/add?corpId=${this.user.corpId}&arriveGirdId=${this.girdId}&arriveGirdName=${this.girdName}`,
|
||||
link: this.shareLink,
|
||||
}])
|
||||
})
|
||||
},
|
||||
@@ -307,6 +313,7 @@ export default {
|
||||
|
||||
.user-list {
|
||||
background-color: #f5f5f5;
|
||||
|
||||
.item {
|
||||
padding: 32px 64px 24px;
|
||||
background-color: #fff;
|
||||
|
||||
Reference in New Issue
Block a user