From 64ee80db77901fb249bbca4949a24610e4e7c0ae Mon Sep 17 00:00:00 2001 From: cyf009 <591388323@qq.com> Date: Thu, 12 Dec 2024 16:44:45 +0800 Subject: [PATCH] 1 --- WebSite/src/api/Training.js | 15 +++++++++------ WebSite/src/api/base/base.js | 27 +++++++++++++++++++++++++++ WebSite/src/views/training/index.vue | 2 ++ 3 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 WebSite/src/api/base/base.js diff --git a/WebSite/src/api/Training.js b/WebSite/src/api/Training.js index 0995f1e..7341c57 100644 --- a/WebSite/src/api/Training.js +++ b/WebSite/src/api/Training.js @@ -1,5 +1,7 @@ import request from '@/core/base/request'; -class Training { +import { Base } from '@/api/base/base.js'; + +class Training extends Base{ static async getTrainingList() { return await request({ url: 'training/selectList', @@ -53,11 +55,12 @@ class Training { } static async exportTraining() { - return await request({ - url: 'training/exportTraining', - method: 'post', - responseType: 'blob' - }); + await request({ + method: 'post', + url: 'training/exportTraining', + responseType: 'blob' + }); + } } export default Training; \ No newline at end of file diff --git a/WebSite/src/api/base/base.js b/WebSite/src/api/base/base.js new file mode 100644 index 0000000..56d2040 --- /dev/null +++ b/WebSite/src/api/base/base.js @@ -0,0 +1,27 @@ +class Base { + static downloadFile(res) { + debugger; + if (!res.data) return; + var blob = new Blob([res.data], { type: res.data.type }); + // 閽堝浜嶪E娴忚鍣ㄧ殑澶勭悊, 鍥犻儴鍒咺E娴忚鍣ㄤ笉鏀寔createObjectURL + if (window.navigator && window.navigator.msSaveOrOpenBlob) { + window.navigator.msSaveOrOpenBlob(blob, res.filename); + } else { + var downloadElement = document.createElement('a'); + var href = window.URL.createObjectURL(blob); // 鍒涘缓涓嬭浇鐨勯摼鎺� + downloadElement.href = href; + downloadElement.download = res.filename; // 涓嬭浇鍚庢枃浠跺悕 + document.body.appendChild(downloadElement); + downloadElement.click(); // 鐐瑰嚮涓嬭浇 + document.body.removeChild(downloadElement); // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌 + window.URL.revokeObjectURL(href); // 閲婃斁鎺塨lob瀵硅薄 + } + } + + static processRequestData(data) { + if (!data.enabled) { + delete data.enabled; + } + } +} +export { Base }; diff --git a/WebSite/src/views/training/index.vue b/WebSite/src/views/training/index.vue index 3befbc1..373b547 100644 --- a/WebSite/src/views/training/index.vue +++ b/WebSite/src/views/training/index.vue @@ -217,7 +217,9 @@ export default { } }; const exportTraining = async () => { + debugger; const res = await Training.exportTraining(); + debugger; if (res.type === 'application/x-download') { downloadBlobFile( new Blob([res], { type: res.type }), -- GitLab