From ccebd227e4f3bfaab7a27c5b8dcc55b642a4006b Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期三, 21 八月 2024 10:22:22 +0800
Subject: [PATCH] 工艺路线更新

---
 src/views/tigerprojects/mes/eng/route/index.vue |  294 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 218 insertions(+), 76 deletions(-)

diff --git a/src/views/tigerprojects/mes/eng/route/index.vue b/src/views/tigerprojects/mes/eng/route/index.vue
index 27d22f0..36db057 100644
--- a/src/views/tigerprojects/mes/eng/route/index.vue
+++ b/src/views/tigerprojects/mes/eng/route/index.vue
@@ -16,17 +16,20 @@
         collapsible
         :reverseArrow="true"
         collapsedWidth="0"
-        width="300"
-        style="background: #fafafa; border-left: 1px solid #d9d9d9; padding: 10px"
+        width="400"
+        style="padding: 10px; border-left: 1px solid #d9d9d9; background: #fafafa"
         :zeroWidthTriggerStyle="{ 'margin-top': '-70px', 'background-color': 'gray' }"
       >
-        <PropsPanel ref="propsPanel" 
-          :activeKey="routeConfig.activeKey" 
-          :IsOperation="IsOperation" 
+        <PropsPanel
+          ref="propsPanel"
+          :activeKey="routeConfig.activeKey"
+          :IsOperation="IsOperation"
           :title="title"
-          :colSlots="colSlots"
-          :crudColSlots="crudColSlots"
-          :entityName="entityName">
+          :posttitle="posttitle"
+          :entityName="entityName"
+          @change-name="changeName"
+          @change-node-name="changeNodeName"
+        >
           <!-- <template v-for="item of formConfig.schemas" #[`${item.component}Props`]="data">
             <slot
               :name="`${item.component}Props`"
@@ -41,10 +44,15 @@
   </PageWrapper>
 </template>
 
-<script lang="ts" setup name="Route_View">
+<script lang="ts" setup>
   import { FlowChart } from '/@/components/FlowChart';
   import { PageWrapper } from '/@/components/Page';
-  import { SaveRouteData, getRouteData } from '/@/api/tigerapi/mes/router';
+  import {
+    SaveRouteData,
+    SaveWoRouteData,
+    getRouteData,
+    getWoRouteData,
+  } from '/@/api/tigerapi/mes/router';
   import { useModal } from '/@/components/Modal';
   import RouteModal from './RouteModal.vue';
   import { onMounted, ref, unref, Ref, provide, reactive, nextTick, watch } from 'vue';
@@ -57,6 +65,7 @@
     MES_ROUTE_EDGE,
     MES_ROUTE_NODE_ACT,
     MES_ROUTE,
+    nodeText,
   } from '/@/api/tigerapi/model/router';
   import { useUserStore } from '/@/store/modules/user';
   import RouteDrawer from './RouteDrawer.vue';
@@ -69,15 +78,16 @@
   import { useRoute } from 'vue-router';
   import { useTabs } from '/@/hooks/web/useTabs';
   import LogicFlow from '@logicflow/core';
-import { getEntity } from '/@/api/tigerapi/system';
 
+  defineOptions({ name: 'Route_View' });
+  const { refreshPage } = useTabs();
   const [registerDrawer, { openDrawer }] = useDrawer();
   const [registerModal, { openModal }] = useModal();
   const { t } = useI18n();
   const route = useRoute();
   const { setTitle } = useTabs();
   const { notification, createErrorModal } = useMessage();
-  const routeConfig = reactive({
+  const routeConfig = reactive<IRouteConfig>({
     // 琛ㄥ崟閰嶇疆
     schemas: [],
     layout: 'horizontal',
@@ -89,29 +99,38 @@
     currentAct: {} as MES_ROUTE_NODE_ACT,
     routeData: {} as RouteData,
     activeKey: 1,
-  } as IRouteConfig);
+    isWorkOrder: false,
+  });
   const currRoute = ref({} as MES_ROUTE);
   const routeData = ref({
     nodes: [],
     edges: [],
   });
-  provide<Ref<IRouteConfig>>('routeConfig', routeConfig);
+  provide<Ref<IRouteConfig>>('routeConfig', routeConfig as unknown as Ref<IRouteConfig>);
   provide<Ref<MES_ROUTE>>('mesRoute', currRoute);
   const selectnode = ref({} as node);
   const currRotId = ref(route.params?.id);
