From 697c405ac874da346e74df40266763370355154d Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期六, 08 三月 2025 15:40:25 +0800 Subject: [PATCH] ASN单 --- src/views/components/GeneralTree.vue | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 56 insertions(+), 3 deletions(-) diff --git a/src/views/components/GeneralTree.vue b/src/views/components/GeneralTree.vue index 5cc2a74..2e063e9 100644 --- a/src/views/components/GeneralTree.vue +++ b/src/views/components/GeneralTree.vue @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-19 11:07:21 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-23 21:29:52 + * @LastEditTime: 2024-10-22 10:34:03 --> <template> <div class="m-4 mr-0 overflow-hidden bg-white"> @@ -18,16 +18,25 @@ :treeData="treeData" :renderIcon="createIcon" :fieldNames="fieldNames" + :selectedKeys="selectedKeys" @select="handleSelect" @handleAdd="handleAdd" @unselect="UnSelect" :beforeRightClick="props.beforeRightClick" + :defaultExpandAll="true" + ref="tigerTree" /> </div> </template> <script lang="ts" setup> - import { onMounted, ref } from 'vue'; - import { ContextMenuItem, ContextMenuOptions, FieldNames, TigerTree, TreeItem } from '/@/components/TigerTree'; + import { onMounted, ref, watch } from 'vue'; + import { + ContextMenuItem, + ContextMenuOptions, + FieldNames, + TigerTree, + TreeItem, + } from '/@/components/TigerTree'; import { EventDataNode } from 'ant-design-vue/lib/tree'; defineOptions({ name: 'CustTree' }); @@ -51,6 +60,8 @@ default: undefined, }, }); + const tigerTree = ref(null); + const selectedKeys = ref<KeyType[]>([]) function handleSelect(keys, e) { emit('select', keys[0], e); @@ -64,5 +75,47 @@ emit('UnSelect', node); } + function expandAll(expandAll: boolean) { + if (tigerTree.value) { + tigerTree.value.expandAll(expandAll); + } + } + + function getExpandedKeys() { + if (tigerTree.value) { + return tigerTree.value.getExpandedKeys(); + } + return []; + } + + function setSelectedKeys(keys: KeyType[]) { + selectedKeys.value = keys; + if (tigerTree.value) { + tigerTree.value.setSelectedKeys(keys); + } + } + + function getSelectedKeys() { + if (tigerTree.value) { + return tigerTree.value.getSelectedKeys(); + } + return []; + } + + function getNodeById(Id: string) { + if (tigerTree.value) { + return tigerTree.value.getNodeById(Id); + } + return {}; + } + + defineExpose({ + getExpandedKeys, + expandAll, + setSelectedKeys, + getSelectedKeys, + getNodeById + }); + onMounted(() => {}); </script> -- Gitblit v1.9.3