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