Преглед изворни кода

Merge branch 'yx' of http://61.161.152.110:10101/r/electronic-map into yx

杨宽 пре 4 година
родитељ
комит
b46eaa1543

+ 1 - 0
src/components/coms/table/table2.vue

@@ -13,6 +13,7 @@
       :prop="col.field"
       :label="col.name"
       :width="col.width"
+      :min-width="col.minWidth"
       :sortable="col.sortable"
       :show-overflow-tooltip="!col.slot"
       :fixed="col.fixed"

+ 788 - 788
src/router/index.js

@@ -5,815 +5,815 @@ 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',
-		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: "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/:wtId',
-				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: 'boosterstation/:wpId', // 升压站
-				component: () =>
-					import( /* webpackChunkName: "boosterstation" */
-						'../views/WindSite/pages/BoosterStation.vue'),
-			},
-			{
-				path: "generalappearance/:wpId", // 总样貌
-				component: () =>
-					import( /* webpackChunkName: "generalappearance" */
-						"../views/WindSite/pages/GeneralAppearance.vue"),
-			},
-		]
-	},
-	{
-		path: '/decision/decision3db', //单机横向对比
-		name: 'decision3db',
-		component: () => import( /* webpackChunkName: "decision3db" */
-			'../views/Decision/Decision3Db.vue'),
-	},
-	{
-		path: '/windAnalysis/fx', // 风向
-		name: 'fxzstmain',
-		component: () => import('../views/windAnalysis/fxzstmain.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: '/',
+	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: '/monitor/lightmatrix3', // 明细矩阵
-		name: 'LightMatrix3',
+		path: 'draughtfanlist/:wpId', // 风机列表
 		component: () =>
-			import( /* webpackChunkName: "lightmatrix3" */ '../views/LightMatrix3/LightMatrix3.vue'),
+			import( /* webpackChunkName: "windsitedraughtfanlist" */
+				'../views/WindSite/pages/DraughtFanList.vue'),
 	}, {
-		path: '/decision/decision1', //风机绩效榜
-		name: 'decision1',
+		path: 'matrix/:wpId', // 风场矩阵
 		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( /* 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: "/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: '/assess/index',
-		name: 'assessindex',
-		component: () => import('../views/HealthControl/assess/assessindex.vue')
-	},
-	{
-		path: '/assess/config',
-		name: 'assessconfig',
-		component: () => import('../views/HealthControl/assess/assessconfig.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: "/malfunctionDiagnose", // 故障诊断
-		name: "customStatistics",
-		component: () => import("../views/malfunctionDiagnose/index.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"),
+			import( /* webpackChunkName: "windsitematrix" */ '../views/WindSite/pages/Matrix.vue'),
 	}, {
-		path: "/tjfx",
-		name: "tjfx",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/tjfx.vue"),
-	},
-	{
-		path: "/bdzcx",
-		name: "bdzcx",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/bdzcx.vue"),
-	},
-	{
-		path: "/oafd",
-		name: "oafd",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/oafd.vue"),
-	},
-	{
-		path: "/oagf",
-		name: "oagf",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/oagf.vue"),
-	},
-	{
-		path: "/missfdrb",
-		name: "missfdrb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/missfdrb.vue"),
-	},
-	{
-		path: "/missgfrb",
-		name: "missgfrb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/missgfrb.vue"),
-	},
-	{
-		path: "/xnyfdscyb",
-		name: "xnyfdscyb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/xnyfdscyb.vue"),
-	},
-	{
-		path: "/mhsscyb",
-		name: "mhsscyb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/mhsscyb.vue"),
-	},
-	{
-		path: "/nssscyb",
-		name: "nssscyb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/nssscyb.vue"),
-	},
-	{
-		path: "/qsscyb",
-		name: "qsscyb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/qsscyb.vue"),
-	},
-	{
-		path: "/sbqscyb",
-		name: "sbqscyb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/sbqscyb.vue"),
-	},
-	{
-		path: "/xsscyb",
-		name: "xsscyb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/xsscyb.vue"),
-	},
-	{
-		path: "/xnygfscyb",
-		name: "xnygfscyb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/xnygfscyb.vue"),
-	},
-	{
-		path: "/dwkscyb",
-		name: "dwkscyb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/dwkscyb.vue"),
-	},
-	{
-		path: "/plscyb",
-		name: "plscyb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/plscyb.vue"),
-	},
-	{
-		path: "/xhscyb",
-		name: "xhscyb",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/xhscyb.vue"),
-	},
-	{
-		path: "/fdczzdy",
-		name: "fdczzdy",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/fdczzdy.vue"),
-	},
-	{
-		path: "/fdxmzdy",
-		name: "fdxmzdy",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/fdxmzdy.vue"),
-	},
-	{
-		path: "/gfczzdy",
-		name: "gfczzdy",
-		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/gfczzdy.vue"),
-	},
-	{
-		path: "/gfxmzdy",
-		name: "gfxmzdy",
+		path: 'lightmatrix/:wpId',
 		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/gfxmzdy.vue"),
-	},
-	{
-		path: "/xnyrb",
-		name: "xnyrb",
+			import( /* webpackChunkName: "windsitelightmatrix" */
+				'../views/WindSite/pages/LightMatrix.vue'),
+	}, {
+		path: 'box/:wpId',
 		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/xnyrb.vue"),
-	},
-	{
-		path: "/warnStatistics", // 预警评判分析
-		name: "warnStatistics",
+			import( /* webpackChunkName: "windsitebox" */ '../views/WindSite/pages/Box.vue'),
+	}, {
+		path: 'info/:wpId/:wtId', // 单机状态监视
 		component: () =>
-			import( /* webpackChunkName: "warnStatistics" */ "../views/warnStatistics/index.vue"),
-	},
-	{
-		path: "/malfunctionStatistics", // 故障评判分析
-		name: "malfunctionStatistics",
+			import( /* webpackChunkName: "info" */ '../views/WindSite/pages/Info/Info.vue'),
+	}, {
+		path: 'tower/:wpId', // 测风塔
 		component: () =>
-			import( /* webpackChunkName: "malfunctionStatistics" */ "../views/malfunctionStatistics/index.vue"),
-	},
-	{
-		path: "/malfunctionRecall", // 故障回溯
-		name: "malfunctionRecall",
+			import( /* webpackChunkName: "windsitetower" */ '../views/WindSite/pages/Tower.vue'),
+	}, {
+		path: 'inverter-info/:wpId/:wtId',
 		component: () =>
-			import( /* webpackChunkName: "malfunctionStatistics" */ "../views/malfunctionRecall/index.vue"),
+			import( /* webpackChunkName: "inverter-info" */
+				'../views/WindSite/pages/Inverter-Info.vue'),
 	}, {
-		path: "/bjgltjb",
-		name: "bjgltjb",
+		path: 'map/:wpId',
 		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/bjgltjb.vue"),
-	},
-	{
-		path: "/xzycfsdl",
-		name: "xzycfsdl",
+			import( /* webpackChunkName: "windsitemap" */ '../views/WindSite/pages/Map.vue'),
+	}, {
+		path: 'map1/:wpId',
 		component: () =>
-			import( /* webpackChunkName: "historysearch" */ "../views/report/xzycfsdl.vue"),
+			import( /* webpackChunkName: "windsitemap1" */ '../views/WindSite/pages/Map1.vue'),
 	},
