From c9f0fbaca5518ba9b1ea14ca2a397fa2f0c7a48b Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Mon, 2 Dec 2024 16:20:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=A7=92=E8=89=B2=E5=8B=BE=E9=80=89?= =?UTF-8?q?=E6=A0=B9=E8=8A=82=E7=82=B9=E8=8E=B7=E5=8F=96=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/manage/role/modules/menu-auth.vue | 24 ++++++++++++----- .../role/modules/role-operate-drawer.vue | 26 +++++++++---------- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/src/views/manage/role/modules/menu-auth.vue b/src/views/manage/role/modules/menu-auth.vue index 9a4919f..4d9c7fb 100644 --- a/src/views/manage/role/modules/menu-auth.vue +++ b/src/views/manage/role/modules/menu-auth.vue @@ -80,10 +80,18 @@ async function init() { function clearChecks() { menuIds.value = []; } - +const rootIds = ref([]); +function fnModalTreeChecked(keys: any, info: any ) { + let ids = Array.isArray(keys) ? keys : keys.checked; + // ids = ids.concat(info.halfCheckedKeys); + rootIds.value = info.halfCheckedKeys; + menuIds.value = ids; +} defineExpose({ clearChecks, - checkedKeys: menuIds, + checkedKeys: ()=> { + return menuIds.value.concat(rootIds.value).concat() + }, tree }); @@ -92,13 +100,15 @@ defineExpose({
+ :selectable="false" + @check="fnModalTreeChecked" + v-model:checked-keys="menuIds" + :check-strictly="false" + :tree-data="tree" + > +
diff --git a/src/views/manage/role/modules/role-operate-drawer.vue b/src/views/manage/role/modules/role-operate-drawer.vue index 3b6f010..fcca31d 100644 --- a/src/views/manage/role/modules/role-operate-drawer.vue +++ b/src/views/manage/role/modules/role-operate-drawer.vue @@ -1,9 +1,9 @@