From 1e41a759d4b0ee5b6072e5bd45d9938591f90bc9 Mon Sep 17 00:00:00 2001
From: Cloud Zhang <941187371@qq.com>
Date: 星期三, 22 五月 2024 20:21:06 +0800
Subject: [PATCH] 侧边框优化

---
 src/components/FlowChart/src/FlowChart.vue |   51 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/src/components/FlowChart/src/FlowChart.vue b/src/components/FlowChart/src/FlowChart.vue
index 8b4f524..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%">
@@ -35,6 +37,11 @@
   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();
@@ -61,7 +68,16 @@
         type: Array,
       },
     },
-    emits: ['view-data', 'save-data', 'add-lf', 'select-node', 'click-blank'],
+    emits: [
+      'view-data',
+      'save-data',
+      'add-lf',
+      'select-node',
+      'click-blank',
+      'init',
+      'undo',
+      'redo',
+    ],
     setup(props, { emit }) {
       const globSetting = useGlobSetting();
       const lfElRef = ref(null);
@@ -147,6 +163,11 @@
         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));
       }
@@ -180,7 +201,7 @@
             //   description: `${data.data.text.value}: ${data.isSelected}`,
             //   duration: 3,
             // });
-            emit('select-node', data);
+            emit('select-node', data, lf);
           } else {
             console.log(data.data.type);
           }
@@ -189,6 +210,13 @@
         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() {
@@ -227,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 {
@@ -238,7 +282,10 @@
         handleSave,
         handleAdd,
         handleAddlf,
+        handleUndo,
+        handleRedo,
       };
     },
   });
 </script>
+./TestNode

--
Gitblit v1.9.3