feat(project): group project pages under a management menu

Add a second-level project management directory to match the requested navigation hierarchy. Preserve page permissions and legacy URLs, and migrate existing role grants to include the new ancestor. User will validate after integration.
This commit is contained in:
zlwu committed 2026-11-04 12:15:00 +08:00
1 parent c4d157b23a
commit d8d7001b9b
7 files changed
+126 -40

No files matched your search

+30 -22
View File
@@ -20,28 +20,36 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
},
children: [
{
name: 'ProjectManagementTeams',
path: 'teams',
component: '/project-management/teams/index',
meta: { title: '项目组管理', keepAlive: true, menuCode: 'project:team:list' }
},
{
name: 'ProjectManagementProjects',
path: 'projects',
component: '/project-management/projects/index',
meta: { title: '项目管理', keepAlive: true, menuCode: 'project:project:list' }
},
{
name: 'ProjectManagementStatistics',
path: 'statistics',
component: '/project-management/statistics/index',
meta: { title: '业务统计', keepAlive: true, menuCode: 'project:statistics:list' }
},
{
name: 'ProjectManagementAssignments',
path: 'assignments',
component: '/project-management/assignments/index',
meta: { title: '历史归属维护', keepAlive: true, menuCode: 'project:assignment:edit' }
name: 'ProjectManagement',
path: 'management',
component: '',
meta: { title: '项目管理', keepAlive: false, menuCode: 'menu:project:management' },
children: [
{
name: 'ProjectManagementTeams',
path: 'teams',
component: '/project-management/teams/index',
meta: { title: '项目组管理', keepAlive: true, menuCode: 'project:team:list' }
},
{
name: 'ProjectManagementProjects',
path: 'projects',
component: '/project-management/projects/index',
meta: { title: '项目管理', keepAlive: true, menuCode: 'project:project:list' }
},
{
name: 'ProjectManagementStatistics',
path: 'statistics',
component: '/project-management/statistics/index',
meta: { title: '业务统计', keepAlive: true, menuCode: 'project:statistics:list' }
},
{
name: 'ProjectManagementAssignments',
path: 'assignments',
component: '/project-management/assignments/index',
meta: { title: '历史归属维护', keepAlive: true, menuCode: 'project:assignment:edit' }
}
]
}
]
},
+10 -8
View File
@@ -11,14 +11,16 @@ import { AppRouteRecordRaw } from '@/utils/router'
* 2、静态路由不管是否登录都可以访问
*/
export const staticRoutes: AppRouteRecordRaw[] = [
...['teams', 'projects', 'statistics', 'assignments'].map((section) => ({
path: `/market/project-management/${section}`,
redirect: (to: { query: Record<string, any>; hash: string }) => ({
path: `/project/${section}`,
query: to.query,
hash: to.hash
})
})),
...['/market/project-management', '/project'].flatMap((prefix) =>
['teams', 'projects', 'statistics', 'assignments'].map((section) => ({
path: `${prefix}/${section}`,
redirect: (to: { query: Record<string, any>; hash: string }) => ({
path: `/project/management/${section}`,
query: to.query,
hash: to.hash
})
}))
),
{
path: '/auth/login',
name: 'Login',