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