+
 	{
-		path: "/nhycfsdl",
-		name: "nhycfsdl",
+		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: '/decision/decision3db', //单机横向对比
+	name: 'decision3db',
+	component: () => import( /* webpackChunkName: "decision3db" */
+		'../views/Decision/Decision3Db.vue'),
+},
+{
+	path: '/windAnalysis/fx', // 风向
+	name: 'fxzstmain',
+	component: () => import('../views/windAnalysis/fxzstmain.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( /* webpackChunkName: "historysearch" */ "../views/report/nhycfsdl.vue"),
-	},{
-		    path: "/globalMonitor", // 全局监视
-		    name: "globalMonitor",
-		    component: () =>
-		        import( /* webpackChunkName: "globalMonitor" */ "../views/globalMonitor/index.vue"),
-		},
-		{
-		    path: "/reportPandect", // 报表总览
-		    name: "reportPandect",
-		    component: () =>
-		        import( /* webpackChunkName: "reportPandect" */ "../views/reportPandect/index.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: "/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: '/assess/index',
+	name: 'assessindex',
+	component: () => import('../views/HealthControl/assess/assessindex.vue')
+},
+{
+	path: '/assess/config',
+	name: 'assessconfig',
+	component: () => import('../views/HealthControl/assess/assessconfig.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: "/malfunctionDiagnose", // 故障诊断
+	name: "customStatistics",
+	component: () => import("../views/malfunctionDiagnose/index.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"),
+}, {
+	path: "/tjfx",
+	name: "tjfx",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/tjfx.vue"),
+},
+{
+	path: "/bdzcx",
+	name: "bdzcx",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/bdzcx.vue"),
+},
+{
+	path: "/oafd",
+	name: "oafd",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/oafd.vue"),
+},
+{
+	path: "/oagf",
+	name: "oagf",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/oagf.vue"),
+},
+{
+	path: "/missfdrb",
+	name: "missfdrb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/missfdrb.vue"),
+},
+{
+	path: "/missgfrb",
+	name: "missgfrb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/missgfrb.vue"),
+},
+{
+	path: "/xnyfdscyb",
+	name: "xnyfdscyb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/xnyfdscyb.vue"),
+},
+{
+	path: "/mhsscyb",
+	name: "mhsscyb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/mhsscyb.vue"),
+},
+{
+	path: "/nssscyb",
+	name: "nssscyb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/nssscyb.vue"),
+},
+{
+	path: "/qsscyb",
+	name: "qsscyb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/qsscyb.vue"),
+},
+{
+	path: "/sbqscyb",
+	name: "sbqscyb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/sbqscyb.vue"),
+},
+{
+	path: "/xsscyb",
+	name: "xsscyb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/xsscyb.vue"),
+},
+{
+	path: "/xnygfscyb",
+	name: "xnygfscyb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/xnygfscyb.vue"),
+},
+{
+	path: "/dwkscyb",
+	name: "dwkscyb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/dwkscyb.vue"),
+},
+{
+	path: "/plscyb",
+	name: "plscyb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/plscyb.vue"),
+},
+{
+	path: "/xhscyb",
+	name: "xhscyb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/xhscyb.vue"),
+},
+{
+	path: "/fdczzdy",
+	name: "fdczzdy",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/fdczzdy.vue"),
+},
+{
+	path: "/fdxmzdy",
+	name: "fdxmzdy",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/fdxmzdy.vue"),
+},
+{
+	path: "/gfczzdy",
+	name: "gfczzdy",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/gfczzdy.vue"),
+},
+{
+	path: "/gfxmzdy",
+	name: "gfxmzdy",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/gfxmzdy.vue"),
+},
+{
+	path: "/xnyrb",
+	name: "xnyrb",
+	component: () =>
+		import( /* webpackChunkName: "historysearch" */ "../views/report/xnyrb.vue"),
+},
+{
+	path: "/warnStatistics", // 预警评判分析
+	name: "warnStatistics",
+	component: () =>
+		import( /* webpackChunkName: "warnStatistics" */ "../views/warnStatistics/index.vue"),
+},
+{
+	path: "/malfunctionStatistics", // 故障评判分析
+	name: "malfunctionStatistics",
+	component: () =>
+		import( /* webpackChunkName: "malfunctionStatistics" */ "../views/malfunctionStatistics/index.vue"),
+},
+{
+	path: "/malfunctionRecall", // 故障回溯
+	name: "malfunctionRecall",
+	component: () =>
+		import( /* webpackChunkName: "malfunctionRecall" */ "../views/malfunctionRecall/index.vue"),
+}, {
+	path: "/bjgltjb",
+	name: "bjgltjb",
+	component: () =>
+		import( /* webpackChunkName: "bjgltjb" */ "../views/report/bjgltjb.vue"),
+},
+{
+	path: "/xzycfsdl",
+	name: "xzycfsdl",
+	component: () =>
+		import( /* webpackChunkName: "xzycfsdl" */ "../views/report/xzycfsdl.vue"),
+},
+{
+	path: "/nhycfsdl",
+	name: "nhycfsdl",
+	component: () =>
+		import( /* webpackChunkName: "nhycfsdl" */ "../views/report/nhycfsdl.vue"),
+}, {
+	path: "/globalMonitor", // 全局监视
+	name: "globalMonitor",
+	component: () =>
+		import( /* webpackChunkName: "globalMonitor" */ "../views/globalMonitor/index.vue"),
+},
+{
+	path: "/reportPandect", // 报表总览
+	name: "reportPandect",
+	component: () =>
+		import( /* webpackChunkName: "reportPandect" */ "../views/reportPandect/index.vue"),
+},
 ]
 const router = createRouter({
 	history: createWebHashHistory(),
 	base: '/zhfx/',
 	routes
-})
+});
 
 router.beforeEach((to, from, next) => {
-	next()
-})
+	next();
+});
 
