refactor: 统一 dept、menu、post、role 的代码风格

This commit is contained in:
YunaiV
2025-04-03 07:49:00 +08:00
parent ff67eb3380
commit 0d5993527e
14 changed files with 555 additions and 545 deletions

View File

@@ -13,9 +13,9 @@ import { getRole } from '#/api/system/role';
import { assignRoleDataScope } from '#/api/system/permission';
import { getDeptList } from '#/api/system/dept';
import { handleTree } from '#/utils/tree';
import { SystemDataScopeEnum } from '#/utils/constants';
import { useAssignDataPermissionFormSchema } from '../data';
import { SystemDataScopeEnum } from '#/utils/constants';
const emit = defineEmits(['success']);
@@ -70,6 +70,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock();
try {
await formApi.setValues(await getRole(data.id as number));
// 加载部门列表
await loadDeptTree();
toggleExpandAll();

View File

@@ -36,12 +36,14 @@ const [Modal, modalApi] = useVbenModal({
return;
}
modalApi.lock();
// 提交表单
const data = await formApi.getValues();
try {
await assignRoleMenu({
roleId: data.id,
menuIds: data.menuIds
});
// 关闭并提示
await modalApi.close();
emit('success');
message.success({
@@ -63,6 +65,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock();
try {
await formApi.setValues(data);
// 加载角色菜单
const menuIds = await getRoleMenuList(data.id as number);
await formApi.setFieldValue('menuIds', menuIds);

View File

@@ -1,14 +1,13 @@
<script lang="ts" setup>
import type { SystemRoleApi } from '#/api/system/role';
import { computed, ref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { message } from 'ant-design-vue';
import { $t } from '#/locales';
import { computed, ref } from 'vue';
import { useVbenForm } from '#/adapter/form';
import { createRole, updateRole, getRole } from '#/api/system/role';
import { $t } from '#/locales';
import { useFormSchema } from '../data';
@@ -33,11 +32,11 @@ const [Modal, modalApi] = useVbenModal({
return;
}
modalApi.lock();
// 提交表单
const data = (await formApi.getValues()) as SystemRoleApi.SystemRole;
try {
await (formData.value?.id
? updateRole(data)
: createRole(data));
await (formData.value?.id ? updateRole(data) : createRole(data));
// 关闭并提示
await modalApi.close();
emit('success');
message.success({
@@ -52,6 +51,7 @@ const [Modal, modalApi] = useVbenModal({
if (!isOpen) {
return;
}
// 加载数据
const data = modalApi.getData<SystemRoleApi.SystemRole>();
if (!data || !data.id) {
return;
@@ -59,6 +59,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock();
try {
formData.value = await getRole(data.id as number);
// 设置到 values
await formApi.setValues(formData.value);
} finally {
modalApi.lock(false);