Browse Source

表格报错BUG修复

Koishi 4 years ago
parent
commit
2ff19a9fc8

+ 1 - 1
public/static/config/modeConfig.js

@@ -1,5 +1,5 @@
 // 本地联调开关
-const localTest = 1;
+const localTest = 0;
 
 // 服务器地址
 let baseURL = null;

+ 41 - 18
src/components/chart/combination/bar-line-chart.vue

@@ -24,8 +24,25 @@ export default {
       type: Object,
       default: () => {
         return {
-          area: ["风场1", "风场2", "风场3", "风场4", "风场5", "风场6", "风场7", "风场8", "风场9"],
-          legend: ["实际电量", "计划检修损失", "非计划检修损失", "限电损失", "受累损失", "性能损失"],
+          area: [
+            "风场1",
+            "风场2",
+            "风场3",
+            "风场4",
+            "风场5",
+            "风场6",
+            "风场7",
+            "风场8",
+            "风场9",
+          ],
+          legend: [
+            "实际电量",
+            "计划检修损失",
+            "非计划检修损失",
+            "限电损失",
+            "受累损失",
+            "性能损失",
+          ],
           data: [
             [1320, 1302, 901, 634, 1390, 1330, 1320, 1000, 500],
             [320, 302, 301, 334, 390, 330, 320, 100, 50],
@@ -60,7 +77,14 @@ export default {
     // 颜色
     color: {
       type: Array,
-      default: () => ["#323E6F", "#1DA0D7", "#02BB4C", "#DB5520", "#EDB32F", "#EDEB2F"],
+      default: () => [
+        "#323E6F",
+        "#1DA0D7",
+        "#02BB4C",
+        "#DB5520",
+        "#EDB32F",
+        "#EDEB2F",
+      ],
     },
     // 每页显示个数
     pageSize: {
@@ -81,12 +105,9 @@ export default {
     },
     end() {
       var result = 20;
-      console.log("length:", this.areaData.length);
       if (this.areaData) {
         result = parseInt((this.pageSize / this.areaData.length) * 100);
       }
-
-      console.log("result", result);
       return result;
     },
   },
@@ -230,18 +251,20 @@ export default {
         series: [],
       };
       // bar data
-      for (var i = 0; i < this.bardata.legend.length; i++) {
-        option.series.push({
-          name: this.bardata.legend[i],
-          type: "bar",
-          stack: "总量",
-          barWidth: 16,
-          label: {
-            show: false,
-            position: "insideRight",
-          },
-          data: this.bardata.data[i],
-        });
+      if (this.bardata.legend && this.bardata.legend.length) {
+        for (var i = 0; i < this.bardata.legend.length; i++) {
+          option.series.push({
+            name: this.bardata.legend[i],
+            type: "bar",
+            stack: "总量",
+            barWidth: 16,
+            label: {
+              show: false,
+              position: "insideRight",
+            },
+            data: this.bardata.data[i],
+          });
+        }
       }
 
       // line data

+ 644 - 639
src/router/index.js

@@ -5,741 +5,746 @@ import {
 import Home from '../views/Home/Home.vue'
 
 const routes = [{
-		path: '/',
-		redirect: '/monitor/home'
-	},
-	{
-		path: '/monitor/home', // 驾驶舱
-		name: 'Home',
-		component: Home,
-	},
-	{
-		path: '/monitor/about',
-		name: 'About',
+	path: '/',
+	redirect: '/monitor/home'
+},
+{
+	path: '/monitor/home', // 驾驶舱
+	name: 'Home',
+	component: Home,
+},
+{
+	path: '/monitor/about',
+	name: 'About',
+	component: () =>
+		import( /* webpackChunkName: "about" */ '../views/About.vue'),
+},
+{
+	path: '/monitor/demo',
+	name: 'Demo',
+	component: () =>
+		import( /* webpackChunkName: "Demo" */ '../views/Demo.vue'),
+},
+{
+	path: '/monitor/status', // 状态监视
+	name: 'Status',
+	component: () =>
+		import( /* webpackChunkName: "status" */ '../views/Status/Status.vue'),
+},
+{
+	path: '/monitor/agc', // AGC 监视
+	name: 'Agc',
+	component: () =>
+		import( /* webpackChunkName: "agc" */ '../views/Agc/Agc.vue'),
+},
+{
+	path: '/monitor/windsite',
+	name: 'WindSite',
+	component: () =>
+		import( /* webpackChunkName: "windsite" */ '../views/WindSite/WindSite.vue'),
+	children: [{
+		path: 'home/:wpId', // 场站监视
+		component: () =>
+			import( /* webpackChunkName: "windsitehome" */ '../views/WindSite/pages/Home/Home.vue'),
+	}, {
+		path: 'draughtfanlist/:wpId', // 风机列表
 		component: () =>
-			import( /* webpackChunkName: "about" */ '../views/About.vue'),
-	},
-	{
-		path: '/monitor/demo',
-		name: 'Demo',
+			import( /* webpackChunkName: "windsitedraughtfanlist" */
+				'../views/WindSite/pages/DraughtFanList.vue'),
+	}, {
+		path: 'matrix/:wpId', // 风场矩阵
 		component: () =>
-			import( /* webpackChunkName: "Demo" */ '../views/Demo.vue'),
-	},
-	{
-		path: '/monitor/status', // 状态监视
-		name: 'Status',
+			import( /* webpackChunkName: "windsitematrix" */ '../views/WindSite/pages/Matrix.vue'),
+	}, {
+		path: 'lightmatrix/:wpId',
 		component: () =>
-			import( /* webpackChunkName: "status" */ '../views/Status/Status.vue'),
-	},
-	{
-		path: '/monitor/agc', // AGC 监视
-		name: 'Agc',
+			import( /* webpackChunkName: "windsitelightmatrix" */
+				'../views/WindSite/pages/LightMatrix.vue'),
+	}, {
+		path: 'box/:wpId',
 		component: () =>
-			import( /* webpackChunkName: "agc" */ '../views/Agc/Agc.vue'),
-	},
-	{
-		path: '/monitor/windsite',
-		name: 'WindSite',
+			import( /* webpackChunkName: "windsitebox" */ '../views/WindSite/pages/Box.vue'),
+	}, {
+		path: 'info/:wpId/:wtId', // 单机状态监视
 		component: () =>
-			import( /* webpackChunkName: "windsite" */ '../views/WindSite/WindSite.vue'),
-		children: [{
-				path: 'home/:wpId', // 场站监视
-				component: () =>
-					import( /* webpackChunkName: "windsitehome" */ '../views/WindSite/pages/Home/Home.vue'),
-			}, {
-				path: 'draughtfanlist/:wpId', // 风机列表
-				component: () =>
-					import( /* webpackChunkName: "windsitedraughtfanlist" */
-						'../views/WindSite/pages/DraughtFanList.vue'),
-			}, {
-				path: 'matrix/:wpId', // 风场矩阵
-				component: () =>
-					import( /* webpackChunkName: "windsitematrix" */ '../views/WindSite/pages/Matrix.vue'),
-			}, {
-				path: 'lightmatrix/:wpId',
-				component: () =>
-					import( /* webpackChunkName: "windsitelightmatrix" */
-						'../views/WindSite/pages/LightMatrix.vue'),
-			}, {
-				path: 'box/:wpId',
-				component: () =>
-					import( /* webpackChunkName: "windsitebox" */ '../views/WindSite/pages/Box.vue'),
-			}, {
-				path: 'info/:wpId/:wtId', // 单机状态监视
-				component: () =>
-					import( /* webpackChunkName: "info" */ '../views/WindSite/pages/Info/Info.vue'),
-			}, {
-				path: 'tower/:wpId', // 测风塔
-				component: () =>
-					import( /* webpackChunkName: "windsitetower" */ '../views/WindSite/pages/Tower.vue'),
-			}, {
-				path: 'inverter-info/:wpId',
-				component: () =>
-					import( /* webpackChunkName: "inverter-info" */
-					'../views/WindSite/pages/Inverter-Info.vue'),
-			}, {
-				path: 'map/:wpId',
-				component: () =>
-					import( /* webpackChunkName: "windsitemap" */ '../views/WindSite/pages/Map.vue'),
-			}, {
-				path: 'map1/:wpId',
-				component: () =>
-					import( /* webpackChunkName: "windsitemap1" */ '../views/WindSite/pages/Map1.vue'),
-			}, {
-				path: '/decision/decision1', //风机绩效榜
-				name: 'decision1',
-				component: () => import( /* webpackChunkName: "decision1" */ '../views/Decision/Decision1.vue'),
-			},
-			{
-				path: '/decision/decision1Mx', //风机绩效榜明细
-				name: 'decision1Mx',
-				component: () => import( /* webpackChunkName: "decision1Mx" */
-					'../views/Decision/Decision1Mx.vue'),
-			},
-
-			{
-				path: '/decision/decision2', //五项损失率
-				name: 'decision2',
-				component: () => import( /* webpackChunkName: "decision2" */ '../views/Decision/Decision2.vue'),
-			},
-			{
-				path: '/decision/decision2Cndb', //场内对标
-				name: 'decision2Cndb',
-				component: () => import( /* webpackChunkName: "decision2Cndb" */
-					'../views/Decision/Decision2Cndb.vue'),
-			},
-			{
-				path: '/decision/decision2Cjdb', //场际对标
-				name: 'decision2Cjdb',
-				component: () => import( /* webpackChunkName: "decision2Cjdb" */
-					'../views/Decision/Decision2Cjdb.vue'),
-			},
-			{
-				path: '/decision/decision2Xmdb', //项目对标
-				name: 'decision2Xmdb',
-				component: () => import( /* webpackChunkName: "decision2Xmdb" */
-					'../views/Decision/Decision2Xmdb.vue'),
-			},
-			{
-				path: '/decision/decision2Xldb', //线路对标
-				name: 'decision2Xldb',
-				component: () => import( /* webpackChunkName: "decision2Xldb" */
-					'../views/Decision/Decision2Xldb.vue'),
-			},
-			{
-				path: '/decision/decision3', //性能对标
-				name: 'decision3',
-				component: () => import( /* webpackChunkName: "decision3" */ '../views/Decision/Decision3.vue'),
-			},
-			{
-				path: '/decision/decision3db', //单机横向对比
-				name: 'decision3db',
-				component: () => import( /* webpackChunkName: "decision3db" */
-					'../views/Decision/Decision3Db.vue'),
-			},
-			{
-				path: '/decision/decision4', //值际对标
-				name: 'decision4',
-				component: () => import( /* webpackChunkName: "decision4" */ '../views/Decision/Decision4.vue'),
-			},
-			{
-				path: '/decision/decision4czzl', //操作指令统计
-				name: 'decision4czzl',
-				component: () => import( /* webpackChunkName: "decision4czzl" */
-					'../views/Decision/Decision4Czzl.vue'),
-			},
-			{
-				path: '/health',
-				name: 'health',
-				component: () => import('../views/HealthControl/Health.vue'),
-			},
-			{
-				path: '/health/health1',
-				name: 'health1',
-				component: () => import('../views/HealthControl/Health1.vue'),
-			},
-			{
-				path: '/health/health2', // 健康管理首页
-				name: 'health2',
-				component: () => import('../views/HealthControl/Health2.vue'),
-			},
-			{
-				path: '/health/health3/:wpId', // 场站健康管理
-				name: 'health3',
-				component: () => import('../views/HealthControl/Health3.vue'),
-			},
-			{
-				path: '/health/health4',
-				name: 'health4',
-				children: [{
-						path: 'healthLineChart/:wtId', // 风机健康趋势
-						component: () => import( /* webpackChunkName: "healthLineChart" */
-							'../views/HealthControl/healthLineChart.vue'),
-					},
-					{
-						path: 'healthLineChart2/:wtId', // 健康趋势
-						component: () => import( /* webpackChunkName: "healthLineChart2" */
-							'../views/HealthControl/healthLineChart2.vue'),
-					}
-				],
-				component: () => import('../views/HealthControl/Health4.vue'),
-			},
-			{
-				path: '/health/health5/',
-				name: 'health5',
-				component: () => import('../views/HealthControl/Health5.vue'),
-			},
-			{
-				path: '/health/health6', // 健康总览
-				name: 'health6',
-				component: () => import('../views/HealthControl/Health6.vue'),
-			},
-			{
-				path: '/cutAnalyse', // 切入切出分析
-				name: 'cutAnalyse',
-				component: () => import('../views/cutAnalyse/index.vue'),
-			},
-			{
-				path: '/cutAnalyse', // 切入切出分析
-				name: 'cutAnalyse',
-				component: () => import('../views/cutAnalyse/index.vue'),
-			},
-			{
-				path: '/wtSaturability', // 单机饱和度
-				name: 'wtSaturability',
-				component: () => import('../views/wtSaturability/index.vue'),
-			},
-			{
-				path: '/windAnalysis', // 风资源分析
-				name: 'windAnalysis',
-				component: () => import('../views/windAnalysis/index.vue'),
-			},
-			{
-				path: '/windAnalysis/fx', // 风向
-				name: 'fxzstmain',
-				component: () => import('../views/windAnalysis/fxzstmain.vue'),
-			},
-			{
-				path: 'boosterstation/:wpId', // 升压站
-				component: () =>
-					import( /* webpackChunkName: "boosterstation" */
-						'../views/WindSite/pages/BoosterStation.vue'),
-			},
-			{
-				path: "generalappearance/:wpId", // 总样貌
-				component: () =>
-					import( /* webpackChunkName: "generalappearance" */
-						"../views/WindSite/pages/GeneralAppearance.vue"),
-			},
-		]
-	},
-	{
-		path: '/monitor/lightmatrix', // 光伏明细矩阵
-		name: 'LightMatrix',
+			import( /* webpackChunkName: "info" */ '../views/WindSite/pages/Info/Info.vue'),
+	}, {
+		path: 'tower/:wpId', // 测风塔
 		component: () =>
-			import( /* webpackChunkName: "lightmatrix" */ '../views/LightMatrix/LightMatrix.vue'),
-	},
-	{
-		path: '/monitor/lightmatrix1', // 基础矩阵
-		name: 'LightMatrix1',
+			import( /* webpackChunkName: "windsitetower" */ '../views/WindSite/pages/Tower.vue'),
+	}, {
+		path: 'inverter-info/:wpId',
 		component: () =>
-			import( /* webpackChunkName: "lightmatrix1" */ '../views/LightMatrix1/LightMatrix1.vue'),
-	},
-	{
-		path: '/monitor/lightmatrix2', // 欠发矩阵
-		name: 'LightMatrix2',
+			import( /* webpackChunkName: "inverter-info" */
+				'../views/WindSite/pages/Inverter-Info.vue'),
+	}, {
+		path: 'map/:wpId',
 		component: () =>
-			import( /* webpackChunkName: "lightmatrix2" */ '../views/LightMatrix2/LightMatrix2.vue'),
+			import( /* webpackChunkName: "windsitemap" */ '../views/WindSite/pages/Map.vue'),
 	}, {
-		path: '/monitor/lightmatrix3', // 明细矩阵
-		name: 'LightMatrix3',
+		path: 'map1/:wpId',
 		component: () =>
-			import( /* webpackChunkName: "lightmatrix3" */ '../views/LightMatrix3/LightMatrix3.vue'),
+			import( /* webpackChunkName: "windsitemap1" */ '../views/WindSite/pages/Map1.vue'),
 	}, {
 		path: '/decision/decision1', //风机绩效榜
 		name: 'decision1',
-		component: () =>
-			import( /* webpackChunkName: "decision1" */ '../views/Decision/Decision1.vue'),
+		component: () => import( /* webpackChunkName: "decision1" */ '../views/Decision/Decision1.vue'),
 	},
 	{
 		path: '/decision/decision1Mx', //风机绩效榜明细
 		name: 'decision1Mx',
-		component: () =>
-			import( /* webpackChunkName: "decision1Mx" */ '../views/Decision/Decision1Mx.vue'),
+		component: () => import( /* webpackChunkName: "decision1Mx" */
+			'../views/Decision/Decision1Mx.vue'),
 	},
+
 	{
 		path: '/decision/decision2', //五项损失率
 		name: 'decision2',
-		component: () =>
-			import( /* webpackChunkName: "decision2" */ '../views/Decision/Decision2.vue'),
+		component: () => import( /* webpackChunkName: "decision2" */ '../views/Decision/Decision2.vue'),
 	},
 	{
 		path: '/decision/decision2Cndb', //场内对标
 		name: 'decision2Cndb',
-		component: () =>
-			import( /* webpackChunkName: "decision2Cndb" */ '../views/Decision/Decision2Cndb.vue'),
+		component: () => import( /* webpackChunkName: "decision2Cndb" */
+			'../views/Decision/Decision2Cndb.vue'),
 	},
 	{
 		path: '/decision/decision2Cjdb', //场际对标
 		name: 'decision2Cjdb',
-		component: () =>
-			import( /* webpackChunkName: "decision2Cjdb" */ '../views/Decision/Decision2Cjdb.vue'),
+		component: () => import( /* webpackChunkName: "decision2Cjdb" */
+			'../views/Decision/Decision2Cjdb.vue'),
 	},
 	{
 		path: '/decision/decision2Xmdb', //项目对标
 		name: 'decision2Xmdb',
-		component: () =>
-			import( /* webpackChunkName: "decision2Xmdb" */ '../views/Decision/Decision2Xmdb.vue'),
+		component: () => import( /* webpackChunkName: "decision2Xmdb" */
+			'../views/Decision/Decision2Xmdb.vue'),
 	},
 	{
 		path: '/decision/decision2Xldb', //线路对标
 		name: 'decision2Xldb',
-		component: () =>
-			import( /* webpackChunkName: "decision2Xldb" */ '../views/Decision/Decision2Xldb.vue'),
+		component: () => import( /* webpackChunkName: "decision2Xldb" */
+			'../views/Decision/Decision2Xldb.vue'),
 	},
 	{
 		path: '/decision/decision3', //性能对标
 		name: 'decision3',
-		component: () =>
-			import( /* webpackChunkName: "decision3" */ '../views/Decision/Decision3.vue'),
+		component: () => import( /* webpackChunkName: "decision3" */ '../views/Decision/Decision3.vue'),
+	},
+	{
+		path: '/decision/decision3db', //单机横向对比
+		name: 'decision3db',
+		component: () => import( /* webpackChunkName: "decision3db" */
+			'../views/Decision/Decision3Db.vue'),
 	},
 	{
 		path: '/decision/decision4', //值际对标
 		name: 'decision4',
-		component: () =>
-			import( /* webpackChunkName: "decision4" */ '../views/Decision/Decision4.vue'),
+		component: () => import( /* webpackChunkName: "decision4" */ '../views/Decision/Decision4.vue'),
 	},
 	{
 		path: '/decision/decision4czzl', //操作指令统计
 		name: 'decision4czzl',
-		component: () =>
-			import( /* webpackChunkName: "decision4czzl" */ '../views/Decision/Decision4Czzl.vue'),
+		component: () => import( /* webpackChunkName: "decision4czzl" */
+			'../views/Decision/Decision4Czzl.vue'),
 	},
 	{
 		path: '/health',
 		name: 'health',
-		component: () =>
-			import('../views/HealthControl/Health.vue'),
+		component: () => import('../views/HealthControl/Health.vue'),
 	},
 	{
 		path: '/health/health1',
 		name: 'health1',
-		component: () =>
-			import('../views/HealthControl/Health1.vue'),
+		component: () => import('../views/HealthControl/Health1.vue'),
 	},
 	{
 		path: '/health/health2', // 健康管理首页
 		name: 'health2',
-		component: () =>
-			import('../views/HealthControl/Health2.vue'),
+		component: () => import('../views/HealthControl/Health2.vue'),
 	},
 	{
 		path: '/health/health3/:wpId', // 场站健康管理
 		name: 'health3',
-		component: () =>
-			import('../views/HealthControl/Health3.vue'),
+		component: () => import('../views/HealthControl/Health3.vue'),
 	},
 	{
 		path: '/health/health4',
 		name: 'health4',
 		children: [{
-				path: "/health/health0/:wpId/:wtId",
-				name: "health0",
-				component: () =>
-					import("../views/HealthControl/Health0.vue"),
-			}, {
-				path: "/health/health10/:wpId/:wtId",
-				name: "health10",
-				component: () =>
-					import( /* webpackChunkName: "health8" */ "../views/HealthControl/Health10.vue"),
-			}, {
-				path: 'healthLineChart/:wpId/:wtId', // 风机健康趋势
-				component: () =>
-					import( /* webpackChunkName: "healthLineChart" */
-						'../views/HealthControl/healthLineChart.vue'),
-			},
-			{
-				path: 'healthLineChart2/:wpId/:wtId', // 健康趋势
-				component: () =>
-					import( /* webpackChunkName: "healthLineChart2" */
-						'../views/HealthControl/healthLineChart2.vue'),
-			}
+			path: 'healthLineChart/:wtId', // 风机健康趋势
+			component: () => import( /* webpackChunkName: "healthLineChart" */
+				'../views/HealthControl/healthLineChart.vue'),
+		},
+		{
+			path: 'healthLineChart2/:wtId', // 健康趋势
+			component: () => import( /* webpackChunkName: "healthLineChart2" */
+				'../views/HealthControl/healthLineChart2.vue'),
+		}
 		],
-		component: () =>
-			import('../views/HealthControl/Health4.vue'),
+		component: () => import('../views/HealthControl/Health4.vue'),
 	},
 	{
 		path: '/health/health5/',
 		name: 'health5',
-		component: () =>
-			import('../views/HealthControl/Health5.vue'),
+		component: () => import('../views/HealthControl/Health5.vue'),
 	},
 	{
 		path: '/health/health6', // 健康总览
 		name: 'health6',
-		component: () =>
-			import('../views/HealthControl/Health6.vue'),
+		component: () => import('../views/HealthControl/Health6.vue'),
 	},
 	{
 		path: '/cutAnalyse', // 切入切出分析
 		name: 'cutAnalyse',
-		component: () =>
-			import('../views/cutAnalyse/index.vue'),
+		component: () => import('../views/cutAnalyse/index.vue'),
 	},
 	{
 		path: '/cutAnalyse', // 切入切出分析
 		name: 'cutAnalyse',
-		component: () =>
-			import('../views/cutAnalyse/index.vue'),
+		component: () => import('../views/cutAnalyse/index.vue'),
 	},
 	{
 		path: '/wtSaturability', // 单机饱和度
 		name: 'wtSaturability',
-		component: () =>
-			import('../views/wtSaturability/index.vue'),
+		component: () => import('../views/wtSaturability/index.vue'),
 	},
 	{
 		path: '/windAnalysis', // 风资源分析
 		name: 'windAnalysis',
+		component: () => import('../views/windAnalysis/index.vue'),
+	},
+	{
+		path: '/windAnalysis/fx', // 风向
+		name: 'fxzstmain',
+		component: () => import('../views/windAnalysis/fxzstmain.vue'),
+	},
+	{
+		path: 'boosterstation/:wpId', // 升压站
+		component: () =>
+			import( /* webpackChunkName: "boosterstation" */
+				'../views/WindSite/pages/BoosterStation.vue'),
+	},
+	{
+		path: "generalappearance/:wpId", // 总样貌
+		component: () =>
+			import( /* webpackChunkName: "generalappearance" */
+				"../views/WindSite/pages/GeneralAppearance.vue"),
+	},
+	]
+},
+{
+	path: '/monitor/lightmatrix', // 光伏明细矩阵
+	name: 'LightMatrix',
+	component: () =>
+		import( /* webpackChunkName: "lightmatrix" */ '../views/LightMatrix/LightMatrix.vue'),
+},
+{
+	path: '/monitor/lightmatrix1', // 基础矩阵
+	name: 'LightMatrix1',
+	component: () =>
+		import( /* webpackChunkName: "lightmatrix1" */ '../views/LightMatrix1/LightMatrix1.vue'),
+},
+{
+	path: '/monitor/lightmatrix2', // 欠发矩阵
+	name: 'LightMatrix2',
+	component: () =>
+		import( /* webpackChunkName: "lightmatrix2" */ '../views/LightMatrix2/LightMatrix2.vue'),
+}, {
+	path: '/monitor/lightmatrix3', // 明细矩阵
+	name: 'LightMatrix3',
+	component: () =>
+		import( /* webpackChunkName: "lightmatrix3" */ '../views/LightMatrix3/LightMatrix3.vue'),
+}, {
+	path: '/decision/decision1', //风机绩效榜
+	name: 'decision1',
+	component: () =>
+		import( /* webpackChunkName: "decision1" */ '../views/Decision/Decision1.vue'),
+},
+{
+	path: '/decision/decision1Mx', //风机绩效榜明细
+	name: 'decision1Mx',
+	component: () =>
+		import( /* webpackChunkName: "decision1Mx" */ '../views/Decision/Decision1Mx.vue'),
+},
+{
+	path: '/decision/decision2', //五项损失率
+	name: 'decision2',
+	component: () =>
+		import( /* webpackChunkName: "decision2" */ '../views/Decision/Decision2.vue'),
+},
+{
+	path: '/decision/decision2Cndb', //场内对标
+	name: 'decision2Cndb',
+	component: () =>
+		import( /* webpackChunkName: "decision2Cndb" */ '../views/Decision/Decision2Cndb.vue'),
+},
+{
+	path: '/decision/decision2Cjdb', //场际对标
+	name: 'decision2Cjdb',
+	component: () =>
+		import( /* webpackChunkName: "decision2Cjdb" */ '../views/Decision/Decision2Cjdb.vue'),
+},
+{
+	path: '/decision/decision2Xmdb', //项目对标
+	name: 'decision2Xmdb',
+	component: () =>
+		import( /* webpackChunkName: "decision2Xmdb" */ '../views/Decision/Decision2Xmdb.vue'),
+},
+{
+	path: '/decision/decision2Xldb', //线路对标
+	name: 'decision2Xldb',
+	component: () =>
+		import( /* webpackChunkName: "decision2Xldb" */ '../views/Decision/Decision2Xldb.vue'),
+},
+{
+	path: '/decision/decision3', //性能对标
+	name: 'decision3',
+	component: () =>
+		import( /* webpackChunkName: "decision3" */ '../views/Decision/Decision3.vue'),
+},
+{
+	path: '/decision/decision4', //值际对标
+	name: 'decision4',
+	component: () =>
+		import( /* webpackChunkName: "decision4" */ '../views/Decision/Decision4.vue'),
+},
+{
+	path: '/decision/decision4czzl', //操作指令统计
+	name: 'decision4czzl',
+	component: () =>
+		import( /* webpackChunkName: "decision4czzl" */ '../views/Decision/Decision4Czzl.vue'),
+},
+{
+	path: '/health',
+	name: 'health',
+	component: () =>
+		import('../views/HealthControl/Health.vue'),
+},
+{
+	path: '/health/health1',
+	name: 'health1',
+	component: () =>
+		import('../views/HealthControl/Health1.vue'),
+},
+{
+	path: '/health/health2', // 健康管理首页
+	name: 'health2',
+	component: () =>
+		import('../views/HealthControl/Health2.vue'),
+},
+{
+	path: '/health/health3/:wpId', // 场站健康管理
+	name: 'health3',
+	component: () =>
+		import('../views/HealthControl/Health3.vue'),
+},
+{
+	path: '/health/health4',
+	name: 'health4',
+	children: [{
+		path: "/health/health0/:wpId/:wtId",
+		name: "health0",
+		component: () =>
+			import("../views/HealthControl/Health0.vue"),
+	}, {
+		path: "/health/health10/:wpId/:wtId",
+		name: "health10",
 		component: () =>
-			import('../views/windAnalysis/index.vue'),
-	},
-	{
-		path: '/powerRank', // 发电效率排行
-		name: 'powerRank',
-		component: () =>
-			import('../views/powerRank/index.vue'),
-	},
-	{
-		path: '/totalPowerRank', // 总发电效率排行
-		name: 'totalPowerRank',
-		component: () =>
-			import('../views/totalPowerRank/index.vue'),
-	},
-	{
-		path: '/warningRank', // 报警排行
-		name: 'warningRank',
-		component: () =>
-			import('../views/warningRank/index.vue'),
-	},
-	{
-		path: '/realSearch', // 测点数据查询
-		name: 'realSearch',
-		component: () =>
-			import('../views/realSearch/index.vue'),
-	},
-	{
-		path: '/singleAnalysis', // 单机月度分析
-		name: 'singleAnalysis',
-		component: () =>
-			import('../views/singleAnalysis/index.vue'),
-	},
-	{
-		path: '/performanceAnalysis', // 单机信息总览
-		name: 'performanceAnalysis',
-		component: () => import('../views/performanceAnalysis/index.vue'),
-	},
-	{
-		path: "/performanceAnalysis/detail/:wpId/:wtId", // 单机信息总览详情
-		name: "performanceAnalysisDetail",
-		component: () => import( /* webpackChunkName: "performanceAnalysisDetail" */ "../views/NewPages/dj1.vue"),
-	},
-	{
-		path: '/historySearch', // 测点历史数据查询
-		name: 'historySearch',
-		component: () =>
-			import('../views/historySearch/index.vue'),
-	},
-	{
-		path: '/knowledge', //故障知识列表
-		name: 'knowledge1',
-		component: () =>
-			import('../views/Knowledge/Knowledge1.vue'),
-	},
-	{
-		path: '/knowledge2', //安全措施知识
-		name: 'knowledge2',
-		component: () =>
-			import('../views/Knowledge/Knowledge2.vue'),
-	},
-	{
-		path: '/knowledge3', //风险辨识知识
-		name: 'knowledge3',
-		component: () =>
-			import('../views/Knowledge/Knowledge3.vue'),
-	},
-	{
-		path: '/knowledge4', //作业指导知识
-		name: 'knowledge4',
-		component: () =>
-			import('../views/Knowledge/Knowledge4.vue'),
-	},
-	{
-		path: '/knowledge5', //特征参数
-		name: 'knowledge5',
-		component: () =>
-			import('../views/Knowledge/Knowledge5.vue'),
-	},
-	{
-		path: '/knowledge6', //排查检修方案
-		name: 'knowledge6',
-		component: () =>
-			import('../views/Knowledge/Knowledge6.vue'),
-	},
-	{
-		path: '/knowledge7', //预警知识
-		name: 'knowledge7',
-		component: () =>
-			import('../views/Knowledge/Knowledge7.vue'),
-	},
-	{
-		path: '/allLifeManage', // 全生命周期管理
-		name: 'allLifeManage',
-		component: () =>
-			import('../views/allLifeManage/index.vue'),
-	},
-	{
-		path: "/health/health8",
-		name: "health8",
-		component: () =>
-			import( /* webpackChunkName: "health8" */ "../views/HealthControl/Health8.vue"),
-	},
-	{
-		path: "/monitor/sandtable",
-		name: "sandtable",
-		component: () =>
-			import( /* webpackChunkName: "sandtable" */ "../views/SandTable/SandTable.vue"),
-	},
-	{
-		path: "/planPower",
-		name: "planPower",
-		component: () =>
-			import( /* webpackChunkName: "planPower" */ "../views/planPower/index.vue"),
-	},
-	{
-		path: "/new/pf1",
-		name: "pf1",
-		component: () =>
-			import( /* webpackChunkName: "pf1" */ "../views/NewPages/power-forecast-1.vue"),
-	},
-	{
-		path: "/new/fs",
-		name: "fs",
-		component: () =>
-			import( /* webpackChunkName: "fs" */ "../views/NewPages/forecast-system.vue"),
-	},
-	{
-		path: '/new/ztfx', // 专题分析
-		name: 'ztfx',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/ztfx.vue'),
-	},
-	{
-		path: '/new/fnlyl', // 风能利用率
-		name: 'fnlyl',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/fnlyl.vue'),
-	},
-	{
-		path: '/new/whssl', // 维护损失率
-		name: 'whssl',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/whssl.vue'),
-	},
-	{
-		path: '/new/gzssl', // 故障损失率
-		name: 'gzssl',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/gzssl.vue'),
-	},
-	{
-		path: '/new/xdssl', // 限电损失率
-		name: 'xdssl',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/xdssl.vue'),
-	},
-	{
-		path: '/new/xnssl', // 性能损失率
-		name: 'xnssl',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/xnssl.vue'),
-	},
-	{
-		path: '/new/slssl', // 受累损失率
-		name: 'slssl',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/slssl.vue'),
-	},
-	{
-		path: '/new/mtbf', // mtbf
-		name: 'mtbf',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/mtbf.vue'),
-	},
-	{
-		path: '/new/mttr', // mttr
-		name: 'mttr',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/mttr.vue'),
-	},
-	{
-		path: '/new/zfwjsl', // 复位及时率
-		name: 'zfwjsl',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/fwjsl.vue'),
-	},
-	{
-		path: '/new/zztzhl', // 状态转换率
-		name: 'zztzhl',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/ztzhl.vue'),
-	},
-	{
-		path: '/new/zxqjsl', // 消缺及时率
-		name: 'zxqjsl',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/xqjsl.vue'),
-	},
-	{
-		path: '/new/zfdl', // 发电量分析
-		name: 'zfdl',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/fdl.vue'),
-	},
-	{
-		path: '/new/zzhcydl', // 综合场用电量
-		name: 'zzhcydl',
-		component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/zhcydl.vue'),
-	},
-	{
-		path: '/new/intelligentalarmcenter',
-		name: 'intelligentalarmcenter',
-		component: () =>
-			import( /* webpackChunkName: "intelligentalarmcenter" */
-				'../views/NewPages/intelligent-alarm-center.vue'),
-	},
-	{
-		path: '/new/personnel',
-		name: 'personnel',
-		component: () =>
-			import( /* webpackChunkName: "personnel" */ '../views/NewPages/personnel.vue'),
-	},
-	{
-		path: '/new/znzhfx/:wtId/:year/:month',
-		name: 'znzhfx',
-		component: () =>
-			import( /* webpackChunkName: "ztfx" */ '../views/NewPages/znzhfx.vue'),
-	},
-	{
-		path: '/new/alarmcenter',
-		name: 'alarmcenter',
-		component: () =>
-			import( /* webpackChunkName: "personnel" */ '../views/NewPages/alarm-center.vue'),
-	},
-	{
-		path: '/new/knowledgebase',
-		name: 'knowledgebase',
-		component: () =>
-			import( /* webpackChunkName: "knowledgebase" */ '../views/NewPages/knowledge-base.vue'),
-	},
-	{
-		path: "/new/dj",
-		name: "dj",
-		component: () =>
-			import( /* webpackChunkName: "dj" */ "../views/NewPages/dj.vue"),
-	},
-	{
-		path: "/new/dj2",
-		name: "dj2",
-		component: () =>
-			import( /* webpackChunkName: "dj2" */ "../views/NewPages/dj2.vue"),
-	},
-	{
-		path: "/new/dialog",
-		name: "dialog",
-		component: () =>
-			import( /* webpackChunkName: "dj2" */ "../views/NewPages/dialogs.vue"),
-	}, // 三率管理/复位及时率
-	{
-		path: '/fwjsl',
-		name: 'fwjsl',
-		component: () =>
-			import('../views/Decision/slgl/fwjsl.vue')
-	},
-	// 三率管理/状态转换率
-	{
-		path: '/ztzhl',
-		name: 'ztzhl',
-		component: () =>
-			import('../views/Decision/slgl/ztzhl.vue')
-	},
-	// 三率管理/消缺及时率
-	{
-		path: '/xqjsl',
-		name: 'xqjsl',
-		component: () =>
-			import('../views/Decision/slgl/xqjsl.vue')
-	},
-	// 曲线排行榜
-	{
-		path: '/qxpclfx',
-		name: 'qxpclfx',
-		component: () => import('../views/nxfx/qxpclfx.vue')
-	},
-	// 等级评估(单机等级评估管理-量化评级)
-	{
-		path: '/djpg',
-		name: 'djpg',
-		component: () => import('../views/HealthControl/gradeassessment.vue')
-	},
-	{
-		path: "/new/powerforecast2",
-		name: "powerforecast2",
-		component: () => import( /* webpackChunkName: "powerforecast2" */ "../views/NewPages/power-forecast-2.vue"),
-	},
-	{
-		path: "/new/alarmcenter1",
-		name: "alarmcenter1",
-		component: () => import( /* webpackChunkName: "alarmcenter1" */ "../views/NewPages/alarm-center-1.vue"),
-	},
-	{
-		path: "/new/tjsj",
-		name: "tjsj",
-		component: () =>
-			import( /* webpackChunkName: "tjsj" */ "../views/warn/tjsj.vue"),
-	},
-	{
-		path: "/new/xdgl",
-		name: "xdgl",
-		component: () =>
-			import( /* webpackChunkName: "xdgl" */ "../views/warn/xdgl.vue"),
-	},
-	{
-		path: "/new/alarmcenter2",
-		name: "alarmcenter2",
-		component: () =>
-			import( /* webpackChunkName: "alarmcenter2" */ "../views/NewPages/alarm-center-2.vue"),
-	},
-	{
-		path: "/new/historysearch",
-		name: "historysearch",
-		component: () => import( /* webpackChunkName: "historysearch" */ "../views/NewPages/history-search.vue"),
-	}, // 报警中心-升压站报警
-    {
-        path: "/alarmCenter/boosterAlarm",
-        name: "boosterAlarm",
-        component: () => import("../views/alarmCenter/boosterAlarm.vue")
-    },
-    // 报警中心-SCADA报警
-    {
-        path: "/alarmCenter/scadaAlarm",
-        name: "scadaAlarm",
-        component: () => import("../views/alarmCenter/scadaAlarm.vue")
-    },
-    // 报警中心-自定义报警
-    {
-        path: "/alarmCenter/customAlarm",
-        name: "customAlarm",
-        component: () => import("../views/alarmCenter/customAlarm.vue")
-    },
-    // 报警中心-自定义报警统计
-    {
-        path: "/alarmCenter/customStatistics",
-        name: "customStatistics",
-        component: () => import("../views/alarmCenter/customStatistics.vue")
-    },
-	{
-		path: "/new/pb",
-		name: "pb",
-		component: () => import(/* webpackChunkName: "powerbenchmarking" */ "../views/NewPages/power-benchmarking.vue"),
-	  },
+			import( /* webpackChunkName: "health8" */ "../views/HealthControl/Health10.vue"),
+	}, {
+		path: 'healthLineChart/:wpId/:wtId', // 风机健康趋势
+		component: () =>
+			import( /* webpackChunkName: "healthLineChart" */
+				'../views/HealthControl/healthLineChart.vue'),
+	},
+	{
+		path: 'healthLineChart2/:wpId/:wtId', // 健康趋势
+		component: () =>
+			import( /* webpackChunkName: "healthLineChart2" */
+				'../views/HealthControl/healthLineChart2.vue'),
+	}
+	],
+	component: () =>
+		import('../views/HealthControl/Health4.vue'),
+},
+{
+	path: '/health/health5/',
+	name: 'health5',
+	component: () =>
+		import('../views/HealthControl/Health5.vue'),
+},
+{
+	path: '/health/health6', // 健康总览
+	name: 'health6',
+	component: () =>
+		import('../views/HealthControl/Health6.vue'),
+},
+{
+	path: '/cutAnalyse', // 切入切出分析
+	name: 'cutAnalyse',
+	component: () =>
+		import('../views/cutAnalyse/index.vue'),
+},
+{
+	path: '/cutAnalyse', // 切入切出分析
+	name: 'cutAnalyse',
+	component: () =>
+		import('../views/cutAnalyse/index.vue'),
+},
+{
+	path: '/wtSaturability', // 单机饱和度
+	name: 'wtSaturability',
+	component: () =>
+		import('../views/wtSaturability/index.vue'),
+},
+{
+	path: '/windAnalysis', // 风资源分析
+	name: 'windAnalysis',
+	component: () =>
+		import('../views/windAnalysis/index.vue'),
+},
+{
+	path: '/powerRank', // 发电效率排行
+	name: 'powerRank',
+	component: () =>
+		import('../views/powerRank/index.vue'),
+},
+{
+	path: '/totalPowerRank', // 总发电效率排行
+	name: 'totalPowerRank',
+	component: () =>
+		import('../views/totalPowerRank/index.vue'),
+},
+{
+	path: '/warningRank', // 报警排行
+	name: 'warningRank',
+	component: () =>
+		import('../views/warningRank/index.vue'),
+},
+{
+	path: '/realSearch', // 测点数据查询
+	name: 'realSearch',
+	component: () =>
+		import('../views/realSearch/index.vue'),
+},
+{
+	path: '/singleAnalysis', // 单机月度分析
+	name: 'singleAnalysis',
+	component: () =>
+		import('../views/singleAnalysis/index.vue'),
+},
+{
+	path: '/performanceAnalysis', // 单机信息总览
+	name: 'performanceAnalysis',
+	component: () => import('../views/performanceAnalysis/index.vue'),
+},
+{
+	path: "/performanceAnalysis/detail/:wpId/:wtId", // 单机信息总览详情
+	name: "performanceAnalysisDetail",
+	component: () => import( /* webpackChunkName: "performanceAnalysisDetail" */ "../views/NewPages/dj1.vue"),
+},
+{
+	path: '/historySearch', // 测点历史数据查询
+	name: 'historySearch',
+	component: () =>
+		import('../views/historySearch/index.vue'),
+},
+{
+	path: '/knowledge', //故障知识列表
+	name: 'knowledge1',
+	component: () =>
+		import('../views/Knowledge/Knowledge1.vue'),
+},
+{
+	path: '/knowledge2', //安全措施知识
+	name: 'knowledge2',
+	component: () =>
+		import('../views/Knowledge/Knowledge2.vue'),
+},
+{
+	path: '/knowledge3', //风险辨识知识
+	name: 'knowledge3',
+	component: () =>
+		import('../views/Knowledge/Knowledge3.vue'),
+},
+{
+	path: '/knowledge4', //作业指导知识
+	name: 'knowledge4',
+	component: () =>
+		import('../views/Knowledge/Knowledge4.vue'),
+},
+{
+	path: '/knowledge5', //特征参数
+	name: 'knowledge5',
+	component: () =>
+		import('../views/Knowledge/Knowledge5.vue'),
+},
+{
+	path: '/knowledge6', //排查检修方案
+	name: 'knowledge6',
+	component: () =>
+		import('../views/Knowledge/Knowledge6.vue'),
+},
+{
+	path: '/knowledge7', //预警知识
+	name: 'knowledge7',
+	component: () =>
+		import('../views/Knowledge/Knowledge7.vue'),
+},
+{
+	path: '/allLifeManage', // 全生命周期管理
+	name: 'allLifeManage',
+	component: () =>
+		import('../views/allLifeManage/index.vue'),
+},
+{
+	path: "/health/health8",
+	name: "health8",
+	component: () =>
+		import( /* webpackChunkName: "health8" */ "../views/HealthControl/Health8.vue"),
+},
+{
+	path: "/monitor/sandtable",
+	name: "sandtable",
+	component: () =>
+		import( /* webpackChunkName: "sandtable" */ "../views/SandTable/SandTable.vue"),
+},
+{
+	path: "/planPower",
+	name: "planPower",
+	component: () =>
+		import( /* webpackChunkName: "planPower" */ "../views/planPower/index.vue"),
+},
+{
+	path: "/new/pf1",
+	name: "pf1",
+	component: () =>
+		import( /* webpackChunkName: "pf1" */ "../views/NewPages/power-forecast-1.vue"),
+},
+{
+	path: "/new/fs",
+	name: "fs",
+	component: () =>
+		import( /* webpackChunkName: "fs" */ "../views/NewPages/forecast-system.vue"),
+},
+{
+	path: '/new/ztfx', // 专题分析
+	name: 'ztfx',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/ztfx.vue'),
+},
+{
+	path: '/new/fnlyl', // 风能利用率
+	name: 'fnlyl',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/fnlyl.vue'),
+},
+{
+	path: '/new/whssl', // 维护损失率
+	name: 'whssl',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/whssl.vue'),
+},
+{
+	path: '/new/gzssl', // 故障损失率
+	name: 'gzssl',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/gzssl.vue'),
+},
+{
+	path: '/new/xdssl', // 限电损失率
+	name: 'xdssl',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/xdssl.vue'),
+},
+{
+	path: '/new/xnssl', // 性能损失率
+	name: 'xnssl',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/xnssl.vue'),
+},
+{
+	path: '/new/slssl', // 受累损失率
+	name: 'slssl',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/slssl.vue'),
+},
+{
+	path: '/new/mtbf', // mtbf
+	name: 'mtbf',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/mtbf.vue'),
+},
+{
+	path: '/new/mttr', // mttr
+	name: 'mttr',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/mttr.vue'),
+},
+{
+	path: '/new/zfwjsl', // 复位及时率
+	name: 'zfwjsl',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/fwjsl.vue'),
+},
+{
+	path: '/new/zztzhl', // 状态转换率
+	name: 'zztzhl',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/ztzhl.vue'),
+},
+{
+	path: '/new/zxqjsl', // 消缺及时率
+	name: 'zxqjsl',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/xqjsl.vue'),
+},
+{
+	path: '/new/zfdl', // 发电量分析
+	name: 'zfdl',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/fdl.vue'),
+},
+{
+	path: '/new/zzhcydl', // 综合场用电量
+	name: 'zzhcydl',
+	component: () => import( /* webpackChunkName: "ztfx" */ '../views/specific/zhcydl.vue'),
+},
+{
+	path: '/new/intelligentalarmcenter',
+	name: 'intelligentalarmcenter',
+	component: () =>
+		import( /* webpackChunkName: "intelligentalarmcenter" */
+			'../views/NewPages/intelligent-alarm-center.vue'),
+},
+{
+	path: '/new/personnel',
+	name: 'personnel',
+	component: () =>
+		import( /* webpackChunkName: "personnel" */ '../views/NewPages/personnel.vue'),
+},
+{
+	path: '/new/znzhfx/:wtId/:year/:month',
+	name: 'znzhfx',
+	component: () =>
+		import( /* webpackChunkName: "ztfx" */ '../views/NewPages/znzhfx.vue'),
+},
+{
+	path: '/new/alarmcenter',
+	name: 'alarmcenter',
+	component: () =>
+		import( /* webpackChunkName: "personnel" */ '../views/NewPages/alarm-center.vue'),
+},
+{
+	path: '/new/knowledgebase',
+	name: 'knowledgebase',
+	component: () =>
+		import( /* webpackChunkName: "knowledgebase" */ '../views/NewPages/knowledge-base.vue'),
+},
+{
+	path: "/new/dj",
+	name: "dj",
+	component: () =>
+		import( /* webpackChunkName: "dj" */ "../views/NewPages/dj.vue"),
+},
+{
+	path: "/new/dj2",
+	name: "dj2",
+	component: () =>
+		import( /* webpackChunkName: "dj2" */ "../views/NewPages/dj2.vue"),
+},
+{
+	path: "/new/dialog",
+	name: "dialog",
+	component: () =>
+		import( /* webpackChunkName: "dj2" */ "../views/NewPages/dialogs.vue"),
+}, // 三率管理/复位及时率
+{
+	path: '/fwjsl',
+	name: 'fwjsl',
+	component: () =>
+		import('../views/Decision/slgl/fwjsl.vue')
+},
+// 三率管理/状态转换率
+{
+	path: '/ztzhl',
+	name: 'ztzhl',
+	component: () =>
+		import('../views/Decision/slgl/ztzhl.vue')
+},
+// 三率管理/消缺及时率
+{
+	path: '/xqjsl',
+	name: 'xqjsl',
+	component: () =>
+		import('../views/Decision/slgl/xqjsl.vue')
+},
+// 曲线排行榜
+{
+	path: '/qxpclfx',
+	name: 'qxpclfx',
+	component: () => import('../views/nxfx/qxpclfx.vue')
+},
+// 等级评估(单机等级评估管理-量化评级)
+{
+	path: '/djpg',
+	name: 'djpg',
+	component: () => import('../views/HealthControl/gradeassessment.vue')
+},
+{
+	path: "/new/powerforecast2",
+	name: "powerforecast2",
+	component: () => import( /* webpackChunkName: "powerforecast2" */ "../views/NewPages/power-forecast-2.vue"),
+},
+{
+	path: "/new/alarmcenter1",
+	name: "alarmcenter1",
+	component: () => import( /* webpackChunkName: "alarmcenter1" */ "../views/NewPages/alarm-center-1.vue"),
+},
+{
+	path: "/new/tjsj",
+	name: "tjsj",
+	component: () =>
+		import( /* webpackChunkName: "tjsj" */ "../views/warn/tjsj.vue"),
+},
+{
+	path: "/new/xdgl",
+	name: "xdgl",
+	component: () =>
+		import( /* webpackChunkName: "xdgl" */ "../views/warn/xdgl.vue"),
+},
+{
+	path: "/new/alarmcenter2",
+	name: "alarmcenter2",
+	component: () =>
+		import( /* webpackChunkName: "alarmcenter2" */ "../views/NewPages/alarm-center-2.vue"),
+},
+{
+	path: "/new/historysearch",
+	name: "historysearch",
+	component: () => import( /* webpackChunkName: "historysearch" */ "../views/NewPages/history-search.vue"),
+}, // 报警中心-升压站报警
+{
+	path: "/alarmCenter/boosterAlarm",
+	name: "boosterAlarm",
+	component: () => import("../views/alarmCenter/boosterAlarm.vue")
+},
+// 报警中心-SCADA报警
+{
+	path: "/alarmCenter/scadaAlarm",
+	name: "scadaAlarm",
+	component: () => import("../views/alarmCenter/scadaAlarm.vue")
+},
+// 报警中心-自定义报警
+{
+	path: "/alarmCenter/customAlarm",
+	name: "customAlarm",
+	component: () => import("../views/alarmCenter/customAlarm.vue")
+},
+// 报警中心-自定义报警统计
+{
+	path: "/alarmCenter/customStatistics",
+	name: "customStatistics",
+	component: () => import("../views/alarmCenter/customStatistics.vue")
+},
+{
+	path: "/new/pb",
+	name: "pb",
+	component: () => import(/* webpackChunkName: "powerbenchmarking" */ "../views/NewPages/power-benchmarking.vue"),
+},
+{
+	path: "/powerCurve", // 功率曲线拟合
+	name: "powerCurve",
+	component: () => import(/* webpackChunkName: "powerCurve" */ "../views/powerCurve/index.vue"),
+},
 ]
 const router = createRouter({
 	history: createWebHashHistory(),

+ 209 - 0
src/views/powerCurve/index.vue

@@ -0,0 +1,209 @@
+<template>
+  <div class="draught-fan-list">
+    <div class="query mg-b-8">
+      <div class="query-items">
+        <div class="query-item">
+          <div class="lable">场站:</div>
+          <div class="search-input">
+            <el-select v-model="wpId" clearable placeholder="请选择" popper-class="select" @change="(wpId) => { getWt(wpId, true); }">
+              <el-option v-for="item in wpArray" :key="item.id" :value="item.id" :label="item.name" />
+            </el-select>
+          </div>
+        </div>
+        <div class="query-item">
+          <div class="lable">风机:</div>
+          <div class="search-input">
+            <el-select v-model="wtId" clearable placeholder="请选择" popper-class="select">
+              <el-option v-for="item in wtArray" :key="item.id" :value="item.id" :label="item.name" />
+            </el-select>
+          </div>
+        </div>
+      </div>
+      <div class="query-actions">
+        <button class="btn green" @click="search">搜索</button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  // 名称
+  name: "cutAnalyse",
+
+  // 使用组件
+  components: {},
+
+  // 数据
+  data () {
+    return {
+      isAsc: "asc",
+      wpArray: [],
+      wtArray: [],
+      wpId: "",
+      wtId: "",
+      chartData: [{
+        title: "",
+        yAxisIndex: 0,
+        value: []
+      }],
+      chartUnit: ["功率(MW)", "(m/s)"]
+    };
+  },
+
+  // 函数
+  methods: {
+    // 获取风场
+    getWp (reGetWp) {
+      let that = this;
+      that.API.requestData({
+        method: "GET",
+        subUrl: "powercompare/windfarmAjax",
+        success (res) {
+          that.wpArray = res.data;
+          that.wpId = res.data[0].id;
+          that.getWt(that.wpId, reGetWp);
+        }
+      });
+    },
+
+    // 获取风机
+    getWt (wpid, reGetWp) {
+      let that = this;
+      if (that.wpId) {
+        that.API.requestData({
+          method: "GET",
+          baseURL: "http://10.155.32.4:9001",
+          subUrl: "benchmarking/wtList",
+          data: {
+            wpid
+          },
+          success (res) {
+            that.wtArray = res.data;
+            that.wtId = res.data[0].id;
+            if (!reGetWp) {
+              that.getChartData();
+            }
+          }
+        });
+      }
+    },
+
+    // 获取图表数据
+    getChartData () {
+      let that = this;
+      that.API.requestData({
+        method: "POST",
+        subUrl: "powersaturation/powersaturationamonutchart",
+        data: {
+          wtId: that.wtId
+        },
+        success (res) {
+
+          const keyArray = [{
+            key: "value1",
+            title: "风速"
+          }, {
+            key: "value2",
+            title: "实际拟合功率"
+          }, {
+            key: "value3",
+            title: "最优拟合功率"
+          }, {
+            key: "value4",
+            title: "保证功率"
+          }];
+
+          let chartData = [{
+            title: "风速",
+            yAxisIndex: 1,
+            value: []
+          }, {
+            title: "实际拟合功率",
+            yAxisIndex: 0,
+            value: []
+          }, {
+            title: "最优拟合功率",
+            yAxisIndex: 0,
+            value: []
+          }, {
+            title: "保证功率",
+            yAxisIndex: 0,
+            value: []
+          }];
+
+          keyArray.forEach((keyEle, keyIndex) => {
+            res.data.forEach(ele => {
+              chartData[keyIndex].value.push({
+                text: "",
+                value: ele[keyEle.key]
+              });
+            });
+          });
+
+          that.chartData = chartData;
+        }
+      });
+    },
+
+    search () {
+      if (!this.wpId || !this.wtId) {
+        this.BASE.showMsg({
+          msg: '场站与风机为必选项'
+        });
+      } else {
+        this.getTabData();
+      }
+    }
+  },
+
+  created () {
+    this.getWp();
+  },
+
+  mounted () { },
+
+  unmounted () { },
+};
+</script>
+
+<style lang="less" scoped>
+.draught-fan-list {
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+
+  .btn-group-tabs {
+    display: flex;
+    flex-direction: row;
+
+    .photovoltaic {
+      margin-left: 1.481vh;
+    }
+  }
+
+  .df-table {
+    border: 0.093vh solid fade(@darkgray, 50%);
+    position: relative;
+    overflow: auto;
+    flex-grow: 1;
+    margin-top: 1.481vh;
+    height: 30vh;
+
+    &:before {
+      content: '';
+      width: 0.37vh;
+      height: 0.37vh;
+      background: @write;
+      position: absolute;
+      left: 0.278vh;
+      top: 0.278vh;
+    }
+
+    tbody {
+      height: calc(100vh - 166px);
+    }
+  }
+}
+</style>