diff --git a/apps/web-antd/src/views/system/role/modules/assign-data-permission-form.vue b/apps/web-antd/src/views/system/role/modules/assign-data-permission-form.vue index c7319b9c1..a495dbd9d 100644 --- a/apps/web-antd/src/views/system/role/modules/assign-data-permission-form.vue +++ b/apps/web-antd/src/views/system/role/modules/assign-data-permission-form.vue @@ -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(); } diff --git a/apps/web-antd/src/views/system/role/modules/assign-menu-form.vue b/apps/web-antd/src/views/system/role/modules/assign-menu-form.vue index aa1843f96..1d62398c3 100644 --- a/apps/web-antd/src/views/system/role/modules/assign-menu-form.vue +++ b/apps/web-antd/src/views/system/role/modules/assign-menu-form.vue @@ -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(); } diff --git a/apps/web-ele/src/views/system/role/modules/assign-data-permission-form.vue b/apps/web-ele/src/views/system/role/modules/assign-data-permission-form.vue index 8a7478417..08597ebf9 100644 --- a/apps/web-ele/src/views/system/role/modules/assign-data-permission-form.vue +++ b/apps/web-ele/src/views/system/role/modules/assign-data-permission-form.vue @@ -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(); } diff --git a/apps/web-ele/src/views/system/role/modules/assign-menu-form.vue b/apps/web-ele/src/views/system/role/modules/assign-menu-form.vue index 36634ccbd..b7e11b513 100644 --- a/apps/web-ele/src/views/system/role/modules/assign-menu-form.vue +++ b/apps/web-ele/src/views/system/role/modules/assign-menu-form.vue @@ -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(); } diff --git a/apps/web-naive/src/views/system/role/modules/assign-data-permission-form.vue b/apps/web-naive/src/views/system/role/modules/assign-data-permission-form.vue index 892aefad6..21ac3d9fd 100644 --- a/apps/web-naive/src/views/system/role/modules/assign-data-permission-form.vue +++ b/apps/web-naive/src/views/system/role/modules/assign-data-permission-form.vue @@ -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(); } diff --git a/apps/web-naive/src/views/system/role/modules/assign-menu-form.vue b/apps/web-naive/src/views/system/role/modules/assign-menu-form.vue index 683d1f827..30ff77c0d 100644 --- a/apps/web-naive/src/views/system/role/modules/assign-menu-form.vue +++ b/apps/web-naive/src/views/system/role/modules/assign-menu-form.vue @@ -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(); } diff --git a/playground/src/views/system/role/modules/form.vue b/playground/src/views/system/role/modules/form.vue index cae54a1c6..25b6fedca 100644 --- a/playground/src/views/system/role/modules/form.vue +++ b/playground/src/views/system/role/modules/form.vue @@ -47,10 +47,13 @@ const [Drawer, drawerApi] = useVbenDrawer({ drawerApi.unlock(); }); }, - onOpenChange(isOpen) { + async onOpenChange(isOpen) { if (isOpen) { const data = drawerApi.getData(); 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(); - } } }, });