-export default router
+export default router;

+ 0 - 2
src/views/Home/Home.vue

@@ -1005,8 +1005,6 @@ export default {
 
     // 点击地图展示类型
     changeShowType(wpId, planBtnName) {
-      console.log('changeShowType wpId: ' + wpId)
-      console.log('changeShowType planBtnName: ' + planBtnName)
       this.wpName = planBtnName;
       this.planBtnName = planBtnName;
       this.jczbmap = {};

+ 77 - 42
src/views/Home/components/power-review.vue

@@ -3,7 +3,20 @@
     <Row type="flex" justify="center" :align="'middle'">
       <!-- 功率复核 PowerLoad -->
       <Col v-for="item in PowerLoad" :key="item" :span="6">
-        <dash-pie-chart :title="item.title" :value="item.value" :max="item.max" height="10vh" @click="openDialog(item.dialogTitle, item.subUrl, item.targetName, item.dialogType)" />
+        <dash-pie-chart
+          :title="item.title"
+          :value="item.value"
+          :max="item.max"
+          height="10vh"
+          @click="
+            openDialog(
+              item.dialogTitle,
+              item.subUrl,
+              item.targetName,
+              item.dialogType
+            )
+          "
+        />
       </Col>
     </Row>
   </div>
@@ -21,76 +34,98 @@ export default {
     DashPieChart,
   },
 
-  data () {
+  data() {
     return {
       // 功率复核数据
       PowerLoad: [],
-      wpId:""
+      wpId: "",
     };
   },
 
   props: {
     data: {
       type: Array,
-      default: () => []
+      default: () => [],
+    },
+    id: {
+      type: String,
+      defaylt: "",
     },
-    id:{
-      type:String,
-      defaylt:""
-    }
   },
 
-  mounted () {
+  mounted() {
     this.PowerLoad = this.data;
     this.wpId = this.id;
   },
 
-  methods:{
-    openDialog(dialogTitle, subUrl, targetName, dialogType){
+  methods: {
+    openDialog(dialogTitle, subUrl, targetName, dialogType) {
       let that = this;
       that.API.requestData({
-          method: "POST",
-          subUrl,
-          data: {
-            id:that.wpId,
-            targetName
-          },
-          success (res) {
-            let powerLineChartData = {
-              // 图表所用单位
-              units: [""],
-              value: [],
-            };
+        method: "POST",
+        subUrl,
+        data: {
+          id: that.wpId,
+          targetName,
+        },
+        success(res) {
+          // let powerLineChartData = {
+          //   // 图表所用单位
+          //   units: [""],
+          //   value: [],
+          // };
 
-            res.data.forEach((pEle,pIndex)=>{
-              powerLineChartData.value.push({
-                title: pEle[0].name,
-                yAxisIndex: 0,
-                value: [],
-              });
+          // res.data.forEach((pEle, pIndex) => {
+          //   powerLineChartData.value.push({
+          //     title: pEle[0].name,
+          //     yAxisIndex: 0,
+          //     smooth: true,
+          //     value: [],
+          //   });
 
-              pEle.forEach(cEle=>{
-                powerLineChartData.value[pIndex].value.push({
-                  text: new Date(cEle.time).formatDate("hh:mm:ss"),
-                  value: cEle.value1
-                });
+          //   pEle.forEach((cEle) => {
+          //     powerLineChartData.value[pIndex].value.push({
+          //       text: new Date(cEle.time).formatDate("hh:mm:ss"),
+          //       value: cEle.value1,
+          //     });
+          //   });
+          // });
+
+          let powerLineChartData = [];
+
+          res.data.forEach((pEle, pIndex) => {
+            powerLineChartData.push({
+              title: pEle[0].name,
+              smooth: true,
+              value: [],
+            });
+
+            pEle.forEach((cEle) => {
+              powerLineChartData[pIndex].value.push({
+                text: new Date(cEle.time).formatDate("hh:mm:ss"),
+                value: cEle.value1,
               });
             });
+          });
 
-            that.$emit("chartClick", { dialogTitle, dialogType, data: powerLineChartData });
-          }
-        });
-    }
+          that.$emit("chartClick", {
+            dialogTitle,
+            dialogType,
+            data: powerLineChartData,
+          });
+        },
+      });
+    },
   },
 
   watch: {
-    data (res) {
+    data(res) {
       this.PowerLoad = res;
     },
-    id(res){
+    id(res) {
       this.wpId = res;
-    }
-  }
+    },
+  },
 };
 </script>
 

+ 68 - 27
src/views/NewPages/alarm-center-1.vue

@@ -6,8 +6,18 @@
           <div class="query-item">
             <div class="lable">风场:</div>
             <div class="search-input">
-              <el-select v-model="wpvalue" clearable placeholder="请选择" popper-class="select">
-                <el-option v-for="item in wpoptions" :key="item.id" :label="item.name" :value="item.id">
+              <el-select
+                v-model="wpvalue"
+                clearable
+                placeholder="请选择"
+                popper-class="select"
+              >
+                <el-option
+                  v-for="item in wpoptions"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
                 </el-option>
               </el-select>
             </div>
@@ -15,53 +25,76 @@
           <div class="query-item">
             <div class="lable">开始日期:</div>
             <div class="search-input">
-              <el-date-picker v-model="startdate" type="date" placeholder="选择日期" popper-class="date-select">
+              <el-date-picker
+                v-model="startdate"
+                type="date"
+                placeholder="选择日期"
+                popper-class="date-select"
+              >
               </el-date-picker>
             </div>
           </div>
           <div class="query-item">
             <div class="lable">结束日期:</div>
             <div class="search-input">
-              <el-date-picker v-model="enddate" type="date" placeholder="选择日期" popper-class="date-select">
+              <el-date-picker
+                v-model="enddate"
+                type="date"
+                placeholder="选择日期"
+                popper-class="date-select"
+              >
               </el-date-picker>
             </div>
           </div>
           <div class="query-item">
             <div class="lable">规则:</div>
-            <el-cascader style="width: 240px" size="mini" popper-class="search-select" :options="cascaderOptions"
-              :props="cascaderProps" v-model="cascaderSel" collapse-tags :clearable='true'></el-cascader>
+            <el-cascader
+              style="width: 240px"
+              size="mini"
+              popper-class="search-select"
+              :options="cascaderOptions"
+              :props="cascaderProps"
+              v-model="cascaderSel"
+              collapse-tags
+              :clearable="true"
+            ></el-cascader>
           </div>
         </div>
         <div class="query-actions">
           <button class="btn green" @click="searchData">搜索</button>
           <button class="btn green" @click="searchTree">筛选</button>
-          <button class="btn green">导出</button>
         </div>
       </div>
     </div>
     <panel-3 class="table-panel">
-      <table-2 :data="tableData" :height="'88vh'">
+      <table-2 :data="tableData" :height="'85vh'">
         <template v-for="(item, i) in column" :key="i" #[item]="scope">
           <div class="bar">
-            <div class="bar-percent" :style="{
+            <div
+              class="bar-percent"
+              :style="{
                 width:
                   (scope.data.count &&
                     scope.data.count / (scope.data.count + scope.data.time)) *
                     100 +
                   'px',
-              }"></div>
+              }"
+            ></div>
             <span class="value">{{
               scope.data.count && scope.data.count
-              }}</span>
+            }}</span>
           </div>
           <div class="bar">
-            <div class="bar-percent" :style="{
+            <div
+              class="bar-percent"
+              :style="{
                 width:
                   (scope.data.count &&
                     scope.data.time / (scope.data.count + scope.data.time)) *
                     100 +
                   'px',
-              }"></div>
+              }"
+            ></div>
             <span class="value">{{ scope.data.count && scope.data.time }}</span>
           </div>
         </template>
