cjl
3 days ago 24e8d9a83681cefdc5988b0ee0097e2c6b079402
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',
@@ -107,6 +113,18 @@
  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 = {
  path: 'report/airQualityReportDisplay',
@@ -160,6 +178,12 @@
  name: 'levelStatistic',
  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 = {
@@ -227,6 +251,7 @@
const ruleMapping = {
  wind: wind,
  car: car,
  radar: radar,
  UAV: UAV,
  tend: tend,
  contrast: contrast,
@@ -234,8 +259,11 @@
  showMpData: showMpData,
  staffManagement: staffManagement,
  showGovHourData: showGovHourData,
  hand: hand,
  statement: statement,
  cityAirRank: cityAirRank,
  levelStatistic: levelStatistic,
  onlineRate: onlineRate,
  heatmap: heatmap,
  hexagon: hexagon,
  airPollutionCalendar: airPollutionCalendar,
@@ -269,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
  let currentRoutes = []
  currentRoutes = router.options.routes
  if (routersMenu.length > 0) {
    routersMenu.forEach(item => {
      if (item.url === 'dropDown') {
@@ -330,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
  })
}