From 9483baffba9a24a2a36fc8739fc65b59317d9142 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期四, 03 七月 2025 14:18:46 +0800 Subject: [PATCH] 队列拆分 --- zy-acs-flow/src/layout/MyMenu.jsx | 22 ++++++++++++++++++---- 1 files changed, 18 insertions(+), 4 deletions(-) diff --git a/zy-acs-flow/src/layout/MyMenu.jsx b/zy-acs-flow/src/layout/MyMenu.jsx index bfbe11f..a36567a 100644 --- a/zy-acs-flow/src/layout/MyMenu.jsx +++ b/zy-acs-flow/src/layout/MyMenu.jsx @@ -12,12 +12,12 @@ import SubMenu from './SubMenu'; import SettingsIcon from '@mui/icons-material/Settings'; import DashboardIcon from '@mui/icons-material/Dashboard'; -import DehazeIcon from '@mui/icons-material/Dehaze'; +import HorizontalRuleIcon from '@mui/icons-material/HorizontalRule'; import PersonIcon from '@mui/icons-material/Person'; import * as Icons from '@mui/icons-material'; const getIconComponent = (iconStr) => { - return Icons[iconStr] || DehazeIcon; + return Icons[iconStr] || HorizontalRuleIcon; }; export const MyMenu = ({ dense = false }) => { @@ -28,12 +28,24 @@ const { isPending, permissions } = usePermissions(); useEffect(() => { + // default open sub menu + const defaultExpandMenu = ["menu.warehouse", "menu.dispatcher", "menu.equipment"]; + permissions?.forEach(item => { + if (defaultExpandMenu.includes(item.name)) { + setState(state => ({ ...state, [item.route]: true })); + } + }); + }, [permissions]); + + useEffect(() => { + // expand this parent menu const currentPath = location.pathname; const parentRoutes = findParentRoutes(currentPath, permissions) for (const parentRoute of parentRoutes) { setState(state => ({ ...state, [parentRoute]: true })); } - }, [location.pathname, permissions]); + + }, [location.pathname]); const handleToggle = (menu) => { setState(state => ({ ...state, [menu]: !state[menu] })); @@ -41,7 +53,9 @@ const getIcon = (iconStr) => { const IconComponent = getIconComponent(iconStr); - return <IconComponent />; + if (IconComponent) { + return <IconComponent />; + } }; const generateMenu = (permissions) => { -- Gitblit v1.9.1