From e78b520db43c194a708619ee23f5fe9343d40dc5 Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Wed, 7 May 2025 13:56:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E6=B5=8B=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UploadImg/index.vue | 8 ++- .../key-person/components/addAndEditForm.vue | 2 +- src/views/company-manage/key-person/index.vue | 14 +--- .../components/addAndEditForm.vue | 2 +- .../company-manage/other-person/index.vue | 2 +- .../components/addAndEditForm.vue | 69 +++++++++++++++++-- .../performance-manage/index.vue | 11 ++- .../sub-manage/components/addAndEditForm.vue | 2 +- .../components/addAndEditForm.vue | 2 +- .../sub-performance-manage/index.vue | 2 +- .../components/addAndEditForm.vue | 2 +- 11 files changed, 88 insertions(+), 28 deletions(-) diff --git a/src/components/UploadImg/index.vue b/src/components/UploadImg/index.vue index 73a4a71..b06fddd 100644 --- a/src/components/UploadImg/index.vue +++ b/src/components/UploadImg/index.vue @@ -104,9 +104,13 @@ export default { // filePath: '', // } if (file.response && file.response.data.length > 0) { - this.$emit('deleteFile', { filepath: file.response.data[0].filePath, isNew: true }) + this.$emit('deleteFile', { filePath: file.response.data[0].filePath, isNew: true }) } else { - this.$emit('deleteFile', { filepath: file.filePath, isNew: false }) + if (file.isNew) { + this.$emit('deleteFile', { filePath: file.filePath, isNew: true }) + } else { + this.$emit('deleteFile', { filePath: file.filePath, isNew: false }) + } } this.$emit('update:fileList', fileList) // const res = await deleteImgAPI(deleteFile) diff --git a/src/views/company-manage/key-person/components/addAndEditForm.vue b/src/views/company-manage/key-person/components/addAndEditForm.vue index eff4c3a..7512e81 100644 --- a/src/views/company-manage/key-person/components/addAndEditForm.vue +++ b/src/views/company-manage/key-person/components/addAndEditForm.vue @@ -509,7 +509,7 @@ export default { if (this.formType === 3) { params.id = id } - const filePaths = this.deleteFileList.map((item) => item.filepath) + const filePaths = this.deleteFileList.map((item) => item.filePath) if (filePaths.length > 0) { deleteImgAPI({ filePaths: filePaths.join(',') }) } diff --git a/src/views/company-manage/key-person/index.vue b/src/views/company-manage/key-person/index.vue index 0bc1e34..bf192b1 100644 --- a/src/views/company-manage/key-person/index.vue +++ b/src/views/company-manage/key-person/index.vue @@ -55,7 +55,7 @@ @@ -145,17 +145,7 @@ export default { pageSize: 10, }, // 列表 - tableList: [ - { - projectName: '测试工程1', - }, - { - projectName: '测试工程2', - }, - { - projectName: '测试工程3', - }, - ], + tableList: [], // 列表列 tableColumn: [ { label: '姓名', prop: 'userName' }, diff --git a/src/views/company-manage/other-person/components/addAndEditForm.vue b/src/views/company-manage/other-person/components/addAndEditForm.vue index e6fd17b..332a029 100644 --- a/src/views/company-manage/other-person/components/addAndEditForm.vue +++ b/src/views/company-manage/other-person/components/addAndEditForm.vue @@ -468,7 +468,7 @@ export default { if (this.formType === 3) { params.id = id } - const filePaths = this.deleteFileList.map((item) => item.filepath) + const filePaths = this.deleteFileList.map((item) => item.filePath) if (filePaths.length > 0) { deleteImgAPI({ filePaths: filePaths.join(',') }) diff --git a/src/views/company-manage/other-person/index.vue b/src/views/company-manage/other-person/index.vue index d1c8bee..209bbf4 100644 --- a/src/views/company-manage/other-person/index.vue +++ b/src/views/company-manage/other-person/index.vue @@ -59,7 +59,7 @@ diff --git a/src/views/company-manage/performance-manage/components/addAndEditForm.vue b/src/views/company-manage/performance-manage/components/addAndEditForm.vue index 5f1b5ba..17cf9b7 100644 --- a/src/views/company-manage/performance-manage/components/addAndEditForm.vue +++ b/src/views/company-manage/performance-manage/components/addAndEditForm.vue @@ -292,7 +292,7 @@ import moment from 'moment' import UploadImg from '@/components/UploadImg' import { getToken } from '@/utils/auth' -import { getKeyPersonListAPI } from '@/api/common' +import { getKeyPersonListAPI, deleteImgAPI } from '@/api/common' import { addCompanyPerformanceAPI, editCompanyPerformanceAPI } from '@/api/company-manage/performance-manage' export default { components: { @@ -435,7 +435,7 @@ export default { // this.fileList.push(res) }, onCancel() { - this.$emit('closeDialogOuter') + this.$emit('closeDialogOuter', false) }, onConfirm() { this.$refs.addAndEditFormRef.validate(async (valid) => { @@ -503,6 +503,12 @@ export default { if (this.formType === 3) { params.id = id } + + const filePaths = this.deleteFileList.map((item) => item.filePath) + + if (filePaths.length > 0) { + deleteImgAPI({ filePaths: filePaths.join(',') }) + } const API = this.formType === 1 ? addCompanyPerformanceAPI : editCompanyPerformanceAPI const res = await API(params) if (res.code === 200) { @@ -513,15 +519,63 @@ export default { }) }, - deleteFile() {}, + deleteFile(filePath) { + this.deleteFileList.push(filePath) + }, + deleteFileListFun() { + const { htKeyFileList } = this.addAndEditForm + const fileList = [...htKeyFileList] + const deleteFileList = [] + + this.deleteFileList.forEach((item) => { + if (item.isNew) { + deleteFileList.push(item.filepath) + } + }) + + console.log(this.addTableList) + + if (this.addTableList.length > 0) { + this.addTableList.forEach((item) => { + if (item.tbFileSourceVoList.length > 0) { + item.tbFileSourceVoList.forEach((e) => { + if (e.isNew) { + deleteFileList.push(e.filePath) + } + }) + } + }) + } + + fileList.forEach((item) => { + if (item.response && item.response.code === 200) { + const { data } = item.response + const { filePath } = data[0] + + deleteFileList.push(filePath) + } + }) + + if (deleteFileList.length > 0) { + deleteImgAPI({ filePaths: deleteFileList.join(',') }) + } + }, async getKeyPersonList() { const { rows: res } = await getKeyPersonListAPI() this.keyPersonList = res }, // 人员选择 onHandleChange(index, value) { - this.addTableList[index].userName = this.keyPersonList.find((item) => item.id == value).userName - this.addTableList[index].idCard = this.keyPersonList.find((item) => item.id == value).idCard + // 校验不可重复 + if (this.addTableList.some((item, currentIndex) => item.keyUser == value && currentIndex !== index)) { + this.$modal.msgError('人员不可重复选择') + this.addTableList[index].userName = '' + this.addTableList[index].idCard = '' + this.addTableList[index].keyUser = '' + } else { + this.addTableList[index].userName = this.keyPersonList.find((item) => item.id == value).userName + this.addTableList[index].idCard = this.keyPersonList.find((item) => item.id == value).idCard + } }, onCancelInner() { this.uploadOuterVisible = false @@ -538,6 +592,7 @@ export default { fileName, fileType: 1, url: this.fileViewUrl + filePath + '?file_token=' + getToken(), + isNew: true, }) } else { this.addTableList[this.keyTbCurrentIndex].tbFileSourceVoList.push({ @@ -546,6 +601,7 @@ export default { fileName: item.fileName, fileType: 1, url: this.fileViewUrl + item.filePath + '?file_token=' + getToken(), + isNew: false, }) } }) @@ -557,6 +613,8 @@ export default { this.uploadOuterVisible = false }, onHandleDeleteFile(index, fileIndex) { + console.log(this.addTableList[index].tbFileSourceVoList[fileIndex]) + this.deleteFileList.push(this.addTableList[index].tbFileSourceVoList[fileIndex]) this.addTableList[index].tbFileSourceVoList.splice(fileIndex, 1) this.proveFileList.splice(fileIndex, 1) }, @@ -586,6 +644,7 @@ export default { return { ...item, url: this.fileViewUrl + item.filePath + '?file_token=' + getToken(), + isNew: false, } }) }) diff --git a/src/views/company-manage/performance-manage/index.vue b/src/views/company-manage/performance-manage/index.vue index f6267fb..9b948ab 100644 --- a/src/views/company-manage/performance-manage/index.vue +++ b/src/views/company-manage/performance-manage/index.vue @@ -54,7 +54,7 @@ @@ -100,7 +100,12 @@ /> @@ -157,6 +162,8 @@ export default { this.dialogConfig.outerVisible = false if (isRefresh) { this.getCompanyPerformanceList() + } else { + this.$refs.addAndEditFormRef.deleteFileListFun() } }, // 删除 diff --git a/src/views/sub-manage/sub-manage/components/addAndEditForm.vue b/src/views/sub-manage/sub-manage/components/addAndEditForm.vue index 1c47413..48e3793 100644 --- a/src/views/sub-manage/sub-manage/components/addAndEditForm.vue +++ b/src/views/sub-manage/sub-manage/components/addAndEditForm.vue @@ -214,7 +214,7 @@ export default { if (this.formType === 3) { params.id = id } - const filePaths = this.deleteFileList.map((item) => item.filepath) + const filePaths = this.deleteFileList.map((item) => item.filePath) if (filePaths.length > 0) { deleteImgAPI({ filePaths: filePaths.join(',') }) diff --git a/src/views/sub-manage/sub-performance-manage/components/addAndEditForm.vue b/src/views/sub-manage/sub-performance-manage/components/addAndEditForm.vue index c5e65e6..aa4d105 100644 --- a/src/views/sub-manage/sub-performance-manage/components/addAndEditForm.vue +++ b/src/views/sub-manage/sub-performance-manage/components/addAndEditForm.vue @@ -403,7 +403,7 @@ export default { params.id = id } - const filePaths = this.deleteFileList.map((item) => item.filepath) + const filePaths = this.deleteFileList.map((item) => item.filePath) if (filePaths.length > 0) { deleteImgAPI({ filePaths: filePaths.join(',') }) } diff --git a/src/views/sub-manage/sub-performance-manage/index.vue b/src/views/sub-manage/sub-performance-manage/index.vue index 99427cf..2a83c95 100644 --- a/src/views/sub-manage/sub-performance-manage/index.vue +++ b/src/views/sub-manage/sub-performance-manage/index.vue @@ -54,7 +54,7 @@ diff --git a/src/views/sub-manage/sub-person-manage/components/addAndEditForm.vue b/src/views/sub-manage/sub-person-manage/components/addAndEditForm.vue index c485826..00093ca 100644 --- a/src/views/sub-manage/sub-person-manage/components/addAndEditForm.vue +++ b/src/views/sub-manage/sub-person-manage/components/addAndEditForm.vue @@ -413,7 +413,7 @@ export default { if (this.formType === 3) { params.id = id } - const filePaths = this.deleteFileList.map((item) => item.filepath) + const filePaths = this.deleteFileList.map((item) => item.filePath) if (filePaths.length > 0) { deleteImgAPI({ filePaths: filePaths.join(',') }) }