From 24e8d9a83681cefdc5988b0ee0097e2c6b079402 Mon Sep 17 00:00:00 2001
From: cjl <909710561@qq.com>
Date: Tue, 19 May 2026 16:47:40 +0800
Subject: [PATCH] 路由

---
 src/router/dynamicRouter.js |   47 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/src/router/dynamicRouter.js b/src/router/dynamicRouter.js
index b84d58a..add82cc 100644
--- a/src/router/dynamicRouter.js
+++ b/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
+  })
 }

--
Gitblit v1.8.0