From ecb306c5612f474a5911af20a567f3f4d4db33d1 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 24 九月 2025 15:02:23 +0800
Subject: [PATCH] 原材料订单拆分功能v1
---
src/plugins/download.js | 67 +++++++++++++++++++--------------
1 files changed, 38 insertions(+), 29 deletions(-)
diff --git a/src/plugins/download.js b/src/plugins/download.js
index 36db93e..17bcf96 100644
--- a/src/plugins/download.js
+++ b/src/plugins/download.js
@@ -81,37 +81,46 @@
downloadLoadingInstance.close();
});
},
- async downloadFileFromUrl(url, filename) {
- try {
- let state = /\.(jpg|jpeg|png|gif)$/i.test(url) // 鍒ゆ柇鏄惁涓哄浘鐗�
- let url1 = ''
- if (state) {
- url1 = Vue.prototype.javaApi + '/img/' + url;
- } else {
- url1 = Vue.prototype.javaApi + '/word/' + url
+ async saveAs(text, name, opts) {
+ if (typeof text === "string") {
+ try {
+ let state = /\.(jpg|jpeg|png|gif)$/i.test(text) // 鍒ゆ柇鏄惁涓哄浘鐗�
+ let url1 = ''
+ if (state) {
+ url1 = Vue.prototype.javaApi + '/img/' + text;
+ } else {
+ if (text.startsWith("/word/")) {
+ url1 = Vue.prototype.javaApi + text
+ } else if (text.startsWith("word/")) {
+ url1 = Vue.prototype.javaApi + '/' + 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, name);
+ Message.success("鏁版嵁瀵煎嚭鎴愬姛");
+ } catch (error) {
+ Message.error(error);
}
- // 浣跨敤 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)
+ .then((result) => {
+ Message.error(result.msg);
+ })
+ .catch(() => {
+ saveAs(text, name, opts);
+ Message.success("鏁版嵁瀵煎嚭鎴愬姛");
+ });
}
- },
- saveAs(text, name, opts) {
- // 娴佷笅杞�
- blobToText(text).then((result) => {
- Message.error(result.msg);
- }).catch(() => {
- saveAs(text, name, opts);
- Message.success("鏁版嵁瀵煎嚭鎴愬姛");
- });
},
async printErrMsg(data) {
const resText = await data.text();
--
Gitblit v1.9.3