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

141 lines
4.4 KiB
TypeScript
Raw Normal View History

import { GROUP_WRITER_NAME } from '@/router/routes/modules/materialCenter-writer';
2025-08-18 17:22:11 +08:00
export interface typeMenuItem {
key?: string | number; // 菜单组key
label?: string; // 菜单组标题
icon?: string; // 菜单组图标
routeName?: string; // 路由名称
requireLogin?: boolean; // 是否需要登录
requireAuth?: boolean; // 是否需要权限验证
activeMatch?: string[]; // 菜单高亮路由组匹配
children?: typeMenuItem[]; // 子菜单列表
}
export const MENU_LIST = <Record<string, typeMenuItem[]>>{
GroupMain: [
{
key: 'ModAccountManage',
label: '账号管理',
icon: 'svg-accountManage',
children: [
{
key: 'ModMediaAccountManage',
icon: 'svg-mediaAccountManage',
label: '账号管理',
routeName: 'MediaAccountAccountManagement',
requireLogin: true,
activeMatch: ['MediaAccountAccountManagement'],
},
{
key: 'ModMediaAccountData',
icon: 'svg-mediaAccountData',
label: '账号数据',
routeName: 'MediaAccountAccountDashboard',
requireLogin: true,
activeMatch: ['MediaAccountAccountDashboard', 'MediaAccountAccountDetails'],
},
{
key: 'ModPutAccountManage',
icon: 'svg-putAccountManage',
label: '账户管理',
routeName: 'PutAccountAccountManagement',
requireLogin: true,
activeMatch: ['PutAccountAccountManagement'],
},
{
key: 'ModPutAccountData',
icon: 'svg-putAccountData',
label: '账户数据',
2025-08-18 17:22:11 +08:00
routeName: 'PutAccountAccountData',
requireLogin: true,
activeMatch: ['PutAccountAccountData'],
},
{
key: 'ModPutAccountAccountDashboard',
icon: 'svg-putAccountAccountDashboard',
label: '投放表现分析',
routeName: 'PutAccountAccountDashboard',
requireLogin: true,
activeMatch: ['PutAccountAccountDashboard'],
},
{
key: 'ModInvestmentGuidelines',
icon: 'svg-putAccountInvestmentGuidelines',
label: '投放指南',
routeName: 'PutAccountInvestmentGuidelines',
requireLogin: true,
activeMatch: ['PutAccountInvestmentGuidelines', 'PutAccountInvestmentGuidelinesDetail'],
},
],
},
{
key: 'ModMaterialCenter',
label: '素材中心',
icon: 'svg-materialCenter',
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,
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,
activeMatch: ['MaterialCenterRawMaterial'],
2025-08-18 17:22:11 +08:00
},
],
},
{
key: 'ModTaskManage',
label: '任务管理',
icon: 'svg-taskManage',
routeName: 'TaskManagement',
},
],
[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,
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,
// activeMatch: ['WriterMaterialCenterRawMaterial'],
// },
2025-08-18 17:22:11 +08:00
],
},
],
};