LSSE-front/src/config/router.config.js

346 lines
12 KiB
JavaScript

// eslint-disable-next-line
import { UserLayout, BasicLayout, BlankLayout } from '@/layouts'
import { bxAnaalyse } from '@/core/icons'
const RouteView = {
name: 'RouteView',
render: (h) => h('router-view'),
}
export const asyncRouterMap = [
{
path: '/',
name: 'index',
component: BasicLayout,
meta: { title: 'menu.home' },
redirect: '/user/thirdLogin',
children: [
// dashboard
{
path: '/dashboard',
name: 'dashboard',
redirect: '/dashboard/workplace',
component: RouteView,
// meta: { title: 'menu.dashboard', keepAlive: true, icon: bxAnaalyse, permission: ['dashboard'] },
meta: { title: '基础数据管理工具', keepAlive: true, icon: bxAnaalyse },
children: [
{
path: '/dashboard/workplace',
name: 'Workplace',
component: () => import('@/views/dashboard/WorkplaceEquipment'),
meta: { title: '主页', keepAlive: true },
},
],
},
{
path: '/map',
name: 'map',
redirect: '/map/index',
component: RouteView,
// meta: { title: 'menu.dashboard', keepAlive: true, icon: bxAnaalyse, permission: ['dashboard'] },
meta: { title: '地图资源库', keepAlive: true, icon: bxAnaalyse },
children: [
{
path: '/map/index',
name: 'mapIndex',
component: () => import('@/views/map/mapIndex'),
meta: { title: '主页', keepAlive: true },
},
],
},
// isystem
{
path: '/isystem',
name: 'isystem',
// redirect: '/isystem/workplace',
component: RouteView,
meta: { title: '后台管理', keepAlive: true, icon: bxAnaalyse, permission: ['isystem'] },
children: [
{
path: '/isystem/userlist',
name: 'userlist',
component: () => import('@/views/isystem/userList'),
meta: { title: '用户管理', keepAlive: true, permission: ['isystem'] },
},
{
path: '/isystem/rolelist',
name: 'rolelist',
component: () => import('@/views/isystem/roleList'),
meta: { title: '角色管理', keepAlive: true, permission: ['isystem'] },
},
{
path: '/isystem/cookieList',
name: 'cookieList',
component: () => import('@/views/isystem/cookieList'),
meta: { title: '缓存管理', keepAlive: true, permission: ['isystem'] },
},
],
},
// account
{
path: '/account',
component: RouteView,
redirect: '/account/center',
name: 'account',
hidden: true,
meta: { title: 'menu.account', icon: 'user', keepAlive: true, hidden: true, permission: ['user'] },
children: [
{
path: '/account/center',
name: 'center',
component: () => import('@/views/account/center'),
meta: { title: 'menu.account.center', keepAlive: true, permission: ['user'] },
},
{
path: '/account/settings',
name: 'settings',
component: () => import('@/views/account/settings/Index'),
meta: { title: 'menu.account.settings', hideHeader: true, permission: ['user'] },
redirect: '/account/settings/basic',
hideChildrenInMenu: true,
children: [
{
path: '/account/settings/basic',
name: 'BasicSettings',
component: () => import('@/views/account/settings/BasicSetting'),
meta: { title: 'account.settings.menuMap.basic', hidden: true, permission: ['user'] },
},
{
path: '/account/settings/security',
name: 'SecuritySettings',
component: () => import('@/views/account/settings/Security'),
meta: {
title: 'account.settings.menuMap.security',
hidden: true,
keepAlive: true,
permission: ['user'],
},
},
{
path: '/account/settings/custom',
name: 'CustomSettings',
component: () => import('@/views/account/settings/Custom'),
meta: { title: 'account.settings.menuMap.custom', hidden: true, keepAlive: true, permission: ['user'] },
},
{
path: '/account/settings/binding',
name: 'BindingSettings',
component: () => import('@/views/account/settings/Binding'),
meta: {
title: 'account.settings.menuMap.binding',
hidden: true,
keepAlive: true,
permission: ['user'],
},
},
{
path: '/account/settings/notification',
name: 'NotificationSettings',
component: () => import('@/views/account/settings/Notification'),
meta: {
title: 'account.settings.menuMap.notification',
hidden: true,
keepAlive: true,
permission: ['user'],
},
},
],
},
],
},
],
},
{
path: '*',
redirect: '/404',
hidden: true,
},
]
/**
* 基础路由
* @type { *[] }
*/
export const constantRouterMap = [
{
path: '/user',
component: UserLayout,
redirect: '/user/login',
hidden: true,
children: [
{
path: 'login',
name: 'login',
component: () => import(/* webpackChunkName: "user" */ '@/views/user/Login'),
},
{
path: 'thirdLogin',
name: 'thirdLogin',
component: () => import(/* webpackChunkName: "user" */ '@/views/user/ThirdLogin'),
},
{
path: 'register',
name: 'register',
component: () => import(/* webpackChunkName: "user" */ '@/views/user/Register'),
},
{
path: 'register-result',
name: 'registerResult',
component: () => import(/* webpackChunkName: "user" */ '@/views/user/RegisterResult'),
},
{
path: 'recover',
name: 'recover',
component: undefined,
},
],
},
{
path: '/other',
component: BasicLayout,
hidden: true,
children: [
{
path: 'resetPwd',
name: '重置密码',
meta: {
title: '重置密码',
},
component: () => import('@/views/user/ResetPwd.vue'),
},
],
},
{
path: '/simulationScene',
name: 'SimulationScene',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/index.vue'),
redirect: '/simulationScene/centralControl',
children: [
{
path: '/simulationScene/trainer',
name: 'SimulationSceneTrainer',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/trainer/index.vue'),
meta: { title: '训练员系统' },
},
{
path: '/simulationScene/trainerSystem',
name: 'SimulationSceneTrainerSystem',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/trainer/system/index.vue'),
children: [
{
path: '/simulationScene/trainerSystem/simulationModel',
name: 'SimulationSceneTrainerSystemSimulationModel',
component: () =>
import(/* webpackChunkName: "fail" */ '@/views/simulationScene/trainer/system/simulationModel/index.vue'),
},
{
path: '/simulationScene/trainerSystem/sceneEditing',
name: 'SimulationSceneTrainerSystemSceneEditing',
component: () =>
import(/* webpackChunkName: "fail" */ '@/views/simulationScene/trainer/system/sceneEditing/index.vue'),
},
{
path: '/simulationScene/trainerSystem/display',
name: 'SimulationSceneTrainerSystemDisplay',
component: () =>
import(/* webpackChunkName: "fail" */ '@/views/simulationScene/trainer/system/display/index.vue'),
},
{
path: '/simulationScene/trainerSystem/evaluation',
name: 'SimulationSceneTrainerSystemEvaluation',
component: () =>
import(/* webpackChunkName: "fail" */ '@/views/simulationScene/trainer/system/evaluation/index.vue'),
},
],
},
{
path: '/simulationScene/instructor',
name: 'SimulationSceneInstructor',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/instructor/index.vue'),
meta: { title: '教员系统' },
},
{
path: '/simulationScene/instructorSystem',
name: 'SimulationSceneInstructorSystem',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/instructor/system/index.vue'),
children: [
{
path: '/simulationScene/instructorSystem/simulationModel',
name: 'SimulationSceneInstructorSystemSimulationModel',
component: () =>
import(/* webpackChunkName: "fail" */ '@/views/simulationScene/instructor/system/simulationModel/index.vue'),
},
{
path: '/simulationScene/instructorSystem/sceneEditing',
name: 'SimulationSceneInstructorSystemSceneEditing',
component: () =>
import(/* webpackChunkName: "fail" */ '@/views/simulationScene/instructor/system/sceneEditing/index.vue'),
},
{
path: '/simulationScene/instructorSystem/display',
name: 'SimulationSceneInstructorSystemDisplay',
component: () =>
import(/* webpackChunkName: "fail" */ '@/views/simulationScene/instructor/system/display/index.vue'),
},
{
path: '/simulationScene/instructorSystem/evaluation',
name: 'SimulationSceneInstructorSystemEvaluation',
component: () =>
import(/* webpackChunkName: "fail" */ '@/views/simulationScene/instructor/system/evaluation/index.vue'),
},
],
},
{
path: '/simulationScene/systemSelect',
name: 'SimulationSceneSystemSelect',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/systemSelect/index.vue'),
},
{
path: '/simulationScene/centralControl',
name: 'SimulationSceneCentralControl',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/centralControl/index.vue'),
meta: { title: '系统控制子系统' },
},
{
path: '/simulationScene/database',
name: 'SimulationSceneDatabase',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/database/index.vue'),
meta: { title: '数据库子系统' },
},
{
path: '/simulationScene/simulationModel',
name: 'SimulationSceneSimulationModel',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/simulationModel/index.vue'),
meta: { title: '仿真模型子系统' },
},
{
path: '/simulationScene/sceneEditing',
name: 'SimulationSceneSceneEditing',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/sceneEditing/index.vue'),
},
{
path: '/simulationScene/display',
name: 'SimulationSceneDisplay',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/display/index.vue'),
meta: { title: '显示子系统' },
},
{
path: '/simulationScene/evaluation',
name: 'SimulationSceneEvaluation',
component: () => import(/* webpackChunkName: "fail" */ '@/views/simulationScene/evaluation/index.vue'),
meta: { title: '评估子系统' },
},
],
},
{
path: '/404',
component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404'),
},
]