From 7bcfc0507043dc878c801a259aa7d058f4982551 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期四, 09 一月 2025 00:42:21 +0800 Subject: [PATCH] 工单管理优化 --- src/views/components/GeneralTree.vue | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 56 insertions(+), 4 deletions(-) diff --git a/src/views/components/GeneralTree.vue b/src/views/components/GeneralTree.vue index f69163d..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-09-22 00:19:36 + * @LastEditTime: 2024-10-22 10:34:03 --> <template> <div class="m-4 mr-0 overflow-hidden bg-white"> @@ -14,21 +14,29 @@ search :add="add" treeWrapperClassName="h-[calc(100%-35px)] overflow-auto" - :clickRowToExpand="true" + :clickRowToExpand="false" :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' }); @@ -52,6 +60,8 @@ default: undefined, }, }); + const tigerTree = ref(null); + const selectedKeys = ref<KeyType[]>([]) function handleSelect(keys, e) { emit('select', keys[0], e); @@ -65,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