From 8a12783afd1d6c4881d90e66bb0a52010a1598ae Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 27 二月 2025 00:52:57 +0800
Subject: [PATCH] 一些更改

---
 src/views/tigerprojects/system/lowcode/composition/LeftTree.vue |   58 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 46 insertions(+), 12 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/composition/LeftTree.vue b/src/views/tigerprojects/system/lowcode/composition/LeftTree.vue
index 33c6f61..dd37c2a 100644
--- a/src/views/tigerprojects/system/lowcode/composition/LeftTree.vue
+++ b/src/views/tigerprojects/system/lowcode/composition/LeftTree.vue
@@ -4,7 +4,7 @@
  * @version: 
  * @Date: 2024-06-26 15:31:43
  * @LastEditors: Ben Lin
- * @LastEditTime: 2024-06-26 18:48:09
+ * @LastEditTime: 2024-10-22 10:23:53
 -->
 <template>
   <GeneralTree
@@ -14,39 +14,64 @@
     :treeData="treeData"
     :create-icon="createIcon"
     :fieldNames="fieldNames"
+    :beforeRightClick="getRightMenu"
+    ref="generalTree"
   /><!--
       add
       @handle-add="handleAdd" -->
 </template>
 <script lang="ts" setup>
-  import { Ref, inject, onMounted, ref } from 'vue';
+  import { Ref, inject, nextTick, onMounted, ref } from 'vue';
   import { isNullOrUnDef } from '/@/utils/is';
   import GeneralTree from '/@/views/components/GeneralTree.vue';
   import { TreeItem } from '/@/components/TigerTree';
   import { EntityCustFunctionType } from '/@/api/tigerapi/model/basModel';
+  import { EventDataNode } from 'ant-design-vue/es/tree';
+  import { useProdRouteStore } from '/@/store/modules/prodRoute';
 
+  const emit = defineEmits(['select', 'deletenode']);
   const objParams = inject('objParams') as Ref<any>;
-  const nodeType = inject('nodeType') as Ref<any>;
   const selectedNodes = inject('selectedNodes') as Ref<any>;
+  const useProdRoute = useProdRouteStore();
   const custImport = ref<any[]>([]);
   const EntityCustFunction = ref([
     {
       CreateIcon(params: Recordable<any>) {},
+      SelectNode(selectedNodes: Ref<any[]>) {},
+      GetRightMenuList(node: EventDataNode) {},
     } as EntityCustFunctionType,
   ]);
   /* 鍔ㄦ�乮mport瀹炰綋鍚�.ts鐨勮嚜瀹氫箟鏂规硶 */
   try {
     custImport.value = await import(`../entityts/${objParams.value['Name']}.ts`);
   } catch (e) {}
-  const [{ CreateIcon }] = isNullOrUnDef(custImport.value['default'])
+  const [{ CreateIcon, SelectNode, fetchTreeData, GetRightMenuList }] = isNullOrUnDef(
+    custImport.value['default'],
+  )
     ? EntityCustFunction.value
     : custImport.value['default']();
   const treeData = ref<TreeItem[]>([]);
   const title = ref('');
   const fieldNames = ref({});
+  const generalTree = ref(null);
+  const ExpandedKeys = ref([]);
 
   onMounted(async () => {
     await fetch(objParams.value['Name']);
+    await nextTick();
+    if (generalTree.value) {
+      generalTree.value.expandAll(true);
+      ExpandedKeys.value = generalTree.value.getExpandedKeys();
+      if (useProdRoute.getCurSelectedNodes.some((q) => q.name == objParams.value['CODE'])) {
+        selectedNodes.value = useProdRoute.getCurSelectedNodes.filter(
+          (q) => q.name == objParams.value['CODE'],
+        )[0].SelectedNodes;
+        if (selectedNodes.value.length > 0) {
+          generalTree.value.setSelectedKeys([selectedNodes.value[0]?.tid]);
+          emit('select', SelectNode(selectedNodes, objParams.value['CODE']));
+        }
+      }
+    }
   });
 
   /**
@@ -66,7 +91,7 @@
    */
   async function fetch(type: string) {
     if (!isNullOrUnDef(custImport.value)) {
-      const [{ fetchTreeData }] = custImport.value['default']();
+      // const [{ fetchTreeData }] = custImport.value['default']();
       //鏍规嵁type鑾峰彇鏍戝舰鏁版嵁
       const data = await fetchTreeData(type, objParams.value['CODE']);
       title.value = data.title;
@@ -76,13 +101,13 @@
   }
 
   function handleSelect(Id = '', info) {
-    // searchInfo.Id = Id;
-    nodeType.value = info.selectedNodes[0].type;
     selectedNodes.value = info.selectedNodes;
-    // prodCode.value =rotType.value=='Product'? info.selectedNodes[0].code: prodCode.value;
-    // actionCode.value = rotType.value == 'Action' ? info.selectedNodes[0].code : actionCode.value;
-    // custCode.value = rotType.value == 'Customer' ? info.selectedNodes[0].code : custCode.value;
-    // reload();
+    if (generalTree.value) {
+      const keys = generalTree.value.getSelectedKeys();
+      console.log(keys);
+    }
+    useProdRoute.setCustCode(selectedNodes.value[0].cust);
+    emit('select', SelectNode(selectedNodes, objParams.value['CODE']));
   }
 
   /**
@@ -91,7 +116,16 @@
    * @return {*}
    */
   function UnSelect(node) {
-    nodeType.value = '';
+    emit('select', SelectNode(undefined, objParams.value['CODE']));
     // reload();
   }
+
+  /**
+   * @description: 鑾峰彇鍙抽敭鑿滃崟鍒楄〃锛屽甫鍏mit浜嬩欢
+   * @param {*} node
+   * @return {*}
+   */
+  function getRightMenu(node: EventDataNode) {
+    return GetRightMenuList(node, emit, objParams.value['CODE']);
+  }
 </script>

--
Gitblit v1.9.3