v3.26.0 【优化】分页请求2次;【优化】菜单展开单个代码优化;【优化】操作记录返回结果;【优化】json viewer升级;【优化】S3协议优化;【优化】代码生成字典优化;

This commit is contained in:
zhuoda
2025-08-10 13:02:01 +08:00
parent 8135e0ec10
commit d2c55e35ff
109 changed files with 309 additions and 266 deletions

View File

@@ -36,7 +36,7 @@
import { useUserStore } from '/@/store/modules/system/user';
const theme = computed(() => useAppConfigStore().$state.sideMenuTheme);
const flatPattern = computed(() => useAppConfigStore().$state.flatPattern);
const menuSingleExpandFlag = computed(() => useAppConfigStore().$state.menuSingleExpandFlag);
const props = defineProps({
collapsed: {
@@ -46,8 +46,7 @@
});
const menuTree = computed(() => useUserStore().getMenuTree || []);
const rootSubmenuKeys = computed(()=>menuTree.value.map(item=>item.menuId));
const rootSubmenuKeys = computed(() => menuTree.value.map((item) => item.menuId));
//展开的菜单
let currentRoute = useRoute();
@@ -76,9 +75,15 @@
let parentList = menuParentIdListMap.get(currentRoute.name) || [];
// 如果是折叠菜单的话则不需要设置openkey
if (!props.collapsed) {
if (props.collapsed) {
return;
}
let needOpenKeys = _.map(parentList, 'name').map(Number);
if (menuSingleExpandFlag.value) {
openKeys.value = [...needOpenKeys];
} else {
// 使用lodash的union函数进行 去重合并两个数组
let needOpenKeys = _.map(parentList, 'name').map(Number);
openKeys.value = _.union(openKeys.value, needOpenKeys);
}
}
@@ -92,17 +97,18 @@
immediate: true,
}
);
function onOpenChange(openKeysParams){
if(flatPattern.value){
return;
function onOpenChange(openKeysParams) {
if (!menuSingleExpandFlag.value) {
return;
}
const latestOpenKey = openKeysParams.find((key) => openKeys.value.indexOf(key) === -1);
if (rootSubmenuKeys.value.indexOf(latestOpenKey) === -1) {
openKeys.value = openKeysParams;
} else {
openKeys.value = latestOpenKey ? [latestOpenKey] : [];
}
}
const latestOpenKey = openKeysParams.find(key => openKeys.value.indexOf(key) === -1);
if (rootSubmenuKeys.value.indexOf(latestOpenKey) === -1) {
openKeys.value = openKeysParams;
} else {
openKeys.value = latestOpenKey ? [latestOpenKey] : [];
}
};
defineExpose({
updateOpenKeysAndSelectKeys,
});