feat(web): 插件侧边栏改为三级菜单结构 — 按插件名分组可折叠

插件菜单从扁平列表改为三级结构:
  插件(分组)→ 插件名(可折叠子标题)→ 页面列表

- store 新增 PluginMenuGroup 类型和 pluginMenuGroups getter
- MainLayout 新增 SidebarSubMenu 组件,支持展开/收起
- 折叠侧边栏时子菜单显示插件图标 + tooltip
- 子菜单项增加缩进样式区分层级
- CRM 插件 name 改为 "CRM" 避免与页面标题重名
This commit is contained in:
iven
2026-04-17 01:01:19 +08:00
parent ae62e2ecb2
commit f4dd228a67
4 changed files with 173 additions and 36 deletions

View File

@@ -658,6 +658,50 @@ body {
margin-left: 12px;
}
/* Sidebar sub-menu (plugin group) */
.erp-sidebar-submenu-title {
display: flex;
align-items: center;
height: 32px;
margin: 6px 8px 2px 8px;
padding: 0 12px;
border-radius: 6px;
cursor: pointer;
color: #94A3B8;
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
transition: all 0.15s;
user-select: none;
}
.erp-sidebar-submenu-title:hover {
background: rgba(255, 255, 255, 0.06);
color: #E2E8F0;
}
.erp-sidebar-submenu-title-active {
color: #A5B4FC;
}
.erp-sidebar-submenu-arrow {
display: flex;
align-items: center;
margin-right: 8px;
font-size: 10px;
}
.erp-sidebar-submenu-label {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.erp-sidebar-item-indented {
padding-left: 36px;
}
/* Main layout */
.erp-main-layout {
transition: margin-left 0.2s cubic-bezier(0.4, 0, 0.2, 1);