From 8ae47d0d5f14f5e2f561ef8030794e1dd1878d18 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期一, 16 三月 2026 18:00:57 +0800
Subject: [PATCH] 来料样式修改,工艺路线接口对接

---
 src/views/productionManagement/processRoute/index.vue       |   59 +++++++++-----
 src/components/PIMTable/PIMTable.vue                        |    5 +
 src/views/qualityManagement/rawMaterialInspection/index.vue |  117 ++++++++++++++++++++++++++++
 3 files changed, 156 insertions(+), 25 deletions(-)

diff --git a/src/components/PIMTable/PIMTable.vue b/src/components/PIMTable/PIMTable.vue
index f83bc0a..629e972 100644
--- a/src/components/PIMTable/PIMTable.vue
+++ b/src/components/PIMTable/PIMTable.vue
@@ -41,7 +41,8 @@
                      :align="item.align"
                      :sortable="!!item.sortable"
                      :type="item.type"
-                     :width="item.width">
+                     :width="item.width"
+                     :class-name="item.className || ''">
       <template #header="scope">
         <div class="pim-table-header-cell">
           <div class="pim-table-header-title">
@@ -171,6 +172,7 @@
         <!-- 鍙偣鍑荤殑鏂囧瓧 -->
         <div v-else-if="item.dataType == 'link'"
              class="cell link"
+             :class="item.className || ''"
              style="width: 100%"
              @click="goLink(scope.row, item.linkMethod)">
           <span v-if="!item.formatData">{{ scope.row[item.prop] }}</span>
@@ -178,6 +180,7 @@
         <!-- 榛樿绾睍绀烘暟鎹� -->
         <div v-else
              class="cell"
+             :class="item.className || ''"
              style="width: 100%">
           <span v-if="!item.formatData">{{ scope.row[item.prop] }}</span>
           <span v-else>{{
diff --git a/src/views/productionManagement/processRoute/index.vue b/src/views/productionManagement/processRoute/index.vue
index 30475fd..40ab129 100644
--- a/src/views/productionManagement/processRoute/index.vue
+++ b/src/views/productionManagement/processRoute/index.vue
@@ -171,9 +171,9 @@
                           {{ param.parameterType }}
                         </el-tag> -->
                         <span v-if="param.valueMode==1"
-                              class="param-value">鏍囧噯鍊硷細{{ param.standardValue }} {{ param.unit }}</span>
+                              class="param-value">鏍囧噯鍊硷細{{ param.standardValue || "-" }} {{ param.unit }}</span>
                         <span v-else
-                              class="param-value">鏍囧噯鍊硷細{{ param.minValue }}-{{ param.maxValue }} {{ param.unit }}</span>
+                              class="param-value">鏍囧噯鍊硷細{{ param.minValue || "-" }}-{{ param.maxValue || "-" }} {{ param.unit }}</span>
                       </div>
                       <div class="param-actions">
                         <el-button link
@@ -607,19 +607,19 @@
               <span class="detail-text">{{ selectedParam.unit || '-' }}</span>
             </el-form-item>
             <el-form-item label="鏍囧噯鍊�"
-                          v-if="selectedParam.valueMode == '1'">
+                          v-if="selectedParam.valueMode == '1' && selectedParam.paramType == '1'">
               <el-input v-model="selectedParam.standardValue"
                         type="number"
                         placeholder="璇疯緭鍏ラ粯璁ゅ��" />
             </el-form-item>
             <el-form-item label="鏈�灏忓��"
-                          v-if="selectedParam.valueMode == '2'">
+                          v-if="selectedParam.valueMode == '2' && selectedParam.paramType == '1'">
               <el-input v-model="selectedParam.minValue"
                         type="number"
                         placeholder="璇疯緭鍏ユ渶灏忓��" />
             </el-form-item>
             <el-form-item label="鏈�澶у��"
-                          v-if="selectedParam.valueMode == '2'">
+                          v-if="selectedParam.valueMode == '2' && selectedParam.paramType == '1'">
               <el-input v-model="selectedParam.maxValue"
                         type="number"
                         placeholder="璇疯緭鍏ユ渶澶у��" />
@@ -665,22 +665,34 @@
             {{ editParamForm.valueMode == '1' ? '鍗曞��' : '鍖洪棿' }}
           </el-tag>
         </el-form-item>
+        <el-form-item label="鍙傛暟绫诲瀷">
+          <el-tag size="small"
+                  :type="getParamTypeTag(editParamForm.paramType)">
+            {{ getParamTypeText(editParamForm.paramType) }}
+          </el-tag>
+        </el-form-item>
+        <el-form-item label="鍙傛暟鏍煎紡">
+          <span class="detail-text">{{ editParamForm.paramFormat || '-' }}</span>
+        </el-form-item>
+        <el-form-item label="鍗曚綅">
+          <span class="detail-text">{{ editParamForm.unit || '-' }}</span>
+        </el-form-item>
         <el-form-item label="鏍囧噯鍊�"
-                      v-if="editParamForm.valueMode == '1'"
+                      v-if="editParamForm.valueMode == '1' && editParamForm.paramType == '1'"
                       prop="standardValue">
           <el-input v-model="editParamForm.standardValue"
                     type="number"
                     placeholder="璇疯緭鍏ユ爣鍑嗗��" />
         </el-form-item>
         <el-form-item label="鏈�灏忓��"
-                      v-if="editParamForm.valueMode == '2'"
+                      v-if="editParamForm.valueMode == '2' && editParamForm.paramType == '1'"
                       prop="minValue">
           <el-input v-model="editParamForm.minValue"
                     type="number"
                     placeholder="璇疯緭鍏ユ渶灏忓��" />
         </el-form-item>
         <el-form-item label="鏈�澶у��"
-                      v-if="editParamForm.valueMode == '2'"
+                      v-if="editParamForm.valueMode == '2' && editParamForm.paramType == '1'"
                       prop="maxValue">
           <el-input v-model="editParamForm.maxValue"
                     type="number"
@@ -1466,6 +1478,9 @@
     editParamForm.maxValue = param.maxValue;
     editParamForm.sort = param.sort || 1;
     editParamForm.isRequired = param.isRequired || 0;
+    editParamForm.paramType = param.parameterType || param.paramType;
+    editParamForm.paramFormat = param.parameterFormat || param.paramFormat;
+    editParamForm.unit = param.unit || param.unit;
     editParamDialogVisible.value = true;
   };
 
@@ -1515,10 +1530,6 @@
       2: "info",
       3: "warning",
       4: "success",
-      鏁板�兼牸寮�: "primary",
-      鏂囨湰鏍煎紡: "info",
-      涓嬫媺閫夐」: "warning",
-      鏃堕棿鏍煎紡: "success",
     };
     return typeMap[type] || "default";
   };
