cjl
3 days ago 37260b060da39b84af65752af3a766201f5a0ec7
src/router/dynamicRouter.js
@@ -51,6 +51,12 @@
  component: () => import('@/views/charts/index'),
  meta: { title: '监测因子趋势', icon: 'example' }
}
const radar = {
  path: 'charts/radar',
  name: 'radar',
  component: () => import('@/views/radar/index'),
  meta: { title: '雷达趋势', icon: 'example' }
}
const contrast = {
  path: 'charts/contrast',
@@ -79,6 +85,12 @@
  component: () => import('@/views/airPollutionCalendar/index'),
  meta: { title: '空气质量污染日历', icon: 'example' }
}
const heatMap = {
  path: 'charts/heatMap',
  name: 'heatMap',
  component: () => import('@/views/hotMap/index'),
  meta: { title: '区域热力图', icon: 'example' }
}
// const PM5PM10ForecastChart = {
//   path: 'charts/PM5PM10ForecastChart',
@@ -100,6 +112,18 @@
  name: 'showGovHourData',
  component: () => import('@/views/govReport/index'),
  meta: { title: '国控站小时报表显示', icon: 'example' }
}
const hand = {
  path: 'report/hand',
  name: 'hand',
  component: () => import('@/views/hand/index'),
  meta: { title: '手持设备', icon: 'example' }
}
const statement = {
  path: 'report/statement',
  name: 'statement',
  component: () => import('@/views/statement/index'),
  meta: { title: '空气质量日报表显示', icon: 'example' }
}
// 空气质量小时播报
const airQualityReportDisplay = {
@@ -155,6 +179,12 @@
  component: () => import('@/views/levelStatistic/index'),
  meta: { title: '城市优良天统计', icon: 'example' }
}
const onlineRate = {
  path: 'analyse/onlineRate',
  name: 'onlineRate',
  component: () => import('@/views/onlineRate/index'),
  meta: { title: '断线统计', icon: 'example' }
}
const industryContributionRate = {
  path: 'analyse/industryContributionRate',
@@ -200,7 +230,8 @@
const summaryPage = {
  path: 'toCarryOutLegislativeReforms/summaryPage',
  name: 'summaryPage',
  component: () => import('@/views/toCarryOutLegislativeReforms/summaryPage/index'),
  component: () =>
    import('@/views/toCarryOutLegislativeReforms/summaryPage/index'),
  meta: { title: '业务汇总', icon: 'example' }
}
const reform = {
@@ -220,6 +251,7 @@
const ruleMapping = {
  wind: wind,
  car: car,
  radar: radar,
  UAV: UAV,
  tend: tend,
  contrast: contrast,
@@ -227,11 +259,15 @@
  showMpData: showMpData,
  staffManagement: staffManagement,
  showGovHourData: showGovHourData,
  hand: hand,
  statement: statement,
  cityAirRank: cityAirRank,
  levelStatistic: levelStatistic,
  onlineRate: onlineRate,
  heatmap: heatmap,
  hexagon: hexagon,
  airPollutionCalendar: airPollutionCalendar,
  heatMap: heatMap,
  averageContrast: averageContrast,
  industryContributionRate,
  regionalContributionRate,
@@ -261,10 +297,12 @@
// 导出路由菜单
export function routerMenus() {
  console.log('user.menus', JSON.parse(store.state.user.menus))
  const routersMenu = JSON.parse(store.state.user.menus)
  // 路由分两块,左侧列表, 最右侧员工下拉菜单
  console.log('routersMenu',routersMenu)
  const currentRoutes = router.options.routes
  console.log('routersMenu', routersMenu)
  let currentRoutes = []
  currentRoutes = router.options.routes
  if (routersMenu.length > 0) {
    routersMenu.forEach(item => {
      if (item.url === 'dropDown') {
@@ -322,5 +360,18 @@
    // }
    // currentRoutes.splice(currentRoutes.length, 0, notFound)
  }
  router.addRoutes(currentRoutes)
  console.log('currentRoutes', currentRoutes)
  const uniqueRoutes = removeDuplicateRoutes(currentRoutes)
  console.log('uniqueRoutes', uniqueRoutes)
  router.addRoutes(uniqueRoutes)
}
function removeDuplicateRoutes(routes) {
  const routeNames = new Set()
  return routes.filter(route => {
    if (routeNames.has(route.path)) {
      return false // 如果名称已存在,则过滤掉这条路由
    }
    routeNames.add(route.path) // 添加名称到集合中
    return true
  })
}