Files
lingji-work-fe/src/layouts/components/siderBar/menu-list.ts

182 lines
5.9 KiB
TypeScript
Raw Normal View History

2025-08-29 12:03:04 +08:00
export const GROUP_WRITER_NAME = 'GroupWriterMaterialCenter';
export const GROUP_MANAGEMENT_NAME = 'GroupManagement';
export const GROUP_MAIN_NAME = 'GroupMain';
2025-08-18 17:22:11 +08:00
export interface typeMenuItem {
2025-09-01 10:15:44 +08:00
key?: string; // 菜单组key
2025-08-18 17:22:11 +08:00
label?: string; // 菜单组标题
2025-08-29 12:03:04 +08:00
icon?: string | [string, string]; // 菜单组图标
2025-08-18 17:22:11 +08:00
routeName?: string; // 路由名称
requireLogin?: boolean; // 是否需要登录
requireAuth?: boolean; // 是否需要权限验证
activeMatch?: string[]; // 菜单高亮路由组匹配
children?: typeMenuItem[]; // 子菜单列表
}
export const MENU_LIST = <Record<string, typeMenuItem[]>>{
2025-08-29 12:03:04 +08:00
[GROUP_MAIN_NAME]: [
2025-08-18 17:22:11 +08:00
{
key: 'ModAccountManage',
label: '账号管理',
2025-08-29 12:03:04 +08:00
icon: ['svg-accountManage', 'svg-accountManage-active'],
2025-08-18 17:22:11 +08:00
children: [
{
key: 'ModMediaAccountManage',
icon: 'svg-mediaAccountManage',
label: '账号管理',
routeName: 'MediaAccountAccountManagement',
requireLogin: true,
2025-09-11 11:26:51 +08:00
requireAuth: true,
2025-08-18 17:22:11 +08:00
activeMatch: ['MediaAccountAccountManagement'],
},
{
key: 'ModMediaAccountData',
icon: 'svg-mediaAccountData',
label: '账号数据',
routeName: 'MediaAccountAccountDashboard',
requireLogin: true,
2025-09-11 11:26:51 +08:00
requireAuth: true,
2025-08-18 17:22:11 +08:00
activeMatch: ['MediaAccountAccountDashboard', 'MediaAccountAccountDetails'],
},
2025-08-29 12:03:04 +08:00
// {
// key: 'ModPutAccountManage',
// icon: 'svg-putAccountManage',
// label: '账户管理',
// routeName: 'PutAccountAccountManagement',
// requireLogin: true,
2025-09-11 11:26:51 +08:00
// requireAuth: true,
2025-08-29 12:03:04 +08:00
// activeMatch: ['PutAccountAccountManagement'],
// },
// {
// key: 'ModPutAccountData',
// icon: 'svg-putAccountData',
// label: '账户数据',
// routeName: 'PutAccountAccountData',
// requireLogin: true,
2025-09-11 11:26:51 +08:00
// requireAuth: true,
2025-08-29 12:03:04 +08:00
// activeMatch: ['PutAccountAccountData'],
// },
// {
// key: 'ModPutAccountAccountDashboard',
// icon: 'svg-putAccountAccountDashboard',
// label: '投放表现分析',
// routeName: 'PutAccountAccountDashboard',
// requireLogin: true,
2025-09-11 11:26:51 +08:00
// requireAuth: true,
2025-08-29 12:03:04 +08:00
// activeMatch: ['PutAccountAccountDashboard'],
// },
// {
// key: 'ModInvestmentGuidelines',
// icon: 'svg-putAccountInvestmentGuidelines',
// label: '投放指南',
// routeName: 'PutAccountInvestmentGuidelines',
// requireLogin: true,
2025-09-11 11:26:51 +08:00
// requireAuth: true,
2025-08-29 12:03:04 +08:00
// activeMatch: ['PutAccountInvestmentGuidelines', 'PutAccountInvestmentGuidelinesDetail'],
// },
2025-08-18 17:22:11 +08:00
],
},
{
key: 'ModMaterialCenter',
label: '素材中心',
2025-08-29 12:03:04 +08:00
icon: ['svg-materialCenter', 'svg-materialCenter-active'],
2025-08-18 17:22:11 +08:00
children: [
{
key: 'ModMaterialCenterFinishedProductsWareHouse',
2025-08-18 17:22:11 +08:00
icon: 'svg-finishProductsWareHouse',
label: '成品库',
routeName: 'MaterialCenterFinishedProducts',
2025-08-18 17:22:11 +08:00
requireLogin: true,
2025-09-11 11:26:51 +08:00
requireAuth: true,
activeMatch: [
'MaterialCenterFinishedProducts',
'ManuscriptUpload',
'ManuscriptEdit',
'ManuscriptDetail',
'ManuscriptCheckListDetail',
'ManuscriptCheck',
],
2025-08-18 17:22:11 +08:00
},
{
key: 'ModMaterialCenterRawMaterialStorage',
2025-08-18 17:22:11 +08:00
icon: 'svg-rawMaterialStorage',
label: '原料库',
routeName: 'MaterialCenterRawMaterial',
2025-08-18 17:22:11 +08:00
requireLogin: true,
2025-09-11 11:26:51 +08:00
requireAuth: true,
activeMatch: ['MaterialCenterRawMaterial'],
2025-08-18 17:22:11 +08:00
},
],
},
{
2025-09-05 11:56:08 +08:00
key: 'assignmentManagement',
2025-08-18 17:22:11 +08:00
label: '任务管理',
2025-08-29 12:03:04 +08:00
icon: ['svg-taskManage', 'svg-taskManage-active'],
2025-09-05 11:56:08 +08:00
routeName: 'AssignmentManagement',
activeMatch: ['AssignmentManagement'],
2025-08-18 17:22:11 +08:00
},
],
[GROUP_WRITER_NAME]: [
2025-08-18 17:22:11 +08:00
{
key: 'ModWriterMaterialCenter',
2025-08-18 17:22:11 +08:00
label: '素材中心',
icon: 'svg-materialCenter',
children: [
{
key: 'ModWriterMaterialCenterFinishedProductsWareHouse',
icon: 'svg-finishProductsWareHouse',
2025-08-18 17:22:11 +08:00
label: '成品库',
routeName: 'WriterMaterialCenterFinishedProducts',
2025-08-18 17:22:11 +08:00
requireLogin: true,
2025-09-11 11:26:51 +08:00
requireAuth: true,
activeMatch: [
'WriterMaterialCenterFinishedProducts',
'WriterManuscriptUpload',
'WriterManuscriptEdit',
'WriterManuscriptDetail',
'WriterManuscriptCheckListDetail',
'WriterManuscriptCheck',
],
2025-08-18 17:22:11 +08:00
},
// {
// key: 'ModWriterMaterialCenterRawMaterialStorage',
// icon: 'svg-rawMaterialStorage',
// label: '原料库',
// routeName: 'WriterMaterialCenterRawMaterial',
// requireLogin: true,
2025-09-11 11:26:51 +08:00
// requireAuth: true,
// activeMatch: ['WriterMaterialCenterRawMaterial'],
// },
2025-08-18 17:22:11 +08:00
],
},
],
2025-09-05 11:56:08 +08:00
[GROUP_MANAGEMENT_NAME]: [
2025-08-29 12:03:04 +08:00
{
2025-09-10 14:29:18 +08:00
key: 'ModManagementPerson',
icon: ['svg-managementPerson', 'svg-managementPerson-active'],
label: '个人信息',
routeName: 'ManagementPerson',
requireLogin: true,
activeMatch: ['ManagementPerson'],
2025-09-10 14:29:18 +08:00
},
{
key: 'ModManagementEnterprise',
icon: ['svg-managementEnterprise', 'svg-managementEnterprise-active'],
label: '企业信息',
routeName: 'ManagementEnterprise',
requireLogin: true,
2025-09-11 11:26:51 +08:00
requireAuth: true,
activeMatch: ['ManagementEnterprise'],
2025-09-10 14:29:18 +08:00
},
{
key: 'ModManagementAccount',
icon: ['svg-managementAccount', 'svg-managementAccount-active'],
label: '账号管理',
routeName: 'ManagementAccount',
requireLogin: true,
2025-09-11 11:26:51 +08:00
requireAuth: true,
2025-09-10 14:29:18 +08:00
activeMatch: ['ManagementAccount'],
2025-09-05 11:56:08 +08:00
},
],
2025-08-18 17:22:11 +08:00
};