BUG 28351

This commit is contained in:
aixianling
2022-03-18 16:42:59 +08:00
parent 55484d2a53
commit 43be542532
2 changed files with 130 additions and 125 deletions

View File

@@ -11,7 +11,7 @@
<h2>返乡人员姓名</h2> <h2>返乡人员姓名</h2>
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<input placeholder="请输入" v-model="form.name" :maxlength="20" /> <input placeholder="请输入" v-model="form.name" :maxlength="20"/>
</div> </div>
</div> </div>
</div> </div>
@@ -23,10 +23,10 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<input <input
placeholder="请输入" placeholder="请输入"
type="idcard" type="idcard"
v-model="form.idNumber" v-model="form.idNumber"
:maxlength="20" :maxlength="20"
/> />
</div> </div>
</div> </div>
@@ -39,10 +39,10 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<input <input
placeholder="请输入" placeholder="请输入"
type="number" type="number"
v-model="form.phone" v-model="form.phone"
:maxlength="11" :maxlength="11"
/> />
</div> </div>
</div> </div>
@@ -55,9 +55,9 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<AiSelect <AiSelect
v-model="form.type" v-model="form.type"
dict="epidemicRecentPersonType" dict="epidemicRecentPersonType"
class="select" class="select"
></AiSelect> ></AiSelect>
</div> </div>
</div> </div>
@@ -72,9 +72,9 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<AiSelect <AiSelect
dict="epidemicRecentTravel" dict="epidemicRecentTravel"
v-model="form.travelType" v-model="form.travelType"
class="select" class="select"
></AiSelect> ></AiSelect>
</div> </div>
</div> </div>
@@ -89,10 +89,10 @@
<div class="ai-area" @click="isShowStartTime = true"> <div class="ai-area" @click="isShowStartTime = true">
<div class="ai-area__wrapper"> <div class="ai-area__wrapper">
<span class="label" v-if="form.startTime">{{ <span class="label" v-if="form.startTime">{{
form.startTime form.startTime
}}</span> }}</span>
<i v-else>请选择</i> <i v-else>请选择</i>
<u-icon name="arrow-right" color="#ddd" /> <u-icon name="arrow-right" color="#ddd"/>
</div> </div>
</div> </div>
</div> </div>
@@ -106,20 +106,20 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<AiAreaPicker <AiAreaPicker
ref="area" ref="area"
class="ai-area" class="ai-area"
:value="form.startAreaId" :value="form.startAreaId"
:fullName.sync="form.startAreaName" :fullName.sync="form.startAreaName"
all all
mode="custom" mode="custom"
@select="(v) => (form.startAreaId = v)" @select="(v) => (form.startAreaId = v)"
> >
<div class="ai-area__wrapper"> <div class="ai-area__wrapper">
<span class="label" v-if="form.startAreaName">{{ <span class="label" v-if="form.startAreaName">{{
form.startAreaName form.startAreaName
}}</span> }}</span>
<i v-else>请选择</i> <i v-else>请选择</i>
<u-icon name="arrow-right" color="#ddd" /> <u-icon name="arrow-right" color="#ddd"/>
</div> </div>
</AiAreaPicker> </AiAreaPicker>
</div> </div>
@@ -133,11 +133,11 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<textarea <textarea
auto-height auto-height
v-model="form.startAddress" v-model="form.startAddress"
:maxlength="500" :maxlength="500"
placeholder="请输入详细的出发地址" placeholder="请输入详细的出发地址"
placeholder-style="font-size: 16px" placeholder-style="font-size: 16px"
></textarea> ></textarea>
</div> </div>
</div> </div>
@@ -152,10 +152,10 @@
<div class="ai-area" @click="isShowEndTime = true"> <div class="ai-area" @click="isShowEndTime = true">
<div class="ai-area__wrapper"> <div class="ai-area__wrapper">
<span class="label" v-if="form.arriveTime">{{ <span class="label" v-if="form.arriveTime">{{
form.arriveTime form.arriveTime
}}</span> }}</span>
<i v-else>请选择</i> <i v-else>请选择</i>
<u-icon name="arrow-right" color="#ddd" /> <u-icon name="arrow-right" color="#ddd"/>
</div> </div>
</div> </div>
</div> </div>
@@ -169,20 +169,20 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<AiAreaPicker <AiAreaPicker
ref="area" ref="area"
class="ai-area" class="ai-area"
:value="form.arriveAreaId" :value="form.arriveAreaId"
:fullName.sync="form.arriveAreaName" :fullName.sync="form.arriveAreaName"
mode="custom" mode="custom"
@select="(v) => (form.arriveAreaId = v)" @select="(v) => (form.arriveAreaId = v)"
all all
> >
<div class="ai-area__wrapper"> <div class="ai-area__wrapper">
<span class="label" v-if="form.arriveAreaName">{{ <span class="label" v-if="form.arriveAreaName">{{
form.arriveAreaName form.arriveAreaName
}}</span> }}</span>
<i v-else>请选择</i> <i v-else>请选择</i>
<u-icon name="arrow-right" color="#ddd" /> <u-icon name="arrow-right" color="#ddd"/>
</div> </div>
</AiAreaPicker> </AiAreaPicker>
</div> </div>
@@ -196,11 +196,11 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<textarea <textarea
auto-height auto-height
v-model="form.arriveAddress" v-model="form.arriveAddress"
:maxlength="500" :maxlength="500"
placeholder="请输入详细的返乡地址" placeholder="请输入详细的返乡地址"
placeholder-style="font-size: 16px" placeholder-style="font-size: 16px"
></textarea> ></textarea>
</div> </div>
</div> </div>
@@ -213,12 +213,12 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<textarea <textarea
auto-height auto-height
style="height: 90px" style="height: 90px"
v-model="form.description" v-model="form.description"
:maxlength="500" :maxlength="500"
placeholder="请输入行程描述" placeholder="请输入行程描述"
placeholder-style="font-size: 16px" placeholder-style="font-size: 16px"
></textarea> ></textarea>
</div> </div>
</div> </div>
@@ -235,10 +235,10 @@
<div class="ai-area" @click="isShowDate = true"> <div class="ai-area" @click="isShowDate = true">
<div class="ai-area__wrapper"> <div class="ai-area__wrapper">
<span class="label" v-if="form.checkTime">{{ <span class="label" v-if="form.checkTime">{{
form.checkTime form.checkTime
}}</span> }}</span>
<i v-else>请选择</i> <i v-else>请选择</i>
<u-icon name="arrow-right" color="#ddd" /> <u-icon name="arrow-right" color="#ddd"/>
</div> </div>
</div> </div>
</div> </div>
@@ -263,9 +263,9 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<AiRadio <AiRadio
style="width: 100%" style="width: 100%"
v-model="form.checkResult" v-model="form.checkResult"
dict="epidemicRecentTestResult" dict="epidemicRecentTestResult"
></AiRadio> ></AiRadio>
</div> </div>
</div> </div>
@@ -280,9 +280,9 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<input <input
placeholder="请输入" placeholder="请输入"
v-model="form.temperature" v-model="form.temperature"
:maxlength="20" :maxlength="20"
/> />
<i></i> <i></i>
</div> </div>
@@ -296,9 +296,9 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<AiRadio <AiRadio
style="width: 100%" style="width: 100%"
v-model="form.touchInFourteen" v-model="form.touchInFourteen"
dict="epidemicTouchInFourteen" dict="epidemicTouchInFourteen"
></AiRadio> ></AiRadio>
</div> </div>
</div> </div>
@@ -311,31 +311,31 @@
</div> </div>
<div class="form-item__right"> <div class="form-item__right">
<AiCheckbox <AiCheckbox
style="width: 100%" style="width: 100%"
v-model="form.health" v-model="form.health"
dict="epidemicRecentHealth" dict="epidemicRecentHealth"
></AiCheckbox> ></AiCheckbox>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<u-picker <u-picker
mode="time" mode="time"
:params="dataParams" :params="dataParams"
v-model="isShowDate" v-model="isShowDate"
@confirm="onDateChange" @confirm="onDateChange"
></u-picker> ></u-picker>
<u-picker <u-picker
mode="time" mode="time"
:params="params" :params="params"
v-model="isShowStartTime" v-model="isShowStartTime"
@confirm="onStartChange" @confirm="onStartChange"
></u-picker> ></u-picker>
<u-picker <u-picker
mode="time" mode="time"
:params="params" :params="params"
v-model="isShowEndTime" v-model="isShowEndTime"
@confirm="onEndChange" @confirm="onEndChange"
></u-picker> ></u-picker>
<div class="btn-wrapper"> <div class="btn-wrapper">
<div class="btn" hover-class="text-hover" @click="submit">提交</div> <div class="btn" hover-class="text-hover" @click="submit">提交</div>
@@ -344,9 +344,7 @@
</template> </template>
<script> <script>
// import AiUploader from "@/components/AiUploader/AiUploader"; import {mapState} from "vuex";
// import AiSelect from "@/components/AiSelect/AiSelect";
import { mapState } from "vuex";
export default { export default {
data() { data() {
@@ -409,11 +407,11 @@ export default {
onLoad(option) { onLoad(option) {
this.areaId = this.user.areaId; this.areaId = this.user.areaId;
document.title = '返乡登记' document.title = '返乡登记'
if(option.corpId) { if (option.corpId) {
this.form.corpId = option.corpId this.form.corpId = option.corpId
} }
this.form.arriveGirdId = option.arriveGirdId this.form.arriveGirdId = option.arriveGirdId
this.form.arriveGirdName = option.arriveGirdName this.form.arriveGirdName = decodeURIComponent(option.arriveGirdName)
}, },
methods: { methods: {
@@ -439,7 +437,7 @@ export default {
} }
if ( 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("请输入正确的身份证账号"); return this.$u.toast("请输入正确的身份证账号");
} }
@@ -465,8 +463,8 @@ export default {
} }
if ( if (
new Date(this.form.startTime.replace(/-/g, "/")).getTime() > new Date(this.form.startTime.replace(/-/g, "/")).getTime() >
new Date().getTime() new Date().getTime()
) { ) {
return this.$u.toast("出发时间不得晚于当前时间"); return this.$u.toast("出发时间不得晚于当前时间");
} }
@@ -476,8 +474,8 @@ export default {
} }
if ( if (
this.form.startAreaId.substr(this.form.startAreaId.length - 3, 3) === this.form.startAreaId.substr(this.form.startAreaId.length - 3, 3) ===
"000" "000"
) { ) {
return this.$u.toast("出发地区必须选到村或社区"); return this.$u.toast("出发地区必须选到村或社区");
} }
@@ -490,8 +488,8 @@ export default {
} }
if ( if (
new Date(this.form.startTime.replace(/-/g, "/")).getTime() >= new Date(this.form.startTime.replace(/-/g, "/")).getTime() >=
new Date(this.form.arriveTime.replace(/-/g, "/")).getTime() new Date(this.form.arriveTime.replace(/-/g, "/")).getTime()
) { ) {
return this.$u.toast("到达时间不得早于出发时间"); return this.$u.toast("到达时间不得早于出发时间");
} }
@@ -500,8 +498,8 @@ export default {
return this.$u.toast("请选择到达地区"); return this.$u.toast("请选择到达地区");
} }
if ( if (
this.form.arriveAreaId.substr(this.form.arriveAreaId.length - 3, 3) === this.form.arriveAreaId.substr(this.form.arriveAreaId.length - 3, 3) ===
"000" "000"
) { ) {
return this.$u.toast("到达地区必须选到村或社区"); return this.$u.toast("到达地区必须选到村或社区");
} }
@@ -537,30 +535,28 @@ export default {
this.$loading(); this.$loading();
this.$http this.$http
.post(`/app/appepidemicbackhomerecord/addOrUpdate`, { .post(`/app/appepidemicbackhomerecord/addOrUpdate`, {
...this.form, ...this.form,
startTime: this.form.startTime + ":00", startTime: this.form.startTime + ":00",
arriveTime: this.form.arriveTime + ":00", arriveTime: this.form.arriveTime + ":00",
checkTime: this.form.checkTime + " 00:00:00", checkTime: this.form.checkTime + " 00:00:00",
health: this.form.health.join(","), health: this.form.health.join(","),
checkPhoto: JSON.stringify(this.form.checkPhoto), checkPhoto: JSON.stringify(this.form.checkPhoto),
}) })
.then((res) => { .then((res) => {
this.$hideLoading();
this.$hideLoading(); this.flag = false;
this.flag = false; if (res.code == 0) {
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)
uni.$emit("updateBackList"); 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 { .form-item__checkbox {
width: 100%; width: 100%;
div { div {
width: 100%; width: 100%;
height: 80px; height: 80px;
@@ -753,6 +750,7 @@ export default {
} }
} }
} }
.btn-wrapper { .btn-wrapper {
position: fixed; position: fixed;
left: 50%; left: 50%;

View File

@@ -49,7 +49,9 @@
</div> </div>
<div class="pad-b120"></div> <div class="pad-b120"></div>
<div class="footer" v-if="isAdmin"> <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 class="bg-blue" @click="show=true">邀请居民填写</div>
</div> </div>
<u-popup v-model="show" mode="bottom" border-radius="14"> <u-popup v-model="show" mode="bottom" border-radius="14">
@@ -100,6 +102,10 @@ export default {
...mapState(['user']), ...mapState(['user']),
params() { params() {
return qs.parse(decodeURIComponent(location.search)) 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() { onLoad() {
@@ -188,7 +194,7 @@ export default {
}, },
copy() { copy() {
let oInput = document.createElement('input') 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) document.body.appendChild(oInput)
oInput.select() oInput.select()
document.execCommand('Copy') document.execCommand('Copy')
@@ -201,7 +207,7 @@ export default {
// title: this.params.title, // title: this.params.title,
// desc: this.params.tableExplain, // desc: this.params.tableExplain,
imgUrl: 'https://cdn.cunwuyun.cn/dvcp/h5/back-user-share.png', 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, // title: this.params.title,
// desc: this.params.tableExplain, // desc: this.params.tableExplain,
imgUrl: 'https://cdn.cunwuyun.cn/dvcp/h5/back-user-share.png', 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 { .user-list {
background-color: #f5f5f5; background-color: #f5f5f5;
.item { .item {
padding: 32px 64px 24px; padding: 32px 64px 24px;
background-color: #fff; background-color: #fff;