20260914223013

This commit is contained in:
oneao committed 2026-09-14 22:30:13 +08:00
1 parent 549c8bd2eb
commit 63514476d7
60 files changed
+6478 -2004

No files matched your search

@@ -4,12 +4,12 @@
*
* 职责:搜索框与树展示,展开 / 选中 / 拖拽 / 右键菜单的 UI 交互,节点启用停用的操作入口。
* 数据契约:树数据、选中项、未保存标记均由父级唯一持有,本组件只读并通过事件上报意图:
* select / add / delete / drop / refresh / toggleEnable。
* select / add / delete / drop / toggleEnable。
* 搜索关键字与展开键是纯 UI 状态,留在本组件;展开键需由父级在新建菜单后追加祖先路径,
* 故以 v-model:expanded-keys 暴露。
*/
import { computed, ref, watch } from 'vue'
import { ExternalLink, FileText, Folder, Plus, RefreshCw, Search, Trash2 } from '@lucide/vue'
import { ExternalLink, FileText, Folder, Plus, Search, Trash2 } from '@lucide/vue'
import { Button, Checkbox, Dropdown, Input } from '@/components/ui'
import FmsTree from '@/components/fms-tree/FmsTree.vue'
import { collectAllKeys, filterTreeByText } from '@/utils/tree'
@@ -27,15 +27,7 @@ const props = defineProps({
unsavedIds: { type: Set, default: () => new Set() },
})
const emit = defineEmits([
'update:expandedKeys',
'select',
'add',
'delete',
'drop',
'refresh',
'toggleEnable',
])
const emit = defineEmits(['update:expandedKeys', 'select', 'add', 'delete', 'drop', 'toggleEnable'])
/** 搜索关键字(纯 UI 状态) */
const keyword = ref('')
@@ -94,15 +86,6 @@ function onToolbarAdd({ key }) {
<template #prefix><Search :size="14" class="mm-tree-search__icon" /></template>
</Input>
<div class="mm-tree-header__actions">
<Button
type="ghost"
class="mm-tree-header__icon-btn"
title="刷新菜单树"
aria-label="刷新菜单树"
@click="emit('refresh')"
>
<RefreshCw :size="14" />
</Button>
<Dropdown :items="addOptions" @click="onToolbarAdd">
<Button
type="ghost"