修改前台菜单分组

This commit is contained in:
2026-06-15 15:25:02 +08:00
parent c43a7b1a2b
commit 73cb64e1e8
@@ -410,11 +410,11 @@ const AppLayout: React.FC = () => {
{/* Menu */}
<div style={{ flex: 1, padding: '8px 8px', overflow: 'auto' }}>
{!collapsed && (
{/* {!collapsed && (
<div style={{ color: 'rgba(148,163,184,0.4)', fontSize: 11, fontWeight: 600, padding: '8px 12px 6px', letterSpacing: 1 }}>
导航
</div>
)}
)} */}
{(() => {
const groups = menuItems.filter(m => (m.menu_type ?? m.menuType) === 'group');
const pages = menuItems.filter(m => (m.menu_type ?? m.menuType) !== 'group');
@@ -454,19 +454,15 @@ const AppLayout: React.FC = () => {
groups.sort((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0)).forEach(g => {
const children = (childMap[g.id] || []).sort((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0));
if (!collapsed) {
const isGroupOpen = !collapsedGroups[g.id];
items.push(
<div key={g.id}>
<div onClick={() => setCollapsedGroups(prev => ({ ...prev, [g.id]: !prev[g.id] }))} style={{
display: 'flex', alignItems: 'center', justifyContent: 'space-between',
padding: '8px 14px', margin: '8px 0 2px', cursor: 'pointer',
color: 'rgba(148,163,184,0.5)', fontSize: 11, fontWeight: 600,
letterSpacing: 0.5,
<div style={{
color: 'rgba(148,163,184,0.4)', fontSize: 11, fontWeight: 600,
padding: '8px 12px 6px', letterSpacing: 1,
}}>
<span>{g.label}</span>
<span style={{ fontSize: 10, transform: isGroupOpen ? 'rotate(90deg)' : 'none', transition: 'transform 0.2s' }}></span>
{g.label}
</div>
{isGroupOpen && children.map(c => renderMenuItem(c, 1))}
{children.map(c => renderMenuItem(c, 1))}
</div>
);
} else {