From 1c631b345aae30bb6aa7e9dc8d856a0f40d5f1e3 Mon Sep 17 00:00:00 2001
From: liulijun <liulijun@hnkhzn.com>
Date: 星期五, 20 三月 2026 10:49:08 +0800
Subject: [PATCH] 修复货位平面图锁定状态的显示

---
 项目代码/WMS/WMSClient/src/views/outbound/outSGOrder.vue |  114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 108 insertions(+), 6 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/outbound/outSGOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/outbound/outSGOrder.vue"
index b8d9f4c..b43a08a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/outbound/outSGOrder.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/outbound/outSGOrder.vue"
@@ -93,9 +93,16 @@
       },
       {
         field: "orderId",
-        title: "涓婃父鐢熶骇鍗曞彿",
+        title: "鎺掔▼鍙�",
         type: "string",
         width: 160,
+        align: "left",
+      },
+      {
+        field: "number",
+        title: "鐢ㄧ焊搴忓彿",
+        type: "string",
+        width: 90,
         align: "left",
       },
       {
@@ -108,10 +115,21 @@
       {
         field: "outSGOrderStatus",
         title: "鍑哄簱鍗曠姸鎬�",
-        type: "string",
+        type: "tag",
         width: 110,
         align: "left",
         bind: { key: "outboundStatusEnum", data: [] },
+        getColor: (row) => {
+          const status = row.outSGOrderStatus;
+          if (status === 3) { // 缂烘枡
+            return 'danger'; // 绾㈣壊
+          } else if (status === 0) { // 鏈紑濮�
+            return 'success'; // 缁胯壊
+          } else if (status === 1) { // 鍑哄簱涓�
+            return 'primary'; // 钃濊壊
+          }
+          return ''; // 榛樿鏃犻鑹�
+        }
       },
       {
         field: "createDate",
@@ -121,11 +139,83 @@
         align: "left",
       },
       {
-        field: "materialNoWidth",
-        title: "鐗╂枡缂栧彿锛堝箙瀹斤級",
+        field: "materialNos",
+        title: "鐗╂枡缂栧彿",
         type: "string",
         width: 160,
         align: "left",
+        formatter: (row) => {
+          const materialNos = row.materialNos;
+          if (!materialNos) return materialNos;
+
+          // 澶勭悊鐗╂枡缂栧彿锛屾牴鎹瘡涓墿鏂欑殑瀹為檯鐘舵�佹樉绀洪鑹�
+          const materialList = materialNos.split('/');
+          let formattedMaterials = [];
+
+          // 濡傛灉鏈夌墿鏂欑己鏂欑姸鎬佸瓧绗︿覆锛屾牴鎹瘡涓墿鏂欑殑鐘舵�佹樉绀洪鑹�
+          if (row.materialLackStatus) {
+            // 瑙f瀽鐗╂枡缂烘枡鐘舵�佸瓧绗︿覆锛氱墿鏂欑紪鍙�:鐘舵��,鐗╂枡缂栧彿:鐘舵��
+            const statusPairs = row.materialLackStatus.split(',');
+            // 鑾峰彇鎵�鏈夌墿鏂欑殑缂烘枡鐘舵�佸垪琛紝淇濇寔鍘熷椤哄簭
+            const lackStatusList = statusPairs.map(pair => {
+              const [, isLack] = pair.split(':');
+              return isLack.trim() === 'true';
+            });
+
+            // 涓烘瘡涓墿鏂欑紪鍙疯缃鑹诧紝淇濇寔鍘熷椤哄簭
+            formattedMaterials = materialList.map((materialNo, index) => {
+              const trimmedMaterialNo = materialNo.trim();
+              const isLack = lackStatusList[index] || false;
+              if (isLack) {
+                return `<span style="color: red;">${trimmedMaterialNo}</span>`;
+              }
+              return trimmedMaterialNo;
+            });
+          } else {
+            // 濡傛灉娌℃湁鐗╂枡缂烘枡鐘舵�佷俊鎭紝浣跨敤璁㈠崟绾у埆鐨勭己鏂欑姸鎬�
+            const isLack = Boolean(row.isLackMaterial);
+            if (isLack) {
+              return `<span style="color: red;">${materialNos}</span>`;
+            }
+            formattedMaterials = materialList;
+          }
+
+          return formattedMaterials.join('/');
+        }
+      },
+      {
+        field: "materialWides",
+        title: "骞呭",
+        type: "string",
+        width: 100,
+        align: "left",
+        formatter: (row) => {
+          const value = row.materialWides;
+          if (value && typeof value === 'string') {
+            return value.replace(/\.\d+$/, '');
+          }
+          return value;
+        }
+      },
+      {
+        field: "boardFluteNos",
+        title: "妤炲埆",
+        type: "string",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "isLackMaterial",
+        title: "鏄惁缂烘枡",
+        type: "string",
+        width: 100,
+        align: "center",
+        formatter: (row) => {
+          const isLack = Boolean(row.isLackMaterial);
+          const text = isLack ? "鏄�" : "鍚�";
+          const bgColor = isLack ? '#ff4d4f' : '#52c41a';
+          return `<div style="background-color: ${bgColor}; color: #ffffff; text-align: center; font-weight: bold; width: 100%; height: 100%; padding: 10px 0; display: flex; justify-content: center; align-items: center;">${text}</div>`;
+        }
       },
     ]);
     const detail = ref({
@@ -206,6 +296,7 @@
           align: "left",
           edit: { type: "string" },
           required: true,
+
         },
         {
           field: "xqLen",
@@ -247,12 +338,23 @@
           align: "left",
         },
         {
-          field: "outBSTOrderDetailStatus",
+          field: "outSGOrderDetailStatus",
           title: "璁㈠崟鏄庣粏鐘舵��",
-          type: "string",
+          type: "tag",
           width: 180,
           align: "left",
           bind: { key: "outboundStatusEnum", data: [] },
+          getColor: (row) => {
+            const status = row.outSGOrderDetailStatus;
+            if (status === 3) { // 缂烘枡
+              return 'danger'; // 绾㈣壊
+            } else if (status === 0) { // 鏈紑濮�
+              return 'success'; // 缁胯壊
+            } else if (status === 1) { // 鍑哄簱涓�
+              return 'primary'; // 钃濊壊
+            }
+            return ''; // 榛樿鏃犻鑹�
+          }
         },
         {
           field: "createDate",

--
Gitblit v1.9.3