From 078f603f7686c274067028bd23032625e6eee3ce Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期三, 12 六月 2024 14:54:48 +0800
Subject: [PATCH] 工厂登录

---
 src/components/FlowChart/src/FlowChart.vue |   90 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 71 insertions(+), 19 deletions(-)

diff --git a/src/components/FlowChart/src/FlowChart.vue b/src/components/FlowChart/src/FlowChart.vue
index 9877602..dde4080 100644
--- a/src/components/FlowChart/src/FlowChart.vue
+++ b/src/components/FlowChart/src/FlowChart.vue
@@ -7,6 +7,8 @@
       @save-data="handleSave"
       @add-data="handleAdd"
       @addlf="handleAddlf"
+      @undo="handleUndo"
+      @redo="handleRedo"
     />
     <div ref="lfElRef" class="h-full"></div>
     <BasicModal @register="register" title="娴佺▼鏁版嵁" width="50%">
@@ -34,6 +36,12 @@
   import customEdge from './customEdge';
   import { useMessage } from '/@/hooks/web/useMessage';
   import { useI18n } from '/@/hooks/web/useI18n';
+  import actionRect from './actionRect';
+  import TestNode from './TestNode';
+  import CollectNode from './CollectNode';
+  import AssemblyNode from './AssemblyNode';
+  import PackingNode from './PackingNode';
+  import RepairNode from './RepairNode';
 
   const { notification } = useMessage();
   const { t } = useI18n();
@@ -60,7 +68,16 @@
         type: Array,
       },
     },
-    emits: ['view-data', 'save-data', 'add-lf'],
+    emits: [
+      'view-data',
+      'save-data',
+      'add-lf',
+      'select-node',
+      'click-blank',
+      'init',
+      'undo',
+      'redo',
+    ],
     setup(props, { emit }) {
       const globSetting = useGlobSetting();
       const lfElRef = ref(null);
@@ -145,6 +162,12 @@
         });
         const lf = unref(lfInstance)!;
         // lf?.setDefaultEdgeType('line');
+        lf.register(actionRect);
+        lf.register(TestNode);
+        lf.register(CollectNode);
+        lf.register(AssemblyNode);
+        lf.register(PackingNode);
+        lf.register(RepairNode);
         onRender();
         lf?.setPatternItems(props.patternItems || configDefaultDndPanel(lf));
       }
@@ -159,31 +182,41 @@
         // const lFData = toLogicFlowData(props.data);
         lf.render(props.data);
 
-        if (globSetting.apiUrl == 'http://localhost:9528/api') {
-          lf.on('anchor:drop', (data) => {
-            const nodeData = data.nodeModel.getData();
-            if (nodeData.properties.isReturn === true) {
-              console.log(11, nodeData.properties.isReturn);
-              data.nodeModel.graphModel.edges.forEach((element) => {
-                if (element.sourceNodeId === data.nodeModel.id) {
-                  lf.changeEdgeType(element.id, 'custom-edge');
-                }
-              });
-            }
-          });
-        }
+        lf.on('anchor:drop', (data) => {
+          const nodeData = data.nodeModel.getData();
+          if (nodeData.properties.isReturn === true) {
+            console.log(11, nodeData.properties.isReturn);
+            data.nodeModel.graphModel.edges.forEach((element) => {
+              if (element.sourceNodeId === data.nodeModel.id) {
+                lf.changeEdgeType(element.id, 'custom-edge');
+              }
+            });
+          }
+        });
         lf.on('node:click,edge:click', (data) => {
           if (data.isSelected) {
             console.log(data.data.text.value, data.isSelected);
-            notification.success({
-              message: t('鐐瑰嚮浜嗚妭鐐�'),
-              description: `${data.data.text.value}: ${data.isSelected}`,
-              duration: 3,
-            });
+            // notification.success({
+            //   message: t('鐐瑰嚮浜嗚妭鐐�'),
+            //   description: `${data.data.text.value}: ${data.isSelected}`,
+            //   duration: 3,
+            // });
+            emit('select-node', data, lf);
           } else {
             console.log(data.data.type);
           }
         });
+
+        lf.on('blank:mousedown', (e) => {
+          emit('click-blank');
+        });
+
+        lf.on('node:dnd-add', (data, e) => {
+          console.log('node:dnd-add', data);
+          emit('select-node', data, lf);
+        });
+
+        emit('init', lf);
       }
 
       function handlePreview() {
@@ -222,6 +255,22 @@
         emit('add-lf', lf);
       }
 
+      function handleUndo() {
+        const lf = unref(lfInstance);
+        if (!lf) {
+          return;
+        }
+        emit('undo', lf);
+      }
+
+      function handleRedo() {
+        const lf = unref(lfInstance);
+        if (!lf) {
+          return;
+        }
+        emit('redo', lf);
+      }
+
       onMounted(init);
 
       return {
@@ -233,7 +282,10 @@
         handleSave,
         handleAdd,
         handleAddlf,
+        handleUndo,
+        handleRedo,
       };
     },
   });
 </script>
+./TestNode

--
Gitblit v1.9.3