From 2ae30c6a8d40a49472f1a17b2e2aba49af17e9e6 Mon Sep 17 00:00:00 2001 From: jiangyy Date: Tue, 29 Mar 2022 16:46:47 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scss/modules/management/epidemic.scss | 8 + .../modules/base/epidemic/natInfo/natForm.vue | 32 +- .../base/epidemic/veroFocus/veroFocusAdd.vue | 37 +- .../base/epidemic/veroFocus/veroFocusEdit.vue | 109 ++-- .../base/epidemic/veroFocus/veroFocusList.vue | 22 +- .../base/epidemic/veroFocus/vfNoticeList.vue | 382 ++------------ .../base/epidemic/veroFocus/vfVisiteList.vue | 480 ++++++------------ 7 files changed, 322 insertions(+), 748 deletions(-) diff --git a/src/assets/scss/modules/management/epidemic.scss b/src/assets/scss/modules/management/epidemic.scss index 5d00bb1e..d5d2be8c 100644 --- a/src/assets/scss/modules/management/epidemic.scss +++ b/src/assets/scss/modules/management/epidemic.scss @@ -101,3 +101,11 @@ .div-mult-table { padding: 0 20px; } + +.div_dialog_table { + padding: 10px; + + .table { + margin-top: 20px; + } +} diff --git a/src/views/modules/base/epidemic/natInfo/natForm.vue b/src/views/modules/base/epidemic/natInfo/natForm.vue index 3f381f9e..b804a953 100644 --- a/src/views/modules/base/epidemic/natInfo/natForm.vue +++ b/src/views/modules/base/epidemic/natInfo/natForm.vue @@ -386,23 +386,23 @@ export default { }, 5000) 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; - // } + 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 (regCard.test(this.formData.idCard) === false) { + this.btnDisable = false + this.$message({ + type: 'warning', + message: '请输入正确的身份证号码' + }) + return false; + } let url = '' if (this.formType === 'add') { diff --git a/src/views/modules/base/epidemic/veroFocus/veroFocusAdd.vue b/src/views/modules/base/epidemic/veroFocus/veroFocusAdd.vue index 077b4f5d..4ef86d81 100644 --- a/src/views/modules/base/epidemic/veroFocus/veroFocusAdd.vue +++ b/src/views/modules/base/epidemic/veroFocus/veroFocusAdd.vue @@ -506,14 +506,23 @@ export default { list.push(this.formData1) 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; - // } + if (regPhone.test(this.formData1.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.formData1.idCard) === false) { + this.btnDisable = false + this.$message({ + type: 'warning', + message: '请输入正确的身份证号码' + }) + return false; + } } else { if (this.selectionAll.length === 0) { this.$message.info('请选择批量添加的人员') @@ -534,17 +543,10 @@ export default { } console.log(list) - return false - let url = '' - - url = '/epmetuser/icEpidemicSpecialAttention/vaccination-add' + let url = '/epmetuser/icEpidemicSpecialAttention/vaccination-add' // url = "http://yapi.elinkservice.cn/mock/245/gov/project/memoConcern/save" - this.formData.id = '' - - - const { data, code, msg } = await requestPost(url, this.formData) @@ -556,8 +558,7 @@ export default { this.resetData() this.$emit('dialogOk') this.btnDisable = false - this.$store.dispatch('setTipsList') - this.$store.dispatch('setTipsTime') + } else { this.btnDisable = false this.$message.error(msg) diff --git a/src/views/modules/base/epidemic/veroFocus/veroFocusEdit.vue b/src/views/modules/base/epidemic/veroFocus/veroFocusEdit.vue index 732f311a..619e9eb0 100644 --- a/src/views/modules/base/epidemic/veroFocus/veroFocusEdit.vue +++ b/src/views/modules/base/epidemic/veroFocus/veroFocusEdit.vue @@ -5,7 +5,6 @@ @@ -13,11 +12,13 @@ prop="name" label-width="150px" style="display: block"> - {{formData.name}} + @@ -25,21 +26,23 @@ prop="mobile" label-width="150px" style="display: block"> - {{formData.mobile}} + - {{formData.idCard}} + - - - - 小程序通知 - 短信通知 - - - - - - - - +
+ + + 小程序通知 + 短信通知 + + + + + + + +
@@ -139,8 +143,10 @@ export default { async initForm (formType, row) { this.formType = formType this.$refs['ref_form1'].resetFields(); - + row.channel = [] + row.content = '' this.formData = JSON.parse(JSON.stringify(row)) + }, async handleComfirm () { @@ -155,22 +161,9 @@ export default { }, async addVero () { - 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; - // } - - - let url = '' - - // url = '/epmetuser/icEpidemicSpecialAttention/vaccination-update' - url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icEpidemicSpecialAttention/vaccination-update" + let url = '/epmetuser/icEpidemicSpecialAttention/vaccination-update' + // url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icEpidemicSpecialAttention/vaccination-update" const { data, code, msg } = await requestPost(url, this.formData) @@ -258,19 +251,9 @@ export default { mobile: [ { required: true, message: '手机号不能为空', trigger: 'blur' }, ], - checkTime: [ - { required: true, message: '检测时间不能为空', trigger: 'blur' }, - ], - address: [ - { required: false }, - ], - result: [ - { required: true }, - ], - address: [ - { required: false }, - ], + + channel: [ { required: false }, ], diff --git a/src/views/modules/base/epidemic/veroFocus/veroFocusList.vue b/src/views/modules/base/epidemic/veroFocus/veroFocusList.vue index cff5d559..4521a19f 100644 --- a/src/views/modules/base/epidemic/veroFocus/veroFocusList.vue +++ b/src/views/modules/base/epidemic/veroFocus/veroFocusList.vue @@ -257,29 +257,29 @@ - + - - + - + @@ -504,7 +504,7 @@ export default { handleNoticeList (row) { this.noticeListFormShow = true this.$nextTick(() => { - this.$refs.ref_visitelist.initForm(row) + this.$refs.ref_noticelist.initTable(row.idCard) }) }, @@ -512,7 +512,8 @@ export default { this.visiteListFormShow = true this.$nextTick(() => { - this.$refs.ref_noticelist.initForm(row) + this.$refs.ref_visitelist.initTable(row.idCard) + }) }, @@ -651,8 +652,7 @@ export default { }, handleExportModule () { - let title = '' - title = '房屋模板' + let title = '疫苗接种关注名单' const url = "/gov/org/house/exporttemplate" let params = {} diff --git a/src/views/modules/base/epidemic/veroFocus/vfNoticeList.vue b/src/views/modules/base/epidemic/veroFocus/vfNoticeList.vue index ff03b2bb..7b7fb33c 100644 --- a/src/views/modules/base/epidemic/veroFocus/vfNoticeList.vue +++ b/src/views/modules/base/epidemic/veroFocus/vfNoticeList.vue @@ -1,6 +1,6 @@ @@ -143,9 +65,11 @@ export default { data () { return { tableLoading: false, - placePatrolRecordId: '', + total: 0, + idCard: '', tableData: [], - + pageSize: 20, + pageNo: 1, } }, @@ -156,231 +80,56 @@ export default { methods: { - async initTable (placePatrolRecordId) { - this.placePatrolRecordId = placePatrolRecordId - await this.loadTeams() - + async initTable (idCard) { + this.idCard = idCard await this.loadTable() }, - - //加载分队 - async loadTeams () { - const url = '/gov/org/placepatrolteam/getlist' - // const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolteam/getlist' - let params = { - isPage: false - } - - const { data, code, msg } = await requestPost(url, params) - - if (code === 0) { - this.teamsList = data.list - - - } else { - this.$message.error(msg) - } - }, - - //点击分队切换人员 - async hancleChangeTeam (row, index, tableIndex) { - this.tableData[tableIndex].inspectorArray = [...[]] - let teamId = this.teamsList[index].teamId - await this.loadInspectors(teamId, tableIndex) - }, - - //加载分队下人员 - async loadInspectors (teamId, tableIndex) { - - const url = '/gov/org/placepatrolteamstaff/getlist' - // const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolteamstaff/getlist' - let params = { - teamId: teamId - } - - const { data, code, msg } = await requestPost(url, params) - - if (code === 0) { - // let obj = this.tableData[tableIndex] - this.tableData[tableIndex].inspectorsList = [...data] - // this.tableData[tableIndex]= - // obj.inspectorsList = data - // this.$set(this.tableData, tableIndex, obj) - console.log(this.tableData) - } else { - this.$message.error(msg) - } - }, //加载form async loadTable () { this.tableLoading = true - const url = '/gov/org/placepatrolreviewrecord/getlist' - // const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolreviewrecord/getlist' + // const url = "/epmetuser/icNotice/page" + const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNotice/page" let params = { - placePatrolRecordId: this.placePatrolRecordId + idCard: this.idCard, + pageNo: this.pageNo, + pageSize: this.pageSize, + origin: '1' } const { data, code, msg } = await requestPost(url, params) this.tableLoading = false if (code === 0) { + this.total = data.total + this.tableData = data.list - if (data.list && data.list.length > 0) { - data.list.forEach(item => { - item.isEdit = false - item.isNew = false - let arrayInspectors = item.inspectors.split(',') - item.inspectorArray = [...arrayInspectors] - - let arrayReviewTime = item.reviewTime.split(' ') - item.reviewTime = arrayReviewTime[0] - }); + // data.list.forEach(item => { + // item.isEdit = false + // item.isNew = false + // let arrayInspectors = item.inspectors.split(',') + // item.inspectorArray = [...arrayInspectors] - this.tableData = [...data.list] - } else { - this.tableData = [] - } - - } else { - this.$message.error(msg) - } - }, - - handleAdd () { - let obj = { - isNew: true,//是否新增 - isEdit: true,//是否编辑 - placePatrolRecordId: this.placePatrolRecordId, - reviewTime: '', - placePatrolTeamId: '', - inspectors: '', - inspectorArray: [], - inspectorsList: [], - reviewResult: '', - } - this.tableData.push(obj) - }, - - async handleEdit (row, tableIndex) { - let teamId = row.placePatrolTeamId - await this.loadInspectors(teamId, tableIndex) - - let rowData = JSON.parse(JSON.stringify(row)) - rowData.isEdit = true - rowData.isNew = false - rowData.inspectorArray = rowData.inspectors.split(',') - - console.log(rowData) - this.$set(this.tableData, tableIndex, rowData) - }, - - async handleComfirm (row, tableIndex) { - let valiMsg = this.validata(row) - if (valiMsg) { - this.$message({ - type: 'warning', - message: valiMsg - }) - return false - } - - this.addReview(row, tableIndex) - - }, - async addReview (row, tableIndex) { - - let url = "/gov/org/placepatrolreviewrecord/add" - if (row.placePatrolReviewRecordId) { - url = "/gov/org/placepatrolreviewrecord/edit" - } - - let params = JSON.parse(JSON.stringify(row)) - params.inspectors = params.inspectorArray.join(',') - params.reviewTime = params.reviewTime + ' 00:00:00' - - const { data, code, msg } = await requestPost(url, params) + // let arrayReviewTime = item.reviewTime.split(' ') + // item.reviewTime = arrayReviewTime[0] + // }); - if (code === 0) { - let array = data.reviewTime.split(' ') - data.reviewTime = array[0] - data.isEdit = false - data.isNew = false + // this.tableData = [...data.list] - this.$set(this.tableData, tableIndex, data) } else { - this.$message.error(msg) } - - }, - - validata (row) { - let message = '' - if (row.reviewTime === '') { - message = message + '复查时间不能为空;' - } - if (row.placePatrolTeamId === '') { - message = message + '分队名称不能为空;' - } - if (row.inspectorArray.length === 0) { - message = message + '检查人员不能为空;' - } - if (row.reviewResult === '') { - message = message + '复查结论不能为空;' - } - return message - }, - - async handleDelete (row, tableIndex) { - - this.$confirm("确认删除?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning" - }) - .then(() => { - if (row.placePatrolReviewRecordId) {//存在id,调用服务删除 - this.deleteRecord(row, tableIndex) - } else {//不存在id,直接删除数组数据 - this.tableData.splice(tableIndex, 1); - } - - }) - .catch(err => { - if (err == "cancel") { - - } - - }); }, - async deleteRecord (row, tableIndex) { - - const url = "/gov/org/placepatrolreviewrecord/del" - - let params = { - placePatrolReviewRecordId: row.placePatrolReviewRecordId - } - - const { data, code, msg } = await requestPost(url, params) - - if (code === 0) { - // this.$message({ - // type: "success", - // message: "删除成功" - // }); - - this.tableData.splice(tableIndex, 1); - } else { - this.$message.error(msg) - } + handleSizeChange (val) { + this.pageSize = val + this.pageNo = 1 + this.loadTable() }, - - handleCancle () { - this.$emit('dialogCancle') - + handleCurrentChange (val) { + this.pageNo = val + this.loadTable() }, @@ -403,7 +152,7 @@ export default { computed: { tableHeight () { - return (this.clientHeight - 360) + return (this.clientHeight - 460) }, @@ -412,36 +161,11 @@ export default { }, props: { - - resultList: { - type: Array, - default: [] - } } } diff --git a/src/views/modules/base/epidemic/veroFocus/vfVisiteList.vue b/src/views/modules/base/epidemic/veroFocus/vfVisiteList.vue index ec45e380..b2331351 100644 --- a/src/views/modules/base/epidemic/veroFocus/vfVisiteList.vue +++ b/src/views/modules/base/epidemic/veroFocus/vfVisiteList.vue @@ -1,9 +1,12 @@ @@ -146,9 +114,22 @@ export default { data () { return { tableLoading: false, - placePatrolRecordId: '', + tableData: [], + total: 0, + pageSize: 20, + pageNo: 1, + formData: { + visitTime: '',//随访时间 + content: '',//内容 + idCard: '', + name: '', + mobile: '', + origin: '1' + }, + + dialogVisible: false, } }, @@ -159,91 +140,33 @@ export default { methods: { - async initTable (placePatrolRecordId) { - this.placePatrolRecordId = placePatrolRecordId - await this.loadTeams() + async initTable (row) { + this.formData.idCard = row.idCard + this.formData.name = row.name + this.formData.mobile = row.mobile await this.loadTable() }, - - //加载分队 - async loadTeams () { - const url = '/gov/org/placepatrolteam/getlist' - // const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolteam/getlist' - let params = { - isPage: false - } - - const { data, code, msg } = await requestPost(url, params) - - if (code === 0) { - this.teamsList = data.list - - - } else { - this.$message.error(msg) - } - }, - - //点击分队切换人员 - async hancleChangeTeam (row, index, tableIndex) { - this.tableData[tableIndex].inspectorArray = [...[]] - let teamId = this.teamsList[index].teamId - await this.loadInspectors(teamId, tableIndex) - }, - - //加载分队下人员 - async loadInspectors (teamId, tableIndex) { - - const url = '/gov/org/placepatrolteamstaff/getlist' - // const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolteamstaff/getlist' - let params = { - teamId: teamId - } - - const { data, code, msg } = await requestPost(url, params) - - if (code === 0) { - // let obj = this.tableData[tableIndex] - this.tableData[tableIndex].inspectorsList = [...data] - // this.tableData[tableIndex]= - // obj.inspectorsList = data - // this.$set(this.tableData, tableIndex, obj) - console.log(this.tableData) - } else { - this.$message.error(msg) - } - }, //加载form async loadTable () { this.tableLoading = true - const url = '/gov/org/placepatrolreviewrecord/getlist' - // const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolreviewrecord/getlist' + // const url = '/epmetuser/followup/page' + const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/followup/page' let params = { - placePatrolRecordId: this.placePatrolRecordId + idCard: this.formData.idCard, + pageNo: this.pageNo, + pageSize: this.pageSize, + origin: '1' } const { data, code, msg } = await requestPost(url, params) this.tableLoading = false if (code === 0) { + this.total = data.total + this.tableData = data.list - if (data.list && data.list.length > 0) { - data.list.forEach(item => { - item.isEdit = false - item.isNew = false - let arrayInspectors = item.inspectors.split(',') - item.inspectorArray = [...arrayInspectors] - - let arrayReviewTime = item.reviewTime.split(' ') - item.reviewTime = arrayReviewTime[0] - }); - - this.tableData = [...data.list] - } else { - this.tableData = [] - } } else { this.$message.error(msg) @@ -251,139 +174,90 @@ export default { }, handleAdd () { - let obj = { - isNew: true,//是否新增 - isEdit: true,//是否编辑 - placePatrolRecordId: this.placePatrolRecordId, - reviewTime: '', - placePatrolTeamId: '', - inspectors: '', - inspectorArray: [], - inspectorsList: [], - reviewResult: '', - } - this.tableData.push(obj) + this.dialogVisible = true }, - async handleEdit (row, tableIndex) { - let teamId = row.placePatrolTeamId - await this.loadInspectors(teamId, tableIndex) - let rowData = JSON.parse(JSON.stringify(row)) - rowData.isEdit = true - rowData.isNew = false - rowData.inspectorArray = rowData.inspectors.split(',') + async handleComfirm () { - console.log(rowData) - this.$set(this.tableData, tableIndex, rowData) - }, - - async handleComfirm (row, tableIndex) { - let valiMsg = this.validata(row) - if (valiMsg) { - this.$message({ - type: 'warning', - message: valiMsg - }) - return false - } + // let url = "/epmetuser/followup/save" + let url = "http://yapi.elinkservice.cn/mock/245/epmetuser/followup/save" - this.addReview(row, tableIndex) - - }, - async addReview (row, tableIndex) { - - let url = "/gov/org/placepatrolreviewrecord/add" - if (row.placePatrolReviewRecordId) { - url = "/gov/org/placepatrolreviewrecord/edit" - } - - let params = JSON.parse(JSON.stringify(row)) - params.inspectors = params.inspectorArray.join(',') - params.reviewTime = params.reviewTime + ' 00:00:00' - - const { data, code, msg } = await requestPost(url, params) + const { data, code, msg } = await requestPost(url, this.formData) if (code === 0) { - let array = data.reviewTime.split(' ') - data.reviewTime = array[0] - data.isEdit = false - data.isNew = false - - this.$set(this.tableData, tableIndex, data) - + this.loadTable() + this.handleCancle() } else { - this.$message.error(msg) } }, - validata (row) { - let message = '' - if (row.reviewTime === '') { - message = message + '复查时间不能为空;' - } - if (row.placePatrolTeamId === '') { - message = message + '分队名称不能为空;' - } - if (row.inspectorArray.length === 0) { - message = message + '检查人员不能为空;' - } - if (row.reviewResult === '') { - message = message + '复查结论不能为空;' - } - return message + handleCancle () { + this.dialogVisible = false + }, - async handleDelete (row, tableIndex) { + //导出表格 + async handleExport () { + let title = this.formData.name + '—随访记录' - this.$confirm("确认删除?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning" - }) - .then(() => { - if (row.placePatrolReviewRecordId) {//存在id,调用服务删除 - this.deleteRecord(row, tableIndex) - } else {//不存在id,直接删除数组数据 - this.tableData.splice(tableIndex, 1); - } + const url = "/gov/org/house/exporthouseinfo" + let params = { + ownerName: this.ownerName, + ownerPhone: this.ownerPhone, + buildingId: this.agencyObj.id + } - }) - .catch(err => { - if (err == "cancel") { + app.ajax.exportFilePost( + url, + params, + (data, rspMsg) => { - } + this.download(data, title + '.xlsx') + }, + (rspMsg, data) => { + this.$message.error(rspMsg); + } + ); - }); }, - async deleteRecord (row, tableIndex) { - - const url = "/gov/org/placepatrolreviewrecord/del" - - let params = { - placePatrolReviewRecordId: row.placePatrolReviewRecordId + // 下载文件 + download (data, fileName) { + if (!data) { + return } - const { data, code, msg } = await requestPost(url, params) - - if (code === 0) { - // this.$message({ - // type: "success", - // message: "删除成功" - // }); + var csvData = new Blob([data]) - this.tableData.splice(tableIndex, 1); - } else { - this.$message.error(msg) + if (window.navigator && window.navigator.msSaveOrOpenBlob) { + window.navigator.msSaveOrOpenBlob(csvData, fileName); + } + // for Non-IE (chrome, firefox etc.) + else { + var a = document.createElement('a'); + document.body.appendChild(a); + a.style = 'display: none'; + var url = window.URL.createObjectURL(csvData); + a.href = url; + a.download = fileName; + a.click(); + a.remove(); + window.URL.revokeObjectURL(url); } - }, - handleCancle () { - this.$emit('dialogCancle') + }, + handleSizeChange (val) { + this.pageSize = val + this.pageNo = 1 + this.loadTable() + }, + handleCurrentChange (val) { + this.pageNo = val + this.loadTable() }, @@ -405,46 +279,30 @@ export default { }, computed: { tableHeight () { - return (this.clientHeight - 360) - }, - ...mapGetters(['clientHeight']) + ...mapGetters(['clientHeight']), + dataRule () { + return { + visitTime: [ + { required: true, message: '随访时间不能为空', trigger: 'blur' } + ], + content: [ + { required: true, message: '随访内容不能为空', trigger: 'blur' } + ], + } + } + }, props: { - - resultList: { - type: Array, - default: [] - } } } +@import "@/assets/scss/modules/management/epidemic.scss"; + \ No newline at end of file