From 71ea4e8b7bc492d8bf210f9d972201d05c388383 Mon Sep 17 00:00:00 2001 From: 13176889840 <13176889840@163.com> Date: Thu, 31 Mar 2022 10:38:37 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A1=8C=E7=A8=8B=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/modules/base/epidemic/travel.vue | 153 +++++++++++++----- .../modules/base/epidemic/travelForm.vue | 111 ++++++------- 2 files changed, 164 insertions(+), 100 deletions(-) diff --git a/src/views/modules/base/epidemic/travel.vue b/src/views/modules/base/epidemic/travel.vue index b554b665..05265696 100644 --- a/src/views/modules/base/epidemic/travel.vue +++ b/src/views/modules/base/epidemic/travel.vue @@ -84,7 +84,7 @@ size="small" @click="handleAdd">新增 - 下载模板 @@ -96,16 +96,18 @@ accept=".xls,.xlsx" :limit="1" :on-exceed="handleExceed" - :http-request="uploadFile"> - 导入 + :http-request="uploadHttpRequest"> + {{importBtnTitle}} - 导出 + :loading="exportBtn" + @click="handleExport">{{ exportBtnTitle }} + width="100"> - - @@ -250,6 +252,10 @@ let loading // 加载动画 export default { data () { return { + exportBtn: false, + exportBtnTitle: '导出', + importBtnTitle: '导入', + importLoading: false, loading: false, total: 0, pageSize: 20, @@ -347,7 +353,7 @@ export default { }, diaClose () { - this.$refs.ref_form.resetData() + // this.$refs.ref_form.resetData() this.formShow = false }, @@ -446,27 +452,48 @@ export default { //导出表格 async handleExport () { - let title = this.agencyObj.label - title = title + '—房屋列表' - - const url = "/gov/org/house/exporthouseinfo" + this.exportBtn = true + this.exportBtnTitle = '正在导出...' let params = { - ownerName: this.ownerName, - ownerPhone: this.ownerPhone, - buildingId: this.agencyObj.id + ...this.formData } - app.ajax.exportFilePost( - url, - params, - (data, rspMsg) => { - - this.download(data, title + '.xls') - }, - (rspMsg, data) => { - this.$message.error(rspMsg); - } - ); + // .post('epmetuser/icresiuser/exportExcel', params) + // await axios({ + // url: window.SITE_CONFIG['apiURL'] + '/epmetuser/tripreport/export', + // // url: 'epmetuser/icresiuser/exportExcel', + // method: 'post', + // data: params, + // responseType: 'blob' + // }) + await this.$http({ + method: 'POST', + url: '/epmetuser/tripreport/export', + responseType: 'blob', + data: params + }) + .then(res => { + + console.log('resllll', res) + let fileName = window.decodeURI(res.headers["content-disposition"].split(";")[1].split("=")[1]) + console.log('filename', fileName) + let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }) + var url = window.URL.createObjectURL(blob) + var aLink = document.createElement('a') + aLink.style.display = 'none' + aLink.href = url + aLink.setAttribute('download', fileName) + document.body.appendChild(aLink) + aLink.click() + document.body.removeChild(aLink) //下载完成移除元素 + window.URL.revokeObjectURL(url) //释放掉blob对象 + }) + .catch((err) => { + console.log('获取导出情失败', err) + this.$message.error('获取导出失败') + }) + this.exportBtnTitle = '导出' + this.exportBtn = false }, @@ -496,24 +523,40 @@ export default { }, - handleExportModule () { + async handleExportModule () { let title = '' title = '房屋模板' - const url = "/gov/org/house/exporttemplate" + const url = "/epmetuser/tripreport/template-download" let params = {} - - app.ajax.exportFilePost( + await this.$http({ + method: 'POST', url, - params, - (data, rspMsg) => { - - this.download(data, title + '.xls') - }, - (rspMsg, data) => { - this.$message.error(rspMsg); - } - ); + responseType: 'blob', + data: params + }) + .then(res => { + console.log('res----dddd', res) + // this.download(res.data, title + '.xls') + if (res.headers["content-disposition"]) { + let fileName = window.decodeURI(res.headers["content-disposition"].split(";")[1].split("=")[1]) + console.log('filename', fileName) + let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }) + var url = window.URL.createObjectURL(blob) + var aLink = document.createElement('a') + aLink.style.display = 'none' + aLink.href = url + aLink.setAttribute('download', fileName) + document.body.appendChild(aLink) + aLink.click() + document.body.removeChild(aLink) //下载完成移除元素 + window.URL.revokeObjectURL(url) //释放掉blob对象 + } else this.$message.error('下载失败') + }) + .catch(err => { + console.log('err', err) + return this.$message.error('网络错误') + }) }, // 上传文件之前的钩子 @@ -536,6 +579,32 @@ export default { handleExceed (files, fileList) { this.$message.warning(`当前限制选择 1 个文件,请删除后继续上传`) }, + async uploadHttpRequest (file) { + this.importLoading = true + this.importBtnTitle = '正在上传中...' + this.$message({ + showClose: true, + message: '导入中,请到系统管理-导入记录中查看进度', + duration: 0 + }) + const formData = new FormData() //FormData对象,添加参数只能通过append('key', value)的形式添加 + formData.append('file', file.file) //添加文件对象 + await this.$http + .post('/epmetuser/tripreport/import', formData).then(res => { + console.log('res-up', res) + if (res.data.code == 0 && res.data.msg == 'success') { + // this.$message.success('导入成功') + this.loadTable() + } else this.$message.error(res.data.msg) + }).catch(err => { + console.log('失败', err) + file.onError() //上传失败的文件会从文件列表中删除 + // this.$message.error('导入失败') + }) + this.importLoading = false + this.importBtnTitle = '导入' + this.$refs.upload.clearFiles() + }, async uploadFile () { if (this.fileName == "") { diff --git a/src/views/modules/base/epidemic/travelForm.vue b/src/views/modules/base/epidemic/travelForm.vue index 54e478ca..631a8c49 100644 --- a/src/views/modules/base/epidemic/travelForm.vue +++ b/src/views/modules/base/epidemic/travelForm.vue @@ -104,19 +104,8 @@ clearable :disabled="isFromResi" v-model="formData.presentAddress" /> - - - - - + - - - - + + -
取 消 @@ -235,15 +202,6 @@ @click="handleComfirm('ref_form')">确 定
- - - - @@ -288,7 +246,8 @@ export default { personList: [], btnDisable: false, - + sourceAllCode: [], // 来源地全 code + nowAllCode: [], // 现居地全 code icNatId: '', formData: { gridId: '', @@ -302,9 +261,9 @@ export default { presentAddress: '', presentAddressCode: '', detailAddress: '', - sourceAddressCode: '370203', + sourceAddressCode: '', presentAddressPathCode: '', - sourceAddress: '市北区', + sourceAddress: '', sourceAddressPathCode: '', arriveDate: '', remark: '', @@ -319,10 +278,10 @@ export default { { required: true, message: '姓名不能为空', trigger: 'blur' } ], idCard: [ - { validator: checkIdCard, trigger: 'blur' } + { required: true, validator: checkIdCard, trigger: 'blur' } ], mobile: [ - { validator: checkMObile, trigger: 'blur' }, + { required: true, validator: checkMObile, trigger: 'blur' }, ], presentAddress: [ { required: true, message: '现居地不能为空', trigger: 'blur' }, @@ -355,12 +314,18 @@ export default { methods: { lzayLoadArea(node, resolve) { this.getArea(node, resolve) + // setTimeout(() => { + + // }, 1000) }, async initForm (type, row) { console.log('row----', row) if (type != 'add') { this.formData = { ...row, channel: [], content: '' } + this.sourceAllCode = row.sourceAddressPathCode && row.sourceAddressPathCode.split(',') + if (row.userType == 'icresi') this.isFromResi = true + else this.nowAllCode = row.presentAddressPathCode.split(',') } this.formData.agencyId = this.agencyId @@ -386,7 +351,35 @@ export default { } }, - + handleSourceArea(val) { + console.log('val-----', val) + console.log('label-----', this.$refs.sourceArea.getCheckedNodes()) + if (val.length > 0) { + const labels = this.$refs.sourceArea.getCheckedNodes()[0].pathLabels + this.formData.sourceAddressCode = val[val.length - 1] + this.formData.sourceAddress = labels.join('-') + this.formData.sourceAddressPathCode = val.join(',') + } else { + this.formData.sourceAddressCode = '' + this.formData.sourceAddress = '' + this.formData.sourceAddressPathCode = '' + } + + }, + handleNowArea(val) { + console.log('val-----', val) + console.log('label-----', this.$refs.nowArea.getCheckedNodes()) + if (val.length > 0) { + const labels = this.$refs.nowArea.getCheckedNodes()[0].pathLabels + this.formData.presentAddressCode = val[val.length - 1] + this.formData.presentAddress = labels.join('-') + this.formData.presentAddressPathCode = val.join(',') + } else { + this.formData.presentAddressCode = '' + this.formData.presentAddress = '' + this.formData.presentAddressPathCode = '' + } + }, async loadGrid () { const url = "/gov/org/customergrid/gridoption" @@ -426,10 +419,9 @@ export default { async getArea (node, resolve) { const url = "/commonservice/areacode/nextarea" - let params = { - parentLevel: this.agencyId, - parentAreaCode: node.data ? node.data.value : '' + parentLevel: node.data ? node.data.level : '', + parentAreaCode: node.data ? node.data.code : '' } const { data, code, msg } = await requestPost(url, params) @@ -438,8 +430,9 @@ export default { const nodes = data.map(item => ({ value: item.areaCode, // label: item.areaName, - code1: item.parentCode, - leaf: node.level >= 5 // 5层级 + code: item.areaCode, + level: item.level, + leaf: node.level >= 4 // 5层级 })) resolve(nodes) @@ -615,6 +608,8 @@ export default { this.formData.presentAddressCode = '' this.formData.sourceAddressPathCode = '' this.formData.presentAddressPathCode = '' + this.sourceAllCode = [] + this.nowAllCode = [] }, // 开启加载动画 startLoading () { From f8363adfa9eda246940a818a6619e5f8e23b7d9a Mon Sep 17 00:00:00 2001 From: 13176889840 <13176889840@163.com> Date: Thu, 31 Mar 2022 13:43:26 +0800 Subject: [PATCH 2/2] dd --- .../base/epidemic/natFocus/natFocusList.vue | 2 +- .../base/epidemic/natFocus/nfVisiteList.vue | 7 +- src/views/modules/base/epidemic/travel.vue | 175 +++++++++++++++++- 3 files changed, 172 insertions(+), 12 deletions(-) diff --git a/src/views/modules/base/epidemic/natFocus/natFocusList.vue b/src/views/modules/base/epidemic/natFocus/natFocusList.vue index 087c6fe7..16a5910e 100644 --- a/src/views/modules/base/epidemic/natFocus/natFocusList.vue +++ b/src/views/modules/base/epidemic/natFocus/natFocusList.vue @@ -513,7 +513,7 @@ export default { this.visiteListFormShow = true this.$nextTick(() => { - this.$refs.ref_visitelist.initTable(row) + this.$refs.ref_visitelist.initTable(row, '2') }) diff --git a/src/views/modules/base/epidemic/natFocus/nfVisiteList.vue b/src/views/modules/base/epidemic/natFocus/nfVisiteList.vue index 67448435..f6e13ef4 100644 --- a/src/views/modules/base/epidemic/natFocus/nfVisiteList.vue +++ b/src/views/modules/base/epidemic/natFocus/nfVisiteList.vue @@ -133,7 +133,7 @@ export default { idCard: '', name: '', mobile: '', - origin: '1' + origin: '' }, dialogVisible: false, @@ -147,11 +147,12 @@ export default { methods: { - async initTable (row) { + async initTable (row, origin) { this.formData.idCard = row.idCard this.formData.name = row.name this.formData.mobile = row.mobile + this.formData.origin = origin await this.loadTable() @@ -168,7 +169,7 @@ export default { idCard: this.formData.idCard, pageNo: this.pageNo, pageSize: this.pageSize, - origin: '1' + origin: this.formData.origin } const { data, code, msg } = await requestPost(url, params) diff --git a/src/views/modules/base/epidemic/travel.vue b/src/views/modules/base/epidemic/travel.vue index 05265696..d816136f 100644 --- a/src/views/modules/base/epidemic/travel.vue +++ b/src/views/modules/base/epidemic/travel.vue @@ -108,6 +108,14 @@ size="small" :loading="exportBtn" @click="handleExport">{{ exportBtnTitle }} + 发送通知 + 取消关注 + style="width: 100%" + @selection-change="handleSelectionChange"> + 查看 - 修改 - +
+ 通知记录 +
+ +
+ 随访记录 +
+
+ 删除 +
+ + 更多 +
@@ -237,13 +274,51 @@ @dialogCancle="addFormCancle" @dialogOk="addFormOk"> - + + + + + + + + + + + +