You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

250 lines
4.9 KiB

import type { Menu } from '/@/router/types'
const workbenchMenu: Menu = {
path: '/workbench',
name: 'Workbench',
component: 'LAYOUT',
redirect: '/workbench/index',
meta: {
orderNo: 90001,
hideChildrenInMenu: true,
icon: 'ant-design:pay-circle-outlined',
title: 'routes.basic.workbench',
},
children: [
{
path: 'index',
name: 'WorkbenchPage',
component: '/sys/workbench/index.vue',
meta: {
title: 'routes.basic.workbench',
},
},
],
}
const clueMenu: Menu = {
path: '/clue',
name: 'clue',
component: 'LAYOUT',
redirect: '/clue/cluePool',
meta: {
orderNo: 90003,
hideChildrenInMenu: false,
icon: 'ant-design:dribbble-circle-filled',
title: 'routes.clue.clue',
},
children: [
{
path: 'clueIndex',
name: 'ClueIndex',
component: '/clue/clueIndex/index.vue',
meta: {
title: 'routes.clue.clueIndex',
},
},
{
path: 'cluePool',
name: 'CluePool',
component: '/clue/cluePool/index.vue',
meta: {
title: 'routes.clue.cluePool',
},
},
{
path: 'clueList',
name: 'ClueList',
component: '/clue/clueList/index.vue',
meta: {
title: 'routes.clue.clueList',
},
},
{
path: 'poolist',
name: 'Poolist',
component: '/clue/poolist/index.vue',
meta: {
title: 'routes.clue.poolist',
},
},
{
path: 'followlist',
name: 'Followlist',
component: '/clue/followlist/index.vue',
meta: {
title: 'routes.clue.followlist',
},
},
{
path: 'customer',
name: 'Customer',
component: '/clue/customer/index.vue',
meta: {
title: 'routes.clue.customer',
hideMenu: true,
},
},
],
}
const inviteMenu: Menu = {
path: '/invite',
name: 'Invite',
component: 'LAYOUT',
redirect: '/invite/index',
meta: {
orderNo: 90004,
hideChildrenInMenu: false,
icon: 'ant-design:whats-app-outlined',
title: 'routes.invite.invite',
},
children: [
{
path: 'statistics',
name: 'Statistics',
component: '/invite/statistics/index.vue',
meta: {
title: 'routes.invite.statistics',
},
},
{
path: 'index',
name: 'Index',
component: '/invite/index/index.vue',
meta: {
title: 'routes.invite.index',
},
},
{
path: 'list',
name: 'List',
component: '/invite/list/index.vue',
meta: {
title: 'routes.invite.list',
},
},
{
path: 'myList',
name: 'MyList',
component: '/invite/myList/index.vue',
meta: {
title: 'routes.invite.myList',
},
},
{
path: 'seasList',
name: 'SeasList',
component: '/invite/seasList/index.vue',
meta: {
title: 'routes.invite.seasList',
},
},
,
{
path: 'inviteInfo',
name: 'InviteInfo',
component: '/invite/inviteInfo/index.vue',
meta: {
title: 'routes.clue.customer',
hideMenu: true,
},
},
],
}
const marketMenu: Menu = {
path: '/market',
name: 'Market',
component: 'LAYOUT',
redirect: '/market/appointment',
meta: {
orderNo: 90005,
hideChildrenInMenu: false,
icon: 'ant-design:file-sync-outlined',
title: 'routes.invite.market',
},
children: [
{
path: 'appointment',
name: 'Appointment',
component: '/market/appointment/index.vue',
meta: {
title: 'routes.invite.appointment',
},
},
{
path: 'task',
name: 'Task',
component: '/market/task/index.vue',
meta: {
title: 'routes.invite.task',
},
},
{
path: 'contract',
name: 'Contract',
component: '/market/contract/index.vue',
meta: {
title: 'routes.invite.contract',
},
},
{
path: 'client',
name: 'Client',
component: '/market/client/index.vue',
meta: {
title: 'routes.invite.client',
},
},
],
}
const systemMenu: Menu = {
path: '/system',
name: 'System',
component: 'LAYOUT',
redirect: '/system/role',
meta: {
orderNo: 91014,
hideChildrenInMenu: false,
icon: 'ion:settings-outline',
title: 'routes.system.system',
},
children: [
{
path: 'menu',
name: 'Menu',
component: '/system/menu/index.vue',
meta: {
title: 'routes.system.menu',
},
},
{
path: 'role',
name: 'Role',
component: '/system/role/index.vue',
meta: {
title: 'routes.system.role',
},
},
{
path: 'staffList',
name: 'StaffList',
component: '/staff/staff/index.vue',
meta: {
title: 'routes.staff.staffList',
},
},
],
}
const appMenuList: Menu[] = [
workbenchMenu,
clueMenu,
inviteMenu,
marketMenu,
systemMenu,
]
// 测试账号:15014242835
export default appMenuList