Files
sgxt_web/src/router/index.js
2026-04-28 11:26:26 +08:00

954 lines
31 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { createRouter, createWebHashHistory } from "vue-router";
import layout from "@/layout/index";
import store from "@/store";
/**
* 路由配置说明
*
* 1. publicRoutes公开路由- 所有用户都能访问,应用启动时静态注册
* 包括:登录页、首页、错误页等
*
* 2. privateRoutes私有路由- 需要权限才能访问,登录后动态注册
* 包括:所有业务功能路由
*
* 3. 路由的 name 属性必须与后端返回的菜单权限码menuCodeSet一致
*/
/**
* 公开路由表 - 所有人都能访问
*/
export const publicRoutes = [
// 登录相关路由
{
path: "/oatuh_login",
name: "oatuh_login",
component: () => import("@/views/login/oatuh_login")
},
{
path: "/login",
name: "login",
component: () => import("@/views/login/index")
},
{
path: "/zeroTrust_login",
name: "zeroTrust_login",
component: () => import("@/views/login/zeroTrust_login")
},
// 错误页面
{
path: "/401",
name: "401",
component: () => import("@/views/error/401.vue")
},
{
path: "/404",
name: "404",
component: () => import("@/views/error/404.vue")
},
// 首页(所有登录用户都可访问)
{
path: "/",
name: "home",
component: () => import("@/views/home/index"),
meta: { keepAlive: true, componentName: 'HomePage' }
},
// 公共访问页面(无需权限校验)
{
path: "/mapNavigation",
name: "mapNavigation",
component: () => import("@/views/home/model/mapNavigation.vue")
},
{
path: "/KeyPopulations",
name: "KeyPopulations",
component: () => import("@/views/KeyPopulations/index")
},
// 以下路由虽然在白名单中,但仍需要登录才能访问
// 它们是特殊业务路由,登录后所有人都能访问(不依赖菜单权限)
{
path: "/deploymentApproval",
name: "deploymentApproval",
component: () => import("@/views/backOfficeSystem/ApprovalInformation/deploycontrol/deploymentApproval.vue"),
},
{
path: "/shym",
name: "shym",
component: () => import("@/views/backOfficeSystem/IntelligentControl/marksControl/components/shym.vue"),
},
{
path: "/information",
name: "information",
component: () => import("@/views/backOfficeSystem/JudgmentHome/internalAuditor/information.vue"),
},
{
path: "/Spdloyment",
name: "Spdloyment",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/auditList/components/spdloyment.vue"),
},
{
path: "/clueVerification",
name: "clueVerification",
component: () => import("@/views/backOfficeSystem/ApprovalInformation/Clue/index.vue"),
},
{
path: "/ReviewListSH",
name: "ReviewListSH",
component: () => import("@/views/backOfficeSystem/JudgmentHome/ReviewList/detail.vue"),
},
{
path: "/focusExploration",
name: "focusExploration",
component: () => import("@/views/backOfficeSystem/ApprovalInformation/FocusExploration/index.vue"),
},
// 情报论坛(所有登录用户都可访问)
{
path: "/forumPost",
name: "forumPost",
component: layout,
meta: {
title: "情报论坛",
icon: "article-ranking"
},
children: [
{
path: "",
name: "forumPostPage",
component: () => import("@/views/backOfficeSystem/luntan/index.vue"),
meta: {
title: "情报论坛",
icon: "article-ranking"
}
}
]
},
];
/**
* 私有路由表 - 需要权限才能访问
* 登录后根据用户的 menuCodeSet 动态注册
*/
export const privateRoutes = [
// 派出所开放路由(特殊权限,不在菜单显示)
{
path: "/warningLists",
name: "warningLists",
component: () => import("@/views/backOfficeSystem/fourColorManage/warningList/index"),
meta: {
title: "布控预警",
icon: "article-create"
}
},
{
path: "/behaviorWarnings",
name: "behaviorWarnings",
meta: { title: "行为预警", icon: "article-create" },
component: () => import("@/views/backOfficeSystem/fourColorManage/warningControl/behaviorWarning/index"),
},
{
path: "/identityWarnings",
name: "identityWarnings",
meta: { title: "身份预警", icon: "article-create" },
component: () => import("@/views/backOfficeSystem/fourColorManage/warningControl/identityWarning/index"),
},
{
path: "/combinedWarnings",
name: "combinedWarnings",
meta: { title: "组合预警", icon: "article-create" },
component: () => import("@/views/backOfficeSystem/fourColorManage/warningControl/combinedWarning/index"),
},
{
path: "/mpvPeos",
name: "mpvPeos",
component: () => import("@/views/backOfficeSystem/DeploymentDisposal/mpvPeo/index"),
meta: {
title: "重点人管理",
icon: "article-create"
}
},
{
path: "/myControls",
name: "myControls",
component: () => import("@/views/backOfficeSystem/IntelligentControl/myControl/index"),
meta: {
title: "我的布控",
icon: "article-create"
}
},
{
path: "/DeploymentAreas",
name: "DeploymentAreas",
component: () => import("@/views/backOfficeSystem/IntelligentControl/DeploymentArea/index"),
meta: {
title: "布控区域",
icon: "article-create"
}
},
// 主业务路由(带 layout
{
path: "/editPassword",
redirect: "/IdentityManage",
component: layout,
children: [
{
path: "/FourColorWarning",
name: "FourColorWarning",
meta: { title: "预警中心", icon: "article-ranking" },
children: [
{
path: "/YjData",
name: "YjData",
meta: { title: "预警列表", icon: "article-create" },
component: () => import("@/views/backOfficeSystem/fourColorManage/YjData/index.vue"),
},
{
path: "/jqjc",
name: "jqjc",
meta: { title: "警情监测", icon: "article-create" },
children: [
{
path: "/policeReport",
name: "policeReport",
component: () => import("@/views/backOfficeSystem/policeReport/index.vue"),
meta: {
title: "警情信息",
icon: "article-create"
}
},
{
path: "/policeSituations",
name: "policeSituations",
component: () => import("@/views/backOfficeSystem/PoliceIncidentMonitoring/index.vue"),
meta: {
title: "警情预警监测",
icon: "article-create"
}
},
]
},
{
path: "/scoreRanking",
name: "scoreRanking",
meta: { title: "积分排名", icon: "article-create" },
component: () => import("@/views/backOfficeSystem/fourColorManage/warningControl/scoreRanking/index"),
},
{
path: "/sevenWarningFail",
name: "sevenWarningFail",
meta: { title: "报错列表", icon: "article" },
component: () => import("@/views/backOfficeSystem/fourColorManage/warningControl/sevenWarningFail/index.vue"),
},
]
},
{
path: "/IntelligentControl",
name: "IntelligentControl",
meta: { title: "智能布控", icon: "article-ranking" },
children: [
{
path: "/DeploymentArea",
name: "DeploymentArea",
component: () => import("@/views/backOfficeSystem/IntelligentControl/DeploymentArea/index"),
meta: {
title: "布控区域",
icon: "article-create"
}
},
{
path: "/myControl",
name: "myControl",
component: () => import("@/views/backOfficeSystem/IntelligentControl/myControl/index"),
meta: {
title: "常态布控",
icon: "article-create"
}
},
{
path: "/PrivateSurveillance",
name: "PrivateSurveillance",
component: () => import("@/views/backOfficeSystem/IntelligentControl/myControl/index"),
meta: {
title: "临时布控",
icon: "article-create"
}
},
{
path: "/marksControl",
name: "marksControl",
component: () => import("@/views/backOfficeSystem/IntelligentControl/marksControl/index"),
meta: {
title: "标签布控",
icon: "article-create"
}
},
{
path: "/ReviewListControl",
name: "ReviewListControl",
component: () => import("@/views/backOfficeSystem/IntelligentControl/ReviewListControl/index"),
meta: {
title: "审核列表",
icon: "article-create"
}
},
]
},
{
path: "/HumanIntelligence",
name: "HumanIntelligence",
meta: { title: "信息汇聚支撑", icon: "article-ranking" },
children: [
{
path: "/InfoCollection",
name: "InfoCollection",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/infoCollection/index"),
meta: { title: "信息采集", icon: "article-create" },
},
{
path: "/InternalList",
name: "InternalList",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/listView/index"),
meta: { title: "内部列表", icon: "article-create", qbjbList: '02' },
},
{
path: "/openSourceList",
name: "openSourceList",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/listView/index"),
meta: { title: "共享列表", icon: "article-create", qbjbList: '01' },
},
{
path: "/auditList",
name: "auditList",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/auditList/index"),
meta: { title: "审批列表", icon: "article-create" },
},
{
path: "/supplementReportList",
name: "supplementReportList",
component: () => import("@/views/backOfficeSystem/supplementReportList/index.vue"),
meta: {
title: "补充续报",
icon: "article-create"
}
},
{
path: "/integralList",
name: "integralList",
component: () => import("@/views/backOfficeSystem/integralList/index.vue"),
meta: {
title: "积分列表",
icon: "article-create"
}
},
{
path: "/InformationReporting",
name: "InformationReporting",
component: () => import("@/views/backOfficeSystem/InformationReporting/index.vue"),
meta: {
title: "蜂群信息",
icon: "article-create"
}
},
]
},
{
path: "/ResearchJudgment",
name: "ResearchJudgment",
meta: { title: "线索落核盯办", icon: "article-ranking" },
children: [
{
path: "/socialInformationCrculated",
name: "changeTheClue",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/FollowLeads/index"),
meta: { title: "线索列表", icon: "article" },
},
{
path: "/lamXs",
name: "lamXs",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/lamXs/index"),
meta: { title: "林安码线索", icon: "article" },
},
{
path: "/InstructionInformation",
name: "InstructionInformation",
component: () => import("@/views/backOfficeSystem/ResearchJudgment/InformationFlows/InstructionInformation/index"),
meta: {
title: "线索发布",
icon: "article"
}
},
]
},
{
path: "/JudgmentHome",
name: "JudgmentHome",
redirect: "/ResearchHome",
meta: {
title: "会商研判",
icon: "article-ranking"
},
children: [
{
path: "/policeManagement",
name: "policeManagement",
component: () => import("@/views/backOfficeSystem/policeManagement/index.vue"),
meta: {
title: "重大事件",
icon: "article-create"
}
},
{
path: "/ResearchHome",
name: "ResearchHome",
component: () => import("@/views/backOfficeSystem/JudgmentHome/ResearchHome/index"),
meta: {
title: "智能研判",
icon: "article-create"
}
},
{
path: "/dataReduction",
name: "dataReduction",
component: () => import("@/views/backOfficeSystem/JudgmentHome/dataReduction/index"),
meta: {
title: "研判约稿",
icon: "article-create"
}
},
{
path: "/strategicResearchs",
name: "strategicResearchs",
component: () => import("@/views/backOfficeSystem/JudgmentHome/strategicResearch/index.vue"),
meta: {
title: "研判报告",
icon: "article-create"
}
},
{
path: "/ReviewList",
name: "ReviewList",
component: () => import("@/views/backOfficeSystem/JudgmentHome/ReviewList/index.vue"),
meta: {
title: "审核列表",
icon: "article-create"
}
},
{
path: "/judgmentCommand",
name: "judgmentCommand",
component: () => import("@/views/backOfficeSystem/JudgmentHome/judgmentCommand/index.vue"),
meta: {
title: "研判指令",
icon: "article-create"
}
},
{
path: "/internalAuditor",
name: "internalAuditor",
component: () => import("@/views/backOfficeSystem/JudgmentHome/internalAuditor/index.vue"),
meta: {
title: "内部审核人员",
icon: "article-create"
}
},
{
path: "/MeetingRoom",
name: "MeetingRoom",
component: () => import("@/views/backOfficeSystem/JudgmentHome/MeetingRoom/index"),
meta: {
title: "网上会商室",
icon: "article-create"
}
}
]
},
{
path: "/DeploymentDisposal",
name: "DeploymentDisposal",
redirect: "/ResearchHome",
meta: {
title: "全域管控",
icon: "article-ranking"
},
children: [
{
path: "/BaseLibrary",
name: "BaseLibrary",
component: () => import("@/views/backOfficeSystem/DeploymentDisposal/BaseLibrary/index"),
meta: {
title: "基础库",
icon: "article-create"
}
},
{
path: "/mpvPeo",
name: "mpvPeo",
component: () => import("@/views/backOfficeSystem/DeploymentDisposal/mpvPeo/index"),
meta: {
title: "重点人员库",
icon: "article-create"
}
},
{
path: "/gzPeo",
name: "gzPeo",
component: () => import("@/views/backOfficeSystem/DeploymentDisposal/gzPeo/index"),
meta: {
title: "关注人员库",
icon: "article-create"
}
},
{
path: "/mpvGroup",
name: "mpvGroup",
component: () => import("@/views/backOfficeSystem/DeploymentDisposal/mpvGroup/index"),
meta: {
title: "重点群体库",
icon: "article-create"
}
},
{
path: "/mpvCar",
name: "mpvCar",
component: () => import("@/views/backOfficeSystem/DeploymentDisposal/mpvCar/index"),
meta: {
title: "重点车辆库",
icon: "article-create"
}
},
{
path: "/mvpSP",
name: "mvpSP",
component: () => import("@/views/backOfficeSystem/DeploymentDisposal/mvpSP/index"),
meta: {
title: "审核列表",
icon: "article-create"
}
},
]
},
{
path: "/dataApplication",
name: "dataApplication",
meta: { title: "数据应用", icon: "article-ranking" },
children: [
{
path: "/Gzqkgl",
name: "Gzqkgl",
meta: {
title: "工作情况管理",
icon: "article-create"
},
children: [
{
path: "/goingJob",
name: "goingJob",
meta: { title: "工作情况", icon: "article-ranking" },
component: () => import("@/views/backOfficeSystem/goingJob/index.vue")
},
{
path: "/workLogInfo",
name: "workLogInfo",
meta: { title: "值班信息", icon: "article-ranking" },
component: () => import("@/views/backOfficeSystem/workLogInfo/index.vue")
}
]
},
{
path: "/Cspz",
name: "Cspz",
component: () => import("@/views/backOfficeSystem/fourColorManage/Cspz/index"),
meta: {
title: "参数配置",
icon: "article-create"
}
},
{
path: "/permissionApply",
name: "permissionApply",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/permissionApply/index"),
meta: {
title: "权限申请",
icon: "article-create"
}
},
{
path: "/appraisalManagement",
name: "appraisalManagement",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/appraisalManagement/index"),
meta: {
title: "考核管理",
icon: "article-create"
}
},
{
path: "/FileData",
name: "FileData",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/FileData/index"),
meta: {
title: "文件中转",
icon: "article-create"
}
},
{
path: "/ssemanticAnalysis",
name: "semanticAnalysis",
component: () => import("@/views/backOfficeSystem/SemanticAnalysis/index.vue"),
meta: {
title: "语义分析",
icon: "article-create"
}
},
{
path: "/ReportStatisticalAnalysis",
name: "ReportStatisticalAnalysis",
component: () => import("@/views/backOfficeSystem/ResearchJudgment/InformationFlows/ReportStatisticalAnalysis/index"),
meta: {
title: "情报统计分析",
icon: "article-create"
}
},
{
path: "/RecordsOperations",
name: "RecordsOperations",
component: () => import("@/views/backOfficeSystem/ResearchJudgment/RecordsOperations/index"),
meta: {
title: "操作记录",
icon: "article-create"
}
},
{
path: "/dataMonitor",
name: "dataMonitor",
meta: { title: "数据监控", icon: "article-ranking" },
children: [
{
path: "/resourceMonitoring",
name: "resourceMonitoring",
component: () => import("@/views/backOfficeSystem/dataMonitor/resourceMonitoring/index.vue"),
meta: {
title: "数据资源检测",
icon: "article-create"
}
},
{
path: "/onlineUserMonitoring",
name: "onlineUserMonitoring",
component: () => import("@/views/backOfficeSystem/dataMonitor/onlineUserMonitoring/index.vue"),
meta: {
title: "在线用户监控",
icon: "article-create"
}
}
]
},
]
},
{
path: "/systemConfig",
name: "systemConfigModel",
meta: {
title: "系统管理",
icon: "article-ranking"
},
children: [
{
path: "/user/department-ist",
name: "departmentList",
component: () => import("@/views/backOfficeSystem/systemConfig/department-list/index"),
meta: {
title: "部门管理",
icon: "article-create"
}
},
{
path: "/user/userList",
name: "userList",
component: () => import("@/views/backOfficeSystem/systemConfig/user-list/index"),
meta: {
title: "用户管理",
icon: "article-create"
}
},
{
path: "/user/role",
name: "userRoleIndex",
component: () => import("@/views/backOfficeSystem/systemConfig/role-list/index"),
meta: {
title: "角色列表",
icon: "article-create"
}
},
{
path: "/user/menuList",
name: "menuList",
component: () => import("@/views/backOfficeSystem/systemConfig/menu-list/index"),
meta: {
title: "菜单管理",
icon: "article-create"
}
},
{
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-create"
}
},
{
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: "分配用户"
}
},
{
path: "/user/systemConfig",
name: "systemConfig",
component: () => import("@/views/backOfficeSystem/systemConfig/system-config-list/index"),
meta: {
title: "系统配置",
icon: "article-create"
}
},
{
path: "/calendar",
name: "calendar",
component: () => import("@/views/backOfficeSystem/calendar/index.vue"),
meta: {
title: "敏感节点",
icon: "article-create"
}
},
]
},
{
path: "/rests",
name: "rests",
meta: {
title: "其他",
icon: "article-ranking"
},
children: [
{
path: "/socialInformationCrculatec",
name: "recombinantSynthesis",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/ConversionSynthesis/index"),
meta: { title: "转合成列表", icon: "article-create" },
},
{
path: "/transferConsultationList",
name: "transferConsultationList",
component: () => import("@/views/backOfficeSystem/transferConsultationList/index.vue"),
meta: {
title: "转会商列表",
icon: "article-create"
}
},
{
path: "/DatAcquisition",
name: "DatAcquisition",
component: () => import("@/views/backOfficeSystem/ResearchJudgment/DatAcquisition/index"),
meta: {
title: "线索数据采集",
icon: "article"
}
},
{
path: "/IntelligenceManagement",
name: "IntelligenceManagement",
component: () => import("@/views/backOfficeSystem/ResearchJudgment/IntelligenceManagement/index"),
meta: {
title: "线索管理",
icon: "article"
}
},
{
path: "/CollectCrculate",
name: "CollectCrculate",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/CollectCrculate/index"),
meta: { title: "情报采集", icon: "article-create" },
},
{
path: "/RlStatisticalAnalysis",
name: "RlStatisticalAnalysis",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/RlStatisticalAnalysis/index"),
meta: {
title: "上报统计分析",
icon: "article-create"
}
},
{
path: "/TaskScheduling",
name: "TaskScheduling",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/TaskScheduling/index"),
meta: {
title: "上报任务调度",
icon: "article-create"
}
},
{
path: "/ConstructionManagement",
name: "ConstructionManagement",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/ConstructionManagement/index"),
meta: {
title: "力量建设管理",
icon: "article-create"
}
},
{
path: "/StatisticalAnalysis",
name: "StatisticalAnalysis",
component: () => import("@/views/backOfficeSystem/ResearchJudgment/InformationFlows/StatisticalAnalysis/index"),
meta: {
title: "情报统计分析",
icon: "article-create"
}
},
{
path: "/ysMyControl",
name: "ysMyControl",
component: () => import("@/views/backOfficeSystem/IntelligentControl/ysMyControl/index"),
meta: {
title: "常态布控",
icon: "article-create"
}
},
{
path: "/ysPrivateSurveillance",
name: "ysPrivateSurveillance",
component: () => import("@/views/backOfficeSystem/IntelligentControl/ysMyControl/index"),
meta: {
title: "临时布控",
icon: "article-create"
}
},
{
path: "/ysmarksControl",
name: "ysmarksControl",
component: () => import("@/views/backOfficeSystem/IntelligentControl/ysMarksControl/index"),
meta: {
title: "标签布控",
icon: "article-create"
}
},
{
path: "/ExcavationResearch",
name: "ExcavationResearch",
meta: { title: "重点人发掘", icon: "article-ranking" },
children: [
{
path: "/PreliminaryExcavations",
name: "PreliminaryExcavations",
component: () => import("@/views/backOfficeSystem/ExcavationResearch/PreliminaryExcavations/index"),
meta: {
title: "重点人员初步发掘",
icon: "article-create"
}
},
{
path: "/ZdryFjyp",
name: "ZdryFjyp",
component: () => import("@/views/backOfficeSystem/ExcavationResearch/ZdryFjyp/index"),
meta: {
title: "重点人员深度发掘",
icon: "article-create"
}
},
{
path: "/LandingAudit",
name: "LandingAudit",
component: () => import("@/views/backOfficeSystem/ExcavationResearch/LandingAudit/index"),
meta: {
title: "重点人员落地审核",
icon: "article-create"
}
},
{
path: "/tacticalResearch",
name: "tacticalResearch",
component: () => import("@/views/backOfficeSystem/JudgmentHome/tacticalResearch/index.vue"),
meta: {
title: "战术研判",
icon: "article-create"
}
},
{
path: "/strategicResearch",
name: "strategicResearch",
component: () => import("@/views/backOfficeSystem/JudgmentHome/strategicResearch/index.vue"),
meta: {
title: "战略研判",
icon: "article-create"
}
},
]
},
{
path: "/tacticalResearch",
name: "tacticalResearch",
component: () => import("@/views/backOfficeSystem/JudgmentHome/tacticalResearch/index.vue"),
meta: {
title: "战术研判",
icon: "article-create"
}
},
{
path: "/strategicResearch",
name: "strategicResearch",
component: () => import("@/views/backOfficeSystem/JudgmentHome/strategicResearch/index.vue"),
meta: {
title: "战略研判",
icon: "article-create"
}
},
{
path: "/JobAppraisal",
name: "JobAppraisal",
component: () => import("@/views/backOfficeSystem/HumanIntelligence/JobAppraisal/index"),
meta: {
title: "工作考核",
icon: "article-create"
}
},
]
},
]
}
];
// 创建路由实例,只注册公开路由
const router = createRouter({
history: createWebHashHistory(),
routes: publicRoutes
});
// 重置路由(退出登录时调用)
export function resetRouter() {
// 移除所有动态添加的路由
router.getRoutes().forEach(route => {
if (route.name && !publicRoutes.find(r => r.name === route.name)) {
router.removeRoute(route.name);
}
});
}
export default router;