From bfdfeb40c7ba97511584a30477acf5ad801398ba Mon Sep 17 00:00:00 2001
From: YangYuGang <1378265336@qq.com>
Date: 星期二, 11 三月 2025 11:26:34 +0800
Subject: [PATCH] 一些更改

---
 src/views/tigerprojects/mes/eng/route/index.vue |   69 ++++++++++++++++++++++++++--------
 1 files changed, 52 insertions(+), 17 deletions(-)

diff --git a/src/views/tigerprojects/mes/eng/route/index.vue b/src/views/tigerprojects/mes/eng/route/index.vue
index 2d0e03c..3d8a93c 100644
--- a/src/views/tigerprojects/mes/eng/route/index.vue
+++ b/src/views/tigerprojects/mes/eng/route/index.vue
@@ -9,6 +9,7 @@
           @select-node="handleSelect"
           @click-blank="clickBlank"
           @anchor-drop="AnchorDrop"
+          @anchor-dragend="AnchorDragend"
           @init="init"
         />
       </LayoutContent>
@@ -231,7 +232,7 @@
         AUTH_WH: '',
         WORK_ORDER: currRoute.value.WORK_ORDER,
         PROD_CODE: currRoute.value.PROD_CODE,
-        CUST_CODE: currRoute.value.CUST_CODE,
+        CUST_CODE: '',
       },
       nodes: [],
       edges: [],
@@ -358,6 +359,8 @@
             if (unref(lf).getNodeIncomingNode(n.id).length == 0) {
               node.IS_FIRST_NODE = 'Y';
               nd.IS_FIRST_NODE = 'Y';
+              node.IS_INPUT = 'Y';
+              nd.IS_INPUT = 'Y';
             }
             currRotData.nodes.push(node);
           }
@@ -424,20 +427,34 @@
       });
     } else {
       var hasError = false;
+      let msg = '';
       unref(lf)
         .getGraphData()
         .nodes.forEach((n) => {
+          /* 鍒ゆ柇鏄惁鏈塏ode鏈繛鎺� */
           if (
             unref(lf).getNodeIncomingEdge(n.id).length == 0 &&
             unref(lf).getNodeOutgoingEdge(n.id).length == 0
           ) {
             hasError = true;
+            msg = '鏈夎妭鐐规湭杩炵嚎锛岃閲嶆柊璁捐宸ヨ壓璺嚎鍐嶄繚瀛樻暟鎹紒';
+          }
+          if (
+            unref(lf)
+              .getNodeOutgoingNode(n.id)
+              .some((q) => q.properties.operType == 'End') &&
+            unref(lf)
+              .getNodeOutgoingNode(n.id)
+              .some((q) => q.properties.operType != 'End' && q.properties.operType != 'Action')
+          ) {
+            hasError = true;
+            msg = '瀹屽伐鑺傜偣涓嶆槸鍞竴鐨勬渶鍚庤妭鐐癸紝璇烽噸鏂拌璁″伐鑹鸿矾绾垮啀淇濆瓨鏁版嵁锛�';
           }
         });
       if (hasError) {
         createErrorModal({
           title: t('璀﹀憡'),
-          content: t('鏈夎妭鐐规湭杩炵嚎锛岃閲嶆柊璁捐宸ヨ壓璺嚎鍐嶄繚瀛樻暟鎹紒'),
+          content: t(msg),
           getContainer: () => document.body,
         });
       } else {
@@ -472,7 +489,7 @@
   function handleSelect(data, lf) {
     lf.graphModel.clearSelectElements();
     lf.graphModel.getNodeModelById(data.data.id).setSelected(true);
-    let nnn = lf.graphModel.getNodeIncomingNode(data.data.id)
+    let nnn = lf.graphModel.getNodeIncomingNode(data.data.id);
     selectnode.value = data.data;
     if (
       unref(lf)
@@ -544,7 +561,7 @@
           node: {} as node,
           WORK_ORDER: currRoute.value.WORK_ORDER,
           PROD_CODE: currRoute.value.PROD_CODE,
-          CUST_CODE: currRoute.value.CUST_CODE,
+          CUST_CODE: '',
         };
         routeConfig.routeData.nodes.push(_node);
         _num++;
@@ -596,7 +613,7 @@
             node: {} as node,
             WORK_ORDER: currRoute.value.WORK_ORDER,
             PROD_CODE: currRoute.value.PROD_CODE,
-            CUST_CODE: currRoute.value.CUST_CODE,
+            CUST_CODE: '',
           };
           routeConfig.routeData.acts.push(_act);
           _numEdge++;
@@ -637,7 +654,7 @@
           node: {} as node,
           WORK_ORDER: currRoute.value.WORK_ORDER,
           PROD_CODE: currRoute.value.PROD_CODE,
-          CUST_CODE: currRoute.value.CUST_CODE,
+          CUST_CODE: '',
         };
         const actModel = lf.getNodeModelById(selectnode.value.id);
         actModel.updateText(routeConfig.currentAct?.ACT_NAME);
@@ -672,7 +689,7 @@
           REMARK: _node.REMARK,
           WORK_ORDER: currRoute.value.WORK_ORDER,
           PROD_CODE: currRoute.value.PROD_CODE,
-          CUST_CODE: currRoute.value.CUST_CODE,
+          CUST_CODE: '',
           node: {} as node,
         };
         const nodeModel = lf.getNodeModelById(selectnode.value.id);
