diff --git a/src/views/modules/base/epidemic/travel.vue b/src/views/modules/base/epidemic/travel.vue index 4dd9211f..b554b665 100644 --- a/src/views/modules/base/epidemic/travel.vue +++ b/src/views/modules/base/epidemic/travel.vue @@ -355,7 +355,7 @@ export default { this.formTitle = '详情' this.formShow = true this.$nextTick(() => { - this.$refs.ref_form.initForm('detail', row.natId, this.agencyId) + this.$refs.ref_form.initForm('detail', row) }) }, @@ -363,7 +363,7 @@ export default { this.formTitle = '新增' this.formShow = true this.$nextTick(() => { - this.$refs.ref_form.initForm('add', null, this.agencyId) + this.$refs.ref_form.initForm('add', '') }) }, @@ -371,7 +371,7 @@ export default { this.formTitle = '修改' this.formShow = true this.$nextTick(() => { - this.$refs.ref_form.initForm('edit', row.natId, this.agencyId) + this.$refs.ref_form.initForm('edit', row) }) }, @@ -403,12 +403,10 @@ export default { }, async deleteNat (row) { - const url = "/gov/org/placepatrolteam/del" + const url = "/epmetuser/tripreport/delete" // const url = "http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolteam/del" - let params = { - natId: row.natId - } + let params = [row.id] const { data, code, msg } = await requestPost(url, params) diff --git a/src/views/modules/base/epidemic/travelForm.vue b/src/views/modules/base/epidemic/travelForm.vue index 4300a7d3..54e478ca 100644 --- a/src/views/modules/base/epidemic/travelForm.vue +++ b/src/views/modules/base/epidemic/travelForm.vue @@ -69,7 +69,7 @@ :disabled="isFromResi" v-model="formData.name" style="margin-right:10px;"> - 添加到核酸检测关注名单 + 添加到核酸检测关注名单 - + + - + --> + + 确 定 + @click="handleComfirm('ref_form')">确 定 { + if (value === '') { + callback(new Error('手机号不能为空')) + } else { + if (!isMobile(value)) { + callback(new Error('手机号格式不正确')) + } + callback() + } + } + let checkIdCard = (rule, value, callback) => { + if (value === '') { + callback(new Error('身份证不能为空')) + } else { + if (!isCard(value)) { + callback(new Error('身份证号格式不正确')) + } + callback() + } + } return { formType: 'add', //表单操作类型 add新增,edit编辑,detail详情 hideUploadEdit: false, // 隐藏'上传按钮' @@ -270,12 +302,14 @@ export default { presentAddress: '', presentAddressCode: '', detailAddress: '', - sourceAddressCode: '', - sourceAddress: '', + sourceAddressCode: '370203', + presentAddressPathCode: '', + sourceAddress: '市北区', + sourceAddressPathCode: '', arriveDate: '', remark: '', leaveDate: '', - userType: '', + userType: 'input', content: '', channel: [] @@ -285,10 +319,10 @@ export default { { required: true, message: '姓名不能为空', trigger: 'blur' } ], idCard: [ - { required: true, message: '身份证号不能为空', trigger: 'blur' } + { validator: checkIdCard, trigger: 'blur' } ], mobile: [ - { required: true, message: '手机号不能为空', trigger: 'blur' }, + { validator: checkMObile, trigger: 'blur' }, ], presentAddress: [ { required: true, message: '现居地不能为空', trigger: 'blur' }, @@ -303,11 +337,10 @@ export default { { required: true, message: '来到本地时间不能为空', trigger: 'blur' }, ] }, - - fileList: [], - uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile', - dialogImageUrl: '', - dialogVisible: false, + areaProps: { + lazy: true, + lazyLoad: this.lzayLoadArea + } } }, @@ -320,22 +353,21 @@ export default { }, methods: { - - async initForm (type, icNatId) { - + lzayLoadArea(node, resolve) { + this.getArea(node, resolve) + }, + async initForm (type, row) { + console.log('row----', row) + if (type != 'add') { + this.formData = { ...row, channel: [], content: '' } + if (row.userType == 'icresi') this.isFromResi = true + } this.formData.agencyId = this.agencyId - this.$refs['ref_form'].resetFields(); + // this.$refs['ref_form'].resetFields(); this.formType = type - if (icNatId) { - this.icNatId = icNatId - this.formData.icNatId = icNatId - this.isFromResi = false - await this.loadFormData() - } - }, @@ -347,8 +379,10 @@ export default { this.formData.userId = '' if (value === '2') { this.isFromResi = true + this.formData.userType = 'icresi' } else { this.isFromResi = false + this.formData.userType = 'input' } }, @@ -388,12 +422,54 @@ export default { this.$message.error(msg) } + }, + async getArea (node, resolve) { + + const url = "/commonservice/areacode/nextarea" + + let params = { + parentLevel: this.agencyId, + parentAreaCode: node.data ? node.data.value : '' + } + + const { data, code, msg } = await requestPost(url, params) + + if (code === 0) { + const nodes = data.map(item => ({ + value: item.areaCode, // + label: item.areaName, + code1: item.parentCode, + leaf: node.level >= 5 // 5层级 + })) + resolve(nodes) + + } else { + this.$message.error(msg) + } + + }, + async handleSelAddress(value) { + + const url = "/gov/org/house/gethouseinfo/" + value + + const { data, code, msg } = await requestPost(url) + + if (code === 0) { + this.formData.presentAddress = data.agencyPathName + this.formData.presentAddressCode = data.areaCode + this.formData.detailAddress = data.allName + + } else { + this.$message.error(msg) + } + }, async handleSelPerson (personItem) { this.formData.userId = personItem.demandUserId this.formData.name = personItem.demandUserName this.formData.mobile = personItem.demandUserMobile this.formData.idCard = personItem.idCard + this.handleSelAddress(personItem.houseId) }, async loadFormData () { @@ -431,68 +507,47 @@ export default { }, - async handleComfirm () { - - - const regPhone = /^1(3|4|5|6|7|8|9)\d{9}$/; //手机号码 - if (regPhone.test(this.formData.mobile) === false) { - this.btnDisable = false - this.$message({ - type: 'warning', - message: '请输入正确的手机号码' - }) - return false; - } - const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X - if (regCard.test(this.formData.idCard) === false) { - this.btnDisable = false - this.$message({ - type: 'warning', - message: '请输入正确的身份证号码' - }) - return false; - } - - if (this.formData.channel.length > 0 && !this.formData.content) { - this.$message({ - type: 'warning', - message: '请填写通知内容' - }) - return false; - } - - this.btnDisable = true - setTimeout(() => { - this.btnDisable = false - }, 5000) - - let url = '' - if (this.formType === 'add') { - url = '/epmetuser/icNat/add' - // url = "http://yapi.elinkservice.cn/mock/102/epmetuser/icNat/add" - this.formData.icNatId = '' - - } else { - url = '/epmetuser/icNat/edit' - // url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/edit" - } - - - const { data, code, msg } = await requestPost(url, this.formData) - - if (code === 0) { - this.$message({ - type: 'success', - message: '操作成功' - }) - this.resetData() - this.$emit('dialogOk') - this.btnDisable = false + async handleComfirm (formName) { + this.$refs[formName].validate(async (valid) => { + if (valid) { + if (this.formData.channel.length > 0 && !this.formData.content) { + this.$message({ + type: 'warning', + message: '请填写通知内容' + }) + return false; + } - } else { - this.btnDisable = false - this.$message.error(msg) - } + this.btnDisable = true + setTimeout(() => { + this.btnDisable = false + }, 5000) + + let url = '' + if (this.formType === 'add') url = '/epmetuser/tripreport/save' + else url = '/epmetuser/tripreport/update' + + const { data, code, msg } = await requestPost(url, this.formData) + + if (code === 0) { + this.$message({ + type: 'success', + message: '操作成功' + }) + this.resetData() + this.$emit('dialogOk') + this.btnDisable = false + + } else { + this.btnDisable = false + this.$message.error(msg) + } + } else { + console.log('error submit!!'); + return false; + } + }); + }, @@ -555,29 +610,11 @@ export default { }, resetData () { - this.icNatId = '' - this.fileList = [] - this.hideUploadEdit = false - - this.formData = { - icNatId: '', - agencyId: '',//当前网格所属组织Id - userId: '',//居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 - userType: 'icresi',//居民端小程序的人:resi;数字社区的居民:icresi;导入的:import;同步的:synchro - name: '', - idCard: '', - mobile: '', - natTime: '', - natAddress: '', - natResult: '', - channel: [], - content: '', - - fileName: '',//附件名 - attachmentType: '',//附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) - attachmentUrl: '',//附件地址 - - } + this.$refs.ref_form.resetFields() + this.formData.sourceAddressCode = '' + this.formData.presentAddressCode = '' + this.formData.sourceAddressPathCode = '' + this.formData.presentAddressPathCode = '' }, // 开启加载动画 startLoading () {