Biao 3 years ago
parent
commit
f5aca0031c
80 changed files with 31030 additions and 55816 deletions
  1. 42 3
      src/App.vue
  2. 37 36
      src/api/economic/index.js
  3. 116 116
      src/assets/dataService/arcgis-sbq.json
  4. 58 58
      src/assets/dataService/arcgis-xs.json
  5. 11 0
      src/assets/styles/theme/light/aqgk.less
  6. 77 90
      src/assets/styles/theme/light/jsc.less
  7. 126 0
      src/assets/styles/theme/light/light-jjyx.css
  8. 3 4
      src/assets/styles/theme/light/light-jjyx.less
  9. 1 3
      src/assets/styles/theme/light/light-jsc.less
  10. 24 13
      src/assets/styles/theme/light/light-qt.less
  11. 4 1
      src/components/coms/table/group-table.vue
  12. 122 87
      src/components/other/healthReport/index.vue
  13. 21 14
      src/main.js
  14. 1 1
      src/router/index.js
  15. 17 0
      src/tools/basicTool.js
  16. 364 4
      src/views/About.vue
  17. 312 55
      src/views/Demo.vue
  18. 38 7
      src/views/HealthControl/HealthTab1.vue
  19. 12 8
      src/views/Home/Home.vue
  20. 10 1
      src/views/Home/components/map.vue
  21. 0 1
      src/views/Knowledge/knowinfo.vue
  22. 121 173
      src/views/MalfunctionWarning/components/detectionRecord.vue
  23. 13 5
      src/views/MalfunctionWarning/components/lineChart.vue
  24. 8 8
      src/views/MalfunctionWarning/components/records.vue
  25. 1 0
      src/views/MalfunctionWarning/components/superviseDataClassify.vue
  26. 291 266
      src/views/MalfunctionWarning/components/testReport.vue
  27. 441 0
      src/views/MalfunctionWarning/diagnose.vue
  28. 555 598
      src/views/MalfunctionWarning/supervised.vue
  29. 176 271
      src/views/NewPages/dj1.vue
  30. 13 4
      src/views/NewPages/power-benchmarking.vue
  31. 4 4
      src/views/Others/index.vue
  32. 2198 5922
      src/views/WindSite/components/boosterstation/dwk.vue
  33. 1219 524
      src/views/WindSite/components/boosterstation/hzj.vue
  34. 97 91
      src/views/WindSite/components/boosterstation/mch.vue
  35. 3458 9146
      src/views/WindSite/components/boosterstation/mhs.vue
  36. 96 84
      src/views/WindSite/components/boosterstation/nss.vue
  37. 75 40
      src/views/WindSite/components/boosterstation/pl1.vue
  38. 69 94
      src/views/WindSite/components/boosterstation/pl2.vue
  39. 2719 4043
      src/views/WindSite/components/boosterstation/qs.vue
  40. 1918 2494
      src/views/WindSite/components/boosterstation/sbdl.vue
  41. 2691 1795
      src/views/WindSite/components/boosterstation/sbq.vue
  42. 4271 12057
      src/views/WindSite/components/boosterstation/xh.vue
  43. 3832 10279
      src/views/WindSite/components/boosterstation/xs.vue
  44. 12 3
      src/views/WindSite/components/generalappearance/dwk.vue
  45. 11 4
      src/views/WindSite/components/generalappearance/hzj.vue
  46. 11 4
      src/views/WindSite/components/generalappearance/mch.vue
  47. 11 5
      src/views/WindSite/components/generalappearance/mhs.vue
  48. 5 0
      src/views/WindSite/components/generalappearance/nss.vue
  49. 16 8
      src/views/WindSite/components/generalappearance/pl1.vue
  50. 8 0
      src/views/WindSite/components/generalappearance/pl2.vue
  51. 14 11
      src/views/WindSite/components/generalappearance/qs.vue
  52. 10 5
      src/views/WindSite/components/generalappearance/sbq.vue
  53. 12 6
      src/views/WindSite/components/generalappearance/xh.vue
  54. 3447 6918
      src/views/WindSite/components/generalappearance/xs.vue
  55. 22 24
      src/views/WindSite/pages/GeneralAppearance.vue
  56. 2 0
      src/views/WindSite/pages/Map.vue
  57. 226 0
      src/views/faultManual/index.vue
  58. 95 0
      src/views/faultManual/knowinfo.vue
  59. 13 13
      src/views/layout/Header.vue
  60. 145 139
      src/views/layout/Menu.vue
  61. 2 2
      src/views/malfunctionRecall/index.vue
  62. 1 1
      src/views/malfunctionStatistics/index.vue
  63. 133 0
      src/views/overhaulRule/index.vue
  64. 1 67
      src/views/performanceAnalysis/index.vue
  65. 1 1
      src/views/powerCurve/index.vue
  66. 2 2
      src/views/report/bdzcx.vue
  67. 352 0
      src/views/report/dlyc.vue
  68. 1 1
      src/views/report/fdczzdy.vue
  69. 1 1
      src/views/report/fdxmzdy.vue
  70. 1 1
      src/views/report/gfczzdy.vue
  71. 1 1
      src/views/report/gfxmzdy.vue
  72. 352 0
      src/views/report/nhdl.vue
  73. 0 1
      src/views/report/nhycfsdl.vue
  74. 352 0
      src/views/report/xzdl.vue
  75. 0 1
      src/views/report/xzycfsdl.vue
  76. 4 4
      src/views/singleAnalysis/index.vue
  77. 3 6
      src/views/singleAnalysis/znzhfx.vue
  78. 57 143
      src/views/specific/ztfx.vue
  79. 43 43
      src/views/totalPowerRank/index.vue
  80. 1 1
      src/views/warnStatistics/index.vue

+ 42 - 3
src/App.vue

@@ -1,6 +1,6 @@
 <template>
   <div v-if="!showSisView && isLogined" class="main">
-    <div class="header-body">
+    <div class="header-body" v-if="hideHeard === '0'">
       <div class="header-title">
         <svg
           version="1.1"
@@ -242,6 +242,7 @@ l16.229-16.229l16.229,16.229l42.867-42.867C115.034,45.228,109.133,42.189,102.956
       @mouseenter="showMenu"
       @mouseleave="hideMenu"
       v-show="$store.state.themeName === 'dark'"
+      v-if="hideMenus === '0'"
     >
       <Menu :root="root" />
     </div>
@@ -254,6 +255,7 @@ l16.229-16.229l16.229,16.229l42.867-42.867C115.034,45.228,109.133,42.189,102.956
         active-text-color="#6262a2"
         background-color="#36348e"
         @select="selectMenu"
+        v-if="hideMenus === '0'"
       >
         <el-sub-menu
           :index="index"
@@ -282,7 +284,14 @@ l16.229-16.229l16.229,16.229l42.867-42.867C115.034,45.228,109.133,42.189,102.956
         </el-sub-menu>
       </el-menu>
     </div>
-    <div class="main-body">
+    <div
+      class="main-body"
+      :style="
+        $store.state.themeName === 'light' && hideMenus === '0'
+          ? 'margin-left: 66px; max-width  : calc(100vw - 54px - 12px);'
+          : ''
+      "
+    >
       <router-view />
     </div>
   </div>
@@ -327,6 +336,8 @@ export default {
       showSisView: false,
       memuCloseTimeout: null,
       menuData: [],
+      hideMenus: "0",
+      hideHeard: "0",
     };
   },
 
@@ -388,11 +399,37 @@ export default {
     selectMenu(menuIndex) {
       this.menuIndex = menuIndex;
     },
+    clearBackground() {
+      return
+      let body = $("body.light");
+      if (!body) body = $("body.dark");
+      body.css({
+        // background: "transparent",
+        background: "#fff",
+      });
+      body.find("#app").css({
+        // background: "transparent",
+        background: "#fff",
+      });
+    },
   },
 
   watch: {
     $route(res) {
       this.showSisView = res.fullPath === "/sisView";
+
+      this.hideHeard = res.query.hideheard || "0";
+      this.hideMenus = res.query.hidemenus || "0";
+      if (res.query.theme) {
+        const theme = res.query.theme === "dark" ? "dark" : "light";
+        this.$store.dispatch("changeTheme", theme);
+        $("#appBody").attr("class", theme);
+      }
+
+      if (res.query.fn) {
+        this[res.query.fn] && this[res.query.fn]();
+      }
+
       let ActiveModule = null;
       this.menuData.forEach((pEle) => {
         if (pEle.path === res.fullPath) {
@@ -568,5 +605,7 @@ body {
 #appBody.light .el-table th.el-table__cell > .cell{
   height: 8.2vh!important;
 }
-
+.power-benchmarking-page .top .top-left .table.el-table thead tr:last-child th .cell{
+  height: 116px !important;
+}
 </style>

+ 37 - 36
src/api/economic/index.js

@@ -314,7 +314,7 @@ const goodnessWindturbinegoodness = (data) => {
     return request({
         baseURL: process.env.VUE_APP_Matrix,
         url: `/goodness/windturbinegoodness?wpId=${data.wpId}&isAsc=${JSON.stringify(data.tablepar)}&recorddate=${data.recorddate}`,
-        method: "get",
+        method: "post",
     });
 };
 
@@ -330,95 +330,96 @@ const goodnessGoodhistorylist = (data) => {
     return request({
         baseURL: process.env.VUE_APP_Matrix,
         url: `/goodness/goodhistorylist?wpId=${data.wpId}&wtId=${data.wtId}&beginDate=${data.beginDate}&endDate=${data.endDate}`,
-        method: "get",
+        method: "post",
     });
 };
 // 单机信息总览详情
 
 const goodnessFindWtRealPowerChar = (data) => {
     return request({
-        url: `/consumer/goodness/findWtRealPowerChar`,
-        method: "post",
-        data: data
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/goodness/findWtRealPowerChar?wtId=${data.wtId}&recorddate=${data.recorddate}`,
+        method: "get",
     });
 };
 const goodnessGetplotBands = (data) => {
     return request({
-        url: `/consumer/goodness/getplotBands`,
-        method: "post",
-        data: data
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `goodness/getplotBands?wtId=${data.wtId}&recorddate=${data.recorddate}`,
+        method: "get",
     });
 };
 const goodnessPlotBandAjax = (data) => {
     return request({
-        url: `/consumer/goodness/plotBandAjax`,
-        method: "post",
-        data: data
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/goodness/plotBandAjax?wtId=${data.wtId}&beginDate=${data.beginDate}&endDate=${data.endDate}`,
+        method: "get",
     });
 };
 const goodnessFindRealPowerCharBy24 = (data) => {
     return request({
-        url: `/consumer/goodness/findRealPowerCharBy24`,
-        method: "post",
-        data: data
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/goodness/findRealPowerCharBy24?wtId=${data.wtId}&recorddate=${data.recorddate}`,
+        method: "get",
     });
 };
 const goodnessBjjllist = (data) => {
     return request({
-        url: `/consumer/goodness/bjjllist`,
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/goodness/bjjllist?wtId=${data.wtId}&recorddate=${data.recorddate}&pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
         method: "post",
-        data: data
     });
 };
 
 const goodnessGzjllist = (data) => {
     return request({
-        url: `/consumer/goodness/gzjllist`,
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/goodness/gzjllist?wtId=${data.wtId}&recorddate=${data.recorddate}&pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
         method: "post",
-        data: data
     });
 };
+
 const goodnessXdjllist = (data) => {
     return request({
-        url: `/consumer/goodness/xdjllist`,
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/goodness/xdjllist?wtId=${data.wtId}&recorddate=${data.recorddate}&pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
         method: "post",
-        data: data
     });
 };
 const goodnessWadAjax = (data) => {
     return request({
-        url: `/consumer/goodness/wadAjax`,
-        method: "post",
-        data: data
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/goodness/wadAjax?wtId=${data.wtId}&recorddate=${data.recorddate}`,
+        method: "get",
     });
 };
 
 const goodnessBphlist = (data) => {
     return request({
-        url: `/consumer/goodness/bjphlist`,
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/goodness/bjphlist?wtId=${data.wtId}&recorddate=${data.recorddate}`,
         method: "post",
-        data: data
     });
 };
 const goodnessGlchat = (data) => {
     return request({
-        url: `/consumer/goodness/glchat`,
-        method: "post",
-        data: data
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/goodness/glchat?wtId=${data.wtId}&recorddate=${data.recorddate}`,
+        method: "get",
     });
 };
 const goodnessFjfzy = (data) => {
     return request({
-        url: `/consumer/goodness/fjfzy`,
-        method: "post",
-        data: data
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/goodness/fjfzy?wtId=${data.wtId}&recorddate=${data.recorddate}`,
+        method: "get",
     });
 };
 const requestData1 = (data) => {
     return request({
-        url: `/consumer/${data.subUrl}`,
-        method: "post",
-        data: data
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/${data.subUrl}?wpId=${data.data.wtId }&wtId=${data.data.wtId}&recorddate=${data.data.recorddate}&type=${data.data.type}`,
+        method: "get",
     });
 };
 //znzhfx.vue
@@ -440,9 +441,9 @@ const singleanalysisSingleanalysisChart = (data) => {
 
 const singleanalysisSingleanalysisMain = (data) => {
     return request({
-        url: `/consumer/singleanalysis/singleanalysisMain`,
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `singleanalysis/singleanalysisMain?wpId=${data.wpId }&isAsc=${data.isAsc}&year=${data.year}&month=${data.month}`,
         method: "post",
-        data: data
     });
 };
 //电量分析 未绑定界面

File diff suppressed because it is too large
+ 116 - 116
src/assets/dataService/arcgis-sbq.json


+ 58 - 58
src/assets/dataService/arcgis-xs.json

@@ -24,7 +24,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG01",
+		"code": "XG01",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -39,7 +39,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG02",
+		"code": "XG02",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -54,7 +54,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG03",
+		"code": "XG03",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -69,7 +69,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG04",
+		"code": "XG04",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -84,7 +84,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG05",
+		"code": "XG05",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -99,7 +99,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG06",
+		"code": "XG06",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -114,7 +114,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG07",
+		"code": "XG07",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -129,7 +129,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG08",
+		"code": "XG08",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -144,7 +144,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG09",
+		"code": "XG09",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -159,7 +159,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG10",
+		"code": "XG10",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -174,7 +174,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG11",
+		"code": "XG11",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -189,7 +189,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG12",
+		"code": "XG12",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -204,7 +204,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG13",
+		"code": "XG13",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -219,7 +219,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG14",
+		"code": "XG14",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -234,7 +234,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG15",
+		"code": "XG15",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -249,7 +249,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG16",
+		"code": "XG16",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -264,7 +264,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG17",
+		"code": "XG17",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -279,7 +279,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG18",
+		"code": "XG18",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -294,7 +294,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG19",
+		"code": "XG19",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -309,7 +309,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG20",
+		"code": "XG20",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -324,7 +324,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG21",
+		"code": "XG21",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -339,7 +339,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG22",
+		"code": "XG22",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -354,7 +354,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG23",
+		"code": "XG23",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -369,7 +369,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG24",
+		"code": "XG24",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -384,7 +384,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG25",
+		"code": "XG25",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -399,7 +399,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG26",
+		"code": "XG26",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -414,7 +414,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG27",
+		"code": "XG27",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -429,7 +429,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG28",
+		"code": "XG28",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -444,7 +444,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG29",
+		"code": "XG29",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -459,7 +459,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG30",
+		"code": "XG30",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -474,7 +474,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG31",
+		"code": "XG31",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -489,7 +489,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG32",
+		"code": "XG32",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -504,7 +504,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG33",
+		"code": "XG33",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -519,7 +519,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG34",
+		"code": "XG34",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -534,7 +534,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG35",
+		"code": "XG35",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -549,7 +549,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG36",
+		"code": "XG36",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -564,7 +564,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG37",
+		"code": "XG37",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -579,7 +579,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG38",
+		"code": "XG38",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -594,7 +594,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG39",
+		"code": "XG39",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -609,7 +609,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG40",
+		"code": "XG40",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -624,7 +624,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG41",
+		"code": "XG41",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -639,7 +639,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG42",
+		"code": "XG42",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -654,7 +654,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG43",
+		"code": "XG43",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -669,7 +669,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG44",
+		"code": "XG44",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -684,7 +684,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG45",
+		"code": "XG45",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -699,7 +699,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG46",
+		"code": "XG46",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -714,7 +714,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG47",
+		"code": "XG47",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -729,7 +729,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG48",
+		"code": "XG48",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -744,7 +744,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG49",
+		"code": "XG49",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -759,7 +759,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG50",
+		"code": "XG50",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -774,7 +774,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG51",
+		"code": "XG51",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -789,7 +789,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG52",
+		"code": "XG52",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -804,7 +804,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG53",
+		"code": "XG53",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -819,7 +819,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG54",
+		"code": "XG54",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -834,7 +834,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG55",
+		"code": "XG55",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -849,7 +849,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG56",
+		"code": "XG56",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -864,7 +864,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG57",
+		"code": "XG57",
 		"fc_code": "XS",
 		"type": "风场"
 	},
@@ -879,7 +879,7 @@
 	},
 	"symbol": null,
 	"attributes": {
-		"code": "#XG58",
+		"code": "XG58",
 		"fc_code": "XS",
 		"type": "风场"
 	},

+ 11 - 0
src/assets/styles/theme/light/aqgk.less

@@ -59,6 +59,17 @@
         background: @deepblue;
         border-color: @deepblue;
     }
+    .date-select.el-picker__popper.el-popper[role="tooltip"] .el-picker-panel .el-date-picker__editor-wrap 
+    .el-time-panel .el-time-panel__footer{
+        background: @deepblue;
+    }
+    .el-picker-panel .el-time-panel__btn.cancel{
+        color: @white;
+    }
+    .el-time-panel__btn.confirm{
+        color: @black;
+    }
+
     .el-picker-panel .el-picker-panel__footer .el-button--text{
         color: @white;
     }

+ 77 - 90
src/assets/styles/theme/light/jsc.less

@@ -158,96 +158,83 @@
 
     .wave {
         z-index: 1;
+    }
+
+    .svg-icon.svg-icon-write svg use {
+        fill: @black;
+    }
+
+    .svg-icon.svg-icon-gray-l svg use {
+        fill: @black;
+    }
+
+    // 状态监视白色主题样式
+    .status-panel .status-com-panel .p-body .category-box[data-v-74094c42] {
+        width: 100%;
+        background-color: @white;
+        transition: @transition;
+        display: flex;
+        margin-bottom: 0.37vh;
+    }
+
+    .el-scrollbar__wrap {
+        background: @white;
+        transition: @transition;
+    }
+
+    .map-1 .btn-group-tabs[data-v-0ec6dd0b] {
+        display: flex;
+        flex-direction: row;
+        background: @white;
+        height: 50px;
+    }
+
+    .status-panel .status-com-panel .p-body .item-box .data-item.light[data-v-74094c42] {
+        background-color: @deepblue;
+        position: relative;
+    }
+
+    .status-panel .status-com-panel .p-body .category-box .score span[data-v-74094c42] {
+        color: @deepblue;
+    }
+
+    //驾驶舱模块-Agc白色主题样式
+    .com-panel2 .panel-header2 .panel-tools2 {
+        color: @black;
+        opacity: 0.3;
+    }
+
+    .panel-table .data-item .data-item-count {
+        color: @deepblue;
+    }
+
+    .com-panel2 .panel-header2 .panel-title2 {
+        color: @deepblue;
+    }
+
+    .com-panel2.green .panel-header2 .panel-title2 .panel-icon2 {
+        color: @black;
+    }
+
+    .com-panel2.green .panel-header2::after {
+        background-image: linear-gradient(to right, @white, rgba(5, 187, 76, 0));
+    }
 
-        .svg-icon.svg-icon-write svg use {
-            fill: @black;
-        }
-
-        .svg-icon.svg-icon-gray-l svg use {
-            fill: @black;
-        }
-
-        // 状态监视白色主题样式
-        .status-panel .status-com-panel .p-body .category-box[data-v-74094c42] {
-            width: 100%;
-            background-color: @white;
-            transition: @transition;
-            display: flex;
-            margin-bottom: 0.37vh;
-        }
-
-        .el-scrollbar__wrap {
-            background: @white;
-            transition: @transition;
-        }
-
-        .map-1 .btn-group-tabs[data-v-0ec6dd0b] {
-            display: flex;
-            flex-direction: row;
-            background: @white;
-            height: 50px;
-        }
-
-        .status-panel .status-com-panel .p-body .item-box .data-item.light[data-v-74094c42] {
-            background-color: @deepblue;
-            position: relative;
-        }
-
-        .status-panel .status-com-panel .p-body .category-box .score span[data-v-74094c42] {
-            color: @deepblue;
-        }
-
-        //驾驶舱模块-Agc白色主题样式
-        .com-panel2 .panel-header2 .panel-tools2 {
-            color: @black;
-            opacity: 0.3;
-        }
-
-        .panel-table .data-item .data-item-count {
-            color: @deepblue;
-        }
-
-        .com-panel2 .panel-header2 .panel-title2 {
-            color: @deepblue;
-        }
-
-        .com-panel2.green .panel-header2 .panel-title2 .panel-icon2 {
-            color: @black;
-        }
-
-        .com-panel2.green .panel-header2::after {
-            background-image: linear-gradient(to right, @white, rgba(5, 187, 76, 0));
-        }
-
-        // 风场
-        .station-tip {
-            background-color: @gray-l;
-            color: @black;
-        }
-
-        .el-table td.light,
-        .df-table .el-table td.light,
-        .main-body .custom-table.el-table td.light,
-        .df-table .custom-table.el-table td.light,
-        .main-body .el-table td.always-light,
-        .df-table .el-table td.always-light,
-        .main-body .custom-table.el-table td.always-light,
-        .df-table .custom-table.el-table td.always-light {
-            color: @deepblue  !important;
-            font-weight: bold;
-        }
-
-        // 升压站,总貌图svg
-        .svg {
-            #footer text {
-                fill: @black;
-            }
-
-            #data {
-                text {
-                    fill: @white;
-                }
-            }
-        }
+    // 风场
+    .station-tip {
+        background-color: @gray-l;
+        color: @black;
+    }
+
+    .el-table td.light,
+    .df-table .el-table td.light,
+    .main-body .custom-table.el-table td.light,
+    .df-table .custom-table.el-table td.light,
+    .main-body .el-table td.always-light,
+    .df-table .el-table td.always-light,
+    .main-body .custom-table.el-table td.always-light,
+    .df-table .custom-table.el-table td.always-light {
+        color: @deepblue  !important;
+        font-weight: bold;
     }
 }

+ 126 - 0
src/assets/styles/theme/light/light-jjyx.css

@@ -0,0 +1,126 @@
+#appBody.light .static-main {
+  background: #fff;
+  border-color: #36348e;
+  border-radius: 12px;
+  flex: 0 0 130px;
+  margin-right: 5px;
+  transition: 0.25s;
+}
+#appBody.light .static-main .icon i {
+  background: #36348e;
+  border-color: #808080;
+  transition: 0.25s;
+}
+#appBody.light .static-main .icon i svg use {
+  fill: #fff;
+  transition: 0.25s;
+}
+#appBody.light .static-main .info .value {
+  color: #36348e;
+  transition: 0.25s;
+}
+#appBody.light .static-items {
+  background: #fff;
+  margin-right: 4px;
+  border-radius: 12px;
+  transition: 0.25s;
+}
+#appBody.light .static-items .static-items-title {
+  color: #36348e;
+  font-weight: 700;
+  transition: 0.25s;
+}
+#appBody.light .static-items .items .item {
+  margin-left: 4px;
+  border-radius: 12px;
+  background: rgba(128, 128, 128, 0.15);
+  transition: 0.25s;
+  font-weight: 700;
+}
+#appBody.light .static-items .items .item .title {
+  color: #36348e;
+  font-weight: 700;
+  transition: 0.25s;
+}
+#appBody.light .power-benchmarking-page .top .top-left .top-left-header .header-right > div.active,
+#appBody.light .power-benchmarking-page .top .top-left .top-left-header .header-right > div:hover {
+  background: rgba(54, 52, 142, 0.2);
+  border-color: #36348e;
+  color: #36348e;
+  transition: 0.25s;
+}
+#appBody.light .power-benchmarking-page .top .top-right .rank-title::before {
+  background: linear-gradient(135deg, rgba(54, 52, 142, 0.4), transparent, transparent, transparent, rgba(54, 52, 142, 0.4));
+}
+#appBody.light .power-benchmarking-page .top .top-right .rank-title {
+  border-color: #36348e;
+  color: #36348e;
+  transition: 0.25s;
+}
+#appBody.light .power-benchmarking-page .top .top-right .rank-title .border {
+  border-color: #36348e;
+  transition: 0.25s;
+}
+#appBody.light .power-benchmarking-page .top .top-right .rank-table.el-table thead tr th {
+  background: #F0F0F0;
+  color: #000;
+  font-weight: 700;
+  transition: 0.25s;
+}
+#appBody.light .power-benchmarking-page .top .top-right .rank-block {
+  border-color: #36348e;
+  background: rgba(54, 52, 142, 0.2);
+  transition: 0.25s;
+}
+#appBody.light .power-benchmarking-page .top .top-right .rank-table {
+  border-color: #36348e;
+  transition: 0.25s;
+}
+#appBody.light .top-right .el-table__body-wrapper {
+  background: #fff;
+  transition: 0.25s;
+}
+#appBody.light .main-body .el-table td,
+#appBody.light .main-body .custom-table.el-table td {
+  color: #000;
+  font-weight: 700;
+  transition: 0.25s;
+}
+#appBody.light .main-body .el-table tr:hover td,
+#appBody.light .main-body .custom-table.el-table tr:hover td {
+  color: #36348e;
+  font-weight: 700;
+  transition: 0.25s;
+}
+#appBody.light .power-benchmarking-page .top .top-right .rank-table.el-table.el-table--striped .el-table__body tr.el-table__row--striped td {
+  background: rgba(54, 52, 142, 0.1);
+  transition: 0.25s;
+}
+#appBody.light .power-benchmarking-page .top .top-right .rank-table.el-table.el-table--striped .el-table__body tr.el-table__row--striped:hover td {
+  background: rgba(54, 52, 142, 0.1) !important;
+  transition: 0.25s;
+}
+#appBody.light .top-left .el-table table {
+  background: #fff;
+  transition: 0.25s;
+}
+#appBody.light .top-left .el-table th,
+#appBody.light .top-left .el-table td {
+  font-weight: bold;
+  font-weight: 700;
+}
+#appBody.light .top-left .el-table thead tr:first-child th {
+  background: #F0F0F0;
+  color: #000;
+  transition: 0.25s;
+}
+#appBody.light .top-left .el-table thead tr:last-child th {
+  background: #F0F0F0;
+  color: #000;
+  transition: 0.25s;
+}
+#appBody.light .top-left .el-table th.light,
+#appBody.light .top-left .el-table td.light {
+  color: #36348e !important;
+  transition: 0.25s;
+}

+ 3 - 4
src/assets/styles/theme/light/light-jjyx.less

@@ -82,7 +82,7 @@
     }
 
     .power-benchmarking-page .top .top-right .rank-table.el-table thead tr th {
-        background : rgba(54, 52, 142, 0.05);
+        background : #F0F0F0;
         color      : @black;
         font-weight: 700;
         transition : @transition;
@@ -144,19 +144,18 @@
         }
 
         thead tr:first-child th {
-            background: rgba(128, 128, 128, 0.3);
+            background: #F0F0F0;
             color     : @black;
             transition: @transition;
         }
 
         thead tr:last-child th {
-            background: rgba(128, 128, 128, 0.1);
+            background: #F0F0F0;
             color     : @black;
             transition: @transition;
         }
 
 
-
         th.light,
         td.light {
             color     : @deepblue  !important;

+ 1 - 3
src/assets/styles/theme/light/light-jsc.less

@@ -24,7 +24,7 @@
     }
 
     #app {
-        background: rgb(220, 221, 223);
+        // background: rgb(220, 221, 223);
         transition: @transition;
     }
 
@@ -319,8 +319,6 @@
     }
 
     .main-body {
-        margin-left: 66px;
-        max-width  : calc(100vw - 54px - 12px);
         transition : @transition;
     }
 

+ 24 - 13
src/assets/styles/theme/light/light-qt.less

@@ -28,10 +28,6 @@
         border-radius: @borderRaduis;
     }
 
-    //统计分析
-    // .el-date-table td.end-date span, .el-date-table td.start-date span{
-    //     background-color: @deepblue;
-    // }
 
     //原始数据查询-测点历史数据查询
     .el-date-editor.is-active,
@@ -115,10 +111,6 @@
         background: rgba(@deepblueBg, 0.2);
     }
 
