From 5ad61d6ad3a0ce12c7fe0808527069b09a7c9c0d Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期二, 16 九月 2025 17:31:05 +0800 Subject: [PATCH] 新增基础产品 --- src/views/fysp/data-product/base-data-product/ProdMonitorDataInfo.vue | 4 src/api/fysp/dataproductApi.js | 3 src/views/fysp/data-product/base-data-product/ProdInspectionInfo.vue | 0 src/views/HomePage.vue | 97 +++++ src/api/fysp/dataprodbaseApi.js | 48 ++ src/views/fysp/data-product/base-data-product/ProdEvaluationInfo.vue | 0 src/constants/menu.js | 58 +- src/router/index.js | 526 ++++++++++++++++-------------- /dev/null | 4 src/api/index.js | 2 src/api/fysp/dataprodmiddleApi.js | 48 ++ src/views/fysp/data-product/base-data-product/ProdManage.vue | 108 ++++++ src/views/fysp/data-product/base-data-product/ProdSceneInfo.vue | 2 src/App.vue | 94 ----- 14 files changed, 628 insertions(+), 366 deletions(-) diff --git a/src/App.vue b/src/App.vue index 998905c..c2229b5 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,40 +1,6 @@ <template> <el-config-provider :locale="locale"> - <el-container class="el-container"> - <el-aside class="el-aside" - ><SiderMenu - :collapse="isCollapsed" - @nav-page="navPage" - ></SiderMenu - ></el-aside> - <el-container> - <el-header class="el-header" - ><Header - :navTitles="navTitles" - :collapse="isCollapsed" - @collapsed-sider="collapsedSider" - ></Header - ></el-header> - <el-main class="el-main"> - <el-scrollbar> - <div class="el-main__content"> - <Content></Content> - <!-- <el-backtop - target=".el-main .el-scrollbar__wrap" - :right="10" - :bottom="100" - style="z-index: 1000;" - > - <div class="back-top"> - <el-icon><ArrowUpBold /></el-icon> - <span style="">杩斿洖椤堕儴</span> - </div> - </el-backtop> --> - </div> - </el-scrollbar> - </el-main> - </el-container> - </el-container> + <router-view></router-view> </el-config-provider> </template> @@ -44,62 +10,8 @@ export default { data() { return { - isCollapsed: false, - navTitles: [], - locale: zhCn, + locale: zhCn }; - }, - methods: { - collapsedSider(b) { - this.isCollapsed = b; - }, - navPage(titles) { - this.navTitles = titles; - }, - }, + } }; </script> - -<style scoped> -.el-container{ - /* min-height: 820px; */ -} -.el-aside { - width: initial; -} - -.el-header { - /* background-color: rgb(216, 201, 201); */ - border-bottom: 1px solid var(--el-color-info-light-7); -} - -.el-main { - position: relative; - /* background-color: bisque; */ - padding: initial; - /* max-height: calc(100vh - 60px); */ - /* overflow: hidden; */ -} - -.el-main__content { - padding: var(--el-main-padding) calc(var(--el-main-padding) / 2); - max-height: calc(100vh - 60px - var(--el-main-padding) * 2); - /* background-color: aqua; */ - /* overflow: auto; */ -} -.back-top { - display: flex; - align-items: center; - justify-content: space-around; - height: 100%; - width: 100%; - background-color: var(--el-bg-color-overlay); - box-shadow: var(--el-box-shadow-lighter); - text-align: center; - /* line-height: 40px; */ - color: var(--el-color-info); - border: var(--el-border); - font-size: var(--el-font-size-medium); - border-radius: var(--el-border-radius-base); -} -</style> diff --git a/src/api/fysp/dataprodbaseApi.js b/src/api/fysp/dataprodbaseApi.js new file mode 100644 index 0000000..1beb3da --- /dev/null +++ b/src/api/fysp/dataprodbaseApi.js @@ -0,0 +1,48 @@ +import { $fysp } from '../index'; + +export default { + /** + * 鑾峰彇鏁版嵁浜у搧鍦烘櫙淇℃伅 + * @param {*} option 鏁版嵁浜у搧鍦烘櫙淇℃伅鏌ヨ鍙傛暟 + * @returns + */ + fetchProdSceneInfo(option) { + return $fysp.post(`dataProd/base/scene/get?`, option).then((res) => { + return res.data; + }); + }, + + /** + * 鑾峰彇鏁版嵁浜у搧璇勪及淇℃伅 + * @param {*} option 鏁版嵁浜у搧璇勪及淇℃伅鏌ヨ鍙傛暟 + * @returns + */ + fetchProdEvaluateInfo(option) { + return $fysp.post(`dataProd/base/evaluate/get?`, option).then((res) => { + return res.data; + }); + }, + + /** + * 鑾峰彇鏁版嵁浜у搧宸℃煡淇℃伅 + * @param {*} option 鏁版嵁浜у搧宸℃煡淇℃伅鏌ヨ鍙傛暟 + * @returns + */ + fetchProdInspectionInfo(option) { + return $fysp.post(`dataProd/base/inspection/get?`, option).then((res) => { + return res.data; + }); + }, + + /** + * 鑾峰彇鏁版嵁浜у搧鐩戞帶鏁版嵁淇℃伅 + * @param {*} option 鏁版嵁浜у搧鐩戞帶鏁版嵁淇℃伅鏌ヨ鍙傛暟 + * @returns + */ + fetchProdMonitorDataInfo(option) { + return $fysp.post(`dataProd/base/monitorData/get?`, option).then((res) => { + return res.data; + }); + }, + +}; diff --git a/src/api/fysp/dataprodmiddleApi.js b/src/api/fysp/dataprodmiddleApi.js new file mode 100644 index 0000000..0d99581 --- /dev/null +++ b/src/api/fysp/dataprodmiddleApi.js @@ -0,0 +1,48 @@ +import { $fysp } from '../index'; + +export default { + + /** + * 宸℃煡瀹屾垚鎯呭喌姹囨�� + * @param {*} option + * @returns + */ + fetchInspectionSummary(option) { + return $fysp.post(`dataProd/middle/inspection/summary/get?`, option).then((res) => { + return res.data; + }); + }, + + /** + * 闂绫诲瀷姹囨�� + * @param {*} option + * @returns + */ + fetchProblemTypeSummary(option) { + return $fysp.post(`dataProd/middle/problemType/summary/get?`, option).then((res) => { + return res.data; + }); + }, + + /** + * 鍒嗗尯鍩熷崟鍦烘櫙闂鏁伴噺 + * @param {*} option + * @returns + */ + fetchProblemCountByArea(option) { + return $fysp.post(`dataProd/middle/problemCount/area/get?`, option).then((res) => { + return res.data; + }); + }, + + /** + * 鍒嗗尯鍩熷崟瑙勮寖鎬ф儏鍐� + * @param {*} option + * @returns + */ + fetchEvaluationByArea(option) { + return $fysp.post(`dataProd/middle/evaluation/area/get?`, option).then((res) => { + return res.data; + }); + }, +}; diff --git a/src/api/fysp/dataproductApi.js b/src/api/fysp/dataproductApi.js index 7980a0f..1790067 100644 --- a/src/api/fysp/dataproductApi.js +++ b/src/api/fysp/dataproductApi.js @@ -48,5 +48,6 @@ return $fysp.post(`dataProduct/problemRecurrence?`, option).then((res) => { return res.data; }); - } + }, + }; diff --git a/src/api/index.js b/src/api/index.js index a839aee..766ad71 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,7 +1,7 @@ import axios from 'axios'; import { ElMessage } from 'element-plus'; -const debug = false; +const debug = true; // let ip1 = 'http://47.100.191.150:9005/'; // let ip1_file = 'http://47.100.191.150:9005/'; diff --git a/src/constants/menu.js b/src/constants/menu.js index b234fcb..2c2b22b 100644 --- a/src/constants/menu.js +++ b/src/constants/menu.js @@ -1,6 +1,6 @@ const MENU_COMMON = [ { - path: '/common/userMatch', + path: 'common/userMatch', icon: 'Connection', name: '璐︽埛鍖归厤' } @@ -8,7 +8,7 @@ if (import.meta.env.DEV) { MENU_COMMON.push({ - path: '/common/docTest', + path: 'common/docTest', icon: 'Connection', name: '鏂囨。鐢熸垚' }); @@ -23,7 +23,7 @@ // ] // }, { - path: '/fysp/procheck', + path: 'fysp/procheck', icon: 'CircleCheck', name: '闂鏁存敼' }, @@ -32,12 +32,12 @@ name: '浠诲姟绠$悊', children: [ { - path: '/fysp/task/manage', + path: 'fysp/task/manage', icon: 'CircleCheck', name: '鐩戠浠诲姟' }, { - path: '/fysp/sceneInfo', + path: 'fysp/sceneInfo', icon: 'Files', name: '鍦烘櫙淇℃伅' } @@ -47,23 +47,23 @@ icon: 'DataAnalysis', name: '鍩虹鏁版嵁浜у搧', children: [ + { + path: 'fysp/data-product/base/home/scene', + icon: 'Document', + name: '鐜板満宸℃煡', + }, // { - // path: '/fysp/data-product/base/ProdScenseInfo', - // icon: 'Document', - // name: '鍦烘櫙娓呭崟', - // }, - // { - // path: '/fysp/data-product/base/ProdMonitorTaskInfo', + // path: 'fysp/data-product/base/ProdMonitorTaskInfo', // icon: 'Document', // name: '鐩戠娓呭崟', // }, // { - // path: '/fysp/data-product/base/ProdTreatmentDeviceInfo', + // path: 'fysp/data-product/base/ProdTreatmentDeviceInfo', // icon: 'Document', // name: '闃叉不璁惧娓呭崟', // }, { - path: '/fysp/data-product/base/PordProblemRecurrence', + path: 'fysp/data-product/base/PordProblemRecurrence', icon: 'Document', name: '闂澶嶅彂娓呭崟', }, @@ -74,27 +74,27 @@ name: '涓棿鏁版嵁浜у搧', children: [ { - path: '/fysp/data-product/profollow', + path: 'fysp/data-product/profollow', icon: 'Document', name: '闂鍔ㄦ�佽窡韪�' }, { - path: '/fysp/data-product/proanalysis', + path: 'fysp/data-product/proanalysis', icon: 'Document', name: '闂鏁存敼鍒嗘瀽' }, { - path: '/fysp/data-product/standardjudge', + path: 'fysp/data-product/standardjudge', icon: 'Document', name: '瑙勮寖鎬ц瘎浼�' }, { - path: '/fysp/data-product/dailyreport', + path: 'fysp/data-product/dailyreport', icon: 'Document', name: '鏃ユ姤绠$悊' }, { - path: '/fysp/data-product/lawenforcelist', + path: 'fysp/data-product/lawenforcelist', icon: 'Document', name: '鑱斿悎鎵ф硶娓呭崟' }, @@ -106,7 +106,7 @@ name: '鏈�缁堟暟鎹骇鍝�', children: [ { - path: '/fysp/data-product/scenereport', + path: 'fysp/data-product/scenereport', icon: 'Document', name: '鍦烘櫙鍒嗘瀽鎶ュ憡' } @@ -122,12 +122,12 @@ name: '鑷姩璇勪及', children: [ { - path: '/fysp/evaluation/evalutationTask', + path: 'fysp/evaluation/evalutationTask', icon: 'MessageBox', name: '璇勪及浠诲姟' }, { - path: '/fysp/evaluation/evalutationRecord', + path: 'fysp/evaluation/evalutationRecord', icon: 'Tickets', name: '璇勪及璁板綍' } @@ -138,25 +138,25 @@ name: '閰嶇疆绠$悊', children: [ { - path: '/fysp/config/problemType', + path: 'fysp/config/problemType', icon: 'List', name: '鐩戠闂' }, { - path: '/fysp/config/deviceMatch', + path: 'fysp/config/deviceMatch', icon: 'List', name: '璁惧鍖归厤' }, { //璇勪及瑙勫垯绠$悊 - path: '/fysp/config/evalutationRule', + path: 'fysp/config/evalutationRule', icon: 'List', name: '璇勪及瑙勫垯' } ] }, { - path: '/fysp/support', + path: 'fysp/support', icon: 'Files', name: '瀵瑰鏀寔' }, @@ -210,17 +210,17 @@ const MENU_FYTZ = [ // { - // path: '/fytz/ledger', + // path: 'fytz/ledger', // icon: 'Search', // name: '鍙拌处瀹℃牳' // }, { - path: '/fytz/notice', + path: 'fytz/notice', icon: 'Message', name: '閫氱煡绠$悊' }, { - path: '/fytz/userInfo', + path: 'fytz/userInfo', icon: 'User', name: '璐︽埛淇℃伅' }, @@ -229,7 +229,7 @@ name: '璧勬簮绠$悊', children: [ { - path: '/fytz/enforceCase', + path: 'fytz/enforceCase', icon: 'Search', name: '鐫e療妗堜緥' } diff --git a/src/router/index.js b/src/router/index.js index 9fe8550..fa7bcf8 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,256 +1,304 @@ // 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: '/fysp/data-product/profollow', - component: () => import('@/views/fysp/data-product/ProdProFollow.vue') - }, - { - //闂鏁存敼鍒嗘瀽 - name: 'proanalysis', - path: '/fysp/data-product/proanalysis', - component: () => import('@/views/fysp/data-product/ProdProAnalysis.vue') - }, - { - //瑙勮寖鎬ц瘎浼� - name: 'standardjudge', - path: '/fysp/data-product/standardjudge', - component: () => import('@/views/fysp/data-product/ProdStandardJudge.vue') - }, - { - //鏃ユ姤绠$悊 - name: 'dailyreport', - path: '/fysp/data-product/dailyreport', - component: () => import('@/views/fysp/data-product/ProdDailyReport.vue') - }, - { - //鍦烘櫙鎶ュ憡 - name: 'scenereport', - path: '/fysp/data-product/scenereport', - component: () => import('@/views/fysp/data-product/ProdSceneReport.vue') - }, - { - //鍦烘櫙鎶ュ憡 - name: 'lawenforcelist', - path: '/fysp/data-product/lawenforcelist', - component: () => import('@/views/fysp/data-product/ProdLawEnforceList.vue') - }, - // { - // //鍦烘櫙鎶ュ憡-宸ュ湴 - // name: 'construction', - // path: '/scenereport/construction', - // component: () => import('@/views/fysp/scenereport/ConstructionReport.vue') - // }, - // { - // //鍦烘櫙鎶ュ憡-鐮佸ご - // name: 'wharf', - // path: '/scenereport/wharf', - // component: () => import('@/views/fysp/scenereport/WharfReport.vue') - // }, - // { - // //鍦烘櫙鎶ュ憡-鎼呮媽绔� - // name: 'mixing', - // path: '/scenereport/mixing', - // component: () => import('@/views/fysp/scenereport/MixingReport.vue') - // }, - // { - // //鍦烘櫙鎶ュ憡-鍫嗗満 - // name: 'storage', - // path: '/scenereport/storage', - // component: () => import('@/views/fysp/scenereport/StorageReport.vue') - // }, + name: 'home', + path: '/', + component: () => import('@/views/HomePage.vue'), + children: [ + // { + // //鏁存敼瀹℃牳 + // name: 'changecheck', + // path: '/changecheck', + // component: () => import('@/views/check/ChangeCheck.vue') + // }, + /**********************************椋炵窘鐩戠***********************************************/ + { + //闂鍔ㄦ�佽窡韪� + name: 'profollow', + path: 'fysp/data-product/profollow', + component: () => import('@/views/fysp/data-product/ProdProFollow.vue') + }, + { + //闂鏁存敼鍒嗘瀽 + name: 'proanalysis', + path: 'fysp/data-product/proanalysis', + component: () => import('@/views/fysp/data-product/ProdProAnalysis.vue') + }, + { + //瑙勮寖鎬ц瘎浼� + name: 'standardjudge', + path: 'fysp/data-product/standardjudge', + component: () => + import('@/views/fysp/data-product/ProdStandardJudge.vue') + }, + { + //鏃ユ姤绠$悊 + name: 'dailyreport', + path: 'fysp/data-product/dailyreport', + component: () => import('@/views/fysp/data-product/ProdDailyReport.vue') + }, + { + //鍦烘櫙鎶ュ憡 + name: 'scenereport', + path: 'fysp/data-product/scenereport', + component: () => import('@/views/fysp/data-product/ProdSceneReport.vue') + }, + { + //鍦烘櫙鎶ュ憡 + name: 'lawenforcelist', + path: 'fysp/data-product/lawenforcelist', + component: () => + import('@/views/fysp/data-product/ProdLawEnforceList.vue') + }, + // { + // //鍦烘櫙鎶ュ憡-宸ュ湴 + // name: 'construction', + // path: '/scenereport/construction', + // component: () => import('@/views/fysp/scenereport/ConstructionReport.vue') + // }, + // { + // //鍦烘櫙鎶ュ憡-鐮佸ご + // name: 'wharf', + // path: '/scenereport/wharf', + // component: () => import('@/views/fysp/scenereport/WharfReport.vue') + // }, + // { + // //鍦烘櫙鎶ュ憡-鎼呮媽绔� + // name: 'mixing', + // path: '/scenereport/mixing', + // component: () => import('@/views/fysp/scenereport/MixingReport.vue') + // }, + // { + // //鍦烘櫙鎶ュ憡-鍫嗗満 + // name: 'storage', + // path: '/scenereport/storage', + // component: () => import('@/views/fysp/scenereport/StorageReport.vue') + // }, - { - //鐩戠浠诲姟 - name: 'taskmanage', - path: '/fysp/task/manage', - component: () => import('@/views/fysp/task/TaskManage.vue'), - meta: { keepAlive: true } - }, - { - //鐩戠浠诲姟鍦烘櫙缂栬緫 - name: 'monitorObjEdit', - path: '/fysp/task/edit', - component: () => import('@/views/fysp/task/MonitorObjEdit.vue') - }, - { - //鐩戠浠诲姟璁″垝缂栬緫 - name: 'monitorPlanEdit', - path: '/fysp/task/plan/edit', - component: () => import('@/views/fysp/task/MonitorPlanEdit.vue') - }, - { - //鐩戠浠诲姟璁″垝缂栬緫 - name: 'monitorTaskCreate', - path: '/fysp/task/create', - component: () => import('@/views/fysp/task/MonitorTaskCreate.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: 'fyspDeviceMatch', - path: '/fysp/config/deviceMatch', - component: () => import('@/views/fysp/config/DeviceMatch.vue') - }, - { - //璇勪及瑙勫垯绠$悊 - name: 'fyspEvalutationRule', - path: '/fysp/config/evalutationRule', - component: () => import('@/views/fysp/config/EvalutationRule.vue') - }, - { - //璇勪及鏁版嵁婧� - name: 'fyspEvalutationTask', - path: '/fysp/evaluation/evalutationTask', - component: () => import('@/views/fysp/evaluation/EvalutationTask.vue'), - meta: { keepAlive: false } - }, - { - //璇勪及绠$悊 - name: 'fyspEvalutationRecord', - path: '/fysp/evaluation/evalutationRecord', - component: () => import('@/views/fysp/evaluation/EvalutationRecord.vue'), - meta: { keepAlive: true } - }, - { - //璇勪及缁撴灉璇︽儏 - name: 'fyspEvalutationEdit', - path: '/fysp/evaluation/evalutationEdit/:subTaskId', - component: () => import('@/views/fysp/evaluation/EvalutationEdit.vue'), - }, - { - //鍦烘櫙淇℃伅 - name: 'fyspSceneInfo', - path: '/fysp/sceneInfo', - component: () => import('@/views/fysp/scene/SceneInfo.vue'), - meta: { keepAlive: true } - }, - { - //鍦烘櫙缂栬緫 - name: 'fyspSceneEdit', - path: '/fysp/sceneEdit/:sid', - component: () => import('@/views/fysp/scene/SceneEdit.vue'), - meta: { transition: 'slide-left' } - }, - { - //瀵瑰鏀寔 - name: 'fyspSupport', - path: '/fysp/support', - component: () => import('@/views/fysp/support/JingAnSupport.vue'), - }, - { - // 鍩虹浜у搧-鍦烘櫙娓呭崟 - name: 'ProdScenseInfo', - path: '/fysp/data-product/base/ProdScenseInfo', - component: () => import('@/views/fysp/data-product/base-data-product/ProdScenseInfo.vue') - }, - { - // 鍩虹浜у搧-鐩戠娓呭崟 - name: 'ProdMonitorTaskInfo', - path: '/fysp/data-product/base/ProdMonitorTaskInfo', - component: () => import('@/views/fysp/data-product/base-data-product/ProdMonitorTaskInfo.vue') - }, - { - // 鍩虹浜у搧-闃叉不璁惧娓呭崟 - name: 'ProdTreatmentDeviceInfo', - path: '/fysp/data-product/base/ProdTreatmentDeviceInfo', - component: () => import('@/views/fysp/data-product/base-data-product/ProdTreatmentDeviceInfo.vue') - }, - { - // 鍩虹浜у搧-闂澶嶅彂娓呭崟 - name: 'PordProblemRecurrence', - path: '/fysp/data-product/base/PordProblemRecurrence', - component: () => import('@/views/fysp/data-product/base-data-product/PordProblemRecurrence.vue') - }, + { + //鐩戠浠诲姟 + name: 'taskmanage', + path: 'fysp/task/manage', + component: () => import('@/views/fysp/task/TaskManage.vue'), + meta: { keepAlive: true } + }, + { + //鐩戠浠诲姟鍦烘櫙缂栬緫 + name: 'monitorObjEdit', + path: 'fysp/task/edit', + component: () => import('@/views/fysp/task/MonitorObjEdit.vue') + }, + { + //鐩戠浠诲姟璁″垝缂栬緫 + name: 'monitorPlanEdit', + path: 'fysp/task/plan/edit', + component: () => import('@/views/fysp/task/MonitorPlanEdit.vue') + }, + { + //鐩戠浠诲姟璁″垝缂栬緫 + name: 'monitorTaskCreate', + path: 'fysp/task/create', + component: () => import('@/views/fysp/task/MonitorTaskCreate.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: 'fyspDeviceMatch', + path: 'fysp/config/deviceMatch', + component: () => import('@/views/fysp/config/DeviceMatch.vue') + }, + { + //璇勪及瑙勫垯绠$悊 + name: 'fyspEvalutationRule', + path: 'fysp/config/evalutationRule', + component: () => import('@/views/fysp/config/EvalutationRule.vue') + }, + { + //璇勪及鏁版嵁婧� + name: 'fyspEvalutationTask', + path: 'fysp/evaluation/evalutationTask', + component: () => import('@/views/fysp/evaluation/EvalutationTask.vue'), + meta: { keepAlive: false } + }, + { + //璇勪及绠$悊 + name: 'fyspEvalutationRecord', + path: 'fysp/evaluation/evalutationRecord', + component: () => + import('@/views/fysp/evaluation/EvalutationRecord.vue'), + meta: { keepAlive: true } + }, + { + //璇勪及缁撴灉璇︽儏 + name: 'fyspEvalutationEdit', + path: 'fysp/evaluation/evalutationEdit/:subTaskId', + component: () => import('@/views/fysp/evaluation/EvalutationEdit.vue') + }, + { + //鍦烘櫙淇℃伅 + name: 'fyspSceneInfo', + path: 'fysp/sceneInfo', + component: () => import('@/views/fysp/scene/SceneInfo.vue'), + meta: { keepAlive: true } + }, + { + //鍦烘櫙缂栬緫 + name: 'fyspSceneEdit', + path: 'fysp/sceneEdit/:sid', + component: () => import('@/views/fysp/scene/SceneEdit.vue'), + meta: { transition: 'slide-left' } + }, + { + //瀵瑰鏀寔 + name: 'fyspSupport', + path: 'fysp/support', + component: () => import('@/views/fysp/support/JingAnSupport.vue') + }, + { + // 鍩虹浜у搧-绠$悊 + name: 'ProdManage', + path: 'fysp/data-product/base/home', + component: () => + import('@/views/fysp/data-product/base-data-product/ProdManage.vue'), + children: [ + { + // 鍩虹浜у搧-鍦烘櫙娓呭崟 + path: 'scene', + name: 'ProdSceneInfo', + meta: { keepAlive: true }, + component: () => + import( + '@/views/fysp/data-product/base-data-product/ProdSceneInfo.vue' + ) + }, + { + // 鍩虹浜у搧-瑙勮寖鎬ц瘎浼� + path: 'evaluate', + name: 'ProdEvaluationInfo', + meta: { keepAlive: true }, + component: () => + import( + '@/views/fysp/data-product/base-data-product/ProdEvaluationInfo.vue' + ) + }, + { + // 鍩虹浜у搧-宸℃煡淇℃伅 + path: 'inspection', + name: 'ProdInspectionInfo', + meta: { keepAlive: true }, + component: () => + import( + '@/views/fysp/data-product/base-data-product/ProdInspectionInfo.vue' + ) + }, + { + // 鍩虹浜у搧-鐩戞祴鏁版嵁 + path: 'monitordata', + name: 'ProdMonitorDataInfo', + meta: { keepAlive: true }, + component: () => + import( + '@/views/fysp/data-product/base-data-product/ProdMonitorDataInfo.vue' + ) + } + ] + }, + { + // 鍩虹浜у搧-闂澶嶅彂娓呭崟 + name: 'PordProblemRecurrence', + path: 'fysp/data-product/base/PordProblemRecurrence', + component: () => + import( + '@/views/fysp/data-product/base-data-product/PordProblemRecurrence.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: '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') + /**********************************閫氱敤妯″潡***********************************************/ + { + //璐︽埛鍖归厤 + 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: 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 }; diff --git a/src/views/HomePage.vue b/src/views/HomePage.vue new file mode 100644 index 0000000..83ce519 --- /dev/null +++ b/src/views/HomePage.vue @@ -0,0 +1,97 @@ +<template> + <el-container class="el-container"> + <el-aside class="el-aside" + ><SiderMenu :collapse="isCollapsed" @nav-page="navPage"></SiderMenu + ></el-aside> + <el-container> + <el-header class="el-header" + ><Header + :navTitles="navTitles" + :collapse="isCollapsed" + @collapsed-sider="collapsedSider" + ></Header + ></el-header> + <el-main class="el-main"> + <el-scrollbar> + <div class="el-main__content"> + <Content></Content> + <!-- <el-backtop + target=".el-main .el-scrollbar__wrap" + :right="10" + :bottom="100" + style="z-index: 1000;" + > + <div class="back-top"> + <el-icon><ArrowUpBold /></el-icon> + <span style="">杩斿洖椤堕儴</span> + </div> + </el-backtop> --> + </div> + </el-scrollbar> + </el-main> + </el-container> + </el-container> +</template> + +<script> +export default { + data() { + return { + isCollapsed: false, + navTitles: [] + }; + }, + methods: { + collapsedSider(b) { + this.isCollapsed = b; + }, + navPage(titles) { + this.navTitles = titles; + } + } +}; +</script> + +<style scoped> +.el-container { + /* min-height: 820px; */ +} +.el-aside { + width: initial; +} + +.el-header { + /* background-color: rgb(216, 201, 201); */ + border-bottom: 1px solid var(--el-color-info-light-7); +} + +.el-main { + position: relative; + /* background-color: bisque; */ + padding: initial; + /* max-height: calc(100vh - 60px); */ + /* overflow: hidden; */ +} + +.el-main__content { + padding: var(--el-main-padding) calc(var(--el-main-padding) / 2); + max-height: calc(100vh - 60px - var(--el-main-padding) * 2); + /* background-color: aqua; */ + /* overflow: auto; */ +} +.back-top { + display: flex; + align-items: center; + justify-content: space-around; + height: 100%; + width: 100%; + background-color: var(--el-bg-color-overlay); + box-shadow: var(--el-box-shadow-lighter); + text-align: center; + /* line-height: 40px; */ + color: var(--el-color-info); + border: var(--el-border); + font-size: var(--el-font-size-medium); + border-radius: var(--el-border-radius-base); +} +</style> diff --git a/src/views/fysp/data-product/base-data-product/ProdScenseInfo.vue b/src/views/fysp/data-product/base-data-product/ProdEvaluationInfo.vue similarity index 100% rename from src/views/fysp/data-product/base-data-product/ProdScenseInfo.vue rename to src/views/fysp/data-product/base-data-product/ProdEvaluationInfo.vue diff --git a/src/views/fysp/data-product/base-data-product/ProdScenseInfo.vue b/src/views/fysp/data-product/base-data-product/ProdInspectionInfo.vue similarity index 100% copy from src/views/fysp/data-product/base-data-product/ProdScenseInfo.vue copy to src/views/fysp/data-product/base-data-product/ProdInspectionInfo.vue diff --git a/src/views/fysp/data-product/base-data-product/ProdManage.vue b/src/views/fysp/data-product/base-data-product/ProdManage.vue new file mode 100644 index 0000000..8d04a34 --- /dev/null +++ b/src/views/fysp/data-product/base-data-product/ProdManage.vue @@ -0,0 +1,108 @@ +<template> + <!-- <el-menu default-active="scene" ellipsis mode="horizontal" style="max-width: 600px"> + <el-menu-item index="scene" @click="navPage">鍦烘櫙娓呭崟</el-menu-item> + <el-menu-item index="evaluate" @click="navPage">璇勪及娓呭崟</el-menu-item> + <el-menu-item index="inspection" @click="navPage">宸℃煡淇℃伅</el-menu-item> + <el-menu-item index="monitorData" @click="navPage">鐩戞祴鏁版嵁</el-menu-item> + </el-menu> --> + <!-- <a @click="navPage({ index: 'scene' })"><div>鍦烘櫙娓呭崟</div></a> + <a @click="navPage({ index: 'evaluate' })"><div>璇勪及娓呭崟</div></a> + <a @click="navPage({ index: 'inspection' })"><div>宸℃煡淇℃伅</div></a> + <a @click="navPage({ index: 'monitorData' })"><div>鐩戞祴鏁版嵁</div></a> --> + <el-space> + <template v-for="(item, index) in menu" :key="item.path"> + <a :class="btnClz(item.selected)" @click="navTo(index)"> + <div>{{ item.name }}</div> + </a> + </template> + </el-space> + <div>sssss</div> + <router-view v-slot="{ Component, route }"> + <keep-alive> + <component + v-if="route.meta.keepAlive" + :is="Component" + :key="route.name" + /> + </keep-alive> + <component v-if="!route.meta.keepAlive" :is="Component" :key="route.name" /> + </router-view> +</template> +<script setup> +import { ref, onMounted } from 'vue'; +import { useRouter, useRoute } from 'vue-router'; + +const router = useRouter(); +const route = useRoute(); + +const menu = ref([ + { + name: '鍦烘櫙娓呭崟', + path: 'scene', + selected: true + }, + { + name: '璇勪及娓呭崟', + path: 'evaluate' + }, + { + name: '宸℃煡淇℃伅', + path: 'inspection' + }, + { + name: '鐩戞祴鏁版嵁', + path: 'monitorData' + } +]); +// console.log(router); +// console.log(route.path); + +const navPage = (item) => { + console.log(item); + if (item.index) { + router.push({ + path: item.index + }); + } +}; +function btnClz(selected) { + return ( + 'mode-btn ' + (selected ? 'btn-selected ' : 'btn-unselected ') + 'm-r-8' + ); +} + +function navTo(index) { + const m = this.menu; + m.forEach((e) => { + e.selected = false; + }); + m[index].selected = true; + router.replace(m[index].path); +} + +onMounted(() => { + console.log(route.path); + // router.push('/fysp/data-product/base/home/scene'); +}); +</script> +<style scoped> +.mode-btn { + padding: 8px 16px; + border-radius: 4px; + font-size: 14px; + color: #303133; + background-color: #f5f7fa; + border: 1px solid #dcdfe6; + cursor: pointer; +} +.btn-selected { + color: #fff; + background-color: #409eff; + border-color: #409eff; +} +.btn-unselected { + color: #303133; + background-color: #f5f7fa; + border-color: #dcdfe6; +} +</style> diff --git a/src/views/fysp/data-product/base-data-product/ProdMonitorDataInfo.vue b/src/views/fysp/data-product/base-data-product/ProdMonitorDataInfo.vue new file mode 100644 index 0000000..91bfefa --- /dev/null +++ b/src/views/fysp/data-product/base-data-product/ProdMonitorDataInfo.vue @@ -0,0 +1,4 @@ +<template> + 1 +</template> +<script setup></script> \ No newline at end of file diff --git a/src/views/fysp/data-product/base-data-product/ProdMonitorTaskInfo.vue b/src/views/fysp/data-product/base-data-product/ProdSceneInfo.vue similarity index 71% rename from src/views/fysp/data-product/base-data-product/ProdMonitorTaskInfo.vue rename to src/views/fysp/data-product/base-data-product/ProdSceneInfo.vue index dc19bf6..6c8ee7c 100644 --- a/src/views/fysp/data-product/base-data-product/ProdMonitorTaskInfo.vue +++ b/src/views/fysp/data-product/base-data-product/ProdSceneInfo.vue @@ -1,4 +1,4 @@ <template> - 1 + ProdSceneInfo </template> <script></script> \ No newline at end of file diff --git a/src/views/fysp/data-product/base-data-product/ProdTreatmentDeviceInfo.vue b/src/views/fysp/data-product/base-data-product/ProdTreatmentDeviceInfo.vue deleted file mode 100644 index dc19bf6..0000000 --- a/src/views/fysp/data-product/base-data-product/ProdTreatmentDeviceInfo.vue +++ /dev/null @@ -1,4 +0,0 @@ -<template> - 1 -</template> -<script></script> \ No newline at end of file -- Gitblit v1.9.3