From 6301694e7740760917474044a729ffb6d4e39192 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 24 一月 2024 11:59:23 +0800
Subject: [PATCH] 11
---
src/views/project/fund/applyDetail/index.vue | 226 +++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 164 insertions(+), 62 deletions(-)
diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index 9e193b1..6f0703c 100644
--- a/src/views/project/fund/applyDetail/index.vue
+++ b/src/views/project/fund/applyDetail/index.vue
@@ -1126,6 +1126,8 @@
<!-- <img :src="pdfimg" /> -->
<el-image
style="width: 95%; height: 90%"
+ @error="handleImageError"
+ @load="handleImageLoad"
:src="pdfimg"
:preview-src-list="pdfimgsrcList"
>
@@ -1229,6 +1231,8 @@
<!-- <img :src="pdfimg" /> -->
<el-image
style="width: 95%; height: 90%"
+ @error="handleImageError"
+ @load="handleImageLoad"
:src="invoicepdfimg"
:preview-src-list="invoicepdfimgsrcList"
>
@@ -1421,7 +1425,7 @@
businessName: "",
//鎿嶄綔绫诲瀷
operationType: "",
-
+ Loadornot: false,
//褰撳墠鍗曟嵁id
curId: 0,
//褰撳墠閫変腑鎹愮尞妗堜緥
@@ -1655,6 +1659,7 @@
activeName: 1, //鏂囦欢绫诲瀷
//涓婁紶闄勪欢璺緞
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+ ICDtoken: getToken(),
//鏂囦欢涓婁紶token
headers: {
Authorization: "Bearer " + getToken()
@@ -1754,14 +1759,10 @@
if (string.includes("9091")) {
const index = string.indexOf("9091");
this.Networkheader = string.slice(0, index + 4); // 鎴彇9091鍙婂叾鍓嶉儴瀛楃
- this.Networkheader = "http://slb.hospitalstar.com:9091";
} else {
const index = string.indexOf("8032");
this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃
- this.Networkheader = "http://slb.hospitalstar.com:9091";
}
- this.Networkheader = "http://slb.hospitalstar.com:9091";
-
},
/** 閫氳繃鍙傛暟鑾峰彇涓氬姟绫诲瀷 */
getroute() {
@@ -3099,26 +3100,45 @@
totalprint(e) {
// const id =this.row.id
getdownloadBX(e).then(res => {
- if (res.downloadUrl) {
- var fileUrl = res;
- //鑾峰彇褰撳墠缃戝潃
- var urlBase = process.env.VUE_APP_BASE_API;
- var curWWWPath = window.document.location.href;
- var pos = curWWWPath.indexOf(window.document.location.pathname);
- // 鍒涘缓a鏍囩
- var aEle = document.createElement("a");
- aEle.href =
- curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
- aEle.click();
- this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", {
- confirmButtonText: "纭畾",
- type: "success"
+ var fileUrl = res;
+ //鑾峰彇褰撳墠缃戝潃
+ var urlBase = process.env.VUE_APP_BASE_API;
+ var curWWWPath = window.document.location.href;
+ var pos = curWWWPath.indexOf(window.document.location.pathname);
+ // 鍒涘缓a鏍囩
+ var aEle = document.createElement("a");
+ aEle.href =
+ curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
+ console.log(aEle.href);
+ // 娣诲姞Authorization澶撮儴
+ fetch(aEle.href, {
+ headers: this.headers
+ })
+ .then(response => {
+ // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇
+ return response.blob();
+ })
+ .then(blob => {
+ const url = window.URL.createObjectURL(new Blob([blob]));
+ console.log(url);
+ const link = document.createElement("a");
+ link.href = url;
+ const name = fileUrl["downloadName"];
+ link.setAttribute("download", name); // 鏇挎崲file.pdf涓哄疄闄呯殑鏂囦欢鍚�
+ document.body.appendChild(link);
+ link.click();
+ link.parentNode.removeChild(link);
});
- }
});
},
- //鏂囦欢涓婁紶
+ handleImageError(e) {
+ // 鍔犺浇澶辫触
+ },
+ handleImageLoad(e) {
+ // 鍥剧墖鍔犺浇鎴愬姛鏃舵墽琛岀殑鎿嶄綔
+ console.log("Image loaded successfully");
+ },
handleUploadError() {},
remove(file, fileList) {
const rbDetails = [...this.rbDetails];
@@ -3133,49 +3153,88 @@
uploadSccess(response, file, fileList) {
this.rbDetails;
+ const config = {
+ headers: { Authorization: "Bearer " + this.ICDtoken }
+ };
+ const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
//鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆
if (this.activeName == 1) {
if (response.code == 200) {
- // this.form.filename = file.raw.name;
this.previewpdf = true;
+
+ fetch(pdfimg, config)
+ .then(response => response.blob())
+ .then(blob => {
+ // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL
+ this.pdfimg = URL.createObjectURL(blob);
+ this.pdfimgsrcList.push(URL.createObjectURL(blob));
+ this.fileListto.push({
+ name: file.name,
+ url: URL.createObjectURL(blob)
+ });
+ })
+ .catch(error => {
+ console.error("Error loading image", error);
+ return;
+ });
+
this.$modal.msgSuccess(response.msg);
- this.fileListto.push({
+
+ console.log(this.fileListto, "鏂板鍚�");
+ if (!this.rbDetails[this.atpresent].annexfilesList) {
+ this.rbDetails[this.atpresent].annexfilesList = [];
+ }
+ this.rbDetails[this.atpresent].annexfilesList.push({
name: file.name,
url: response.fileName
});
- this.pdfimgsrcList.push(
- this.Networkheader + "/prod-api" + response.fileName
- );
this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
- this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
- this.rbDetails[this.atpresent].annexfilesList = this.fileListto;
} else {
console.log(response.msg);
}
} else {
if (response.code == 200) {
this.previewpdf = true;
+ fetch(pdfimg, config)
+ .then(response => response.blob())
+ .then(blob => {
+ // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL
+ this.invoicepdfimg = URL.createObjectURL(blob);
+ this.invoicepdfimgsrcList.push(URL.createObjectURL(blob));
+ this.invoicefileListto.push({
+ name: file.name,
+ url: URL.createObjectURL(blob)
+ });
+ })
+ .catch(error => {
+ console.error("Error loading image", error);
+ return;
+ });
+
this.$modal.msgSuccess(response.msg);
- this.invoicefileListto.push({
+
+ console.log(this.invoicefileListto, "鏂板鍚�");
+ if (!this.rbDetails[this.atpresent].invoicefilesList) {
+ this.rbDetails[this.atpresent].invoicefilesList = [];
+ }
+ this.rbDetails[this.atpresent].invoicefilesList.push({
name: file.name,
url: response.fileName
});
- this.invoicepdfimgsrcList.push(
- this.Networkheader + "/prod-api" + response.fileName
- );
this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�";
- this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
- this.rbDetails[
- this.atpresent
- ].invoicefilesList = this.invoicefileListto;
- } else {
}
}
},
// 鐐瑰嚮绁ㄦ嵁
Filepopup(index, rows, row) {
+ const config = {
+ headers: { Authorization: "Bearer " + this.ICDtoken }
+ };
+
this.tableDatatop = [];
+ this.fileListto = [];
+ this.invoicepdfimg = [];
this.pdfimgsrcList = [];
this.invoDatatop = [];
this.invoicepdfimgsrcList = [];
@@ -3183,29 +3242,57 @@
this.tableDatatop.push(row);
this.atpresent = index;
this.pdfVisible = true;
+
if (this.rbDetails[index].annexfilesList) {
- this.previewpdf = true;
- this.fileListto = this.rbDetails[index].annexfilesList;
- this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
- this.fileListto.forEach(item => {
- this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
+ 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;
+ });
});
+ this.previewpdf = true;
} else {
this.fileListto = [];
this.pdfimg = "";
this.pdftitle = "";
}
- // -鍙戠エ鏂囦欢
+ //鍙戠エ
if (this.rbDetails[index].invoicefilesList) {
- this.previewpdf = true;
- this.invoicefileListto = this.rbDetails[index].invoicefilesList;
- this.invoicepdfimg =
- this.Networkheader + "/prod-api" + this.invoicefileListto[0].url;
- this.invoicefileListto.forEach(item => {
- this.invoicepdfimgsrcList.push(
- this.Networkheader + "/prod-api" + item.url
- );
+ 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)
+ });
+ 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;
+ });
});
+ this.previewpdf = true;
} else {
this.invoicefileListto = [];
this.invoicepdfimg = "";
@@ -3230,11 +3317,12 @@
this.previewpdf = false;
this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
} else if (name[1] == "jpg" || "png") {
+ console.log(item, "灞曠ず");
this.previewpdf = true;
if (item.url) {
- this.pdfimg = this.Networkheader + "/prod-api" + item.url;
+ this.pdfimg = item.url;
} else {
- this.pdfimg = this.Networkheader + "/prod-api" + item.response.url;
+ this.pdfimg = "";
}
} else {
this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -3252,10 +3340,9 @@
} else if (name[1] == "jpg" || "png") {
this.previewpdf = true;
if (item.url) {
- this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url;
+ this.invoicepdfimg = item.url;
} else {
- this.invoicepdfimg =
- this.Networkheader + "/prod-api" + item.response.url;
+ this.invoicepdfimg = "";
}
} else {
this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -3277,22 +3364,37 @@
},
// 鐐瑰嚮鍒犻櫎
deletedowfile(row) {
+ console.log(row);
+ let indexvalue = "";
if (this.activeName == 1) {
- const indexlist = this.getIndexInArray(
- this.pdfimgsrcList,
- this.Networkheader + "/prod-api" + row.url
- );
+ 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;
+ }
+ );
+ console.log(indexvalue, "鍒犻櫎绱㈠紩");
+ this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1);
} else {
const indexlist = this.getIndexInArray(
this.invoicepdfimgsrcList,
- this.Networkheader + "/prod-api" + row.url
+ row.url
);
this.invoicepdfimgsrcList.splice(indexlist, 1);
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;
+ }
+ );
+ console.log(indexvalue, "鍒犻櫎绱㈠紩");
+ this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1);
}
},
// 鐐瑰嚮涓婄Щ
@@ -3308,7 +3410,7 @@
}
},
Downloadfile(row) {
- window.location.href = this.Networkheader + "/prod-api" + row.url;
+ window.location.href = row.url;
},
//涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
--
Gitblit v1.9.3