Przeglądaj źródła

健康管理单机明细模块完成、风资源模块修改

yangxiao 4 lat temu
rodzic
commit
9a2dd46d62

+ 619 - 621
src/router/index.js

@@ -2,632 +2,630 @@ import { createRouter, createWebHashHistory } from 'vue-router'
 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',
-                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: '/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/healthDay', //风机  日  信息量化评级管理
-        name: 'healthDay',
-        component: () =>
-            import ('../views/HealthControl/HealthDay.vue'),
-    },
-    {
-        path: '/health/healthMonth', //风机  月  信息量化评级管理
-        name: 'healthMonth',
-        component: () =>
-            import ('../views/HealthControl/HealthMonth.vue'),
-    },
-    {
-        path: '/health/healthYear', //风机  年  信息量化评级管理
-        name: 'healthYear',
-        component: () =>
-            import ('../views/HealthControl/HealthYear.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/:wtId",
-                name: "health10",
-                component: () =>
-                    import ( /* webpackChunkName: "health8" */ "../views/HealthControl/Health10.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'),
-    },
-    {
-        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: "/warnStatistics", // 预警评判分析
-        name: "warnStatistics",
-        component: () =>
-            import ( /* webpackChunkName: "warnStatistics" */ "../views/warnStatistics/index.vue"),
-    },
-    {
-        path: "/malfunctionStatistics", // 故障评判分析
-        name: "malfunctionStatistics",
-        component: () =>
-            import ( /* webpackChunkName: "malfunctionStatistics" */ "../views/malfunctionStatistics/index.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: '/',
+  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',
+    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: '/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/healthDay', //风机  日  信息量化评级管理
+  name: 'healthDay',
+  component: () =>
+    import('../views/HealthControl/HealthDay.vue'),
+},
+{
+  path: '/health/healthMonth', //风机  月  信息量化评级管理
+  name: 'healthMonth',
+  component: () =>
+    import('../views/HealthControl/HealthMonth.vue'),
+},
+{
+  path: '/health/healthYear', //风机  年  信息量化评级管理
+  name: 'healthYear',
+  component: () =>
+    import('../views/HealthControl/HealthYear.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/:wtId", // 健康管理单机明细
+    name: "health10",
+    component: () =>
+      import( /* webpackChunkName: "health10" */ "../views/HealthControl/Health10.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'),
+},
+{
+  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: "/warnStatistics", // 预警评判分析
+  name: "warnStatistics",
+  component: () =>
+    import( /* webpackChunkName: "warnStatistics" */ "../views/warnStatistics/index.vue"),
+},
+{
+  path: "/malfunctionStatistics", // 故障评判分析
+  name: "malfunctionStatistics",
+  component: () =>
+    import( /* webpackChunkName: "malfunctionStatistics" */ "../views/malfunctionStatistics/index.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"),
+},
 ]
 const router = createRouter({
-    history: createWebHashHistory(),
-    base: '/zhfx/',
-    routes
+  history: createWebHashHistory(),
+  base: '/zhfx/',
+  routes
 })
 
 router.beforeEach((to, from, next) => {
-    next()
+  next()
 })
 
 export default router

+ 229 - 252
src/views/HealthControl/Health10.vue

@@ -3,19 +3,19 @@
     <el-row :gutter="20" class="table-panel">
       <el-col :span="6">
         <panel :title="'等级评价'" :showLine="false">
-          <Table :data="tableData1" :canScroll="false" />
+          <Table :data="top5Table" :canScroll="false" />
         </panel>
       </el-col>
       <el-col :span="6">
         <panel :title="'健康报告'" :showLine="false">
-          <Table :data="tableData2" :canScroll="false" />
+          <Table :data="dateTable" :canScroll="false" />
         </panel>
       </el-col>
       <el-col :span="12" class="wrong-list">
         <panel :title="'故障信息'" :showLine="false">
           <div class="data-list" style="display:flex;">
-            <Table :data="tableData3" :canScroll="false" />
-            <Table :data="tableData4" :canScroll="false" />
+            <Table :data="top10TableLeft" :canScroll="false" />
+            <Table :data="top10TableRight" :canScroll="false" />
           </div>
         </panel>
       </el-col>
@@ -43,27 +43,28 @@
               <div style="height:calc(100vh - 174px);">
                 <table style="width:100%;" border="0" cellspacing="0">
                   <tbody>
-                    <tr v-for="index of 8" :key="index">
+                    <tr v-for="(item, index) of partsArray" :key="index">
                       <td style="width:50px;">
-                        发电机
+                        {{item[1]}}
                       </td>
                       <td style="width:105px;">
-                        <div style="background-color: #00bf4d;width:10px;height:10px;margin:0 auto;"></div>
+                        <div :style="'background-color: ' + item[0] + ';width:10px;height:10px;margin:0 auto;'"></div>
                       </td>
                       <td style="width:400px;">
                         <div class="percent-item">
-                          85%
+                          {{item[3]}}%
                           <div class="percent-bar" style="margin-right: 4px;">
-                            <div class="percent-value" style="width:80%"></div>
+                            <div class="percent-value" :style="'width:' + item[3] +'%'"></div>
                           </div>
-                          剩余9999/建个故障9999
+                          <!-- 剩余9999/建个故障9999 -->
+                          {{item[4]}}
                         </div>
                       </td>
                       <td style="width:200px;">
-                        <table-line-chart :height="'20px'" />
+                        <table-line-chart :height="'20px'" :list="item[8]" />
                       </td>
                       <td style="width:#00bf4d">
-                        29.33
+                        {{item[6]}}
                       </td>
                     </tr>
                   </tbody>
@@ -80,12 +81,13 @@
             <span class="des-title">预计损失电量<span class="num">73824.0</span><span class="unit">Kwh</span></span>
             <span class="des-title">预计检修时长<span class="num">29.33</span><span class="unit">H</span></span>
           </div>
-          <img-line-chart height="270px" :list="line.value" :units="line.units" /></div
-      ></el-col>
+          <img-line-chart height="270px" :list="line.value" :units="line.units" />
+        </div>
+      </el-col>
     </el-row>
     <div class="fc-info mg-b-16">
       <panel :title="'曲线'" :showLine="false">
-        <zoom-line-chart height="35vh" :list="line1.value" :units="line1.units" />
+        <zoom-line-chart height="35vh" :list="powerChartData.value" :units="powerChartData.units" />
       </panel>
     </div>
   </div>
@@ -102,7 +104,7 @@ import ImgLineChart from "../../components/chart/line/img-line-chart.vue";
 import ZoomLineChart from '../../components/chart/line/zoom-line-chart.vue';
 
 export default {
-  setup() {},
+  setup () { },
   components: {
     Panel,
     Table,
@@ -110,169 +112,107 @@ export default {
     ImgLineChart,
     ZoomLineChart,
   },
-  data() {
+  data () {
+    const that = this;
     return {
-      tableData1: {
+      top5Table: {
         column: [
           {
-            name: " ",
-            field: "name",
+            name: "排名",
+            field: "index",
             width: "10%",
           },
           {
             name: "日期",
-            field: "v1",
+            field: "date",
             width: "45%",
           },
           {
-            name: "登记",
-            field: "v2",
+            name: "等级",
+            field: "rank",
             width: "45%",
           },
         ],
-        data: [
-          {
-            name: "1",
-            v1: "2018-05-31 00:00:00",
-            v2: "C",
-          },
-          {
-            name: "2",
-            v1: "2018-05-31 00:00:00",
-            v2: "C",
-          },
-          {
-            name: "3",
-            v1: "2018-05-31 00:00:00",
-            v2: "C",
-          },
-          {
-            name: "4",
-            v1: "2018-05-31 00:00:00",
-            v2: "C",
-          },
-          {
-            name: "5",
-            v1: "2018-05-31 00:00:00",
-            v2: "C",
-          },
-        ],
+        data: []
       },
-      tableData2: {
+      dateTable: {
         column: [
           {
-            name: " ",
-            field: "name",
+            name: "排名",
+            field: "index",
             width: "10%",
           },
           {
             name: "日期",
-            field: "v1",
-            width: "45%",
+            field: "date",
+            width: "60%",
           },
           {
             name: "健康情况",
-            field: "v2",
-            width: "45%",
-            template: function(data) {
-              return "<div style='display: flex;'><div style='width: 50%;'>" + data + "</div><div style='width: 50%;'><div style='border: 1px solid #182238;background: #303f6e;width: 70%;margin: 0 auto;color:#FFF'>查看报告</div></div></div>";
+            field: "",
+            width: "30%",
+            template () {
+              return "<div style='border: 1px solid #182238;background: #303f6e;width: 70%;margin: 0 auto;color:#FFF;cursor: pointer;'>查看报告</div>";
             },
           },
         ],
-        data: [
-          {
-            name: "1",
-            v1: "2018-05-31 00:00:00",
-            v2: "差",
-          },
-          {
-            name: "2",
-            v1: "2018-05-31 00:00:00",
-            v2: "差",
-          },
-          {
-            name: "3",
-            v1: "2018-05-31 00:00:00",
-            v2: "差",
-          },
-          {
-            name: "4",
-            v1: "2018-05-31 00:00:00",
-            v2: "差",
-          },
-          {
-            name: "5",
-            v1: "2018-05-31 00:00:00",
-            v2: "差",
-          },
-        ],
+        data: []
       },
-      tableData3: {
+      top10TableLeft: {
         column: [
           {
-            name: "",
-            field: "name",
+            name: "排名",
+            field: "index",
             width: "8%",
           },
           {
             name: "故障名称",
-            field: "v1",
-            template: function(data) {
-              return "<div style='overflow: hidden;text-overflow:ellipsis;white-space: nowrap;'>" + data + "</div>";
-            },
+            field: "warnDesc"
           },
           {
             name: "故障时间",
-            field: "v2",
+            field: "startTime",
             width: "35%",
           },
           {
             name: "修复时间",
-            field: "v3",
+            field: "stopTime",
           },
           {
             name: "时长",
-            field: "v4",
+            field: "stopHours",
           },
         ],
-        data: [
+        data: [],
+      },
+      top10TableRight: {
+        column: [
           {
-            name: "1",
-            v1: "风机叶轮刹车系统",
-            v2: "2018-05-31 16:28:38",
-            v3: "2018-05-31",
-            v4: "0.09",
+            name: "排名",
+            field: "index",
+            width: "8%",
           },
           {
-            name: "2",
-            v1: "风机叶轮刹车系统",
-            v2: "2018-05-31 16:28:38",
-            v3: "2018-05-31",
-            v4: "0.09",
+            name: "故障名称",
+            field: "warnDesc"
           },
           {
-            name: "3",
-            v1: "风机叶轮刹车系统",
-            v2: "2018-05-31 16:28:38",
-            v3: "2018-05-31",
-            v4: "0.09",
+            name: "故障时间",
+            field: "startTime",
+            width: "35%",
           },
           {
-            name: "4",
-            v1: "风机叶轮刹车系统",
-            v2: "2018-05-31 16:28:38",
-            v3: "2018-05-31",
-            v4: "0.09",
+            name: "修复时间",
+            field: "stopTime",
           },
           {
-            name: "5",
-            v1: "风机叶轮刹车系统",
-            v2: "2018-05-31 16:28:38",
-            v3: "2018-05-31",
-            v4: "0.09",
+            name: "时长",
+            field: "stopHours",
           },
         ],
+        data: [],
       },
+      partsArray: [],
       tableData4: {
         column: [
           {
@@ -283,7 +223,7 @@ export default {
           {
             name: "故障名称",
             field: "v1",
-            template: function(data) {
+            template: function (data) {
               return "<div style='overflow: hidden;text-overflow:ellipsis;white-space: nowrap;'>" + data + "</div>";
             },
           },
@@ -445,134 +385,13 @@ export default {
           },
         ],
       },
-      line1: {
-        units: ["功率", "风速"],
-        value: [
-          {
-            title: "应发功率",
-            yAxisIndex: 0,
-            value: [
-              {
-                text: "05-02 00:00",
-                value: 1,
-              },
-              {
-                text: "05-04 00:00",
-                value: 13,
-              },
-              {
-                text: "05-06 00:00",
-                value: 14,
-              },
-              {
-                text: "05-08 00:00",
-                value: 12,
-              },
-              {
-                text: "05-10 00:00",
-                value: 3,
-              },
-              {
-                text: "05-12 00:00",
-                value: 5,
-              },
-              {
-                text: "05-14 00:00",
-                value: 1,
-              },
-              {
-                text: "05-16 00:00",
-                value: 1,
-              },
-              {
-                text: "05-18 00:00",
-                value: 13,
-              },
-              {
-                text: "05-20 00:00",
-                value: 14,
-              },
-              {
-                text: "05-22 00:00",
-                value: 12,
-              },
-              {
-                text: "05-24 00:00",
-                value: 3,
-              },
-              {
-                text: "05-26 00:00",
-                value: 5,
-              },
-              {
-                text: "05-28 00:00",
-                value: 1,
-              },
-            ],
-          },
-          {
-            title: "实际功率",
-            yAxisIndex: 0,
-            value: [
-              {
-                text: "05-02 00:00",
-                value: 1,
-              },
-              {
-                text: "05-04 00:00",
-                value: 3,
-              },
-              {
-                text: "05-06 00:00",
-                value: 4,
-              },
-              {
-                text: "05-08 00:00",
-                value: 1,
-              },
-              {
-                text: "05-10 00:00",
-                value: 13,
-              },
-              {
-                text: "05-12 00:00",
-                value: 15,
-              },
-              {
-                text: "05-14 00:00",
-                value: 11,
-              },
-              {
-                text: "05-16 00:00",
-                value: 5,
-              },
-              {
-                text: "05-18 00:00",
-                value: 4,
-              },
-              {
-                text: "05-20 00:00",
-                value: 1,
-              },
-              {
-                text: "05-22 00:00",
-                value: 3,
-              },
-              {
-                text: "05-24 00:00",
-                value: 3,
-              },
-              {
-                text: "05-26 00:00",
-                value: 1,
-              },
-              {
-                text: "05-28 00:00",
-                value: 13,
-              },
-            ],
-          },
-        ],
+      powerChartData: {
+        units: [""],
+        value: [{
+          title: "",
+          yAxisIndex: 0,
+          value: []
+        }],
       },
       line2: {
         units: ["功率", "风速"],
@@ -643,7 +462,165 @@ export default {
       },
     };
   },
-  created() {},
+
+  created () {
+    this.wtId = this.$route.params.wtId;
+    this.getTop5();
+    this.renderDateTable();
+    this.getTop10();
+    this.getMtbfByBj();
+    this.getFindPowerChar();
+  },
+
+  methods: {
+    // 获取等级评价
+    getTop5 () {
+      let that = this;
+      that.API.requestData({
+        method: "POST",
+        subUrl: "healthsub/gadaytop5",
+        data: {
+          wtId: that.wtId
+        },
+        success (res) {
+          let top5TableData = [];
+          let index = 1;
+          for (let key in res.data) {
+            let ele = res.data[key];
+            top5TableData.push({
+              index,
+              date: ele[1],
+              rank: ele[2],
+              wpId: ele[3],
+              wtId: ele[4]
+            });
+            index++;
+          }
+          that.top5Table.data = top5TableData;
+        }
+      });
+    },
+
+    // 渲染健康报告表格
+    renderDateTable (day = 5) {
+      let tableData = [];
+      for (let i = 0; i < day; i++) {
+        tableData.push({
+          index: (i + 1),
+          date: new Date((new Date().getTime() - 3600 * 1000 * 24 * (i + 1))).formatDate("yyyy-MM-dd hh:mm:ss"),
+          wtId: this.wtId
+        });
+      }
+      this.dateTable.data = tableData;
+    },
+
+    // 获取等级评价
+    getTop10 () {
+      let that = this;
+      that.API.requestData({
+        method: "POST",
+        subUrl: "healthsub/queryStopTop10",
+        data: {
+          wtId: that.wtId
+        },
+        success (res) {
+          let leftData = [];
+          let rightData = [];
+
+          res.data.forEach((ele, index) => {
+            const item = {
+              index: (index + 1),
+              warnDesc: ele.warnDesc,
+              startTime: new Date(ele.startTime).formatDate("yyyy-MM-dd hh:mm:ss"),
+              stopTime: new Date(ele.stopTime).formatDate("yyyy-MM-dd hh:mm:ss"),
+              stopHours: ele.stopHours
+            };
+            if (index < 5) {
+              leftData.push(item);
+            } else {
+              rightData.push(item);
+            }
+          });
+
+          that.top10TableLeft.data = leftData;
+          that.top10TableRight.data = rightData;
+        }
+      });
+    },
+
+    // 获取八大部件
+    getMtbfByBj () {
+      let that = this;
+      that.API.requestData({
+        method: "POST",
+        subUrl: "healthsub/getWtMttrandMtbfByBj",
+        data: {
+          wtId: that.wtId
+        },
+        success (res) {
+          let partsArray = [];
+          for (let key in res.data) {
+            let linChartData = [];
+            res.data[key][2].split(",").forEach((ele, index) => {
+              linChartData.push({
+                text: (index + 1),
+                value: ele,
+              });
+            });
+            res.data[key].push(linChartData);
+            partsArray.push(res.data[key])
+          }
+          that.partsArray = partsArray;
+        }
+      });
+    },
+
+    // 获取发电曲线
+    getFindPowerChar () {
+      let that = this;
+      that.API.requestData({
+        method: "POST",
+        subUrl: "healthsub/findPowerChar",
+        timeout: 300000,
+        data: {
+          wtId: that.wtId
+        },
+        success (res) {
+          let chartUnits = ["(WM)", "(m/s)"];
+          let chartData = [{
+            title: "理论功率",
+            yAxisIndex: 0,
+            value: []
+          }, {
+            title: "实际功率",
+            yAxisIndex: 0,
+            value: []
+          }, {
+            title: "实时风速",
+            yAxisIndex: 1,
+            value: []
+          }];
+
+          res.data.timearr.forEach((time, index) => {
+            chartData[0].value.push({
+              text: new Date(time).formatDate("MM-dd hh:mm"),
+              value: res.data.llgl[index]
+            });
+            chartData[1].value.push({
+              text: new Date(time).formatDate("MM-dd hh:mm"),
+              value: res.data.sjgl[index]
+            });
+            chartData[2].value.push({
+              text: new Date(time).formatDate("MM-dd hh:mm"),
+              value: res.data.ssfs[index]
+            });
+          });
+          that.powerChartData.value = chartData;
+          that.powerChartData.units = chartUnits;
+        }
+      });
+    },
+  }
 };
 </script>
 

+ 1 - 5
src/views/NewPages/dj1.vue

@@ -1006,13 +1006,9 @@ export default {
           recorddate: that.recorddate
         },
         success (res) {
-          const keyArray = ["value1", "value2", "value3", "value4"];
+          const keyArray = ["value2", "value3", "value4"];
 
           let powerLineChartData = [{
-            title: "风速",
-            yAxisIndex: 1,
-            value: []
-          }, {
             title: "实际拟合功率",
             yAxisIndex: 0,
             value: []

+ 1 - 1
src/views/windAnalysis/tab1.vue

@@ -22,7 +22,7 @@
         <button class="btn green" @click="search">搜索</button>
       </div>
     </div>
-    <NormalScatterChart height="650px" :data="chartData" :showLegend="true" />
+    <NormalScatterChart height="650px" :data="chartData" xTitle="风速" yTitle="功率" :showLegend="true" />
   </div>
 </template>
 

+ 2 - 2
src/views/windAnalysis/tab2.vue

@@ -31,7 +31,7 @@
         <button class="btn green" @click="search">搜索</button>
       </div>
     </div>
-    <NormalScatterChart height="650px" :data="chartData" :showLegend="true" />
+    <NormalScatterChart height="650px" :data="chartData" xTitle="风速" yTitle="功率" :showLegend="true" />
   </div>
 </template>
 
@@ -103,7 +103,7 @@ export default {
         method: "POST",
         subUrl: "scatter/scatterAjax",
         data: {
-          wpId: that.wpId,
+          wpId: "",
           pjId: that.projectId,
           lnId: "",
           year: (that.recorddate ? new Date(that.recorddate).getFullYear() : ""),

+ 2 - 2
src/views/windAnalysis/tab3.vue

@@ -31,7 +31,7 @@
         <button class="btn green" @click="search">搜索</button>
       </div>
     </div>
-    <NormalScatterChart height="650px" :data="chartData" :showLegend="true" />
+    <NormalScatterChart height="650px" :data="chartData" xTitle="风速" yTitle="功率" :showLegend="true" />
   </div>
 </template>
 
@@ -103,7 +103,7 @@ export default {
         method: "POST",
         subUrl: "scatter/scatterAjax",
         data: {
-          wpId: that.wpId,
+          wpId: "",
           pjId: "",
           lnId: that.lineId,
           year: (that.recorddate ? new Date(that.recorddate).getFullYear() : ""),