From d9c209aecf592804ba2d119a65eddc1f73bd913c Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 28 二月 2024 15:09:03 +0800 Subject: [PATCH] 11 --- src/views/project/fund/applyDetail/index.vue | 161 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 99 insertions(+), 62 deletions(-) diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index eb26d54..9880c69 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/src/views/project/fund/applyDetail/index.vue @@ -1034,7 +1034,7 @@ type="border-card" @tab-click="handleClick" > - <el-tab-pane label="鏅�氶檮浠�" :name="1"> + <el-tab-pane label="鏅�氶檮浠�" name="common"> <div class="pdfimg"> <div class="box-pdf"> <div> @@ -1095,7 +1095,7 @@ > <template slot-scope="scope"> <el-button - type="primary" + type="danger" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)" >鍒犻櫎</el-button @@ -1139,7 +1139,7 @@ <div v-else class="pdfimgmins">{{ hintitle }}</div> </div> </el-tab-pane> - <el-tab-pane label="鍙戠エ鏂囦欢" :name="2"> + <el-tab-pane label="鍙戠エ鏂囦欢" name="invoice"> <div class="pdfimg"> <div class="box-pdf"> <div> @@ -1656,7 +1656,7 @@ invoicepdfimg: "", invoicepdfimgsrcList: [], invoDatatop: [], - activeName: 1, //鏂囦欢绫诲瀷 + activeName: "common", //鏂囦欢绫诲瀷 //涓婁紶闄勪欢璺緞 uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", ICDtoken: getToken(), @@ -3162,7 +3162,7 @@ handleUploadError() {}, remove(file, fileList) { const rbDetails = [...this.rbDetails]; - if (this.activeName == 1) { + if (this.activeName == "common") { this.fileListto.splice(this.fileListto.indexOf(file), 1); rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { @@ -3178,7 +3178,7 @@ }; const pdfimg = this.Networkheader + "/prod-api" + response.fileName; //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 - if (this.activeName == 1) { + if (this.activeName == "common") { if (response.code == 200) { this.previewpdf = true; @@ -3262,29 +3262,54 @@ this.tableDatatop.push(row); this.atpresent = index; this.pdfVisible = true; - console.log(this.fileListto, "this.fileListto"); - console.log(this.invoicefileListto, "this.invoicefileListto"); + if (this.rbDetails[index].annexfilesList) { - this.rbDetails[index].annexfilesList.forEach((value, indexson) => { - const pdfimg = this.Networkheader + "/prod-api" + value.url; - fetch(pdfimg, config) - .then(response => response.blob()) - .then(blob => { - // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL - this.fileListto.push({ - name: value.name, - url: URL.createObjectURL(blob) + // this.rbDetails[index].annexfilesList.forEach((value, indexson) => { + // const pdfimg = this.Networkheader + "/prod-api" + value.url; + // fetch(pdfimg, config) + // .then(response => response.blob()) + // .then(blob => { + // // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL + // this.fileListto.push({ + // name: value.name, + // url: URL.createObjectURL(blob) + // }); + // if (this.fileListto.length == 1) { + // this.pdfimg = URL.createObjectURL(blob); + // } + // this.pdfimgsrcList.push(URL.createObjectURL(blob)); + // }) + // .catch(error => { + // console.error("Error loading image", error); + // return; + // }); + // }); + + const fetchPromises = this.rbDetails[index].annexfilesList.map( + (value, indexson) => { + const pdfimg = this.Networkheader + "/prod-api" + value.url; + return fetch(pdfimg, config) + .then(response => response.blob()) + .then(blob => { + return { + name: value.name, + url: URL.createObjectURL(blob) + }; + }) + .catch(error => { + console.error("Error loading image", error); + return null; }); - if (this.fileListto.length == 1) { - this.pdfimg = URL.createObjectURL(blob); - } - this.pdfimgsrcList.push(URL.createObjectURL(blob)); - }) - .catch(error => { - console.error("Error loading image", error); - return; - }); + } + ); + + Promise.all(fetchPromises).then(fileListto => { + this.fileListto = fileListto.filter(item => item !== null); + this.pdfimg = this.fileListto[0].url; + console.log(this.pdfimg, "pdfimg"); + this.pdfimgsrcList = this.fileListto.map(item => item.url); }); + this.previewpdf = true; } else { this.fileListto = []; @@ -3293,26 +3318,31 @@ } //鍙戠エ if (this.rbDetails[index].invoicefilesList) { - this.rbDetails[index].invoicefilesList.forEach((value, indexson) => { - const pdfimg = this.Networkheader + "/prod-api" + value.url; - fetch(pdfimg, config) - .then(response => response.blob()) - .then(blob => { - // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL - this.invoicefileListto.push({ - name: value.name, - url: URL.createObjectURL(blob) + const fetchPromises = this.rbDetails[index].invoicefilesList.map( + (value, indexson) => { + const pdfimg = this.Networkheader + "/prod-api" + value.url; + return fetch(pdfimg, config) + .then(response => response.blob()) + .then(blob => { + return { + name: value.name, + url: URL.createObjectURL(blob) + }; + }) + .catch(error => { + console.error("Error loading image", error); + return null; }); - if (this.invoicefileListto.length == 1) { - this.invoicepdfimg = URL.createObjectURL(blob); - } - this.invoicepdfimgsrcList.push(URL.createObjectURL(blob)); - }) - .catch(error => { - console.error("Error loading image", error); - return; - }); + } + ); + + Promise.all(fetchPromises).then(invoicefileListto => { + this.invoicefileListto = invoicefileListto.filter(item => item !== null); + this.invoicepdfimg = this.invoicefileListto[0].url; + console.log(this.invoicepdfimg, "invoicepdfimg"); + this.invoicepdfimgsrcList = this.invoicefileListto.map(item => item.url); }); + this.previewpdf = true; } else { this.invoicefileListto = []; @@ -3320,16 +3350,18 @@ this.pdftitle = ""; } - if (this.activeName == 1) { + if (this.activeName == "common") { this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; } else { this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; } + console.log(this.fileListto, "this.fileListto"); + console.log(this.rbDetails[index].annexfilesList, "annexfilesList"); }, // 鐐瑰嚮宸蹭笂浼犳枃浠� downFile(item) { - if (this.activeName == 1) { + if (this.activeName == "common") { this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; let name = item.name.split("."); @@ -3377,7 +3409,7 @@ }, // 鍙戠エ鍒囨崲 handleClick(tab, event) { - if (this.activeName == 1) { + if (this.activeName == "common") { this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; } else { this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; @@ -3387,16 +3419,14 @@ deletedowfile(row) { console.log(row); let indexvalue = ""; - if (this.activeName == 1) { + if (this.activeName == "common") { const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.url); this.pdfimgsrcList.splice(indexlist, 1); const index = this.getIndexInArray(this.fileListto, row); this.fileListto.splice(index, 1); console.log(this.rbDetails[this.atpresent].annexfilesList); - indexvalue = this.rbDetails[this.atpresent].annexfilesList.find( - (item, index) => { - return item.name == row.name; - } + indexvalue = this.rbDetails[this.atpresent].annexfilesList.findIndex( + item => item.name == row.name ); console.log(indexvalue, "鍒犻櫎绱㈠紩"); this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1); @@ -3409,10 +3439,8 @@ const index = this.getIndexInArray(this.invoicefileListto, row); this.invoicefileListto.splice(index, 1); console.log(this.rbDetails[this.atpresent].invoicefilesList); - indexvalue = this.rbDetails[this.atpresent].invoicefilesList.find( - (item, index) => { - return item.name == row.name; - } + indexvalue = this.rbDetails[this.atpresent].invoicefilesList.findIndex( + item => item.name == row.name ); console.log(indexvalue, "鍒犻櫎绱㈠紩"); this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1); @@ -3420,11 +3448,14 @@ }, // 鐐瑰嚮涓婄Щ moveupdowfile(row) { - if (this.activeName == 1) { - const index = this.getIndexInArray(this.fileListto, row); + if (this.activeName == "common") { + const index = this.fileListto.findIndex(item => item.name == row.name); const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� - const indexann = this.rbDetails[this.atpresent].annexfilesList.findIndex(item => item.name == row.name); + + const indexann = this.rbDetails[ + this.atpresent + ].annexfilesList.findIndex(item => item.name == row.name); const itemann = this.rbDetails[this.atpresent].annexfilesList.splice( indexann, 1 @@ -3434,13 +3465,19 @@ 0, itemann ); // 灏唅temann鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� - + console.log(indexann, "indexann"); + console.log(index, "index"); } else { - const index = this.getIndexInArray(this.invoicefileListto, row); + const index = this.invoicefileListto.findIndex( + item => item.name == row.name + ); + const item = this.invoicefileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� this.invoicefileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� - const indexinvo = this.rbDetails[this.atpresent].invoicefilesList.findIndex(item => item.name == row.name); + const indexinvo = this.rbDetails[ + this.atpresent + ].invoicefilesList.findIndex(item => item.name == row.name); const iteminvo = this.rbDetails[this.atpresent].invoicefilesList.splice( indexinvo, 1 -- Gitblit v1.9.3