+  const prodCode = ref('');
+  const custCode = ref('');
   const colSlots = ref<any>([]);
   const crudColSlots = ref<any>([]);
   const entityName = ref<any>('MES_POSITION');
   const props = defineProps({
     rotId: { type: String, default: '' },
+    rotType: { type: String, default: 'Route' },
+    prodCode: { type: String, default: '' },
+    custCode: { type: String, default: '' },
   });
   const IsOperation = ref(false);
-  const title = ref('琛屼负');
+  const title = ref('');
+  const posttitle = ref('');
+  let _num = 1;
+  let _numEdge = 1;
   watch(
-    () => props.rotId,
+    [() => props.rotId,()=> props.prodCode, () => props.custCode],
     (v) => {
-      if (v !== currRotId.value) {
-        currRotId.value = v;
+      if (!isNullOrEmpty(v[0]) && v[0] !== currRotId.value) {
+        currRotId.value = v[0];
         if (!isNullOrUnDef(unref(currlf))) {
           unref(currlf).render({});
           routeData.value = {
@@ -121,38 +140,33 @@
           init(currlf);
         }
       }
+      if (!isNullOrEmpty(v[1]) && v[1] !== prodCode.value) {
+        prodCode.value = v[1];
+      }
+      if (!isNullOrEmpty(v[2]) && v[2] !== custCode.value) {
+        custCode.value = v[2];
+      }
     },
     { deep: true },
   );
-  
+
   const currlf = ref(null) as Ref<LogicFlow | null>;
   console.log(currRotId.value);
 
-  onMounted(() => {
-    getEntity({
-            sqlcmd: `ASSEMBLY_NAME ='MES_POSITION'`,
-            entityName: 'SYS_LOW_CODE',
-          }).then((data) => {
-            var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON);
-            for (const i in searchForms) {
-              if(!isNullOrUnDef(searchForms[i]['colSlot'])){
-                colSlots.value.push('form-'+searchForms[i]['colSlot']);
-              }
-            }
-
-            var _cruds = JSON.parse(data.Data.Items[0].FORM_JSON);
-            for (const i in _cruds) {
-              if(!isNullOrUnDef(_cruds[i]['colSlot'])){
-                crudColSlots.value.push(_cruds[i]['colSlot']);
-              }
-            }
-            entityName.value = 'MES_POSITION';
-          });
-  });
+  onMounted(() => {});
+  /**
+   * @description: 宸ヨ壓璺嚎鍒濆鍖�
+   * @param {*} lf
+   * @return {*}
+   */
   async function init(lf) {
     currlf.value = unref(lf);
     //閫氳繃宸ヨ壓璺嚎ID鑾峰彇鍥惧舰鏁版嵁锛屽苟娓叉煋
-    var _data = await getRouteData(currRotId.value);
+    routeConfig.isWorkOrder = props.rotType == 'Wo';
+    var _data =
+      props.rotType == 'Route'
+        ? await getRouteData(currRotId.value)
+        : await getWoRouteData(currRotId.value);
     console.log('缁勪欢宸叉寕杞�', _data);
     //宸ヨ壓璺嚎鍏ㄤ俊鎭紝鍖呮嫭Node銆丒dge鍜孉ct
     routeConfig.routeData = _data.Data;
@@ -162,9 +176,16 @@
       if (!isNullOrEmpty(currRotId.value) && isNullOrEmpty(props.rotId)) {
         setTitle('璁捐锛氬伐鑹鸿矾绾�-' + currRoute.value.ROT_CODE);
       }
+      if(!isNullOrEmpty(prodCode.value)){
+        currRoute.value.PROD_CODE = !isNullOrEmpty(currRoute.value.PROD_CODE)?currRoute.value.PROD_CODE: prodCode.value;
+      }
+      if(!isNullOrEmpty(custCode.value)){
+        currRoute.value.CUST_CODE = !isNullOrEmpty(currRoute.value.CUST_CODE)?currRoute.value.CUST_CODE: custCode.value;
+      }
       _data.Data.nodes.forEach((n) => {
         n.node.properties = JSON.parse(n.node.properties);
-        routeData.value.nodes.push(n.node);
+        n['node']['text']['value'] = n.NODE_NAME;
+        routeData.value.nodes.push(n['node']);
       });
       console.log('111', routeData.value);
       _data.Data.edges.forEach((e) => {
@@ -180,6 +201,11 @@
     }
   }
 
+  /**
+   * @description: 鑾峰彇宸ヨ壓璺嚎鍥炬暟鎹�
+   * @param {*} lf
+   * @return {*}
+   */
   const GetRotData = (lf) => {
     var currRotData: RouteData = {
       route: {
@@ -195,9 +221,12 @@
         ROT_VER: currRoute.value.ROT_VER,
         IS_ACTIVE: currRoute.value.IS_ACTIVE,
         REMARK: currRoute.value.REMARK,
-        AUTH_ORG: '',
+        AUTH_ORG: useUserStore().getUserInfo.orgCode,
         AUTH_PROD: '',
         AUTH_WH: '',
+        WORK_ORDER: currRoute.value.WORK_ORDER,
+        PROD_CODE: currRoute.value.PROD_CODE,
+        CUST_CODE: currRoute.value.CUST_CODE,
       },
       nodes: [],
       edges: [],
@@ -205,7 +234,6 @@
     };
     var _nodes = unref(lf).getGraphData().nodes as node[];
     var _edges = unref(lf).getGraphData().edges as edge[];
-    var _num = 1;
     const diffnodes = routeConfig.routeData.nodes.filter((itemA) =>
       _nodes.some((itemB) => itemB.id === itemA.ID),
     );
@@ -231,7 +259,7 @@
               GPH_PROP: JSON.stringify(n.properties),
               GPH_TEXT: n.text.value,
               REMARK: a.REMARK,
-              AUTH_ORG: '',
+              AUTH_ORG: useUserStore().getUserInfo.orgCode,
               AUTH_PROD: '',
               AUTH_WH: '',
               OPTION_1: '',
@@ -239,15 +267,21 @@
               OPTION_3: '',
               OPTION_4: '',
               OPTION_5: '',
-              ACT_NAME: `${routeConfig.routeData.route.ROT_CODE}_${n.text.value}_${_num}`,
+              ACT_NAME: isNullOrEmpty(a.ACT_NAME) ? `${n.text.value}_${_num}` : a.ACT_NAME,
+              ACT_CODE: a.ACT_CODE,
+              NEED_SETUP: a.NEED_SETUP,
+              NEED_RESET: a.NEED_RESET,
               NODE_ID: a.NODE_ID,
               ACT_TYPE: a.ACT_TYPE,
-              DO_TYPE: a.DO_TYPE,
-              DO_METHOD: a.DO_METHOD,
-              DO_IF_PASS: a.DO_IF_PASS,
-              DO_IF_FAIL: a.DO_IF_FAIL,
+              // DO_TYPE: a.DO_TYPE,
+              // DO_METHOD: a.DO_METHOD,
+              // DO_IF_PASS: a.DO_IF_PASS,
+              // DO_IF_FAIL: a.DO_IF_FAIL,
               node: {} as node,
               IS_ACTIVE: a.IS_ACTIVE,
+              WORK_ORDER: a.WORK_ORDER,
+              PROD_CODE: a.PROD_CODE,
+              CUST_CODE: a.CUST_CODE,
             };
             var pnode = [n];
             while (pnode[0].properties.operType == 'Action') {
@@ -272,10 +306,10 @@
               UPDATE_TIME: currRotData.route.UPDATE_TIME,
               UPDATE_USER: useUserStore().getUserInfo.userId as string,
               GHOST_ROW: false,
-              NODE_NAME: `${currRotData.route.ROT_CODE}_${n.text.value}_${_num}`,
+              NODE_NAME: isNullOrEmpty(nd.NODE_NAME) ? `${n.text.value}_${_num}` : nd.NODE_NAME,
               ROT_ID: currRotData.route.ID,
               SEGMENT: nd.SEGMENT,
-              OPER_CODE: nd.OPER_CODE,
+              OPER_CODE: isNullOrEmpty(nd.OPER_CODE) ? n.type : nd.OPER_CODE,
               GPH_TYPE: n.type,
               GPH_X: n.x,
               GPH_Y: n.y,
@@ -283,9 +317,10 @@
               GPH_TEXT: n.text.value,
               IS_ACTIVE: nd.IS_ACTIVE,
               IS_CALC_FPY: nd.IS_CALC_FPY,
+              ALLOW_DFT_IN: nd.ALLOW_DFT_IN,
               CAN_SKIP: nd.CAN_SKIP,
               REMARK: nd.REMARK,
-              AUTH_ORG: '',
+              AUTH_ORG: useUserStore().getUserInfo.orgCode,
               AUTH_PROD: '',
               AUTH_WH: '',
               IS_FIRST_NODE: 'N',
@@ -297,6 +332,9 @@
               OPTION_4: '',
               OPTION_5: '',
               node: {} as node,
+              WORK_ORDER: nd.WORK_ORDER,
+              PROD_CODE: nd.PROD_CODE,
+              CUST_CODE: nd.CUST_CODE,
             };
             nd.GPH_TYPE = n.type;
             nd.GPH_PROP = JSON.stringify(n.properties);
@@ -335,7 +373,7 @@
         GPH_PROP: JSON.stringify(e.properties),
         GPH_POTS: JSON.stringify(e.pointsList),
         REMARK: '',
-        AUTH_ORG: '',
+        AUTH_ORG: useUserStore().getUserInfo.orgCode,
         AUTH_PROD: '',
         AUTH_WH: '',
         EDGE_TYPE: 0,
@@ -345,9 +383,13 @@
         OPTION_4: '',
         OPTION_5: '',
         edge: {} as edge,
+        WORK_ORDER: routeConfig.routeData.route.WORK_ORDER,
+        PROD_CODE: routeConfig.routeData.route.PROD_CODE,
+        CUST_CODE: routeConfig.routeData.route.CUST_CODE,
       };
       routeConfig.routeData.edges.push(edge);
       currRotData.edges.push(edge);
+      _numEdge++;
     });
     return currRotData;
   };
