2
0

fix:角色勾选根节点获取失败问题

This commit is contained in:
TsMask
2024-12-02 16:20:47 +08:00
parent 3f01adb2ad
commit c9f0fbaca5
2 changed files with 30 additions and 20 deletions

View File

@@ -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
});
</script>
@@ -92,13 +100,15 @@ defineExpose({
<div class="border-0.5 border-gray-300 rounded-md p-2 transition-all dark:border-dark-300" hover="border-gray-500">
<SimpleScrollbar>
<ATree
v-model:checked-keys="menuIds"
:selectable="false"
:virtual="false"
:tree-data="tree"
checkable
block-node
/>
:selectable="false"
@check="fnModalTreeChecked"
v-model:checked-keys="menuIds"
:check-strictly="false"
:tree-data="tree"
>
</ATree>
</SimpleScrollbar>
</div>
</template>

View File

@@ -83,7 +83,7 @@ function closeDrawer() {
async function handleSubmit() {
await validate();
const menuIds = transformMenuChildWithRootIds(menuAuthRef.value?.tree || [], model.value.menuIds);
const menuIds = menuAuthRef.value?.checkedKeys();
const {error} = await (props.operateType === 'edit' ? doPutRole : doPostRole)({
...model.value,