From 1c2570d63ddd3f2796bfa19f58a75b75947a1020 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 17 二月 2024 10:18:50 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java |    2 +-
 zy-asrs-flow/src/pages/system/role/index.jsx                                 |    4 +++-
 zy-asrs-flow/src/utils/http.js                                               |   17 ++++++++++++++++-
 3 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/zy-asrs-flow/src/pages/system/role/index.jsx b/zy-asrs-flow/src/pages/system/role/index.jsx
index 9e0861a..5f1156a 100644
--- a/zy-asrs-flow/src/pages/system/role/index.jsx
+++ b/zy-asrs-flow/src/pages/system/role/index.jsx
@@ -73,7 +73,9 @@
 const handleExport = async () => {
     const hide = message.loading('姝e湪瀵煎嚭');
     try {
-        await Http.doPost('api/role/export');
+        const resp = await Http.doPostBlob('api/role/export');
+        const blob = new Blob([resp], {type: 'application/vnd.ms-excel'});
+        window.location.href = window.URL.createObjectURL(blob);
         hide();
         message.success('瀵煎嚭鎴愬姛');
         return true;
diff --git a/zy-asrs-flow/src/utils/http.js b/zy-asrs-flow/src/utils/http.js
index b18dbe4..fb9e654 100644
--- a/zy-asrs-flow/src/utils/http.js
+++ b/zy-asrs-flow/src/utils/http.js
@@ -57,6 +57,21 @@
     return res;
 }
 
+const doPostBlob = async (url, params, fn) => {
+    const res = await request(url, {
+        method: 'POST',
+        headers: {
+            'Content-Type': 'application/json'
+        },
+        data: { ...params },
+        responseType: 'blob'
+    });
+    if (fn) {
+        fn(res);
+    }
+    return res;
+}
+
 const doPostPromise = (url, params, fn) => {
     return request(url, {
         method: 'POST',
@@ -77,6 +92,6 @@
     });
 }
 
-const Http = { doGet, doGetPromise, doPost, doPostForm, doPostPromise }
+const Http = { doGet, doGetPromise, doPost, doPostForm, doPostPromise, doPostBlob }
 
 export default Http;
\ No newline at end of file
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java
index ac26178..d76a594 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java
@@ -125,7 +125,7 @@
             response.reset();
             Utils.cors(response);
             response.setContentType("application/octet-stream; charset=utf-8");
-            response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("Role.xls", "UTF-8"));
+            response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("export", "UTF-8"));
             workbook.write(response.getOutputStream());
         } finally {
             workbook.close();

--
Gitblit v1.9.1