From c1d2051abc8ca88cd07f0d7c56c0dbf8165d5c33 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 18 九月 2025 17:02:22 +0800
Subject: [PATCH] 2025.9.18 数据产品(待完成)

---
 src/router/index.js |  468 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 321 insertions(+), 147 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index 9493f98..c229675 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,163 +1,337 @@
 // eslint-disable-next-line no-unused-vars
-import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router'
-import pinia from '../stores/index'
-import { useLoadingStore } from '../stores/loadingStore'
+import {
+  createRouter,
+  createWebHistory,
+  createWebHashHistory
+} from 'vue-router';
+import pinia from '../stores/index';
+import { useLoadingStore } from '../stores/loadingStore';
 
 const routes = [
   {
-    //鏁存敼瀹℃牳
-    name: 'changecheck',
-    path: '/changecheck',
-    component: () => import('@/views/check/ChangeCheck.vue')
-  },
-  {
-    //闂鍔ㄦ�佽窡韪�
-    name: 'profollow',
-    path: '/analysis/profollow',
-    component: () => import('@/views/analysis/ProFollow.vue')
-  },
-  {
-    //闂鏁存敼鍒嗘瀽
-    name: 'proanalysis',
-    path: '/analysis/proanalysis',
-    component: () => import('@/views/analysis/ProAnalysis.vue')
-  },
-  {
-    //瑙勮寖鎬ц瘎浼�
-    name: 'standardjudge',
-    path: '/analysis/standardjudge',
-    component: () => import('@/views/analysis/StandardJudge.vue')
-  },
-  {
-    //鏃ユ姤绠$悊
-    name: 'dailyreport',
-    path: '/dailyreport',
-    component: () => import('@/views/dailyreport/DailyReport.vue')
-  },
-  {
-    //鍦烘櫙鎶ュ憡-宸ュ湴
-    name: 'construction',
-    path: '/scenereport/construction',
-    component: () => import('@/views/scenereport/ConstructionReport.vue')
-  },
-  {
-    //鍦烘櫙鎶ュ憡-鐮佸ご
-    name: 'wharf',
-    path: '/scenereport/wharf',
-    component: () => import('@/views/scenereport/WharfReport.vue')
-  },
-  {
-    //鍦烘櫙鎶ュ憡-鎼呮媽绔�
-    name: 'mixing',
-    path: '/scenereport/mixing',
-    component: () => import('@/views/scenereport/MixingReport.vue')
-  },
-  {
-    //鍦烘櫙鎶ュ憡-鍫嗗満
-    name: 'storage',
-    path: '/scenereport/storage',
-    component: () => import('@/views/scenereport/StorageReport.vue')
-  },
+    name: 'home',
+    path: '/',
+    component: () => import('@/views/HomePage.vue'),
+    children: [
+      {
+        name: 'fysp',
+        path: 'fysp',
+        children: [
+          // {
+          //   //鏁存敼瀹℃牳
+          //   name: 'changecheck',
+          //   path: '/changecheck',
+          //   component: () => import('@/views/check/ChangeCheck.vue')
+          // },
+          /**********************************椋炵窘鐩戠***********************************************/
+          {
+            //闂瀹℃牳
+            name: 'procheck',
+            path: 'procheck',
+            component: () => import('@/views/fysp/check/ProCheck.vue')
+          },
+          {
+            name: 'data-product',
+            path: 'data-product',
+            children: [
+              {
+                //闂鍔ㄦ�佽窡韪�
+                name: 'profollow',
+                path: 'profollow',
+                component: () =>
+                  import('@/views/fysp/data-product/ProdProFollow.vue')
+              },
+              {
+                //闂鏁存敼鍒嗘瀽
+                name: 'proanalysis',
+                path: 'proanalysis',
+                component: () =>
+                  import('@/views/fysp/data-product/ProdProAnalysis.vue')
+              },
+              {
+                //瑙勮寖鎬ц瘎浼�
+                name: 'standardjudge',
+                path: 'standardjudge',
+                component: () =>
+                  import('@/views/fysp/data-product/ProdStandardJudge.vue')
+              },
+              {
+                //鏃ユ姤绠$悊
+                name: 'dailyreport',
+                path: 'dailyreport',
+                component: () =>
+                  import('@/views/fysp/data-product/ProdDailyReport.vue')
+              },
+              {
+                //鍦烘櫙鎶ュ憡
+                name: 'scenereport',
+                path: 'scenereport',
+                component: () =>
+                  import('@/views/fysp/data-product/ProdSceneReport.vue')
+              },
+              {
+                //鍦烘櫙鎶ュ憡
+                name: 'lawenforcelist',
+                path: 'lawenforcelist',
+                component: () =>
+                  import('@/views/fysp/data-product/ProdLawEnforceList.vue')
+              },
+              {
+                name: 'dataProdBase',
+                path: 'base',
+                children: [
+                  {
+                    // 鍩虹浜у搧-绠$悊
+                    name: 'ProdManage',
+                    path: 'home',
+                    component: () =>
+                      import(
+                        '@/views/fysp/data-product/base-data-product/ProdManage.vue'
+                      ),
+                    children: [
+                      {
+                        // 鍩虹浜у搧-鍦烘櫙娓呭崟
+                        path: 'scene',
+                        name: 'ProdSceneInfo',
+                        meta: { keepAlive: true, key: 'ProdManage' },
+                        component: () =>
+                          import(
+                            '@/views/fysp/data-product/base-data-product/ProdSceneInfo.vue'
+                          )
+                      },
+                      {
+                        // 鍩虹浜у搧-瑙勮寖鎬ц瘎浼�
+                        path: 'evaluate',
+                        name: 'ProdEvaluationInfo',
+                        meta: { keepAlive: true, key: 'ProdManage' },
+                        component: () =>
+                          import(
+                            '@/views/fysp/data-product/base-data-product/ProdEvaluationInfo.vue'
+                          )
+                      },
+                      {
+                        // 鍩虹浜у搧-宸℃煡淇℃伅
+                        path: 'inspection',
+                        name: 'ProdInspectionInfo',
+                        meta: { keepAlive: true, key: 'ProdManage' },
+                        component: () =>
+                          import(
+                            '@/views/fysp/data-product/base-data-product/ProdInspectionInfo.vue'
+                          )
+                      },
+                      {
+                        // 鍩虹浜у搧-鐩戞祴鏁版嵁
+                        path: 'monitordata',
+                        name: 'ProdMonitorDataInfo',
+                        meta: { keepAlive: true, key: 'ProdManage' },
+                        component: () =>
+                          import(
+                            '@/views/fysp/data-product/base-data-product/ProdMonitorDataInfo.vue'
+                          )
+                      }
+                    ]
+                  },
+                  {
+                    // 鍩虹浜у搧-闂澶嶅彂娓呭崟
+                    name: 'PordProblemRecurrence',
+                    path: 'PordProblemRecurrence',
+                    component: () =>
+                      import(
+                        '@/views/fysp/data-product/base-data-product/PordProblemRecurrence.vue'
+                      )
+                  }
+                ]
+              }
+            ]
+          },
+          {
+            name: 'task',
+            path: 'task',
+            children: [
+              {
+                //鐩戠浠诲姟
+                name: 'taskmanage',
+                path: 'manage',
+                component: () => import('@/views/fysp/task/TaskManage.vue'),
+                meta: { keepAlive: true }
+              },
+              {
+                //鐩戠浠诲姟鍦烘櫙缂栬緫
+                name: 'monitorObjEdit',
+                path: 'edit',
+                component: () => import('@/views/fysp/task/MonitorObjEdit.vue')
+              },
+              {
+                name: 'plan',
+                path: 'plan',
+                children: [
+                  {
+                    //鐩戠浠诲姟璁″垝缂栬緫
+                    name: 'monitorPlanEdit',
+                    path: 'edit',
+                    component: () =>
+                      import('@/views/fysp/task/MonitorPlanEdit.vue')
+                  }
+                ]
+              },
 
-  /**********************************椋炵窘鐩戠***********************************************/
-  {
-    //闂瀹℃牳
-    name: 'procheck',
-    path: '/fysp/procheck',
-    component: () => import('@/views/fysp/check/ProCheck.vue')
-  },
-  {
-    //璐︽埛绠$悊
-    name: 'fyspUser',
-    path: '/fysp/userInfo',
-    component: () => import('@/views/baseinfo/fysp/user/UserInfo.vue')
-  },
-  {
-    //鐩戠闂
-    name: 'fyspProblemType',
-    path: '/fysp/config/problemType',
-    component: () => import('@/views/fysp/config/ProblemType.vue')
-  },
-  {
-    //璇勪及鏁版嵁婧�
-    name: 'fyspDatasource',
-    path: '/fysp/evaluation/datasource',
-    component: () => import('@/views/fysp/evaluation/DataSource.vue')
-  },
-  {
-    //璇勪及绠$悊
-    name: 'fyspResultManage',
-    path: '/fysp/evaluation/resultManage',
-    component: () => import('@/views/fysp/evaluation/ResultManage.vue')
-  },
-  {
-    //鍦烘櫙淇℃伅
-    name: 'fyspSceneInfo',
-    path: '/fysp/sceneInfo',
-    component: () => import('@/views/baseinfo/fysp/scene/SceneInfo.vue'),
-    meta: { keepAlive: true }
-  },
-  {
-    //鍦烘櫙缂栬緫
-    name: 'fyspSceneEdit',
-    path: '/fysp/sceneEdit/:sid',
-    component: () => import('@/views/baseinfo/fysp/scene/SceneEdit.vue'),
-    meta: { transition: 'slide-left' }
-  },
+              {
+                //鐩戠浠诲姟璁″垝缂栬緫
+                name: 'monitorTaskCreate',
+                path: 'create',
+                component: () =>
+                  import('@/views/fysp/task/MonitorTaskCreate.vue')
+              }
+            ]
+          },
 
-  /**********************************椋炵窘鐜***********************************************/
-  {
-    //鍙拌处瀹℃牳
-    name: 'ledger',
-    path: '/fytz/ledger',
-    component: () => import('@/views/fytz/ledger/LedgerManage.vue')
-  },
-  {
-    //閫氱煡绠$悊
-    name: 'notice',
-    path: '/fytz/notice',
-    component: () => import('@/views/notice/NoticeManage.vue')
-  },
-  {
-    //璐︽埛绠$悊
-    name: 'fytzUser',
-    path: '/fytz/userInfo',
-    component: () => import('@/views/fytz/user/UserInfo.vue'),
-    meta: { keepAlive: true }
-  },
-  {
-    //璐︽埛缂栬緫
-    name: 'fytzUserEdit',
-    path: '/fytz/userEdit/:userId',
-    component: () => import('@/views/fytz/user/UserEdit.vue'),
-    meta: { transition: 'slide-left' }
-  },
-  {
-    //鐜繚鐫e療妗堜緥
-    name: 'enforceCase',
-    path: '/fytz/enforceCase',
-    component: () => import('@/views/fytz/enforce-case/EnforceCase.vue')
-  },
+          // {
+          //   //璐︽埛绠$悊
+          //   name: 'fyspUser',
+          //   path: 'userInfo',
+          //   component: () => import('@/views/baseinfo/fysp/user/UserInfo.vue')
+          // },
+          {
+            //鐩戠闂
+            name: 'config',
+            path: 'config',
+            children: [
+              {
+                //鐩戠闂
+                name: 'fyspProblemType',
+                path: 'problemType',
+                component: () => import('@/views/fysp/config/ProblemType.vue')
+              },
+              {
+                //璁惧鍖归厤
+                name: 'fyspDeviceMatch',
+                path: 'deviceMatch',
+                component: () => import('@/views/fysp/config/DeviceMatch.vue')
+              },
+              {
+                //璇勪及瑙勫垯绠$悊
+                name: 'fyspEvalutationRule',
+                path: 'evalutationRule',
+                component: () =>
+                  import('@/views/fysp/config/EvalutationRule.vue')
+              }
+            ]
+          },
+          {
+            //璇勪及鏁版嵁婧�
+            name: 'evaluation',
+            path: 'evaluation',
+            children: [
+              {
+                //璇勪及鏁版嵁婧�
+                name: 'fyspEvalutationTask',
+                path: 'evalutationTask',
+                component: () =>
+                  import('@/views/fysp/evaluation/EvalutationTask.vue'),
+                meta: { keepAlive: false }
+              },
+              {
+                //璇勪及绠$悊
+                name: 'fyspEvalutationRecord',
+                path: 'evalutationRecord',
+                component: () =>
+                  import('@/views/fysp/evaluation/EvalutationRecord.vue'),
+                meta: { keepAlive: true }
+              },
+              {
+                //璇勪及缁撴灉璇︽儏
+                name: 'fyspEvalutationEdit',
+                path: 'evalutationEdit/:subTaskId',
+                component: () =>
+                  import('@/views/fysp/evaluation/EvalutationEdit.vue')
+              }
+            ]
+          },
 
-  /**********************************閫氱敤妯″潡***********************************************/
-  {
-    //璐︽埛鍖归厤
-    name: 'userMatch',
-    path: '/common/userMatch',
-    component: () => import('@/views/common/UserMatch.vue')
+          {
+            //鍦烘櫙淇℃伅
+            name: 'fyspSceneInfo',
+            path: 'sceneInfo',
+            component: () => import('@/views/fysp/scene/SceneInfo.vue'),
+            meta: { keepAlive: true }
+          },
+          {
+            //鍦烘櫙缂栬緫
+            name: 'fyspSceneEdit',
+            path: 'sceneEdit/:sid',
+            component: () => import('@/views/fysp/scene/SceneEdit.vue'),
+            meta: { transition: 'slide-left' }
+          },
+          {
+            //瀵瑰鏀寔
+            name: 'fyspSupport',
+            path: 'support',
+            component: () => import('@/views/fysp/support/JingAnSupport.vue')
+          }
+        ]
+      },
+
+      /**********************************椋炵窘鐜***********************************************/
+      {
+        //鍙拌处瀹℃牳
+        name: 'ledger',
+        path: 'fytz/ledger',
+        component: () => import('@/views/fytz/ledger/LedgerManage.vue')
+      },
+      {
+        //閫氱煡绠$悊
+        name: 'notice',
+        path: 'fytz/notice',
+        component: () => import('@/views/fytz/notice/NoticeManage.vue')
+      },
+      {
+        //璐︽埛绠$悊
+        name: 'fytzUser',
+        path: 'fytz/userInfo',
+        component: () => import('@/views/fytz/user/UserInfo.vue'),
+        meta: { keepAlive: true }
+      },
+      {
+        //璐︽埛缂栬緫
+        name: 'fytzUserEdit',
+        path: 'fytz/userEdit/:userId',
+        component: () => import('@/views/fytz/user/UserEdit.vue'),
+        meta: { transition: 'slide-left' }
+      },
+      {
+        //鐜繚鐫e療妗堜緥
+        name: 'enforceCase',
+        path: 'fytz/enforceCase',
+        component: () => import('@/views/fytz/enforce-case/EnforceCase.vue')
+      },
+
+      /**********************************閫氱敤妯″潡***********************************************/
+      {
+        //璐︽埛鍖归厤
+        name: 'userMatch',
+        path: 'common/userMatch',
+        component: () => import('@/views/common/UserMatch.vue')
+      },
+      {
+        //鏂囨。鐢熸垚娴嬭瘯
+        name: 'docTest',
+        path: 'common/docTest',
+        component: () => import('@/views/DocTest.vue')
+      }
+    ]
   }
-]
+];
 
 const router = createRouter({
-  // history: createWebHistory(import.meta.env.BASE_URL)
+  // history: createWebHistory(import.meta.env.BASE_URL),
   history: createWebHashHistory(),
   routes: routes
-})
+});
 
-const loadingStore = useLoadingStore(pinia)
+const loadingStore = useLoadingStore(pinia);
 // eslint-disable-next-line no-unused-vars
 router.afterEach((to, from) => {
-  loadingStore.clearLoading()
-})
+  loadingStore.clearLoading();
+});
 
-export { router, routes }
+export { router, routes };

--
Gitblit v1.9.3