From 9cecea613e29bb152bb6ea69a3cca94aa537c621 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 20 五月 2026 14:56:34 +0800
Subject: [PATCH] bom同一层级只能选一样的工序,增加提示

---
 src/views/productionManagement/processRoute/processRouteItem/index.vue |   37 +++++++++++++++++++++++++++++++------
 1 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/src/views/productionManagement/processRoute/processRouteItem/index.vue b/src/views/productionManagement/processRoute/processRouteItem/index.vue
index 92a2fa1..eaf6397 100644
--- a/src/views/productionManagement/processRoute/processRouteItem/index.vue
+++ b/src/views/productionManagement/processRoute/processRouteItem/index.vue
@@ -1166,15 +1166,15 @@
     row.processId = value || "";
     syncProcessOperationFields(row);
     
-    // 鍚屼竴灞傜骇鍙兘閫変竴鏍风殑宸ュ簭
+    // 妫�鏌ュ悓涓�灞傜骇鏄惁宸茬粡鏈夊叾浠栦笉鍚岀殑宸ュ簭琚�変腑
     const siblings = findSiblings(bomDataValue.value.dataList, row.tempId);
     if (siblings && value) {
-      siblings.forEach(sibling => {
-        if (sibling.tempId !== row.tempId) {
-          sibling.processId = value;
-          syncProcessOperationFields(sibling);
-        }
+      const hasDifferentProcess = siblings.some(sibling => {
+        return sibling.tempId !== row.tempId && sibling.processId && sibling.processId !== value;
       });
+      if (hasDifferentProcess) {
+        ElMessage.warning("鍚屼竴灞傜骇宸插瓨鍦ㄤ笉鍚岀殑宸ュ簭锛岃鍏堢粺涓�宸ュ簭鍚庡啀杩涜淇敼");
+      }
     }
   };
 
@@ -1391,10 +1391,35 @@
       }
     };
 
+    // 鏍¢獙鍚屼竴灞傜骇鐨勫伐搴忔槸鍚︿竴鑷�
+    const validateProcessConsistency = (items) => {
+      if (!items || items.length === 0) return;
+
+      // 妫�鏌ュ綋鍓嶅眰绾�
+      const processes = items.filter(item => item.processId).map(item => item.processId);
+      if (processes.length > 1) {
+        const uniqueProcesses = [...new Set(processes)];
+        if (uniqueProcesses.length > 1) {
+          ElMessage.error("鍚屼竴灞傜骇鐨勫伐搴忓繀椤讳竴鑷�");
+          isValid = false;
+          return;
+        }
+      }
+
+      // 閫掑綊妫�鏌ュ瓙绾�
+      items.forEach(item => {
+        if (item.children && item.children.length > 0) {
+          validateProcessConsistency(item.children);
+        }
+      });
+    };
+
     bomDataValue.value.dataList.forEach(item => {
       validateItem(item, true);
     });
 
+    validateProcessConsistency(bomDataValue.value.dataList);
+
     return isValid;
   };
 

--
Gitblit v1.9.3