From 65193cc9b4e27aad36a65eca447e6c62f6ee037f Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期五, 17 四月 2026 15:25:07 +0800
Subject: [PATCH] 不合格管理:重构详情展示与操作按钮

---
 src/views/qualityManagement/nonconformingManagement/index.vue |   69 ++++++++++++++++++++++++++++------
 1 files changed, 57 insertions(+), 12 deletions(-)

diff --git a/src/views/qualityManagement/nonconformingManagement/index.vue b/src/views/qualityManagement/nonconformingManagement/index.vue
index 169a2f3..132921a 100644
--- a/src/views/qualityManagement/nonconformingManagement/index.vue
+++ b/src/views/qualityManagement/nonconformingManagement/index.vue
@@ -1,3 +1,4 @@
+// 涓嶅悎鏍肩鐞�
 <template>
   <div class="app-container">
     <div class="search_form">
@@ -51,8 +52,10 @@
           :tableLoading="tableLoading"
           @pagination="pagination"
           :total="page.total"
-      ></PIMTable>
+      >
+      </PIMTable>
     </div>
+    <DetailDia ref="detailDiaRef" />
     <FormDia ref="formDia" @close="handleQuery"></FormDia>
     <InspectionFormDia ref="inspectionFormDia" @close="handleQuery"></InspectionFormDia>
   </div>
@@ -60,11 +63,12 @@
 
 <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 InspectionFormDia from "@/views/qualityManagement/nonconformingManagement/components/inspectionFormDia.vue";
+import DetailDia from "@/views/qualityManagement/nonconformingManagement/components/detailDia.vue";
 import dayjs from "dayjs";
 
 const data = reactive({
@@ -72,12 +76,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);
@@ -176,17 +177,39 @@
     width: 120
   },
   {
+    label: "鍘熷洜鍒嗘瀽",
+    prop: "reasonAnalysis",
+    slot: "reasonAnalysis",
+    width: 120
+  },
+  {
+    label: "棰勯槻涓庣籂姝f帾鏂�",
+    prop: "preventiveCorrective",
+    slot: "preventiveCorrective",
+    width: 120
+  },
+  {
+    label: "宸ユ椂鎹熷け",
+    prop: "lossWorking",
+    width: 140
+  },
+  {
+    label: "鏉愭枡璐规崯澶�",
+    prop: "lossMaterial",
+    width: 140
+  },
+  {
     dataType: "action",
     label: "鎿嶄綔",
     align: "center",
     fixed: "right",
-    width: 120,
+    width: 140,
     operation: [
       {
-        name: "缂栬緫",
+        name: "璇︽儏",
         type: "text",
         clickFun: (row) => {
-          openForm("edit", row);
+          openDetailDialog(row);
         },
       },
       {
@@ -195,6 +218,7 @@
         clickFun: (row) => {
           openInspectionForm("edit", row);
         },
+        disabled: (row) => row.inspectState === 1,
       },
     ],
   },
@@ -209,6 +233,7 @@
 });
 const formDia = ref()
 const inspectionFormDia = ref()
+const detailDiaRef = ref()
 const { proxy } = getCurrentInstance()
 
 const changeDaterange = (value) => {
@@ -250,15 +275,27 @@
 
 // 鎵撳紑寮规
 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 openDetailDialog = (row) => {
+  detailDiaRef.value?.openDialog(row);
 };
 
 // 鍒犻櫎
@@ -304,4 +341,12 @@
 });
 </script>
 
-<style scoped></style>
+<style scoped>
+.text-ellipsis {
+  display: inline-block;
+  width: 100%;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+</style>

--
Gitblit v1.9.3