@@ -357,7 +399,10 @@
    */
   async function handleSave(lf) {
     console.log('handleSave', unref(lf).getGraphData().nodes[0]);
-    if (isNullOrEmpty(currRoute.value.ROT_CODE)) {
+    if (
+      isNullOrEmpty(currRoute.value.ROT_CODE) ||
+      (props.rotType == 'Wo' && isNullOrEmpty(currRoute.value.WORK_ORDER))
+    ) {
       createErrorModal({
         title: t('鏈�夋嫨'),
         content: t('鏈�夋嫨宸ヨ壓璺嚎鎴栬�呮柊澧炲伐鑹鸿矾绾�'),
@@ -382,12 +427,12 @@
           getContainer: () => document.body,
         });
       } else {
-        var action = await SaveRouteData(GetRotData(lf));
+        var action =
+          props.rotType == 'Wo'
+            ? await SaveWoRouteData(GetRotData(lf))
+            : await SaveRouteData(GetRotData(lf));
         if (action.IsSuccessed) {
-          notification['success']({
-            message: '鎿嶄綔鎴愬姛',
-            description: `淇濆瓨宸ヨ壓璺嚎锛�${currRoute.value.ROT_CODE} 鎴愬姛`,
-          });
+          await refreshPage();
         }
       }
     }
@@ -434,7 +479,7 @@
         UPDATE_TIME: currRoute.value.UPDATE_TIME,
         UPDATE_USER: useUserStore().getUserInfo.userId as string,
         GHOST_ROW: false,
-        NODE_NAME: `${currRoute.value.ROT_CODE}_${selectnode.value.text.value}_0`,
+        NODE_NAME: `${selectnode.value.text.value}_${_num}`,
         ROT_ID: currRoute.value.ID,
         SEGMENT: '',
         OPER_CODE: selectnode.value.type,
@@ -447,10 +492,11 @@
         IS_CALC_FPY: 'N',
         CAN_SKIP: 'N',
         REMARK: '',
-        AUTH_ORG: '',
+        AUTH_ORG: useUserStore().getUserInfo.orgCode,
         AUTH_PROD: '',
         AUTH_WH: '',
         IS_FIRST_NODE: '',
+        ALLOW_DFT_IN: '',
         IS_INPUT: '',
         IS_OUTPUT: '',
         OPTION_1: '',
@@ -459,15 +505,65 @@
         OPTION_4: '',
         OPTION_5: '',
         node: {} as node,
+        WORK_ORDER: currRoute.value.WORK_ORDER,
+        PROD_CODE: currRoute.value.PROD_CODE,
+        CUST_CODE: currRoute.value.CUST_CODE,
       };
       routeConfig.routeData.nodes.push(_node);
