|
|
@ -1,5 +1,5 @@ |
|
|
|
<template> |
|
|
|
<div class="bg-app"> |
|
|
|
<div class="bg-caiji"> |
|
|
|
<div class="title"> |
|
|
|
居民信息填报 |
|
|
|
</div> |
|
|
@ -75,7 +75,7 @@ |
|
|
|
<mt-field class="my-field" |
|
|
|
:disableClear="true" |
|
|
|
label="详细地址" |
|
|
|
placeholder="请输入" |
|
|
|
placeholder="xx小区(号)x号楼x单元x户" |
|
|
|
v-model="formData.address"></mt-field> |
|
|
|
<div class="line"></div> |
|
|
|
</div> |
|
|
@ -99,14 +99,23 @@ |
|
|
|
v-model="formData.houseHolderName"></mt-field> |
|
|
|
<div class="line"></div> |
|
|
|
|
|
|
|
<mt-field class="my-field" |
|
|
|
<div @click="handelSel('totalResi')"> |
|
|
|
<mt-cell :title="'居住成员人数'" |
|
|
|
is-link> |
|
|
|
<span class="picker_content" |
|
|
|
v-if="selTotalResi">{{selTotalResi.label}}</span> |
|
|
|
<span v-else>请选择</span> |
|
|
|
</mt-cell> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- <mt-field class="my-field" |
|
|
|
label="居住成员人数" |
|
|
|
:disableClear="true" |
|
|
|
placeholder="请输入" |
|
|
|
type="number" |
|
|
|
@blur.native.capture="bluraa" |
|
|
|
v-model="formData.totalResi"></mt-field> |
|
|
|
<div class="line"></div> |
|
|
|
<div class="line"></div> --> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
@ -162,6 +171,7 @@ |
|
|
|
<div class="div-btn"> |
|
|
|
<mt-button @click="handleSubmit" |
|
|
|
type="primary" |
|
|
|
class="btn" |
|
|
|
:disabled="btnDisabled" |
|
|
|
size="small">提交</mt-button> |
|
|
|
</div> |
|
|
@ -191,6 +201,8 @@ |
|
|
|
|
|
|
|
import { requestPost } from "@/js/dai/request"; |
|
|
|
import { Toast } from "mint-ui"; |
|
|
|
import { MessageBox } from 'mint-ui'; |
|
|
|
import { Loading } from 'element-ui' // 引入Loading服务 |
|
|
|
|
|
|
|
let loading // 加载动画 |
|
|
|
export default { |
|
|
@ -217,6 +229,10 @@ export default { |
|
|
|
selUnit: null, |
|
|
|
selHome: null, |
|
|
|
selHomeType: null, |
|
|
|
selTotalResi: { |
|
|
|
label: '4人', |
|
|
|
value: 4 |
|
|
|
}, |
|
|
|
|
|
|
|
unitContent: '', |
|
|
|
homeContent: '',////选择其他时,输入的值 |
|
|
@ -229,10 +245,11 @@ export default { |
|
|
|
address: '',//外部:用户自己输入;内部:把小区名楼栋名单元名房屋名拼接起来。例如:绿地望海领域10号楼一单元101 |
|
|
|
houseType: '',//1自由0租住 |
|
|
|
houseHolderName: '',//户主姓名 |
|
|
|
totalResi: 1,//居住成员人数 |
|
|
|
totalResi: 4,//居住成员人数 |
|
|
|
customerId: '',//customerId |
|
|
|
|
|
|
|
}, |
|
|
|
showMessagsBox: false,//是否显示人员未填写提示弹出框 |
|
|
|
|
|
|
|
selMemberIndex: null, |
|
|
|
|
|
|
@ -246,7 +263,8 @@ export default { |
|
|
|
ymjz: '', |
|
|
|
selDetNum: {}, |
|
|
|
selDetCondition: {} |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
roomTypeList: [ |
|
|
@ -259,7 +277,7 @@ export default { |
|
|
|
label: '租住' |
|
|
|
}, |
|
|
|
], |
|
|
|
|
|
|
|
totalResiList: [], |
|
|
|
detNumList: [],//参加核酸次数list |
|
|
|
detConditionList: [//参加核酸类型list |
|
|
|
{ |
|
|
@ -299,18 +317,20 @@ export default { |
|
|
|
this.shequName = this.$route.query.name |
|
|
|
|
|
|
|
let envShow = process.env.VUE_APP_NODE_ENV |
|
|
|
|
|
|
|
let internalShequId = '' |
|
|
|
if (envShow === 'dev' || envShow === 'prod:sit') { // 开发环境 |
|
|
|
internalShequId = '6e511da6816e53af4cda952365a26eb9' |
|
|
|
} else if (envShow === 'prod:uat') { // 体验 |
|
|
|
internalShequId = '6e511da6816e53af4cda952365a26eb9' |
|
|
|
} else if (envShow === 'prod') { // 生产 |
|
|
|
internalShequId = '1202807601961984002' |
|
|
|
} |
|
|
|
console.log('环境', envShow) |
|
|
|
|
|
|
|
// let internalShequId = ['1202807601961984002', '6e511da6816e53af4cda952365a26eb9',] |
|
|
|
let internalShequId = ['1202807601961984002',] |
|
|
|
// if (envShow === 'dev' || envShow === 'prod:sit') { // 开发环境 |
|
|
|
// internalShequId = null |
|
|
|
// } else if (envShow === 'prod:uat') { // 体验 |
|
|
|
// internalShequId = '6e511da6816e53af4cda952365a26eb9' |
|
|
|
// } else if (envShow === 'prod') { // 生产 |
|
|
|
// internalShequId = '1202807601961984002' |
|
|
|
// } |
|
|
|
|
|
|
|
this.formData.customerId = this.customerId |
|
|
|
if (this.shequId === internalShequId) { |
|
|
|
if (internalShequId.indexOf(this.shequId) > -1) { |
|
|
|
this.formData.origin = 'internal' |
|
|
|
} else { |
|
|
|
this.formData.origin = 'external' |
|
|
@ -324,36 +344,20 @@ export default { |
|
|
|
} |
|
|
|
this.detNumList.push(obj) |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
bluraa () { |
|
|
|
let objTemp = { |
|
|
|
name: '', |
|
|
|
mobile: '', |
|
|
|
idNum: '', |
|
|
|
heSuanCount: 0, |
|
|
|
ymjz: '', |
|
|
|
selDetNum: {}, |
|
|
|
customerId: '', |
|
|
|
selDetCondition: {} |
|
|
|
for (let i = 1; i < 9; i++) { |
|
|
|
let obj = { |
|
|
|
value: i, |
|
|
|
label: i + '人', |
|
|
|
} |
|
|
|
this.totalResiList.push(obj) |
|
|
|
} |
|
|
|
|
|
|
|
if (this.memberList.length > this.formData.totalResi) {//已有成员数量比设置的数量大,删除多余 |
|
|
|
let differ = this.memberList.length - this.formData.totalResi |
|
|
|
this.memberList.splice(this.formData.totalResi, differ) |
|
|
|
} else if (this.memberList.length < this.formData.totalResi) {////已有成员数量比设置的数量小,补充空对象 |
|
|
|
let differ = this.formData.totalResi - this.memberList.length |
|
|
|
|
|
|
|
for (let i = 0; i < differ; i++) { |
|
|
|
let temp = JSON.parse(JSON.stringify(objTemp)) |
|
|
|
this.memberList.push(temp) |
|
|
|
} |
|
|
|
} |
|
|
|
this.bluraa() |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
|
|
|
|
console.log(this.memberList) |
|
|
|
}, |
|
|
|
|
|
|
|
//根据社区id获取小区列表 |
|
|
|
async loadVillage () { |
|
|
@ -526,6 +530,9 @@ export default { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (selType === 'totalResi') { |
|
|
|
this.pickerData = this.totalResiList |
|
|
|
} |
|
|
|
if (selType === 'roomType') { |
|
|
|
this.pickerData = this.roomTypeList |
|
|
|
} |
|
|
@ -548,17 +555,29 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
async handleSubmit () { |
|
|
|
|
|
|
|
let message = this.validataFormData() |
|
|
|
|
|
|
|
|
|
|
|
if (message) { |
|
|
|
Toast({ |
|
|
|
message: message, |
|
|
|
duration: 3000 |
|
|
|
}); |
|
|
|
return false |
|
|
|
if (this.showMessagsBox) { |
|
|
|
MessageBox.confirm(message).then(action => { |
|
|
|
this.submit() |
|
|
|
}); |
|
|
|
} else { |
|
|
|
Toast({ |
|
|
|
message: message, |
|
|
|
duration: 3000 |
|
|
|
}); |
|
|
|
} |
|
|
|
} else { |
|
|
|
this.submit() |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
async submit () { |
|
|
|
|
|
|
|
|
|
|
|
if (this.formData.origin === 'internal') { |
|
|
|
|
|
|
|
this.formData.villageId = this.selVillage.value |
|
|
@ -597,64 +616,71 @@ export default { |
|
|
|
this.formData.memberList = this.memberList |
|
|
|
console.log(this.formData) |
|
|
|
this.btnDisabled = true |
|
|
|
this.startLoading() |
|
|
|
const url = "/epmetuser/icresicollect/save" |
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, this.formData) |
|
|
|
|
|
|
|
this.endLoading() |
|
|
|
this.btnDisabled = false |
|
|
|
if (code === 0) { |
|
|
|
Toast({ |
|
|
|
message: '提交成功', |
|
|
|
duration: 3000 |
|
|
|
}); |
|
|
|
this.btnDisabled = false |
|
|
|
|
|
|
|
this.$router.replace({ name: 'caijisuccess' }) |
|
|
|
// Toast({ |
|
|
|
// message: '提交成功', |
|
|
|
// duration: 3000 |
|
|
|
// }); |
|
|
|
|
|
|
|
} else { |
|
|
|
Toast({ |
|
|
|
message: msg, |
|
|
|
duration: 3000 |
|
|
|
}); |
|
|
|
this.btnDisabled = false |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//必填验证 |
|
|
|
validataFormData () { |
|
|
|
|
|
|
|
let message = '' |
|
|
|
let aletMessage = '' |
|
|
|
this.showMessagsBox = false |
|
|
|
if (this.formData.origin === 'internal') {//内部 |
|
|
|
|
|
|
|
if (!this.selVillage) { |
|
|
|
message = '请选择小区' |
|
|
|
return message |
|
|
|
aletMessage = '请选择小区' |
|
|
|
|
|
|
|
return aletMessage |
|
|
|
} |
|
|
|
if (!this.selBuild) { |
|
|
|
message = '请选择楼栋' |
|
|
|
return message |
|
|
|
aletMessage = '请选择楼栋' |
|
|
|
return aletMessage |
|
|
|
} |
|
|
|
|
|
|
|
if (!this.selUnit) {//没有选择单元 |
|
|
|
message = '请选择单元' |
|
|
|
return message |
|
|
|
aletMessage = '请选择单元' |
|
|
|
return aletMessage |
|
|
|
|
|
|
|
} else {//选择了单元 |
|
|
|
if (this.selUnit.value === 'else') {//单元选择了其他 |
|
|
|
if (!this.unitContent) { |
|
|
|
message = '请填写单元号' |
|
|
|
return message |
|
|
|
aletMessage = '请填写单元号' |
|
|
|
return aletMessage |
|
|
|
} |
|
|
|
|
|
|
|
if (!this.homeContent) {//房屋必须填写内容 |
|
|
|
message = '请填写房屋' |
|
|
|
return message |
|
|
|
aletMessage = '请填写房屋' |
|
|
|
return aletMessage |
|
|
|
} |
|
|
|
|
|
|
|
} else {//单元没有选择其他 |
|
|
|
if (!this.selHome) { |
|
|
|
message = '请选择房屋' |
|
|
|
return message |
|
|
|
aletMessage = '请选择房屋' |
|
|
|
return aletMessage |
|
|
|
|
|
|
|
} else if (this.selHome.value === 'else' && !this.homeContent) { |
|
|
|
message = '请填写房屋' |
|
|
|
return message |
|
|
|
aletMessage = '请填写房屋' |
|
|
|
return aletMessage |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -663,29 +689,44 @@ export default { |
|
|
|
|
|
|
|
} else { |
|
|
|
if (!this.formData.address) { |
|
|
|
message = '请填写地址' |
|
|
|
return message |
|
|
|
aletMessage = '请填写地址' |
|
|
|
return aletMessage |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (!this.selHomeType) { |
|
|
|
message = '请选择房屋类型' |
|
|
|
return message |
|
|
|
aletMessage = '请选择房屋类型' |
|
|
|
return aletMessage |
|
|
|
} |
|
|
|
if (!this.formData.houseHolderName) { |
|
|
|
message = '请填写户主姓名' |
|
|
|
return message |
|
|
|
aletMessage = '请填写户主姓名' |
|
|
|
return aletMessage |
|
|
|
} |
|
|
|
let member1 = this.memberList[0] |
|
|
|
|
|
|
|
|
|
|
|
if (!member1.name || !member1.mobile || !member1.idNum || !member1.selDetNum.value || !member1.selDetCondition.value) { |
|
|
|
aletMessage = '请完整填写用户1信息' |
|
|
|
return aletMessage |
|
|
|
} |
|
|
|
let member = this.memberList[0] |
|
|
|
|
|
|
|
for (let i = 0; i < this.memberList.length; i++) { |
|
|
|
|
|
|
|
for (let i = 1; i < this.memberList.length; i++) { |
|
|
|
let item = this.memberList[i] |
|
|
|
if (!item.name || !item.mobile || !item.idNum || !item.selDetNum.value || !item.selDetCondition.value) { |
|
|
|
message = '请完整填写用户' + (i + 1) + '信息' |
|
|
|
return message |
|
|
|
|
|
|
|
if (item.name || item.mobile || item.idNum || item.selDetNum.value || item.selDetCondition.value) {//填写了信息的,必须填写姓名身份证 |
|
|
|
if (!item.name || !item.idNum) { |
|
|
|
aletMessage = '请完整填写用户' + (i + 1) + '的姓名和身份证信息' |
|
|
|
return aletMessage |
|
|
|
} |
|
|
|
} else { |
|
|
|
aletMessage = '用户' + (i + 1) + '的信息没有填写,是否继续' |
|
|
|
this.showMessagsBox = true |
|
|
|
return aletMessage |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
@ -693,9 +734,6 @@ export default { |
|
|
|
popupOk () { |
|
|
|
if (this.selType === 'community') { |
|
|
|
this.selVillage = this.selObj |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.selBuild = null |
|
|
|
this.selUnit = null |
|
|
|
this.selHome = null |
|
|
@ -728,9 +766,13 @@ export default { |
|
|
|
} |
|
|
|
if (this.selType === 'room') { |
|
|
|
this.selHome = this.selObj |
|
|
|
|
|
|
|
this.homeContent = '' |
|
|
|
} |
|
|
|
|
|
|
|
if (this.selType === 'totalResi') { |
|
|
|
this.selTotalResi = this.selObj |
|
|
|
this.formData.totalResi = this.selObj.value |
|
|
|
this.bluraa() |
|
|
|
} |
|
|
|
|
|
|
|
if (this.selType === 'roomType') { |
|
|
@ -754,13 +796,55 @@ export default { |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
bluraa () { |
|
|
|
let objTemp = { |
|
|
|
name: '', |
|
|
|
mobile: '', |
|
|
|
idNum: '', |
|
|
|
heSuanCount: 0, |
|
|
|
ymjz: '', |
|
|
|
selDetNum: {}, |
|
|
|
customerId: '', |
|
|
|
selDetCondition: {} |
|
|
|
} |
|
|
|
|
|
|
|
if (this.memberList.length > this.formData.totalResi) {//已有成员数量比设置的数量大,删除多余 |
|
|
|
let differ = this.memberList.length - this.formData.totalResi |
|
|
|
this.memberList.splice(this.formData.totalResi, differ) |
|
|
|
} else if (this.memberList.length < this.formData.totalResi) {////已有成员数量比设置的数量小,补充空对象 |
|
|
|
let differ = this.formData.totalResi - this.memberList.length |
|
|
|
|
|
|
|
for (let i = 0; i < differ; i++) { |
|
|
|
let temp = JSON.parse(JSON.stringify(objTemp)) |
|
|
|
this.memberList.push(temp) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
console.log(this.memberList) |
|
|
|
}, |
|
|
|
|
|
|
|
onPickerChange (picker, values) { |
|
|
|
|
|
|
|
this.selObj = values[0] |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// 开启加载动画 |
|
|
|
startLoading () { |
|
|
|
loading = Loading.service({ |
|
|
|
lock: true, // 是否锁定 |
|
|
|
text: '正在加载……', // 加载中需要显示的文字 |
|
|
|
background: 'rgba(0,0,0,.7)' // 背景颜色 |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 结束加载动画 |
|
|
|
endLoading () { |
|
|
|
// clearTimeout(timer); |
|
|
|
if (loading) { |
|
|
|
loading.close() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|