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

---
 src/views/qualityManagement/nonconformingManagement/index.vue |   77 +++++++++++++++++++++++++++++---------
 1 files changed, 58 insertions(+), 19 deletions(-)

diff --git a/src/views/qualityManagement/nonconformingManagement/index.vue b/src/views/qualityManagement/nonconformingManagement/index.vue
index d3ac667..4910331 100644
--- a/src/views/qualityManagement/nonconformingManagement/index.vue
+++ b/src/views/qualityManagement/nonconformingManagement/index.vue
@@ -4,7 +4,7 @@
       <div style="display: flex;flex-direction: row;align-items: center;">
         <div>
           <span class="search_title">绫诲瀷锛�</span>
-          <el-select v-model="searchForm.inspectType" clearable style="width: 240px" @change="handleQuery">
+          <el-select v-model="searchForm.inspectType" clearable style="width: 200px" @change="handleQuery">
             <el-option label="鍘熸潗鏂欐楠�" :value="0" />
             <el-option label="杩囩▼妫�楠�" :value="1" />
             <el-option label="鍑哄巶妫�楠�" :value="2" />
@@ -12,7 +12,7 @@
         </div>
         <div style="margin-left: 10px">
           <span class="search_title">鐘舵�侊細</span>
-          <el-select v-model="searchForm.inspectState" clearable style="width: 240px" @change="handleQuery">
+          <el-select v-model="searchForm.inspectState" clearable style="width: 200px" @change="handleQuery">
             <el-option label="寰呭鐞�" :value="0" />
             <el-option label="宸插鐞�" :value="1" />
           </el-select>
@@ -21,7 +21,7 @@
           <span class="search_title">浜у搧鍚嶇О锛�</span>
           <el-input
               v-model="searchForm.productName"
-              style="width: 240px"
+              style="width: 200px"
               placeholder="璇疯緭鍏ヤ骇鍝佸悕绉版悳绱�"
               @change="handleQuery"
               clearable
@@ -30,6 +30,7 @@
         </div>
         <span  style="margin-left: 10px" class="search_title">妫�娴嬫棩鏈燂細</span>
         <el-date-picker  v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
+												 style="width: 300px"
                          placeholder="璇烽�夋嫨" clearable @change="changeDaterange" />
         <el-button type="primary" @click="handleQuery" style="margin-left: 10px">鎼滅储</el-button>
       </div>
@@ -59,10 +60,10 @@
 
 <script setup>
 import { Search } from "@element-plus/icons-vue";
-import {onMounted, ref} from "vue";
+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";
 
@@ -71,12 +72,9 @@
     inspectType: "",
     inspectState: "",
     productName: "",
-    entryDate: [
-      dayjs().format("YYYY-MM-DD"),
-      dayjs().add(1, "day").format("YYYY-MM-DD"),
-    ], // 褰曞叆鏃ユ湡
-    entryDateStart: dayjs().format("YYYY-MM-DD"),
-    entryDateEnd: dayjs().add(1, "day").format("YYYY-MM-DD"),
+    entryDate: undefined, // 褰曞叆鏃ユ湡
+    entryDateStart: undefined,
+    entryDateEnd: undefined,
   },
 });
 const { searchForm } = toRefs(data);
@@ -146,6 +144,10 @@
     prop: "model",
   },
   {
+    label: "UID鐮�",
+    prop: "uidNo",
+  },
+  {
     label: "鍗曚綅",
     prop: "unit",
   },
@@ -179,21 +181,23 @@
     label: "鎿嶄綔",
     align: "center",
     fixed: "right",
-    width: 120,
+    width: 180,
     operation: [
-      {
-        name: "缂栬緫",
-        type: "text",
-        clickFun: (row) => {
-          openForm("edit", row);
-        },
-      },
       {
         name: "澶勭悊",
         type: "text",
         clickFun: (row) => {
           openInspectionForm("edit", row);
         },
+        disabled: (row) => row.inspectState === 1,
+      },
+      {
+        name: "涓嬭浇杩斿伐闄勪欢",
+        type: "text",
+        clickFun: (row) => {
+          handleDownloadReturnRecord(row);
+        },
+        show: (row) => row.dealResult === "杩斿伐",
       },
     ],
   },
@@ -249,17 +253,52 @@
 
 // 鎵撳紑寮规
 const openForm = (type, row) => {
+  if (type !== 'add' && row?.inspectState === 1) {
+    proxy.$modal.msgWarning("宸插鐞嗙殑鏁版嵁涓嶈兘鍐嶇紪杈�");
+    return;
+  }
   nextTick(() => {
     formDia.value?.openDialog(type, row)
   })
 };
 // 鎵撳紑澶勭悊寮规
 const openInspectionForm = (type, row) => {
+  if (row?.inspectState === 1) {
+    proxy.$modal.msgWarning("宸插鐞嗙殑鏁版嵁涓嶈兘鍐嶅鐞�");
+    return;
+  }
   nextTick(() => {
     inspectionFormDia.value?.openDialog(type, row)
   })
 };
 
+// 涓嬭浇杩斿伐闄勪欢
+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