+      _num++;
     }
     //鏄涓�
-    if (selectnode.value.properties.operType && selectnode.value.properties.operType == 'Action') {
+    if (
+      selectnode.value.properties['operType'] &&
+      selectnode.value.properties['operType'] == 'Action'
+    ) {
       var _act = routeConfig.routeData.acts.filter((x) => x.ID == selectnode.value.id)[0];
-      routeConfig.activeKey = 3;
+      routeConfig.activeKey = 2;
       IsOperation.value = false;
       title.value = '琛屼负';
+      posttitle.value = '';
+      if (isNullOrUnDef(_act)) {
+        _act = {
+          ID: selectnode.value.id,
+          CREATE_TIME: currRoute.value.CREATE_TIME,
+          CREATE_USER: useUserStore().getUserInfo.userId as string,
+          UPDATE_TIME: currRoute.value.UPDATE_TIME,
+          UPDATE_USER: useUserStore().getUserInfo.userId as string,
+          GHOST_ROW: false,
+          AUTH_ORG: useUserStore().getUserInfo.orgCode,
+          AUTH_PROD: '',
+          AUTH_WH: '',
+          ACT_NAME: `${selectnode.value.text.value}_${_numEdge}`,
+          ACT_CODE: '',
+          ROT_ID: currRoute.value.ID,
+          NODE_ID: '',
+          ACT_TYPE: 0,
+          GPH_TYPE: selectnode.value.type,
+          GPH_X: selectnode.value.x,
+          GPH_Y: selectnode.value.y,
+          GPH_PROP: JSON.stringify(selectnode.value.properties),
+          GPH_TEXT: selectnode.value.text.value,
+          NEED_SETUP: 'Y',
+          NEED_RESET: 'N',
+          // DO_TYPE: 0,
+          // DO_METHOD: '',
+          // DO_IF_PASS: '',
+          // DO_IF_FAIL: '',
+          IS_ACTIVE: '',
+          OPTION_1: '',
+          OPTION_2: '',
+          OPTION_3: '',
+          OPTION_4: '',
+          OPTION_5: '',
+          REMARK: '',
+          node: {} as node,
+          WORK_ORDER: currRoute.value.WORK_ORDER,
+          PROD_CODE: currRoute.value.PROD_CODE,
+          CUST_CODE: currRoute.value.CUST_CODE,
+        };
+        routeConfig.routeData.acts.push(_act);
+        _numEdge++;
+      }
       routeConfig.currentAct = {
         ID: selectnode.value.id,
         CREATE_TIME: currRoute.value.CREATE_TIME,
@@ -475,10 +571,11 @@
         UPDATE_TIME: currRoute.value.UPDATE_TIME,
         UPDATE_USER: useUserStore().getUserInfo.userId as string,
         GHOST_ROW: false,
-        AUTH_ORG: '',
-        AUTH_PROD: '',
-        AUTH_WH: '',
+        AUTH_ORG: _act.AUTH_ORG,
+        AUTH_PROD: _act.AUTH_PROD,
+        AUTH_WH: _act.AUTH_WH,
         ACT_NAME: _act.ACT_NAME,
+        ACT_CODE: _act.ACT_CODE,
         ROT_ID: currRoute.value.ID,
         NODE_ID: _act.NODE_ID,
         ACT_TYPE: _act.ACT_TYPE,
@@ -487,10 +584,12 @@
         GPH_Y: selectnode.value.y,
         GPH_PROP: JSON.stringify(selectnode.value.properties),
         GPH_TEXT: selectnode.value.text.value,
-        DO_TYPE: _act.DO_TYPE,
-        DO_METHOD: _act.DO_METHOD,
-        DO_IF_PASS: _act.DO_IF_PASS,
-        DO_IF_FAIL: _act.DO_IF_FAIL,
+        NEED_SETUP: _act.NEED_SETUP,
+        NEED_RESET: _act.NEED_RESET,
+        // DO_TYPE: _act.DO_TYPE,
+        // DO_METHOD: _act.DO_METHOD,
+        // DO_IF_PASS: _act.DO_IF_PASS,
+        // DO_IF_FAIL: _act.DO_IF_FAIL,
         IS_ACTIVE: _act.IS_ACTIVE,
         OPTION_1: '',
         OPTION_2: '',
@@ -499,9 +598,15 @@
         OPTION_5: '',
         REMARK: '',
         node: {} as node,
+        WORK_ORDER: currRoute.value.WORK_ORDER,
+        PROD_CODE: currRoute.value.PROD_CODE,
+        CUST_CODE: currRoute.value.CUST_CODE,
       };
+      const actModel = lf.getNodeModelById(selectnode.value.id);
+      actModel.updateText(routeConfig.currentAct?.ACT_NAME);
     } else {
       //鏄伐搴�
+      IsOperation.value = false;
       routeConfig.currentItem = {
         ID: selectnode.value.id,
         CREATE_TIME: currRoute.value.CREATE_TIME,
@@ -509,6 +614,9 @@
         UPDATE_TIME: currRoute.value.UPDATE_TIME,
         UPDATE_USER: useUserStore().getUserInfo.userId as string,
         GHOST_ROW: false,
+        AUTH_ORG: _node.AUTH_ORG,
+        AUTH_PROD: _node.AUTH_PROD,
+        AUTH_WH: _node.AUTH_WH,
         NODE_NAME: _node.NODE_NAME ?? '',
         ROT_ID: currRoute.value.ID,
         SEGMENT: _node.SEGMENT,
@@ -522,18 +630,29 @@
         IS_CALC_FPY: _node.IS_CALC_FPY,
         CAN_SKIP: _node.CAN_SKIP,
         IS_INPUT: _node.IS_INPUT,
+        ALLOW_DFT_IN: _node.ALLOW_DFT_IN,
         IS_OUTPUT: _node.IS_OUTPUT,
         REMARK: _node.REMARK,
+        WORK_ORDER: currRoute.value.WORK_ORDER,
+        PROD_CODE: currRoute.value.PROD_CODE,
+        CUST_CODE: currRoute.value.CUST_CODE,
+        node: {} as node,
       };
+      const nodeModel = lf.getNodeModelById(selectnode.value.id);
+      nodeModel.updateText(_node.NODE_NAME);
       routeConfig.isCalcFpy = _node.IS_CALC_FPY == 'Y';
       routeConfig.canSkip = _node.CAN_SKIP == 'Y';
+      routeConfig.isActive = _node.IS_ACTIVE == 'Y';
+      routeConfig.allowDftIn = _node.ALLOW_DFT_IN == 'Y';
       routeConfig.isInput = _node.IS_INPUT == 'Y';
       routeConfig.isOutput = _node.IS_OUTPUT == 'Y';
-
-      console.log(routeConfig.currentItem);
-      routeConfig.activeKey = 2;
-      IsOperation.value = true;
-      title.value = '宀椾綅';
+      setTimeout(() => {
+        console.log(routeConfig.currentItem);
+        routeConfig.activeKey = 2;
+        IsOperation.value = true;
+        title.value = '宸ュ簭';
+        posttitle.value = '宀椾綅';
+      }, 100);
     }
   }
 
