maxkb/ui/src/router/modules/system.ts
2025-06-10 19:51:06 +08:00

102 lines
2.9 KiB
TypeScript

import { Role, ComplexPermission } from '@/utils/permission/type'
const systemRouter = {
path: '/system',
name: 'system',
meta: { title: 'views.system.title', permission: 'USER_MANAGEMENT:READ' },
hidden: true,
component: () => import('@/layout/layout-template/SystemMainLayout.vue'),
children: [
{
path: '/system/user',
name: 'user',
meta: {
icon: 'User',
iconActive: 'UserFilled',
title: 'views.userManage.title',
activeMenu: '/system',
parentPath: '/system',
parentName: 'system',
},
component: () => import('@/views/user-manage/index.vue'),
},
{
path: '/system/authorization',
name: 'authorization',
meta: {
icon: 'app-resource-authorization',
iconActive: 'app-resource-authorization-active',
title: 'views.resourceAuthorization.title',
activeMenu: '/system',
parentPath: '/system',
parentName: 'system',
},
component: () => import('@/views/resource-authorization/index.vue'),
},
{
path: '/system/role',
name: 'role',
meta: {
icon: 'app-resource-authorization', // TODO
iconActive: 'app-resource-authorization-active', // TODO
title: 'views.role.title',
activeMenu: '/system',
parentPath: '/system',
parentName: 'system',
},
component: () => import('@/views/role/index.vue'),
},
{
path:'/system/setting',
name: 'setting',
meta: {
icon: 'app-setting',
iconActive: 'app-setting-active',
title: 'views.system.subTitle',
activeMenu: '/system',
parentPath: '/system',
parentName: 'system',
},
children: [
{
path: '/system/theme',
name: 'theme',
meta: {
title: 'views.system.theme.title',
activeMenu: '/setting',
parentPath: '/setting',
parentName: 'setting',
//permission: new ComplexPermission(['ADMIN'], ['x-pack'], 'AND')
},
component: () => import('@/views/theme/index.vue'),
},
{
path: '/system/authentication',
name: 'authentication',
meta: {
title: 'views.system.authentication.title',
activeMenu: '/setting',
parentPath: '/setting',
parentName: 'setting',
//permission: new ComplexPermission(['ADMIN'], ['x-pack'], 'AND')
},
component: () => import('@/views/authentication/index.vue')
},
{
path: '/system/email',
name: 'email',
meta: {
title: 'views.system.email.title',
activeMenu: '/setting',
parentPath: '/setting',
parentName: 'setting',
//permission: new Role('ADMIN')
},
component: () => import('@/views/email/index.vue')
}
]
}
],
}
export default systemRouter