From d648788841a802a2f56db5bd657a408b9b229d65 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期三, 25 三月 2026 13:30:47 +0800
Subject: [PATCH] 销售看板

---
 src/views/qualityManagement/rawMaterialInspection/index.vue |  146 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 144 insertions(+), 2 deletions(-)

diff --git a/src/views/qualityManagement/rawMaterialInspection/index.vue b/src/views/qualityManagement/rawMaterialInspection/index.vue
index 03f9df4..ff6662e 100644
--- a/src/views/qualityManagement/rawMaterialInspection/index.vue
+++ b/src/views/qualityManagement/rawMaterialInspection/index.vue
@@ -49,6 +49,10 @@
              @close="handleQuery"></FormDia>
     <files-dia ref="filesDia"
                @close="handleQuery"></files-dia>
+    <DetailDialog ref="detailDialog"
+                  v-model:visible="detailDialogVisible"
+                  :data="detailDialogData"
+                  @close="handleQuery"></DetailDialog>
     <el-dialog v-model="dialogFormVisible"
                title="缂栬緫妫�楠屽憳"
                width="30%"
@@ -93,6 +97,7 @@
   } from "vue";
   import InspectionFormDia from "@/views/qualityManagement/rawMaterialInspection/components/inspectionFormDia.vue";
   import FormDia from "@/views/qualityManagement/rawMaterialInspection/components/formDia.vue";
+  import DetailDialog from "@/views/qualityManagement/rawMaterialInspection/components/detailDialog.vue";
   import { ElMessageBox } from "element-plus";
   import {
     downloadQualityInspect,
@@ -122,7 +127,8 @@
     {
       label: "妫�娴嬫棩鏈�",
       prop: "checkTime",
-      width: 120,
+      width: 150,
+      className: "date-cell",
     },
     {
       label: "渚涘簲鍟�",
@@ -132,6 +138,8 @@
     {
       label: "妫�楠屽憳",
       prop: "checkName",
+      width: 120,
+      className: "inspector-cell",
     },
     {
       label: "浜у搧鍚嶇О",
@@ -155,18 +163,41 @@
     {
       label: "璇曟牱缂栧彿",
       prop: "sampleCode",
+      width: 120,
+
+      className: "volume-cell",
     },
     {
       label: "璇曟牱鐘舵��",
       prop: "sampleState",
+      dataType: "tag",
+      formatType: params => {
+        if (params === "棰楃矑" || params === "鍥轰綋" || params === "鑶忎綋") {
+          return "success";
+        } else {
+          return "info";
+        }
+      },
     },
     {
       label: "妫�娴嬫�ц川",
       prop: "inspectNature",
+      dataType: "tag",
+      formatType: params => {
+        if (params === "鏃ュ父妫�楠�") {
+          return "success";
+        } else if (params === "鍏ュ満楠屾敹") {
+          return "warning";
+        } else {
+          return null;
+        }
+      },
     },
     {
       label: "鍙栨牱鏃ユ湡",
       prop: "sampleTime",
+      width: 150,
+      className: "date-cell",
     },
     {
       label: "妫�娴嬪崟浣�",
@@ -226,6 +257,13 @@
               return row.checkName !== userStore.nickName;
             }
             return false;
+          },
+        },
+        {
+          name: "璇︽儏",
+          type: "text",
+          clickFun: row => {
+            openDetailDialog(row);
           },
         },
         {
@@ -292,6 +330,9 @@
   const formDia = ref();
   const filesDia = ref();
   const inspectionFormDia = ref();
+  const detailDialog = ref();
+  const detailDialogVisible = ref(false);
+  const detailDialogData = ref({});
   const { proxy } = getCurrentInstance();
   const userStore = useUserStore();
   const changeDaterange = value => {
@@ -344,6 +385,20 @@
     nextTick(() => {
       filesDia.value?.openDialog(type, row);
     });
+  };
+
+  // 鎵撳紑璇︽儏寮规
+  const openDetailDialog = row => {
+    // 纭繚qualityInspectParams瀛楁瀛樺湪
+    if (!row.qualityInspectParams) {
+      row.qualityInspectParams = [];
+    }
+    detailDialogData.value = row;
+    detailDialogVisible.value = true;
+    // 鎵撳紑寮圭獥鍚庡姞杞芥寚鏍囨暟鎹�
+    setTimeout(() => {
+      detailDialog.value?.loadIndicatorData();
+    }, 100);
   };
 
   // 鍒犻櫎
@@ -448,7 +503,7 @@
   });
 </script>
 
-<style scoped>
+<style scoped lang="scss">
   .app-container {
     padding: 20px;
     background-color: #f5f7fa;
@@ -517,6 +572,66 @@
 
   :deep(.el-table .el-table__row) {
     transition: background-color 0.3s ease;
+  }
+
+  /* 琛ㄦ牸鍒楁牱寮� */
+  :deep(.date-cell) {
+    font-family: "Courier New", monospace;
+    color: #606266;
+  }
+
+  :deep(.supplier-cell) {
+    font-weight: 500;
+    color: #303133;
+  }
+
+  :deep(.inspector-cell) {
+    color: #409eff;
+  }
+
+  :deep(.product-cell) {
+    font-weight: 500;
+  }
+
+  :deep(.model-cell) {
+    color: #606266;
+  }
+
+  :deep(.unit-cell) {
+    font-size: 12px;
+    color: #909399;
+  }
+
+  :deep(.quantity-cell) {
+    font-family: "Courier New", monospace;
+    font-weight: 500;
+    color: #303133;
+  }
+
+  :deep(.volume-cell) {
+    font-family: "Courier New", monospace;
+    color: #67c23a;
+    font-weight: 500;
+  }
+
+  :deep(.state-cell) {
+    font-weight: 500;
+  }
+
+  :deep(.nature-cell) {
+    color: #606266;
+  }
+
+  :deep(.company-cell) {
+    color: #606266;
+  }
+
+  :deep(.result-cell) {
+    font-weight: 600;
+  }
+
+  :deep(.status-cell) {
+    font-weight: 500;
   }
 
   /* 鎸夐挳鏍峰紡浼樺寲 */
@@ -710,4 +825,31 @@
       font-size: 12px;
     }
   }
+  :deep(.el-table) {
+    .el-table__body-wrapper {
+      .quantity-cell,
+      .volume-cell,
+      .dimension-cell {
+        font-weight: 600;
+        color: #409eff;
+        font-family: "Courier New", monospace;
+        text-shadow: 0 1px 2px rgba(64, 158, 255, 0.2);
+      }
+      .spec-cell {
+        color: #67c23a;
+        font-weight: 500;
+
+        padding: 4px 8px;
+        border-radius: 4px;
+      }
+
+      .code-cell {
+        color: #e6a23c;
+        font-family: "Courier New", monospace;
+        font-weight: 500;
+        padding: 4px 8px;
+        border-radius: 4px;
+      }
+    }
+  }
 </style>

--
Gitblit v1.9.3