-    //原始数据查询-测点数据查询
-    .com-table tbody tr:nth-child(2n){
-        background: @white;
-    }
     // 原始数据查询-数据导出
     .com-table td {
         color: @black  !important;
@@ -131,13 +123,16 @@
     .el-input__suffix {
         color: @black;
     }
-    .el-popper.el-select__popper[role="tooltip"]{
+
+    .el-popper.el-select__popper[role="tooltip"] {
         background: @white;
     }
-    .el-popper__arrow::before{
-        background: @white !important;
-        border: 1px solid @white !important;
+
+    .el-popper__arrow::before {
+        background: @white  !important;
+        border: 1px solid @white  !important;
     }
+
     .el-popper.el-select__popper[role="tooltip"] .el-select-dropdown__item.selected {
         color: @deepblue;
     }
@@ -155,6 +150,10 @@
     .el-select .el-input .el-select__caret {
         color: @black;
     }
+    .el-picker-panel.el-date-picker td.current .cell{
+        background-color: rgba(@deepblueBg, 0.2);
+        color: @deepblue;
+    }   
 
     //设备管理
     .el-tabs--card>.el-tabs__header .el-tabs__nav {
@@ -255,7 +254,19 @@
         height: 3.8vh;
         padding-top: 0.6vh;
     }
-    .swiperBox .imageBox1 .imgItem1 .img1[data-v-247ee960]:hover, .itemBox .imageBox1 .imgItem1 .img1[data-v-247ee960]:hover{
+    .el-time-panel__footer{
+        background: @deepblue;
+    }
+
+    .swiperBox .imageBox1 .imgItem1 .img1[data-v-247ee960]:hover,
+    .itemBox .imageBox1 .imgItem1 .img1[data-v-247ee960]:hover {
         border: 3px solid @deepblue;
     }
+
+    .el-picker-panel.el-date-range-picker .el-date-range-picker__time-header 
+    .el-date-range-picker__time-picker-wrap 
+    .el-time-panel .el-time-spinner__item:hover:not(.disabled):not(.active){
+        color: @deepblue;
+        font-weight: bold;
+    }
 }

+ 4 - 1
src/components/coms/table/group-table.vue

@@ -40,7 +40,10 @@
       </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>
+  <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>

File diff suppressed because it is too large
+ 122 - 87
src/components/other/healthReport/index.vue


+ 21 - 14
src/main.js

@@ -1,15 +1,15 @@
-import { createApp } from 'vue';
-import App from './App.vue';
-import router from './router';
-import store from './store';
-import 'font-awesome/css/font-awesome.min.css';
+import { createApp } from "vue";
+import App from "./App.vue";
+import router from "./router";
+import store from "./store";
+import "font-awesome/css/font-awesome.min.css";
 
 
 // 引入 element-ui
-import ElementPlus from 'element-plus';
-import 'element-plus/dist/index.css';
-// import 'element-plus/lib/theme-chalk/index.css';
-import locale from 'element-plus/lib/locale/lang/zh-cn';
+import ElementPlus from "element-plus";
+import "element-plus/dist/index.css";
+// import "element-plus/lib/theme-chalk/index.css";
+import locale from "element-plus/lib/locale/lang/zh-cn";
 
 // // 引入环境配置
 // import "@modeConfig/modeConfig.js";
@@ -22,11 +22,12 @@ import axios from "@api/axios";
 // 引入基础工具
 import basicTool from "@tools/basicTool";
 
-import animated from 'animate.css';
+import animated from "animate.css";
 
 /**
  * 对 Date 的扩展,将 Date 转化为指定格式的字符串
- * @param {String} fmt 传入一个字符串,根据所传字符串的格式返回转换后特定格式的日期,调用姿势:new Date().formatDate("yyyy-MM-dd hh:mm:ss");
+ * @param {String} fmt 传入一个字符串,根据所传字符串的格式返回转换后特定格式的日期。
+ * 调用姿势:new Date().formatDate("yyyy-MM-dd hh:mm:ss");
  */
 Date.prototype.formatDate = function (fmt) {
   let o = {
@@ -38,9 +39,15 @@ Date.prototype.formatDate = function (fmt) {
     "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
     "S": this.getMilliseconds() //毫秒 
   };
-  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
-  for (let k in o)
-    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
+  if (/(y+)/.test(fmt)) {
+    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
+  }
+  for (let k in o) {
+    if (new RegExp("(" + k + ")").test(fmt)) {
+      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
+    }
+
+  }
   return fmt;
 }
 

+ 1 - 1
src/router/index.js

@@ -361,7 +361,7 @@ const routes = [{
 			import( /* webpackChunkName: "fs" */ "../views/NewPages/forecast-system.vue"),
 	},
 
-	
+
 	// 报表管理-统计分析
 	{
 		path: "/others/statisticAnalysis",

+ 17 - 0
src/tools/basicTool.js

@@ -260,6 +260,23 @@ export default {
     }
   },
 
+  /**
+   * 生成指定范围内的随机数
+   * @param {Int} minNum 范围下限
+   * @param {Int} maxNum 范围上限
+   * @returns 
+   */
+  randomNum(minNum, maxNum) {
+    switch (arguments.length) {
+      case 1:
+        return parseInt(Math.random() * minNum + 1, 10);
+      case 2:
+        return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
+      default:
+        return 0;
+    }
+  },
+
   // 正则表达式
   regs: {
     // 是否为手机号

+ 364 - 4
src/views/About.vue

@@ -26,7 +26,7 @@
         border
         style="width: 100%"
       >
-        <el-table-column prop="name" label="部件"> </el-table-column>
+        <el-table-column prop="name" label="部件" />
         <el-table-column
           prop="amount1"
           sortable
@@ -55,7 +55,8 @@
       </el-table>
       <!-- <list-bar-chart /> -->
     </template>
-    <cesium />
+    <!-- <cesium /> -->
+    <div id="box" style="width: 1000px; height: 600px"></div>
   </div>
 </template>
 
@@ -65,6 +66,10 @@ import HealthReport from "@com/other/healthReport/index.vue";
 import FJ from "@com/other/fj/index.vue";
 import clock from "@com/other/clock/index.vue";
 import cesium from "@com/other/cesium/index.vue";
+import * as echarts from "echarts";
+import util from "@/helper/util.js";
+import partten from "@/helper/partten.js";
+
 // 导入header.vue文件
 export default {
   data() {
@@ -98,6 +103,21 @@ export default {
   },
 
   mounted() {
+    const that = this;
+    that.API.requestData({
+      method: "POST",
+      baseURL: "http://192.168.1.18:9002/",
+      subUrl: "scatter/list",
+      data: {
+        station: "NSS_FDC",
+        wtId: "NG01_01",
+        time: "2022-02",
+      },
+      success(res) {
+        that.initChart(res);
+      },
+    });
+    return;
     let thArray = [
       [
         { field: "name", name: "表1姓名" },
@@ -132,12 +152,352 @@ export default {
       ],
     ];
 
-    let sheetNameArray=["这是sheet-1","这是sheet-2","这是sheet-3"]
+    let sheetNameArray = ["这是sheet-1", "这是sheet-2", "这是sheet-3"];
 
-    this.BASE.exportMultiple(thArray, dataArray, sheetNameArray, "单表格多sheet示例");
+    // this.BASE.exportMultiple(thArray, dataArray, sheetNameArray, "单表格多sheet示例");
   },
 
   methods: {
+    initChart(res) {
+      let myChart = echarts.init(document.getElementById("box"));
+
+      let sjgl = [];
+      let zygl = [];
+      let xAxisData = [];
+
+      res.data.lineactual.forEach((ele, index) => {
+        sjgl.push(ele[1]);
+        xAxisData.push(index);
+      });
+
+      res.data.lineoptimal.forEach((ele) => {
+        zygl.push(ele[1]);
+      });
+
+      const series = [
+        {
+          name: "风速功率",
+          type: "effectScatter",
+          showEffectOn: "emphasis",
+          symbolSize: 5,
+          data: res.data.scatter || [
+            [174.0, 65.6],
+            [175.3, 71.8],
+            [193.5, 80.7],
+            [186.5, 72.6],
+            [187.2, 78.8],
+            [181.5, 74.8],
+            [184.0, 86.4],
+            [184.5, 78.4],
+            [175.0, 62.0],
+            [184.0, 81.6],
+            [180.0, 76.6],
+            [177.8, 83.6],
+            [192.0, 90.0],
+            [176.0, 74.6],
+            [174.0, 71.0],
+            [184.0, 79.6],
+            [192.7, 93.8],
+            [171.5, 70.0],
+            [173.0, 72.4],
+            [176.0, 85.9],
+            [176.0, 78.8],
+            [180.5, 77.8],
+          ],
+          xAxisIndex: 1,
+        },
+        {
+          name: "实际功率",
+          type: "line",
+          smooth: true, //这个是把线变成曲线
+          data: sjgl || [
+            10, 20, 30, 40, 30, 20, 50, 80, 50, 80, 50, 80, 60, 40, 20, 40, 60,
+            80, 60, 40, 20,
+          ],
+          itemStyle: {
+            normal: {
+              color: "#05bb4c",
+              lineStyle: {
+                color: "#05bb4c",
+              },
+            },
+          },
+          xAxisIndex: 0,
+        },
+        {
+          name: "最优功率",
+          type: "line",
+          smooth: true, //这个是把线变成曲线
+          data: zygl || [
+            0, 10, 20, 30, 40, 50, 60, 70, 80, 80, 80, 80, 90, 90, 90, 95, 95,
+            100, 100, 100, 100,
+          ],
+          itemStyle: {
+            normal: {
+              color: "#f8de5b",
+              lineStyle: {
+                color: "#f8de5b",
+              },
+            },
+          },
+          xAxisIndex: 0,
+        },
+      ];
+      //指定图表的配置项和数据
+      var option = {
+        //标题
+        title: {
+          text: "折线散点图",
+          textStyle: {
+            fontSize: util.vh(16),
+            color: this.$store.state.themeName === "dark" ? "#fff" : "#000",
+          },
+        },
+        backgroundColor:
+          this.$store.state.themeName === "dark"
+            ? "rgba(0,0,0,0.4)"
+            : "rgba(255,255,255,0.5)",
+        //工具箱
+        toolbox: {
+          show: true,
+          x: "right",
+          position: [10, 10],
+          backgroundColor:
+            this.$store.state.themeName === "dark"
+              ? "rgba(0,0,0,0.4)"
+              : "rgba(255,255,255,0.5)",
+          borderColor:
+            this.$store.state.themeName === "dark"
+              ? partten.getColor("gray")
+              : "#000",
+          textStyle: {
+            fontSize: util.vh(16),
+            color: this.$store.state.themeName === "dark" ? "#fff" : "#000",
+          },
+          iconStyle: {
+            borderColor:
+              this.$store.state.themeName === "dark" ? "#fff" : "#000",
+          },
+          emphasis: {
+            iconStyle: {
+              borderColor:
+                this.$store.state.themeName === "dark" ? "#fff" : "#000",
+            },
+          },
+          // feature: {
+          //   dataZoom: {
+          //     yAxisIndex: "none",
+          //   },
+          //   dataView: { readOnly: false },
+          //   magicType: { type: ["line", "bar"] },
+          //   restore: {},
+          //   saveAsImage: {},
+          // },
+        },
+        tooltip: {
+          trigger: "item",
+          axisPointer: {
+            type: "cross",
+          },
+          backgroundColor:
+            this.$store.state.themeName === "dark"
+              ? "rgba(0,0,0,0.4)"
+              : "rgba(255,255,255,0.5)",
+          borderColor:
+            this.$store.state.themeName === "dark"
+              ? partten.getColor("gray")
+              : "#000",
+          textStyle: {
+            fontSize: util.vh(16),
+            color: this.$store.state.themeName === "dark" ? "#fff" : "#000",
+          },
+          formatter(params) {
+            return params.name
+              ? `${params.seriesName}<br />风速:${params.name}米/s<br />功率:${params.value}KW`
+              : `${params.seriesName}<br />风速:${params.data[0]}米/s<br />功率:${params.data[1]}KW`;
+          },
+        },
+        brush: {
+          xAxisIndex: "all",
+          yAxisIndex: "all",
+          transformable: true,
+          throttleType: "debounce",
+          throttleDelay: 600,
+          removeOnClick: false,
+          brushType: "polygon",
+          brushMode: "multiple",
+          brushStyle: {
+            borderWidth: 1,
+            color: "rgba(255,36,36,0.2)",
+            borderColor: "#ff2424",
+          },
+          // outOfBrush: {
+          //   colorAlpha: 0.5,
+          // },
+        },
+        dataZoom: [
+          {
+            type: "inside", //图表下方的伸缩条
+            show: true, //是否显示
+            realtime: true, //拖动时,是否实时更新系列的视图
+            start: 0, //伸缩条开始位置(1-100),可以随时更改
+            end: 100, //伸缩条结束位置(1-100),可以随时更改
+          },
+          {
+            type: "slider", //图表下方的伸缩条
+            show: true, //是否显示
+            realtime: true, //拖动时,是否实时更新系列的视图
+            start: 0, //伸缩条开始位置(1-100),可以随时更改
+            end: 100, //伸缩条结束位置(1-100),可以随时更改
+          },
+        ],
+        textStyle: {
+          fontSize: util.vh(16),
+          color: this.$store.state.themeName === "dark" ? "#fff" : "#000",
+        },
+        //图例-每一条数据的名字叫销量
+        legend: {
+          show: true,
+          data: ["风速功率", "实际功率", "最优功率"],
+          right: "120",
+          top:"5",
+          icon: "circle",
+          itemWidth: 6,
+          inactiveColor: this.$store.state.themeName === "dark" ? partten.getColor("gray") : "#000",
+          textStyle: {
+            color: this.$store.state.themeName === "dark" ? partten.getColor("grayl") : "#000",
+            fontSize: 12,
+          },
+        },
+        grid: {
+          top: 32,
+          left: 40,
+          right: 40,
+          bottom: 24,
+        },
+        //x轴
+        xAxis: [
+          {
+            type: "category",
+            boundaryGap: false,
+            data: xAxisData || [
+              "0",
+              "1",
+              "2",
+              "3",
+              "4",
+              "5",
+              "6",
+              "7",
+              "8",
+              "9",
+              "10",
+              "11",
+              "12",
+              "13",
+              "14",
+              "15",
+              "16",
+              "17",
+              "18",
+              "19",
+              "20",
+              "21",
+              "22",
+              "23",
+              "24",
+              "25",
+            ],
+            min: 0,
+            axisLabel: {
+              formatter: "{value}",
+              fontSize: util.vh(14),
+            },
+            textStyle: {
+              color:
+                this.$store.state.themeName === "dark"
+                  ? partten.getColor("gray")
+                  : "#000",
+            },
+          },
+          {
+            // name: this.xTitle,
+            show: false,
+            type: "value",
+            boundaryGap: false,
+            min: xAxisData[0],
+            max: xAxisData[xAxisData.length - 1],
+            scale: true,
+            axisLabel: {
+              formatter: "{value}",
+            },
+            splitLine: {
+              show: false,
+            },
+          },
+        ],
+        //y轴没有显式设置,根据值自动生成y轴
+        yAxis: {
+          splitLine: { show: false },
+        },
+        //数据-data是最终要显示的数据
+        series,
+      };
+
+      myChart.on("brushSelected", (params) => {
+        const selected = params.batch[0]?.selected;
+        let selectRes = [];
+        selected?.forEach((pEle) => {
+          if (pEle.dataIndex.length) {
+            let item = {
+              name: pEle.seriesName,
+              data: [],
+            };
+            pEle.dataIndex.forEach((cEle) => {
+              item.data.push(
+                Array.isArray(series[pEle.seriesIndex].data[cEle])
+                  ? series[pEle.seriesIndex].data[cEle][
+                      series[pEle.seriesIndex].data[cEle].length - 1
+                    ]
+                  : series[pEle.seriesIndex].data[cEle]
+              );
+            });
+            selectRes.push(item);
+          }
+        });
+        let altMsg = "选中了";
+        if (selectRes.length) {
+          selectRes.forEach((ele) => {
+            altMsg +=
+              ele.data.length +
+              "条" +
+              ele.name +
+              ":[" +
+              ele.data.toString() +
+              "].";
+          });
+          this.BASE.showMsg({
+            type: "success",
+            msg: altMsg,
+          });
+        }
+      });
+
+      //使用刚刚指定的配置项和数据项显示图表
+      myChart.setOption(option);
+
+      myChart.dispatchAction({
+        type: "takeGlobalCursor",
+        // 如果想变为“可刷选状态”,必须设置。不设置则会关闭“可刷选状态”。
+        key: "brush",
+        brushOption: {
+          // 参见 brush 组件的 brushType。如果设置为 false 则关闭“可刷选状态”。
+          brushType: "polygon",
+          // 参见 brush 组件的 brushMode。如果不设置,则取 brush 组件的 brushMode 设置。
+          brushMode: "multiple",
+        },
+      });
+    },
     showDialog() {
       this.show = true;
     },

+ 312 - 55
src/views/Demo.vue

@@ -2,10 +2,14 @@
   <h1>组件示例</h1>
   <tab :data="tabData" @select="select" />
   <!-- 图表 -->
-  <el-scrollbar v-if="currTab == 1" style="height:85%;">
+  <el-scrollbar v-if="currTab == 1" style="height: 85%">
     <h2>图表</h2>
     <h2>07-16新增</h2>
-    <scatter-line-chart :lineData="scatterLineData.lineData" :data="scatterLineData.data" :height="'250px'" />
+    <scatter-line-chart
+      :lineData="scatterLineData.lineData"
+      :data="scatterLineData.data"
+      :height="'250px'"
+    />
 
     <h2>07-12新增</h2>
     <h3>折现: zoom-line-chart</h3>
@@ -114,25 +118,17 @@
     </div>
   </el-scrollbar>
   <!-- 组件 -->
-  <el-scrollbar v-if="currTab == 2" style="height:85%;">
+  <el-scrollbar v-if="currTab == 2" style="height: 85%">
     <h3>panel</h3>
-    <panel :title="'title 标题'">
-      带标题title
-    </panel>
+    <panel :title="'title 标题'"> 带标题title </panel>
     <br />
-    <panel>
-      无标题title
-    </panel>
+    <panel> 无标题title </panel>
 
     <h3>panel-2</h3>
-    <panel-2 :title="'panel -2'">
-      panel 2
-    </panel-2>
+    <panel-2 :title="'panel -2'"> panel 2 </panel-2>
 
     <h3>panel-3</h3>
-    <panel-3>
-      panel-3
-    </panel-3>
+    <panel-3> panel-3 </panel-3>
 
     <h3>toolbar-panel</h3>
     <toolbar-panel title="toolbar-panel">
@@ -180,87 +176,150 @@
     <percent-card-2 />
 
     <h3>collapse-list</h3>
-    <div style="width:200px">
+    <div style="width: 200px">
       <collapse-list />
     </div>
 
     <h3>list</h3>
-    <div style="width:200px">
+    <div style="width: 200px">
       <list />
     </div>
   </el-scrollbar>
 
   <!-- Table 组件 -->
-  <el-scrollbar v-if="currTab == 3" style="height:85%;">
+  <el-scrollbar v-if="currTab == 3" style="height: 85%">
     <h2>07-09更新</h2>
     <h3>table-2</h3>
     <h3>组件说明:</h3>
     <p>与原组件使用方式基本相同 原table组件满足的情况下,不更换新组件也可以</p>
     <p>新table支持原table所有特性,优化了props及column, 支持更多功能</p>
     <p>现支持 文本省略及鼠标浮动显示</p>
-    <p>* 原有template 及第三方标签实现方式更改 删除了column 中的 template、type及props</p>
+    <p>
+      * 原有template 及第三方标签实现方式更改 删除了column 中的
+      template、type及props
+    </p>
     <h3>props说明:</h3>
-    <p>height : string 高度 指定列表高度 自动判断是否显示滚动条, 不进行设置则为最大宽度且没有滚动条</p>
+    <p>
+      height : string 高度 指定列表高度 自动判断是否显示滚动条,
+      不进行设置则为最大宽度且没有滚动条
+    </p>
     <p>pageSize : number 分页个数 若不传 pagesize 不进行分页处理</p>
     <p>@onPagging : method 分页回调</p>
     <p>data : Object 数据源 { column: [] , data:[] , total: number }</p>
     <h3>column说明:</h3>
     <p>
-      { name: "风机名称", field: "name", width:'', click:function(){ } ,sortable:fasle, slot:false, fixed:false, align:"center" }
+      { name: "风机名称", field: "name", width:'', click:function(){ }
+      ,sortable:fasle, slot:false, fixed:false, align:"center" }
     </p>
     <p>name : string 列名</p>
     <p>field : string 对应数据项 同时使用于具名插槽的name值</p>
-    <p>width : 列宽 可自定与每列宽度 如果想设置横向滚动条 需手动设置列宽 满足各列宽度和大于屏幕宽度</p>
+    <p>
+      width : 列宽 可自定与每列宽度 如果想设置横向滚动条 需手动设置列宽
+      满足各列宽度和大于屏幕宽度
+    </p>
     <p>click : 点击事件 与原有table相同</p>
     <p>sortable : 排序</p>
-    <p>slot: 开启插槽 为true时, 可在HTML中添加 插槽模板 添加自定义内容 为false时, 默认对应显示值, 示例参考代码中template</p>
+    <p>
+      slot: 开启插槽 为true时, 可在HTML中添加 插槽模板 添加自定义内容 为false时,
+      默认对应显示值, 示例参考代码中template
+    </p>
     <p>fixed: 固定列</p>
     <p>align: 默认文本居中 left | center| right</p>
-    <table-2 :data="tableData2" :height="'200px'" :pageSize="10" @onPagging="tableonPagging">
+    <table-2
+      :data="tableData2"
+      :height="'200px'"
+      :pageSize="10"
+      @onPagging="tableonPagging"
+    >
       <!-- v-slot:[field] 对应列嵌入自定义内容 包括第三方标签 -->
       <!-- 同时需要在 colum 中设置 slot:true  -->
       <!-- 如果只设置 slot:true 不写模板 列不存在内容 -->
       <!-- scope 内容 scope.column 传入的 col 值, scope.row 数据值 -->
-      <template v-slot:lqf="scope"> {{ scope.column.name }}:{{ scope.row.lqf }} </template>
+      <template v-slot:lqf="scope">
+        {{ scope.column.name }}:{{ scope.row.lqf }}
+      </template>
       <template v-slot:action="scope">
-        <a style="cursor:pointer;color:green;margin-right:8px;" @click="tableAction(scope)"> 点击查看组件点击事件返回信息 </a>
-        <a style="cursor:pointer;color:green;margin-right:8px;"> {{ scope.column.name }}2 </a>
-        <a style="cursor:pointer;color:green;margin-right:8px;"> {{ scope.column.name }}3 </a>
+        <a
+          style="cursor: pointer; color: green; margin-right: 8px"
+          @click="tableAction(scope)"
+        >
+          点击查看组件点击事件返回信息
+        </a>
+        <a style="cursor: pointer; color: green; margin-right: 8px">
+          {{ scope.column.name }}2
+        </a>
+        <a style="cursor: pointer; color: green; margin-right: 8px">
+          {{ scope.column.name }}3
+        </a>
       </template>
     </table-2>
 
     <h3>table</h3>
-    <Table :data="tableData" :height="'200px'" :canScroll="true" :pageSize="40" :showHover="false" @onPagging="tableonPagging"
-    
-     />
+    <Table
+      :data="tableData"
+      :height="'200px'"
+      :canScroll="true"
+      :pageSize="40"
+      :showHover="false"
+      @onPagging="tableonPagging"
+    />
     <h3>table</h3>
-    <check-table :data="tableData" :height="'200px'" :canScroll="true" :pageSize="40" :showHover="false" @onPagging="tableonPagging" @check="CheckTableonCheck" />
+    <check-table
+      :data="tableData"
+      :height="'200px'"
+      :canScroll="true"
+      :pageSize="40"
+      :showHover="false"
+      @onPagging="tableonPagging"
+      @check="CheckTableonCheck"
+    />
 
     <h3>el-table</h3>
-    <el-table class="custom-table" :data="eltableData" max-height="200" stripe style="width: 100%" border="false">
+    <el-table
+      class="custom-table"
+      :data="eltableData"
+      max-height="200"
+      stripe
+      style="width: 100%"
+      border="false"
+    >
       <el-table-column prop="date" label="日期" width="150"> </el-table-column>
       <el-table-column label="配送信息">
-        <el-table-column prop="name" label="姓名" width="120"> </el-table-column>
+        <el-table-column prop="name" label="姓名" width="120">
+        </el-table-column>
         <el-table-column label="地址">
-          <el-table-column prop="province" label="省份" width="120"> </el-table-column>
-          <el-table-column prop="city" label="市区" width="120"> </el-table-column>
+          <el-table-column prop="province" label="省份" width="120">
+          </el-table-column>
+          <el-table-column prop="city" label="市区" width="120">
+          </el-table-column>
           <el-table-column prop="address" label="地址"> </el-table-column>
-          <el-table-column prop="zip" label="邮编" width="120"> </el-table-column>
+          <el-table-column prop="zip" label="邮编" width="120">
+          </el-table-column>
         </el-table-column>
       </el-table-column>
     </el-table>
 
     <div>
-      <el-table class="custom-table" :data="treeTableData" style="width: 100%;margin-bottom: 20px;" row-key="id" border default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
-        <el-table-column prop="date" label="日期" sortable width="180"> </el-table-column>
-        <el-table-column prop="name" label="姓名" sortable width="180"> </el-table-column>
+      <el-table
+        class="custom-table"
+        :data="treeTableData"
+        style="width: 100%; margin-bottom: 20px"
+        row-key="id"
+        border
+        default-expand-all
+        :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
+      >
+        <el-table-column prop="date" label="日期" sortable width="180">
+        </el-table-column>
+        <el-table-column prop="name" label="姓名" sortable width="180">
+        </el-table-column>
         <el-table-column prop="address" label="地址"> </el-table-column>
       </el-table>
     </div>
   </el-scrollbar>
 
   <!--  icon -->
-  <el-scrollbar v-if="currTab == 4" style="height:85%;">
+  <el-scrollbar v-if="currTab == 4" style="height: 85%">
     <i class="svg-icon svg-icon-sm mg-r-16">
       <svg-icon :svgid="'svg-wind-site'" />
     </i>
@@ -274,15 +333,62 @@
 
   <!-- el-compoments -->
 
-  <el-scrollbar v-if="currTab == 5" style="height:85%;">
-    <el-button type="text" @click="dialogTableVisible = true">打开 Dialog</el-button>
-    <el-tree :data="elTreeData.data" :props="elTreeData.defaultProps" @node-click="handleNodeClick"></el-tree>
+  <el-scrollbar v-if="currTab == 5" style="height: 85%">
+    <el-button type="text" @click="dialogTableVisible = true"
+      >打开 Dialog</el-button
+    >
+    <el-tree
+      :data="elTreeData.data"
+      :props="elTreeData.defaultProps"
+      @node-click="handleNodeClick"
+    ></el-tree>
 
-    <el-cascader :options="cascader.options" :props="cascader.props" clearable></el-cascader>
+    <el-cascader
+      :options="cascader.options"
+      :props="cascader.props"
+      clearable
+    ></el-cascader>
   </el-scrollbar>
 
+  <!-- 表格合并 -->
+
+  <div v-if="currTab == 6" style="height: 70%">
+    <el-button type="text" @click="()=>{ tableMergeStyleShow = !tableMergeStyleShow; BASE.showMsg({type:'success',msg:'表格样式已切换'}); }">切换表格样式</el-button>
+    <el-button type="text" @click="()=>{ BASE.showMsg({type:'success',msg:'数据已刷新'}); createMergeTable(createSum); }">刷新表格数据</el-button>
+    <el-button type="text" @click="()=>{ createSum = !createSum; BASE.showMsg({type:createSum ? 'success' : 'warning',msg:`合计行已${createSum ? '显示' : '隐藏'}`}); createMergeTable(createSum); }">{{createSum ? "隐藏" : "显示"}}表格合计</el-button>
+    <el-table
+      style="width: 100%"
+      height="100%"
+      :class="tableMergeStyleShow ? 'custom-table' : ''"
+      :data="tableMergeData"
+      :span-method="tableMergeArraySpanMethod"
+      :show-summary="createSum"
+      :summary-method="tableMergeDataSumMethod"
+      sum-text="总计"
+    >
+      <el-table-column prop="fpName" label="名称" width="150" />
+      <el-table-column prop="sd" label="时段" align="center" />
+      <el-table-column label="时间">
+        <el-table-column prop="sj1" label="2020-02-01" align="center" />
+        <el-table-column prop="sj2" label="2020-02-02" align="center" />
+        <el-table-column prop="sj3" label="2020-02-03" align="center" />
+        <el-table-column prop="sj4" label="2020-02-04" align="center" />
+        <el-table-column prop="sj5" label="2020-02-05" align="center" />
+        <el-table-column prop="sj6" label="2020-02-06" align="center" />
+        <el-table-column prop="sj7" label="2020-02-07" align="center" />
+        <el-table-column prop="sj8" label="2020-02-08" align="center" />
+        <el-table-column prop="sj9" label="2020-02-09" align="center" />
+        <el-table-column prop="sj10" label="2020-02-10" align="center" />
+      </el-table-column>
+    </el-table>
+  </div>
+
   <el-dialog custom-class="modal" title="收货地址" v-model="dialogTableVisible">
-    <el-tree :data="elTreeData.data" :props="elTreeData.defaultProps" @node-click="handleNodeClick"></el-tree>
+    <el-tree
+      :data="elTreeData.data"
+      :props="elTreeData.defaultProps"
+      @node-click="handleNodeClick"
+    ></el-tree>
   </el-dialog>
 </template>
 
@@ -383,7 +489,6 @@ export default {
   },
   methods: {
     select(data) {
-      // console.log(data);
       this.currTab = parseInt(data.id);
     },
     btnGroupDoubleSelect(param) {
@@ -420,7 +525,9 @@ export default {
       ];
       let index = 0;
       for (let i = param.start; i < param.end; i++) {
-        this.tableData.data.push(JSON.parse(JSON.stringify(this.tableData.data[0])));
+        this.tableData.data.push(
+          JSON.parse(JSON.stringify(this.tableData.data[0]))
+        );
         this.tableData.data[index].index = i + 1;
         index++;
       }
@@ -435,6 +542,127 @@ export default {
     tableAction(param) {
       console.log(param);
     },
+    createMergeTable(createSum = false) {
+      let tableMergeData = [];
+
+      let tableNum = this.BASE.randomNum(30, 50);
+
+      const sd = [{ title: "上午" }, { title: "中午" }, { title: "下午" }];
+
+      let hjFlg = false;
+      let cellSumIdx = 0;
+      for (let i = 0; i < tableNum; i++) {
+        const sdNum = this.BASE.randomNum(0, 3);
+        hjFlg = sdNum > 0 ? true : false;
+        const fpName = this.BASE.randomNum(0, 1)
+          ? `风电场 - (${this.BASE.randomNum(1000, 99999)})`
+          : `光伏电站 - (${this.BASE.randomNum(1000, 99999)})`;
+        for (let j = 0; j < sdNum; j++) {
+          tableMergeData.push({
+            fpName,
+            sd: sd[j].title,
+            sj1: this.BASE.randomNum(1, 9999),
+            sj2: this.BASE.randomNum(1, 9999),
+            sj3: this.BASE.randomNum(1, 9999),
+            sj4: this.BASE.randomNum(1, 9999),
+            sj5: this.BASE.randomNum(1, 9999),
+            sj6: this.BASE.randomNum(1, 9999),
+            sj7: this.BASE.randomNum(1, 9999),
+            sj8: this.BASE.randomNum(1, 9999),
+            sj9: this.BASE.randomNum(1, 9999),
+            sj10: this.BASE.randomNum(1, 9999),
+            cellArray: j ? [j, 0] : [sdNum + (createSum ? 1 : 0), 1],
+            cellIndex: j,
+            cellSumIdx,
+          });
+        }
+        if (hjFlg && createSum) {
+          let sj1 = 0;
+          let sj2 = 0;
+          let sj3 = 0;
+          let sj4 = 0;
+          let sj5 = 0;
+          let sj6 = 0;
+          let sj7 = 0;
+          let sj8 = 0;
+          let sj9 = 0;
+          let sj10 = 0;
+          tableMergeData.forEach((ele) => {
+            if (cellSumIdx === ele.cellSumIdx) {
+              sj1 += ele.sj1;
+              sj2 += ele.sj2;
+              sj3 += ele.sj3;
+              sj4 += ele.sj4;
+              sj5 += ele.sj5;
+              sj6 += ele.sj6;
+              sj7 += ele.sj7;
+              sj8 += ele.sj8;
+              sj9 += ele.sj9;
+              sj10 += ele.sj10;
+            }
+          });
+          tableMergeData.push({
+            fpName,
+            sd: "合计",
+            sj1,
+            sj2,
+            sj3,
+            sj4,
+            sj5,
+            sj6,
+            sj7,
+            sj8,
+            sj9,
+            sj10,
+            cellArray: [0, 0],
+            cellIndex: -1,
+          });
+        }
+        cellSumIdx++;
+      }
+      this.tableMergeData = tableMergeData;
+    },
+    tableMergeArraySpanMethod(row) {
+      if (!row.columnIndex) {
+        if (row.row.cellArray[0]) {
+          return row.row.cellArray;
+        } else if (
+          row.row.cellArray[0] &&
+          row.rowIndex & (row.row.cellArray[0] === row.row.cellIndex)
+        ) {
+          return [0, 0];
+        } else if (row.row.cellIndex === -1) {
+          return [0, 0];
+        }
+      }
+    },
+    tableMergeDataSumMethod() {
+      let sj1 = 0;
+      let sj2 = 0;
+      let sj3 = 0;
+      let sj4 = 0;
+      let sj5 = 0;
+      let sj6 = 0;
+      let sj7 = 0;
+      let sj8 = 0;
+      let sj9 = 0;
+      let sj10 = 0;
+      this.tableMergeData.forEach((ele) => {
+        if (ele.cellIndex !== -1) {
+          sj1 += ele.sj1;
+          sj2 += ele.sj2;
+          sj3 += ele.sj3;
+          sj4 += ele.sj4;
+          sj5 += ele.sj5;
+          sj6 += ele.sj6;
+          sj7 += ele.sj7;
+          sj8 += ele.sj8;
+          sj9 += ele.sj9;
+          sj10 += ele.sj10;
+        }
+      });
+      return ["总计", "", sj1, sj2, sj3, sj4, sj5, sj6, sj7, sj8, sj9, sj10];
+    },
   },
   data() {
     return {
@@ -460,6 +688,10 @@ export default {
           id: "5",
           text: "element 组件",
         },
+        {
+          id: "6",
+          text: "表格合并",
+        },
       ],
       tableData: {
         column: [
@@ -475,7 +707,7 @@ export default {
             field: "name",
             is_num: false,
             is_light: false,
-            click: function(event, data) {
+            click: function (event, data) {
               console.log(event);
               console.log(data);
             },
@@ -576,7 +808,7 @@ export default {
             name: "名称",
             field: "name",
             width: 200,
-            click: function(event, data) {
+            click: function (event, data) {
               console.log(event);
               console.log(data);
             },
@@ -668,7 +900,17 @@ export default {
       },
       // 柱状图:horizontal-bar-chart data
       HorizontalBarChart: {
-        area: ["新荣区", "平城区", "云冈区", "云州区", "阳高县", "天镇县", "广灵县", "浑源县", "左云县"],
+        area: [
+          "新荣区",
+          "平城区",
+          "云冈区",
+          "云州区",
+          "阳高县",
+          "天镇县",
+          "广灵县",
+          "浑源县",
+          "左云县",
+        ],
         legend: ["因病", "因残", "因学", "因灾", "缺土地", "缺水"],
         data: [
           [1320, 1302, 901, 634, 1390, 1330, 1320, 1000, 500],
@@ -1359,8 +1601,15 @@ export default {
           yTitle: "功率",
           legends: [],
           data: [
-            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25],
-            [0, 0, 0, 93.67, 98.38, 165, 295.84, 471.84, 648.28, 871.72, 1124.84, 1296.42, 1448.63, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548],
+            [
+              0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+              19, 20, 21, 22, 23, 24, 25,
+            ],
+            [
+              0, 0, 0, 93.67, 98.38, 165, 295.84, 471.84, 648.28, 871.72,
+              1124.84, 1296.42, 1448.63, 1548, 1548, 1548, 1548, 1548, 1548,
+              1548, 1548, 1548, 1548, 1548, 1548, 1548,
+            ],
           ],
         },
       },
@@ -2593,17 +2842,25 @@ export default {
           address: "上海市普陀区金沙江路 1516 弄",
         },
       ],
+      tableMergeData: [],
+      createSum: false,
+      tableMergeStyleShow:true,
     };
   },
   created() {
     for (let i = 1; i < 21; i++) {
-      this.tableData.data.push(JSON.parse(JSON.stringify(this.tableData.data[0])));
+      this.tableData.data.push(
+        JSON.parse(JSON.stringify(this.tableData.data[0]))
+      );
       this.tableData.data[i].index = i + 1;
 
-      this.tableData2.data.push(JSON.parse(JSON.stringify(this.tableData.data[0])));
+      this.tableData2.data.push(
+        JSON.parse(JSON.stringify(this.tableData.data[0]))
+      );
       this.tableData2.data[i].index = i + 1;
       this.tableData2.data[i].yyy = i * 0.01 * Math.random();
     }
+    this.createMergeTable(this.createSum);
   },
   mounted() {},
 };

+ 38 - 7
src/views/HealthControl/HealthTab1.vue

@@ -33,9 +33,27 @@
         :showLine="false"
       >
         <div class="actions mg-b-16">
-          <button class="btn" :class="{ active: recommenIndex == 1 }" @click="onClickRecommon(1)">当日内推荐</button>
-          <button class="btn" :class="{ active: recommenIndex == 2 }" @click="onClickRecommon(2)">三日内推荐</button>
-          <button class="btn" :class="{ active: recommenIndex == 3 }" @click="onClickRecommon(3)">超三日推荐</button>
+          <button
+            class="btn"
+            :class="{ active: recommenIndex == 1 }"
+            @click="onClickRecommon(1)"
+          >
+            当日内推荐
+          </button>
+          <button
+            class="btn"
+            :class="{ active: recommenIndex == 2 }"
+            @click="onClickRecommon(2)"
+          >
+            三日内推荐
+          </button>
+          <button
+            class="btn"
+            :class="{ active: recommenIndex == 3 }"
+            @click="onClickRecommon(3)"
+          >
+            超三日推荐
+          </button>
           <div style="margin-left: 450px">
             <button class="btn" @click="onClickCofirmAll()">全部确认</button>
             <button class="btn" @click="onClickIgnoreAll()">全部忽略</button>
@@ -44,7 +62,7 @@
         <div class="report-items scroll">
           <div class="item" v-for="(item, index) in recommenList" :key="index">
             <div class="title">
-              <div>风机编号:{{ item.wtid }}</div>
+              <div @click="jumpUrl(item)">风机编号:{{ item.wtid }}</div>
               <span @click="onClickReport(item)">健康报告</span>
             </div>
             <div class="info">
@@ -75,7 +93,12 @@
         </div>
       </panel>
     </div>
-    <health-report :show="reportshow" :params="reportparams" @closed="closed" ref="eport"/>
+    <health-report
+      :show="reportshow"
+      :params="reportparams"
+      @closed="closed"
+      ref="eport"
+    />
   </div>
 </template>
 
@@ -112,6 +135,12 @@ export default {
     this.requestRecommen("recommen/getRecommenmainDay1");
   },
   methods: {
+    // 页面跳转
+    jumpUrl(item) {
+      const wpid = item.wpid;
+      const wtid = item.wtid;
+      this.$router.push(`/health/health0/${wpid}/${wtid}`)
+    },
     // 未确认缺陷按钮下的健康趋势选项
     onClickInfo(item) {
       this.infoList.forEach((element) => {
@@ -146,13 +175,13 @@ export default {
     },
     // 查看健康报告
     onClickReport(item) {
-		let recorddate = new Date(item.createdate).formatDate("yyyy-MM-dd");
+      let recorddate = new Date(item.createdate).formatDate("yyyy-MM-dd");
       this.reportshow = true;
       this.reportparams = {
         wtId: item.wtid,
         recorddate: recorddate,
       };
-	  this.$refs.eport.getReport(item.wtid,recorddate);
+      this.$refs.eport.getReport(item.wtid, recorddate);
     },
     // 关闭健康报告
     closed() {
@@ -413,6 +442,8 @@ export default {
           display: flex;
           flex-direction: row;
           justify-content: space-between;
+          cursor: pointer;
+
           span {
             cursor: pointer;
           }

+ 12 - 8
src/views/Home/Home.vue

@@ -1022,7 +1022,7 @@ export default {
                 this.wpId === "-2" || this.wpId.indexOf("GDC") !== -1
                   ? "日照强度"
                   : "风速",
-
+              value: res.data.jczbmap.ssfs,
               dialogTitle:
                 this.wpId == 0
                   ? "详情"
@@ -1032,7 +1032,10 @@ export default {
               subUrl: "genreset/findGLDetail",
               targetName: "ssfs",
               dialogType: "powerLineChart",
-              max: 30,
+              max:
+                this.wpId === "-2" || this.wpId.indexOf("GDC") !== -1
+                  ? 1200
+                  : 40,
             },
             {
               title: "保证功率",
@@ -1321,12 +1324,14 @@ export default {
           ];
 
           rdlKey.forEach((keyEle, keyIndex) => {
-            res.data.rdlvos.forEach((cEle) => {
-              DayPower.value[keyIndex].value.push({
-                text: cEle.timestr,
-                value: cEle[keyEle],
+              // console.log(7777777777,keyEle,keyIndex);
+              // console.log(res);
+              res.data.rdlvos.forEach((cEle) => {
+                DayPower.value[keyIndex].value.push({
+                  text: cEle.timestr,
+                  value: cEle[keyEle],
+                });
               });
-            });
           });
 
           glKey.forEach((keyEle, keyIndex) => {
@@ -1675,7 +1680,6 @@ export default {
           },
         ];
       }
-
       this.dialogShow = true;
     },
 

+ 10 - 1
src/views/Home/components/map.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="map">
-    <div class="back"></div>
+    <div :class="$store.state.themeName === 'light'?'light':'back'"></div>
     <div class="security-days">
       <div class="text">安全天数:</div>
       <div class="num">
@@ -296,6 +296,15 @@ export default {
   width: 100%;
   height: 100%;
 
+  .light{
+    position: fixed;
+    z-index: -1;
+    width: 100vw;
+    height: 100vh;
+    top: 0;
+    left: 0;
+  }
+
   .back {
     position: fixed;
     z-index: -1;

+ 0 - 1
src/views/Knowledge/knowinfo.vue

@@ -44,7 +44,6 @@ export default {
   watch: {
     data(value) {
       this.infoObj = value;
-      console.log(value);
     },
   },
 };

+ 121 - 173
src/views/MalfunctionWarning/components/detectionRecord.vue

@@ -1,178 +1,126 @@
 <template>
-  <el-dialog
-    width="50%"
-    top="10vh"
-    custom-class="modal"
-    title="检测记录"
-    :close-on-click-modal="false"
-    @opened="opened()"
-  >
-    <div style="height: 70vh; overflow-y: auto">
-      <div class="titleBar">
-        <div class="titleName">测试级</div>
-      </div>
-      <el-table
-        ref="multipleTable"
-        empty-text="暂无数据"
-        :data="allData"
-        :header-cell-style="{
-          height: '40px',
-          background: 'rgba(83, 98, 104, 0.2)',
-          color: '#b2bdc0',
-          'border-bottom': '0px solid red',
-        }"
-        :cell-style="{
-          height: '40px',
-          'border-bottom': 'solid 0px #242424',
-        }"
-        stripe
-        style="width: 100%; margin-bottom: 10px"
-      >
-        <el-table-column
-          prop="starttime"
-          label="故障时间"
-          width="160"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          prop="stationen"
-          label="风场"
-          width="80"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          prop="stationcn"
-          label="场站名称"
-          width="120"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          prop="windturbineid"
-          label="风机编号"
-          width="100"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          prop="model"
-          label="风机型号"
-          width="80"
-          align="center"
-        ></el-table-column>
-        <el-table-column width="200" label="故障标签">
-          <template #default="scope">
-            <span>
-              <el-select
-                v-model="scope.row.faultcode"
-                @change="selectChange(scope.row)"
-                clearable
-                placeholder="请选择"
-                popper-class="select"
-                style="width: 130px; margin-left: 30px"
-              >
-                <el-option
-                  v-for="item in faultLists"
-                  :key="item.faultcode"
-                  :label="item.faulttype"
-                  :value="item.faultcode"
-                >
-                </el-option>
-              </el-select>
-            </span>
-          </template>
-        </el-table-column>
-        <el-table-column width="120" label="操作">
-          <button class="btn" @click="getReports()">查看检测报告</button>
-        </el-table-column>
-      </el-table>
-    </div>
-    <TestReport v-model="reportDisplay"></TestReport>
-  </el-dialog>
+	<el-dialog width="50%" top="10vh" custom-class="modal" title="检测记录" :close-on-click-modal="false"
+		@opened="opened()">
+		<div style="height: 70vh; overflow-y: auto">
+			<div class="titleBar">
+				<div class="titleName">测试级</div>
+			</div>
+			<el-table ref="multipleTable" empty-text="暂无数据" :data="allData" :header-cell-style="{ height: '40px', background: 'rgba(83, 98, 104, 0.2)', color: '#b2bdc0', 'border-bottom': '0px solid red', }" :cell-style="{ height: '40px', 'border-bottom': 'solid 0px #242424', }" stripe style="width: 100%; margin-bottom: 10px">
+				<el-table-column prop="starttime" label="故障时间" width="160" align="center"></el-table-column>
+				<el-table-column prop="stationen" label="风场" width="80" align="center"></el-table-column>
+				<el-table-column prop="stationcn" label="场站名称" width="120" align="center"></el-table-column>
+				<el-table-column prop="windturbineid" label="风机编号" width="100" align="center"></el-table-column>
+				<el-table-column prop="model" label="风机型号" width="80" align="center"></el-table-column>
+				<el-table-column width="200" label="故障标签">
+					<template #default="scope">
+						<span>
+							<el-select v-model="scope.row.faultcode" @change="selectChange(scope.row)" clearable
+								placeholder="请选择" popper-class="select" style="width: 130px; margin-left: 30px">
+								<el-option v-for="item in faultLists" :key="item.faultcode" :label="item.faulttype"
+									:value="item.faultcode">
+								</el-option>
+							</el-select>
+						</span>
+					</template>
+				</el-table-column>
+				<el-table-column width="120" label="操作">
+					<template #default="btn">
+						<button class="btn" @click="getReports(btn.row.faultid)">查看检测报告</button>
+					</template>
+				</el-table-column>
+			</el-table>
+		</div>
+		<TestReport v-model="reportDisplay" :faultid='faultid' 
+	  ></TestReport>
+	</el-dialog>
 </template>
 <script>
-import TestReport from "./testReport.vue";
-import axios from "axios";
-export default {
-  components: {
-    TestReport,
-  },
-  props: {},
-  data() {
-    return {
-      faultLists: [],
-      allData: [],
-      reportDisplay: false,
-    };
-  },
-  created() {
-    this.getfaultLables();
-  },
-  methods: {
-    opened() {
-      this.getData();
-    },
-    getData() {
-      let that = this;
-      this.API.requestData({
-        method: "GET",
-        subUrl: "http://192.168.1.18:9002/case/fault/list",
-        data: {
-          //   station: this.selectValue,
-          //   model: this.selectMoudle,
-          st: new Date(new Date().getTime() - 86400000).formatDate(
-            "yyyy-MM-dd hh:mm:ss"
-          ),
-          et: new Date().formatDate("yyyy-MM-dd hh:mm:ss"),
-        },
-        success(res) {
-          if (res) {
-            that.allData = res.data;
-          }
-        },
-      });
-    },
-    getfaultLables() {
-      let that = this;
-      this.API.requestData({
-        method: "GET",
-        subUrl: "http://192.168.1.18:9002/know/fault/type/all",
-        success(res) {
-          if (res) {
-            that.faultLists = res.data;
-          }
-        },
-      });
-    },
-
-    selectChange(data) {
-      let params = [];
-      (data.faulttype = this.faultLists.filter(
-        (item) => item.faultcode === data.faultcode
-      )[0]?.faulttype),
-        params.push(data);
-      axios({
-        method: "post",
-        url: "http://192.168.10.19:9002/case/fault/insert",
-        data: params,
-        header: {
-          "Content-Type": "application/json",
-        },
-      }).then((res) => {
-        if (res.data.code !== 200) {
-          this.BASE.showMsg({
-            type: "error",
-            msg: "标签修改失败",
-          });
-        }
-      });
-    },
-    getReports() {
-      this.reportDisplay = true;
-    },
-  },
-};
+	import TestReport from "./testReport.vue";
+	import axios from "axios";
+	export default {
+		components: {
+			TestReport,
+		},
+		props: {
+			myData: {},
+		},
+		data() {
+			return {
+				faultLists: [],
+				allData: [],
+				reportDisplay: false,
+				faultid:''
+			};
+		},
+		created() {
+			this.getfaultLables();
+		},
+		methods: {
+			opened() {
+				this.getData();
+			},
+			getData() {
+				let that = this;
+				that.API.requestData({
+					method: "GET",
+					subUrl: "http://192.168.1.18:9002/case/fault/list",
+					data: {
+						station: that.myData.station,
+						model: that.myData.model,
+						st: that.myData.st,
+						et: that.myData.et,
+						category: 3
+					},
+					success(res) {
+						if (res) {
+							that.allData = res.data;
+						}
+					},
+				});
+			},
+			getfaultLables() {
+				let that = this;
+				this.API.requestData({
+					method: "GET",
+					subUrl: "http://192.168.1.18:9002/know/fault/type/all",
+					success(res) {
+						if (res) {
+							that.faultLists = res.data;
+						}
+					},
+				});
+			},
+			selectChange(data) {
+				let params = [];
+				(data.faulttype = this.faultLists.filter(
+					(item) => item.faultcode === data.faultcode
+				)[0]?.faulttype),
+				params.push(data);
+				axios({
+					method: "post",
+					url: "http://192.168.10.19:9002/case/fault/insert",
+					data: params,
+					header: {
+						"Content-Type": "application/json",
+					},
+				}).then((res) => {
+					if (res.data.code !== 200) {
+						this.BASE.showMsg({
+							type: "error",
+							msg: "标签修改失败",
+						});
+					}
+				});
+			},
+			getReports(id) {
+				this.faultid = id;
+				this.reportDisplay = true;
+			},
+		},
+	};
 </script>
 <style lang="less" scoped>
-.btn {
-  width: 106px !important;
-}
-</style>
+	.btn {
+		width: 106px !important;
+	}
+</style>

+ 13 - 5
src/views/MalfunctionWarning/components/lineChart.vue

@@ -1,10 +1,18 @@
 <template>
-  <div class="precisionEcharts" :id="id"></div>
+  <div class="precisionEcharts" :id="id" :style="{width:width,height:height}"></div>
 </template>
 <script>
 import * as echarts from "echarts";
 export default {
   props: {
+	  width: {
+	    type: String,
+	    default: "600px",
+	  },
+	  height: {
+	    type: String,
+	    default: "250px",
+	  },
     dataList: {
       type: String,
       required: true,
@@ -92,8 +100,8 @@ export default {
 };
 </script>
 <style lang="less" scoped>
-.precisionEcharts {
-  width: 600px;
-  height: 250px;
-}
+// .precisionEcharts {
+//   width: 600px;
+//   height: 250px;
+// }
 </style>

+ 8 - 8
src/views/MalfunctionWarning/components/records.vue

@@ -92,7 +92,7 @@
   </el-dialog>
 </template>
 <script>
-import BarChart from ".//barChart.vue";
+import BarChart from "./barChart.vue";
 import LineChart from "./lineChart.vue";
 import ChartDetails from "./chartDetails.vue";
 import * as echarts from "echarts";
@@ -246,14 +246,14 @@ export default {
       let that = this;
       this.API.requestData({
         method: "GET",
-        baseURL: "http://192.168.10.18:8080/",
+        baseURL: "http://10.155.32.14:9090/",
         subUrl: "api/coordinate/history",
         success(res) {
           if (res.length > 0) {
             res.forEach((item) => {
               let arr = item.name.split("-");
               item.coordinate = JSON.parse(item.coordinate);
-              item.showName = arr[0];
+              item.showName = arr[0]+' - '+arr[1]+' - '+arr[2];
               item.showTime = new Date(Number(arr[1])).formatDate(
                 "yyyy-MM-dd hh:mm:ss"
               );
@@ -268,25 +268,25 @@ export default {
       let that = this;
       this.API.requestData({
         method: "GET",
-        baseURL: "http://192.168.10.18:8080/",
+        baseURL: "http://10.155.32.14:9090/",
         subUrl: "api/supervised/history",
         success(res) {
           if (res) {
             res.forEach((item) => {
               let arr = item.name.split("-");
               item.coordinate = JSON.parse(item.coordinate);
-              item.showName = arr[2];
+              item.showName = arr[0]+' - '+arr[1]+' - '+arr[2];
               item.showTime = new Date(Number(arr[3])).formatDate(
                 "yyyy-MM-dd hh:mm:ss"
               );
               item.coordinate.bar = JSON.parse(item.coordinate.bar);
             });
             that.accuracyList.accuracy = res[that.current]?.coordinate.accuracy;
-            that.accuracyList.val_accuracy =
-              res[that.current]?.coordinate.val_accuracy;
+            that.accuracyList.val_accuracy = res[that.current]?.coordinate.val_accuracy;
             res[that.current]?.coordinate.bar?.sort(that.Compare("value"));
             that.barList = res[that.current]?.coordinate.bar?.slice(0, 5);
             that.recordList = res;
+			console.log(res)
           }
         },
       });
@@ -365,7 +365,7 @@ export default {
       let that = this;
       this.API.requestData({
         method: "GET",
-        baseURL: "http://192.168.10.18:8080/",
+        baseURL: "http://10.155.32.14:9090/",
         subUrl: "api/coordinate/history/remove/",
         data: {
           names: val,

+ 1 - 0
src/views/MalfunctionWarning/components/superviseDataClassify.vue

@@ -362,6 +362,7 @@ export default {
       axios({
         method: "post",
         url: "http://10.155.32.14:9090/api/supervised/execute",
+		// url: "http://192.168.10.16:8080/api/supervised/execute",
         data: params,
         header: {
           "Content-Type": "application/json",

File diff suppressed because it is too large
+ 291 - 266
src/views/MalfunctionWarning/components/testReport.vue


+ 441 - 0
src/views/MalfunctionWarning/diagnose.vue

@@ -0,0 +1,441 @@
+<template>
+	<div>
+		<div class="query mg-b-8">
+			<div class="query-items">
+				<div class="query-item">
+					<div class="lable">场站:</div>
+					<div class="search-input">
+						<el-select v-model="station" placeholder="请选择" popper-class="select" @change="stationChange">
+							<el-option v-for="item in stations" :key="item.id" :value="item.id" :label="item.name">
+							</el-option>
+						</el-select>
+					</div>
+				</div>
+				<div class="query-item">
+					<div class="lable">日期:</div>
+					<div class="search-input">
+						<el-date-picker v-model="date" type="datetimerange" range-separator="至" start-placeholder="开始日期"
+							end-placeholder="结束日期">
+						</el-date-picker>
+					</div>
+				</div>
+				<div class="query-item">
+					<div class="lable">风机:</div>
+					<div class="search-input">
+						<el-select v-model="fj" collapse-tags placeholder="请选择" popper-class="select">
+							<el-option v-for="item in fjArr" :key="item.id" :value="item.id" :label="item.name">
+							</el-option>
+						</el-select>
+					</div>
+				</div>
+				<div class="query-item">
+					<div class="lable">风机型号:</div>
+					<div class="lable">
+						{{modelid}}
+					</div>
+				</div>
+				<div class="query-actions">
+					<button class="btn green" @click="query(false)">查询</button>
+					<button class="btn green" @click="reset">实时更新</button>
+				</div>
+			</div>
+		</div>
+		<el-row type="flex">
+			<el-col :span="12">
+				<el-row type="flex">
+					<el-col :span="12">
+						<panel title="残差 【模型记录】" :showLine="false">
+							<div class="timeLine">
+								<div class="body" v-for="(item, index) in ccS" :key="index">
+									<div class="left">
+										<div class="round_on"></div>
+										<div class="line"></div>
+									</div>
+									<div class="right">
+										<div>{{ item.time }}</div>
+										<div class="content">
+											<div class="names">
+												{{ item.faultIds }}
+											</div>
+											<button class="btn" @click="deleteDate(item.name)">
+												删除
+											</button>
+										</div>
+									</div>
+								</div>
+							</div>
+						</panel>
+					</el-col>
+					<el-col :span="12">
+						<panel title="油温 【模型记录】" :showLine="false">
+							<div class="timeLine">
+								<div class="body" v-for="(item, index) in ywS" :key="index">
+									<div class="left">
+										<div class="round_on"></div>
+										<div class="line"></div>
+									</div>
+									<div class="right">
+										<div>{{ item.time }}</div>
+										<div class="content">
+											<div class="names">
+												{{ item.faultIds }}
+											</div>
+											<button class="btn" @click="deleteDate(item.name)">
+												删除
+											</button>
+										</div>
+									</div>
+								</div>
+							</div>
+						</panel>
+					</el-col>
+				</el-row>
+			</el-col>
+			<el-col :span="12">
+				<panel title="残差 【预测记录】" :showLine="false">
+					<double-line-chart height="25vh" :list='ccChart' />
+					<double-line-chart height="20vh" :list='ccLineChart' />
+					<div class="green text">
+						依据当前的模型,{{forekonw?'油温误差大于0.1,预计在'+forekonw+',齿轮箱会发生油温异常':'没有油温误差大于0.1的齿轮箱油温异常'}}。
+					</div>
+				</panel>
+				<panel title="油温 【预测记录】" :showLine="false">
+					<double-line-chart height="25vh" :list='ywChart' />
+					<div class="green text">
+						预计未来10分钟的油温走势,当前时间为{{new Date(endTs).formatDate("yyyy-MM-dd hh:mm")}},当前油温: {{ywChartHtml[0]}}
+						℃,未来10分钟油温:{{ywChartHtml[1]}} ℃ 。
+					</div>
+				</panel>
+			</el-col>
+		</el-row>
+	</div>
+</template>
+<script>
+	import Panel from "@/components/coms/panel/panel.vue";
+	import DoubleLineChart from "@/components/chart/line/double-line-chart.vue";
+	import axios from "axios";
+	export default {
+		components: {
+			Panel,
+			DoubleLineChart
+		},
+		data() {
+			return {
+				stations: [],
+				station: '',
+				model: [],
+				fjArr: [], //风机
+				fj: '',
+				ywChart: [{
+					title: "实时油温",
+					smooth: true,
+					value: []
+				}, {
+					title: "未来10分钟油温",
+					smooth: true,
+					value: []
+				}],
+				ywChartHtml: [],
+				ccChart: [{
+					title: "实时油温",
+					smooth: true,
+					value: []
+				}, {
+					title: "理论油温",
+					smooth: true,
+					value: []
+				}],
+				ccLineChart:[{
+					title: "油温残差",
+					smooth: true,
+					value: []
+				}],
+				startTs: '',
+				endTs: '',
+				date: [],
+				uniformCodes: ['CI0671', 'AI041','YWCH','LLYW'],
+				interval: null,
+				flag: 1,
+				ccS: [],
+				ywS: [],
+				modelid:'',
+				forekonw:0
+			};
+		},
+		created() {
+			this.resetDate();
+			this.startAjax();
+		},
+		methods: {
+			resetDate(){//重置时间
+				let end = new Date().valueOf();
+				this.startTs = new Date(new Date().getTime() - (3600 * 1000 * 2)).valueOf();
+				this.endTs = end;
+				this.date = [this.startTs, this.endTs];
+			},
+			async history(thingId, uniformCode) { //油温chart历史
+				let that = this;
+				let items = [];
+				const {
+					data
+				} = await axios.get(
+					`http://192.168.10.18:8011/ts/history/snap?thingType=windturbine&uniformCode=${uniformCode}&thingId=${thingId}&startTs=${that.startTs}&endTs=${that.endTs}&interval=60`
+					);
+				data.forEach(ele => {
+					items.push({
+						text: new Date(ele.ts).formatDate("yyyy-MM-dd hh:mm"),
+						value: ele.value.toFixed(2)
+					})
+				})
+				if (uniformCode === 'AI041') {
+					that.ywChart[0].value = items;
+					that.ccChart[0].value = items;
+				}
+				if (uniformCode === 'CI0671') {
+					that.ywChart[1].value = items;
+				}
+				if (uniformCode === 'YWCH') {
+					that.ccLineChart[0].value = items;
+					if(items.pop().value >= 0.1){
+						that.forekonw = item.value;
+					}
+				}
+				if (uniformCode === 'LLYW') {
+					that.ccChart[1].value = items;
+				}
+			},
+			async list(thingId) { //一分钟一次
+				let that = this;
+				const {
+					data
+				} = await axios.get(
+					`http://192.168.10.18:8011/ts/latest?thingType=windturbine&uniformCodes=YWCH,CI0671,LLYW,AI041&thingId=${thingId}`
+					);
+				let AI041 = {
+					text: new Date(data.AI041.ts).formatDate("yyyy-MM-dd hh:mm"),
+					value: data.AI041.value.toFixed(2)
+				}
+				that.ywChart[0].value.push(AI041)
+				that.ywChart[1].value.push({
+					text: new Date(data.CI0671.ts).formatDate("yyyy-MM-dd hh:mm"),
+					value: data.CI0671.value.toFixed(2)
+				})
+				that.ywChartHtml = [data.AI041.value.toFixed(2), data.CI0671.value.toFixed(2)];
+				that.ccChart[0].value.push(AI041);
+			},
+			async startAjax() { //场站
+				var that = this;
+				await that.API.requestData({
+					method: "GET",
+					baseURL: "http://192.168.1.18:9002/",
+					subUrl: "basic/station/all",
+					success(res) {
+						that.stations = res.data;
+						that.station = res.data[1].id;
+					},
+				});
+			},
+			query(a) {
+				this.ywYc(a);
+				this.mxjl();
+			},
+			reset(){
+				this.resetDate();
+				this.query(true);//传个true,重置,开启每秒执行,else停
+			},
+			ywYc(a) { //油温预测记录
+				this.ccChart[0].value = [];
+				this.ccChart[1].value = [];
+				this.ccLineChart[0].value = [];
+				
+				this.ywChart[0].value = [];
+				this.ywChart[1].value = [];
+				this.stopInterval();
+				this.uniformCodes.forEach(ele => {
+					this.history(this.fj, ele);
+				})
+				this.list(this.fj);
+				if(a){//实时更新
+					this.interval = setInterval(() => {
+						this.uniformCodes.forEach(ele => {
+							this.history(this.fj, ele);
+						})
+						this.list(this.fj)
+					}, 60000);
+				}
+			},
+			mxjl() { //模型记录
+				let that = this;
+				that.API.requestData({ //风机
+					method: "GET",
+					baseURL: "http://10.155.32.14:9090/",
+					subUrl: "api/gearbox-diagnosis/history",
+					success(res) {
+						let cc = [],
+							yw = [];
+						res.forEach(ele => {
+							let data = {
+								name: ele.name,
+								time: ele.name.split('_')[1],
+								faultIds: ele.faultIds ? ele.faultIds : '暂无数据'
+							};
+							ele.name.split('_')[0] === '残差' ? cc.push(data) : yw.push(data);
+						})
+						that.ccS = cc;
+						that.ywS = yw;
+					},
+				});
+			},
+			deleteDate(val) {
+				let that = this;
+				that.API.requestData({
+					method: "GET",
+					baseURL: "http://10.155.32.14:9090/",
+					subUrl: "api/gearbox-diagnosis/history/remove",
+					data: {
+						names: val,
+					},
+					success(res) {
+						if (res == 'success') {
+							that.mxjl();
+							that.BASE.showMsg({
+								type: "success",
+								msg: '已删除'
+							});
+						}
+					},
+				});
+			},
+			stopInterval(){
+				clearInterval(this.interval);
+				this.interval = null;
+			}
+		},
+		unmounted() {
+			this.stopInterval();
+		},
+		watch: {
+			// YWCH 油温残差
+			// LLYW 理论油温
+			// CI0671 未来10分钟油温
+			// AI041 实时油温
+			station(e) {
+				let that = this;
+				that.API.requestData({ //风机
+					method: "GET",
+					baseURL: "http://10.155.32.4:9001/",
+					subUrl: "benchmarking/wtList",
+					data: {
+						wpid: e,
+					},
+					success(res) {
+						that.fjArr = res.data;
+						that.fj = res.data[0].id;
+						if (that.flag === 1) {
+							that.query(true);
+						}
+						that.flag = 2;
+					},
+				});
+			},
+			date(e) {
+				this.startTs = e[0].valueOf();
+				this.endTs = e[1].valueOf();
+			},
+			fj(e){
+				let that = this;
+				that.API.requestData({ //风机型号
+					method: "GET",
+					subUrl: "windturbine/getWindturbine",
+					data: {
+						windturbineid: e,
+					},
+					success(res) {
+						that.modelid = res.data.modelid;
+					}
+				});
+			}
+		}
+	};
+</script>
+<style lang="less" scoped>
+	.body {
+		display: flex;
+		flex-direction: row;
+		height: 75px;
+		width: 100%;
+
+		.left {
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+			width: 30px;
+			margin-left: 30px;
+
+			.round_on {
+				width: 20px;
+				height: 27px;
+				border-radius: 50%;
+				background-color: rgb(30, 209, 45);
+			}
+
+			.round {
+				width: 20px;
+				height: 27px;
+				border-radius: 50%;
+				background-color: crimson;
+			}
+
+			.line {
+				width: 2px;
+				height: 100%;
+				background-color: #ffffff;
+			}
+		}
+
+		.right {
+			width: 100%;
+			margin-left: 20px;
+
+			.content {
+				display: flex;
+				flex-direction: row;
+				justify-content: space-between;
+				align-items: center;
+				margin-top: 10px;
+
+				.btn {
+					margin-right: 20px;
+				}
+			}
+		}
+	}
+
+	.timeLine {
+		height: 80vh;
+		overflow-y: auto;
+		margin-top: 30px;
+	}
+
+	.text {
+		font-size: 2vh;
+		margin: 1vh 0;
+	}
+</style>
+<style lang="less">
+	.el-date-editor--daterange {
+		border: 1px solid rgba(96, 103, 105, 0.2);
+		height: 33px;
+		width: 100% !important;
+
+		input {
+			background-color: transparent;
+			color: white;
+		}
+
+		.el-range-separator {
+			color: white;
+		}
+	}
+</style>

File diff suppressed because it is too large
+ 555 - 598
src/views/MalfunctionWarning/supervised.vue


+ 176 - 271
src/views/NewPages/dj1.vue

@@ -127,13 +127,43 @@
       </panel>
       <div class="table-info">
         <panel class="table-panel" :title="'当日报警记录'" :showLine="false">
-          <Table :data="warnTableData" :canScroll="true" :height="'32.5vh'" />
+          <Table :data="warnTableData" :canScroll="true" :height="'30.5vh'" />
+          <div class="page-box">
+            <el-pagination
+              v-show="BjjllistTotal != 0"
+              small
+              layout="prev, pager, next"
+              :total="BjjllistTotal"
+              @current-change="pageChangeB"
+            >
+            </el-pagination>
+          </div>
         </panel>
         <panel class="table-panel" :title="'当日故障记录'" :showLine="false">
-          <Table :data="stopTableData" :canScroll="true" :height="'32.5vh'" />
+          <Table :data="stopTableData" :canScroll="true" :height="'30.5vh'" />
+          <div class="page-box">
+            <el-pagination
+              v-show="GzjllistTotal != 0"
+              small
+              layout="prev, pager, next"
+              :total="GzjllistTotal"
+              @current-change="pageChangeG"
+            >
+            </el-pagination>
+          </div>
         </panel>
         <panel class="table-panel" :title="'当日限电记录'" :showLine="false">
-          <Table :data="xdTableData" :canScroll="true" :height="'32.5vh'" />
+          <Table :data="xdTableData" :canScroll="true" :height="'30.5vh'" />
+          <div class="page-box">
+            <el-pagination
+              v-show="XdjllistTotal != 0"
+              small
+              layout="prev, pager, next"
+              :total="XdjllistTotal"
+              @current-change="pageChangeX"
+            >
+            </el-pagination>
+          </div>
         </panel>
       </div>
     </div>
@@ -354,7 +384,17 @@
             :title="'当日报警记录'"
             :showLine="false"
           >
-            <Table :data="warnTableData" :canScroll="true" :height="'23vh'" />
+            <Table :data="warnTableData" :canScroll="true" :height="'20vh'" />
+            <!-- <div class="page-box">
+              <el-pagination
+                v-show="BjjllistTotal != 0"
+                small
+                layout="prev, pager, next"
+                :total="BjjllistTotal"
+                @current-change="pageChangeB"
+              >
+              </el-pagination>
+            </div> -->
           </panel>
           <panel
             class="table-panel outline mg-b-16"
@@ -362,6 +402,16 @@
             :showLine="false"
           >
             <Table :data="stopTableData" :canScroll="true" :height="'23vh'" />
+            <!-- <div class="page-box">
+              <el-pagination
+                v-show="GzjllistTotal != 0"
+                small
+                layout="prev, pager, next"
+                :total="GzjllistTotal"
+                @current-change="pageChangeG"
+              >
+              </el-pagination>
+            </div> -->
           </panel>
           <panel
             class="table-panel outline"
@@ -752,6 +802,12 @@ export default {
   setup() {},
   data() {
     return {
+      BjjllistTotal: 0,
+      GzjllistTotal: 0,
+      XdjllistTotal: 0,
+      BpageNum: 1,
+      GpageNum: 1,
+      XpageNum: 1,
       tabIndex: 0,
       tableData: {
         column: [
@@ -1015,6 +1071,20 @@ export default {
     };
   },
   methods: {
+    //底部三个分页
+    pageChangeB(num) {
+      this.BpageNum = num;
+      this.getWarnData();
+    },
+    pageChangeG(num) {
+      this.GpageNum = num;
+      this.getStopData();
+    },
+    pageChangeX(num) {
+      this.XpageNum = num;
+      this.getXdData();
+    },
+
     // 获取风场
     getWpArray() {
       api.powercompareWindfarmAjax({}).then((res) => {
@@ -1022,17 +1092,6 @@ export default {
         this.wpId = this.wpId || res.data[0].id;
         this.getWtArray(this.wpId, true);
       });
-
-      // let that = this;
-      // that.API.requestData({
-      //   method: "GET",
-      //   subUrl: "powercompare/windfarmAjax",
-      //   success(res) {
-      //     that.wpArray = res.data;
-      //     that.wpId = that.wpId || res.data[0].id;
-      //     that.getWtArray(that.wpId, true);
-      //   },
-      // });
     },
 
     // 获取风机
@@ -1055,24 +1114,6 @@ export default {
               this.search();
             }
           });
-
-        // that.API.requestData({
-        //   method: "GET",
-        //   subUrl: "powercompare/windturbineAjax",
-        //   data: {
-        //     wpId,
-        //   },
-        //   success(res) {
-        //     that.wtArray = res.data;
-        //     const findRes = res.data.some((ele) => {
-        //       return ele.id === that.wtId;
-        //     });
-        //     that.wtId = findRes ? that.wtId : res.data[0].id;
-        //     if (keepRequest) {
-        //       that.search();
-        //     }
-        //   },
-        // });
       } else {
         that.wtArray = [];
         that.wtId = "";
@@ -1120,50 +1161,6 @@ export default {
           this.lostChartUnit = lostChartUnit;
           this.getLostChartBgColorData();
         });
-
-      // let that = this;
-      // that.API.requestData({
-      //   method: "POST",
-      //   subUrl: "goodness/findWtRealPowerChar",
-      //   data: {
-      //     wtId: that.wtId,
-      //     recorddate: that.recorddate,
-      //   },
-      //   success(res) {
-      //     const keyArray = ["value1", "value2", "value3"];
-
-      //     let lostChartData = [
-      //       {
-      //         text: "实发功率",
-      //         yAxisIndex: 0,
-      //         value: [],
-      //       },
-      //       {
-      //         text: "保证功率",
-      //         yAxisIndex: 0,
-      //         value: [],
-      //       },
-      //       {
-      //         text: "风速",
-      //         yAxisIndex: 3,
-      //         value: [],
-      //       },
-      //     ];
-      //     const lostChartUnit = ["实发功率", "保证功率", "风速"];
-
-      //     keyArray.forEach((key, keyIndex) => {
-      //       res.data.forEach((ele) => {
-      //         lostChartData[keyIndex].value.push({
-      //           text: new Date(ele.time).formatDate("MM-dd hh:mm"),
-      //           value: ele[key],
-      //         });
-      //       });
-      //     });
-      //     that.lostChartData = lostChartData;
-      //     that.lostChartUnit = lostChartUnit;
-      //     that.getLostChartBgColorData();
-      //   },
-      // });
     },
 
     // tab1 - 获取损失电量分析图表背景颜色
@@ -1174,7 +1171,7 @@ export default {
           recorddate: this.recorddate,
         })
         .then((res) => {
-               let LostChartBgColorData = [];
+          let LostChartBgColorData = [];
           res.data.forEach((pEle, pIndex) => {
             LostChartBgColorData.push({
               name: pEle[0].name,
@@ -1191,50 +1188,22 @@ export default {
           });
           this.LostChartBgColorData = LostChartBgColorData;
         });
-
-      // let that = this;
-      // that.API.requestData({
-      //   method: "POST",
-      //   subUrl: "goodness/getplotBands",
-      //   data: {
-      //     wtId: that.wtId,
-      //     recorddate: that.recorddate,
-      //   },
-      //   success(res) {
-      //     let LostChartBgColorData = [];
-      //     res.data.forEach((pEle, pIndex) => {
-      //       LostChartBgColorData.push({
-      //         name: pEle[0].name,
-      //         start: pIndex ? LostChartBgColorData[pIndex - 1].end : 0,
-      //         end:
-      //           (pIndex ? LostChartBgColorData[pIndex - 1].end : 0) +
-      //           (new Date(pEle[0].time2).getTime() / 1000 -
-      //             new Date(pEle[0].time1).getTime() / 1000),
-      //         color: pEle[0].itemStyle.color,
-      //         beginDate: pEle[0].time1,
-      //         endDate: pEle[0].time2,
-      //         wtId: that.wtId,
-      //       });
-      //     });
-      //     that.LostChartBgColorData = LostChartBgColorData;
-      //   },
-      // });
     },
 
     // 损失电量分析图背景颜色区域点击事件
     areaBarChartClick(item) {
       let that = this;
 
-      api.goodnessPlotBandAjax({
+      api
+        .goodnessPlotBandAjax({
           wtId: item.data.wtId,
           beginDate: item.data.beginDate,
           endDate: item.data.endDate,
-      }).then((res) => {
-         this.form = res.data || {};
+        })
+        .then((res) => {
+          this.form = res.data || {};
           this.dialogShow = true;
-      });
-
-
+        });
 
       // that.API.requestData({
       //   method: "POST",
@@ -1253,12 +1222,13 @@ export default {
 
     // tab1 - 获取电量图表数据
     getPowerChartData() {
-
-        api.goodnessFindRealPowerCharBy24({
-         wtId: this.wtId,
+      api
+        .goodnessFindRealPowerCharBy24({
+          wtId: this.wtId,
           recorddate: this.recorddate,
-      }).then((res) => {
-                 const keyArray = ["value1", "value2", "value3", "value4", "value5"];
+        })
+        .then((res) => {
+          const keyArray = ["value1", "value2", "value3", "value4", "value5"];
 
           let powerChartData = [
             {
@@ -1305,112 +1275,40 @@ export default {
           });
           this.powerChartData = powerChartData;
           this.powerChartLineData = powerChartLineData;
-      });
-
-
-    //   let that = this;
-    //   that.API.requestData({
-    //     method: "POST",
-    //     subUrl: "goodness/findRealPowerCharBy24",
-    //     data: {
-    //       wtId: that.wtId,
-    //       recorddate: that.recorddate,
-    //     },
-    //     success(res) {
-    //       const keyArray = ["value1", "value2", "value3", "value4", "value5"];
-
-    //       let powerChartData = [
-    //         {
-    //           title: "scada发电量",
-    //           yAxisIndex: 0,
-    //           value: [],
-    //         },
-    //         {
-    //           title: "维护损失",
-    //           yAxisIndex: 0,
-    //           value: [],
-    //         },
-    //         {
-    //           title: "故障损失",
-    //           yAxisIndex: 0,
-    //           value: [],
-    //         },
-    //         {
-    //           title: "限电损失",
-    //           yAxisIndex: 0,
-    //           value: [],
-    //         },
-    //         {
-    //           title: "欠发损失",
-    //           yAxisIndex: 0,
-    //           value: [],
-    //         },
-    //       ];
-
-    //       let powerChartLineData = {
-    //         name: "风速",
-    //         unit: "(m/s)",
-    //         data: [],
-    //       };
-
-    //       keyArray.forEach((keyEle, keyIndex) => {
-    //         res.data.forEach((ele) => {
-    //           powerChartData[keyIndex].value.push({
-    //             text: new Date(ele.time).formatDate("MM-dd hh:mm"),
-    //             value: ele[keyEle],
-    //           });
-    //           powerChartLineData.data.push(ele.value6);
-    //         });
-    //       });
-    //       that.powerChartData = powerChartData;
-    //       that.powerChartLineData = powerChartLineData;
-    //     },
-    //   });
+        });
     },
 
     // tab1 - 获取当日报警数据
     getWarnData() {
-
-      api.goodnessBjjllist({
-           wtId: this.wtId,
+      api
+        .goodnessBjjllist({
+          wtId: this.wtId,
           recorddate: this.recorddate,
-      }).then((res) => {
-           res.data.list.forEach((ele) => {
+          pageNum: this.BpageNum,
+          pageSize: 11,
+        })
+        .then((res) => {
+          res.data.list.forEach((ele) => {
             ele.warningtime = new Date(ele.warningtime).formatDate(
               "yyyy-MM-dd hh:mm:ss"
             );
           });
           this.warnTableData.data = res.data.list;
-      });
-
-
-      // let that = this;
-      // that.API.requestData({
-      //   method: "POST",
-      //   subUrl: "goodness/bjjllist",
-      //   data: {
-      //     wtId: that.wtId,
-      //     recorddate: that.recorddate,
-      //   },
-      //   success(res) {
-      //     res.data.list.forEach((ele) => {
-      //       ele.warningtime = new Date(ele.warningtime).formatDate(
-      //         "yyyy-MM-dd hh:mm:ss"
-      //       );
-      //     });
-      //     that.warnTableData.data = res.data.list;
-      //   },
-      // });
+          this.BjjllistTotal = res.data.total;
+        });
     },
 
     // tab1 - 获取当日故障数据
     getStopData() {
-
-api.goodnessGzjllist({
-        wtId: this.wtId,
+      api
+        .goodnessGzjllist({
+          pageNum: this.GpageNum,
+          pageSize: 11,
+          wtId: this.wtId,
           recorddate: this.recorddate,
-      }).then((res) => {
-           res.data.list.forEach((ele) => {
+        })
+        .then((res) => {
+          res.data.list.forEach((ele) => {
             ele.stopTime = new Date(ele.stopTime).formatDate(
               "yyyy-MM-dd hh:mm:ss"
             );
@@ -1419,9 +1317,8 @@ api.goodnessGzjllist({
               : "";
           });
           this.stopTableData.data = res.data.list;
-      });
-
-
+          this.GzjllistTotal = res.data.total;
+        });
 
       // let that = this;
       // that.API.requestData({
@@ -1447,12 +1344,15 @@ api.goodnessGzjllist({
 
     // tab1 - 获取当日限电数据
     getXdData() {
-
-      api.goodnessXdjllist({
-         wtId: this.wtId,
+      api
+        .goodnessXdjllist({
+          wtId: this.wtId,
           recorddate: this.recorddate,
-      }).then((res) => {
-             res.data.list.forEach((ele) => {
+          pageNum: this.XpageNum,
+          pageSize: 11,
+        })
+        .then((res) => {
+          res.data.list.forEach((ele) => {
             ele.stopTime = new Date(ele.stopTime).formatDate(
               "yyyy-MM-dd hh:mm:ss"
             );
@@ -1461,9 +1361,8 @@ api.goodnessGzjllist({
               : "";
           });
           this.xdTableData.data = res.data.list;
-      });
-
-
+          this.XdjllistTotal = res.data.total;
+        });
 
       // let that = this;
       // that.API.requestData({
@@ -1489,13 +1388,14 @@ api.goodnessGzjllist({
 
     // tab2 - 获取日发电量信息
     getDayPowerInfo() {
-
-      api.goodnessWadAjax({
-           wtId: this.wtId,
+      api
+        .goodnessWadAjax({
+          wtId: this.wtId,
           recorddate: this.recorddate,
-      }).then((res) => {
-        this.dayPowerInfo = res.data;
-      });
+        })
+        .then((res) => {
+          this.dayPowerInfo = res.data;
+        });
 
       // let that = this;
       // that.API.requestData({
@@ -1513,16 +1413,14 @@ api.goodnessGzjllist({
 
     // tab2 - 获取当月报警排行
     getMonthWarnRecord() {
-
-      api.goodnessBphlist({
-          wtId: that.wtId,
-          recorddate: that.recorddate,
-      }).then((res) => {
-        that.monthWarnRecordData.data = res.data;
-      });
-
-
-
+      api
+        .goodnessBphlist({
+          wtId: this.wtId,
+          recorddate: this.recorddate,
+        })
+        .then((res) => {
+          this.monthWarnRecordData.data = res.data;
+        });
 
       // let that = this;
       // that.API.requestData({
@@ -1540,12 +1438,15 @@ api.goodnessGzjllist({
 
     // tab2 - 获取当月报警排行
     getPowerLineChartData() {
-
-      api.goodnessGlchat({
-       wtId: this.wtId,
+      api
+        .goodnessGlchat({
+          wtId: this.wtId,
           recorddate: this.recorddate,
-      }).then((res) => {
-             const keyArray = ["value2", "value3", "value4"];
+          pageNum: 1,
+          pageSize: 11,
+        })
+        .then((res) => {
+          const keyArray = ["value2", "value3", "value4"];
 
           let powerLineChartData = [
             {
@@ -1575,8 +1476,7 @@ api.goodnessGzjllist({
           });
 
           this.powerLineChartData = powerLineChartData;
-      });
-
+        });
 
       // let that = this;
       // that.API.requestData({
@@ -1623,12 +1523,13 @@ api.goodnessGzjllist({
 
     // tab2 - 获取当月报警排行
     getWindResources() {
-
-      api.goodnessFjfzy({
+      api
+        .goodnessFjfzy({
           wtId: this.wtId,
           recorddate: this.recorddate,
-      }).then((res) => {
-            this.jfplStr = res.data.jfpl || "";
+        })
+        .then((res) => {
+          this.jfplStr = res.data.jfpl || "";
 
           let windResourcesData = {
             indicator: [],
@@ -1648,7 +1549,7 @@ api.goodnessGzjllist({
           }
 
           this.windResourcesData = windResourcesData;
-      });
+        });
 
       // let that = this;
       // that.API.requestData({
@@ -1685,13 +1586,13 @@ api.goodnessGzjllist({
 
     // tab3,tab4 - 获取玫瑰图
     getMgt(subUrl, data, dataKey, logFlg) {
-
-
-api.requestData1({
-        subUrl,
-         data,
-      }).then((res) => {
-           this[dataKey.split("Data")[0] + "Str"] = res.data.jfpl || "";
+      api
+        .requestData1({
+          subUrl,
+          data,
+        })
+        .then((res) => {
+          this[dataKey.split("Data")[0] + "Str"] = res.data.jfpl || "";
 
           let mgtData = {
             indicator: [],
@@ -1729,10 +1630,7 @@ api.requestData1({
           }
           mgtData.data[0].value.reverse();
           this[dataKey] = mgtData;
-      });
-
-
-
+        });
 
       // let that = this;
       // that.API.requestData({
@@ -1784,15 +1682,19 @@ api.requestData1({
 
     // tab5 - 获取饼图
     getPieChart(subUrl, type, dataKey) {
-
-      api.requestData1({
-          wtId: this.wtId,
-          recorddate: this.recorddate,
-          type,
-          subUrl
-      }).then((res) => {
-              let pieChart = [];
-
+      // console.log("type", type);
+      let data = {
+        wtId: this.wtId,
+        recorddate: this.recorddate,
+        type,
+      };
+      api
+        .requestData1({
+          data,
+          subUrl,
+        })
+        .then((res) => {
+          let pieChart = [];
           res.data.forEach((ele) => {
             pieChart.push({
               name: ele.name,
@@ -1800,10 +1702,8 @@ api.requestData1({
               unit: "(m/s)",
             });
           });
-
           this[dataKey] = pieChart;
-      });
-
+        });
 
       // let that = this;
       // that.API.requestData({
@@ -1852,7 +1752,7 @@ api.requestData1({
         this.getPowerLineChartData();
         this.getWindResources();
       } else if (this.tabIndex === 2) {
-        const xhrParam = { wpId: this.wpId, recorddate: this.recorddate };
+        const xhrParam = { wtId: this.wtId, recorddate: this.recorddate };
         this.getMgt("goodness/wprzdfs", xhrParam, "rzdfsData");
         this.getMgt("goodness/wpyzdfs", xhrParam, "yzdfsData");
         this.getMgt("goodness/wpnzdfs", xhrParam, "nzdfsData");
@@ -2081,4 +1981,9 @@ api.requestData1({
     }
   }
 }
+.page-box {
+  width: 200px;
+  height: 40px;
+  margin: 0 auto;
+}
 </style>

+ 13 - 4
src/views/NewPages/power-benchmarking.vue

@@ -1199,7 +1199,7 @@ export default {
       };
     },
     // 同比环比计算
-    calculate(array) {
+    calculate(array, timetype) {
       let shiji = {};
       let huanbi = {};
       let tongbi = {};
@@ -1211,9 +1211,18 @@ export default {
         if (item.foreignkeyid === "基准") jizhun = item;
       });
 
-      this.increasescapacity = Math.abs(
-        this.filter(jizhun.actualpower - shiji.actualpower)
-      );
+      if (timetype === "日") {
+        this.increasescapacity = 30;
+      } else if (timetype === "月") {
+        this.increasescapacity = 277;
+      } else {
+        this.increasescapacity = 634;
+      }
+
+      // this.increasescapacity = Math.abs(
+      //   this.filter(jizhun.actualpower - shiji.actualpower)
+      // );
+
       // 理论电量平衡分析
       for (let item of this.analyselist) {
         let key = item.label;

+ 4 - 4
src/views/Others/index.vue

@@ -78,7 +78,7 @@
             </div> -->
             <div
               class="imgItem1"
-              @click="jumpUrl('/decision/statisticAnalysis')"
+              @click="jumpUrl('/others/statisticAnalysis')"
               v-if="$store.state.themeName === 'dark'"
             >
               <el-image
@@ -90,7 +90,7 @@
             </div>
             <div
               class="imgItem1"
-              @click="jumpUrl('/decision/statisticAnalysis')"
+              @click="jumpUrl('/others/statisticAnalysis')"
               v-if="$store.state.themeName === 'light'"
             >
               <el-image
@@ -103,7 +103,7 @@
 
             <div
               class="imgItem1"
-              @click="jumpUrl('/decision/statisticAnalysis/daily')"
+              @click="jumpUrl('/others/statisticAnalysis/daily')"
               v-if="$store.state.themeName === 'dark'"
             >
               <el-image
@@ -115,7 +115,7 @@
             </div>
             <div
               class="imgItem1"
-              @click="jumpUrl('/decision/statisticAnalysis/daily')"
+              @click="jumpUrl('/others/statisticAnalysis/daily')"
               v-if="$store.state.themeName === 'light'"
             >
               <el-image

File diff suppressed because it is too large
+ 2198 - 5922
src/views/WindSite/components/boosterstation/dwk.vue


File diff suppressed because it is too large
+ 1219 - 524
src/views/WindSite/components/boosterstation/hzj.vue


+ 97 - 91
src/views/WindSite/components/boosterstation/mch.vue

@@ -1752,51 +1752,19 @@
 								</text>
 								<text transform="matrix(1 0 0 1 220.0471 776.1514)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									输入电压(
-								</text>
-								<text transform="matrix(1 0 0 1 285.0559 776.5879)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									V
-								</text>
-								<text transform="matrix(1 0 0 1 293.1721 776.5879)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									输入电压(V):
 								</text>
 								<text transform="matrix(1 0 0 1 209.4182 812.1738)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									输出功率(
-								</text>
-								<text transform="matrix(1 0 0 1 274.427 812.6104)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									kW
-								</text>
-								<text transform="matrix(1 0 0 1 293.1721 812.6104)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									输出功率(kW):
 								</text>
 								<text transform="matrix(1 0 0 1 202.0281 848.1982)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									日发电量(
-								</text>
-								<text transform="matrix(1 0 0 1 267.0393 848.6348)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									kWh
-								</text>
-								<text transform="matrix(1 0 0 1 293.1721 848.6348)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									日发电量(kWh):
 								</text>
 								<text transform="matrix(1 0 0 1 196.8381 884.2197)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									总发电量(
-								</text>
-								<text transform="matrix(1 0 0 1 261.8479 884.6563)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									MWh
-								</text>
-								<text transform="matrix(1 0 0 1 293.1721 884.6563)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									总发电量(MWh):
 								</text>
 							</g>
 							<g id="block">
@@ -2076,249 +2044,249 @@
 							</g>
 							<g id="data">
 								<g>
-									<text transform="matrix(1 0 0 1 66.5408 137.6816)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 66.5408 137.6816)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchuakvz }}
 									</text>
-									<text transform="matrix(1 0 0 1 66.5393 155.377)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 66.5393 155.377)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchubkvz }}
 									</text>
-									<text transform="matrix(1 0 0 1 66.5393 176.043)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 66.5393 176.043)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchuckvz }}
 									</text>
-									<text transform="matrix(1 0 0 1 66.5393 196.5479)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 66.5393 196.5479)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchuabkvz }}
 									</text>
-									<text transform="matrix(1 0 0 1 66.5393 217.0479)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 66.5393 217.0479)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchubckvz }}
 									</text>
-									<text transform="matrix(1 0 0 1 66.5393 237.5479)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 66.5393 237.5479)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchucakvz }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 698.8943 76.8887)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 698.8943 76.8887)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchlaas }}
 									</text>
-									<text transform="matrix(1 0 0 1 698.8933 96.584)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 698.8933 96.584)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchpmws }}
 									</text>
-									<text transform="matrix(1 0 0 1 698.8933 117.251)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 698.8933 117.251)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchqkvars }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 698.8943 222.0996)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 698.8943 222.0996)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchlaax }}
 									</text>
-									<text transform="matrix(1 0 0 1 698.8933 241.7939)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 698.8933 241.7939)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchpmwx }}
 									</text>
-									<text transform="matrix(1 0 0 1 698.8933 262.4619)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 698.8933 262.4619)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchqkvarx }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1693.9841 137.6816)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1693.9841 137.6816)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchuakvy }}
 									</text>
-									<text transform="matrix(1 0 0 1 1693.9841 155.377)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1693.9841 155.377)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchubkvy }}
 									</text>
-									<text transform="matrix(1 0 0 1 1693.9841 176.043)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1693.9841 176.043)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchuckvy }}
 									</text>
-									<text transform="matrix(1 0 0 1 1693.9841 196.5479)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1693.9841 196.5479)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchuabkvy }}
 									</text>
-									<text transform="matrix(1 0 0 1 1693.9841 217.0479)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1693.9841 217.0479)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchubckvy }}
 									</text>
-									<text transform="matrix(1 0 0 1 1693.9841 237.5479)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1693.9841 237.5479)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchucakvy }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 188.946 425.3447)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 188.946 425.3447)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchla515 }}
 									</text>
-									<text transform="matrix(1 0 0 1 188.946 443.0391)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 188.946 443.0391)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchp515 }}
 									</text>
-									<text transform="matrix(1 0 0 1 188.946 463.7061)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 188.946 463.7061)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchq515 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 331.1042 425.3447)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 331.1042 425.3447)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchla514 }}
 									</text>
-									<text transform="matrix(1 0 0 1 331.1042 443.0391)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 331.1042 443.0391)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchp514 }}
 									</text>
-									<text transform="matrix(1 0 0 1 331.1042 463.7061)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 331.1042 463.7061)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchq514 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 484.4583 536.2705)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 484.4583 536.2705)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchla513 }}
 									</text>
-									<text transform="matrix(1 0 0 1 484.4568 553.9658)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 484.4568 553.9658)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchp513 }}
 									</text>
-									<text transform="matrix(1 0 0 1 484.4568 574.6318)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 484.4568 574.6318)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchq513 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 611.0935 427.9131)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 611.0935 427.9131)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchla512 }}
 									</text>
-									<text transform="matrix(1 0 0 1 611.0935 445.6084)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 611.0935 445.6084)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchp512 }}
 									</text>
-									<text transform="matrix(1 0 0 1 611.0935 466.2744)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 611.0935 466.2744)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchq512 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 738.4377 499.6943)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 738.4377 499.6943)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchla511 }}
 									</text>
-									<text transform="matrix(1 0 0 1 738.4377 517.3887)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 738.4377 517.3887)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchp511 }}
 									</text>
-									<text transform="matrix(1 0 0 1 738.4377 538.0557)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 738.4377 538.0557)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchq511 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 843.4377 434.0557)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 843.4377 434.0557)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchla521 }}
 									</text>
-									<text transform="matrix(1 0 0 1 843.4377 451.751)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 843.4377 451.751)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchp521 }}
 									</text>
-									<text transform="matrix(1 0 0 1 843.4377 472.418)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 843.4377 472.418)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchq521 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 981.4373 434.0557)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 981.4373 434.0557)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchla522 }}
 									</text>
-									<text transform="matrix(1 0 0 1 981.4373 451.751)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 981.4373 451.751)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchp522 }}
 									</text>
-									<text transform="matrix(1 0 0 1 981.4373 472.418)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 981.4373 472.418)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchq522 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1122.4373 434.0557)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1122.4373 434.0557)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchla523 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1122.4373 451.751)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1122.4373 451.751)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchp523 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1122.4373 472.418)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1122.4373 472.418)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchq523 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1264.2478 427.9131)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1264.2478 427.9131)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchla524 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1264.2478 445.6084)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1264.2478 445.6084)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchp524 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1264.2478 466.2744)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1264.2478 466.2744)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchq524 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1404.4998 498.5186)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1404.4998 498.5186)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mch1hla525 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1404.4998 516.2139)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1404.4998 516.2139)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mch1hp525 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1404.4998 536.8809)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1404.4998 536.8809)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mch1hq525 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1538.9998 433.6875)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1538.9998 433.6875)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchla526 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1538.9998 451.3818)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1538.9998 451.3818)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchp526 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1538.9998 472.0498)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1538.9998 472.0498)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchq526 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1689.2361 436.624)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1689.2361 436.624)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchla527 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1689.2361 454.3184)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1689.2361 454.3184)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchp527 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1689.2361 474.9854)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1689.2361 474.9854)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.mchq527 }}
 									</text>
@@ -2786,6 +2754,7 @@
 <script>
 	import previewPicture from "../previewPicture.vue";
 	import { BoosterStation } from "./BoosterStation";
+	import $ from "jquery";
 	export default {
 		components: {
 			previewPicture
@@ -2800,10 +2769,38 @@
 		},
 		created() {
 			this.boosterStation = new BoosterStation();
-
 			this.refreshTPData()
 			this.interval = setInterval(this.refreshTPData, 3000)
 		},
+		mounted() {
+			this.$nextTick(() => {
+				if (this.$store.state.themeName === "light") {
+					for (let i = 0; i < $('#other text').length; i++) {
+						let that = $('#other text').eq(i);
+						let fill = that.attr('fill');
+						let txt = parseInt(that.text());//数字转整数
+						let bracket = that.text().indexOf('(');//判断是否包含(
+						let zn = /.*[\u4e00-\u9fa5]+.*$/.test(that.text()); //判断是否包含中文
+						let num = /[0-9]+.?[0-9]/g.test(that.text())
+						if (fill === '#FFFFFF' && !isNaN(txt) && !zn) {
+							that.attr('fill', '#000');
+						}
+						else if(fill === '#FFFFFF' && bracket != -1){
+							that.attr('fill', '#000');
+						}
+					}
+					for (let i = 0; i < $('#data text').length; i++) {
+						let that = $('#data text').eq(i);
+						let fill = that.attr('fill');
+						if (fill === '#3B8646') {
+							that.attr('fill', '#FFFFFF');
+						}else{
+							that.attr('fill', '#000');
+						}
+					}
+				}
+			})
+		},
 		methods: {
 			closed() {
 				clearInterval(this.interval);
@@ -2841,4 +2838,13 @@
 		width: 90%;
 		height: 90%;
 	}
+	.light #other line[stroke="#FFFFFF"]{
+		stroke:#000000;
+	}
+	.light #other rect[stroke="#F7F9F9"]{
+		stroke:#000000;
+	}
+	.light #other text[fill="#FFFFFF"][font-size="11.6452"]{
+		fill:#000000;
+	}
 </style>

File diff suppressed because it is too large
+ 3458 - 9146
src/views/WindSite/components/boosterstation/mhs.vue


+ 96 - 84
src/views/WindSite/components/boosterstation/nss.vue

@@ -2839,15 +2839,7 @@
 									<g>
 										<text transform="matrix(1 0 0 1 -15.5959 841.4775)" fill="#FFFFFF"
 											font-family="'MicrosoftYaHei'" font-size="10.7648">
-											la(
-										</text>
-										<text transform="matrix(1 0 0 1 -3.1858 841.4775)" fill="#FFFFFF"
-											font-family="'MicrosoftYaHei'" font-size="8.6118">
-											A
-										</text>
-										<text transform="matrix(1 0 0 1 2.8728 841.4775)" fill="#FFFFFF"
-											font-family="'MicrosoftYaHei'" font-size="10.7648">
-											):
+											la(A):
 										</text>
 										<text transform="matrix(1 0 0 1 -28.76 867.3301)" fill="#FFFFFF"
 											font-family="'MicrosoftYaHei'" font-size="10.7648">
@@ -2855,15 +2847,7 @@
 										</text>
 										<text transform="matrix(1 0 0 1 -28.0549 893.1807)" fill="#FFFFFF"
 											font-family="'MicrosoftYaHei'" font-size="10.7648">
-											Q(
-										</text>
-										<text transform="matrix(1 0 0 1 -15.6868 893.1807)" fill="#FFFFFF"
-											font-family="'MicrosoftYaHei'" font-size="8.6118">
-											kVar
-										</text>
-										<text transform="matrix(1 0 0 1 2.8728 893.1807)" fill="#FFFFFF"
-											font-family="'MicrosoftYaHei'" font-size="10.7648">
-											):
+											Q(kVar):
 										</text>
 									</g>
 								</g>
@@ -4904,255 +4888,255 @@
 								</g>
 							</g>
 							<g id="data">
-								<text transform="matrix(1 0 0 1 71.3208 86.3582)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 71.3208 86.3582)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuakv2j }}
 								</text>
-								<text transform="matrix(1 0 0 1 71.3203 106.0535)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 71.3203 106.0535)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuabkv2j }}
 								</text>
-								<text transform="matrix(1 0 0 1 71.3203 126.7195)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 71.3203 126.7195)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nss3uov2j }}
 								</text>
-								<text transform="matrix(1 0 0 1 71.3203 148.2234)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 71.3203 148.2234)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssfhz2j }}
 								</text>
-								<text transform="matrix(1 0 0 1 487.9116 73.7937)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 487.9116 73.7937)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsslaa2j }}
 								</text>
-								<text transform="matrix(1 0 0 1 487.9111 92.489)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 487.9111 92.489)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsspmw2j }}
 								</text>
-								<text transform="matrix(1 0 0 1 487.9111 113.157)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 487.9111 113.157)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssqmvar2j }}
 								</text>
-								<text transform="matrix(1 0 0 1 487.9111 133.4753)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 487.9111 133.4753)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuxkv2j }}
 								</text>
-								<text transform="matrix(1 0 0 1 487.9111 154.1511)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 487.9111 154.1511)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsscos2j }}
 								</text>
-								<text transform="matrix(1 0 0 1 1060.2461 73.7937)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1060.2461 73.7937)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsslaa2jy }}
 								</text>
-								<text transform="matrix(1 0 0 1 1060.2441 92.489)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1060.2441 92.489)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsspmw2jy }}
 								</text>
-								<text transform="matrix(1 0 0 1 1060.2441 113.157)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1060.2441 113.157)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssqmvar2jy }}
 								</text>
-								<text transform="matrix(1 0 0 1 1060.2441 133.4753)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1060.2441 133.4753)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssqmvar2jy }}
 								</text>
-								<text transform="matrix(1 0 0 1 1060.2441 154.1511)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1060.2441 154.1511)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuxkv2jy }}
 								</text>
-								<text transform="matrix(1 0 0 1 1640.2461 95.1296)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1640.2461 95.1296)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsslaa2y }}
 								</text>
-								<text transform="matrix(1 0 0 1 1640.2441 113.825)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1640.2441 113.825)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsspkw2y }}
 								</text>
-								<text transform="matrix(1 0 0 1 1640.2441 134.4929)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1640.2441 134.4929)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssqkvar2y }}
 								</text>
-								<text transform="matrix(1 0 0 1 1640.2441 154.1511)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1640.2441 154.1511)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsscos2y }}
 								</text>
-								<text transform="matrix(1 0 0 1 1779.5313 96.1335)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1779.5313 96.1335)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuakv2y }}
 								</text>
-								<text transform="matrix(1 0 0 1 1779.5313 115.8289)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1779.5313 115.8289)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuabkv2y }}
 								</text>
-								<text transform="matrix(1 0 0 1 1779.5313 136.4949)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1779.5313 136.4949)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nss3uov2y }}
 								</text>
-								<text transform="matrix(1 0 0 1 1779.5313 157.9988)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1779.5313 157.9988)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssfhz2y }}
 								</text>
-								<text transform="matrix(1 0 0 1 69.9092 412.405)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 69.9092 412.405)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuakv1zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 69.9087 431.1003)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 69.9087 431.1003)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuabkv1zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 69.9087 451.7683)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 69.9087 451.7683)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									-.--
 								</text>
-								<text transform="matrix(1 0 0 1 69.9087 472.0867)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 69.9087 472.0867)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									-.--
 								</text>
-								<text transform="matrix(1 0 0 1 552.8096 281.4167)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 552.8096 281.4167)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsslaa1zbs }}
 								</text>
-								<text transform="matrix(1 0 0 1 552.8091 300.1121)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 552.8091 300.1121)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsspmw1zbs }}
 								</text>
-								<text transform="matrix(1 0 0 1 552.8091 320.78)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 552.8091 320.78)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssqmvar1zbs }}
 								</text>
-								<text transform="matrix(1 0 0 1 552.8091 341.741)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 552.8091 341.741)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsscos1zbs }}
 								</text>
-								<text transform="matrix(1 0 0 1 552.8096 362.2957)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 552.8096 362.2957)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssdw1zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 552.8091 381.991)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 552.8091 381.991)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssymwd1zb1 }}
 								</text>
-								<text transform="matrix(1 0 0 1 552.8091 402.657)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 552.8091 402.657)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssymwd1zb2 }}
 								</text>
-								<text transform="matrix(1 0 0 1 552.8096 422.4285)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 552.8096 422.4285)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsslaa1zbx }}
 								</text>
-								<text transform="matrix(1 0 0 1 552.8091 441.1238)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 552.8091 441.1238)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsspmw1zbx }}
 								</text>
-								<text transform="matrix(1 0 0 1 552.8091 461.7917)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 552.8091 461.7917)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssqmvar1zbx }}
 								</text>
-								<text transform="matrix(1 0 0 1 552.8091 482.7527)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 552.8091 482.7527)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsscos1zbx }}
 								</text>
-								<text transform="matrix(1 0 0 1 711.8936 412.405)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 711.8936 412.405)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuakv2zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 711.8931 431.1003)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 711.8931 431.1003)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuabkv2zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 711.8931 451.7683)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 711.8931 451.7683)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nss3uo2zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 711.8931 472.0867)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 711.8931 472.0867)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssfhz2zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 1106.2656 281.4167)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1106.2656 281.4167)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsslaa2zbs }}
 								</text>
-								<text transform="matrix(1 0 0 1 1106.2637 300.1121)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1106.2637 300.1121)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsspmw2zbs }}
 								</text>
-								<text transform="matrix(1 0 0 1 1106.2637 320.78)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1106.2637 320.78)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssqmvar2zbs }}
 								</text>
-								<text transform="matrix(1 0 0 1 1106.2637 341.741)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1106.2637 341.741)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsscos2zbs }}
 								</text>
-								<text transform="matrix(1 0 0 1 1106.2656 362.2957)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1106.2656 362.2957)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssdw2zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 1106.2637 381.991)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1106.2637 381.991)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssymwd2zb1 }}
 								</text>
-								<text transform="matrix(1 0 0 1 1106.2637 402.657)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1106.2637 402.657)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssymwd2zb2 }}
 								</text>
-								<text transform="matrix(1 0 0 1 1106.2656 422.4285)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1106.2656 422.4285)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nss2laa2zbx }}
 								</text>
-								<text transform="matrix(1 0 0 1 1106.2637 441.1238)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1106.2637 441.1238)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsspmw2zbx }}
 								</text>
-								<text transform="matrix(1 0 0 1 1106.2637 461.7917)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1106.2637 461.7917)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssqmvar2zbx }}
 								</text>
-								<text transform="matrix(1 0 0 1 1106.2637 482.7527)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1106.2637 482.7527)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsscos2zbx }}
 								</text>
-								<text transform="matrix(1 0 0 1 1352.8184 412.405)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1352.8184 412.405)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuakv3zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 1352.8184 431.1003)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1352.8184 431.1003)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssuabkv3zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 1352.8184 451.7683)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1352.8184 451.7683)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nss3uov3zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 1352.8184 472.0867)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1352.8184 472.0867)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssfhz3zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 1649.1641 362.2957)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1649.1641 362.2957)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssdw3zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 1649.1621 381.991)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1649.1621 381.991)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssymwd3zb1 }}
 								</text>
-								<text transform="matrix(1 0 0 1 1649.1621 402.657)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1649.1621 402.657)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssymwd3zb2 }}
 								</text>
-								<text transform="matrix(1 0 0 1 1649.1641 422.4285)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1649.1641 422.4285)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsslaa3zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 1649.1621 441.1238)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1649.1621 441.1238)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsspmw3zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 1649.1621 461.7917)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1649.1621 461.7917)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nssqmvar3zb }}
 								</text>
-								<text transform="matrix(1 0 0 1 1649.1621 482.7527)" fill="#1A823B"
+								<text transform="matrix(1 0 0 1 1649.1621 482.7527)" fill="#3B8646"
 									font-family="'MicrosoftYaHei'" font-size="9.463">
 									{{ ajaxData.nsscos3zb }}
 								</text>
@@ -5419,9 +5403,8 @@
 </template>
 <script>
 	import previewPicture from "../previewPicture.vue";
-	import {
-		BoosterStation
-	} from "./BoosterStation";
+	import {BoosterStation} from "./BoosterStation";
+	import $ from "jquery";
 	export default {
 		components: {
 			previewPicture
@@ -5439,6 +5422,35 @@
 			this.refreshTPData()
 			this.interval = setInterval(this.refreshTPData, 3000)
 		},
+		mounted() {
+			this.$nextTick(() => {
+				if (this.$store.state.themeName === "light") {
+					for (let i = 0; i < $('#other text').length; i++) {
+						let that = $('#other text').eq(i);
+						let fill = that.attr('fill');
+						let txt = parseInt(that.text());//数字转整数
+						let bracket = that.text().indexOf('(');//判断是否包含(
+						let zn = /.*[\u4e00-\u9fa5]+.*$/.test(that.text()); //判断是否包含中文
+						let num = /[0-9]+.?[0-9]/g.test(that.text())
+						if (fill === '#FFFFFF' && !isNaN(txt) && !zn) {
+							that.attr('fill', '#000');
+						}
+						else if(fill === '#FFFFFF' && bracket != -1){
+							that.attr('fill', '#000');
+						}
+					}
+					for (let i = 0; i < $('#data text').length; i++) {
+						let that = $('#data text').eq(i);
+						let fill = that.attr('fill');
+						if (fill === '#3B8646') {
+							that.attr('fill', '#FFFFFF');
+						}else{
+							that.attr('fill', '#000');
+						}
+					}
+				}
+			})
+		},
 		methods: {
 			closed() {
 				clearInterval(this.interval);

+ 75 - 40
src/views/WindSite/components/boosterstation/pl1.vue

@@ -1518,163 +1518,163 @@
 							</g>
 							<g id="data">
 								<g>
-									<text transform="matrix(1 0 0 1 150.9871 155.4553)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 150.9871 155.4553)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										-.--
 									</text>
-									<text transform="matrix(1 0 0 1 150.9875 114.092)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 150.9875 114.092)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										-.--
 									</text>
-									<text transform="matrix(1 0 0 1 150.9871 134.7874)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 150.9871 134.7874)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										-.--
 									</text>
-									<text transform="matrix(1 0 0 1 150.9871 175.9592)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 150.9871 175.9592)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										-.--
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 752.262 119.8499)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 752.262 119.8499)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1laayt }}
 									</text>
-									<text transform="matrix(1 0 0 1 752.2615 139.5452)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 752.2615 139.5452)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1pkwyt }}
 									</text>
-									<text transform="matrix(1 0 0 1 752.2615 160.2112)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 752.2615 160.2112)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1qkvaryt }}
 									</text>
-									<text transform="matrix(1 0 0 1 752.2615 180.7151)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 752.2615 180.7151)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1cosyt }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1368.6311 109.6018)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1368.6311 109.6018)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1laawg }}
 									</text>
-									<text transform="matrix(1 0 0 1 1368.6311 129.2971)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1368.6311 129.2971)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1pkwwg }}
 									</text>
-									<text transform="matrix(1 0 0 1 1368.6311 149.9651)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1368.6311 149.9651)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1qkvarwg }}
 									</text>
-									<text transform="matrix(1 0 0 1 1368.6311 170.469)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1368.6311 170.469)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1coswg }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 251.8352 278.092)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 251.8352 278.092)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1blaacy }}
 									</text>
-									<text transform="matrix(1 0 0 1 251.8347 296.7874)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 251.8347 296.7874)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1bpcy }}
 									</text>
-									<text transform="matrix(1 0 0 1 251.8347 317.4553)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 251.8347 317.4553)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1bqcy }}
 									</text>
-									<text transform="matrix(1 0 0 1 251.8347 337.9592)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 251.8347 337.9592)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1bcoscy }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 519.3879 278.8108)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 519.3879 278.8108)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1laagf1 }}
 									</text>
-									<text transform="matrix(1 0 0 1 519.3875 297.5061)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 519.3875 297.5061)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1pkwgf1 }}
 									</text>
-									<text transform="matrix(1 0 0 1 519.3875 318.1741)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 519.3875 318.1741)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1qkvargf1 }}
 									</text>
-									<text transform="matrix(1 0 0 1 519.3875 338.678)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 519.3875 338.678)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1cosgf1 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 778.0662 278.8108)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 778.0662 278.8108)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1laagf2 }}
 									</text>
-									<text transform="matrix(1 0 0 1 778.0657 297.5061)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 778.0657 297.5061)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1pkwgf2 }}
 									</text>
-									<text transform="matrix(1 0 0 1 778.0657 318.1741)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 778.0657 318.1741)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1qkvargf2 }}
 									</text>
-									<text transform="matrix(1 0 0 1 778.0657 338.678)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 778.0657 338.678)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1cosgf2 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1053.7756 279.8147)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1053.7756 279.8147)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1laagf3 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1053.7756 298.51)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1053.7756 298.51)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1pkwgf3 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1053.7756 319.176)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1053.7756 319.176)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1qkvargf3 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1053.7756 339.6799)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1053.7756 339.6799)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1cosgf3 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1360.9846 279.8147)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1360.9846 279.8147)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1laagf4 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1360.9846 298.51)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1360.9846 298.51)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1pkwgf4 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1360.9846 319.176)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1360.9846 319.176)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1qkvargf4 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1360.9846 339.6799)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1360.9846 339.6799)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1cosgf4 }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1700.4709 277.8147)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1700.4709 277.8147)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1laagf5 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1700.4709 298.51)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1700.4709 298.51)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1pkwgf5 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1700.4709 319.176)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1700.4709 319.176)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1qkvargf5 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1700.4709 339.6799)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1700.4709 339.6799)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl1cosgf5 }}
 									</text>
@@ -1845,9 +1845,8 @@
 </template>
 <script>
 	import previewPicture from "../previewPicture.vue";
-	import {
-		BoosterStation
-	} from "./BoosterStation";
+	import {BoosterStation} from "./BoosterStation";
+	import $ from "jquery";
 	export default {
 		components: {
 			previewPicture,
@@ -1862,10 +1861,37 @@
 		},
 		created() {
 			this.boosterStation = new BoosterStation();
-
 			this.refreshTPData();
 			this.interval = setInterval(this.refreshTPData, 1000);
 		},
+		mounted() {
+			this.$nextTick(() => {
+				if (this.$store.state.themeName === "light") {
+					for (let i = 0; i < $('#other text').length; i++) {
+						let that = $('#other text').eq(i);
+						let fill = that.attr('fill');
+						let txt = parseInt(that.text());//数字转整数
+						let bracket = that.text().indexOf('(');//判断是否包含(
+						let zn = /.*[\u4e00-\u9fa5]+.*$/.test(that.text()); //判断是否包含中文
+						if (fill === '#FFFFFF' && !isNaN(txt) && !zn) {
+							that.attr('fill', '#000');
+						}
+						else if(fill === '#FFFFFF' && bracket != -1){
+							that.attr('fill', '#000');
+						}
+					}
+					for (let i = 0; i < $('#data text').length; i++) {
+						let that = $('#data text').eq(i);
+						let fill = that.attr('fill');
+						if (fill === '#3B8646') {
+							that.attr('fill', '#FFFFFF');
+						}else{
+							that.attr('fill', '#000');
+						}
+					}
+				}
+			})
+		},
 		methods: {
 			closed() {
 				clearInterval(this.interval);
@@ -1903,4 +1929,13 @@
 		width: 90%;
 		height: 90%;
 	}
+	.light #other line[stroke="#FFFFFF"]{
+		stroke:#000000;
+	}
+	.light #other rect[stroke="#F7F8F8"]{
+		stroke:#000000;
+	}
+	.light #other text[fill="#FFFFFF"][font-size="11.6452"]{
+		fill:#000000;
+	}
 </style>

+ 69 - 94
src/views/WindSite/components/boosterstation/pl2.vue

@@ -4,11 +4,11 @@
 			<el-col :span="24">
 				<previewPicture>
 					<template v-slot:svg>
-<svg class="svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+						<svg class="svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
 							version="1.1" id="图层_1" x="0px" y="0px" width="1853.732px" height="885.063px"
 							viewBox="0 0 1853.732 885.063" enable-background="new 0 0 1853.732 885.063"
 							xml:space="preserve">
-							<g id="other_1_">
+							<g id="other">
 								<path fill="none" stroke="#42B0A8" stroke-width="2.5" stroke-miterlimit="10"
 									d="M236.472,205.068"></path>
 								<path fill="none" stroke="#42B0A8" stroke-width="2.5" stroke-miterlimit="10"
@@ -54,51 +54,19 @@
 								<rect x="1441.419" y="666.985" fill="#CAA51A" width="190.634" height="2.25"></rect>
 								<text transform="matrix(1 0 0 1 88.1892 770.7983)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									输入电压(
-								</text>
-								<text transform="matrix(1 0 0 1 153.2004 771.2349)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									V
-								</text>
-								<text transform="matrix(1 0 0 1 161.3142 771.2349)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									输入电压(V):
 								</text>
 								<text transform="matrix(1 0 0 1 77.5603 804.8208)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									输出功率(
-								</text>
-								<text transform="matrix(1 0 0 1 142.571 805.2573)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									kW
-								</text>
-								<text transform="matrix(1 0 0 1 161.3142 805.2573)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									输出功率(kW):
 								</text>
 								<text transform="matrix(1 0 0 1 70.1711 838.8452)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									日发电量(
-								</text>
-								<text transform="matrix(1 0 0 1 135.1814 839.2817)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									kWh
-								</text>
-								<text transform="matrix(1 0 0 1 161.3142 839.2817)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									日发电量(kWh):
 								</text>
 								<text transform="matrix(1 0 0 1 64.9802 872.8667)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									总发电量(
-								</text>
-								<text transform="matrix(1 0 0 1 129.9919 873.3032)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									MWh
-								</text>
-								<text transform="matrix(1 0 0 1 161.3142 873.3032)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									总发电量(MWh):
 								</text>
 								<rect x="4.795" y="23.851" fill="#CAA51A" width="1848.938" height="2.25" />
 								<text transform="matrix(1 0 0 1 2.7859 16.979)" fill="#D0D0D0"
@@ -2138,51 +2106,19 @@
 									font-family="'MicrosoftYaHei'" font-size="13.5" letter-spacing="19"></text>
 								<text transform="matrix(1 0 0 1 88.7712 396.1313)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									输入电压(
-								</text>
-								<text transform="matrix(1 0 0 1 153.7795 396.5679)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									V
-								</text>
-								<text transform="matrix(1 0 0 1 161.8962 396.5679)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									输入电压(V):
 								</text>
 								<text transform="matrix(1 0 0 1 78.1418 430.1538)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									输出功率(
-								</text>
-								<text transform="matrix(1 0 0 1 143.1506 430.5903)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									kW
-								</text>
-								<text transform="matrix(1 0 0 1 161.8962 430.5903)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									输出功率(kW):
 								</text>
 								<text transform="matrix(1 0 0 1 70.7517 464.1782)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									日发电量(
-								</text>
-								<text transform="matrix(1 0 0 1 135.7629 464.6147)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									kWh
-								</text>
-								<text transform="matrix(1 0 0 1 161.8962 464.6147)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									日发电量(kWh):
 								</text>
 								<text transform="matrix(1 0 0 1 65.5623 498.1997)" fill="#FFFFFF"
 									font-family="'MicrosoftYaHei'" font-size="15">
-									总发电量(
-								</text>
-								<text transform="matrix(1 0 0 1 130.571 498.6362)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="12">
-									MWh
-								</text>
-								<text transform="matrix(1 0 0 1 161.8962 498.6362)" fill="#FFFFFF"
-									font-family="'MicrosoftYaHei'" font-size="15">
-									):
+									总发电量(MWh):
 								</text>
 							</g>
 							<g id="kg">
@@ -2722,67 +2658,67 @@
 							</g>
 							<g id="data">
 								<g>
-									<text transform="matrix(1 0 0 1 201.0178 63.3677)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 201.0178 63.3677)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										-.--
 									</text>
-									<text transform="matrix(1 0 0 1 201.0173 82.063)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 201.0173 82.063)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										-.--
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 961.53 68.7778)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 961.53 68.7778)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl2laagf6 }}
 									</text>
-									<text transform="matrix(1 0 0 1 961.53 86.4722)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 961.53 86.4722)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl2pkwgf6 }}
 									</text>
-									<text transform="matrix(1 0 0 1 961.53 106.9009)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 961.53 106.9009)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										-.--
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1629.5847 56.9653)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1629.5847 56.9653)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl2laawg2 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1629.5828 74.6606)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1629.5828 74.6606)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl2pkwwg2 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1629.5828 95.0884)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1629.5828 95.0884)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl2qkvar }}
 									</text>
-									<text transform="matrix(1 0 0 1 1629.5828 115.1001)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1629.5828 115.1001)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl2cos }}
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1543.8347 176.269)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1543.8347 176.269)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl2laagf7 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1543.8328 193.9634)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1543.8328 193.9634)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl2pkwgf7 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1543.8328 214.3921)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1543.8328 214.3921)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										-.--
 									</text>
 								</g>
 								<g>
-									<text transform="matrix(1 0 0 1 1756.3894 173.397)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1756.3894 173.397)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl2laa326 }}
 									</text>
-									<text transform="matrix(1 0 0 1 1756.3894 191.0923)" fill="#1A823B"
+									<text transform="matrix(1 0 0 1 1756.3894 191.0923)" fill="#3B8646"
 										font-family="'MicrosoftYaHei'" font-size="9.463">
 										{{ ajaxData.pl2pkw326 }}
 									</text>
@@ -3558,7 +3494,8 @@
 </template>
 <script>
 	import previewPicture from "../previewPicture.vue";
-	import { BoosterStation } from "./BoosterStation";
+	import {BoosterStation} from "./BoosterStation";
+	import $ from "jquery";
 	export default {
 		components: {
 			previewPicture
@@ -3573,19 +3510,47 @@
 		},
 		created() {
 			this.boosterStation = new BoosterStation();
-	
 			this.refreshTPData()
 			this.interval = setInterval(this.refreshTPData, 3000)
 		},
+		mounted() {
+			this.$nextTick(() => {
+				if (this.$store.state.themeName === "light") {
+					for (let i = 0; i < $('#other text').length; i++) {
+						let that = $('#other text').eq(i);
+						let fill = that.attr('fill');
+						let txt = parseInt(that.text());//数字转整数
+						let bracket = that.text().indexOf('(');//判断是否包含(
+						let zn = /.*[\u4e00-\u9fa5]+.*$/.test(that.text()); //判断是否包含中文
+						let num = /[0-9]+.?[0-9]/g.test(that.text())
+						if (fill === '#FFFFFF' && !isNaN(txt) && !zn) {
+							that.attr('fill', '#000');
+						}
+						else if(fill === '#FFFFFF' && bracket != -1){
+							that.attr('fill', '#000');
+						}
+					}
+					for (let i = 0; i < $('#data text').length; i++) {
+						let that = $('#data text').eq(i);
+						let fill = that.attr('fill');
+						if (fill === '#3B8646') {
+							that.attr('fill', '#FFFFFF');
+						}else{
+							that.attr('fill', '#000');
+						}
+					}
+				}
+			})
+		},
 		methods: {
 			closed() {
 				clearInterval(this.interval);
 			},
 			refreshTPData() {
-				this.boosterStation.getDatas("PL2_GDC",this.bindValue);
+				this.boosterStation.getDatas("PL2_GDC", this.bindValue);
 			},
-			bindValue(msg){
-				this.ajaxData=msg;
+			bindValue(msg) {
+				this.ajaxData = msg;
 			},
 		}
 	};
@@ -3610,8 +3575,18 @@
 	}
 
 	.svg {
-		margin-left:5%;
+		margin-left: 5%;
 		width: 90%;
 		height: 90%;
 	}
+	
+	.light #other line[stroke="#FFFFFF"]{
+		stroke:#000000;
+	}
+	.light #other rect[stroke="#F7F9F9"]{
+		stroke:#000000;
+	}
+	.light #other text[fill="#FFFFFF"][font-size="11.6452"]{
+		fill:#000000;
+	}
 </style>

File diff suppressed because it is too large
+ 2719 - 4043
src/views/WindSite/components/boosterstation/qs.vue


File diff suppressed because it is too large
+ 1918 - 2494
src/views/WindSite/components/boosterstation/sbdl.vue


File diff suppressed because it is too large
+ 2691 - 1795
src/views/WindSite/components/boosterstation/sbq.vue


File diff suppressed because it is too large
+ 4271 - 12057
src/views/WindSite/components/boosterstation/xh.vue


File diff suppressed because it is too large
+ 3832 - 10279
src/views/WindSite/components/boosterstation/xs.vue


+ 12 - 3
src/views/WindSite/components/generalappearance/dwk.vue

@@ -65,7 +65,7 @@
 									<rect x="619.117" y="1.012" opacity="0.7" fill="#600D29" enable-background="new    "
 										width="75.166" height="20.817"></rect>
 									<text transform="matrix(1 0 0 1 637.8503 15.2034)" fill="#FFFFFF"
-										font-family="'MicrosoftYaHei'" font-size="12.5667">简特线</text>
+										font-family="'MicrosoftYaHei'" font-size="12.566">简特线</text>
 								</g>
 								<g>
 									<rect x="529.783" y="145.009" fill="none" stroke="#545281" stroke-miterlimit="10"
@@ -73,7 +73,7 @@
 									<rect x="529.783" y="145.009" opacity="0.7" fill="#2F3068"
 										enable-background="new    " width="52.5" height="20.818"></rect>
 									<text transform="matrix(1 0 0 1 535.7732 159.2014)" fill="#FFFFFF"
-										font-family="'MicrosoftYaHei'" font-size="12.5667">#1进线</text>
+										font-family="'MicrosoftYaHei'" font-size="12.566">#1进线</text>
 								</g>
 								<g>
 									<text transform="matrix(1 0 0 1 670.8552 83.5012)" fill="#FFFFFF"
@@ -89,7 +89,7 @@
 									<rect x="718.783" y="145.009" opacity="0.7" fill="#2F3068"
 										enable-background="new    " width="52.5" height="20.818"></rect>
 									<text transform="matrix(1 0 0 1 724.7732 159.2014)" fill="#FFFFFF"
-										font-family="'MicrosoftYaHei'" font-size="12.5667">#2进线</text>
+										font-family="'MicrosoftYaHei'" font-size="12.566">#2进线</text>
 								</g>
 								<rect x="407.235" y="266.346" opacity="0.9" fill="#1B2522" enable-background="new    "
 									width="80.861" height="12.989"></rect>
@@ -1772,4 +1772,13 @@
 		width: 90%;
 		height: 90%;
 	}
+	.light #other text[font-size="12.5667"],
+	.light #other text[font-size="11.6359"],
+	.light #other text[font-size="13.9275"]{
+		fill:#000000;
+	}
+	.light #data text{
+		fill:#FFFFFF;
+	}
+	
 </style>

+ 11 - 4
src/views/WindSite/components/generalappearance/hzj.vue

@@ -5,16 +5,16 @@
 				<previewPicture v-if="datas">
 					<template v-slot:svg>
 						<svg class="svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="图层_1" x="0px" y="0px" width="1111.711px" height="550.14px" viewBox="0 0 1111.711 550.14" enable-background="new 0 0 1111.711 550.14" xml:space="preserve">
-						<g>
+						<g id="other">
 							<g>
 								<polygon fill="#B21F63" points="1003.109,29.538 1009.84,4.413 1016.568,29.538   "/>
 								<rect x="1008.969" y="29.538" fill="#B21F63" width="1.537" height="50.888"/>
 								<rect x="500.114" y="80.427" fill="#B21F63" width="595.531" height="1.537"/>
-								<text transform="matrix(1 0 0 1 1032.9893 52.8999)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="14.0484">105</text>
+								<text transform="matrix(1 0 0 1 1032.9893 52.8999)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="14.048">105</text>
 							</g>
 							<g>
 								<rect x="71.679" y="130.277" fill="#B6065C" width="862.731" height="1.537"/>
-								<text transform="matrix(1 0 0 1 455.7104 111.1514)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="14.0484"> 361 </text>
+								<text transform="matrix(1 0 0 1 455.7104 111.1514)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="14.048"> 361 </text>
 								<g>
 									<rect x="527.506" y="97.923" fill="none" stroke="#4F4B7F" stroke-miterlimit="10" width="58.69" height="23.273"/>
 									<rect x="527.506" y="97.923" opacity="0.7" fill="#212967" enable-background="new    " width="58.69" height="23.273"/>
@@ -1965,7 +1965,7 @@
 							</g>
 							<g>
 								<rect x="71.365" y="364.197" fill="#B6065C" width="862.732" height="1.537"/>
-								<text transform="matrix(1 0 0 1 455.3984 345.0713)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="14.0484"> 362 </text>
+								<text transform="matrix(1 0 0 1 455.3984 345.0713)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="14.048"> 362 </text>
 								<g>
 									<rect x="527.194" y="331.843" fill="none" stroke="#4F4B7F" stroke-miterlimit="10" width="58.69" height="23.273"/>
 									<rect x="527.194" y="331.843" opacity="0.7" fill="#212967" enable-background="new    " width="58.69" height="23.273"/>
@@ -5250,4 +5250,11 @@
 		width: 90%;
 		height: 90%;
 	}
+	.light #other text[font-size="14.048"],
+	.light #other text[font-size="3.4688"]{
+		fill:#000000;
+	}
+	.light #alldata text{
+		fill:#FFFFFF;
+	}
 </style>

+ 11 - 4
src/views/WindSite/components/generalappearance/mch.vue

@@ -24,25 +24,25 @@
 								<g>
 									<rect x="729.21" y="112.439" fill="none" stroke="#545281" stroke-miterlimit="10" width="52.5" height="20.818"></rect>
 									<rect x="729.21" y="112.439" opacity="0.7" fill="#2F3068" enable-background="new    " width="52.5" height="20.818"></rect>
-									<text transform="matrix(1 0 0 1 735.199 126.6311)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">#2进线</text>
+									<text transform="matrix(1 0 0 1 735.199 126.6311)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.566">#2进线</text>
 								</g>
 								<text transform="matrix(1 0 0 1 338.3215 105.7727)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">512</text>
 								<g>
 									<rect x="333.543" y="112.439" fill="none" stroke="#545281" stroke-miterlimit="10" width="52.5" height="20.818"></rect>
 									<rect x="333.543" y="112.439" opacity="0.7" fill="#2F3068" enable-background="new    " width="52.5" height="20.818"></rect>
-									<text transform="matrix(1 0 0 1 339.5325 126.6311)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">#1进线</text>
+									<text transform="matrix(1 0 0 1 339.5325 126.6311)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.566">#1进线</text>
 								</g>
 								<text transform="matrix(1 0 0 1 870.8694 105.7727)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">526</text>
 								<g>
 									<rect x="870.867" y="112.439" fill="none" stroke="#545281" stroke-miterlimit="10" width="52.5" height="20.818"></rect>
 									<rect x="870.867" y="112.439" opacity="0.7" fill="#2F3068" enable-background="new    " width="52.5" height="20.818"></rect>
-									<text transform="matrix(1 0 0 1 876.8577 126.6311)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">#3进线</text>
+									<text transform="matrix(1 0 0 1 876.8577 126.6311)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.566">#3进线</text>
 								</g>
 								<text transform="matrix(1 0 0 1 1354.3889 105.7727)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">527</text>
 								<g>
 									<rect x="1354.389" y="112.439" fill="none" stroke="#545281" stroke-miterlimit="10" width="52.5" height="20.818"></rect>
 									<rect x="1354.389" y="112.439" opacity="0.7" fill="#2F3068" enable-background="new    " width="52.5" height="20.818"></rect>
-									<text transform="matrix(1 0 0 1 1360.3772 126.6311)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">#4进线</text>
+									<text transform="matrix(1 0 0 1 1360.3772 126.6311)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.566">#4进线</text>
 								</g>
 								<text transform="matrix(1 0 0 1 190.8508 420.1721)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="13.9276">#3</text>
 								
@@ -1573,4 +1573,11 @@
 		width: 90%;
 		height: 90%;
 	}
+	.light #other text[font-size="12.5667"],
+	.light #other text[font-size="13.9276"]{
+		fill:#000000;
+	}
+	.light #data text{
+		fill:#FFFFFF;
+	}
 </style>

+ 11 - 5
src/views/WindSite/components/generalappearance/mhs.vue

@@ -5,7 +5,7 @@
         <previewPicture v-if="datas">
           <template v-slot:svg>
            <svg class="svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="图层_1" x="0px" y="0px" width="1410.332px" height="526.828px" viewBox="0 70 1410.332 526.828" enable-background="new 0 0 1395.332 526.828" xml:space="preserve">
-           <g id="s_x5F_fan">
+           <g id="fan">
            	<g>
            		<g>
            			<path fill="#E1E1E0" d="M1328.938,21.843l-0.862,18c0,0,0.688,0.271,1.29,0.271c0.624,0.002,1.346-0.263,1.346-0.263     l-0.715-18.006L1328.938,21.843L1328.938,21.843z"></path>
@@ -1561,10 +1561,10 @@
            </g>
            <g id="wtnum">
            	<text transform="matrix(1 0 0 1 850.0452 517.7383)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[25].wtnum}}</text>
-           	<text transform="matrix(1 0 0 1 32.9036 402.7031)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[0].wtnum}}</text>
-           	<text transform="matrix(1 0 0 1 78.9104 402.7031)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[1].wtnum}}</text>
-           	<text transform="matrix(1 0 0 1 132.3723 402.7031)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[2].wtnum}}</text>
-           	<text transform="matrix(1 0 0 1 178.3792 402.7031)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[3].wtnum}}</text>
+           	<text transform="matrix(1 0 0 1 28.9036 402.7031)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[0].wtnum}}</text>
+           	<text transform="matrix(1 0 0 1 74.9104 402.7031)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[1].wtnum}}</text>
+           	<text transform="matrix(1 0 0 1 128.3723 402.7031)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[2].wtnum}}</text>
+           	<text transform="matrix(1 0 0 1 174.3792 402.7031)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[3].wtnum}}</text>
            	<text transform="matrix(1 0 0 1 229.5286 402.7031)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[4].wtnum}}</text>
            	<text transform="matrix(1 0 0 1 275.5354 402.7031)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[5].wtnum}}</text>
            	<text transform="matrix(1 0 0 1 383.0999 402.7031)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[7].wtnum}}</text>
@@ -1727,4 +1727,10 @@ export default {
   width: 90%;
   height: 90%;
 }
+
+.light #other text[font-size="17.3469"],
+.light #other text[font-size="16.5927"],
+.light #other text[font-size="10.7967"]{
+	fill:#000000;
+}
 </style>

+ 5 - 0
src/views/WindSite/components/generalappearance/nss.vue

@@ -3752,4 +3752,9 @@ export default {
   width: 90%;
   height: 90%;
 }
+.light #other text[font-size="17.3469"],
+.light #other text[font-size="16.5927"],
+.light #other text[font-size="12.3679"]{
+	fill:#000000;
+}
 </style>

+ 16 - 8
src/views/WindSite/components/generalappearance/pl1.vue

@@ -28,32 +28,32 @@
 							<g>
 								<rect x="710.621" fill="none" stroke="#BE2852" stroke-miterlimit="10" width="75.166" height="20.818"></rect>
 								<rect x="710.621" opacity="0.7" fill="#680325" width="75.166" height="20.818"></rect>
-								<text transform="matrix(1 0 0 1 729.353 14.1914)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">因特线</text>
+								<text transform="matrix(1 0 0 1 729.353 14.1914)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.566">因特线</text>
 							</g>
 							<g>
 								<rect x="444.811" y="166.997" fill="none" stroke="#4F4B7F" stroke-miterlimit="10" width="52.5" height="20.818"></rect>
 								<rect x="444.811" y="166.997" opacity="0.7" fill="#212967" width="52.5" height="20.818"></rect>
-								<text transform="matrix(1 0 0 1 450.7998 181.189)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">#1进线</text>
+								<text transform="matrix(1 0 0 1 450.7998 181.189)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.566">#1进线</text>
 							</g>
 							<g>
 								<rect x="554.811" y="166.997" fill="none" stroke="#4F4B7F" stroke-miterlimit="10" width="52.5" height="20.818"></rect>
 								<rect x="554.811" y="166.997" opacity="0.7" fill="#212967" width="52.5" height="20.818"></rect>
-								<text transform="matrix(1 0 0 1 560.7998 181.189)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">#2进线</text>
+								<text transform="matrix(1 0 0 1 560.7998 181.189)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.566">#2进线</text>
 							</g>
 							<g>
 								<rect x="666.811" y="166.997" fill="none" stroke="#4F4B7F" stroke-miterlimit="10" width="52.5" height="20.818"></rect>
 								<rect x="666.811" y="166.997" opacity="0.7" fill="#212967" width="52.5" height="20.818"></rect>
-								<text transform="matrix(1 0 0 1 672.7998 181.189)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">#3进线</text>
+								<text transform="matrix(1 0 0 1 672.7998 181.189)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.566">#3进线</text>
 							</g>
 							<g>
 								<rect x="783.811" y="166.997" fill="none" stroke="#4F4B7F" stroke-miterlimit="10" width="52.5" height="20.818"></rect>
 								<rect x="783.811" y="166.997" opacity="0.7" fill="#212967" width="52.5" height="20.818"></rect>
-								<text transform="matrix(1 0 0 1 789.8008 181.189)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">#4进线</text>
+								<text transform="matrix(1 0 0 1 789.8008 181.189)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.566">#4进线</text>
 							</g>
 							<g>
 								<rect x="893.811" y="166.997" fill="none" stroke="#4F4B7F" stroke-miterlimit="10" width="52.5" height="20.818"></rect>
 								<rect x="893.811" y="166.997" opacity="0.7" fill="#212967" width="52.5" height="20.818"></rect>
-								<text transform="matrix(1 0 0 1 899.8008 181.189)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.5667">#5进线</text>
+								<text transform="matrix(1 0 0 1 899.8008 181.189)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="12.566">#5进线</text>
 							</g>
 							<text transform="matrix(1 0 0 1 171.71 280.6255)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="14.9672">#3</text>
 							
@@ -798,7 +798,7 @@
 								<text transform="matrix(1 0 0 1 693.772 403.0767)"><tspan x="0" y="0" fill="#97A1A2" font-family="'MicrosoftYaHei'" font-size="7.5491">kw</tspan><tspan x="0" y="14.848" fill="#97A1A2" font-family="'MicrosoftYaHei'" font-size="7.5491">kwh</tspan><tspan x="0" y="29.695" fill="#97A1A2" font-family="'MicrosoftYaHei'" font-size="7.5491">mwh</tspan></text>
 							</g>
 						</g>
-						<g id="data">
+						<g id="arrow">
 							<rect x="742.516" y="55.864" fill="#E60612" width="11.375" height="22.875"></rect>
 							<rect x="516.239" y="129.576" fill="#E60612" width="13.817" height="27.979"></rect>
 							<rect x="631.573" y="129.576" fill="#E60612" width="13.817" height="27.979"></rect>
@@ -806,7 +806,7 @@
 							<rect x="855.164" y="129.576" fill="#E60612" width="13.816" height="27.979"></rect>
 							<rect x="968.627" y="129.576" fill="#E60612" width="13.816" height="27.979"></rect>
 						</g>
-						<g id="arrow">
+						<g id="data">
 							<g id="_x23_1">
 								<g>
 									<text transform="matrix(1 0 0 1 62.7603 305.3823)" fill="#1A823B" font-family="'MicrosoftYaHei'" font-size="7.1437">0</text>
@@ -1160,4 +1160,12 @@
 		width: 90%;
 		height: 90%;
 	}
+	.light #other text[font-size="12.5667"],
+	.light #other text[font-size="14.9672"],
+	.light #other text[font-size="12.5045"]{
+		fill:#000000;
+	}
+	.light #data text{
+		fill:#FFFFFF;
+	}
 </style>

+ 8 - 0
src/views/WindSite/components/generalappearance/pl2.vue

@@ -1971,4 +1971,12 @@
 		width: 90%;
 		height: 90%;
 	}
+	.light #other text[font-size="12.5667"],
+	.light #other text[font-size="14.9672"],
+	.light #other text[font-size="12.5045"]{
+		fill:#000000;
+	}
+	.light #data text{
+		fill:#FFFFFF;
+	}
 </style>

+ 14 - 11
src/views/WindSite/components/generalappearance/qs.vue

@@ -5,7 +5,6 @@
         <previewPicture v-if="datas">
           <template v-slot:svg>
             <svg class="svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" id="图层_1" x="0px" y="0px" width="1830px" height="804px" viewBox="0 50 1830 804" enable-background="new 0 0 1830 804" xml:space="preserve">
-				<g xmlns="http://www.w3.org/2000/svg">
 					<g id="s_x5F_fan">
 						<g>
 							<g>
@@ -165,6 +164,7 @@
 							</g>
 						</g>
 					</g>
+            <g id="other">
 					<text transform="matrix(1 0 0 1 1536.8975 35.3689)" fill="#FFFFFF" font-family="'MicrosoftYaHeiLight'" font-size="12.6314">运</text>
 					<text transform="matrix(1 0 0 1 1536.8975 50.5266)" fill="#FFFFFF" font-family="'MicrosoftYaHeiLight'" font-size="12.6314">行</text>
 					<text transform="matrix(1 0 0 1 1588.4746 35.3689)" fill="#FFFFFF" font-family="'MicrosoftYaHeiLight'" font-size="12.6314">待</text>
@@ -177,8 +177,6 @@
 					<text transform="matrix(1 0 0 1 1750.082 50.5266)" fill="#FFFFFF" font-family="'MicrosoftYaHeiLight'" font-size="12.6314">电</text>
 					<text transform="matrix(1 0 0 1 1802.7109 35.3689)" fill="#FFFFFF" font-family="'MicrosoftYaHeiLight'" font-size="12.6314">中</text>
 					<text transform="matrix(1 0 0 1 1802.7109 50.5266)" fill="#FFFFFF" font-family="'MicrosoftYaHeiLight'" font-size="12.6314">断</text>
-				</g>
-            <g id="other">
             	<text transform="matrix(1 0 0 1 610.9976 249.981)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="14">35KV Ⅱ母线</text>
             	<text transform="matrix(1 0 0 1 944.9141 249.981)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="14">35KV Ⅱ母线</text>
             	<text transform="matrix(1 0 0 1 686.1826 53.3823)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="14">110KV 母线</text>
@@ -717,14 +715,14 @@
             	<polygon fill="#DFAE5B" points="949.049,127.577 969.497,122.762 960.136,141.57  "/>
             </g>
 			<g id="wtnum">
-				<text transform="matrix(1 0 0 1 34.6865 279.2363)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[0].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 35.6108 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[1].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 102.1655 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[2].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 175.8716 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[3].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 233.8633 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[4].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 299.2939 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[5].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 430.29 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[7].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 497.4434 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[8].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 30.6865 279.2363)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[0].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 31.6108 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[1].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 98.1655 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[2].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 171.8716 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[3].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 229.8633 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[4].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 295.2939 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[5].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 426.29 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[7].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 493.4434 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[8].wtnum}}</text>
 				<text transform="matrix(1 0 0 1 561.4565 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[9].wtnum}}</text>
 				<text transform="matrix(1 0 0 1 627.7656 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[10].wtnum}}</text>
 				<text transform="matrix(1 0 0 1 368.2104 403.3618)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[6].wtnum}}</text>
@@ -3506,4 +3504,9 @@ export default {
   width: 90%;
   height: 90%;
 }
+.light #other text[font-size="14"],
+.light #other text[font-size="16.5927"],
+.light #other text[font-size="12.6314"]{
+	fill:#000000;
+}
 </style>

+ 10 - 5
src/views/WindSite/components/generalappearance/sbq.vue

@@ -784,13 +784,13 @@
 				<text transform="matrix(1 0 0 1 1270.0862 376.5137)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[80].wtnum}}</text>
 				<text transform="matrix(1 0 0 1 1700.2542 376.8105)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[89].wtnum}}</text>
 				<text transform="matrix(1 0 0 1 1748.0862 376.8105)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[90].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 16.0662 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[0].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 62.073 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[1].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 110.5349 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[2].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 156.5417 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[3].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 12.0662 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[0].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 58.073 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[1].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 106.5349 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[2].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 152.5417 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[3].wtnum}}</text>
 				<text transform="matrix(1 0 0 1 196.6912 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[4].wtnum}}</text>
 				<text transform="matrix(1 0 0 1 242.698 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[5].wtnum}}</text>
-				<text transform="matrix(1 0 0 1 346.2625 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[7].wtnum}}</text>
+				<text transform="matrix(1 0 0 1 342.2625 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[7].wtnum}}</text>
 				<text transform="matrix(1 0 0 1 392.2693 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[8].wtnum}}</text>
 				<text transform="matrix(1 0 0 1 438.4177 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[9].wtnum}}</text>
 				<text transform="matrix(1 0 0 1 491.4792 127.0254)" fill="#FFFFFF" font-family="'MicrosoftYaHei'" font-size="17.3469">{{datas[10].wtnum}}</text>
@@ -4444,4 +4444,9 @@ export default {
   width: 90%;
   height: 90%;
 }
+.light #other text[font-size="17.3469"],
+.light #other text[font-size="16.5927"],
+.light #other text[font-size="10.7967"]{
+	fill:#000000;
+}
 </style>

+ 12 - 6
src/views/WindSite/components/generalappearance/xh.vue

@@ -32,7 +32,7 @@
 									<rect x="1004.688" y="87.653" opacity="0.7" fill="#212967" width="52.5"
 										height="20.818" />
 									<text transform="matrix(1 0 0 1 1010.6763 101.8457)" fill="#FFFFFF"
-										font-family="'MicrosoftYaHei'" font-size="12.5667">
+										font-family="'MicrosoftYaHei'" font-size="12.566">
 										#1进线
 									</text>
 								</g>
@@ -6029,7 +6029,7 @@ gg==" transform="matrix(0.24 0 0 0.24 1029.5508 430.3193)"></image>
 									<rect x="357.188" y="87.653" opacity="0.7" fill="#212967" width="52.5"
 										height="20.818" />
 									<text transform="matrix(1 0 0 1 363.1763 101.8457)" fill="#FFFFFF"
-										font-family="'MicrosoftYaHei'" font-size="12.5667">
+										font-family="'MicrosoftYaHei'" font-size="12.566">
 										#2进线
 									</text>
 								</g>
@@ -14166,12 +14166,12 @@ YII=" transform="matrix(0.24 0 0 0.24 1183.2881 191.6758)"></image>
 									</text>
 								</g>
 							</g>
-							<g id="data">
+							<g id="arrow">
 								<rect x="1314.85" y="31.309" fill="#E50612" width="15.15" height="27.441" />
 								<rect x="976.197" y="79.779" :fill="green" width="15.15" height="27.441" />
 								<rect x="328.141" y="79.779" fill="#E50612" width="15.15" height="27.441" />
 							</g>
-							<g id="arrow">
+							<g id="data">
 								<g id="_x23_3">
 									<g>
 										<text transform="matrix(1 0 0 1 166.8882 421.5078)" fill="#1B813B"
@@ -15140,8 +15140,6 @@ YII=" transform="matrix(0.24 0 0 0.24 1183.2881 191.6758)"></image>
 						return 0;
 				}
 			},
-
-
 			// 根据机箱状态返回颜色,后续如果需要区分颜色可以在这里新增逻辑返回对应的颜色值
 			getColor() {
 				return "#fff";
@@ -15185,4 +15183,12 @@ YII=" transform="matrix(0.24 0 0 0.24 1183.2881 191.6758)"></image>
 		width: 90%;
 		height: 90%;
 	}
+
+	.light #other text[font-size="12.5667"],
+	.light #other text[font-size="13.9276"]{
+		fill:#000000;
+	}
+	.light #data text{
+		fill:#FFFFFF;
+	}
 </style>

File diff suppressed because it is too large
+ 3447 - 6918
src/views/WindSite/components/generalappearance/xs.vue


+ 22 - 24
src/views/WindSite/pages/GeneralAppearance.vue

@@ -287,35 +287,33 @@ export default {
       //   });
     },
     requestData() {
-
-
-    api.monitorFindGeneralAppearance({
-         wpId: this.wpId,
-      }).then((res) => {
-            if (res.code == 200) {
+      api
+        .monitorFindGeneralAppearance({
+          wpId: this.wpId,
+        })
+        .then((res) => {
+          if (res.code == 200) {
             this.wpnumMap = res.data.fczbmap.jczbmap;
             this.fjmap = res.data.fjmap[0];
             this.zmmap = res.data.zmmap;
           }
-      });
-
-
+        });
 
-    //   let that = this;
-    //   that.API.requestData({
-    //     method: "POST",
-    //     subUrl: "monitor/findGeneralAppearance",
-    //     data: {
-    //       wpId: that.wpId,
-    //     },
-    //     success(res) {
-    //       if (res.code == 200) {
-    //         that.wpnumMap = res.data.fczbmap.jczbmap;
-    //         that.fjmap = res.data.fjmap[0];
-    //         that.zmmap = res.data.zmmap;
-    //       }
-    //     },
-    //   });
+      //   let that = this;
+      //   that.API.requestData({
+      //     method: "POST",
+      //     subUrl: "monitor/findGeneralAppearance",
+      //     data: {
+      //       wpId: that.wpId,
+      //     },
+      //     success(res) {
+      //       if (res.code == 200) {
+      //         that.wpnumMap = res.data.fczbmap.jczbmap;
+      //         that.fjmap = res.data.fjmap[0];
+      //         that.zmmap = res.data.zmmap;
+      //       }
+      //     },
+      //   });
     },
     renderBtnActiveIndex() {
       this.btnGroups.forEach((pEle, pIndex) => {

+ 2 - 0
src/views/WindSite/pages/Map.vue

@@ -312,6 +312,8 @@ export default {
         },
         success(res) {
           if (res.code == 200) {
+			  console.log(res)
+			  
             that.wpnumMap = res.data.fczbmap.jczbmap;
             that.wpInfoMap = res.data.wxssmap;
             that.fjmap = res.data.fjmap[0];

+ 226 - 0
src/views/faultManual/index.vue

@@ -0,0 +1,226 @@
+<template>
+  <div class="knowledge-1">
+    <div class="query mg-b-8">
+      <div class="query-items">
+        <div class="query-item">
+          <div class="lable">机组型号:</div>
+          <div class="search-input">
+            <el-select
+              v-model="processType"
+              clearable
+              placeholder="请选择"
+              popper-class="select"
+              @change="getWidgetArray"
+            >
+              <el-option
+                v-for="item in processTypeArray"
+                :key="item.category"
+                :label="item.name"
+                :value="item.category"
+              >
+              </el-option>
+            </el-select>
+          </div>
+        </div>
+        <div class="query-item">
+          <div class="lable">故障类型:</div>
+          <div class="search-input">
+            <el-select
+              v-model="WidgetType"
+              clearable
+              placeholder="请选择"
+              popper-class="select"
+              @change="getTableData"
+            >
+              <el-option
+                v-for="item in WidgetArray"
+                :key="item.code"
+                :label="item.widget"
+                :value="item.code"
+              >
+              </el-option>
+            </el-select>
+          </div>
+        </div>
+      </div>
+      <div class="query-actions">
+        <button class="btn green" @click="getTableData">搜索</button>
+      </div>
+    </div>
+    <div class="table-box">
+      <ComTable :data="tableData" height="85vh"></ComTable>
+    </div>
+    <div class="dialog-box">
+      <el-dialog
+        title="详细信息"
+        v-model="showDetails"
+        custom-class="modal"
+        :close-on-click-modal="false"
+      >
+        <know-info :data="infoData"></know-info>
+      </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+import ComTable from "@com/coms/table/table.vue";
+import KnowInfo from "./knowinfo.vue";
+
+export default {
+  components: { ComTable, KnowInfo },
+  data() {
+    const that = this;
+    return {
+      processTypeArray: [],
+      processType: "",
+      WidgetArray: [],
+      WidgetType: "",
+      nameArray: [],
+      nameType: "",
+      showDetails: false,
+      infoData: [],
+      tableData: {
+        column: [
+          {
+            name: "故障分类",
+            field: "widget",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "故障名称",
+            field: "name",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "故障原因",
+            field: "cause",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "处理方法",
+            field: "process",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "操作",
+            field: "",
+            is_num: false,
+            is_light: false,
+            template() {
+              return "<el-button type='text' style='cursor: pointer;'>查看详情</el-button>";
+            },
+            click(e, row) {
+              that.getDetails(row);
+            },
+          },
+        ],
+        data: [],
+      },
+    };
+  },
+  created() {
+    this.getProcessType();
+  },
+  methods: {
+    getProcessType() {
+      const that = this;
+      that.API.requestData({
+        method: "GET",
+        baseURL: "http://192.168.1.18:9002/",
+        subUrl: "know/process/type",
+        data: {},
+        success(res) {
+          that.processTypeArray = res.data;
+          that.processType = res?.data[0]?.category;
+          that.getWidgetArray();
+        },
+      });
+    },
+    getWidgetArray() {
+      const that = this;
+      that.WidgetType = [];
+      if (that.processType) {
+        that.API.requestData({
+          method: "GET",
+          baseURL: "http://192.168.1.18:9002/",
+          subUrl: "know/process/widget/list",
+          data: {
+            category: that.processType,
+          },
+          success(res) {
+            that.WidgetArray = res.data;
+            that.WidgetType = res?.data[0]?.widget;
+            that.getTableData();
+          },
+        });
+      }
+    },
+    getTableData() {
+      const that = this;
+      that.API.requestData({
+        method: "GET",
+        baseURL: "http://192.168.1.18:9002/",
+        subUrl: "know/process/name/list",
+        data: {
+          category: that.processType,
+          code: that.WidgetType,
+        },
+        success(res) {
+          that.tableData.data = res.data;
+        },
+      });
+    },
+    getDetails(row) {
+      const that = this;
+      that.API.requestData({
+        method: "GET",
+        baseURL: "http://192.168.1.18:9002/",
+        subUrl: "know/process/list",
+        data: {
+          id: row.id,
+        },
+        success(res) {
+          console.log(111, res.data);
+          if (res.data?.length) {
+            that.infoData = res.data;
+            that.showDetails = true;
+          } else {
+            that.BASE.showMsg({
+              msg: "暂无数据",
+            });
+          }
+        },
+      });
+    },
+  },
+};
+</script>
+
+<style lang="less" scope>
+@titleGray: #9ca5a8;
+@rowGray: #606769;
+@darkBack: #536268;
+.knowledge-1 {
+  .el-select {
+    width: 200px;
+  }
+  .el-input {
+    width: 200px;
+  }
+  .dialog-box {
+    height: 100%;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+  }
+  .el-dialog {
+    min-width: 500px;
+    min-height: 500px;
+  }
+}
+</style>

+ 95 - 0
src/views/faultManual/knowinfo.vue

@@ -0,0 +1,95 @@
+<template>
+  <div class="know-info">
+    <table class="table-card" v-for="(item, index) in infoObj" :key="index">
+      <tr>
+        <th>故障分类</th>
+        <td>{{ item.widget || "" }}</td>
+        <th>故障类型</th>
+        <td>{{ item.type || "" }}</td>
+      </tr>
+      <tr>
+        <th>故障名称</th>
+        <td>{{ item.name || "" }}</td>
+        <th>故障标识</th>
+        <td>{{ item.identification || "" }}</td>
+      </tr>
+      <tr>
+        <th>故障原因</th>
+        <td colspan="3">{{ item.cause || "" }}</td>
+      </tr>
+      <tr>
+        <th>处理方法</th>
+        <td colspan="3">{{ item.process || "" }}</td>
+      </tr>
+      <tr>
+        <th>风机厂家</th>
+        <td>{{ item.manufacturer || "" }}</td>
+        <th>风机型号</th>
+        <td>{{ item.model || "" }}</td>
+      </tr>
+      <tr>
+        <th>创建时间</th>
+        <td colspan="3">{{ item.createtime || "" }}</td>
+      </tr>
+    </table>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "know-info",
+  props: {
+    data: Object,
+  },
+  data() {
+    return {
+      infoObj: [],
+    };
+  },
+
+  mounted() {
+    this.infoObj = this.data;
+  },
+
+  watch: {
+    data(value) {
+      this.infoObj = value;
+    },
+  },
+};
+</script>
+
+
+<style lang="less" scoped>
+.know-info {
+  max-height: 600px;
+    overflow-y: scroll;
+  .table-card {
+    border-collapse: collapse;
+    width: 100%;
+    color: @white;
+    margin-bottom: 32px;
+
+    tr {
+      font-size: 12px;
+      th {
+        width: 120px;
+        height: 60px;
+        border: 0.093vh solid @darkgray;
+        line-height: 27px;
+        padding: 0 4px;
+      }
+      td {
+        height: 60px;
+        border: 0.093vh solid @darkgray;
+        line-height: 27px;
+        padding: 0 8px;
+      }
+    }
+  }
+
+  .el-dialog__body {
+    
+  }
+}
+</style>

+ 13 - 13
src/views/layout/Header.vue

@@ -126,19 +126,20 @@ export default {
   mounted() {
     let that = this;
     $(document).keydown((event) => {
-      if (event.keyCode == 67) {
+      if (event.keyCode == 192 ) {
         // c
-        let firstDate = new Date();
-        if (that.firsttime == 0) {
-          that.firsttime = firstDate.getTime();
-        } else {
-          var lastDate = new Date();
-          var lastTime = lastDate.getTime();
-          if (lastTime - that.firsttime < 1000) {
-            that.changeTheme();
-            that.firsttime = 0;
-          }
-        }
+        // let firstDate = new Date();
+        // if (that.firsttime == 0) {
+        //   that.firsttime = firstDate.getTime();
+        // } else {
+        //   var lastDate = new Date();
+        //   var lastTime = lastDate.getTime();
+        //   if (lastTime - that.firsttime < 1000) {
+        //     that.changeTheme();
+        //     that.firsttime = 0;
+        //   }
+        // }
+        that.changeTheme();
       }
     });
   },
@@ -154,7 +155,6 @@ export default {
       }
     },
     clickSubMenu(index, code) {
-      // console.log(index, code);
     },
     clickMenu() {
       this.dropdown = !this.dropdown;

+ 145 - 139
src/views/layout/Menu.vue

@@ -331,11 +331,11 @@ export default {
                 },
               ],
             },
-            {
-              text: "气象分析",
-              icon: "svg-qxfx",
-              path: "/decision/fs",
-            },
+              // {
+              //   text: "气象分析",
+              //   icon: "svg-qxfx",
+              //   path: "/decision/fs",
+              // },
           
             // {
             //   text: "电量预测",
@@ -398,11 +398,11 @@ export default {
                   icon: "svg-等级评估",
                   path: "/health/assess/index",
                 },
-                {
-                  text: "自组合评级",
-                  icon: "svg-wind-site",
-                  path: "/health/assess/selfEvaluate",
-                },
+                // {
+                //   text: "自组合评级",
+                //   icon: "svg-wind-site",
+                //   path: "/health/assess/selfEvaluate",
+                // },
               ],
             },
             {
@@ -494,11 +494,11 @@ export default {
                   icon: "svg-wind-site",
                   path: "/health/nxfx/phdffx",
                 },
-                {
-                  text: "切入切出分析",
-                  icon: "svg-wind-site",
-                  path: "/health/nxfx/cutAnalyse",
-                },
+                // {
+                //   text: "切入切出分析",
+                //   icon: "svg-wind-site",
+                //   path: "/health/nxfx/cutAnalyse",
+                // },
                 {
                   text: "曲线偏差率分析",
                   icon: "svg-wind-site",
@@ -537,11 +537,11 @@ export default {
                   icon: "svg-wind-site",
                   path: "/health/kkxfx/malfunctionStatistics",
                 },
-                {
-                  text: "部件评判分析",
-                  icon: "svg-wind-site",
-                  path: "/health/kkxfx/bjgltjb",
-                },
+                // {
+                //   text: "部件评判分析",
+                //   icon: "svg-wind-site",
+                //   path: "/health/kkxfx/bjgltjb",
+                // },
               ],
             },
             {
@@ -576,6 +576,11 @@ export default {
                   icon: "svg-wind-site",
                   path: "/health/MalfunctionWarning/Supervised",
                 },
+                {
+                  text: "齿轮箱故障诊断",
+                  icon: "svg-wind-site",
+                  path: "/health/MalfunctionWarning/diagnose",
+                },
               ],
             },
           ],
@@ -597,7 +602,7 @@ export default {
                 {
                   text: "全局监视",
                   icon: "svg-wind-site",
-                  path: "/save/globalMonitor",
+                  path: "/globalMonitor",
                 },
               ],
             },
@@ -607,137 +612,138 @@ export default {
         //   id: "znbb",
         //   text: "智能报表",
         //   data: [
-        // {
-        //   text: '报表首页',
-        //   icon: 'svg-wind-site',
-        //   path: '/znbb/reportPandect'
-        // },// 统计分析
-        // {
-        //   text: "统计分析",
-        //   icon: "svg-matrix",
-        //   path: "/tjfx",
-        //   children: [
+        //     {
+        //       text: '报表首页',
+        //       icon: 'svg-wind-site',
+        //       path: '/reportPandect'
+        //     },
+        //     // 统计分析
         //     {
         //       text: "统计分析",
         //       icon: "svg-matrix",
         //       path: "/tjfx",
+        //       children: [
+        //         {
+        //           text: "统计分析",
+        //           icon: "svg-matrix",
+        //           path: "/tjfx",
+        //         },
+        //         {
+        //           text: "表底值查询",
+        //           icon: "svg-matrix",
+        //           path: "/bdzcx",
+        //         },
+        //       ],
         //     },
         //     {
-        //       text: "表底值查询",
+        //       text: "报表管理",
         //       icon: "svg-matrix",
         //       path: "/bdzcx",
-        //     },
-        //   ],
-        // },
-        // {
-        //   text: "报表管理",
-        //   icon: "svg-matrix",
-        //   path: "/bdzcx",
-        //   children: [
-        //     {
-        //       text: "OA日报",
-        //       icon: "svg-matrix",
-        //       path: "/oafd",
-        //     },
-        //     {
-        //       text: "OA日报(光伏)",
-        //       icon: "svg-matrix",
-        //       path: "/oagf",
-        //     },
-        //     {
-        //       text: "新能源日报",
-        //       icon: "svg-matrix",
-        //       path: "/xnyrb",
-        //     },
-        //     {
-        //       text: "国电电力MISS日报(风电)",
-        //       icon: "svg-matrix",
-        //       path: "/missfdrb",
-        //     },
-        //     {
-        //       text: "国电电力MISS日报(光伏)",
-        //       icon: "svg-matrix",
-        //       path: "/missgfrb",
+        //       children: [
+        //         {
+        //           text: "OA日报",
+        //           icon: "svg-matrix",
+        //           path: "/oafd",
+        //         },
+        //         {
+        //           text: "OA日报(光伏)",
+        //           icon: "svg-matrix",
+        //           path: "/oagf",
+        //         },
+        //         {
+        //           text: "新能源日报",
+        //           icon: "svg-matrix",
+        //           path: "/xnyrb",
+        //         },
+        //         {
+        //           text: "国电电力MISS日报(风电)",
+        //           icon: "svg-matrix",
+        //           path: "/missfdrb",
+        //         },
+        //         {
+        //           text: "国电电力MISS日报(光伏)",
+        //           icon: "svg-matrix",
+        //           path: "/missgfrb",
+        //         },
+        //         {
+        //           text: "新能源风电生产月报",
+        //           icon: "svg-matrix",
+        //           path: "/xnyfdscyb",
+        //         },
+        //         {
+        //           text: "麻黄山生产月报",
+        //           icon: "svg-matrix",
+        //           path: "/mhsscyb",
+        //         },
+        //         {
+        //           text: "牛首山生产月报",
+        //           icon: "svg-matrix",
+        //           path: "/nssscyb",
+        //         },
+        //         {
+        //           text: "青山生产月报",
+        //           icon: "svg-matrix",
+        //           path: "/qsscyb",
+        //         },
+        //         {
+        //           text: "石板泉生产月报",
+        //           icon: "svg-matrix",
+        //           path: "/sbqscyb",
+        //         },
+        //         {
+        //           text: "香山生产月报",
+        //           icon: "svg-matrix",
+        //           path: "/xsscyb",
+        //         },
+        //         {
+        //           text: "新能源光伏生产月报",
+        //           icon: "svg-matrix",
+        //           path: "/xnygfscyb",
+        //         },
+        //         {
+        //           text: "大武口生产月报",
+        //           icon: "svg-matrix",
+        //           path: "/dwkscyb",
+        //         },
+        //         {
+        //           text: "平罗生产月报",
+        //           icon: "svg-matrix",
+        //           path: "/plscyb",
+        //         },
+        //         {
+        //           text: "宣和生产月报",
+        //           icon: "svg-matrix",
+        //           path: "/xhscyb",
+        //         },
+        //       ],
         //     },
         //     {
-        //       text: "新能源风电生产月报",
-        //       icon: "svg-matrix",
-        //       path: "/xnyfdscyb",
-        //     },
-        //     {
-        //       text: "麻黄山生产月报",
-        //       icon: "svg-matrix",
-        //       path: "/mhsscyb",
-        //     },
-        //     {
-        //       text: "牛首山生产月报",
-        //       icon: "svg-matrix",
-        //       path: "/nssscyb",
-        //     },
-        //     {
-        //       text: "青山生产月报",
-        //       icon: "svg-matrix",
-        //       path: "/qsscyb",
-        //     },
-        //     {
-        //       text: "石板泉生产月报",
-        //       icon: "svg-matrix",
-        //       path: "/sbqscyb",
-        //     },
-        //     {
-        //       text: "香山生产月报",
-        //       icon: "svg-matrix",
-        //       path: "/xsscyb",
-        //     },
-        //     {
-        //       text: "新能源光伏生产月报",
-        //       icon: "svg-matrix",
-        //       path: "/xnygfscyb",
-        //     },
-        //     {
-        //       text: "大武口生产月报",
-        //       icon: "svg-matrix",
-        //       path: "/dwkscyb",
-        //     },
-        //     {
-        //       text: "平罗生产月报",
-        //       icon: "svg-matrix",
-        //       path: "/plscyb",
-        //     },
-        //     {
-        //       text: "宣和生产月报",
-        //       icon: "svg-matrix",
-        //       path: "/xhscyb",
-        //     },
-        //   ],
-        // },
-        // {
-        //   text: "自定制报表管理",
-        //   icon: "svg-matrix",
-        //   path: "/fdczzdy",
-        //   children: [
-        //     {
-        //       text: "风电场站自定义",
+        //       text: "自定制报表管理",
         //       icon: "svg-matrix",
         //       path: "/fdczzdy",
+        //       children: [
+        //         {
+        //           text: "风电场站自定义",
+        //           icon: "svg-matrix",
+        //           path: "/fdczzdy",
+        //         },
+        //         {
+        //           text: "风电项目自定义",
+        //           icon: "svg-matrix",
+        //           path: "/fdxmzdy",
+        //         },
+        //         {
+        //           text: "光伏场站自定义",
+        //           icon: "svg-matrix",
+        //           path: "/gfczzdy",
+        //         },
+        //         {
+        //           text: "光伏项目自定义",
+        //           icon: "svg-matrix",
+        //           path: "/gfxmzdy",
+        //         },
+        //       ],
         //     },
-        //     {
-        //       text: "风电项目自定义",
-        //       icon: "svg-matrix",
-        //       path: "/fdxmzdy",
-        //     },
-        //     {
-        //       text: "光伏场站自定义",
-        //       icon: "svg-matrix",
-        //       path: "/gfczzdy",
-        //     },
-        //     {
-        //       text: "光伏项目自定义",
-        //       icon: "svg-matrix",
-        //       path: "/gfxmzdy",
-        //     },
-        //   ],
-        // },
         //   ],
         // },
         {

+ 2 - 2
src/views/malfunctionRecall/index.vue

@@ -226,8 +226,8 @@ export default {
     getWp(reGetWp) {
       let that = this;
       that.API.requestData({
-        baseURL: "http://10.155.32.4:9001",
-        subUrl: "benchmarking/wplist",
+        baseURL: "http://10.83.68.97:8020",
+        subUrl: "/consumer/benchmarking/wplist",
         success(res) {
           that.wpArray = res.data;
           that.wpId = res.data[0].id;

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

@@ -23,7 +23,7 @@
       </div>
     </div>
     <div class="df-table curTable">
-      <el-table :data="tableData.data" height="88vh" max-height="88vh" stripe style="width: 100%" :border="true">
+      <el-table class="custom-table" :data="tableData.data" height="88vh" max-height="88vh" stripe style="width: 100%" :border="true">
         <el-table-column :show-overflow-tooltip="true" prop="wtname" width="150px" label="风机"></el-table-column>
         <el-table-column :show-overflow-tooltip="true" :label="tableTitle">
           <el-table-column :show-overflow-tooltip="true" label="近一天">

+ 133 - 0
src/views/overhaulRule/index.vue

@@ -0,0 +1,133 @@
+<template>
+  <div class="ruleBox">
+    <div class="radioBox">
+      <el-radio-group v-model="maintenanceType" @change="getTableData">
+        <el-radio
+          :label="item.code"
+          v-for="(item, index) in radioArray"
+          :key="index"
+          >{{ item.widget }}</el-radio
+        >
+      </el-radio-group>
+    </div>
+    <div class="tableBox">
+      <el-table
+        height="100%"
+        ref="multipleTable"
+        empty-text="暂无数据"
+        :data="tableData"
+        :header-cell-style="{
+          height: '40px',
+          background: 'rgba(83, 98, 104, 0.2)',
+          color: '#b2bdc0',
+          'border-bottom': '0px solid red',
+        }"
+        :cell-style="{
+          height: '40px',
+          'border-bottom': 'solid 0px #242424',
+        }"
+        stripe
+        style="width: 100%; margin-bottom: 10px"
+      >
+        <el-table-column
+          type="index"
+          width="150"
+          align="center"
+          label="检修步骤"
+        />
+        <el-table-column
+          prop="widget"
+          label="检修类型"
+          width="150"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          prop="process"
+          label="检修过程"
+          align="left"
+        ></el-table-column>
+      </el-table>
+      
+    </div>
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      maintenanceType: 3,
+      radioArray: [],
+      tableData: [],
+      knowledge: "故障维修记录库",
+      knowledgeList: [
+        {
+          label: "故障维修记录库",
+          value: "0",
+        },
+      ],
+    };
+  },
+  components: {},
+  created() {
+    this.getMaintenance();
+  },
+  methods: {
+    getMaintenance() {
+      let that = this;
+      this.API.requestData({
+        method: "GET",
+        baseURL: "http://192.168.1.18:9002/",
+        subUrl: "know/maintenance/type",
+        success(res) {
+          that.radioArray = res.data;
+          that.maintenanceType = res?.data[0]?.code;
+          that.getTableData();
+        },
+      });
+    },
+    getTableData() {
+      let that = this;
+      this.API.requestData({
+        method: "GET",
+        baseURL: "http://192.168.1.18:9002/",
+        subUrl: "know/maintenance/list",
+        data: {
+          code: that.maintenanceType,
+        },
+        success(res) {
+          that.tableData = res.data;
+        },
+      });
+    },
+  },
+};
+</script>
+<style lang="less" scoped>
+.ruleBox {
+  display: flex;
+  width: 100%;
+  height: 100%;
+  align-items: center;
+
+  .radioBox {
+    width: 20%;
+    height: 80%;
+    max-height: 80%;
+    margin: 10% 0 10% 20px;
+    overflow-y: scroll;
+    display: flex;
+    justify-content: flex-start;
+    align-items: flex-start;
+
+    .el-radio {
+      display: block;
+    }
+  }
+
+  .tableBox {
+    width: 80%;
+    height: 80%;
+    margin: 10% 20px;
+  }
+}
+</style>

+ 1 - 67
src/views/performanceAnalysis/index.vue

@@ -427,17 +427,6 @@ export default {
         this.wpId = res.data[0].id;
         this.getOutputSpeedList(this.wpId);
       });
-
-      // let that = this;
-      // that.API.requestData({
-      //   method: "GET",
-      //   subUrl: "powercompare/windfarmAjax",
-      //   success(res) {
-      //     that.wpArray = res.data;
-      //     that.wpId = res.data[0].id;
-      //     that.getOutputSpeedList(that.wpId);
-      //   },
-      // });
     },
 
     getOutputSpeedList(wpId) {
@@ -446,11 +435,8 @@ export default {
           msg: "场站与日期不可为空",
         });
       } else {
-        let tablepar = { tablepar: { isAsc: 'desc' } };
-
         api
           .goodnessWindturbinegoodness({
-            tablepar,
             wpId,
             isAsc: this.isAsc,
             recorddate: this.recorddate,
@@ -458,23 +444,11 @@ export default {
           .then((res) => {
             this.tableData.data = res.data.list;
           });
-
-        // that.API.requestData({
-        //   method: "POST",
-        //   subUrl: "goodness/windturbinegoodness",
-        //   data: {
-        //     wpId,
-        //     isAsc: that.isAsc,
-        //     recorddate: that.recorddate,
-        //   },
-        //   success(res) {
-        //     that.tableData.data = res.data.list;
-        //   },
-        // });
       }
     },
 
     getOutputspeedHistoryList(item) {
+
       api
         .powercompareWindturbineAjax({
           wpId: item.windtpowerstationid,
@@ -501,23 +475,6 @@ export default {
               this.dialogShow = true;
             });
 
-          // that.API.requestData({
-          //   method: "POST",
-          //   subUrl: "goodness/goodhistorylist",
-          //   data: {
-          //     wpId: that.wpId2,
-          //     wtId: that.wtId,
-          //     beginDate: that.beginDate,
-          //     endDate: that.endDate,
-          //   },
-          //   success(res) {
-          //     res.data.forEach((ele) => {
-          //       ele.time = new Date(ele.recorddate).formatDate("yyyy-MM-dd");
-          //     });
-          //     that.historyTableData.data = res.data;
-          //     that.dialogShow = true;
-          //   },
-          // });
         });
 
       // let that = this;
@@ -595,8 +552,6 @@ export default {
           msg: "开始日期与结束日期不可为空",
         });
       } else {
-        // -------------------------------------------------
-
         api
           .goodnessGoodhistorylist({
             wpId: this.wpId2,
@@ -612,31 +567,11 @@ export default {
             this.dialogShow = true;
           });
 
-        // that.API.requestData({
-        //   method: "POST",
-        //   subUrl: "goodness/goodhistorylist",
-        //   showLoading: true,
-        //   data: {
-        //     wpId: that.wpId2,
-        //     wtId: that.wtId,
-        //     beginDate: that.beginDate,
-        //     endDate: that.endDate,
-        //   },
-        //   success(res) {
-        //     res.data.forEach((ele) => {
-        //       ele.time = new Date(ele.recorddate).formatDate("yyyy-MM-dd");
-        //     });
-        //     that.historyTableData.data = res.data;
-        //     that.dialogShow = true;
-        //   },
-        // });
       }
     },
-
     search() {
       this.getOutputSpeedList(this.wpId);
     },
-
     // 外围表格导出excel
     exportExcel() {
       let that = this;
@@ -654,7 +589,6 @@ export default {
           filterVal.push(ele.field);
         }
       });
-
       const list = that.tableData.data; //把要导出的数据tableData存到list
       const data = that.formatJson(filterVal, list);
       export_json_to_excel(tHeader, data, "导出的Excel"); // 最后一个是表名字

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

@@ -160,7 +160,7 @@ export default {
           month: that.recorddate.split("-")[1],
         },
         success(res) {
-          if (res.data.line.length) {
+          if (res.data.line.length||res.data.scatter.length) {
             let chartLineData = {
               xTitle: "风速",
               yTitle: "功率",

+ 2 - 2
src/views/report/bdzcx.vue

@@ -1,6 +1,6 @@
 <template>
   <div style="height:100%">
-    <iframe :src="url" width="100%" height="100%" frameborder="0" scrolling="auto"></iframe>
+    <iframe :src="url" width="100%" height="100%" frameborder="0" scrolling="auto" style="background-color: white;"></iframe>
   </div>
     
 </template>
@@ -11,7 +11,7 @@
 export default {
   data(){
     return {
-      url: "http://10.155.32.4:8000/bi47/showreport.do?resid=EBI$12$VZCQU9AYVZPOYRQZLRNI9SUUMUZTM6LU$1$YZ4MI0CYDCTCNVLZL3OR3SULASZQU0T6.rpttpl&id=admin&pw=gdnxfd123&showmenu=false&showparams=true&calcnow=true --disable-features=SameSiteByDefaultCookies "
+      url: "http://10.155.32.4:8000/bi47/showreport.do?resid=EBI$12$0C375MRT9PPPNMNCCTULLVQINXCND95K$1$TPS2QU06ZT1TOYKPQNNSTOL1S4PMDU4S.rpttpl&id=admin&pw=admini&showmenu=false&showparams=true --disable-features=SameSiteByDefaultCookies"
     }
   }
 }

+ 352 - 0
src/views/report/dlyc.vue

@@ -0,0 +1,352 @@
+<template>
+	<div class="dlTable">
+		<div class="query mg-b-8">
+			<div class="query-items">
+				<div class="query-item">
+					<div class="lable">选择日期:</div>
+					<div class="search-input">
+						<el-date-picker v-model="month" type="month" value-format="YYYY-MM" placeholder="选择日期"
+							popper-class="date-select">
+						</el-date-picker>
+					</div>
+				</div>
+			</div>
+		</div>
+		<panel :title="monthTitle + '发电量预测'" :showLine="false">
+			<el-table :data="tableData" height="85vh" style="width: 100%" show-summary :summary-method="getSummaries"
+				:span-method="yhmxdbMethod">
+				<el-table-column fixed prop="region" label="名称" width="120" />
+				<el-table-column fixed prop="speed" label="" width="50" />
+				<el-table-column label="日期">
+					<el-table-column v-for="(item, index) in dateS" :key="index" :prop="item.prop" :label="item.label"
+						width="70" align="center" />
+				</el-table-column>
+				<el-table-column fixed="right" prop="hj" label="平均风速/合计" width="100" align="center" />
+				<el-table-column fixed="right" prop="dqhj" label="地区合并" width="100" align="center" />
+			</el-table>
+		</panel>
+	</div>
+</template>
+
+<script>
+	import $ from "jquery";
+	import Panel from "@/components/coms/panel/panel.vue";
+	export default {
+		components: {
+			Panel,
+		},
+		data() {
+			return {
+				month: new Date().formatDate("yyyy-MM"),
+				monthTitle: "",
+				spanArr: [],
+				pos: 0,
+				spanArrHj: [],
+				dateS: [{
+						prop: "01",
+						label: 1,
+					},
+					{
+						prop: "02",
+						label: 2,
+					},
+				],
+				tableData: [{
+					region: "Tom",
+					speed: "白天",
+					hj: 3,
+					dqhj: 6,
+					"01": 55,
+					wpid: "NSS_FDC",
+				}, ],
+			};
+		},
+		created() {
+			this.list(new Date(this.month).valueOf());
+		},
+		mounted() {
+			this.$nextTick(() => {
+				$(".el-table__fixed-footer-wrapper tbody td:last-child").remove();
+				$(".el-table__fixed-footer-wrapper tbody td:last-child").attr("colspan", "2");
+			});
+		},
+		methods: {
+			list(month) {
+				let that = this;
+				this.API.requestData({
+					showLoading: true,
+					method: "GET",
+					baseURL: "http://10.155.32.4:8082/",
+					subUrl: "decision/ycfsdl/" + month,
+					success(res) {
+						let tableData = [],
+							windpowerstationid = [],
+							dateS = [],
+							recodedata = [],
+							average = [];
+						res.data.Weatherfd.forEach((ele) => {
+							let dd = new Date(ele.recodedata).formatDate("dd");
+							recodedata.push(dd);
+							if (windpowerstationid.indexOf(ele.windpowerstationid) === -1) {//判断有木有id,若没有,则加进去,并新增一条tableData的白天和夜间
+								windpowerstationid.push(ele.windpowerstationid);
+								tableData.push({
+									region: ele.region,
+									speed: "白天",
+									[dd]: ele.speed1,
+									wpid: ele.windpowerstationid,
+									dqhj: "",
+								});
+								tableData.push({
+									region: ele.region,
+									speed: "夜间",
+									[dd]: ele.speed2,
+									wpid: ele.windpowerstationid,
+									dqhj: "",
+								});
+								average.push(ele.speed1, ele.speed2);
+							} else {//匹配tableData的id,并分别传到夜间和白天data中
+								tableData.forEach((ele2, index2) => {
+									if (ele2.wpid === ele.windpowerstationid) {
+										if (ele2.speed === "白天") {
+											tableData[index2][dd] = ele.speed1;
+											average[index2] = average[index2] + ele.speed1;
+										} else {
+											tableData[index2][dd] = ele.speed2;
+											average[index2] = average[index2] + ele.speed2;
+										}
+									}
+								});
+							}
+						});
+						Object.values(Array.from(new Set(recodedata))).forEach((ele) => {
+							dateS.push({
+								prop: ele,
+								label: ele,
+							});
+						});
+						average.forEach((ele, index) => {//合计里的平均风速
+							tableData[index]["hj"] = (ele / dateS.length).toFixed(2);
+						});
+						that.dateS = dateS;
+						that.Forecastwindspeed(res.data.Forecastwindspeed, tableData);
+					},
+				});
+			},
+			Forecastwindspeed(data, Weatherfd) {
+				let that = this,
+					tableData = [],
+					pjid = [],
+					wpid = [],
+					dqhj = {};
+				data.forEach((ele) => {
+					let dd = new Date(ele.recodedate).formatDate("dd");
+					let wpidName = ele.pjid.split("_")[0].match(/^[a-z|A-Z]+/gi)[0];
+					let power = ele.daypower + ele.nightpower;
+					if (pjid.indexOf(ele.pjid) === -1) {//判断有木有id,若没有,则加进去,并新增一条tableData的白天和夜间
+						pjid.push(ele.pjid);
+						tableData.push({
+							region: ele.pjname,
+							speed: "白天",
+							[dd]: ele.daypower,
+							wpid: ele.wpid,
+							pjid: ele.pjid,
+							hj: power,
+							dqhj: 1,
+						});
+						tableData.push({
+							region: ele.pjname,
+							speed: "夜间",
+							[dd]: ele.nightpower,
+							wpid: ele.wpid,
+							pjid: ele.pjid,
+						});
+						tableData.push({
+							region: ele.pjname,
+							speed: "合计",
+							[dd]: power,
+							wpid: ele.wpid,
+							pjid: ele.pjid,
+						});
+						dqhj[wpidName] != undefined ?
+							(dqhj[wpidName] += power) :
+							(dqhj[wpidName] = power);
+					} else {//匹配tableData的id,并分别传到夜间和白天data中
+						tableData.forEach((ele2, index2) => {
+							if (ele2.pjid === ele.pjid) {
+								if (ele2.speed === "白天") {
+									tableData[index2][dd] = ele.daypower;
+									tableData[index2].hj += power;
+								} else if (ele2.speed === "夜间") {
+									tableData[index2][dd] = ele.nightpower;
+								} else {
+									tableData[index2][dd] = power;
+									dqhj[wpidName] += power;
+								}
+							}
+						});
+					}
+				});
+				tableData.find((ele) => {//地区合并
+					if (ele.dqhj == 1) {
+						ele.dqhj = dqhj[ele.wpid.split("_")[0]];
+					}
+				});
+				let arr = [];
+				Weatherfd.forEach((ele, index) => {
+					arr.push(ele);
+					tableData.forEach((ele2, index2) => {
+						if (ele.wpid === ele2.wpid && ele.speed === "夜间") {
+							arr.push(ele2);
+						}
+					});
+				});
+				that.getSpanArr(arr);
+				that.tableData = arr;
+			},
+			yhmxdbMethod({row,column,rowIndex,columnIndex}) {
+				if (columnIndex === 0) {
+					let _row = this.spanArr[rowIndex];
+					const _col = _row > 0 ? 1 : 0;
+					return [_row, _col];
+				} else if (columnIndex === this.dateS.length + 2) {//合计列
+					let _row = this.spanArr[rowIndex];
+					if (_row < 3) {
+						_row = 1;
+					}
+					const _col = _row > 0 ? 1 : 0;
+					return [_row, _col];
+				} else if (columnIndex === this.dateS.length + 3) {//地区合并列
+					let _row = this.spanArrHj[rowIndex];
+					const _col = _row > 0 ? 1 : 0;
+					return [_row, _col];
+				}
+			},
+			getSpanArr(data) {
+				this.spanArr = [];
+				for (var i = 0; i < data.length; i++) {
+					if (i === 0) {
+						this.spanArr.push(1);
+						this.pos = 0;
+					} else {// 判断当前元素与上一个元素是否相同
+						if (data[i].region === data[i - 1].region) {
+							this.spanArr[this.pos] += 1;
+							this.spanArr.push(0);
+						} else {
+							this.spanArr.push(1);
+							this.pos = i;
+						}
+					}
+				}
+				let spanArrIndex = [], //下标为2时,获取spanArr所对应的下标
+					idx = [];
+				this.spanArr.forEach((ele, index) => {
+					if (ele === 2) {
+						idx.push(index + 2);
+						spanArrIndex.push(1);
+					} else if (this.spanArr[index - 1] === 2) {
+						spanArrIndex.push(1);
+					} else {
+						spanArrIndex.push(0);
+					}
+				});
+				idx.push(this.spanArr.length + 2);
+				idx.forEach((ele, index) => {
+					if (idx[index + 1]) {
+						spanArrIndex[ele] = idx[index + 1] - (ele + 2);
+					}
+				});
+				this.spanArrHj = spanArrIndex;
+			},
+			getSummaries(param) {
+				const {columns,data} = param;
+				const sums = [];
+				columns.forEach((column, index) => {
+					if (index === 0) {
+						sums[index] = "合计";
+						return;
+					}
+					const values = data.map((item) => {
+						if (item.pjid && item.speed === "白天") {
+							return Number(item[column.property]);
+						}
+					});
+					if (!values.every((value) => isNaN(value))) {
+						sums[index] = values.reduce((prev, curr) => {
+							const value = Number(curr);
+							if (!isNaN(value)) {
+								return prev + curr;
+							} else {
+								return prev;
+							}
+						}, 0);
+					} else {
+						sums[index] = "";
+					}
+				});
+				sums[sums.length - 1] = "";
+				return sums;
+			},
+		},
+		watch: {
+			month(e) {
+				this.list(new Date(e).valueOf());
+				let tit = e.split("-");
+				if (tit[1].indexOf(0) != -1) {
+					tit[1] = tit[1].split("0")[1];
+				}
+				this.monthTitle = tit[0] + "年" + tit[1] + "月";
+			},
+		},
+	};
+</script>
+
+<style lang="less">
+	.main-body {
+		.dlTable {
+			.el-table thead.is-group th.el-table__cell {
+				background-color: rgb(30, 37, 36);
+			}
+		
+			.el-table__expanded-cell {
+				background: #141e1e;
+			}
+		
+			.el-table__body {
+				tr.hover-row>td {
+					background-color: rgb(4, 12, 11);
+					color: #b3bdc0 !important;
+				}
+		
+				td {
+					background-color: rgb(4, 12, 11);
+				}
+		
+				td[rowspan="2"],
+				td[rowspan="3"],
+				td[rowspan="6"],
+				td[rowspan="9"],
+				td[rowspan="12"],
+				tr.hover-row>td[rowspan="2"],
+				tr.hover-row>td[rowspan="3"],
+				tr:hover td {
+					background-color: #141e1e !important;
+				}
+			}
+		
+			.el-table__fixed-footer-wrapper tbody td.el-table__cell {
+				color: #b3bdc0;
+				background-color: rgb(30, 37, 36) !important;
+			}
+		
+			.el-table__footer-wrapper tbody td.el-table__cell,
+			.el-table__header-wrapper tbody td.el-table__cell {
+				color: white;
+				background-color: rgb(4, 12, 11);
+			}
+		
+			.el-table__cell.is-hidden>* {
+				visibility: inherit;
+			}
+		}
+	}
+</style>

+ 1 - 1
src/views/report/fdczzdy.vue

@@ -11,7 +11,7 @@
 export default {
   data(){
     return {
-      url: "http://10.155.32.4:8000/bi47/showreport.do?resid=EBI$12$VZCQU9AYVZPOYRQZLRNI9SUUMUZTM6LU$1$CEYALLI0J515UEOE0YUYNN8O6BE3SAEX.rptolap&id=admin&pw=gdnxfd123"
+      url: "http://10.155.32.4:8000/bi47/showreport.do?resid=EBI$12$0C375MRT9PPPNMNCCTULLVQINXCND95K$1$LDBDTULZIVZV1WQD163KP6ICTCDUT99L.rptolap&id=admin&pw=admin"
     }
   }
 }

+ 1 - 1
src/views/report/fdxmzdy.vue

@@ -11,7 +11,7 @@
 export default {
   data(){
     return {
-      url: "http://10.155.32.4:8000/bi47/showreport.do?resid=EBI$12$VZCQU9AYVZPOYRQZLRNI9SUUMUZTM6LU$1$SYUNNWYNSL9LZQ8YAIDKOQLMOTYKQ1YC.rptolap&id=admin&pw=gdnxfd123"
+      url: "http://10.155.32.4:8000/bi47/showreport.do?resid=EBI$12$0C375MRT9PPPNMNCCTULLVQINXCND95K$1$LDBDTULZIVZV1WQD163KP6ICTCDUT99L.rptolap&id=admin&pw=admin"
     }
   }
 }

+ 1 - 1
src/views/report/gfczzdy.vue

@@ -11,7 +11,7 @@
 export default {
   data(){
     return {
-      url: "http://10.155.32.4:8000/bi47/showreport.do?resid=EBI$12$VZCQU9AYVZPOYRQZLRNI9SUUMUZTM6LU$1$4VBKFDX77F3FUPRVKUUYOK0QMLVNI9V4.rptolap&id=admin&pw=gdnxfd123"
+      url: "http://10.155.32.4:8000/bi47/showreport.do?resid=EBI$12$0C375MRT9PPPNMNCCTULLVQINXCND95K$1$LDBDTULZIVZV1WQD163KP6ICTCDUT99L.rptolap&id=admin&pw=admin"
     }
   }
 }

+ 1 - 1
src/views/report/gfxmzdy.vue

@@ -11,7 +11,7 @@
 export default {
   data(){
     return {
-      url: "http://10.155.32.4:8000/bi47/showreport.do?resid=EBI$12$VZCQU9AYVZPOYRQZLRNI9SUUMUZTM6LU$1$0C47UFR79PVPMMNCUTUSA0IP7XCNUIC6.rptolap&id=admin&pw=gdnxfd123"
+      url: "http://10.155.32.4:8000/bi47/showreport.do?resid=EBI$12$0C375MRT9PPPNMNCCTULLVQINXCND95K$1$LDBDTULZIVZV1WQD163KP6ICTCDUT99L.rptolap&id=admin&pw=admin"
     }
   }
 }

+ 352 - 0
src/views/report/nhdl.vue

@@ -0,0 +1,352 @@
+<template>
+	<div class="dlTable">
+		<div class="query mg-b-8">
+			<div class="query-items">
+				<div class="query-item">
+					<div class="lable">选择日期:</div>
+					<div class="search-input">
+						<el-date-picker v-model="month" type="month" value-format="YYYY-MM" placeholder="选择日期"
+							popper-class="date-select">
+						</el-date-picker>
+					</div>
+				</div>
+			</div>
+		</div>
+		<panel :title="monthTitle + '发电量预测'" :showLine="false">
+			<el-table :data="tableData" height="85vh" style="width: 100%" show-summary :summary-method="getSummaries"
+				:span-method="yhmxdbMethod">
+				<el-table-column fixed prop="region" label="名称" width="120" />
+				<el-table-column fixed prop="speed" label="" width="50" />
+				<el-table-column label="日期">
+					<el-table-column v-for="(item, index) in dateS" :key="index" :prop="item.prop" :label="item.label"
+						width="70" align="center" />
+				</el-table-column>
+				<el-table-column fixed="right" prop="hj" label="平均风速/合计" width="100" align="center" />
+				<el-table-column fixed="right" prop="dqhj" label="地区合并" width="100" align="center" />
+			</el-table>
+		</panel>
+	</div>
+</template>
+
+<script>
+	import $ from "jquery";
+	import Panel from "@/components/coms/panel/panel.vue";
+	export default {
+		components: {
+			Panel,
+		},
+		data() {
+			return {
+				month: new Date().formatDate("yyyy-MM"),
+				monthTitle: "",
+				spanArr: [],
+				pos: 0,
+				spanArrHj: [],
+				dateS: [{
+						prop: "01",
+						label: 1,
+					},
+					{
+						prop: "02",
+						label: 2,
+					},
+				],
+				tableData: [{
+					region: "Tom",
+					speed: "白天",
+					hj: 3,
+					dqhj: 6,
+					"01": 55,
+					wpid: "NSS_FDC",
+				}, ],
+			};
+		},
+		created() {
+			this.list(new Date(this.month).valueOf());
+		},
+		mounted() {
+			this.$nextTick(() => {
+				$(".el-table__fixed-footer-wrapper tbody td:last-child").remove();
+				$(".el-table__fixed-footer-wrapper tbody td:last-child").attr("colspan", "2");
+			});
+		},
+		methods: {
+			list(month) {
+				let that = this;
+				this.API.requestData({
+					showLoading: true,
+					method: "GET",
+					baseURL: "http://10.155.32.4:8082/",
+					subUrl: "decision/ycfsdlnh/" + month,
+					success(res) {
+						let tableData = [],
+							windpowerstationid = [],
+							dateS = [],
+							recodedata = [],
+							average = [];
+						res.data.Weatherfd.forEach((ele) => {
+							let dd = new Date(ele.recodedata).formatDate("dd");
+							recodedata.push(dd);
+							if (windpowerstationid.indexOf(ele.windpowerstationid) === -1) {//判断有木有id,若没有,则加进去,并新增一条tableData的白天和夜间
+								windpowerstationid.push(ele.windpowerstationid);
+								tableData.push({
+									region: ele.region,
+									speed: "白天",
+									[dd]: ele.speed1,
+									wpid: ele.windpowerstationid,
+									dqhj: "",
+								});
+								tableData.push({
+									region: ele.region,
+									speed: "夜间",
+									[dd]: ele.speed2,
+									wpid: ele.windpowerstationid,
+									dqhj: "",
+								});
+								average.push(ele.speed1, ele.speed2);
+							} else {//匹配tableData的id,并分别传到夜间和白天data中
+								tableData.forEach((ele2, index2) => {
+									if (ele2.wpid === ele.windpowerstationid) {
+										if (ele2.speed === "白天") {
+											tableData[index2][dd] = ele.speed1;
+											average[index2] = average[index2] + ele.speed1;
+										} else {
+											tableData[index2][dd] = ele.speed2;
+											average[index2] = average[index2] + ele.speed2;
+										}
+									}
+								});
+							}
+						});
+						Object.values(Array.from(new Set(recodedata))).forEach((ele) => {
+							dateS.push({
+								prop: ele,
+								label: ele,
+							});
+						});
+						average.forEach((ele, index) => {//合计里的平均风速
+							tableData[index]["hj"] = (ele / dateS.length).toFixed(2);
+						});
+						that.dateS = dateS;
+						that.Forecastwindspeed(res.data.Forecastwindspeed, tableData);
+					},
+				});
+			},
+			Forecastwindspeed(data, Weatherfd) {
+				let that = this,
+					tableData = [],
+					pjid = [],
+					wpid = [],
+					dqhj = {};
+				data.forEach((ele) => {
+					let dd = new Date(ele.recodedate).formatDate("dd");
+					let wpidName = ele.pjid.split("_")[0].match(/^[a-z|A-Z]+/gi)[0];
+					let power = parseFloat((ele.daypower + ele.nightpower).toFixed(2));
+					if (pjid.indexOf(ele.pjid) === -1) {//判断有木有id,若没有,则加进去,并新增一条tableData的白天和夜间
+						pjid.push(ele.pjid);
+						tableData.push({
+							region: ele.pjname,
+							speed: "白天",
+							[dd]: ele.daypower,
+							wpid: ele.wpid,
+							pjid: ele.pjid,
+							hj: power,
+							dqhj: 1,
+						});
+						tableData.push({
+							region: ele.pjname,
+							speed: "夜间",
+							[dd]: ele.nightpower,
+							wpid: ele.wpid,
+							pjid: ele.pjid,
+						});
+						tableData.push({
+							region: ele.pjname,
+							speed: "合计",
+							[dd]: power,
+							wpid: ele.wpid,
+							pjid: ele.pjid,
+						});
+						
+						dqhj[wpidName] != undefined ?(dqhj[wpidName] += power) :(dqhj[wpidName] = power);
+					} else {//匹配tableData的id,并分别传到夜间和白天data中
+						tableData.forEach((ele2, index2) => {
+							if (ele2.pjid === ele.pjid) {
+								if (ele2.speed === "白天") {
+									tableData[index2][dd] = ele.daypower;
+									tableData[index2].hj = parseFloat((tableData[index2].hj + power).toFixed(2));
+								} else if (ele2.speed === "夜间") {
+									tableData[index2][dd] = ele.nightpower;
+								} else {
+									tableData[index2][dd] = power;
+									dqhj[wpidName] = parseFloat((dqhj[wpidName] + power).toFixed(2));
+								}
+							}
+						});
+					}
+				});
+				tableData.find((ele) => {//地区合并
+					if (ele.dqhj == 1) {
+						ele.dqhj = parseFloat(dqhj[ele.wpid.split("_")[0]]);
+					}
+				});
+				let arr = [];
+				Weatherfd.forEach((ele, index) => {
+					arr.push(ele);
+					tableData.forEach((ele2, index2) => {
+						if (ele.wpid === ele2.wpid && ele.speed === "夜间") {
+							arr.push(ele2);
+						}
+					});
+				});
+				console.log(arr)
+				that.getSpanArr(arr);
+				that.tableData = arr;
+			},
+			yhmxdbMethod({row,column,rowIndex,columnIndex}) {
+				if (columnIndex === 0) {
+					let _row = this.spanArr[rowIndex];
+					const _col = _row > 0 ? 1 : 0;
+					return [_row, _col];
+				} else if (columnIndex === this.dateS.length + 2) {//合计列
+					let _row = this.spanArr[rowIndex];
+					if (_row < 3) {
+						_row = 1;
+					}
+					const _col = _row > 0 ? 1 : 0;
+					return [_row, _col];
+				} else if (columnIndex === this.dateS.length + 3) {//地区合并列
+					let _row = this.spanArrHj[rowIndex];
+					const _col = _row > 0 ? 1 : 0;
+					return [_row, _col];
+				}
+			},
+			getSpanArr(data) {
+				this.spanArr = [];
+				for (var i = 0; i < data.length; i++) {
+					if (i === 0) {
+						this.spanArr.push(1);
+						this.pos = 0;
+					} else {// 判断当前元素与上一个元素是否相同
+						if (data[i].region === data[i - 1].region) {
+							this.spanArr[this.pos] += 1;
+							this.spanArr.push(0);
+						} else {
+							this.spanArr.push(1);
+							this.pos = i;
+						}
+					}
+				}
+				let spanArrIndex = [], //下标为2时,获取spanArr所对应的下标
+					idx = [];
+				this.spanArr.forEach((ele, index) => {
+					if (ele === 2) {
+						idx.push(index + 2);
+						spanArrIndex.push(1);
+					} else if (this.spanArr[index - 1] === 2) {
+						spanArrIndex.push(1);
+					} else {
+						spanArrIndex.push(0);
+					}
+				});
+				idx.push(this.spanArr.length + 2);
+				idx.forEach((ele, index) => {
+					if (idx[index + 1]) {
+						spanArrIndex[ele] = idx[index + 1] - (ele + 2);
+					}
+				});
+				this.spanArrHj = spanArrIndex;
+			},
+			getSummaries(param) {
+				const {columns,data} = param;
+				const sums = [];
+				columns.forEach((column, index) => {
+					if (index === 0) {
+						sums[index] = "合计";
+						return;
+					}
+					const values = data.map((item) => {
+						if (item.pjid && item.speed === "白天") {
+							return Number(item[column.property]);
+						}
+					});
+					if (!values.every((value) => isNaN(value))) {
+						sums[index] = values.reduce((prev, curr) => {
+							const value = Number(curr);
+							if (!isNaN(value)) {
+								return parseFloat((prev + curr).toFixed(2));
+							} else {
+								return prev;
+							}
+						}, 0);
+					} else {
+						sums[index] = "";
+					}
+				});
+				sums[sums.length - 1] = "";
+				return sums;
+			},
+		},
+		watch: {
+			month(e) {
+				this.list(new Date(e).valueOf());
+				let tit = e.split("-");
+				if (tit[1].indexOf(0) != -1) {
+					tit[1] = tit[1].split("0")[1];
+				}
+				this.monthTitle = tit[0] + "年" + tit[1] + "月";
+			},
+		},
+	};
+</script>
+
+<style lang="less">
+	.main-body {
+		.dlTable {
+			.el-table thead.is-group th.el-table__cell {
+				background-color: rgb(30, 37, 36);
+			}
+		
+			.el-table__expanded-cell {
+				background: #141e1e;
+			}
+		
+			.el-table__body {
+				tr.hover-row>td {
+					background-color: rgb(4, 12, 11);
+					color: #b3bdc0 !important;
+				}
+		
+				td {
+					background-color: rgb(4, 12, 11);
+				}
+		
+				td[rowspan="2"],
+				td[rowspan="3"],
+				td[rowspan="6"],
+				td[rowspan="9"],
+				td[rowspan="12"],
+				tr.hover-row>td[rowspan="2"],
+				tr.hover-row>td[rowspan="3"],
+				tr:hover td {
+					background-color: #141e1e !important;
+				}
+			}
+		
+			.el-table__fixed-footer-wrapper tbody td.el-table__cell {
+				color: #b3bdc0;
+				background-color: rgb(30, 37, 36) !important;
+			}
+		
+			.el-table__footer-wrapper tbody td.el-table__cell,
+			.el-table__header-wrapper tbody td.el-table__cell {
+				color: white;
+				background-color: rgb(4, 12, 11);
+			}
+		
+			.el-table__cell.is-hidden>* {
+				visibility: inherit;
+			}
+		}
+	}
+</style>

+ 0 - 1
src/views/report/nhycfsdl.vue

@@ -30,4 +30,3 @@ export default {
   }
 }
 </style>
-

+ 352 - 0
src/views/report/xzdl.vue

@@ -0,0 +1,352 @@
+<template>
+	<div class="dlTable">
+		<div class="query mg-b-8">
+			<div class="query-items">
+				<div class="query-item">
+					<div class="lable">选择日期:</div>
+					<div class="search-input">
+						<el-date-picker v-model="month" type="month" value-format="YYYY-MM" placeholder="选择日期"
+							popper-class="date-select">
+						</el-date-picker>
+					</div>
+				</div>
+			</div>
+		</div>
+		<panel :title="monthTitle + '发电量预测'" :showLine="false">
+			<el-table :data="tableData" height="85vh" style="width: 100%" show-summary :summary-method="getSummaries"
+				:span-method="yhmxdbMethod">
+				<el-table-column fixed prop="region" label="名称" width="120" />
+				<el-table-column fixed prop="speed" label="" width="50" />
+				<el-table-column label="日期">
+					<el-table-column v-for="(item, index) in dateS" :key="index" :prop="item.prop" :label="item.label"
+						width="70" align="center" />
+				</el-table-column>
+				<el-table-column fixed="right" prop="hj" label="平均风速/合计" width="100" align="center" />
+				<el-table-column fixed="right" prop="dqhj" label="地区合并" width="100" align="center" />
+			</el-table>
+		</panel>
+	</div>
+</template>
+
+<script>
+	import $ from "jquery";
+	import Panel from "@/components/coms/panel/panel.vue";
+	export default {
+		components: {
+			Panel,
+		},
+		data() {
+			return {
+				month: new Date().formatDate("yyyy-MM"),
+				monthTitle: "",
+				spanArr: [],
+				pos: 0,
+				spanArrHj: [],
+				dateS: [{
+						prop: "01",
+						label: 1,
+					},
+					{
+						prop: "02",
+						label: 2,
+					},
+				],
+				tableData: [{
+					region: "Tom",
+					speed: "白天",
+					hj: 3,
+					dqhj: 6,
+					"01": 55,
+					wpid: "NSS_FDC",
+				}, ],
+			};
+		},
+		created() {
+			this.list(new Date(this.month).valueOf());
+		},
+		mounted() {
+			this.$nextTick(() => {
+				$(".el-table__fixed-footer-wrapper tbody td:last-child").remove();
+				$(".el-table__fixed-footer-wrapper tbody td:last-child").attr("colspan", "2");
+			});
+		},
+		methods: {
+			list(month) {
+				let that = this;
+				this.API.requestData({
+					showLoading: true,
+					method: "GET",
+					baseURL: "http://10.155.32.4:8082/",
+					subUrl: "decision/ycfsdlxz/" + month,
+					success(res) {
+						let tableData = [],
+							windpowerstationid = [],
+							dateS = [],
+							recodedata = [],
+							average = [];
+						res.data.Weatherfd.forEach((ele) => {
+							let dd = new Date(ele.recodedata).formatDate("dd");
+							recodedata.push(dd);
+							if (windpowerstationid.indexOf(ele.windpowerstationid) === -1) {//判断有木有id,若没有,则加进去,并新增一条tableData的白天和夜间
+								windpowerstationid.push(ele.windpowerstationid);
+								tableData.push({
+									region: ele.region,
+									speed: "白天",
+									[dd]: ele.speed1,
+									wpid: ele.windpowerstationid,
+									dqhj: "",
+								});
+								tableData.push({
+									region: ele.region,
+									speed: "夜间",
+									[dd]: ele.speed2,
+									wpid: ele.windpowerstationid,
+									dqhj: "",
+								});
+								average.push(ele.speed1, ele.speed2);
+							} else {//匹配tableData的id,并分别传到夜间和白天data中
+								tableData.forEach((ele2, index2) => {
+									if (ele2.wpid === ele.windpowerstationid) {
+										if (ele2.speed === "白天") {
+											tableData[index2][dd] = ele.speed1;
+											average[index2] = average[index2] + ele.speed1;
+										} else {
+											tableData[index2][dd] = ele.speed2;
+											average[index2] = average[index2] + ele.speed2;
+										}
+									}
+								});
+							}
+						});
+						Object.values(Array.from(new Set(recodedata))).forEach((ele) => {
+							dateS.push({
+								prop: ele,
+								label: ele,
+							});
+						});
+						average.forEach((ele, index) => {//合计里的平均风速
+							tableData[index]["hj"] = (ele / dateS.length).toFixed(2);
+						});
+						that.dateS = dateS;
+						that.Forecastwindspeed(res.data.Forecastwindspeed, tableData);
+					},
+				});
+			},
+			Forecastwindspeed(data, Weatherfd) {
+				let that = this,
+					tableData = [],
+					pjid = [],
+					wpid = [],
+					dqhj = {};
+				data.forEach((ele) => {
+					let dd = new Date(ele.recodedate).formatDate("dd");
+					let wpidName = ele.pjid.split("_")[0].match(/^[a-z|A-Z]+/gi)[0];
+					let power = ele.daypower + ele.nightpower;
+					if (pjid.indexOf(ele.pjid) === -1) {//判断有木有id,若没有,则加进去,并新增一条tableData的白天和夜间
+						pjid.push(ele.pjid);
+						tableData.push({
+							region: ele.pjname,
+							speed: "白天",
+							[dd]: ele.daypower,
+							wpid: ele.wpid,
+							pjid: ele.pjid,
+							hj: power,
+							dqhj: 1,
+						});
+						tableData.push({
+							region: ele.pjname,
+							speed: "夜间",
+							[dd]: ele.nightpower,
+							wpid: ele.wpid,
+							pjid: ele.pjid,
+						});
+						tableData.push({
+							region: ele.pjname,
+							speed: "合计",
+							[dd]: power,
+							wpid: ele.wpid,
+							pjid: ele.pjid,
+						});
+						dqhj[wpidName] != undefined ?
+							(dqhj[wpidName] += power) :
+							(dqhj[wpidName] = power);
+					} else {//匹配tableData的id,并分别传到夜间和白天data中
+						tableData.forEach((ele2, index2) => {
+							if (ele2.pjid === ele.pjid) {
+								if (ele2.speed === "白天") {
+									tableData[index2][dd] = ele.daypower;
+									tableData[index2].hj += power;
+								} else if (ele2.speed === "夜间") {
+									tableData[index2][dd] = ele.nightpower;
+								} else {
+									tableData[index2][dd] = power;
+									dqhj[wpidName] += power;
+								}
+							}
+						});
+					}
+				});
+				tableData.find((ele) => {//地区合并
+					if (ele.dqhj == 1) {
+						ele.dqhj = dqhj[ele.wpid.split("_")[0]];
+					}
+				});
+				let arr = [];
+				Weatherfd.forEach((ele, index) => {
+					arr.push(ele);
+					tableData.forEach((ele2, index2) => {
+						if (ele.wpid === ele2.wpid && ele.speed === "夜间") {
+							arr.push(ele2);
+						}
+					});
+				});
+				that.getSpanArr(arr);
+				that.tableData = arr;
+			},
+			yhmxdbMethod({row,column,rowIndex,columnIndex}) {
+				if (columnIndex === 0) {
+					let _row = this.spanArr[rowIndex];
+					const _col = _row > 0 ? 1 : 0;
+					return [_row, _col];
+				} else if (columnIndex === this.dateS.length + 2) {//合计列
+					let _row = this.spanArr[rowIndex];
+					if (_row < 3) {
+						_row = 1;
+					}
+					const _col = _row > 0 ? 1 : 0;
+					return [_row, _col];
+				} else if (columnIndex === this.dateS.length + 3) {//地区合并列
+					let _row = this.spanArrHj[rowIndex];
+					const _col = _row > 0 ? 1 : 0;
+					return [_row, _col];
+				}
+			},
+			getSpanArr(data) {
+				this.spanArr = [];
+				for (var i = 0; i < data.length; i++) {
+					if (i === 0) {
+						this.spanArr.push(1);
+						this.pos = 0;
+					} else {// 判断当前元素与上一个元素是否相同
+						if (data[i].region === data[i - 1].region) {
+							this.spanArr[this.pos] += 1;
+							this.spanArr.push(0);
+						} else {
+							this.spanArr.push(1);
+							this.pos = i;
+						}
+					}
+				}
+				let spanArrIndex = [], //下标为2时,获取spanArr所对应的下标
+					idx = [];
+				this.spanArr.forEach((ele, index) => {
+					if (ele === 2) {
+						idx.push(index + 2);
+						spanArrIndex.push(1);
+					} else if (this.spanArr[index - 1] === 2) {
+						spanArrIndex.push(1);
+					} else {
+						spanArrIndex.push(0);
+					}
+				});
+				idx.push(this.spanArr.length + 2);
+				idx.forEach((ele, index) => {
+					if (idx[index + 1]) {
+						spanArrIndex[ele] = idx[index + 1] - (ele + 2);
+					}
+				});
+				this.spanArrHj = spanArrIndex;
+			},
+			getSummaries(param) {
+				const {columns,data} = param;
+				const sums = [];
+				columns.forEach((column, index) => {
+					if (index === 0) {
+						sums[index] = "合计";
+						return;
+					}
+					const values = data.map((item) => {
+						if (item.pjid && item.speed === "白天") {
+							return Number(item[column.property]);
+						}
+					});
+					if (!values.every((value) => isNaN(value))) {
+						sums[index] = values.reduce((prev, curr) => {
+							const value = Number(curr);
+							if (!isNaN(value)) {
+								return prev + curr;
+							} else {
+								return prev;
+							}
+						}, 0);
+					} else {
+						sums[index] = "";
+					}
+				});
+				sums[sums.length - 1] = "";
+				return sums;
+			},
+		},
+		watch: {
+			month(e) {
+				this.list(new Date(e).valueOf());
+				let tit = e.split("-");
+				if (tit[1].indexOf(0) != -1) {
+					tit[1] = tit[1].split("0")[1];
+				}
+				this.monthTitle = tit[0] + "年" + tit[1] + "月";
+			},
+		},
+	};
+</script>
+
+<style lang="less">
+	.main-body {
+		.dlTable {
+			.el-table thead.is-group th.el-table__cell {
+				background-color: rgb(30, 37, 36);
+			}
+		
+			.el-table__expanded-cell {
+				background: #141e1e;
+			}
+		
+			.el-table__body {
+				tr.hover-row>td {
+					background-color: rgb(4, 12, 11);
+					color: #b3bdc0 !important;
+				}
+		
+				td {
+					background-color: rgb(4, 12, 11);
+				}
+		
+				td[rowspan="2"],
+				td[rowspan="3"],
+				td[rowspan="6"],
+				td[rowspan="9"],
+				td[rowspan="12"],
+				tr.hover-row>td[rowspan="2"],
+				tr.hover-row>td[rowspan="3"],
+				tr:hover td {
+					background-color: #141e1e !important;
+				}
+			}
+		
+			.el-table__fixed-footer-wrapper tbody td.el-table__cell {
+				color: #b3bdc0;
+				background-color: rgb(30, 37, 36) !important;
+			}
+		
+			.el-table__footer-wrapper tbody td.el-table__cell,
+			.el-table__header-wrapper tbody td.el-table__cell {
+				color: white;
+				background-color: rgb(4, 12, 11);
+			}
+		
+			.el-table__cell.is-hidden>* {
+				visibility: inherit;
+			}
+		}
+	}
+</style>

+ 0 - 1
src/views/report/xzycfsdl.vue

@@ -30,4 +30,3 @@ export default {
   }
 }
 </style>
-

+ 4 - 4
src/views/singleAnalysis/index.vue

@@ -25,8 +25,8 @@
           <div class="search-input">
             <el-date-picker
               v-model="recorddate"
-              type="date"
-              value-format="YYYY-MM-DD"
+              type="month"
+              value-format="YYYY-MM"
               placeholder="选择日期"
               popper-class="date-select"
             >
@@ -90,7 +90,7 @@ export default {
       year: "",
       month: "",
       recorddate: new Date(new Date().getTime() - 3600 * 1000 * 24).formatDate(
-        "yyyy-MM-dd"
+        "yyyy-MM"
       ),
       tableDataEnd: [], //合计
       tableData: {
@@ -232,7 +232,7 @@ export default {
       that.year = new Date(this.recorddate).formatDate("yyyy");
       that.month = new Date(this.recorddate).formatDate("MM");
       that.dialogVisible = true;
-      // this.$router.push({path:`/decision/znzhfx/${row.windturbineid}/${new Date(this.recorddate).formatDate("yyyy")}/${new Date(this.recorddate).formatDate("MM")}`})
+      that.$router.push({path:`/decision/znzhfx/${row.windturbineid}/${new Date(this.recorddate).formatDate("yyyy")}/${new Date(this.recorddate).formatDate("MM")}`})
     },
     // 请求服务
     requestData() {

+ 3 - 6
src/views/singleAnalysis/znzhfx.vue

@@ -364,14 +364,11 @@ export default {
     };
   },
   created() {
-    // this.wtId = this.$route.params.wtId;
-    // this.year = this.$route.params.year;
-    // this.month = this.$route.params.month;
+    this.wtId = this.$route.params.wtId;
+    this.year = this.$route.params.year;
+    this.month = this.$route.params.month;
     this.search();
     this.searchChart();
-	while(true){
-		console.log()
-	}
   },
   filters: {
     tabrowfil(val) {

+ 57 - 143
src/views/specific/ztfx.vue

@@ -588,16 +588,12 @@
                       <td style="width: 50px">MTBF</td>
                       <td style="width: 105px">
                         {{ currentMonth["崇礼"].mtbf }}
-                        <template
-                          v-if="currentMonth['崇礼'].mttrCompare === 1"
-                        >
+                        <template v-if="currentMonth['崇礼'].mttrCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentMonth['崇礼'].mtbfCompare === 2"
-                        >
+                        <template v-if="currentMonth['崇礼'].mtbfCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -608,16 +604,12 @@
                       </td>
                       <td style="width: 105px">
                         {{ currentMonth["康保"].mtbf }}
-                        <template
-                          v-if="currentMonth['康保'].mtbfCompare === 1"
-                        >
+                        <template v-if="currentMonth['康保'].mtbfCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentMonth['康保'].mtbfCompare === 2"
-                        >
+                        <template v-if="currentMonth['康保'].mtbfCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -644,16 +636,12 @@
                       </td> -->
                       <td style="width: 105px">
                         {{ currentMonth["代县"].mtbf }}
-                        <template
-                          v-if="currentMonth['代县'].mtbfCompare === 1"
-                        >
+                        <template v-if="currentMonth['代县'].mtbfCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentMonth['代县'].mtbfCompare === 2"
-                        >
+                        <template v-if="currentMonth['代县'].mtbfCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -684,16 +672,12 @@
                       <td style="width: 50px">MTTR</td>
                       <td style="width: 105px">
                         {{ currentMonth["崇礼"].mttr }}
-                        <template
-                          v-if="currentMonth['崇礼'].mttrCompare === 1"
-                        >
+                        <template v-if="currentMonth['崇礼'].mttrCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentMonth['崇礼'].mttrCompare === 2"
-                        >
+                        <template v-if="currentMonth['崇礼'].mttrCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -704,16 +688,12 @@
                       </td>
                       <td style="width: 105px">
                         {{ currentMonth["康保"].mttr }}
-                        <template
-                          v-if="currentMonth['康保'].mttrCompare === 1"
-                        >
+                        <template v-if="currentMonth['康保'].mttrCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentMonth['康保'].mttrCompare === 2"
-                        >
+                        <template v-if="currentMonth['康保'].mttrCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -740,16 +720,12 @@
                       </td> -->
                       <td style="width: 105px">
                         {{ currentMonth["代县"].mttr }}
-                        <template
-                          v-if="currentMonth['代县'].mttrCompare === 1"
-                        >
+                        <template v-if="currentMonth['代县'].mttrCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentMonth['代县'].mttrCompare === 2"
-                        >
+                        <template v-if="currentMonth['代县'].mttrCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1129,16 +1105,12 @@
                       <td style="width: 50px">MTBF</td>
                       <td style="width: 105px">
                         {{ currentYear["崇礼"].mtbf }}
-                        <template
-                          v-if="currentYear['崇礼'].mttrCompare === 1"
-                        >
+                        <template v-if="currentYear['崇礼'].mttrCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['崇礼'].mtbfCompare === 2"
-                        >
+                        <template v-if="currentYear['崇礼'].mtbfCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1149,16 +1121,12 @@
                       </td>
                       <td style="width: 105px">
                         {{ currentYear["康保"].mtbf }}
-                        <template
-                          v-if="currentYear['康保'].mtbfCompare === 1"
-                        >
+                        <template v-if="currentYear['康保'].mtbfCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['康保'].mtbfCompare === 2"
-                        >
+                        <template v-if="currentYear['康保'].mtbfCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1185,16 +1153,12 @@
                       </td> -->
                       <td style="width: 105px">
                         {{ currentYear["代县"].mtbf }}
-                        <template
-                          v-if="currentYear['代县'].mtbfCompare === 1"
-                        >
+                        <template v-if="currentYear['代县'].mtbfCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['代县'].mtbfCompare === 2"
-                        >
+                        <template v-if="currentYear['代县'].mtbfCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1225,16 +1189,12 @@
                       <td style="width: 50px">MTTR</td>
                       <td style="width: 105px">
                         {{ currentYear["崇礼"].mttr }}
-                        <template
-                          v-if="currentYear['崇礼'].mttrCompare === 1"
-                        >
+                        <template v-if="currentYear['崇礼'].mttrCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['崇礼'].mttrCompare === 2"
-                        >
+                        <template v-if="currentYear['崇礼'].mttrCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1245,16 +1205,12 @@
                       </td>
                       <td style="width: 105px">
                         {{ currentYear["康保"].mttr }}
-                        <template
-                          v-if="currentYear['康保'].mttrCompare === 1"
-                        >
+                        <template v-if="currentYear['康保'].mttrCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['康保'].mttrCompare === 2"
-                        >
+                        <template v-if="currentYear['康保'].mttrCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1281,16 +1237,12 @@
                       </td> -->
                       <td style="width: 105px">
                         {{ currentYear["代县"].mttr }}
-                        <template
-                          v-if="currentYear['代县'].mttrCompare === 1"
-                        >
+                        <template v-if="currentYear['代县'].mttrCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['代县'].mttrCompare === 2"
-                        >
+                        <template v-if="currentYear['代县'].mttrCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1321,16 +1273,12 @@
                       <td style="width: 50px">复位</td>
                       <td style="width: 105px">
                         {{ currentYear["崇礼"].fwjsl }}
-                        <template
-                          v-if="currentYear['崇礼'].fwjslCompare === 1"
-                        >
+                        <template v-if="currentYear['崇礼'].fwjslCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['崇礼'].fwjslCompare === 2"
-                        >
+                        <template v-if="currentYear['崇礼'].fwjslCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1341,16 +1289,12 @@
                       </td>
                       <td style="width: 105px">
                         {{ currentYear["康保"].mttr }}
-                        <template
-                          v-if="currentYear['康保'].fwjslCompare === 1"
-                        >
+                        <template v-if="currentYear['康保'].fwjslCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['康保'].fwjslCompare === 2"
-                        >
+                        <template v-if="currentYear['康保'].fwjslCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1377,16 +1321,12 @@
                       </td> -->
                       <td style="width: 105px">
                         {{ currentYear["代县"].fwjsl }}
-                        <template
-                          v-if="currentYear['代县'].fwjslCompare === 1"
-                        >
+                        <template v-if="currentYear['代县'].fwjslCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['代县'].fwjslCompare === 2"
-                        >
+                        <template v-if="currentYear['代县'].fwjslCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1417,16 +1357,12 @@
                       <td style="width: 50px">转换</td>
                       <td style="width: 105px">
                         {{ currentYear["崇礼"].ztzhl }}
-                        <template
-                          v-if="currentYear['崇礼'].ztzhlCompare === 1"
-                        >
+                        <template v-if="currentYear['崇礼'].ztzhlCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['崇礼'].ztzhlCompare === 2"
-                        >
+                        <template v-if="currentYear['崇礼'].ztzhlCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1437,16 +1373,12 @@
                       </td>
                       <td style="width: 105px">
                         {{ currentYear["康保"].ztzhl }}
-                        <template
-                          v-if="currentYear['康保'].ztzhlCompare === 1"
-                        >
+                        <template v-if="currentYear['康保'].ztzhlCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['康保'].ztzhlCompare === 2"
-                        >
+                        <template v-if="currentYear['康保'].ztzhlCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1473,16 +1405,12 @@
                       </td> -->
                       <td style="width: 105px">
                         {{ currentYear["代县"].ztzhl }}
-                        <template
-                          v-if="currentYear['代县'].ztzhlCompare === 1"
-                        >
+                        <template v-if="currentYear['代县'].ztzhlCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['代县'].ztzhlCompare === 2"
-                        >
+                        <template v-if="currentYear['代县'].ztzhlCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1513,16 +1441,12 @@
                       <td style="width: 50px">消缺</td>
                       <td style="width: 105px">
                         {{ currentYear["崇礼"].xqjsl }}
-                        <template
-                          v-if="currentYear['崇礼'].xqjslCompare === 1"
-                        >
+                        <template v-if="currentYear['崇礼'].xqjslCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['崇礼'].xqjslCompare === 2"
-                        >
+                        <template v-if="currentYear['崇礼'].xqjslCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1533,16 +1457,12 @@
                       </td>
                       <td style="width: 105px">
                         {{ currentYear["康保"].xqjsl }}
-                        <template
-                          v-if="currentYear['康保'].xqjslCompare === 1"
-                        >
+                        <template v-if="currentYear['康保'].xqjslCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['康保'].xqjslCompare === 2"
-                        >
+                        <template v-if="currentYear['康保'].xqjslCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1569,16 +1489,12 @@
                       </td> -->
                       <td style="width: 105px">
                         {{ currentYear["代县"].xqjsl }}
-                        <template
-                          v-if="currentYear['代县'].xqjslCompare === 1"
-                        >
+                        <template v-if="currentYear['代县'].xqjslCompare === 1">
                           <span class="svg-icon svg-icon-yellow">
                             <svg-icon svgid="svg-arrow-dpwn-1" />
                           </span>
                         </template>
-                        <template
-                          v-if="currentYear['代县'].xqjslCompare === 2"
-                        >
+                        <template v-if="currentYear['代县'].xqjslCompare === 2">
                           <span class="svg-icon svg-icon-green">
                             <svg-icon svgid="svg-arrow-up-1" />
                           </span>
@@ -1751,10 +1667,12 @@ export default {
       } else {
         months = this.monthChange(this.monthValue);
       }
-      api.specificMaincenterlist({
+      api
+        .specificMaincenterlist({
           month: months,
-      }).then((res) => {
-             let currentMonth = {};
+        })
+        .then((res) => {
+          let currentMonth = {};
           let currentYear = {};
           res.data["当月"].map((item) => {
             for (let key in item) {
@@ -1766,7 +1684,7 @@ export default {
               currentMonth["崇礼"] = item;
             } else if (item.wpid === "康保风电场") {
               currentMonth["康保"] = item;
-            }else if (item.wpid === "代县风电场") {
+            } else if (item.wpid === "代县风电场") {
               currentMonth["代县"] = item;
             } else if (item.wpid === "寿阳风电场") {
               currentMonth["寿阳"] = item;
@@ -1790,9 +1708,7 @@ export default {
           });
           this.currentMonth = currentMonth;
           this.currentYear = currentYear;
-      });
-
-
+        });
 
       // _this.API.requestData({
       //   showLoading,
@@ -1846,7 +1762,7 @@ export default {
       //   },
       // });
     },
-    getMonthList(showLoading) {
+    async getMonthList(showLoading) {
       let _this = this;
       let months = "";
       if (typeof this.monthValue === "string") {
@@ -1854,11 +1770,12 @@ export default {
       } else {
         months = this.monthChange(this.monthValue);
       }
-
-        api.specificMaintoplist({
-        month: months,
-      }).then((res) => {
-           res.data.map((item) => {
+      api
+        .specificMaintoplist({
+          month: months,
+        })
+        .then((res) => {
+          res.data.map((item) => {
             for (let key in item) {
               if (this.isNumber(item[key]) && item.type !== "比较") {
                 item[key] = item[key].toFixed(2);
@@ -1977,10 +1894,7 @@ export default {
               ];
             }
           });
-      });
-
-
-
+        });
 
       // _this.API.requestData({
       //   showLoading,

+ 43 - 43
src/views/totalPowerRank/index.vue

@@ -213,58 +213,58 @@ export default {
       }
     },
 
-    search() {
-      this.getOutputSpeedList();
-    },
-  },
+			search() {
+				this.getOutputSpeedList();
+			},
+		},
 
-  created() {
-    this.requestData();
-  },
+		created() {
+			this.requestData();
+		},
 
-  mounted() {},
+		mounted() {},
 
-  unmounted() {},
-};
+		unmounted() {},
+	};
 </script>
 
 <style lang="less" scoped>
-.draught-fan-list {
-  width: 100%;
-  height: 100%;
-  display: flex;
-  flex-direction: column;
+	.draught-fan-list {
+		width: 100%;
+		height: 100%;
+		display: flex;
+		flex-direction: column;
 
-  .btn-group-tabs {
-    display: flex;
-    flex-direction: row;
+		.btn-group-tabs {
+			display: flex;
+			flex-direction: row;
 
-    .photovoltaic {
-      margin-left: 1.481vh;
-    }
-  }
+			.photovoltaic {
+				margin-left: 1.481vh;
+			}
+		}
 
-  .df-table {
-    border: 0.093vh solid fade(@darkgray, 50%);
-    position: relative;
-    overflow: hidden;
-    flex-grow: 1;
-    margin-top: 1.481vh;
-    height: 80vh;
+		.df-table {
+			border: 0.093vh solid fade(@darkgray, 50%);
+			position: relative;
+			overflow: hidden;
+			flex-grow: 1;
+			margin-top: 1.481vh;
+			height: 80vh;
 
-    &:before {
-      content: "";
-      width: 0.37vh;
-      height: 0.37vh;
-      background: @write;
-      position: absolute;
-      left: 0.278vh;
-      top: 0.278vh;
-    }
+			&:before {
+				content: "";
+				width: 0.37vh;
+				height: 0.37vh;
+				background: @write;
+				position: absolute;
+				left: 0.278vh;
+				top: 0.278vh;
+			}
 
-    tbody {
-      height: calc(100vh - 166px);
-    }
-  }
-}
+			tbody {
+				height: calc(100vh - 166px);
+			}
+		}
+	}
 </style>

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

@@ -23,7 +23,7 @@
       </div>
     </div>
     <div class="df-table curTable">
-      <el-table :data="tableData.data" height="88vh" max-height="88vh" stripe style="width: 100%" :border="true">
+      <el-table class="custom-table" :data="tableData.data" height="88vh" max-height="88vh" stripe style="width: 100%" :border="true">
         <el-table-column :show-overflow-tooltip="true" prop="wtname" label="风机" width="150px"></el-table-column>
         <el-table-column :show-overflow-tooltip="true" :label="tableTitle">
           <el-table-column :show-overflow-tooltip="true" label="近一天">