@@ -705,25 +722,43 @@
    * @return {*}
    */
   function AnchorDrop(data, lf) {
-    if (data.nodeModel.properties['operType'] == 'Action') {
-      lf.graphModel.deleteEdgeById(data.edgeModel.id);
-      createErrorModal({
-        title: t('璀﹀憡'),
-        content: t('琛屼负鑺傜偣涓嶈兘杩炴帴瀹屽伐鑺傜偣锛�'),
-        getContainer: () => document.body,
-      });
-    } else {
-      if (unref(lf).getNodeIncomingNode(data.nodeModel.id).length == 0) {
+    let targetNode = lf.graphModel.getNodeModelById(data.edgeModel.targetNodeId);
+    if (targetNode.properties['operType'] == 'End') {
+      if (data.nodeModel.properties['operType'] == 'Action') {
         lf.graphModel.deleteEdgeById(data.edgeModel.id);
         createErrorModal({
           title: t('璀﹀憡'),
-          content: t('寮�濮嬭妭鐐逛笉鑳界洿鎺ヨ繛鎺ュ畬宸ヨ妭鐐癸紒'),
+          content: t('琛屼负鑺傜偣涓嶈兘杩炴帴瀹屽伐鑺傜偣锛�'),
           getContainer: () => document.body,
         });
+      } else {
+        if (
+          unref(lf).getNodeIncomingNode(data.nodeModel.id).length == 0 &&
+          unref(lf)
+            .getNodeOutgoingNode(data.nodeModel.id)
+            .some((q) => q.properties.operType == 'Node')
+        ) {
+          lf.graphModel.deleteEdgeById(data.edgeModel.id);
+          createErrorModal({
+            title: t('璀﹀憡'),
+            content: t('寮�濮嬭妭鐐逛笉鑳界洿鎺ヨ繛鎺ュ畬宸ヨ妭鐐癸紒'),
+            getContainer: () => document.body,
+          });
+        }
       }
     }
   }
 
+  /**
+   * @description: 閿氱偣杩炵嚎缁撴潫锛屼笉绠℃槸鍚﹀垱寤鸿繛绾块兘浼氳Е鍙戙��
+   * @param {*} data
+   * @param {*} e
+   * @param {*} nodeModel
+   * @param {*} lf
+   * @return {*}
+   */
+  function AnchorDragend(data, e, nodeModel, lf) {}
+
   /*
    *鐐瑰嚮鐢诲竷浜嬩欢
    */

--
Gitblit v1.9.3