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',
@@ -196,12 +226,32 @@
  component: () => import('@/views/dailyreport/index'),
  meta: { title: '走航监测日报', icon: 'example' }
}
// 业务交办
const summaryPage = {
  path: 'toCarryOutLegislativeReforms/summaryPage',
  name: 'summaryPage',
  component: () =>
    import('@/views/toCarryOutLegislativeReforms/summaryPage/index'),
  meta: { title: '业务汇总', icon: 'example' }
}
const reform = {
  path: 'toCarryOutLegislativeReforms/reform',
  name: 'reform',
  component: () => import('@/views/toCarryOutLegislativeReforms/reform/index'),
  meta: { title: '立行立改', icon: 'example' }
}
const delay = {
  path: 'toCarryOutLegislativeReforms/delay',
  name: 'delay',
  component: () => import('@/views/toCarryOutLegislativeReforms/delay/index'),
  meta: { title: '延期申请', icon: 'example' }
}
// 映射路由,存入对象
const ruleMapping = {
  wind: wind,
  car: car,
  radar: radar,
  UAV: UAV,
  tend: tend,
  contrast: contrast,
@@ -209,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,
@@ -226,6 +280,9 @@
  dailyreport,
  sectionReport,
  Listdata,
  summaryPage,
  reform,
  delay
  // Equidata
}
@@ -240,9 +297,12 @@
// 导出路由菜单
export function routerMenus() {
  console.log('user.menus', JSON.parse(store.state.user.menus))
  const routersMenu = JSON.parse(store.state.user.menus)
  // 路由分两块,左侧列表, 最右侧员工下拉菜单
  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') {
@@ -263,7 +323,7 @@
          if (temp !== undefined) {
            currentRoutes[currentRoutes.length - 1].children.push(temp)
          } else {
            console.log('存在菜单配置给该用户,但是代码中无该组件')
            console.log('存在菜单配置给该用户,但是代码中无该组件1')
          }
        })
      } else {
@@ -300,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
  })
}