@@ -546,6 +665,8 @@
    */
   function clickBlank() {
     routeConfig.activeKey = 1;
+    title.value = '';
+    posttitle.value = '';
   }
 
   /*
@@ -565,4 +686,25 @@
     //鍐嶈繑鍥炲叿浣撴暟鎹�
     routeConfig.routeData = GetRotData(unref(lfInstance));
   }
+
+  /**
+   * @description: 鍚嶇О鏀瑰彉鍥炶皟鏂规硶锛岃繑鍥炲悗鏇存柊鑺傜偣鏂囨湰
+   * @param {*} e
+   * @return {*}
+   */
+  function changeName(e) {
+    console.log(e.val);
+    const nodeModel = unref(currlf)?.getNodeModelById(e.id);
+    nodeModel?.updateText(e.val);
+  }
+  /**
+   * @description: 鍚嶇О鏀瑰彉鍥炶皟鏂规硶锛岃繑鍥炲悗鏇存柊鑺傜偣鏂囨湰
+   * @param {*} e
+   * @return {*}
+   */
+  function changeNodeName(e) {
+    console.log(e.val);
+    const nodeModel = unref(currlf)?.getNodeModelById(e.id);
+    nodeModel?.updateText(e.val);
+  }
 </script>

--
Gitblit v1.9.3