From 37a60d676a3b05b8b9a02c158b660a166c7625e5 Mon Sep 17 00:00:00 2001 From: AN <1983933789@qq.com> Date: Tue, 20 May 2025 15:42:56 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BF=AE=E6=94=B9=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E6=A0=91=E7=BB=84=E4=BB=B6=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E5=85=A8=E9=83=A8=E8=8E=B7=E5=8F=96=E9=80=89?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E8=8A=82=E7=82=B9Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/custom/menu-tree.vue | 17 ++++++++--------- .../system/role/modules/role-operate-drawer.vue | 7 +++---- .../modules/tenant-package-operate-drawer.vue | 5 +++-- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/components/custom/menu-tree.vue b/src/components/custom/menu-tree.vue index 7f9e52be..5874f8db 100644 --- a/src/components/custom/menu-tree.vue +++ b/src/components/custom/menu-tree.vue @@ -21,11 +21,10 @@ const { bool: checkAll } = useBoolean(); const expandedKeys = ref([0]); const menuTreeRef = ref(null); -const value = defineModel('value', { required: false, default: [] }); +const checkedKeys = defineModel('checkedKeys', { required: false, default: [] }); const options = defineModel('options', { required: false, default: [] }); const cascade = defineModel('cascade', { required: false, default: true }); const loading = defineModel('loading', { required: false, default: false }); - const attrs: TreeSelectProps = useAttrs(); async function getMenuList() { @@ -35,7 +34,7 @@ async function getMenuList() { options.value = [ { id: 0, - label: '根目录', + label: '根节点', icon: 'material-symbols:home-outline-rounded', children: data } @@ -83,14 +82,14 @@ function getAllMenuIds(menu: Api.System.MenuList) { function handleCheckedTreeNodeAll(checked: boolean) { if (checked) { - value.value = getAllMenuIds(options.value); + checkedKeys.value = getAllMenuIds(options.value); return; } - value.value = []; + checkedKeys.value = []; } -function handleSubmit() { - const menuIds = [...value.value]; +function getCheckedMenuIds() { + const menuIds = menuTreeRef.value?.getCheckedData()?.keys as string[]; const indeterminateData = menuTreeRef.value?.getIndeterminateData(); if (cascade.value) { const parentIds: string[] = indeterminateData?.keys.filter(item => !menuIds?.includes(String(item))) as string[]; @@ -100,7 +99,7 @@ function handleSubmit() { } defineExpose({ - submit: handleSubmit, + getCheckedMenuIds, refresh: getMenuList }); @@ -122,7 +121,7 @@ defineExpose({ { {