From e5bdee63dd988a12883fb5bcb760a91d77a455d0 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 07 三月 2025 13:58:24 +0800
Subject: [PATCH] 文件导出封装优化
---
src/views/CNAS/process/sampleDisposal/sampleDisposal.vue | 3
src/views/CNAS/process/method/methodVerification/components/ViewTestRecord.vue | 9 --
src/views/CNAS/systemManagement/internalAuditManagement/components/ViewTestRecord.vue | 9 --
src/views/CNAS/systemManagement/correctiveAction/components/ViewTestRecord.vue | 9 --
src/views/CNAS/systemManagement/documentRecords/approvalRecord.vue | 4 -
src/views/CNAS/process/sampleDisposal/sampleRegistration.vue | 3
src/views/CNAS/systemManagement/managementReview/components/managementReviewPlan.vue | 4 -
src/views/CNAS/process/reportResults/index.vue | 3
src/views/CNAS/systemManagement/documentControl/components/FileList.vue | 6 -
src/views/CNAS/systemManagement/customerManagement/customerSatisfaction.vue | 9 --
src/views/CNAS/systemManagement/documentControl/components/ControlledFileApplication.vue | 4 -
src/views/CNAS/systemManagement/documentRecords/regularReviewsRecord.vue | 7 -
src/views/CNAS/process/method/methodVerification/components/calibrationsFileDia.vue | 9 --
src/views/CNAS/systemManagement/documentRecords/outDocumenRecordt.vue | 3
src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue | 4 -
src/views/CNAS/systemManagement/documentControl/components/FileChangeRequest.vue | 4 -
src/views/CNAS/process/uncertainty/index.vue | 3
src/views/CNAS/systemManagement/documentRecords/revisionRecord.vue | 4 -
src/views/CNAS/process/method/methodVerification/components/viewWorkPermitDia.vue | 9 --
src/views/structural/capabilityAndLaboratory/laboratory/index.vue | 3
src/views/CNAS/systemManagement/documentRecords/cancellationRecord.vue | 4 -
src/plugins/download.js | 25 +++++++-
src/views/CNAS/process/ensureResults/ensureResultsValidity/components/ViewRecord.vue | 10 ---
23 files changed, 46 insertions(+), 102 deletions(-)
diff --git a/src/plugins/download.js b/src/plugins/download.js
index c0c1878..d814fb9 100644
--- a/src/plugins/download.js
+++ b/src/plugins/download.js
@@ -80,11 +80,30 @@
downloadLoadingInstance.close();
});
},
- saveAs(text, name, opts) {
+ async saveAs(text, name, opts) {
if (typeof text === "string") {
// 璺緞涓嬭浇
- saveAs(text, name, opts);
- Message.success("鏁版嵁瀵煎嚭鎴愬姛");
+ try {
+ let state = /\.(jpg|jpeg|png|gif)$/i.test(text); // 鍒ゆ柇鏄惁涓哄浘鐗�
+ let url1 = "";
+ if (state) {
+ url1 = Vue.prototype.javaApi + "/img/" + text;
+ } else {
+ url1 = Vue.prototype.javaApi + "/word/" + text;
+ }
+ // 浣跨敤 fetch 鑾峰彇鏂囦欢
+ const response = await fetch(url1);
+ if (!response.ok) {
+ throw new Error("鏂囦欢涓嬭浇澶辫触: " + response.statusText);
+ }
+ // 灏嗘枃浠惰浆鎹负 Blob
+ const blob = await response.blob();
+ // 浣跨敤 saveAs 淇濆瓨鏂囦欢
+ saveAs(blob, filename);
+ Message.success("鏁版嵁瀵煎嚭鎴愬姛");
+ } catch (error) {
+ Message.error(error);
+ }
} else {
// 娴佷笅杞�
blobToText(text)
diff --git a/src/views/CNAS/process/ensureResults/ensureResultsValidity/components/ViewRecord.vue b/src/views/CNAS/process/ensureResults/ensureResultsValidity/components/ViewRecord.vue
index 0db2c44..0f049d3 100644
--- a/src/views/CNAS/process/ensureResults/ensureResultsValidity/components/ViewRecord.vue
+++ b/src/views/CNAS/process/ensureResults/ensureResultsValidity/components/ViewRecord.vue
@@ -107,15 +107,7 @@
},
// 涓嬭浇
upload(row) {
- let url = '';
- if (row.type == 1) {
- url = this.javaApi + '/img/' + row.fileUrl
- this.$download.saveAs(url, row.fileName)
- } else {
- url = this.javaApi + '/word/' + row.fileUrlrow.fileName;
- link.click();
- this.$download.saveAs(url, row.fileName)
- }
+ this.$download.saveAs(row.fileUrl, row.fileName)
},
// 鍒犻櫎
delete(row) {
diff --git a/src/views/CNAS/process/method/methodVerification/components/ViewTestRecord.vue b/src/views/CNAS/process/method/methodVerification/components/ViewTestRecord.vue
index 7503777..53bda24 100644
--- a/src/views/CNAS/process/method/methodVerification/components/ViewTestRecord.vue
+++ b/src/views/CNAS/process/method/methodVerification/components/ViewTestRecord.vue
@@ -106,14 +106,7 @@
},
// 涓嬭浇
upload(row) {
- let url = '';
- if (row.type == 1) {
- url = this.javaApi + '/img/' + row.fileUrl
- this.$download.saveAs(url, row.fileName)
- } else {
- url = this.javaApi + '/word/' + row.fileUrl
- this.$download.saveAs(url, row.fileName)
- }
+ this.$download.saveAs(row.fileUrl, row.fileName)
},
// 鍒犻櫎
delete(row) {
diff --git a/src/views/CNAS/process/method/methodVerification/components/calibrationsFileDia.vue b/src/views/CNAS/process/method/methodVerification/components/calibrationsFileDia.vue
index c650ba2..e788817 100644
--- a/src/views/CNAS/process/method/methodVerification/components/calibrationsFileDia.vue
+++ b/src/views/CNAS/process/method/methodVerification/components/calibrationsFileDia.vue
@@ -93,14 +93,7 @@
},
// 涓嬭浇
upload(row) {
- let url = '';
- if (row.type == 1) {
- url = this.javaApi + '/img/' + row.fileUrl
- this.$download.saveAs(url, row.fileName)
- } else {
- url = this.javaApi + '/word/' + row.fileUrl
- this.$download.saveAs(url, row.fileName)
- }
+ this.$download.saveAs(row.fileUrl, row.fileName)
},
}
};
diff --git a/src/views/CNAS/process/method/methodVerification/components/viewWorkPermitDia.vue b/src/views/CNAS/process/method/methodVerification/components/viewWorkPermitDia.vue
index a40469f..b1f2476 100644
--- a/src/views/CNAS/process/method/methodVerification/components/viewWorkPermitDia.vue
+++ b/src/views/CNAS/process/method/methodVerification/components/viewWorkPermitDia.vue
@@ -89,14 +89,7 @@
},
// 涓嬭浇
upload(row) {
- let url = '';
- if (row.type == 1) {
- url = this.javaApi + '/img/' + row.fileUrl
- this.$download.saveAs(url, row.fileName)
- } else {
- url = this.javaApi + '/word/' + row.fileUrl
- this.$download.saveAs(url, row.fileName)
- }
+ this.$download.saveAs(row.fileUrl, row.fileName)
},
},
};
diff --git a/src/views/CNAS/process/reportResults/index.vue b/src/views/CNAS/process/reportResults/index.vue
index 66ae2ea..52d7349 100644
--- a/src/views/CNAS/process/reportResults/index.vue
+++ b/src/views/CNAS/process/reportResults/index.vue
@@ -223,8 +223,7 @@
exportProcessReport({ ids: this.mutilSelect.map(m => m.id) }).then(res => {
this.outLoading = false
if (res.code === 201) return
- const url = this.javaApi + '/word/' + res.data;
- this.$download.saveAs(url, "鎶ュ憡缁撴灉");
+ this.$download.saveAs(res.data, "鎶ュ憡缁撴灉")
})
},
openAdd() {
diff --git a/src/views/CNAS/process/sampleDisposal/sampleDisposal.vue b/src/views/CNAS/process/sampleDisposal/sampleDisposal.vue
index 8759567..4e8e62e 100644
--- a/src/views/CNAS/process/sampleDisposal/sampleDisposal.vue
+++ b/src/views/CNAS/process/sampleDisposal/sampleDisposal.vue
@@ -506,8 +506,7 @@
// 瀵煎嚭璇︽儏
handleDown0(row) {
// 鍚庣涓嬭浇
- let url = this.javaApi + '/word/' + row.url
- this.$download.saveAs(url, row.month + ' 鏍峰搧澶勭悊鐢宠琛�');
+ this.$download.saveAs(row.url, row.month + ' 鏍峰搧澶勭悊鐢宠琛�')
},
handleDelete(row) {
this.$confirm("鏄惁鍒犻櫎璇ユ潯鏁版嵁?", "鎻愮ず", {
diff --git a/src/views/CNAS/process/sampleDisposal/sampleRegistration.vue b/src/views/CNAS/process/sampleDisposal/sampleRegistration.vue
index 8a4a35d..020268f 100644
--- a/src/views/CNAS/process/sampleDisposal/sampleRegistration.vue
+++ b/src/views/CNAS/process/sampleDisposal/sampleRegistration.vue
@@ -535,8 +535,7 @@
// 瀵煎嚭璇︽儏
handleDown0(row) {
// 鍚庣涓嬭浇
- let url = this.javaApi + '/word/' + row.url
- this.$download.saveAs(url, row.month + ' 鏍峰搧鎺ユ敹琛�')
+ this.$download.saveAs(row.url, row.month + ' 鏍峰搧鎺ユ敹琛�')
},
// 鍒犻櫎
handleDelete(row) {
diff --git a/src/views/CNAS/process/uncertainty/index.vue b/src/views/CNAS/process/uncertainty/index.vue
index 053008b..beca85c 100644
--- a/src/views/CNAS/process/uncertainty/index.vue
+++ b/src/views/CNAS/process/uncertainty/index.vue
@@ -183,8 +183,7 @@
})
},
handleDown(row) {
- let url = this.javaApi + '/word/' + row.reportUrl
- this.$download.saveAs(url, row.reportName);
+ this.$download.saveAs(row.reportUrl, row.reportName)
},
beforeUpload(file) {
if (file.size > 1024 * 1024 * 10) {
diff --git a/src/views/CNAS/systemManagement/correctiveAction/components/ViewTestRecord.vue b/src/views/CNAS/systemManagement/correctiveAction/components/ViewTestRecord.vue
index 3c6a5bd..7252f7a 100644
--- a/src/views/CNAS/systemManagement/correctiveAction/components/ViewTestRecord.vue
+++ b/src/views/CNAS/systemManagement/correctiveAction/components/ViewTestRecord.vue
@@ -111,14 +111,7 @@
},
// 涓嬭浇
upload(row) {
- let url = '';
- if (row.type == 1) {
- url = this.javaApi + '/img/' + row.fileUrl
- this.$download.saveAs(url, row.fileName);
- } else {
- url = this.javaApi + '/word/' + row.fileUrl
- this.$download.saveAs(url, row.fileName);
- }
+ this.$download.saveAs(row.fileUrl, row.fileUrl)
},
// 鍒犻櫎
delete(row) {
diff --git a/src/views/CNAS/systemManagement/customerManagement/customerSatisfaction.vue b/src/views/CNAS/systemManagement/customerManagement/customerSatisfaction.vue
index 4a1900c..efcfabd 100644
--- a/src/views/CNAS/systemManagement/customerManagement/customerSatisfaction.vue
+++ b/src/views/CNAS/systemManagement/customerManagement/customerSatisfaction.vue
@@ -307,14 +307,7 @@
},
// 涓嬭浇瀹㈡埛绂忓缓
upload(row) {
- let url = '';
- if (row.type == 1) {
- url = this.javaApi + '/img/' + row.fileUrl
- this.$download.saveAs(url, row.fileName);
- } else {
- url = this.javaApi + '/word/' + row.fileUrl
- this.$download.saveAs(url, row.fileName);
- }
+ this.$download.saveAs(row.fileUrl, row.fileName)
},
// 鍒犻櫎瀹㈡埛鍒嗘瀽闄勪欢
delFile(row) {
diff --git a/src/views/CNAS/systemManagement/documentControl/components/ControlledFileApplication.vue b/src/views/CNAS/systemManagement/documentControl/components/ControlledFileApplication.vue
index 3e54bad..f369603 100644
--- a/src/views/CNAS/systemManagement/documentControl/components/ControlledFileApplication.vue
+++ b/src/views/CNAS/systemManagement/documentControl/components/ControlledFileApplication.vue
@@ -460,9 +460,7 @@
})
},
handleDown(row) {
- if (!row.url) return this.$message.warning('鏂囦欢鏈笂浼�')
- let url = this.javaApi + '/word/' + row.url
- this.$download.saveAs(url, row.url);
+ this.$download.saveAs(row.url, row.url)
},
async uploadPDF(pdfBlob) {
const formData = new FormData();
diff --git a/src/views/CNAS/systemManagement/documentControl/components/FileChangeRequest.vue b/src/views/CNAS/systemManagement/documentControl/components/FileChangeRequest.vue
index 31a410a..451a392 100644
--- a/src/views/CNAS/systemManagement/documentControl/components/FileChangeRequest.vue
+++ b/src/views/CNAS/systemManagement/documentControl/components/FileChangeRequest.vue
@@ -567,9 +567,7 @@
},
// 涓嬭浇闄勪欢
handleDown(row) {
- if (!row.alterAfterUrl) return this.$message.warning('鏂囦欢鏈笂浼�')
- let url = this.javaApi + '/word/' + row.alterAfterUrl
- this.$download.saveAs(url, row.alterAfterUrl)
+ this.$download.saveAs(row.alterAfterUrl, row.alterAfterUrl)
},
// 鎵撳紑瀹℃牳寮规
handleCheck(row) {
diff --git a/src/views/CNAS/systemManagement/documentControl/components/FileList.vue b/src/views/CNAS/systemManagement/documentControl/components/FileList.vue
index 88bc13d..a0841a2 100644
--- a/src/views/CNAS/systemManagement/documentControl/components/FileList.vue
+++ b/src/views/CNAS/systemManagement/documentControl/components/FileList.vue
@@ -251,9 +251,7 @@
},
// 涓嬭浇鏂囦欢
handleDown(row) {
- if (!row.url) return this.$message.warning('鏂囦欢鏈笂浼�')
- let url = this.javaApi + '/word/' + row.url
- this.$download.saveAs(url, row.url);
+ this.$download.saveAs(row.url, row.url)
},
// 鏌ョ湅鏂囦欢
handleLook(row) {
@@ -317,7 +315,7 @@
if (response.code == 200) {
this.$message.success('涓婁紶鎴愬姛');
this.refreshTable()
- }else {
+ } else {
this.$message.error(response.msg);
}
},
diff --git a/src/views/CNAS/systemManagement/documentRecords/approvalRecord.vue b/src/views/CNAS/systemManagement/documentRecords/approvalRecord.vue
index 0e99805..7632c4b 100644
--- a/src/views/CNAS/systemManagement/documentRecords/approvalRecord.vue
+++ b/src/views/CNAS/systemManagement/documentRecords/approvalRecord.vue
@@ -283,9 +283,7 @@
// queryParams
exportOutManageRecordCheck(this.queryParams).then(res => {
this.outLoading = false
- if (res.code == 201) return this.$message.error('瀵煎嚭澶辫触')
- let url = this.javaApi + '/word/' + res.data
- this.$download.saveAs(url, '鏂囦欢瀹℃壒璁板綍')
+ this.$download.saveAs(row.data, '鏂囦欢瀹℃壒璁板綍')
})
},
getAuthorizedPerson() {
diff --git a/src/views/CNAS/systemManagement/documentRecords/cancellationRecord.vue b/src/views/CNAS/systemManagement/documentRecords/cancellationRecord.vue
index bdd2484..8710fa5 100644
--- a/src/views/CNAS/systemManagement/documentRecords/cancellationRecord.vue
+++ b/src/views/CNAS/systemManagement/documentRecords/cancellationRecord.vue
@@ -243,9 +243,7 @@
this.outLoading = true
exportOutManageRecordCancel(this.queryParams).then(res => {
this.outLoading = false
- if (res.code == 201) return this.$message.error('瀵煎嚭澶辫触')
- let url = this.javaApi + '/word/' + res.data
- this.$download.saveAs(url, "浣滃簾鏂囦欢閿�姣佽褰�");
+ this.$download.saveAs(row.data, '浣滃簾鏂囦欢閿�姣佽褰�')
})
},
getList() {
diff --git a/src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue b/src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue
index aeb2861..beef4eb 100644
--- a/src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue
+++ b/src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue
@@ -300,9 +300,7 @@
this.outLoading = true
exportOutManageRecordIssueRecycle(this.queryParams).then(res => {
this.outLoading = false
- if (res.code == 201) return this.$message.error('瀵煎嚭澶辫触')
- let url = this.javaApi + '/word/' + res.data
- this.$download.saveAs(url, '鏂囦欢鍙戞斁涓庡洖鏀惰褰�')
+ this.$download.saveAs(row.data, '鏂囦欢鍙戞斁涓庡洖鏀惰褰�')
})
},
getList() {
diff --git a/src/views/CNAS/systemManagement/documentRecords/outDocumenRecordt.vue b/src/views/CNAS/systemManagement/documentRecords/outDocumenRecordt.vue
index c7c2922..b6988a4 100644
--- a/src/views/CNAS/systemManagement/documentRecords/outDocumenRecordt.vue
+++ b/src/views/CNAS/systemManagement/documentRecords/outDocumenRecordt.vue
@@ -393,8 +393,7 @@
}).catch(err => { });
},
handleDown0(row) {
- let url = this.javaApi + '/word/' + row.url
- this.$download.saveAs(url, '澶栨潵鏂囦欢纭璁板綍')
+ this.$download.saveAs(row.url, '澶栨潵鏂囦欢纭璁板綍')
},
// 鎻愪氦
handleSubmit(row) {
diff --git a/src/views/CNAS/systemManagement/documentRecords/regularReviewsRecord.vue b/src/views/CNAS/systemManagement/documentRecords/regularReviewsRecord.vue
index 432faea..99003d8 100644
--- a/src/views/CNAS/systemManagement/documentRecords/regularReviewsRecord.vue
+++ b/src/views/CNAS/systemManagement/documentRecords/regularReviewsRecord.vue
@@ -345,9 +345,7 @@
this.outLoading = true
exportOutManageRecordIntervals(this.queryParams).then(res => {
this.outLoading = false
- if (res.code == 201) return this.$message.error('瀵煎嚭澶辫触')
- let url = this.javaApi + 'word/' + res.message
- this.$download.saveAs(url, "鏂囦欢瀹氭湡瀹℃煡璁板綍");
+ this.$download.saveAs(row.data, '鏂囦欢瀹氭湡瀹℃煡璁板綍')
})
},
getList() {
@@ -543,8 +541,7 @@
}
},
handleDown0(row) {
- let url = this.javaApi + '/word/' + row.url
- this.$download.saveAs(url, "鎵�鏈夋枃浠跺畾鏈熸鏌ヨ褰�");
+ this.$download.saveAs(row.url, '鎵�鏈夋枃浠跺畾鏈熸鏌ヨ褰�')
},
// 鎻愪氦
handleSubmit(row) {
diff --git a/src/views/CNAS/systemManagement/documentRecords/revisionRecord.vue b/src/views/CNAS/systemManagement/documentRecords/revisionRecord.vue
index a68b966..a887fdd 100644
--- a/src/views/CNAS/systemManagement/documentRecords/revisionRecord.vue
+++ b/src/views/CNAS/systemManagement/documentRecords/revisionRecord.vue
@@ -550,9 +550,7 @@
this.outLoading = true
exportOutManageRecordAudit(this.queryParams).then(res => {
this.outLoading = false
- if (res.code == 201) return this.$message.error('瀵煎嚭澶辫触')
- let url = this.javaApi + '/word/' + res.data
- this.$download.saveAs(url, "鏂囦欢淇琛�");
+ this.$download.saveAs(row.data, '鏂囦欢淇琛�')
})
},
getList() {
diff --git a/src/views/CNAS/systemManagement/internalAuditManagement/components/ViewTestRecord.vue b/src/views/CNAS/systemManagement/internalAuditManagement/components/ViewTestRecord.vue
index fac2da1..8470fe6 100644
--- a/src/views/CNAS/systemManagement/internalAuditManagement/components/ViewTestRecord.vue
+++ b/src/views/CNAS/systemManagement/internalAuditManagement/components/ViewTestRecord.vue
@@ -116,14 +116,7 @@
},
// 涓嬭浇
upload(row) {
- let url = '';
- if (row.type == 1) {
- url = this.javaApi + '/img/' + row.fileUrl
- this.$download.saveAs(url, row.fileName)
- } else {
- url = this.javaApi + '/word/' + row.fileUrl
- this.$download.saveAs(url, row.fileName)
- }
+ this.$download.saveAs(row.fileUrl, row.fileName)
},
// 鍒犻櫎
delete(row) {
diff --git a/src/views/CNAS/systemManagement/managementReview/components/managementReviewPlan.vue b/src/views/CNAS/systemManagement/managementReview/components/managementReviewPlan.vue
index 14dc270..cbea3f1 100644
--- a/src/views/CNAS/systemManagement/managementReview/components/managementReviewPlan.vue
+++ b/src/views/CNAS/systemManagement/managementReview/components/managementReviewPlan.vue
@@ -281,9 +281,7 @@
this.lookDialogVisible = true
},
handleDown0(url, name) {
- if (!url) return this.$message.warning('鏂囦欢鏈笂浼�')
- let url0 = this.javaApi + '/word/' + url
- this.$download.saveAs(url0, name);
+ this.$download.saveAs(url, name)
}
}
};
diff --git a/src/views/structural/capabilityAndLaboratory/laboratory/index.vue b/src/views/structural/capabilityAndLaboratory/laboratory/index.vue
index 18cd6fd..da211f7 100644
--- a/src/views/structural/capabilityAndLaboratory/laboratory/index.vue
+++ b/src/views/structural/capabilityAndLaboratory/laboratory/index.vue
@@ -328,8 +328,7 @@
},
// 璧勮川鏄庣粏闄勪欢涓嬭浇
handleDownLoad(row) {
- const url = process.env.VUE_APP_BASE_API + "/img/" + row.fileUrl;
- this.$download.saveAs(url, row.fileUrl);
+ this.$download.saveAs(row.fileUrl, row.fileUrl)
},
openAdd() {
this.qualificationsConnectVisible = true;
--
Gitblit v1.9.3