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 = [

];

/**
 * 公开路由表
 */
export const publicRoutes = [
  {
    path: "/systemConfig",
    component: layout,
    name: "systemConfigModel",
    redirect: "/dict/index",
    meta: {
      title: "系统管理",
      icon: "article"
    },
    children: [
      {
        path: "/user/department-ist",
        name: "departmentList",
        component: () =>
          import("@/views/backOfficeSystem/systemConfig/department-list/index"),
        meta: {
          title: "部门管理",
          icon: "article-ranking"
        }
      },

      {
        path: "/user/userList",
        name: "userList",
        component: () =>
          import("@/views/backOfficeSystem/systemConfig/user-list/index"),
        meta: {
          title: "用户管理",
          icon: "article-ranking"
        }
      },
      {
        path: "/user/role",
        name: "userRoleIndex",
        component: () =>
          import("@/views/backOfficeSystem/systemConfig/role-list/index"),
        meta: {
          title: "角色列表",
          icon: "article-ranking"
        }
      },
      {
        path: "/user/menuList",
        name: "menuList",
        component: () =>
          import("@/views/backOfficeSystem/systemConfig/menu-list/index"),
        meta: {
          title: "菜单管理",
          icon: "article-ranking"
        }
      },

      {
        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: "分配用户"
        }
      },

      {
        path: "/user/systemConfig",
        name: "systemConfig",
        component: () =>
          import(
            "@/views/backOfficeSystem/systemConfig/system-config-list/index"
          ),
        meta: {
          title: "系统配置",
          icon: "article-ranking"
        }
      }
    ]
  },
  {
    path: "/oatuh_login",
    name: "oatuh_login",
    component: () => import("@/views/login/oatuh_login")
  },
  {
    path: "/login",
    name: "login",
    component: () => import("@/views/login/index")
  },
  {
    path: "/",
    name: "home",
    component: () => import("@/views/home/index") //系统登录
  },
  {
    path: "/KeyPopulations",
    name: "KeyPopulations",
    component: () => import("@/views/KeyPopulations/index") //系统登录
  },
  // 布控审核信息
  {
    path: "/deploymentApproval",
    name: "deploymentApproval",
    component: () => import("@/views/backOfficeSystem/ApprovalInformation/deploycontrol/deploymentApproval.vue"),
  },
  // 线索
  {
    path: "/clueVerification",
    name: "clueVerification",
    component: () => import("@/views/backOfficeSystem/ApprovalInformation/Clue/index.vue"),
  },
  // 重点人发掘
  {
    path: "/focusExploration",
    name: "focusExploration",
    component: () => import("@/views/backOfficeSystem/ApprovalInformation/FocusExploration/index.vue"),
  },
  {
    path: "/editPassword", // 注意：带有路径“/”的记录中的组件“默认”是一个不返回 Promise 的函数
    component: layout,
    redirect: "/IdentityManage",
    children: [
      {
        path: "/FourColorWarning",
        name: "FourColorWarning",
        meta: { title: "四色预警管理", icon: "article" },
        children: [
          {
            path: "/IdentityManage",
            name: "IdentityManage",
            component: () =>
              import(
                "@/views/backOfficeSystem/fourColorManage/IdentityManage/index"
              ),
            meta: {
              title: "身份标签管理",
              icon: "article"
            }
          },
          {
            path: "/BehaviorLabels",
            name: "BehaviorLabels",
            component: () =>
              import(
                "@/views/backOfficeSystem/fourColorManage/BehaviorLabels/index"
              ),
            meta: {
              title: "行为标签管理",
              icon: "article"
            }
          },
          {
            path: "/tagManage",
            name: "tagManage",
            component: () =>
              import(
                "@/views/backOfficeSystem/fourColorManage/tagManage/index"
              ),
            meta: {
              title: "标签组合管理",
              icon: "article"
            }
          },
          {
            path: "/warningControl",
            name: "warningControl",
            component: () => import("@/views/backOfficeSystem/IntelligentControl/warningControl/index"),
            meta: {
              title: "预警中心",
              icon: "article"
            }
          },
          {
            path: "/WarningModel",
            name: "WarningModel",
            component: () =>
              import(
                "@/views/backOfficeSystem/ExcavationResearch/WarningModel/index"
              ),
            meta: {
              title: "重点人员预警模型",
              icon: "article"
            }
          }, {
            path: "/policeReport",
            name: "policeReport",
            component: () =>
              import(
                "@/views/backOfficeSystem/policeReport/index.vue"
              ),
            meta: {
              title: "警情管理",
              icon: "article"
            }
          },
        ]
      },
      {
        path: "/IntelligentControl",
        name: "IntelligentControl",
        meta: { title: "智能布控", icon: "article" },
        children: [
          {
            path: "/DeploymentArea",
            name: "DeploymentArea",
            component: () => import("@/views/backOfficeSystem/IntelligentControl/DeploymentArea/index"),
            meta: {
              title: "布控区域",
              icon: "article"
            }
          },
          {
            path: "/myControl",
            name: "myControl",
            component: () => import("@/views/backOfficeSystem/IntelligentControl/myControl/index"),
            meta: {
              title: "我的布控",
              icon: "article"
            }
          },
          {
            path: "/DeploymentAudit",
            name: "DeploymentAudit",
            component: () => import("@/views/backOfficeSystem/IntelligentControl/DeploymentAudit/index"),
            meta: {
              title: "我的审核",
              icon: "article"
            }
          },
          {
            path: "/ControlApproval",
            name: "ControlApproval",
            component: () => import("@/views/backOfficeSystem/IntelligentControl/ControlApproval/index"),
            meta: {
              title: "我的审批",
              icon: "article"
            }
          }
        ]
      },
      {
        path: "/ResearchJudgment",
        name: "ResearchJudgment",
        meta: { title: "线索研判盯办系统", icon: "article" },
        children: [
          {
            path: "/DatAcquisition",
            name: "DatAcquisition",
            component: () => import("@/views/backOfficeSystem/ResearchJudgment/DatAcquisition/index"),
            meta: {
              title: "线索数据采集",
              icon: "article"
            }
          },
          {
            path: "/MoralAnalysis",
            name: "MoralAnalysis",
            component: () => import("@/views/backOfficeSystem/ResearchJudgment/MoralAnalysis/index"),
            meta: {
              title: "情报语义分析",
              icon: "article"
            }
          },

          {
            path: "/IntelligenceManagement",
            name: "IntelligenceManagement",
            component: () => import("@/views/backOfficeSystem/ResearchJudgment/IntelligenceManagement/index"),
            meta: {
              title: "线索管理",
              icon: "article"
            }
          },
          {
            path: "/InformationFlows",
            name: "InformationFlows",
            meta: { title: "情报流转", icon: "article" },
            redirect: "/InformationFlow",
            children: [
              {
                path: "/InstructionInformation",
                name: "InstructionInformation",
                component: () => import("@/views/backOfficeSystem/ResearchJudgment/InformationFlows/InstructionInformation/index"),
                meta: {
                  title: "指令信息",
                  icon: "article"
                }
              },
              {
                path: "/StatisticalAnalysis",
                name: "StatisticalAnalysis",
                component: () => import("@/views/backOfficeSystem/ResearchJudgment/InformationFlows/StatisticalAnalysis/index"),
                meta: {
                  title: "情报统计分析",
                  icon: "article"
                }
              }
            ]
          },
          {
            path: "/RecordsOperations",
            name: "RecordsOperations",
            component: () => import("@/views/backOfficeSystem/ResearchJudgment/RecordsOperations/index"),
            meta: {
              title: "操作记录",
              icon: "article"
            }
          }
        ]
      },
      {
        path: "/HumanIntelligence",
        name: "HumanIntelligence",
        meta: { title: "人力情报采集管理系统", icon: "article" },
        children: [
          {
            path: "/CollectCrculate",
            name: "CollectCrculate",
            component: () =>
              import(
                "@/views/backOfficeSystem/HumanIntelligence/CollectCrculate/index"
              ),
            meta: {
              title: "人力情报管理",
              icon: "article"
            }
          },
          {
            path: "/RlStatisticalAnalysis",
            name: "RlStatisticalAnalysis",
            component: () =>
              import(
                "@/views/backOfficeSystem/HumanIntelligence/RlStatisticalAnalysis/index"
              ),
            meta: {
              title: "人力情报统计分析",
              icon: "article"
            }
          },

          {
            path: "/TaskScheduling",
            name: "TaskScheduling",
            component: () =>
              import(
                "@/views/backOfficeSystem/HumanIntelligence/TaskScheduling/index"
              ),
            meta: {
              title: "人力情报信息收集任务调度",
              icon: "article"
            }
          },
          {
            path: "/ConstructionManagement",
            name: "ConstructionManagement",
            component: () =>
              import(
                "@/views/backOfficeSystem/HumanIntelligence/ConstructionManagement/index"
              ),
            meta: {
              title: "社会信息人员建设管理",
              icon: "article"
            }
          },
          {
            path: "/JobAppraisal",
            name: "JobAppraisal",
            component: () => import("@/views/backOfficeSystem/HumanIntelligence/JobAppraisal/index"),
            meta: {
              title: "社会员工工作信息考核",
              icon: "article"
            }
          },
          {
            path: "/MakeAcomment",
            name: "MakeAcomment",
            component: () => import("@/views/backOfficeSystem/MakeAcomment/index"),
            meta: {
              title: "情报评一评",
              icon: "article"
            }
          }
        ]
      },
      {
        path: "/ExcavationResearch",
        name: "ExcavationResearch",
        meta: { title: "重点人发掘研判", icon: "article" },
        children: [
          {
            path: "/PreliminaryExcavations",
            name: "PreliminaryExcavations",
            component: () =>
              import(
                "@/views/backOfficeSystem/ExcavationResearch/PreliminaryExcavations/index"
              ),
            meta: {
              title: "重点人员初步发掘",
              icon: "article"
            }
          },
          {
            path: "/ZdryFjyp",
            name: "ZdryFjyp",
            component: () =>
              import(
                "@/views/backOfficeSystem/ExcavationResearch/ZdryFjyp/index"
              ),
            meta: {
              title: "重点人员深度发掘",
              icon: "article"
            }
          },
          {
            path: "/LandingAudit",
            name: "LandingAudit",
            component: () =>
              import(
                "@/views/backOfficeSystem/ExcavationResearch/LandingAudit/index"
              ),
            meta: {
              title: "重点人员落地审核",
              icon: "article"
            }
          },
        ]
      },
      {
        path: "/JudgmentHome",
        name: "JudgmentHome",
        redirect: "/ResearchHome",
        meta: {
          title: "研判首页",
          icon: "article"
        },
        children: [
          {
            path: "/ResearchHome",
            name: "ResearchHome",
            component: () => import("@/views/backOfficeSystem/JudgmentHome/ResearchHome/index"),
            meta: {
              title: "专题研判",
              icon: "article"
            }
          },
          {
            path: "/tsypHome",
            name: "tsypHome",
            component: () => import("@/views/backOfficeSystem/JudgmentHome/tsypHome/index"),
            meta: {
              title: "态势研判",
              icon: "article"
            }
          },
          {
            path: "/analysisReport",
            name: "AnalysisReport",
            component: () => import("@/views/backOfficeSystem/AnalysisReport/index"),
            meta: {
              title: "研判报告",
              icon: "article"
            }
          },
          {
            path: "/MeetingRoom",
            name: "MeetingRoom",
            component: () => import("@/views/backOfficeSystem/JudgmentHome/MeetingRoom/index"),
            meta: {
              title: "网上会商室",
              icon: "article"
            }
          }
        ]
      },
      {
        path: "/DeploymentDisposal",
        name: "DeploymentDisposal",
        redirect: "/ResearchHome",
        meta: {
          title: "全域布控处置",
          icon: "article"
        },
        children: [
          {
            path: "/mpvPeo",
            name: "mpvPeo",
            component: () => import("@/views/backOfficeSystem/DeploymentDisposal/mpvPeo/index"),
            meta: {
              title: "重点人管理",
              icon: "article"
            }
          },
          {
            path: "/mpvPeoSh",
            name: "mpvPeoSh",
            component: () => import("@/views/backOfficeSystem/DeploymentDisposal/mpvPeoSh/index"),
            meta: {
              title: "重点人审批",
              icon: "article"
            }
          },
          {
            path: "/mpvGroup",
            name: "mpvGroup",
            component: () => import("@/views/backOfficeSystem/DeploymentDisposal/mpvGroup/index"),
            meta: {
              title: "重点群体管理",
              icon: "article"
            }
          },
          {
            path: "/mpvGroupSh",
            name: "mpvGroupSh",
            component: () => import("@/views/backOfficeSystem/DeploymentDisposal/mpvGroupSh/index"),
            meta: {
              title: "重点群体审核",
              icon: "article"
            }
          },
          {
            path: "/mpvCar",
            name: "mpvCar",
            component: () => import("@/views/backOfficeSystem/DeploymentDisposal/mpvCar/index"),
            meta: {
              title: "重点车辆管理",
              icon: "article"
            }
          },
        ]
      },
      {
        path: "/BasicManagement",
        name: "BasicManagement",
        meta: {
          title: "基础管理",
          icon: "article"
        },
        children: [
          // {
          //   path: "/surveillanceControl",
          //   name: "surveillanceControl",
          //   component: () =>
          //     import(
          //       "@/views/backOfficeSystem/BasicManagement/surveillanceControl/index"
          //     ),
          //   meta: {
          //     title: "布控监视",
          //     icon: "article"
          //   }
          // },
          {
            path: "/experienceShare",
            name: "experienceShare",
            component: () =>
              import(
                "@/views/backOfficeSystem/BasicManagement/experienceShare/index"
              ),
            meta: {
              title: "经验分享",
              icon: "article"
            }
          }, {
            path: "/ssemanticAnalysis",
            name: "semanticAnalysis",
            component: () =>
              import(
                "@/views/backOfficeSystem/SemanticAnalysis/index.vue"
              ),
            meta: {
              title: "语义分析",
              icon: "article"
            }
          },

        ]
      }
    ]
  }
];

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;