@@ -1529,10 +1540,6 @@
       2: "鏂囨湰鏍煎紡",
       3: "涓嬫媺閫夐」",
       4: "鏃堕棿鏍煎紡",
-      鏁板�兼牸寮�: "鏁板�兼牸寮�",
-      鏂囨湰鏍煎紡: "鏂囨湰鏍煎紡",
-      涓嬫媺閫夐」: "涓嬫媺閫夐」",
-      鏃堕棿鏍煎紡: "鏃堕棿鏍煎紡",
     };
     return typeMap[type] || "鏈煡鍙傛暟绫诲瀷";
   };
@@ -1627,13 +1634,18 @@
       //   return;
       // }
 
+      // 鍒ゆ柇鍙傛暟绫诲瀷锛屽彧鏈夋暟鍊肩被鍨嬫墠浼犳爣鍑嗗�笺�佹渶澶у�煎拰鏈�灏忓��
+      const isNumericMode = selectedParam.value.valueMode === 1;
+
       // 璋冪敤API鏂板鍙傛暟
       addProcessRouteItemParam({
         routeItemId: process.id,
         paramId: selectedParam.value.id,
-        standardValue: selectedParam.value.standardValue || "",
-        minValue: selectedParam.value.minValue || 0,
-        maxValue: selectedParam.value.maxValue || 0,
+        standardValue: isNumericMode
+          ? selectedParam.value.standardValue || ""
+          : "",
+        minValue: isNumericMode ? selectedParam.value.minValue || 0 : null,
+        maxValue: isNumericMode ? selectedParam.value.maxValue || 0 : null,
         isRequired: selectedParam.value.isRequired || 0,
       })
         .then(res => {
@@ -1652,14 +1664,17 @@
   const handleEditParamSubmit = () => {
     editParamFormRef.value.validate(valid => {
       if (valid) {
+        // 鍒ゆ柇鍙傛暟绫诲瀷锛屽彧鏈夋暟鍊肩被鍨嬫墠浼犳爣鍑嗗�笺�佹渶澶у�煎拰鏈�灏忓��
+        const isNumericMode = editParamForm.valueMode == 1;
+
         // 璋冪敤API淇敼鍙傛暟
         editProcessRouteItemParam({
           id: editParamForm.id,
           routeItemId: currentProcessId.value,
           paramId: editParamForm.paramId,
-          standardValue: editParamForm.standardValue || "",
-          minValue: editParamForm.minValue || 0,
-          maxValue: editParamForm.maxValue || 0,
+          standardValue: isNumericMode ? editParamForm.standardValue || "" : "",
+          minValue: isNumericMode ? editParamForm.minValue || 0 : null,
+          maxValue: isNumericMode ? editParamForm.maxValue || 0 : null,
           isRequired: editParamForm.isRequired || 0,
         })
           .then(res => {
diff --git a/src/views/qualityManagement/rawMaterialInspection/index.vue b/src/views/qualityManagement/rawMaterialInspection/index.vue
index 03f9df4..a673c15 100644
--- a/src/views/qualityManagement/rawMaterialInspection/index.vue
+++ b/src/views/qualityManagement/rawMaterialInspection/index.vue
@@ -122,7 +122,8 @@
     {
       label: "妫�娴嬫棩鏈�",
       prop: "checkTime",
-      width: 120,
+      width: 150,
+      className: "date-cell",
     },
     {
       label: "渚涘簲鍟�",
@@ -132,6 +133,8 @@
     {
       label: "妫�楠屽憳",
       prop: "checkName",
+      width: 120,
+      className: "inspector-cell",
     },
     {
       label: "浜у搧鍚嶇О",
@@ -155,18 +158,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: "妫�娴嬪崟浣�",
@@ -448,7 +474,7 @@
   });
 </script>
 
-<style scoped>
+<style scoped lang="scss">
   .app-container {
     padding: 20px;
     background-color: #f5f7fa;
@@ -517,6 +543,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 +796,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