@@ -75,7 +108,7 @@ import Panel3 from "../../components/coms/panel/panel3.vue";
 import Table2 from "../../components/coms/table/table2.vue";
 export default {
   components: { Panel3, Table2 },
-  data () {
+  data() {
     return {
       wpvalue: "",
       wpoptions: "",
@@ -94,36 +127,48 @@ export default {
         {
           name: "风机编号",
           field: "name",
+          width: "100px",
+          minWidth: "100px",
         },
         {
           name: "风机偏航过程震动",
           field: "风机偏航过程震动",
           align: "left",
           slot: true,
+          sortable: true,
+          minWidth: "200px",
         },
         {
           name: "齿轮箱轴承温升超过40度",
           field: "齿轮箱轴承温升超过40度",
           align: "left",
           slot: true,
+          sortable: true,
+          minWidth: "200px",
         },
         {
           name: "三相电流不平衡",
           field: "三相电流不平衡",
           align: "left",
           slot: true,
+          sortable: true,
+          minWidth: "200px",
         },
         {
           name: "断轴或联轴器打滑",
           field: "断轴或联轴器打滑",
           align: "left",
           slot: true,
+          sortable: true,
+          minWidth: "200px",
         },
         {
           name: "风速突变",
           align: "left",
           field: "风速突变",
           slot: true,
+          sortable: true,
+          minWidth: "200px",
         },
       ],
       startdate: new Date(
@@ -161,27 +206,26 @@ export default {
       },
     };
   },
-  created () {
+  created() {
     this.search();
   },
   methods: {
-    tabSelect (tab) { },
-    async search () {
+    tabSelect(tab) {},
+    async search() {
       const { data } = await this.API.requestData({
         subUrl: "powercompare/windfarmAjax",
       });
-      console.warn(data);
       this.wpoptions = data.data;
       this.wpvalue = data.data[0].id;
       this.searchData();
     },
-    async searchTree () {
-      console.warn(this.cascaderSel);
+    async searchTree() {
       let arr = [];
       let columnObj = [
         {
           name: "风机编号",
           field: "name",
+          minWidth: "100px",
         },
       ];
       this.cascaderSel.forEach((e) => {
@@ -190,6 +234,8 @@ export default {
           field: e[1],
           align: "left",
           slot: true,
+          sortable: true,
+          minWidth: "200px",
         };
         columnObj.push(obj);
 
@@ -197,10 +243,9 @@ export default {
       });
       this.columnObj = columnObj;
       this.column = arr;
-      this.searchData()
-      console.warn(arr);
+      this.searchData();
     },
-    async searchData () {
+    async searchData() {
       const { data } = await this.API.requestData({
         baseURL: "http://192.168.1.18:8075/",
         subUrl: "alarm/count/query/new",
@@ -210,7 +255,6 @@ export default {
           enddate: new Date(this.enddate).formatDate("yyyy-MM-dd"),
         },
       });
-      console.warn(data);
       ////////
       const resData = data.data;
       // const resData =this.resdata;
@@ -234,7 +278,6 @@ export default {
         });
         dataAll.push(obj);
       });
-      console.info(dataAll);
       this.tableData.column = column;
       this.tableData.data = dataAll;
       ///////////////////// 获取规则list
@@ -261,7 +304,6 @@ export default {
       var cascaderOptions = [];
       var root = {}; // 原始根节点
       var clumnsOnes = nmap[windNum[0]];
-      console.warn(clumnsOnes);
       for (let k in clumnsOnes) {
         let f = clumnsOnes[k].relatePartsText
           ? clumnsOnes[k].relatePartsText
@@ -297,7 +339,6 @@ export default {
         }
       }
       this.cascaderOptions = cascaderOptions;
-      console.warn(cascaderOptions);
     },
   },
 };

+ 276 - 0
src/views/NewPages/components/group-table.vue

@@ -0,0 +1,276 @@
+<template>
+  <el-table class="custom-table" :class="customClass" stripe :data="data.data" :height="height" style="width: 100%;cursor: pointer;" @cell-click="onClick" @header-click="onHeaderClick">
+    <template v-for="col in data.column" :key="col">
+      <el-table-column v-if="col.child && col.child.length > 0" :label="col.name" :key="col">
+        <el-table-column
+          v-for="sub in col.child"
+          :key="sub"
+          :label="sub.name"
+          :prop="sub.field"
+          :width="sub.width"
+          :sortable="sub.sortable"
+          :show-overflow-tooltip="!sub.slot"
+          :fixed="sub.fixed"
+          :align="sub.align ? sub.align : 'center'"
+          :resizable="sub.resizable"
+          :header-align="'center'"
+        >
+          <template v-if="sub.slot == true" #default="item">
+            <slot :name="sub.field" :column="sub" :row="item.row" :all="item" :data="item.row[item.field]"></slot>
+          </template>
+        </el-table-column>
+      </el-table-column>
+      <el-table-column
+        v-if="!col.child"
+        :label="col.name"
+        :prop="col.field"
+        :width="col.width"
+        :sortable="col.sortable"
+        :show-overflow-tooltip="!col.slot"
+        :fixed="col.fixed"
+        :align="col.align ? col.align : 'center'"
+        :resizable="col.resizable"
+        :header-align="'center'"
+      >
+        <template v-if="col.slot == true" #default="item">
+          <slot :name="col.field" :column="col" :row="item.row" :all="item" :data="item.row[col.field]"></slot>
+        </template>
+      </el-table-column>
+    </template>
+  </el-table>
+  <el-pagination class="mg-t-8" v-if="pageable" @current-change="handleCurrentChange" :current-page="currentPage" :page-size="pageSize" :total="data.total" v-bind="elPaggingProps"> </el-pagination>
+</template>
+
+<script>
+export default {
+  // 名称
+  name: "ComTable",
+  // 使用组件
+  components: {},
+  // 传入参数
+  props: {
+    /**
+             * {
+                    column: [{
+                        name: "风机名称",
+                        child:[{
+                            field: "name",
+                            width:'', // 宽度
+                            click:function(){} // 点击事件
+                            sortable:fasle,
+                            slot:false,
+                            fixed:false,
+                            align:'center',
+                            resizable :false,
+                        }]
+                    }],
+                    total:200
+                }
+             */
+    data: Object,
+    height: {
+      type: String,
+      default: "",
+    },
+    pageSize: {
+      type: Number,
+      default: 0,
+    },
+    customClass: {
+      type: String,
+      default: "",
+    },
+    elPaggingProps: {
+      type: Object,
+      default: () => {
+        return {
+          layout: "total, sizes, prev, pager, next, jumper",
+          // "page-sizes": [100, 200, 300, 400],
+        };
+      },
+    },
+  },
+  emits: {
+    onPagging: null,
+    headerClick: null,
+  },
+  // 数据
+  data() {
+    return {
+      currentPage: 1,
+    };
+  },
+  computed: {
+    tableData() {
+      let that = this;
+      if (this.sortCol == "") {
+        return this.data.data;
+      } else {
+        let data = this.data.data;
+
+        data.sort((a, b) => {
+          let rev = 1;
+          if (that.sortType == "ASC") rev = 1;
+          else if (that.sortType == "DESC") rev = -1;
+
+          if (a[that.sortCol] > b[that.sortCol]) return rev * 1;
+          if (a[that.sortCol] < b[that.sortCol]) return rev * -1;
+          return 0;
+        });
+        return data;
+      }
+    },
+    pageable() {
+      return this.pageSize != 0;
+    },
+    pages() {
+      if (this.pageable) return parseInt(this.data.total / this.pageSize) + 1;
+      else return 0;
+    },
+    startRow() {
+      if (this.pageable) return (this.currentPage - 1) * this.pageSize;
+      else return 0;
+    },
+    endRow() {
+      if (this.pageable) return this.currentPage * this.pageSize;
+      else return this.data.data.length;
+    },
+  },
+  // 函数
+  methods: {
+    onClick(row, column, cell, event) {
+      if (column.rawColumnKey.click) column.rawColumnKey.click(event, row);
+    },
+    onHeaderClick(column, event) {
+      this.$emit("headerClick", { event: event, col: column.rawColumnKey, data: this.data.data });
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.$emit("onPagging", {
+        pageIndex: this.currentPage,
+        pageSize: this.pageSize,
+        start: this.startRow,
+        end: this.endRow,
+      });
+    },
+  },
+  // 生命周期钩子
+  beforeCreate() {
+    // 创建前
+  },
+  created() {
+    // 创建后
+  },
+  beforeMount() {
+    // 渲染前
+  },
+  mounted() {
+    // 渲染后
+  },
+  beforeUpdate() {},
+  updated() {},
+};
+</script>
+
+<style lang="less">
+@titleGray: #9ca5a8;
+@rowGray: #606769;
+@darkBack: #536268;
+.com-table {
+  width: 100%;
+  border-collapse: collapse;
+
+  thead {
+    tr { 
+      display: table;
+      table-layout: fixed;
+      width: 100%;
+
+      th {
+        background-color: fade(@darkBack, 20%);
+        height: 30px;
+        line-height: 30px;
+        color: @titleGray;
+        font-weight: 400;
+        font-size: @fontsize-s;
+        position: sticky;
+        top: 0;
+        cursor: pointer;
+
+        &.light,
+        &.always-light {
+          color: @green;
+        }
+      }
+    }
+  }
+
+  tbody {
+    display: block;
+
+    tr {
+      display: table;
+      table-layout: fixed;
+      width: 100%;
+
+      &:nth-child(2n) {
+        background-color: fade(@rowGray, 20%);
+      }
+
+      td {
+        padding: 0.556vh 0;
+        color: @rowGray;
+        text-align: center;
+        font-size: @fontsize-s;
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+
+        &.light,
+        &.always-light {
+          color: @green !important;
+        }
+
+        &.num {
+          font-family: "Bicubik";
+          font-weight: 400;
+        }
+      }
+    }
+  }
+
+  .el-pagination {
+    color: @gray;
+    .el-pagination__total {
+      color: @gray;
+    }
+
+    button {
+      &.btn-next,
+      &.btn-prev {
+        background: center center no-repeat fade(@gray, 20);
+        color: @gray-l;
+      }
+      &:disabled {
+        color: @gray-l;
+        background-color: fade(@gray, 20);
+        cursor: not-allowed;
+      }
+    }
+
+    .el-pager li {
+      color: @gray-l;
+      background: fade(@gray, 20);
+      &.active {
+        color: @green;
+      }
+    }
+
+    .el-input__inner {
+      color: @gray-l;
+      background: fade(@gray, 20);
+      border: 1px solid fade(@gray, 20);
+    }
+  }
+}
+</style>

Разлика између датотеке није приказан због своје велике величине
+ 457 - 170
src/views/NewPages/dj1.vue


Разлика између датотеке није приказан због своје велике величине
+ 373 - 366
src/views/NewPages/power-benchmarking.vue


+ 105 - 60
src/views/allLifeManage/tab1.vue

@@ -5,36 +5,66 @@
         <div class="query-item">
           <div class="lable">供应商:</div>
           <div class="search-input">
-            <el-select v-model="vendor" clearable placeholder="请选择" popper-class="select">
-              <el-option v-for="item in vendorArray" :key="item.company" :value="item.company" :label="item.company" />
+            <el-select
+              v-model="vendor"
+              clearable
+              placeholder="请选择"
+              popper-class="select"
+            >
+              <el-option
+                v-for="item in vendorArray"
+                :key="item.company"
+                :value="item.company"
+                :label="item.company"
+              />
             </el-select>
           </div>
         </div>
         <div class="query-item">
           <div class="lable">采购单号:</div>
           <div class="search-input">
-            <el-input placeholder="请输入描述" size="middle" v-model="ponum" clearable></el-input>
+            <el-input
+              placeholder="请输入描述"
+              size="middle"
+              v-model="ponum"
+              clearable
+            ></el-input>
           </div>
         </div>
         <div class="query-item">
           <div class="lable">仓库:</div>
           <div class="search-input">
-            <el-select v-model="warehouse" clearable placeholder="请选择" popper-class="select">
-              <el-option v-for="item in warehouseArray" :key="item.warehouse" :value="item.warehouse" :label="item.warehouse" />
+            <el-select
+              v-model="warehouse"
+              clearable
+              placeholder="请选择"
+              popper-class="select"
+            >
+              <el-option
+                v-for="item in warehouseArray"
+                :key="item.warehouse"
+                :value="item.warehouse"
+                :label="item.warehouse"
+              />
             </el-select>
           </div>
         </div>
         <div class="query-item">
           <div class="lable">日期:</div>
           <div class="search-input">
-            <el-date-picker size="medium" v-model="dateArea" type="datetimerange"
-              :picker-options="pickerOptions" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right"
-              >
+            <el-date-picker
+              size="medium"
+              v-model="dateArea"
+              type="datetimerange"
+              :picker-options="pickerOptions"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              align="right"
+            >
             </el-date-picker>
           </div>
         </div>
-        
-        
       </div>
       <div class="query-actions" style="margin-right: 1500px">
         <button class="btn green" @click="onClickSearch">查询</button>
@@ -54,9 +84,13 @@ export default {
   data() {
     return {
       dateArea: [
-          this.fmtDate(new Date(new Date().setTime(new Date().getTime() - 3600 * 1000 * 24 * 30))),
-          this.fmtDate(new Date())
-        ],
+        this.fmtDate(
+          new Date(
+            new Date().setTime(new Date().getTime() - 3600 * 1000 * 24 * 30)
+          )
+        ),
+        this.fmtDate(new Date()),
+      ],
       pageSize: 100,
       pageNum: 1,
       ponum: "",
@@ -176,57 +210,56 @@ export default {
   created() {
     // this.requestSafeList();
     this.value1 = this.getTime(1);
-		this.value2 = this.getTime(2);
+    this.value2 = this.getTime(2);
     this.getVendor();
-    this.getWarehouse();
-    this.requestSafeList();
   },
   methods: {
-    getTime(val) { //时间戳处理,val=1是默认开始时间(当前月第一天),val=2是默认结束时间(今天)
-				var date = new Date();
-				var year = date.getFullYear(),
-					month = date.getMonth() + 1,
-					day = date.getDate();
-				month >= 1 && month <= 9 ? (month = '0' + month) : '';
-				day >= 0 && day <= 9 ? (day = '0' + day) : '';
-				var begin = year + '-' + month + '-01';
-				var end = year + '-' + month + '-' + day;
-				if (val == 1) {
-					return begin;
-				} else if (val == 2) {
-					return end;
-				}
-			},
-    
-// 获取厂家
-    getVendor () {
+    getTime(val) {
+      //时间戳处理,val=1是默认开始时间(当前月第一天),val=2是默认结束时间(今天)
+      var date = new Date();
+      var year = date.getFullYear(),
+        month = date.getMonth() + 1,
+        day = date.getDate();
+      month >= 1 && month <= 9 ? (month = "0" + month) : "";
+      day >= 0 && day <= 9 ? (day = "0" + day) : "";
+      var begin = year + "-" + month + "-01";
+      var end = year + "-" + month + "-" + day;
+      if (val == 1) {
+        return begin;
+      } else if (val == 2) {
+        return end;
+      }
+    },
+
+    // 获取厂家
+    getVendor() {
       let that = this;
       that.API.requestData({
         baseURL: "http://192.168.1.18:9988",
-          subUrl: "companies/list",
-        success (res) {
-          console.log(res.data)
+        subUrl: "companies/list",
+        success(res) {
           that.vendorArray = res.data;
           that.vendor = res.data[0].company;
-        }
+          that.getWarehouse();
+        },
       });
     },
     // 获取仓库
-    getWarehouse () {
+    getWarehouse() {
       let that = this;
       that.API.requestData({
         baseURL: "http://192.168.1.18:9988",
-          subUrl: "warehouse/list",
-        success (res) {
-          console.log(res.data)
+        subUrl: "warehouse/list",
+        success(res) {
           that.warehouseArray = res.data;
           that.warehouse = res.data[0].warehouse;
-        }
+          that.requestSafeList();
+        },
       });
     },
 
     // 格式化日期
-    fmtDate (date) {
+    fmtDate(date) {
       let curDate = date || new Date();
       let year = curDate.getFullYear();
       let mouth = curDate.getUTCMonth() + 1;
@@ -234,7 +267,19 @@ export default {
       let hour = curDate.getHours();
       let minutes = curDate.getMinutes();
       let seconds = curDate.getSeconds();
-      return year + '-' + (mouth < 10 ? '0' + mouth : mouth) + '-' + (day < 10 ? '0' + day : day) + ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);
+      return (
+        year +
+        "-" +
+        (mouth < 10 ? "0" + mouth : mouth) +
+        "-" +
+        (day < 10 ? "0" + day : day) +
+        " " +
+        (hour < 10 ? "0" + hour : hour) +
+        ":" +
+        (minutes < 10 ? "0" + minutes : minutes) +
+        ":" +
+        (seconds < 10 ? "0" + seconds : seconds)
+      );
     },
     BeginChange(vl) {
       this.value1 = vl;
@@ -254,11 +299,15 @@ export default {
       let that = this;
       if (!that.dateArea || !that.dateArea.length) {
         that.BASE.showMsg({
-          msg:"请先选择要查询的日期区间后再试"
+          msg: "请先选择要查询的日期区间后再试",
         });
       } else {
-        let starttime = (this.dateArea.length ? new Date(this.dateArea[0]).formatDate("yyyy-MM-dd hh:mm:ss") : '');
-        let endtime = (this.dateArea.length ? new Date(this.dateArea[1]).formatDate("yyyy-MM-dd hh:mm:ss") : '');
+        let starttime = this.dateArea.length
+          ? new Date(this.dateArea[0]).formatDate("yyyy-MM-dd hh:mm:ss")
+          : "";
+        let endtime = this.dateArea.length
+          ? new Date(this.dateArea[1]).formatDate("yyyy-MM-dd hh:mm:ss")
+          : "";
 
         // let data = {
         //   category1:'SYZ',
@@ -273,8 +322,8 @@ export default {
         that.API.requestData({
           // baseURL:"http://192.168.1.14:8075/",
           baseURL: "http://192.168.1.18:9988",
-          subUrl:"poline/list",
-          method:"GET",
+          subUrl: "poline/list",
+          method: "GET",
           data: {
             vendor: that.vendor,
             ponum: that.ponum,
@@ -284,11 +333,10 @@ export default {
             pagenum: that.pageNum,
             pagesize: that.pageSize,
           },
-          success(res){
-            console.log(res.data.records);
+          success(res) {
             if (res.data.records.length) {
-              res.data.records.forEach((ele,index) => {
-                ele.index = (index+1);
+              res.data.records.forEach((ele, index) => {
+                ele.index = index + 1;
                 ele.timeDate = that.fmtDate(new Date(ele.time));
                 if (ele.value > 0) {
                   ele.value = parseFloat(ele.value).toFixed(4);
@@ -297,17 +345,14 @@ export default {
               that.tableData.data = res.data.records || [];
             } else {
               that.BASE.showMsg({
-                type:"warning",
-                msg:"所选日期区间之内暂无数据,请重试"
+                type: "warning",
+                msg: "所选日期区间之内暂无数据,请重试",
               });
             }
             that.showDialog = true;
-          }
+          },
         });
       }
-      
-      
-
     },
   },
 };

+ 1 - 1
src/views/malfunctionDiagnose/index.vue

@@ -97,7 +97,7 @@
     >
       <el-table
         :data="treeData"
-        style="width: 100%; height: 600px"
+        style="width: 100%; height: 600px; overflow-y: scroll"
         row-key="id"
         border
         default-expand-all

Неке датотеке нису приказане због велике количине промена