fix: (system): 修复VbenTree加载顺序问题

- 调整了数据权限分配和菜单分配表单中的加载顺序
- 确保在设置表单值之前完成树形结构数据的加载
pull/177/head
2025-07-21 14:27:34 +08:00
parent b031b6ac0f
commit 7031dbebe6
7 changed files with 16 additions and 17 deletions

View File

@ -74,11 +74,11 @@ const [Modal, modalApi] = useVbenModal({
}
modalApi.lock();
try {
await formApi.setValues(await getRole(data.id as number));
//
await loadDeptTree();
toggleExpandAll();
// ,
await formApi.setValues(await getRole(data.id as number));
} finally {
modalApi.unlock();
}

View File

@ -72,13 +72,13 @@ const [Modal, modalApi] = useVbenModal({
}
modalApi.lock();
try {
await formApi.setValues(data);
//
const menuIds = await getRoleMenuList(data.id as number);
await formApi.setFieldValue('menuIds', menuIds);
//
await loadMenuTree();
await formApi.setValues(data);
} finally {
modalApi.unlock();
}

View File

@ -74,11 +74,11 @@ const [Modal, modalApi] = useVbenModal({
}
modalApi.lock();
try {
await formApi.setValues(await getRole(data.id as number));
//
await loadDeptTree();
toggleExpandAll();
// ,
await formApi.setValues(await getRole(data.id as number));
} finally {
modalApi.unlock();
}

View File

@ -69,13 +69,13 @@ const [Modal, modalApi] = useVbenModal({
}
modalApi.lock();
try {
await formApi.setValues(data);
//
const menuIds = await getRoleMenuList(data.id as number);
await formApi.setFieldValue('menuIds', menuIds);
//
await loadMenuTree();
await formApi.setValues(data);
} finally {
modalApi.unlock();
}

View File

@ -75,11 +75,11 @@ const [Modal, modalApi] = useVbenModal({
}
modalApi.lock();
try {
await formApi.setValues(await getRole(data.id as number));
//
await loadDeptTree();
toggleExpandAll();
// ,
await formApi.setValues(await getRole(data.id as number));
} finally {
modalApi.unlock();
}

View File

@ -69,13 +69,13 @@ const [Modal, modalApi] = useVbenModal({
}
modalApi.lock();
try {
await formApi.setValues(data);
//
const menuIds = await getRoleMenuList(data.id as number);
await formApi.setFieldValue('menuIds', menuIds);
//
await loadMenuTree();
await formApi.setValues(data);
} finally {
modalApi.unlock();
}

View File

@ -47,10 +47,13 @@ const [Drawer, drawerApi] = useVbenDrawer({
drawerApi.unlock();
});
},
onOpenChange(isOpen) {
async onOpenChange(isOpen) {
if (isOpen) {
const data = drawerApi.getData<SystemRoleApi.SystemRole>();
formApi.resetForm();
if (permissions.value.length === 0) {
await loadPermissions();
}
if (data) {
formData.value = data;
id.value = data.id;
@ -58,10 +61,6 @@ const [Drawer, drawerApi] = useVbenDrawer({
} else {
id.value = undefined;
}
if (permissions.value.length === 0) {
loadPermissions();
}
}
},
});