refactor(projects): 页面布局调整为rdms风格

This commit is contained in:
2026-04-15 09:35:54 +08:00
parent a6fc7b48dc
commit e22f6550ae
21 changed files with 990 additions and 188 deletions

View File

@@ -37,6 +37,11 @@ const treeProps = {
label: 'name'
} as const;
function applyCheckedKeys(keys: number[]) {
checkedKeys.value = [...keys];
treeRef.value?.setCheckedKeys(keys);
}
function getTagType(type: Api.SystemManage.MenuType): UI.ThemeColor {
const tagMap: Record<Api.SystemManage.MenuType, UI.ThemeColor> = {
1: 'info',
@@ -83,8 +88,7 @@ function collectExpandableNodeIds(nodes: Api.SystemManage.MenuSimple[]) {
async function loadRoleMenus() {
if (!props.role) {
checkedKeys.value = [];
treeRef.value?.setCheckedKeys([]);
applyCheckedKeys([]);
treeRef.value?.filter(filterKeyword.value);
return;
}
@@ -96,14 +100,14 @@ async function loadRoleMenus() {
permissionLoading.value = false;
if (error) {
checkedKeys.value = [];
treeRef.value?.setCheckedKeys([]);
applyCheckedKeys([]);
treeRef.value?.filter(filterKeyword.value);
return;
}
checkedKeys.value = data;
treeRef.value?.setCheckedKeys(data);
// Role-menu bindings are exact IDs from the backend, so tree echo must not
// cascade parent checks down to unrelated descendants.
applyCheckedKeys(data);
treeRef.value?.filter(filterKeyword.value);
}
@@ -131,7 +135,7 @@ async function handleSave() {
return;
}
checkedKeys.value = menuIds;
checkedKeys.value = [...menuIds];
window.$message?.success($t('common.modifySuccess'));
emit('saved');
@@ -153,7 +157,7 @@ watch(
() => props.menuTree.length,
value => {
if (value && props.role) {
treeRef.value?.setCheckedKeys(checkedKeys.value);
applyCheckedKeys(checkedKeys.value);
treeRef.value?.filter(filterKeyword.value);
}
}
@@ -203,6 +207,7 @@ watch(
ref="treeRef"
node-key="id"
show-checkbox
check-strictly
:default-expanded-keys="defaultExpandedKeys"
:data="menuTree"
:props="treeProps"