import { createRouter, createWebHashHistory } from "vue-router"; import layout from "@/layout/index"; //layout直接引用 其他使用路由懒加载 import store from "@/store"; // import Home from '../views/Home.vue' /** * 关于路由配置描述 * 1.meta && meta.title && meta.icon 则在菜单栏显示 * 2.如果存在children , 则以el-sub-menu子菜单显示 * 否则不在menu菜单显示 * 如果只展示单级别菜单 需要像developer这样配置 */ /** * 私有路由表 */ export const privateRoutes = [ { path: "/", name: "unitManagement", component: layout, redirect: "/unitManagement/unitInformation", meta: { title: "单位管理", icon: "personnel" }, children: [ { path: "/unitManagement/unitInformation", name: "unitInformation", component: () => import("@/views/securityManagement/unitManagement/unitInformation/index"), meta: { title: "单位信息", icon: "personnel" }, } ] }, { path: "/personnelManagement", name: "personnelManagement", component: layout, meta: { title: "人员管理", icon: "personnel" }, children: [ { path: "/personnelManagement/practitioner", name: "practitioner", component: () => import("@/views/securityManagement/personnelManagement/practitioner/index"), meta: { title: "从业人员管理", icon: "personnel" }, }, { path: "/personnelManagement/applicantPersonnel", name: "applicantPersonnel", component: () => import("@/views/securityManagement/personnelManagement/applicantPersonnel/index"), meta: { title: "申请人员", icon: "personnel" } }, ] }, { path: "/trainingManagement", name: "trainingManagement", component: layout, meta: { title: "培训管理", icon: "personnel" }, children: [ { path: "/trainingManagement/trainer", name: "trainer", component: () => import("@/views/securityManagement/trainingManagement/trainer/index"), meta: { title: "培训人员", icon: "personnel" }, }, { path: "/trainingManagement/personnelTraining", name: "personnelTraining", component: () => import("@/views/securityManagement/trainingManagement/personnelTraining/index"), meta: { title: "保安待培训人员管理", icon: "personnel" }, }, { path: "/trainingManagement/trainingProject", name: "trainingProject", component: () => import("@/views/securityManagement/trainingManagement/trainingProject/index"), meta: { title: "保安培训项目管理", icon: "personnel" } }, { path: "/trainingManagement/examManagement", name: "examManagement", component: () => import("@/views/securityManagement/trainingManagement/examManagement/index"), meta: { title: "保安考试管理", icon: "personnel" }, }, ] }, { path: "/training", name: "training", component: layout, meta: { title: "培训中心", icon: "personnel" }, children: [ { path: "/training/securityTrainingVideo", name: "securityTrainingVideo", component: () => import("@/views/Training/SecurityTrainingVideo/index"), meta: { title: "保安培训视频", icon: "personnel" } }, { path: "/training/securityQuestionBank", name: "securityQuestionBank", component: () => import("@/views/Training/SecurityQuestionBank/index"), meta: { title: "保安题库", icon: "personnel" } }, { path: "/training/securityTrainingSyllabus", name: "securityTrainingSyllabus", component: () => import("@/views/Training/SecurityTrainingSyllabus/index"), meta: { title: "保安培训教学大纲", icon: "personnel" } }, ] }, { path: "/njxx", name: "njxx", component: layout, meta: { title: "年检信息", icon: "personnel" }, children: [ { path: "/training/annualInspectionTraining", name: "annualInspectionTraining", component: () => import("@/views/Training/AnnualInspectionTraining/index"), meta: { title: "年检培训", icon: "personnel" } }, { path: "/training/annualInspectionApplicants", name: "annualInspectionApplicants", component: () => import("@/views/Training/AnnualInspectionApplicants/index"), meta: { title: "年检申请人员", icon: "personnel" } }, { path: "/training/annualInspection", name: "annualInspection", component: () => import("@/views/Training/AnnualInspection/index"), meta: { title: "年检", icon: "personnel" } }, ] }, { path: "/systemConfig", name: "systemConfigModel", component: layout, meta: { title: "系统管理", icon: "personnel" }, children: [ { path: "/user/userList", name: "userList", component: () => import("@/views/backOfficeSystem/systemConfig/user-list/index"), meta: { title: "用户管理", icon: "role" } }, { path: "/user/role", name: "userRoleIndex", component: () => import("@/views/backOfficeSystem/systemConfig/role-list/index"), meta: { title: "角色列表", icon: "role" } }, { path: "/user/menuList", name: "menuList", component: () => import("@/views/backOfficeSystem/systemConfig/menu-list/index"), meta: { title: "菜单管理", icon: "personnel-manage" } }, { path: "/dict/detail", name: "dictDetail", component: () => import("@/views/backOfficeSystem/systemConfig/dict/detail"), meta: { title: "字典数据" } }, { path: "/dict/index", name: "dictIndex", component: () => import("@/views/backOfficeSystem/systemConfig/dict/index"), meta: { title: "字典列表", icon: "article-ranking" } }, { path: "/user/deptAllocationUser/:id", name: "deptAllocationUser", component: () => import( "@/views/backOfficeSystem/systemConfig/department-list/deptAllocationUser" ), meta: { title: "管理用户" } }, { path: "/user/allocationUser/:id", name: "allocationUser", component: () => import( "@/views/backOfficeSystem/systemConfig/role-list/allocationUser" ), meta: { title: "分配用户" } }, ] }, ]; /** * 公开路由表 */ export const publicRoutes = [ { path: "/publicPage", name: "publicPage", component: () => import("@/views/login/publicPage") }, { path: "/oatuh_login", name: "oatuh_login", component: () => import("@/views/login/oatuh_login") }, { path: "/sso_redirect", name: "sso_redirect", component: () => import("@/views/login/sso_redirect") }, { path: "/login", name: "login", component: () => import("@/views/login/index") }, { path: "/homeMy", name: "homeMy", component: () => import("@/views/homeMy/index") //街面巡防 }, ]; const router = createRouter({ history: createWebHashHistory(), routes: publicRoutes }); //初始化路由表 export function resetRouter() { if (store.getters?.routeReady && store.getters?.userInfo?.permission?.menus) { const menus = store.getters.userInfo.permission.menus; menus.forEach((menu) => { router.removeRoute(menu); }); } } export default router;