fix:角色勾选根节点获取失败问题
This commit is contained in:
@@ -80,10 +80,18 @@ async function init() {
|
|||||||
function clearChecks() {
|
function clearChecks() {
|
||||||
menuIds.value = [];
|
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({
|
defineExpose({
|
||||||
clearChecks,
|
clearChecks,
|
||||||
checkedKeys: menuIds,
|
checkedKeys: ()=> {
|
||||||
|
return menuIds.value.concat(rootIds.value).concat()
|
||||||
|
},
|
||||||
tree
|
tree
|
||||||
});
|
});
|
||||||
</script>
|
</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">
|
<div class="border-0.5 border-gray-300 rounded-md p-2 transition-all dark:border-dark-300" hover="border-gray-500">
|
||||||
<SimpleScrollbar>
|
<SimpleScrollbar>
|
||||||
<ATree
|
<ATree
|
||||||
v-model:checked-keys="menuIds"
|
|
||||||
:selectable="false"
|
|
||||||
:virtual="false"
|
|
||||||
:tree-data="tree"
|
|
||||||
checkable
|
checkable
|
||||||
block-node
|
block-node
|
||||||
/>
|
:selectable="false"
|
||||||
|
@check="fnModalTreeChecked"
|
||||||
|
v-model:checked-keys="menuIds"
|
||||||
|
:check-strictly="false"
|
||||||
|
:tree-data="tree"
|
||||||
|
>
|
||||||
|
</ATree>
|
||||||
</SimpleScrollbar>
|
</SimpleScrollbar>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ function closeDrawer() {
|
|||||||
|
|
||||||
async function handleSubmit() {
|
async function handleSubmit() {
|
||||||
await validate();
|
await validate();
|
||||||
const menuIds = transformMenuChildWithRootIds(menuAuthRef.value?.tree || [], model.value.menuIds);
|
const menuIds = menuAuthRef.value?.checkedKeys();
|
||||||
|
|
||||||
const {error} = await (props.operateType === 'edit' ? doPutRole : doPostRole)({
|
const {error} = await (props.operateType === 'edit' ? doPutRole : doPostRole)({
|
||||||
...model.value,
|
...model.value,
|
||||||
|
|||||||
Reference in New Issue
Block a user