From 1a434569ae3e486209b19cc416582f6088e2af00 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 30 三月 2026 17:26:16 +0800
Subject: [PATCH] Merge branch 'dev_长治_健齿齿科器材' of http://114.132.189.42:9002/r/product-inventory-management into dev_长治_健齿齿科器材

---
 src/api/qualityManagement/nonconformingManagement.js          |   10 ++++++++++
 src/views/qualityManagement/nonconformingManagement/index.vue |   39 +++++++++++++++++++++++++++++++++++++--
 2 files changed, 47 insertions(+), 2 deletions(-)

diff --git a/src/api/qualityManagement/nonconformingManagement.js b/src/api/qualityManagement/nonconformingManagement.js
index 50a1b74..bcab3ec 100644
--- a/src/api/qualityManagement/nonconformingManagement.js
+++ b/src/api/qualityManagement/nonconformingManagement.js
@@ -48,3 +48,13 @@
     data: query,
   });
 }
+
+// 涓嬭浇杩斿伐闄勪欢
+export function downloadReturnRecord(id) {
+  return request({
+    url: "/quality/qualityUnqualified/downloadReturnRecord",
+    method: "get",
+    params: { id },
+    responseType: "blob",
+  });
+}
diff --git a/src/views/qualityManagement/nonconformingManagement/index.vue b/src/views/qualityManagement/nonconformingManagement/index.vue
index 8538fa4..4910331 100644
--- a/src/views/qualityManagement/nonconformingManagement/index.vue
+++ b/src/views/qualityManagement/nonconformingManagement/index.vue
@@ -63,7 +63,7 @@
 import {onMounted, ref, reactive, toRefs, nextTick, getCurrentInstance} from "vue";
 import FormDia from "@/views/qualityManagement/nonconformingManagement/components/formDia.vue";
 import {ElMessageBox} from "element-plus";
-import {qualityUnqualifiedDel, qualityUnqualifiedListPage} from "@/api/qualityManagement/nonconformingManagement.js";
+import {qualityUnqualifiedDel, qualityUnqualifiedListPage, downloadReturnRecord} from "@/api/qualityManagement/nonconformingManagement.js";
 import InspectionFormDia from "@/views/qualityManagement/nonconformingManagement/components/inspectionFormDia.vue";
 import dayjs from "dayjs";
 
@@ -181,7 +181,7 @@
     label: "鎿嶄綔",
     align: "center",
     fixed: "right",
-    width: 100,
+    width: 180,
     operation: [
       {
         name: "澶勭悊",
@@ -190,6 +190,14 @@
           openInspectionForm("edit", row);
         },
         disabled: (row) => row.inspectState === 1,
+      },
+      {
+        name: "涓嬭浇杩斿伐闄勪欢",
+        type: "text",
+        clickFun: (row) => {
+          handleDownloadReturnRecord(row);
+        },
+        show: (row) => row.dealResult === "杩斿伐",
       },
     ],
   },
@@ -264,6 +272,33 @@
   })
 };
 
+// 涓嬭浇杩斿伐闄勪欢
+const handleDownloadReturnRecord = async (row) => {
+  try {
+    const blobData = await downloadReturnRecord(row.id);
+
+    // 鏋勫缓 Blob
+    const blob = new Blob([blobData], {
+      type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
+    });
+
+    // 涓嬭浇
+    const url = window.URL.createObjectURL(blob);
+    const link = document.createElement("a");
+    link.href = url;
+    link.download = `杩斿伐闄勪欢.docx`;
+    document.body.appendChild(link);
+    link.click();
+    document.body.removeChild(link);
+    window.URL.revokeObjectURL(url);
+
+    proxy.$modal.msgSuccess("涓嬭浇鎴愬姛");
+  } catch (error) {
+    console.error("涓嬭浇杩斿伐闄勪欢澶辫触:", error);
+    proxy.$modal.msgError("涓嬭浇澶辫触");
+  }
+};
+
 // 鍒犻櫎
 const handleDelete = () => {
   let ids = [];

--
Gitblit v1.9.3