From 5d397555769c6f7f2c86a2a2d7b56727422eb160 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 07 十一月 2025 13:50:39 +0800
Subject: [PATCH] 合同管理加下载合同功能

---
 src/views/personnelManagement/contractManagement/index.vue |   30 +++++++++++++++++++++++-------
 1 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/src/views/personnelManagement/contractManagement/index.vue b/src/views/personnelManagement/contractManagement/index.vue
index f691bf3..10cd508 100644
--- a/src/views/personnelManagement/contractManagement/index.vue
+++ b/src/views/personnelManagement/contractManagement/index.vue
@@ -78,6 +78,7 @@
 import dayjs from "dayjs";
 import { getToken } from "@/utils/auth.js";
 import FilesDia from "./filesDia.vue";
+import axios from "axios";
 const data = reactive({
   searchForm: {
     staffName: "",
@@ -296,13 +297,28 @@
         const javaApi = proxy.javaApi || import.meta.env.VITE_JAVA_API || "";
         const downloadPath = res.msg.startsWith("/") ? res.msg : `/${res.msg}`;
         const downloadUrl = `${javaApi}${downloadPath}`;
-        const link = document.createElement("a");
-        link.href = downloadUrl;
-        link.download = fileName;
-        link.target = "_blank";
-        document.body.appendChild(link);
-        link.click();
-        document.body.removeChild(link);
+        axios({
+          url: downloadUrl,
+          method: "get",
+          responseType: "blob",
+          headers: { Authorization: "Bearer " + getToken() }
+        })
+          .then((resp) => {
+            const blob = new Blob([resp.data], {
+              type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
+            });
+            const url = window.URL.createObjectURL(blob);
+            const link = document.createElement("a");
+            link.href = url;
+            link.download = fileName;
+            document.body.appendChild(link);
+            link.click();
+            document.body.removeChild(link);
+            window.URL.revokeObjectURL(url);
+          })
+          .catch(() => {
+            proxy.$modal.msgError("鍚堝悓涓嬭浇澶辫触锛岃绋嶅悗閲嶈瘯");
+          });
       } else {
         proxy.$modal.msgError(res?.msg || "鍚堝悓鐢熸垚澶辫触");
       }

--
Gitblit v1.9.3