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