From b438bf543c7399fae5a64eabd4d0920cbc0fc657 Mon Sep 17 00:00:00 2001 From: hongchao <3228015117@qq.com> Date: Wed, 15 Oct 2025 17:13:19 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E6=96=99=EF=BC=8C=E9=A2=86=E6=96=99?= =?UTF-8?q?=EF=BC=8C=E7=BB=93=E7=AE=97=EF=BC=8C=E7=BB=B4=E4=BF=AE=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/purchase/goodsAccept/detail.vue | 144 +++++++++++++++--- .../goodsArrived/component/addTools.vue | 1 + .../material/purchase/goodsEntry/detail.vue | 139 ++++++++++++++--- .../testExamine/component/homeApply.vue | 69 ++++----- src/views/settlement/add.vue | 2 +- 5 files changed, 269 insertions(+), 86 deletions(-) diff --git a/src/views/material/purchase/goodsAccept/detail.vue b/src/views/material/purchase/goodsAccept/detail.vue index f48340b9..a1ece896 100644 --- a/src/views/material/purchase/goodsAccept/detail.vue +++ b/src/views/material/purchase/goodsAccept/detail.vue @@ -110,14 +110,14 @@
报告管理
报告管理
@@ -226,8 +226,8 @@ 查看 @@ -243,6 +243,23 @@ + + + + + + + + + + + + +
@@ -329,9 +346,13 @@ export default { taskStatus: '', //3合格、1不合格 checkResult: '', verifyPass: true, //true合格、false不合格 + + fileListInfo: [], + fileId: '', //图片查看弹窗 dialogImageUrl: '', dialogVisible: false, + dialogVisibleFile: false, //上传 upload: { // 设置上传的请求头部 @@ -588,36 +609,97 @@ export default { }) }, //文件管理 - openFileDialog(row) { + async openFileDialog(row) { this.rowData = row this.fileDataList = [ - { dictLabel: '合格证', fileType: '0', name: '', url: '' }, - { dictLabel: '型式试验报告', fileType: '1', name: '', url: '' }, - { dictLabel: '出厂检测报告', fileType: '2', name: '', url: '' }, - { dictLabel: '第三方检测报告', fileType: '3', name: '', url: '' }, - { dictLabel: '其他', fileType: '4', name: '', url: '' } + { dictLabel: '合格证', fileType: '0', name: '', url: '', fileList: [], fileListTemp: [] }, + { dictLabel: '型式试验报告', fileType: '1', name: '', url: '', fileList: [], fileListTemp: [] }, + { dictLabel: '出厂检测报告', fileType: '2', name: '', url: '', fileList: [], fileListTemp: [] }, + { dictLabel: '第三方检测报告', fileType: '3', name: '', url: '', fileList: [], fileListTemp: [] }, + { dictLabel: '其他', fileType: '4', name: '', url: '', fileList: [], fileListTemp: [] } ] - this.getFileData() + if (this.rowData.bmFileInfos == null) { + await this.getFileData() + + if (this.rowData.bmFileInfos.length > 0) { + this.rowData.bmFileInfos.forEach(item => { + let index = this.fileDataList.findIndex(v => v.fileType == item.fileType) + this.fileDataList[index].name = item.name + this.fileDataList[index].url = item.url + this.fileDataList[index].fileList.push({ + name: item.name, + url: item.url + }) + this.fileDataList[index].fileListTemp.push({ + name: item.name, + url: item.url + }) + }) + } + } else { + if (this.rowData.bmFileInfos.length > 0) { + this.rowData.bmFileInfos.forEach(item => { + let index = this.fileDataList.findIndex(v => v.fileType == item.fileType) + this.fileDataList[index].name = item.name + this.fileDataList[index].url = item.url + this.fileDataList[index].fileList.push({ + name: item.name, + url: item.url + }) + this.fileDataList[index].fileListTemp.push({ + name: item.name, + url: item.url + }) + }) + } + } + // this.fileDataList = [ + // { dictLabel: '合格证', fileType: '0', name: '', url: '' }, + // { dictLabel: '型式试验报告', fileType: '1', name: '', url: '' }, + // { dictLabel: '出厂检测报告', fileType: '2', name: '', url: '' }, + // { dictLabel: '第三方检测报告', fileType: '3', name: '', url: '' }, + // { dictLabel: '其他', fileType: '4', name: '', url: '' } + // ] + // this.getFileData() this.open = true }, //获取已上传文件 - getFileData() { + async getFileData() { let param = { modelId: this.rowData.typeId, taskType: 0, taskId: this.rowData.taskId } - getPurchaseFileList(param) - .then(response => { - if (response.rows.length > 0) { - response.rows.forEach(item => { - let index = this.fileDataList.findIndex(v => v.fileType == item.fileType) - this.fileDataList[index].name = item.name - this.fileDataList[index].url = item.url - }) - } - }) - .catch(() => {}) + this.rowData.bmFileInfos = [] + await getPurchaseFileList(param) + .then(response => { + if (response.rows.length > 0) { + response.rows.forEach(item => { + let index = this.fileDataList.findIndex(v => v.fileType == item.fileType) + item.fileDetailList.forEach(item2 => { + // this.fileDataList[index].fileList.push({ + // name:item2.name, + // url:item2.url + // }) + // this.fileDataList[index].fileListTemp.push({ + // name:item2.name, + // url:item2.url + // }) + const obj = { + taskId: this.taskId, + taskType: '0', + name: item2.name, + url: item2.url, + modelId: this.rowData.partId, + fileType: item2.fileType + } + this.rowData.bmFileInfos.push(obj) + console.log('77777777', this.rowData) + }) + }) + } + }) + .catch(() => {}) }, //上传 beforeFileUpload(row) { @@ -646,6 +728,22 @@ export default { }) } }, + + + picturePreviewFile(row) { + row.fileList = [] + row.fileListTemp.forEach(item => { + row.fileList.push({ + name: item.name, + url: item.url + }) + }) + this.fileId = row.fileType + this.fileListInfo = row.fileListTemp + + this.dialogVisibleFile = true + }, + //图片查看 picturePreview(file) { this.dialogImageUrl = file.url.replaceAll('#', '%23') diff --git a/src/views/material/purchase/goodsArrived/component/addTools.vue b/src/views/material/purchase/goodsArrived/component/addTools.vue index e4507834..2ff60a63 100644 --- a/src/views/material/purchase/goodsArrived/component/addTools.vue +++ b/src/views/material/purchase/goodsArrived/component/addTools.vue @@ -473,6 +473,7 @@ export default { {dictLabel:"其他",fileType:"4",name:"",url:"",fileList:[],fileListTemp:[]}, ], fileListInfo: [], + fileId: '', //图片查看弹窗 dialogImageUrl: '', dialogVisible: false, diff --git a/src/views/material/purchase/goodsEntry/detail.vue b/src/views/material/purchase/goodsEntry/detail.vue index 6db89590..a6f15869 100644 --- a/src/views/material/purchase/goodsEntry/detail.vue +++ b/src/views/material/purchase/goodsEntry/detail.vue @@ -106,8 +106,8 @@ @@ -168,7 +168,7 @@ - + 查看
@@ -184,6 +184,21 @@
+ + + + + + + + + + + @@ -217,6 +232,8 @@ 取消 --> + + @@ -273,9 +290,12 @@ export default { supplierId:undefined, productionTime:undefined, }, + fileListInfo: [], + fileId: '', //图片查看弹窗 dialogImageUrl: '', dialogVisible: false, + dialogVisibleFile: false, //上传 upload: { // 设置上传的请求头部 @@ -457,32 +477,94 @@ export default { }).catch(() => {}); }, //文件管理 - openFileDialog(row){ + async openFileDialog(row){ this.rowData=row; - this.fileDataList = [{dictLabel:"合格证",fileType:"0",name:"",url:""}, - {dictLabel:"型式试验报告",fileType:"1",name:"",url:""}, - {dictLabel:"出厂检测报告",fileType:"2",name:"",url:""}, - {dictLabel:"第三方检测报告",fileType:"3",name:"",url:""}, - {dictLabel:"其他报告",fileType:"4",name:"",url:""}] - this.getFileData() + this.fileDataList = [ + { dictLabel: '合格证', fileType: '0', name: '', url: '', fileList: [], fileListTemp: [] }, + { dictLabel: '型式试验报告', fileType: '1', name: '', url: '', fileList: [], fileListTemp: [] }, + { dictLabel: '出厂检测报告', fileType: '2', name: '', url: '', fileList: [], fileListTemp: [] }, + { dictLabel: '第三方检测报告', fileType: '3', name: '', url: '', fileList: [], fileListTemp: [] }, + { dictLabel: '其他', fileType: '4', name: '', url: '', fileList: [], fileListTemp: [] } + ] + if (this.rowData.bmFileInfos == null) { + await this.getFileData() + + if (this.rowData.bmFileInfos.length > 0) { + this.rowData.bmFileInfos.forEach(item => { + let index = this.fileDataList.findIndex(v => v.fileType == item.fileType) + this.fileDataList[index].name = item.name + this.fileDataList[index].url = item.url + this.fileDataList[index].fileList.push({ + name: item.name, + url: item.url + }) + this.fileDataList[index].fileListTemp.push({ + name: item.name, + url: item.url + }) + }) + } + } else { + if (this.rowData.bmFileInfos.length > 0) { + this.rowData.bmFileInfos.forEach(item => { + let index = this.fileDataList.findIndex(v => v.fileType == item.fileType) + this.fileDataList[index].name = item.name + this.fileDataList[index].url = item.url + this.fileDataList[index].fileList.push({ + name: item.name, + url: item.url + }) + this.fileDataList[index].fileListTemp.push({ + name: item.name, + url: item.url + }) + }) + } + } + // this.fileDataList = [{dictLabel:"合格证",fileType:"0",name:"",url:""}, + // {dictLabel:"型式试验报告",fileType:"1",name:"",url:""}, + // {dictLabel:"出厂检测报告",fileType:"2",name:"",url:""}, + // {dictLabel:"第三方检测报告",fileType:"3",name:"",url:""}, + // {dictLabel:"其他报告",fileType:"4",name:"",url:""}] + // this.getFileData() this.open=true }, - getFileData(){ + async getFileData(){ let param = { modelId:this.rowData.typeId, taskType:0, taskId:this.rowData.taskId } - getPurchaseFileList(param).then((response) => { - if(response.rows.length>0){ - response.rows.forEach(item=>{ - let index = this.fileDataList.findIndex(v=>v.fileType==item.fileType) - this.fileDataList[index].name = item.name - this.fileDataList[index].url = item.url - }) - } - }).catch(() => { - }) + this.rowData.bmFileInfos = [] + await getPurchaseFileList(param) + .then(response => { + if (response.rows.length > 0) { + response.rows.forEach(item => { + let index = this.fileDataList.findIndex(v => v.fileType == item.fileType) + item.fileDetailList.forEach(item2 => { + // this.fileDataList[index].fileList.push({ + // name:item2.name, + // url:item2.url + // }) + // this.fileDataList[index].fileListTemp.push({ + // name:item2.name, + // url:item2.url + // }) + const obj = { + taskId: this.taskId, + taskType: '0', + name: item2.name, + url: item2.url, + modelId: this.rowData.partId, + fileType: item2.fileType + } + this.rowData.bmFileInfos.push(obj) + console.log('77777777', this.rowData) + }) + }) + } + }) + .catch(() => {}) }, beforeFileUpload(row){ this.rowData.fileType=row.fileType; @@ -508,6 +590,21 @@ export default { }) } }, + + picturePreviewFile(row) { + row.fileList = [] + row.fileListTemp.forEach(item => { + row.fileList.push({ + name: item.name, + url: item.url + }) + }) + this.fileId = row.fileType + this.fileListInfo = row.fileListTemp + + this.dialogVisibleFile = true + }, + //图片查看 picturePreview(file) { this.dialogImageUrl = file.url.replaceAll('#','%23'); diff --git a/src/views/material/repair/testExamine/component/homeApply.vue b/src/views/material/repair/testExamine/component/homeApply.vue index 4c9e2c8d..385d7dc5 100644 --- a/src/views/material/repair/testExamine/component/homeApply.vue +++ b/src/views/material/repair/testExamine/component/homeApply.vue @@ -123,50 +123,29 @@ prop="unitName" /> - + - - - @@ -245,7 +224,6 @@ import { outerAudit, } from "@/api/repair/testExamine"; import router from "@/router"; -import { formatTime } from '@/utils/bonus' export default { name: "Home", dicts: ['repair_task_status'], @@ -329,15 +307,15 @@ export default { onDictReady(dict) { // 获取repair_task_status的所有选项,并过滤出有效的选项(值为10、11、12) const allOptions = dict.type.repair_task_status || [] - const validOptions = allOptions.filter(item => + const validOptions = allOptions.filter(item => item.value == 10 || item.value == 11 || item.value == 12 ) - + // 如果有有效选项,设置第一个为默认值 if (validOptions.length > 0) { this.queryParams.taskStatus = validOptions[0].value } - + // 执行查询 this.getList() }, @@ -532,8 +510,17 @@ export default { }, /** 导出按钮操作 */ - handleExport() { + const formatTime = (date) => { + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, '0'); + const day = String(date.getDate()).padStart(2, '0'); + const hours = String(date.getHours()).padStart(2, '0'); + const minutes = String(date.getMinutes()).padStart(2, '0'); + const seconds = String(date.getSeconds()).padStart(2, '0'); + return `${year}${month}${day}_${hours}${minutes}${seconds}`; + }; + const currentTime = formatTime(new Date()); this.download( "/material/repair_audit_details/export", @@ -542,7 +529,7 @@ export default { startTime: this.queryParams.time && this.queryParams.time[0], endTime: this.queryParams.time && this.queryParams.time[1], }, - `修试审核数据一览表_${currentTime}.xlsx` + `修试审核_${currentTime}.xlsx` ); }, diff --git a/src/views/settlement/add.vue b/src/views/settlement/add.vue index e0f924b1..f07cafca 100644 --- a/src/views/settlement/add.vue +++ b/src/views/settlement/add.vue @@ -91,7 +91,7 @@ 报废明细导出 未归还明细导出 减免明细导出 - + 全部明细导出 提交