| | |
| | | * @version: |
| | | * @Date: 2024-06-19 11:07:21 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-06-21 13:31:30 |
| | | * @LastEditTime: 2024-09-22 00:19:36 |
| | | --> |
| | | <template> |
| | | <div class="m-4 mr-0 overflow-hidden bg-white"> |
| | |
| | | search |
| | | :add="add" |
| | | treeWrapperClassName="h-[calc(100%-35px)] overflow-auto" |
| | | :clickRowToExpand="false" |
| | | :clickRowToExpand="true" |
| | | :treeData="treeData" |
| | | :renderIcon="createIcon" |
| | | :fieldNames="fieldNames" |
| | | @select="handleSelect" |
| | | @handleAdd="handleAdd" |
| | | @unselect="UnSelect" |
| | | :beforeRightClick="props.beforeRightClick" |
| | | :defaultExpandAll="true" |
| | | /> |
| | | </div> |
| | | </template> |
| | | <script lang="ts" setup> |
| | | import { onMounted, ref } from 'vue'; |
| | | import { FieldNames, TigerTree, TreeItem } from '/@/components/TigerTree' |
| | | import { ContextMenuItem, ContextMenuOptions, FieldNames, TigerTree, TreeItem } from '/@/components/TigerTree'; |
| | | import { EventDataNode } from 'ant-design-vue/lib/tree'; |
| | | |
| | | defineOptions({ name: 'CustTree' }); |
| | | |
| | |
| | | type: String, |
| | | }, |
| | | treeData: { |
| | | type: Array as PropType<TreeItem[]>, |
| | | type: Array as PropType<TreeItem[]>, |
| | | }, |
| | | createIcon: { |
| | | type: Function as PropType<(params: Recordable<any>) => string>, |
| | | }, |
| | | add: {type: Boolean,}, |
| | | fieldNames: {type: Object as PropType<FieldNames>}, |
| | | add: { type: Boolean }, |
| | | fieldNames: { type: Object as PropType<FieldNames> }, |
| | | beforeRightClick: { |
| | | type: Function as PropType<(...arg: any) => ContextMenuItem[] | ContextMenuOptions>, |
| | | default: undefined, |
| | | }, |
| | | }); |
| | | |
| | | function handleSelect(keys, e) { |
| | |
| | | emit('handleAdd'); |
| | | } |
| | | |
| | | |
| | | function UnSelect(node) { |
| | | emit('UnSelect', node); |
| | | } |