This commit is contained in:
2025-10-27 19:05:56 +08:00
parent 0033ac10ec
commit 98c73632bd
25 changed files with 1223 additions and 133 deletions

View File

@@ -455,7 +455,7 @@ const filteredModules = computed(() => {
});
// 加载模块列表
const loadModuleList = async () => {
async function loadModuleList() {
moduleLoading.value = true;
try {
const result = await moduleApi.getModuleList();
@@ -470,10 +470,10 @@ const loadModuleList = async () => {
} finally {
moduleLoading.value = false;
}
};
}
// 加载权限列表
const loadPermissions = async (moduleID: string) => {
async function loadPermissions(moduleID: string) {
permissionLoading.value = true;
try {
const result = await moduleApi.getModulePermissions(moduleID);
@@ -489,32 +489,32 @@ const loadPermissions = async (moduleID: string) => {
} finally {
permissionLoading.value = false;
}
};
}
// 选择模块
const handleSelectModule = (module: SysModule) => {
function handleSelectModule(module: SysModule) {
currentModule.value = module;
if (module.moduleID) {
loadPermissions(module.moduleID);
}
};
}
// 新增模块
const handleAddModule = () => {
function handleAddModule() {
isEditModule.value = false;
resetModuleForm();
moduleDialogVisible.value = true;
};
}
// 编辑模块
const handleEditModule = (module: SysModule) => {
function handleEditModule(module: SysModule) {
isEditModule.value = true;
Object.assign(moduleForm, module);
moduleDialogVisible.value = true;
};
}
// 删除模块
const handleDeleteModule = async (module: SysModule) => {
async function handleDeleteModule(module: SysModule) {
try {
await ElMessageBox.confirm(
`确定要删除模块"${module.name}"吗?删除后该模块下的所有权限也会被删除。`,
@@ -543,10 +543,10 @@ const handleDeleteModule = async (module: SysModule) => {
ElMessage.error('删除模块失败');
}
}
};
}
// 提交模块表单
const handleSubmitModule = async () => {
async function handleSubmitModule() {
if (!moduleForm.name) {
ElMessage.warning('请输入模块名称');
return;
@@ -582,24 +582,24 @@ const handleSubmitModule = async () => {
} finally {
submitting.value = false;
}
};
}
// 新增权限
const handleAddPermission = () => {
function handleAddPermission() {
isEditPermission.value = false;
resetPermissionForm();
permissionDialogVisible.value = true;
};
}
// 编辑权限
const handleEditPermission = (permission: SysPermission) => {
function handleEditPermission(permission: SysPermission) {
isEditPermission.value = true;
Object.assign(permissionForm, permission);
permissionDialogVisible.value = true;
};
}
// 删除权限
const handleDeletePermission = async (permission: SysPermission) => {
async function handleDeletePermission(permission: SysPermission) {
if (!currentModule.value) return;
try {
@@ -630,10 +630,10 @@ const handleDeletePermission = async (permission: SysPermission) => {
ElMessage.error('删除权限失败');
}
}
};
}
// 提交权限表单
const handleSubmitPermission = async () => {
async function handleSubmitPermission() {
if (!permissionForm.name) {
ElMessage.warning('请输入权限名称');
return;
@@ -674,10 +674,10 @@ const handleSubmitPermission = async () => {
} finally {
submitting.value = false;
}
};
}
// 绑定菜单
const handleBindMenu = async (permission: SysPermission) => {
async function handleBindMenu(permission: SysPermission) {
currentPermission.value = permission;
permission.bindType = 'menu';
@@ -695,10 +695,10 @@ const handleBindMenu = async (permission: SysPermission) => {
console.error('获取菜单绑定信息失败:', error);
ElMessage.error('获取菜单绑定信息失败');
}
};
}
// 绑定角色
const handleBindRole = async (permission: SysPermission) => {
async function handleBindRole(permission: SysPermission) {
currentPermission.value = permission;
permission.bindType = 'role';
@@ -716,14 +716,14 @@ const handleBindRole = async (permission: SysPermission) => {
console.error('获取角色绑定信息失败:', error);
ElMessage.error('获取角色绑定信息失败');
}
};
}
// 菜单选择相关
const isMenuSelected = (menuID: string | undefined): boolean => {
function isMenuSelected(menuID: string | undefined): boolean {
return menuID ? selectedMenus.value.includes(menuID) : false;
};
}
const toggleMenuSelection = (menu: SysMenu) => {
function toggleMenuSelection(menu: SysMenu) {
if (!menu.menuID) return;
const index = selectedMenus.value.indexOf(menu.menuID);
if (index > -1) {
@@ -731,14 +731,14 @@ const toggleMenuSelection = (menu: SysMenu) => {
} else {
selectedMenus.value.push(menu.menuID);
}
};
}
// 角色选择相关
const isRoleSelected = (roleID: string | undefined): boolean => {
function isRoleSelected(roleID: string | undefined): boolean {
return roleID ? selectedRoles.value.includes(roleID) : false;
};
}
const toggleRoleSelection = (role: SysRole) => {
function toggleRoleSelection(role: SysRole) {
if (!role.roleID) return;
const index = selectedRoles.value.indexOf(role.roleID);
if (index > -1) {
@@ -746,10 +746,10 @@ const toggleRoleSelection = (role: SysRole) => {
} else {
selectedRoles.value.push(role.roleID);
}
};
}
// 保存菜单绑定
const saveMenuBinding = async () => {
async function saveMenuBinding() {
if (!currentPermission.value?.permissionID) {
ElMessage.error('权限信息不完整');
return;
@@ -792,10 +792,10 @@ const saveMenuBinding = async () => {
} finally {
submitting.value = false;
}
};
}
// 保存角色绑定
const saveRoleBinding = async () => {
async function saveRoleBinding() {
if (!currentPermission.value?.permissionID) {
ElMessage.error('权限信息不完整');
return;
@@ -837,10 +837,10 @@ const saveRoleBinding = async () => {
} finally {
submitting.value = false;
}
};
}
// 重置表单
const resetModuleForm = () => {
function resetModuleForm() {
Object.assign(moduleForm, {
name: '',
code: '',
@@ -849,21 +849,21 @@ const resetModuleForm = () => {
orderNum: 0,
status: 1
});
};
}
const resetPermissionForm = () => {
function resetPermissionForm() {
Object.assign(permissionForm, {
name: '',
code: '',
description: ''
});
};
}
const resetBindList = () => {
function resetBindList() {
selectedMenus.value = [];
selectedRoles.value = [];
currentPermission.value = null;
};
}
// 初始化
onMounted(() => {