Biao 3 年 前
コミット
9d26002573
39 ファイル変更2137 行追加1249 行削除
  1. 190 0
      src/api/wisdomOverhaul/health/index.js
  2. 9 3
      src/components/chart/bar/list-bar-chart2.vue
  3. 2 0
      src/components/chart/bar/multiple-bar-chart.vue
  4. 14 9
      src/components/coms/cards/percent-card-2.vue
  5. 23 6
      src/components/coms/collapse/collapse-list.vue
  6. 3 2
      src/components/coms/panel/panel.vue
  7. 43 19
      src/components/coms/wt-chooser/wt-chooser.vue
  8. 4 4
      src/views/Agc/Agc.vue
  9. 70 22
      src/views/Agc/components/agc-panel.vue
  10. 211 67
      src/views/HealthControl/Health10.vue
  11. 125 42
      src/views/HealthControl/Health2.vue
  12. 50 41
      src/views/HealthControl/Health5.vue
  13. 199 65
      src/views/HealthControl/Health6.vue
  14. 22 17
      src/views/HealthControl/Health8.vue
  15. 28 42
      src/views/HealthControl/HealthTab1.vue
  16. 46 34
      src/views/HealthControl/HealthTab2.vue
  17. 172 85
      src/views/HealthControl/HealthTab3.vue
  18. 121 72
      src/views/HealthControl/HealthTab4.vue
  19. 74 35
      src/views/HealthControl/healthLineChart.vue
  20. 231 65
      src/views/HealthControl/healthLineChart2.vue
  21. 22 308
      src/views/Home/Home.vue
  22. 6 6
      src/views/Home/components/coulometric-analysis.vue
  23. 67 33
      src/views/Home/components/map.vue
  24. 8 3
      src/views/Home/components/map/svg-map-nx.vue
  25. 40 41
      src/views/Home/components/power-plan.vue
  26. 2 2
      src/views/Home/components/weather.vue
  27. 4 2
      src/views/Knowledge/Knowledge1.vue
  28. 172 163
      src/views/LightMatrix1/LightMatrix1.vue
  29. 18 16
      src/views/NewPages/dj1.vue
  30. 2 2
      src/views/NewPages/form.vue
  31. 14 8
      src/views/NewPages/power-benchmarking.vue
  32. 2 2
      src/views/NewPages/station.vue
  33. 2 2
      src/views/NewPages/statisticAnalysis.vue
  34. 12 6
      src/views/Status/Status.vue
  35. 107 6
      src/views/Status/components/status-panel.vue
  36. 1 1
      src/views/layout/Header.vue
  37. 11 11
      src/views/layout/Menu.vue
  38. 9 6
      src/views/realSearch/index.vue
  39. 1 1
      src/views/report/weather.vue

+ 190 - 0
src/api/wisdomOverhaul/health/index.js

@@ -0,0 +1,190 @@
+import request from "../../../tools/request";
+const requestRecommen = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `${data.url}`,
+        method: "get",
+    });
+};
+const recommen = (url,data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `${url}`,
+        method: "post",
+        data: data
+    });
+};
+const findAllChartjz = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `recommen/findAllChartjz?wpId=${data.wpId}&type=${data.type}`,
+        method: "get",
+    });
+};
+const recommenRecommenConfirmedList = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `recommen/recommenConfirmedList`,
+        method: "get",
+    });
+};
+const powercompareWindturbineAjax = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `powercompare/windturbineAjax?wpId=${data.wpId}`,
+        method: "get",
+    });
+};
+const recommenUnfinishedList = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `recommen/unfinishedList?wpId=${data.wpId}&wtId=${data.wtId}&beginDate=${data.beginDate}&endDate=${data.endDate}`,
+        method: "get",
+    });
+};
+const recommenFindMainTrack = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `recommen/findMainTrack?rid=${data.rid}`,
+        method: "get",
+    });
+};
+const recommenFinishedList = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `recommen/unfinishedList?wpId=${data.wpId}&wtId=${data.wtId}&beginDate=${data.beginDate}&endDate=${data.endDate}`,
+        method: "get",
+    });
+};
+const healthmainFindAllMap = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `health/findAllMap`,
+        method: "get",
+    });
+};
+const healthoperationCountWpwarn = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/health/countWpwarn?type=${data.type}`,
+        method: "get",
+    });
+};
+const healthoperationCountStop = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/health/countStop?type=${data.type}`,
+        method: "get",
+    });
+};
+const healthoperationCountWpOrProStatus = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/health/countWpOrProStatus?type=${data.type}`,
+        method: "get",
+    });
+};
+const healthoperationFindWpOrProStatusForHistory = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/health/findWpOrProStatusForHistory?type=${data.type}&status=${data.status}`,
+        method: "get",
+    });
+};
+const healthmainFindHealthMatrixMap = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/health/findHealthMatrixMap`,
+        method: "get",
+    });
+};
+const powercompareWindfarmAjax = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `powercompare/windfarmAjax`,
+        method: "get",
+    });
+};
+const wtHealthListWindTurbineHealthList = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `/health/windTurbineHealthList?wpId=${data.wpId}`,
+        method: "get",
+    });
+};
+const healthsubHsFjValueIndex = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `health/hsFjValueIndex?wtId=${data.wtId}`,
+        method: "get",
+    });
+};
+const healthsubGadaytop5 = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `health/gadaytop5?wtId=${data.wtId}`,
+        method: "get",
+    });
+};
+const healthsubQueryStopTop10 = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `health/queryStopTop10?wtId=${data.wtId}`,
+        method: "get",
+    });
+};
+const healthsubGetWtMttrandMtbfByBj = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `health/getWtMttrandMtbfByBj?wtId=${data.wtId}`,
+        method: "get",
+    });
+};
+const healthsubFindPowerChar = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `health/findPowerChar?wtId=${data.wtId}`,
+        method: "get",
+    });
+};
+const healthsubGetWeatherRealDay5Info = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `health/getWeatherRealDay5Info?wpId=${data.wpId}`,
+        method: "get",
+    });
+};
+const healthsubFindWtHisValueForBj = (data) => {
+    return request({
+        baseURL: process.env.VUE_APP_Matrix,
+        url: `health/findWtHisValueForBj?wtId=${data.wtId}`,
+        method: "get",
+    });
+};
+
+
+export default {
+    requestRecommen,
+    recommen,
+    findAllChartjz,
+    recommenRecommenConfirmedList,
+    powercompareWindturbineAjax,
+    recommenUnfinishedList,
+    recommenFindMainTrack,
+    recommenFinishedList,
+    healthmainFindAllMap,
+    healthoperationCountWpwarn,
+    healthoperationCountStop,
+    healthoperationCountWpOrProStatus,
+    healthoperationFindWpOrProStatusForHistory,
+    healthmainFindHealthMatrixMap,
+    powercompareWindfarmAjax,
+    wtHealthListWindTurbineHealthList,
+    healthsubHsFjValueIndex,
+    healthsubGadaytop5,
+    healthsubQueryStopTop10,
+    healthsubGetWtMttrandMtbfByBj,
+    healthsubFindPowerChar,
+    healthsubGetWeatherRealDay5Info,
+    healthsubFindWtHisValueForBj,
+}

+ 9 - 3
src/components/chart/bar/list-bar-chart2.vue

@@ -68,6 +68,9 @@ export default {
       firstAnimation: true,
     };
   },
+  created() {
+    console.log("this.list", this.list);
+  },
   computed: {
     datas() {
       return this.list.map((t) => {
@@ -164,7 +167,8 @@ export default {
                   return param.data.name;
                 },
                 textStyle: {
-                  color: this.$store.state.themeName === "dark" ? "#7a8385" : "#000",
+                  color:
+                    this.$store.state.themeName === "dark" ? "#7a8385" : "#000",
                   fontSize: 12,
                 },
               },
@@ -199,7 +203,8 @@ export default {
             type: "pictorialBar",
             itemStyle: {
               normal: {
-                color: this.$store.state.themeName === "dark" ? "#20314f" : "#000",
+                color:
+                  this.$store.state.themeName === "dark" ? "#20314f" : "#000",
               },
             },
             animation: this.firstAnimation,
@@ -234,7 +239,8 @@ export default {
                 },
                 rich: {
                   f: {
-                    color: this.$store.state.themeName === "dark" ? "#fff" : "#000",
+                    color:
+                      this.$store.state.themeName === "dark" ? "#fff" : "#000",
                     fontSize: 14,
                     lineHeight: 20,
                     fontFamily: "Bicubik",

+ 2 - 0
src/components/chart/bar/multiple-bar-chart.vue

@@ -364,6 +364,8 @@ export default {
     },
   },
   created() {
+    // console.log(this.list,666666666666666666);
+    // console.log(this.units,444444444444444444);
     this.$nextTick(() => {
       this.id = "pie-chart-" + util.newGUID();
     });

+ 14 - 9
src/components/coms/cards/percent-card-2.vue

@@ -1,17 +1,22 @@
 <template>
   <div class="percent-card">
     <div class="card-chart">
-      <percent-bar width="5.926vh" height="5.926vh" :value="percent" :color="color" />
+      <percent-bar
+        width="5.926vh"
+        height="5.926vh"
+        :value="percent"
+        :color="color"
+      />
       <div class="card-title gray">{{ title }}</div>
     </div>
     <div class="card-info">
       <div class="card-value">
         <span class="value-text gray">{{ TotalText }}</span>
-        <span class="white">{{ TotalValue }}</span>
+        <span class="white">{{ TotalValue/10 }}</span>
       </div>
       <div class="card-value">
         <span class="value-text gray">{{ ActualText }}</span>
-        <span class="white">{{ ActualValue }}</span>
+        <span class="white">{{ ActualValue/10 }}</span>
       </div>
     </div>
   </div>
@@ -35,7 +40,7 @@ export default {
       default: "实际",
     },
     TotalValue: {
-      type: Number,
+      type: Number,String,
       default: 0,
     },
     ActualText: {
@@ -43,18 +48,18 @@ export default {
       default: "计划",
     },
     ActualValue: {
-      type: Number,
-      default: 100,
+      type: Number,String,
+      default: 0,
     },
     color: {
       type: String,
       default: "green",
-    }
+    },
   },
+
   computed: {
     percent() {
-      // return parseInt((this.ActualValue / this.TotalValue) * 100);
-      return parseInt((this.TotalValue / this.ActualValue) * 100);
+      return parseInt((this.TotalValue / this.ActualValue) * 1000);
     },
   },
 };

+ 23 - 6
src/components/coms/collapse/collapse-list.vue

@@ -21,8 +21,14 @@
             @click.stop="itemClick(item, j)"
             :class="{ active: itemIndex == j }"
           >
-            <span class="dot" :class="'bg-' + item.color"></span>
-            <span class="value"> {{ item.text }}</span>
+            <div
+              class="dot-box"
+              @click="actives(item, j)"
+              :class="this.Nums === j ? 'bj' : ''"
+            >
+              <span class="dot" :class="'bg-' + item.color"></span>
+              <span class="value"> {{ item.text }}</span>
+            </div>
           </div>
         </div>
       </div>
@@ -38,6 +44,7 @@ export default {
   components: {},
   // 传入参数
   props: {
+    //传来的id
     // 标题 ""不显示
     title: {
       type: String,
@@ -126,12 +133,18 @@ export default {
     return {
       menuIndex: 0,
       itemIndex: 0,
+      Nums: 0,
     };
   },
   // 函数
   methods: {
+    actives(x,j) {
+      this.Nums = j;
+      // console.log( this.Nums);
+    },
     menuClick(index) {
-      if(index === 0){
+      this.Nums = 0;
+      if (index === 0) {
         this.$emit("onClick");
       }
       if (this.menuIndex == index) {
@@ -162,7 +175,6 @@ export default {
         });
       });
     },
-  
   },
   // 生命周期钩子
   beforeCreate() {
@@ -170,6 +182,7 @@ export default {
   },
   created() {
     // 创建后
+    // console.log(this.list);
   },
   beforeMount() {
     // 渲染前
@@ -178,8 +191,6 @@ export default {
     this.wpId = this.$route.params.wpId || "";
     this.wtId = this.$route.params.wtId || "";
     this.setDefaultActiveMenu(this.list);
-
-
   },
   beforeUpdate() {
     // 数据更新前
@@ -198,6 +209,9 @@ export default {
 
 <style lang="less">
 .com-collapse {
+  .bj {
+    background-color: rgb(47, 56, 108);
+  }
   .collapse-box {
     cursor: pointer;
 
@@ -247,5 +261,8 @@ export default {
       }
     }
   }
+  .value:hover {
+    // background-color: antiquewhite;
+  }
 }
 </style>

+ 3 - 2
src/components/coms/panel/panel.vue

@@ -73,11 +73,12 @@ export default {
 
   .panel-header {
     display: flex;
-    font-size: 12px;
+    font-size: 16px;
     padding-left: 1.185vh;
     background: rgba(255, 255, 255, 10%);
-    line-height: 27px;
+    line-height: 45px;
     margin-bottom: 0.7407vh;
+    height: 45px;
 
     .panel-title {
       color: fade(#fff, 75);

+ 43 - 19
src/components/coms/wt-chooser/wt-chooser.vue

@@ -4,8 +4,19 @@
       <div class="query-item">
         <div class="lable">风场:</div>
         <div class="search-input">
-          <el-select v-model="wpId" clearable placeholder="请选择风场" popper-class="select" @change="getWtList">
-            <el-option v-for="item in wpList" :key="item.id" :label="item.name" :value="item.id">
+          <el-select
+            v-model="wpId"
+            clearable
+            placeholder="请选择风场"
+            popper-class="select"
+            @change="getWtList"
+          >
+            <el-option
+              v-for="item in wpList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            >
             </el-option>
           </el-select>
         </div>
@@ -13,8 +24,19 @@
       <div class="query-item">
         <div class="lable">风机:</div>
         <div class="search-input">
-          <el-select v-model="wtId" clearable placeholder="请选择风机" popper-class="select" @change="wtChange">
-            <el-option v-for="item in wtList" :key="item.id" :label="item.name" :value="item.id">
+          <el-select
+            v-model="wtId"
+            clearable
+            placeholder="请选择风机"
+            popper-class="select"
+            @change="wtChange"
+          >
+            <el-option
+              v-for="item in wtList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            >
             </el-option>
           </el-select>
         </div>
@@ -24,15 +46,15 @@
 </template>
 
 <script>
+import api from "@api/wisdomOverhaul/health/index.js";
 export default {
   // 传参
   props: {
-    wpId: { type: String, default: "MHS_FDC" },
-    wtId: { type: String, default: "MG01_01" },
+    wpId: { type: String, default: "CL_FDC" },
+    wtId: { type: String, default: "CL01_GC" },
   },
   // 事件
-  emits: {
-  },
+  emits: {},
   data() {
     return {
       wpList: [],
@@ -44,20 +66,22 @@ export default {
     this.getWtList();
   },
   methods: {
-    async getWpList() {
-      const { data } = await this.API.requestData({
-        subUrl: "powercompare/windfarmAjax",
+    getWpList() {
+      api.powercompareWindfarmAjax().then((res) => {
+        this.wpList = res.data;
+        // this.wpId = res.data[0].name;
       });
-      this.wpList = data.data;
     },
-    async getWtList() {
-      const { data } = await this.API.requestData({
-        subUrl: "powercompare/windturbineAjax",
-        data: {
+    getWtList() {
+      api
+        .powercompareWindturbineAjax({
           wpId: this.wpId,
-        },
-      });
-      this.wtList = data.data;
+        })
+        .then((res) => {
+      
+          this.wtList = res.data;
+          // this.wtId = res.data[0].name;
+        });
     },
     wtChange() {
       this.$emit("change", { wtId: this.wtId, wpId: this.wpId });

+ 4 - 4
src/views/Agc/Agc.vue

@@ -195,10 +195,10 @@ export default {
     flex-wrap: wrap;
 
     .panel-item {
-      width: calc(25% - 12px);
-      height: 29vh;
-      margin-left: 16px;
-      margin-bottom: 16px;
+      width: calc(49% - 12px);
+      height: 38vh;
+      margin-right: 30px;
+      margin-bottom:  80px;
 
       &:nth-child(4n + 1) {
         margin-left: 0;

+ 70 - 22
src/views/Agc/components/agc-panel.vue

@@ -1,18 +1,24 @@
 <template>
-  <ComPanel v-if="data && data.jcxx" :title="data.jcxx.name || '---'" :icon="data.jcxx.icon" :subTitle="data.jcxx.ddmc || '---'" :color="data.jcxx.color">
+  <ComPanel
+    v-if="data && data.jcxx"
+    :title="data.jcxx.name || '---'"
+    :icon="data.jcxx.icon"
+    :subTitle="data.jcxx.ddmc || '---'"
+    :color="data.jcxx.color"
+  >
     <table class="panel-table">
       <tbody>
         <tr>
           <td colspan="2">
             <div class="data-item">
-              <span class="data-item-name">有功设定限值</span>
+              <span class="data-item-name">有功设定限值</span>
               <span class="data-item-count">{{ data.jcxx.AGC002 }}</span>
               <span class="data-item-unit">MW</span>
             </div>
           </td>
           <td colspan="2">
             <div class="data-item">
-              <span class="data-item-name">出线功率</span>
+              <span class="data-item-name">出线功率</span>
               <span class="data-item-count">{{ data.jcxx.AGC001 }}</span>
               <span class="data-item-unit">MW</span>
             </div>
@@ -21,15 +27,15 @@
         <tr>
           <td colspan="2">
             <div class="data-item">
-              <span class="data-item-name">AGC可调上限</span>
+              <span class="data-item-name">AGC可调上限</span>
               <span class="data-item-count">{{ data.jcxx.AGC003 }}</span>
               <span class="data-item-unit">MW</span>
             </div>
           </td>
           <td colspan="2">
             <div class="data-item">
-              <span class="data-item-name">理论功率</span>
-              <span class="data-item-count">{{ data.jcxx.ZZSGL }}</span>
+              <span class="data-item-name">理论功率</span>
+              <span class="data-item-count">{{ (data.jcxx.ZZSGL/1000).toFixed(2) }}</span>
               <span class="data-item-unit">MW</span>
             </div>
           </td>
@@ -37,14 +43,14 @@
         <tr>
           <td colspan="2">
             <div class="data-item">
-              <span class="data-item-name">AGC可调下限</span>
+              <span class="data-item-name">AGC可调下限</span>
               <span class="data-item-count">{{ data.jcxx.AGC004 }}</span>
               <span class="data-item-unit">MW</span>
             </div>
           </td>
           <td colspan="2">
             <div class="data-item">
-              <span class="data-item-name">预测功率</span>
+              <span class="data-item-name">预测功率</span>
               <span class="data-item-count">{{ data.jcxx.ycgl || 0 }}</span>
               <span class="data-item-unit">MW</span>
             </div>
@@ -54,37 +60,72 @@
           <td>
             <div class="data-item">
               <span class="data-item-name">AGC投入</span>
-              <i :class="'data-item-icon fa fa-chrome ' + (data.jcxx.AGC006 === 1 ? 'red' : 'green')"></i>
+              <i
+                :class="
+                  'data-item-icon fa fa-chrome ' +
+                  (data.jcxx.AGC006 === 1 ? 'red' : 'green')
+                "
+              ></i>
             </div>
           </td>
           <td>
             <div class="data-item">
               <span class="data-item-name">AGC远方</span>
-              <i :class="'data-item-icon fa fa-chrome ' + (data.jcxx.AGC005 === 1 ? 'red' : 'green')"></i>
+              <i
+                :class="
+                  'data-item-icon fa fa-chrome ' +
+                  (data.jcxx.AGC005 === 1 ? 'red' : 'green')
+                "
+              ></i>
             </div>
           </td>
           <td>
             <div class="data-item">
               <span class="data-item-name">有功增闭锁</span>
-              <i :class="'data-item-icon fa fa-chrome ' + (data.jcxx.AGC008 === 1 ? 'red' : 'green')"></i>
+              <i
+                :class="
+                  'data-item-icon fa fa-chrome ' +
+                  (data.jcxx.AGC008 === 1 ? 'red' : 'green')
+                "
+              ></i>
             </div>
           </td>
           <td>
             <div class="data-item">
               <span class="data-item-name">有功减闭锁</span>
-              <i :class="'data-item-icon fa fa-chrome ' + (data.jcxx.AGC007 === 1 ? 'red' : 'green')"></i>
+              <i
+                :class="
+                  'data-item-icon fa fa-chrome ' +
+                  (data.jcxx.AGC007 === 1 ? 'red' : 'green')
+                "
+              ></i>
             </div>
           </td>
         </tr>
       </tbody>
     </table>
     <!-- 查看默认实例去除末尾参数 :list 即可 -->
-    <DoubleLineChart v-if="chartType === 'double'" height="13.889vh" :list="data.tb || chartData" @chartClick="chartClick($event)" :isChartClick="true"></DoubleLineChart>
+    <DoubleLineChart
+      v-if="chartType === 'double'"
+      height="20vh"
+      :list="data.tb || chartData"
+      @chartClick="chartClick($event)"
+      :isChartClick="true"
+    ></DoubleLineChart>
     <!-- <MultipleLineChart v-if="chartType === 'multiple'" height="13.889vh" :list="data.tb || chartData" :hoverType="'axis'"></MultipleLineChart> -->
-  	<el-dialog v-model="dialogVisible" width="70%" top="10vh" custom-class="modal"
-			:close-on-click-modal="true">
-      <DoubleLineChart height="70vh" :list="data.tb || chartData" myUnit='MW'></DoubleLineChart>
-		</el-dialog>
+    <el-dialog
+      v-model="dialogVisible"
+      width="70%"
+      top="10vh"
+      custom-class="modal"
+      :close-on-click-modal="true"
+    >
+      <DoubleLineChart
+        height="70vh"
+        :list="data.tb || chartData"
+        myUnit="MW"
+      ></DoubleLineChart>
+    </el-dialog>
   </ComPanel>
 </template>
 
@@ -124,7 +165,7 @@ export default {
   // 数据
   data() {
     return {
-      dialogVisible:false,
+      dialogVisible: false,
       list: [
         {
           title: "平均风速",
@@ -233,9 +274,9 @@ export default {
   },
   // 函数
   methods: {
-    chartClick(){
+    chartClick() {
       this.dialogVisible = true;
-    }
+    },
   },
   // 生命周期钩子
   beforeCreate() {
@@ -279,9 +320,15 @@ export default {
     background-color: fade(@gray, 20);
     padding: 0.278vh;
     padding-left: 0.7407vh;
-    font-size: 1.204vh;
+    font-size: 1.504vh;
     display: flex;
     flex-direction: row;
+    height: 30px;
+    padding-left: 45px;
+    padding-right: 80px;
+    align-items: center;
+
+
 
     .data-item-name {
       color: @gray;
@@ -290,7 +337,8 @@ export default {
     .data-item-count {
       color: @green;
       margin-left: auto;
-      margin-right: 0.556vh;
+      margin-right:2.7vh;
+
     }
 
     .data-item-unit {

+ 211 - 67
src/views/HealthControl/Health10.vue

@@ -30,9 +30,13 @@
                 <tr>
                   <th rowspan="1" class="type1" style="width: 50px"></th>
                   <th rowspan="1" class="type1" style="width: 105px">健康度</th>
-                  <th rowspan="2" class="type1" style="width: 400px">MTBF(H/H)</th>
+                  <th rowspan="2" class="type1" style="width: 400px">
+                    MTBF(H/H)
+                  </th>
                   <th rowspan="1" class="type1" style="width: 180px"></th>
-                  <th rowspan="1" class="type1" style="width: 100px">MTTR(H)</th>
+                  <th rowspan="1" class="type1" style="width: 100px">
+                    MTTR(H)
+                  </th>
                 </tr>
               </thead>
             </table>
@@ -45,13 +49,22 @@
                         {{ item[1] }}
                       </td>
                       <td style="width: 105px">
-                        <div :style="'background-color: ' + item[0] + ';width:10px;height:10px;margin:0 auto;'"></div>
+                        <div
+                          :style="
+                            'background-color: ' +
+                            item[0] +
+                            ';width:10px;height:10px;margin:0 auto;'
+                          "
+                        ></div>
                       </td>
                       <td style="width: 400px">
                         <div class="percent-item">
                           {{ item[3] }}%
                           <div class="percent-bar" style="margin-right: 4px">
-                            <div class="percent-value" :style="'width:' + item[3] + '%'"></div>
+                            <div
+                              class="percent-value"
+                              :style="'width:' + item[3] + '%'"
+                            ></div>
                           </div>
                           <!-- 剩余9999/建个故障9999 -->
                           {{ item[4] }}
@@ -74,9 +87,17 @@
       <el-col :span="12">
         <div class="chart-title">
           <div class="title-panel" style="">
-            <span style="text-align: left; padding-left: 20px; font-size: 12px">故障信息 </span>
-            <span class="des-title">预计损失电量<span class="num">73824.0</span><span class="unit">Kwh</span></span>
-            <span class="des-title">预计检修时长<span class="num">29.33</span><span class="unit">H</span></span>
+            <span style="text-align: left; padding-left: 20px; font-size: 12px"
+              >故障信息
+            </span>
+            <span class="des-title"
+              >预计损失电量<span class="num">73824.0</span
+              ><span class="unit">Kwh</span></span
+            >
+            <span class="des-title"
+              >预计检修时长<span class="num">29.33</span
+              ><span class="unit">H</span></span
+            >
           </div>
           <!-- <img-line-chart
             height="270px"
@@ -87,13 +108,17 @@
     </el-row>
     <div class="fc-info mg-b-16">
       <panel :title="'曲线'" :showLine="false">
-        <zoom-line-chart height="28vh" :list="powerChartData.value" :units="powerChartData.units" />
+        <zoom-line-chart
+          height="28vh"
+          :list="powerChartData.value"
+          :units="powerChartData.units"
+        />
       </panel>
     </div>
     <HealthReport
       :show="healthReportShow"
       :params="reportparams"
-	  ref="eport"
+      ref="eport"
       @closed="
         (res) => {
           this.healthReportShow = false;
@@ -112,6 +137,7 @@ import ZoomLineChart from "../../components/chart/line/zoom-line-chart.vue";
 import HealthReport from "@com/other/healthReport/index.vue";
 import WeatherLineChart from "@com/chart/line/weather-line-chart.vue";
 import WtChooser from "@com/coms/wt-chooser/wt-chooser.vue";
+import api from "@api/wisdomOverhaul/health/index.js";
 
 export default {
   setup() {},
@@ -170,7 +196,7 @@ export default {
             click(e, row) {
               // that.recorddate = row.date;
               that.healthReportShow = true;
-			  that.$refs.eport.getReport(that.wtId,row.date);
+              that.$refs.eport.getReport(that.wtId, row.date);
             },
           },
         ],
@@ -242,7 +268,11 @@ export default {
             name: "故障名称",
             field: "v1",
             template: function (data) {
-              return "<div style='overflow: hidden;text-overflow:ellipsis;white-space: nowrap;'>" + data + "</div>";
+              return (
+                "<div style='overflow: hidden;text-overflow:ellipsis;white-space: nowrap;'>" +
+                data +
+                "</div>"
+              );
             },
           },
           {
@@ -329,19 +359,16 @@ export default {
       this.getWeather();
     },
     switchWt(data) {
-      this.$router.push(`/health/health10/${data.wpId}/${data.wtId}`);
+      // this.$router.push(`/health/health10/${data.wpId}/${data.wtId}`);
       this.init();
     },
     // 获取等级评价
     getTop5() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthsub/gadaytop5",
-        data: {
-          wtId: that.wtId,
-        },
-        success(res) {
+      api
+        .healthsubGadaytop5({
+          wtId: this.wtId,
+        })
+        .then((res) => {
           let top5TableData = [];
           let index = 1;
           for (let key in res.data) {
@@ -355,9 +382,33 @@ export default {
             });
             index++;
           }
-          that.top5Table.data = top5TableData;
-        },
-      });
+          this.top5Table.data = top5TableData;
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthsub/gadaytop5",
+      //   data: {
+      //     wtId: that.wtId,
+      //   },
+      //   success(res) {
+      //     let top5TableData = [];
+      //     let index = 1;
+      //     for (let key in res.data) {
+      //       let ele = res.data[key];
+      //       top5TableData.push({
+      //         index,
+      //         date: ele[1],
+      //         rank: ele[2],
+      //         wpId: ele[3],
+      //         wtId: ele[4],
+      //       });
+      //       index++;
+      //     }
+      //     that.top5Table.data = top5TableData;
+      //   },
+      // });
     },
 
     // 渲染健康报告表格
@@ -366,7 +417,9 @@ export default {
       for (let i = 0; i < day; i++) {
         tableData.push({
           index: i + 1,
-          date: new Date(new Date().getTime() - 3600 * 1000 * 24 * (i + 1)).formatDate("yyyy-MM-dd hh:mm:ss"),
+          date: new Date(
+            new Date().getTime() - 3600 * 1000 * 24 * (i + 1)
+          ).formatDate("yyyy-MM-dd hh:mm:ss"),
           wtId: this.wtId,
         });
       }
@@ -375,14 +428,11 @@ export default {
 
     // 获取等级评价
     getTop10() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthsub/queryStopTop10",
-        data: {
-          wtId: that.wtId,
-        },
-        success(res) {
+      api
+        .healthsubQueryStopTop10({
+          wtId: this.wtId,
+        })
+        .then((res) => {
           let leftData = [];
           let rightData = [];
 
@@ -390,8 +440,12 @@ export default {
             const item = {
               index: index + 1,
               warnDesc: ele.warnDesc,
-              startTime: new Date(ele.startTime).formatDate("yyyy-MM-dd hh:mm:ss"),
-              stopTime: new Date(ele.stopTime).formatDate("yyyy-MM-dd hh:mm:ss"),
+              startTime: new Date(ele.startTime).formatDate(
+                "yyyy-MM-dd hh:mm:ss"
+              ),
+              stopTime: new Date(ele.stopTime).formatDate(
+                "yyyy-MM-dd hh:mm:ss"
+              ),
               stopHours: ele.stopHours,
             };
             if (index < 5) {
@@ -401,22 +455,48 @@ export default {
             }
           });
 
-          that.top10TableLeft.data = leftData;
-          that.top10TableRight.data = rightData;
-        },
-      });
+          this.top10TableLeft.data = leftData;
+          this.top10TableRight.data = rightData;
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthsub/queryStopTop10",
+      //   data: {
+      //     wtId: that.wtId,
+      //   },
+      //   success(res) {
+      //     let leftData = [];
+      //     let rightData = [];
+
+      //     res.data.forEach((ele, index) => {
+      //       const item = {
+      //         index: index + 1,
+      //         warnDesc: ele.warnDesc,
+      //         startTime: new Date(ele.startTime).formatDate("yyyy-MM-dd hh:mm:ss"),
+      //         stopTime: new Date(ele.stopTime).formatDate("yyyy-MM-dd hh:mm:ss"),
+      //         stopHours: ele.stopHours,
+      //       };
+      //       if (index < 5) {
+      //         leftData.push(item);
+      //       } else {
+      //         rightData.push(item);
+      //       }
+      //     });
+
+      //     that.top10TableLeft.data = leftData;
+      //     that.top10TableRight.data = rightData;
+      //   },
+      // });
     },
 
     // 获取八大部件
     getMtbfByBj() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthsub/getWtMttrandMtbfByBj",
-        data: {
-          wtId: that.wtId,
-        },
-        success(res) {
+
+      api.healthsubGetWtMttrandMtbfByBj({
+         wtId: this.wtId,
+      }).then((res) => {
           let partsArray = [];
           for (let key in res.data) {
             let linChartData = [];
@@ -429,22 +509,40 @@ export default {
             res.data[key].push(linChartData);
             partsArray.push(res.data[key]);
           }
-          that.partsArray = partsArray;
-        },
+          this.partsArray = partsArray;
       });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthsub/getWtMttrandMtbfByBj",
+      //   data: {
+      //     wtId: that.wtId,
+      //   },
+      //   success(res) {
+      //     let partsArray = [];
+      //     for (let key in res.data) {
+      //       let linChartData = [];
+      //       res.data[key][2].split(",").forEach((ele, index) => {
+      //         linChartData.push({
+      //           text: index + 1,
+      //           value: ele,
+      //         });
+      //       });
+      //       res.data[key].push(linChartData);
+      //       partsArray.push(res.data[key]);
+      //     }
+      //     that.partsArray = partsArray;
+      //   },
+      // });
     },
 
     // 获取发电曲线
     getFindPowerChar() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthsub/findPowerChar",
-        data: {
-          wtId: that.wtId,
-        },
-        success(res) {
-          let chartUnits = ["(WM)", "(m/s)"];
+      api.healthsubFindPowerChar({
+         wtId: this.wtId,
+      }).then((res) => {
+             let chartUnits = ["(WM)", "(m/s)"];
           let chartData = [
             {
               title: "理论功率",
@@ -477,21 +575,64 @@ export default {
               value: res.data.ssfs[index],
             });
           });
-          that.powerChartData.value = chartData;
-          that.powerChartData.units = chartUnits;
-        },
+          this.powerChartData.value = chartData;
+          this.powerChartData.units = chartUnits;
       });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthsub/findPowerChar",
+      //   data: {
+      //     wtId: that.wtId,
+      //   },
+      //   success(res) {
+      //     let chartUnits = ["(WM)", "(m/s)"];
+      //     let chartData = [
+      //       {
+      //         title: "理论功率",
+      //         yAxisIndex: 0,
+      //         value: [],
+      //       },
+      //       {
+      //         title: "实际功率",
+      //         yAxisIndex: 0,
+      //         value: [],
+      //       },
+      //       {
+      //         title: "实时风速",
+      //         yAxisIndex: 1,
+      //         value: [],
+      //       },
+      //     ];
+
+      //     res.data.timearr.forEach((time, index) => {
+      //       chartData[0].value.push({
+      //         text: new Date(time).formatDate("MM-dd hh:mm"),
+      //         value: res.data.llgl[index],
+      //       });
+      //       chartData[1].value.push({
+      //         text: new Date(time).formatDate("MM-dd hh:mm"),
+      //         value: res.data.sjgl[index],
+      //       });
+      //       chartData[2].value.push({
+      //         text: new Date(time).formatDate("MM-dd hh:mm"),
+      //         value: res.data.ssfs[index],
+      //       });
+      //     });
+      //     that.powerChartData.value = chartData;
+      //     that.powerChartData.units = chartUnits;
+      //   },
+      // });
     },
 
     // 获取天气信息
     async getWeather() {
-      const { data } = await this.API.requestData({
-        method: "POST",
-        subUrl: "healthsub/getWeatherRealDay5Info",
-        data: { wpId: this.wpId },
-      });
-      // console.log(data);
-      if (data && data.data) {
+
+      api.healthsubGetWeatherRealDay5Info({
+        wpId: this.wpId
+      }).then((res) => {
+          if (res.data && res.data.data) {
         this.weatherData = data.data.ls;
         // const list = [];
         // data.data.ls.forEach((element) => {
@@ -500,6 +641,9 @@ export default {
         // list.push();
         // });
       }
+      });
+
+
     },
   },
 };

+ 125 - 42
src/views/HealthControl/Health2.vue

@@ -2,13 +2,21 @@
   <div class="health-2">
     <div class="power-info mg-b-16">
       <div class="info-tab">
-        <div class="tab" :class="type === '2' ? 'active' : ''" @click="changeDate('2')">
+        <div
+          class="tab"
+          :class="type === '2' ? 'active' : ''"
+          @click="changeDate('2')"
+        >
           <i class="svg-icon svg-icon svg-icon-sm">
             <svg-icon :svgid="'svg-h-day'" />
           </i>
           <span> 7日健康趋势 </span>
         </div>
-        <div class="tab" :class="type === '3' ? 'active' : ''" @click="changeDate('3')">
+        <div
+          class="tab"
+          :class="type === '3' ? 'active' : ''"
+          @click="changeDate('3')"
+        >
           <i class="svg-icon svg-icon svg-icon-sm">
             <svg-icon :svgid="'svg-h-month'" />
           </i>
@@ -21,8 +29,12 @@
       </div>
       <div class="info-chart">
         <!-- <panel class="info-chart-panel" :title="'损失电量分析'"> -->
-           <panel class="info-chart-panel" :title="'健康趋势'">
-          <vertival-bar-line-chart :bardata="bardata" :lineData="lineData" :height="'250px'" />
+        <panel class="info-chart-panel" :title="'健康趋势'">
+          <vertival-bar-line-chart
+            :bardata="bardata"
+            :lineData="lineData"
+            :height="'250px'"
+          />
         </panel>
       </div>
     </div>
@@ -37,36 +49,54 @@
           </div>
           <div class="tag">
             <div class="tag-title">实时风速</div>
-            <div class="tag-value">{{ item.sjfs }}<span class="unit">m/s</span></div>
+            <div class="tag-value">
+              {{ item.sjfs }}<span class="unit">m/s</span>
+            </div>
           </div>
           <div class="tag">
             <div class="tag-title">预测风速</div>
-            <div class="tag-value">{{ item.ycfs }}<span class="unit">m/s</span></div>
+            <div class="tag-value">
+              {{ item.ycfs }}<span class="unit">m/s</span>
+            </div>
           </div>
           <div class="tag">
             <div class="tag-title">健康度(优)</div>
-            <div class="tag-value">{{ item.ysl }}<span class="unit">台</span></div>
+            <div class="tag-value">
+              {{ item.ysl }}<span class="unit">台</span>
+            </div>
           </div>
           <div class="tag">
             <div class="tag-title">健康度(良)</div>
-            <div class="tag-value">{{ item.lsl }}<span class="unit">台</span></div>
+            <div class="tag-value">
+              {{ item.lsl }}<span class="unit">台</span>
+            </div>
           </div>
           <div class="tag">
             <div class="tag-title">健康度(差)</div>
-            <div class="tag-value">{{ item.csl }}<span class="unit">台</span></div>
+            <div class="tag-value">
+              {{ item.csl }}<span class="unit">台</span>
+            </div>
           </div>
         </div>
         <div class="health-info">
           <div class="title">
             设备健康度
             <div class="actions">
-              <div class="action" :class="item.showType === '1' ? 'active' : ''" @click="changeWpShowType(index, '1')">
+              <div
+                class="action"
+                :class="item.showType === '1' ? 'active' : ''"
+                @click="changeWpShowType(index, '1')"
+              >
                 <i class="svg-icon svg-icon-sm">
                   <svg-icon :svgid="'svg-wind-site'" />
                 </i>
                 比例
               </div>
-              <div class="action" :class="item.showType === '2' ? 'active' : ''" @click="changeWpShowType(index, '2')">
+              <div
+                class="action"
+                :class="item.showType === '2' ? 'active' : ''"
+                @click="changeWpShowType(index, '2')"
+              >
                 <i class="svg-icon svg-icon-sm">
                   <svg-icon :svgid="'svg-wind-site'" />
                 </i>
@@ -76,11 +106,26 @@
           </div>
           <div class="info-body">
             <div class="proportion-info" v-show="item.showType === '1'">
-              <thermometer-chart :value="item.jkd" :height="'120px'" :width="'80px'" />
-              <dashboard :value="item.csl" :max="item.jrts" :height="'150px'" :width="'150px'" />
+              <thermometer-chart
+                :value="item.jkd"
+                :height="'120px'"
+                :width="'80px'"
+              />
+              <dashboard
+                :value="item.csl"
+                :max="item.jrts"
+                :height="'150px'"
+                :width="'150px'"
+              />
             </div>
-             <div class="device-list" v-show="item.showType === '2'">
-              <div class="item orange" v-for="(gzItem, gzIndex) in item.gzId" :key="gzIndex">{{ gzItem.name }}</div>
+            <div class="device-list" v-show="item.showType === '2'">
+              <div
+                class="item orange"
+                v-for="(gzItem, gzIndex) in item.gzId"
+                :key="gzIndex"
+              >
+                {{ gzItem.name }}
+              </div>
             </div>
           </div>
         </div>
@@ -99,9 +144,17 @@ import ThermometerChart from "../../components/chart/other/thermometer-chart.vue
 import SvgIcon from "../../components/coms/icon/svg-icon.vue";
 import Panel from "../../components/coms/panel/panel.vue";
 import Table from "../../components/coms/table/table.vue";
+import api from "@api/wisdomOverhaul/health/index.js";
 export default {
   setup() {},
-  components: { SvgIcon, Panel, VertivalBarLineChart, ThermometerChart, Dashboard, Table },
+  components: {
+    SvgIcon,
+    Panel,
+    VertivalBarLineChart,
+    ThermometerChart,
+    Dashboard,
+    Table,
+  },
   data() {
     return {
       type: "2",
@@ -157,45 +210,75 @@ export default {
   methods: {
     // 获取顶部柱状图数据
     requestData() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        timeout: 8000,
-        subUrl: "recommen/findAllChartjz",
-        data: {
+      api
+        .findAllChartjz({
           wpId: "0",
-          type: that.type,
-        },
-        success(res) {
+          type: this.type,
+        })
+        .then((res) => {
           if (res.code == 200) {
-            that.bardata.legend = ["优数量", "良数量", "差数量"];
-            that.lineData = res.data.lvchart;
-            that.bardata.area = res.data.datechart;
-            that.bardata.data[2] = res.data.cslchart;
-            that.bardata.data[1] = res.data.lslchart;
-            that.bardata.data[0] = res.data.yslchart;
+            this.bardata.legend = ["优数量", "良数量", "差数量"];
+            this.lineData = res.data.lvchart;
+            this.bardata.area = res.data.datechart;
+            this.bardata.data[2] = res.data.cslchart;
+            this.bardata.data[1] = res.data.lslchart;
+            this.bardata.data[0] = res.data.yslchart;
           }
-        },
-      });
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   timeout: 8000,
+      //   subUrl: "recommen/findAllChartjz",
+      //   data: {
+      //     wpId: "0",
+      //     type: that.type,
+      //   },
+      //   success(res) {
+      //     if (res.code == 200) {
+      //       that.bardata.legend = ["优数量", "良数量", "差数量"];
+      //       that.lineData = res.data.lvchart;
+      //       that.bardata.area = res.data.datechart;
+      //       that.bardata.data[2] = res.data.cslchart;
+      //       that.bardata.data[1] = res.data.lslchart;
+      //       that.bardata.data[0] = res.data.yslchart;
+      //     }
+      //   },
+      // });
     },
 
     getAllMap() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthmain/findAllMap",
-        success(res) {
-          res.data.wpmap.forEach((ele) => {
+      api.healthmainFindAllMap({
+      }).then((res) => {
+              res.data.wpmap.forEach((ele) => {
             if (ele.tqyb < 10) ele.tqyb = "0" + ele.tqyb;
             ele.showType = "1";
             ele.svgIcon = "svg-" + ele.tqyb;
           });
 
-          that.wpmap = res.data.wpmap;
+          this.wpmap = res.data.wpmap;
 
-          that.tableData.data = res.data.gzls;
-        },
+          this.tableData.data = res.data.gzls;
       });
+
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthmain/findAllMap",
+      //   success(res) {
+      //     res.data.wpmap.forEach((ele) => {
+      //       if (ele.tqyb < 10) ele.tqyb = "0" + ele.tqyb;
+      //       ele.showType = "1";
+      //       ele.svgIcon = "svg-" + ele.tqyb;
+      //     });
+
+      //     that.wpmap = res.data.wpmap;
+
+      //     that.tableData.data = res.data.gzls;
+      //   },
+      // });
     },
 
     // 改变风场显示类型

+ 50 - 41
src/views/HealthControl/Health5.vue

@@ -3,45 +3,62 @@
     <!-- 当内容超出页面时 添加 el-scrollbar 即可自动添加滚动条 -->
     <el-scrollbar>
       <div class="health-matrix">
-        <div class="health-matrix-panel" v-for="(item, index) in stationsList" :key="index">
+        <div
+          class="health-matrix-panel"
+          v-for="(item, index) in stationsList"
+          :key="index"
+        >
           <div class="header">
             <i class="svg-icon svg-icon-sm svg-icon-white">
               <svg-icon :svgid="'svg-wind-site'" />
             </i>
-            <span class="title">{{item.name}}健康矩阵列表</span>
+            <span class="title">{{ item.name }}健康矩阵列表</span>
             <div class="tools">
               <div class="tool-block">
                 <div class="legend bg-green"></div>
                 <div class="legend-text green">良好数量</div>
-                <div class="legend-value">{{item.lhsl}}</div>
+                <div class="legend-value">{{ item.lhsl }}</div>
               </div>
               <div class="tool-block">
                 <div class="legend bg-purple"></div>
                 <div class="legend-text purple">正常数量</div>
-                <div class="legend-value">{{item.zcsl}}</div>
+                <div class="legend-value">{{ item.zcsl }}</div>
               </div>
               <div class="tool-block">
                 <div class="legend bg-yellow"></div>
                 <div class="legend-text yellow">注意数量</div>
-                <div class="legend-value">{{item.zysl}}</div>
+                <div class="legend-value">{{ item.zysl }}</div>
               </div>
               <div class="tool-block">
                 <div class="legend bg-orange"></div>
                 <div class="legend-text orange">严重数量</div>
-                <div class="legend-value">{{item.yzsl}}</div>
+                <div class="legend-value">{{ item.yzsl }}</div>
               </div>
             </div>
           </div>
           <div class="body">
             <div class="matrix">
-              <div class="item" v-for="(ele, num) in windturbineList[index]" :key="num" @click="onClickJump(ele)"> 
-                <div v-if="parseInt(ele.fjzt) == 1" class="green">{{ele.wtnum}}号</div>
-                <div v-if="parseInt(ele.fjzt) == 2" class="purple">{{ele.wtnum}}号</div>
-                <div v-if="parseInt(ele.fjzt) == 3" class="yellow">{{ele.wtnum}}号</div>
-                <div v-if="parseInt(ele.fjzt) == 4" class="orange">{{ele.wtnum}}号</div>
+              <div
+                class="item"
+                v-for="(ele, num) in windturbineList[index]"
+                :key="num"
+                @click="onClickJump(ele)"
+              >
+                <div v-if="parseInt(ele.fjzt) == 1" class="green">
+                  {{ ele.wtnum }}号
+                </div>
+                <div v-if="parseInt(ele.fjzt) == 2" class="purple">
+                  {{ ele.wtnum }}号
+                </div>
+                <div v-if="parseInt(ele.fjzt) == 3" class="yellow">
+                  {{ ele.wtnum }}号
+                </div>
+                <div v-if="parseInt(ele.fjzt) == 4" class="orange">
+                  {{ ele.wtnum }}号
+                </div>
               </div>
-              <div class="blank" v-for="index of 25" :key="index"></div> 
-            </div> 
+              <div class="blank" v-for="index of 25" :key="index"></div>
+            </div>
           </div>
         </div>
       </div>
@@ -51,49 +68,41 @@
 
 <script>
 import SvgIcon from "../../components/coms/icon/svg-icon.vue";
+import api from "@api/wisdomOverhaul/health/index.js";
 export default {
   setup() {},
   components: { SvgIcon },
   data() {
     return {
-      stationsList:[], 
-      windturbineList:[]
+      stationsList: [],
+      windturbineList: [],
     };
   },
-  created(){
-    this.getHealthMatrix()
+  created() {
+    this.getHealthMatrix();
   },
-  methods:{
+  methods: {
     // 健康矩阵数据
     getHealthMatrix() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthmain/findHealthMatrixMap",
-        success(res) {
-          if (res.code == 200) {
-            that.stationsList.push(res.data.fczbmap.MHS_FDC)
-            that.stationsList.push(res.data.fczbmap.NSS_FDC)
-            that.stationsList.push(res.data.fczbmap.QS_FDC)
-            that.stationsList.push(res.data.fczbmap.SBQ_FDC)
-            that.stationsList.push(res.data.fczbmap.XS_FDC)
-            that.windturbineList.push(res.data.fjmap[0]) //麻黄山
-            that.windturbineList.push(res.data.fjmap[1]) //牛首山
-            that.windturbineList.push(res.data.fjmap[2]) //青山
-            that.windturbineList.push(res.data.fjmap[3]) //石板泉
-            that.windturbineList.push(res.data.fjmap[4]) //香山
-          }
-        },
+      api.healthmainFindHealthMatrixMap().then((res) => {
+        if (res.code == 200) {
+          this.stationsList.push(res.data.fczbmap.CL_FDC);
+          this.stationsList.push(res.data.fczbmap.DX_FDC);
+          this.stationsList.push(res.data.fczbmap.KB_FDC);
+          this.windturbineList.push(res.data.fjmap[0]); //崇礼
+          this.windturbineList.push(res.data.fjmap[1]); //代县
+          this.windturbineList.push(res.data.fjmap[2]); //康宝
+        }
       });
     },
     // 跳转按钮
-    onClickJump(item){
+    onClickJump(item) {
       console.warn(item);
-       this.$router.push({
-        path: `/health/health0/${item.wpId}/${item.wtId}`
+      this.$router.push({
+        path: `/health/health0/${item.wpId}/${item.wtId}`,
       });
-    }
-  }
+    },
+  },
 };
 </script>
 

+ 199 - 65
src/views/HealthControl/Health6.vue

@@ -2,13 +2,21 @@
   <div class="health-6">
     <div class="header-info mg-b-16">
       <div class="selections">
-        <div class="item" @click="tabSelect('1')" :class="{ active: type === '1' }">
+        <div
+          class="item"
+          @click="tabSelect('1')"
+          :class="{ active: type === '1' }"
+        >
           <i class="svg-icon svg-icon-sm">
             <svg-icon :svgid="'svg-wind-site'" />
           </i>
           <span>风场</span>
         </div>
-        <div class="item" @click="tabSelect('2')" :class="{ active: type === '2' }">
+        <div
+          class="item"
+          @click="tabSelect('2')"
+          :class="{ active: type === '2' }"
+        >
           <i class="svg-icon svg-icon-sm">
             <svg-icon :svgid="'svg-h-project'" />
           </i>
@@ -17,22 +25,22 @@
       </div>
       <div class="state" v-if="false">
         <div class="state-item green">
-          <div class="dot "></div>
+          <div class="dot"></div>
           <div class="text">良好数量:</div>
           <div class="value">999</div>
         </div>
         <div class="state-item purple">
-          <div class="dot "></div>
+          <div class="dot"></div>
           <div class="text">正常数量:</div>
           <div class="value">999</div>
         </div>
         <div class="state-item yellow">
-          <div class="dot "></div>
+          <div class="dot"></div>
           <div class="text">注意数量:</div>
           <div class="value">999</div>
         </div>
         <div class="state-item orange">
-          <div class="dot "></div>
+          <div class="dot"></div>
           <div class="text">严重数量:</div>
           <div class="value">999</div>
         </div>
@@ -41,12 +49,20 @@
     <row :type="'flex'" class="mg-b-16">
       <Col :span="12">
         <panel :title="'报警统计图'" :showLine="false">
-          <dual-pie-chart :innerData="healPieData" :outerData="healPieData" :height="'230px'" />
+          <dual-pie-chart
+            :innerData="healPieData"
+            :outerData="healPieData"
+            :height="'230px'"
+          />
         </panel>
       </Col>
       <Col :span="12">
         <panel :title="'故障统计图'" :showLine="false">
-          <dual-pie-chart :innerData="stopPieData" :outerData="stopPieData" :height="'230px'" />
+          <dual-pie-chart
+            :innerData="stopPieData"
+            :outerData="stopPieData"
+            :height="'230px'"
+          />
         </panel>
       </Col>
       <!-- <Col :span="16">
@@ -63,7 +79,12 @@
     </row>
     <div class="mg-b-16">
       <panel :title="'健康状态占比'" :showLine="false">
-        <bar-line-chart :bardata="barData" :lineData="[]" :height="'230px'" :pageSize="6" />
+        <bar-line-chart
+          :bardata="barData"
+          :lineData="[]"
+          :height="'230px'"
+          :pageSize="6"
+        />
       </panel>
     </div>
     <div class="mg-b-16 curStyle">
@@ -71,10 +92,18 @@
         <MultipleLineChart :list="statusData" :units="['']" :height="'230px'" />
       </panel>
       <div class="selections">
-        <div class="item" @click="changeStatus('1')" :class="{ green: status === '1' }">
+        <div
+          class="item"
+          @click="changeStatus('1')"
+          :class="{ green: status === '1' }"
+        >
           良好
         </div>
-        <div class="item" @click="changeStatus('2')" :class="{ green: status === '2' }">
+        <div
+          class="item"
+          @click="changeStatus('2')"
+          :class="{ green: status === '2' }"
+        >
           注意
         </div>
       </div>
@@ -90,9 +119,18 @@ import Col from "../../components/coms/grid/col.vue";
 import Row from "../../components/coms/grid/row.vue";
 import SvgIcon from "../../components/coms/icon/svg-icon.vue";
 import Panel from "../../components/coms/panel/panel.vue";
+import api from "@api/wisdomOverhaul/health/index.js";
 export default {
   setup() {},
-  components: { SvgIcon, Panel, MultipleLineChart, BarLineChart, Row, Col, DualPieChart },
+  components: {
+    SvgIcon,
+    Panel,
+    MultipleLineChart,
+    BarLineChart,
+    Row,
+    Col,
+    DualPieChart,
+  },
   data() {
     return {
       type: "2",
@@ -120,14 +158,11 @@ export default {
 
     // 获取健康走势图
     getWpwarn() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthoperation/countWpwarn",
-        data: {
-          type: that.type,
-        },
-        success(res) {
+      api
+        .healthoperationCountWpwarn({
+          type: this.type,
+        })
+        .then((res) => {
           let healPieData = [];
 
           res.data.forEach((ele) => {
@@ -138,21 +173,39 @@ export default {
             });
           });
 
-          that.healPieData = healPieData;
-        },
-      });
+          this.healPieData = healPieData;
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthoperation/countWpwarn",
+      //   data: {
+      //     type: that.type,
+      //   },
+      //   success(res) {
+      //     let healPieData = [];
+
+      //     res.data.forEach((ele) => {
+      //       healPieData.push({
+      //         value: ele.value,
+      //         unit: "次",
+      //         name: ele.name,
+      //       });
+      //     });
+
+      //     that.healPieData = healPieData;
+      //   },
+      // });
     },
 
     // 获取故障统计图
     getStop() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthoperation/countStop",
-        data: {
-          type: that.type,
-        },
-        success(res) {
+      api
+        .healthoperationCountStop({
+          type: this.type,
+        })
+        .then((res) => {
           let stopPieData = [];
 
           res.data.forEach((ele) => {
@@ -163,21 +216,39 @@ export default {
             });
           });
 
-          that.stopPieData = stopPieData;
-        },
-      });
+          this.stopPieData = stopPieData;
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthoperation/countStop",
+      //   data: {
+      //     type: that.type,
+      //   },
+      //   success(res) {
+      //     let stopPieData = [];
+
+      //     res.data.forEach((ele) => {
+      //       stopPieData.push({
+      //         value: ele.value,
+      //         unit: "次",
+      //         name: ele.name,
+      //       });
+      //     });
+
+      //     that.stopPieData = stopPieData;
+      //   },
+      // });
     },
 
     // 获取健康状态占比
     getWpOrProStatus() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthoperation/countWpOrProStatus",
-        data: {
-          type: that.type,
-        },
-        success(res) {
+      api
+        .healthoperationCountWpOrProStatus({
+          type: this.type,
+        })
+        .then((res) => {
           let barData = {
             area: res.data.name,
             legend: ["良好数量", "正常数量", "注意数量", "严重数量"],
@@ -197,32 +268,59 @@ export default {
             barData.data[i].push(res.data.yzList[i]);
           }
 
-          that.barData = barData;
-        },
-      });
+          this.barData = barData;
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthoperation/countWpOrProStatus",
+      //   data: {
+      //     type: that.type,
+      //   },
+      //   success(res) {
+      //     let barData = {
+      //       area: res.data.name,
+      //       legend: ["良好数量", "正常数量", "注意数量", "严重数量"],
+      //       data: [],
+      //     };
+
+      //     let length = res.data.name.length;
+
+      //     for (let i = 0; i < length; i++) {
+      //       barData.data.push([]);
+      //     }
+
+      //     for (let i = 0; i < length; i++) {
+      //       barData.data[i].push(res.data.lhList[i]);
+      //       barData.data[i].push(res.data.hgList[i]);
+      //       barData.data[i].push(res.data.zyList[i]);
+      //       barData.data[i].push(res.data.yzList[i]);
+      //     }
+
+      //     that.barData = barData;
+      //   },
+      // });
     },
 
     // 获取健康状态
     getStatus() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthoperation/findWpOrProStatusForHistory",
-        data: {
-          type: that.type,
-          status: that.status,
-        },
-        success(res) {
+      api
+        .healthoperationFindWpOrProStatusForHistory({
+          type: this.type,
+          status: this.status,
+        })
+        .then((res) => {
           let statusData = [];
 
           const time = res.data.time;
           for (let key in res.data) {
             if (key !== "name" && key !== "time") {
               let item = res.data[key];
-				
+
               let statusItem = {
                 title: res.data.name[0][key],
-				smooth:true,
+                smooth: true,
                 value: [],
               };
 
@@ -237,9 +335,45 @@ export default {
             }
           }
 
-          that.statusData = statusData;
-        },
-      });
+          this.statusData = statusData;
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthoperation/findWpOrProStatusForHistory",
+      //   data: {
+      //     type: that.type,
+      //     status: that.status,
+      //   },
+      //   success(res) {
+      //     let statusData = [];
+
+      //     const time = res.data.time;
+      //     for (let key in res.data) {
+      //       if (key !== "name" && key !== "time") {
+      //         let item = res.data[key];
+
+      //         let statusItem = {
+      //           title: res.data.name[0][key],
+      //           smooth: true,
+      //           value: [],
+      //         };
+
+      //         time.forEach((text, index) => {
+      //           statusItem.value.push({
+      //             text: text,
+      //             value: item[index],
+      //           });
+      //         });
+
+      //         statusData.push(statusItem);
+      //       }
+      //     }
+
+      //     that.statusData = statusData;
+      //   },
+      // });
     },
 
     tabSelect(type) {
@@ -267,10 +401,10 @@ export default {
       top: 0;
       width: 50%;
       justify-content: flex-end;
-color: @gray;
+      color: @gray;
       .item {
-		  margin-right: 15px;
-		  cursor: pointer;
+        margin-right: 15px;
+        cursor: pointer;
         // flex: 0 0 80px;
         // text-align: center;
         // line-height: 33px;
@@ -283,9 +417,9 @@ color: @gray;
         // justify-content: center;
         // align-items: center;
         // cursor: pointer;
-		.green{
-			color: @green;
-		}
+        .green {
+          color: @green;
+        }
         &:hover,
         &.active {
           // background: fade(@green, 20);

+ 22 - 17
src/views/HealthControl/Health8.vue

@@ -114,6 +114,7 @@
 
 <script>
 import TableLineChart from "../../components/chart/line/table-line-chart.vue";
+import api from "@api/wisdomOverhaul/health/index.js";
 export default {
   setup() {},
   components: { TableLineChart },
@@ -159,33 +160,37 @@ export default {
       return this.colorval[val];
     },
     async search() {
-      const { data } = await this.API.requestData({
-        subUrl: "powercompare/windfarmAjax",
-      });
-      this.options = data.data;
-      this.value1 = data.data[0].id;
+      const { data } = await api.powercompareWindfarmAjax();
+      // console.log(data, 6666666666666666666666);
+      this.options = data;
+      this.value1 = data[0].id;
       this.searchWindTurbineHealthList();
     },
     async searchWindTurbineHealthList() {
-      const { data } = await this.API.requestData({
-        subUrl: "wtHealthList/windTurbineHealthList",
-        method: "POST",
-        data: {
-          wpId: this.value1,
-        },
+      const { data } = await api.wtHealthListWindTurbineHealthList({
+        wpId: this.value1,
       });
-      this.tableData = data.data;
-      console.warn(data.data);
-      data.data.forEach((k) => {
-        let arr =[]
+
+      // this.API.requestData({
+      //   subUrl: "wtHealthList/windTurbineHealthList",
+      //   method: "POST",
+      //   data: {
+      //     wpId: this.value1,
+      //   },
+      // });
+      // console.log(data,88888888888888888);  
+      this.tableData = data;
+      console.warn(data);
+      data.forEach((k) => {
+        let arr = [];
         k.futureHealth.forEach((e, index) => {
           let obj = {
             text: index,
             value: e,
           };
-          arr.push(obj)
+          arr.push(obj);
         });
-        k.futureHealth = arr
+        k.futureHealth = arr;
       });
       console.warn(this.tableData);
     },

+ 28 - 42
src/views/HealthControl/HealthTab1.vue

@@ -107,6 +107,7 @@ import VertivalBarLineChart from "../../components/chart/combination/health-bar-
 import SvgIcon from "../../components/coms/icon/svg-icon.vue";
 import Panel from "../../components/coms/panel/panel.vue";
 import HealthReport from "../../components/other/healthReport/index.vue";
+import api from "@api/wisdomOverhaul/health/index.js";
 
 export default {
   components: { SvgIcon, Panel, VertivalBarLineChart, HealthReport },
@@ -223,58 +224,43 @@ export default {
     },
     // 健康报告推荐
     requestRecommen(url) {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: url,
-        success(res) {
-          if (res.code == 200) that.recommenList = res.data;
-        },
-      });
+      api.requestRecommen({
+        url:url
+      }).then(res =>{
+        if (res.code == 200) this.recommenList = res.data;
+      })
     },
     // 操作推荐内容(提交/取消)
     requestOption(url, rid) {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: url,
-        data: { rid: rid },
-        success(res) {
-          if (res.code == 200) that.onClickRecommon(that.recommenIndex);
-        },
-      });
+      let data ={
+        rid: rid
+      }
+      api.requestRecommen(url,data).then(res =>{
+         if (res.code == 200) this.onClickRecommon(that.recommenIndex);
+      })
     },
     // 操作推荐内容全部(提交/取消)
     requestOptionAll(url) {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: url,
-        data: { typeid: that.recommenIndex },
-        success(res) {
-          if (res.code == 200) that.onClickRecommon(that.recommenIndex);
-        },
-      });
+      let data = { typeid: this.recommenIndex }
+      api.requestRecommen(url,data).then(res =>{
+         if (res.code == 200) this.onClickRecommon(that.recommenIndex);
+      })
     },
     // 损失电量分析  type:1 表示24小时健康趋势,2 表示七天健康趋势 3 表示30天健康趋势
     requestCoulometry(type) {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        timeout: 8000,
-        subUrl: "recommen/findAllChartjz",
-        data: { wpId: 0, type: type },
-        success(res) {
-          if (res.code == 200) {
-            that.bardata.legend = ["优数量", "良数量", "差数量"];
-            that.lineData = res.data.lvchart;
-            that.bardata.area = res.data.datechart;
-            that.bardata.data[2] = res.data.cslchart;
-            that.bardata.data[1] = res.data.lslchart;
-            that.bardata.data[0] = res.data.yslchart;
+      api.findAllChartjz({
+        wpId: 0,
+        type: type
+      }).then(res =>{
+        if (res.code == 200) {
+            this.bardata.legend = ["优数量", "良数量", "差数量"];
+            this.lineData = res.data.lvchart;
+            this.bardata.area = res.data.datechart;
+            this.bardata.data[2] = res.data.cslchart;
+            this.bardata.data[1] = res.data.lslchart;
+            this.bardata.data[0] = res.data.yslchart;
           }
-        },
-      });
+      })
     },
   },
 };

+ 46 - 34
src/views/HealthControl/HealthTab2.vue

@@ -27,7 +27,11 @@
       </div>
     </div>
     <div class="health-report">
-      <panel class="health-report-panel" :title="'已推荐风机'" :showLine="false">
+      <panel
+        class="health-report-panel"
+        :title="'已推荐风机'"
+        :showLine="false"
+      >
         <div class="report-items scroll">
           <div class="item" v-for="(item, index) in recommenList" :key="index">
             <div class="title">
@@ -36,16 +40,24 @@
             </div>
             <div class="info">
               <p>推荐理由:{{ item.reason }}</p>
-              <p>推荐检修时间:{{ new Date(item.recodedate).formatDate("yyyy-MM-dd hh:mm:ss") }}</p>
+              <p>
+                推荐检修时间:{{
+                  new Date(item.recodedate).formatDate("yyyy-MM-dd hh:mm:ss")
+                }}
+              </p>
               <p>推荐时间对应风速:{{ item.speed }} m/s</p>
-              <p>判断时间:{{ new Date(item.createdate).formatDate("yyyy-MM-dd hh:mm:ss")}}</p>
+              <p>
+                判断时间:{{
+                  new Date(item.createdate).formatDate("yyyy-MM-dd hh:mm:ss")
+                }}
+              </p>
             </div>
           </div>
         </div>
       </panel>
     </div>
   </div>
-  <health-report :show="reportshow" :params="reportparams" @closed="closed"/>
+  <health-report :show="reportshow" :params="reportparams" @closed="closed" />
 </template>
 
 <script>
@@ -53,6 +65,7 @@ import VertivalBarLineChart from "../../components/chart/combination/health-bar-
 import SvgIcon from "../../components/coms/icon/svg-icon.vue";
 import Panel from "../../components/coms/panel/panel.vue";
 import HealthReport from "../../components/other/healthReport/index.vue";
+import api from "@api/wisdomOverhaul/health/index.js";
 
 export default {
   components: { SvgIcon, Panel, VertivalBarLineChart, HealthReport },
@@ -61,7 +74,12 @@ export default {
       infoList: [
         // {title: '24小时健康趋势', svgid: 'svg-24-houre', active: false, type: 'houre'},
         { title: "7日健康趋势", svgid: "svg-h-day", active: true, type: "day" },
-        { title: "30日健康趋势", svgid: "svg-h-month", active: false, type: "month"},
+        {
+          title: "30日健康趋势",
+          svgid: "svg-h-month",
+          active: false,
+          type: "month",
+        },
       ],
       bardata: { area: [], legend: [], data: [] }, // 损失电量分析echart数值
       lineData: [],
@@ -102,33 +120,27 @@ export default {
     },
     // 损失电量分析  type:1 表示24小时健康趋势,2 表示七天健康趋势 3 表示30天健康趋势
     requestCoulometry(type) {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        timeout: 8000,
-        subUrl: "recommen/findAllChartjz",
-        data: { wpId: 0, type: type },
-        success(res) {
-          if (res.code == 200) {
-            that.bardata.legend = ["优数量", "良数量", "差数量"];
-            that.lineData = res.data.lvchart;
-            that.bardata.area = res.data.datechart;
-            that.bardata.data[2] = res.data.cslchart;
-            that.bardata.data[1] = res.data.lslchart;
-            that.bardata.data[0] = res.data.yslchart;
+      api
+        .findAllChartjz({
+          wpId: 0,
+          type: type,
+        })
+        .then((res) => {
+              if (res.code == 200) {
+            this.bardata.legend = ["优数量", "良数量", "差数量"];
+            this.lineData = res.data.lvchart;
+            this.bardata.area = res.data.datechart;
+            this.bardata.data[2] = res.data.cslchart;
+            this.bardata.data[1] = res.data.lslchart;
+            this.bardata.data[0] = res.data.yslchart;
           }
-        },
-      });
+        });
     },
-     // 已确认健康报告推荐
+    // 已确认健康报告推荐
     requestRecommen() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: 'recommen/recommenConfirmedList',
-        success(res) {
-          if (res.code == 200) that.recommenList = res.data;
-        },
+
+        api.recommenRecommenConfirmedList().then((res) => {
+        if (res.code == 200) this.recommenList = res.data;
       });
     },
   },
@@ -277,11 +289,11 @@ export default {
           p {
             margin: 0;
             line-height: 2;
-            overflow:hidden; 
-            text-overflow:ellipsis;
-            display:-webkit-box; 
-            -webkit-box-orient:vertical;
-            -webkit-line-clamp:2; 
+            overflow: hidden;
+            text-overflow: ellipsis;
+            display: -webkit-box;
+            -webkit-box-orient: vertical;
+            -webkit-line-clamp: 2;
           }
 
           .actions {

+ 172 - 85
src/views/HealthControl/HealthTab3.vue

@@ -76,10 +76,16 @@
       <ComTable :data="tableData" height="80vh"></ComTable>
     </div>
     <div class="dialog-box">
-      <el-dialog title="消缺跟踪" v-model="dialogVisible" width="950px" custom-class="modal" :close-on-click-modal="false">
-        <info-track :formdata="trackDate"/>
-      </el-dialog>   
-    </div> 
+      <el-dialog
+        title="消缺跟踪"
+        v-model="dialogVisible"
+        width="950px"
+        custom-class="modal"
+        :close-on-click-modal="false"
+      >
+        <info-track :formdata="trackDate" />
+      </el-dialog>
+    </div>
   </div>
 </template>
 
@@ -87,64 +93,67 @@
 import InfoTrack from "./infotrack.vue";
 import ComTable from "@com/coms/table/table.vue";
 import SvgIcon from "../../components/coms/icon/svg-icon.vue";
+import api from "@api/wisdomOverhaul/health/index.js";
+
+import api1 from "@api/economic/index.js";
 
 export default {
   components: { InfoTrack, ComTable, SvgIcon },
   data() {
-    const that = this
+    const that = this;
     return {
       stations: [], // 场站
       windturbines: [], // 风机
       station: "",
-      windturbine: "",
+      windturbine: "CL01_001",
       starts: "",
       endts: new Date(),
       tableData: {
         column: [
-          { 
+          {
             name: "场站",
             field: "wfname",
-			width:'150px',
-            is_light: false
+            width: "150px",
+            is_light: false,
           },
-          { 
+          {
             name: "风机编号",
             field: "wtid",
-			width:'150px',
-            is_light: false
+            width: "150px",
+            is_light: false,
           },
-          { 
+          {
             name: "任务开始时间",
-			width:'200px',
+            width: "200px",
             field: "operationdate",
-            is_light: false
+            is_light: false,
           },
-          { 
+          {
             name: "任务接受时间",
-			width:'200px',
+            width: "200px",
             field: "departuretime",
-            is_light: false
+            is_light: false,
           },
-          { 
+          {
             name: "检修原因",
             field: "reason",
-            is_light: false
+            is_light: false,
           },
-          { 
+          {
             name: "受否下单",
-			width:'100px',
+            width: "100px",
             field: "ismain",
-            is_light: false
+            is_light: false,
           },
-          { 
+          {
             name: "任务状态",
-			width:'150px',
+            width: "150px",
             field: "status",
-            is_light: false
+            is_light: false,
           },
           {
             name: "操作",
-			width:'100px',
+            width: "100px",
             field: "",
             is_num: false,
             is_light: false,
@@ -154,7 +163,8 @@ export default {
             click(e, row) {
               that.onClickTrack(row);
             },
-          },],
+          },
+        ],
         data: [],
       },
       dialogVisible: false,
@@ -162,7 +172,9 @@ export default {
     };
   },
   created() {
-    this.starts = new Date(new Date().setMonth(new Date().getMonth()-2)).formatDate("yyyy-MM-dd");
+    this.starts = new Date(
+      new Date().setMonth(new Date().getMonth() - 2)
+    ).formatDate("yyyy-MM-dd");
     this.requestStations();
   },
   methods: {
@@ -171,86 +183,161 @@ export default {
       this.requestUnfinishedList();
     },
     // 消缺跟踪
-    onClickTrack(row){
+    onClickTrack(row) {
       this.requestTrack(row);
     },
     // 获取场站
     requestStations() {
-      let that = this;
-      that.API.requestData({
-        method: "GET",
-        subUrl: "powercompare/windfarmAjax",
-        success(res) {
-          if (res.code == 200) {
-            that.stations = res.data;
-            that.station = that.stations[3].id;
-            that.requestUnfinishedList();
-          }
-        },
+      api1.benchmarkingWplist({}).then((res) => {
+        if (res.code == 200) {
+          this.stations = res.data;
+          this.station = this.stations[0]?.id;
+        //  this.windturbine = this.windturbines[0]?.id;
+          this.requestUnfinishedList();
+        }
       });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "GET",
+      //   subUrl: "powercompare/windfarmAjax",
+      //   success(res) {
+      //     if (res.code == 200) {
+      //       that.stations = res.data;
+      //       that.station = that.stations[3].id;
+      //       that.requestUnfinishedList();
+      //     }
+      //   },
+      // });
     },
     // 获取风机
     requestWindturbines(wpid) {
-      let that = this;
-      that.API.requestData({
-        method: "GET",
-        subUrl: "powercompare/windturbineAjax",
-        data: { wpId: wpid },
-        success(res) {
-          if (res.code == 200) that.windturbines = res.data;
-        },
-      });
+      api
+        .powercompareWindturbineAjax({
+          wpId: wpid,
+        })
+        .then((res) => {
+          if (res.code == 200) {
+            this.windturbines = res.data;
+         this.windturbine = this.windturbines[0].id;
+
+          }
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "GET",
+      //   subUrl: "powercompare/windturbineAjax",
+      //   data: { wpId: wpid },
+      //   success(res) {
+      //     if (res.code == 200) that.windturbines = res.data;
+      //   },
+      // });
     },
     // 获取未完成消缺单列表
     requestUnfinishedList() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "recommen/unfinishedList",
-        data: {
-          wpId: that.station,
-          wtId: that.windturbine,
-          beginDate: new Date(that.starts).formatDate("yyyy-MM-dd"),
-          endDate: new Date(that.endts).formatDate("yyyy-MM-dd"),
-        },
-        success(res) {
+      api
+        .recommenUnfinishedList({
+          wpId: this.station,
+          wtId: this.windturbine,
+          beginDate: new Date(this.starts).formatDate("yyyy-MM-dd"),
+          endDate: new Date(this.endts).formatDate("yyyy-MM-dd"),
+        })
+        .then((res) => {
           if (res.code == 200) {
-            that.tableData.data = []
-            res.data.forEach(item => {
+            this.tableData.data = [];
+            res.data.forEach((item) => {
               let obj = {
                 wfname: item.wfname,
                 wtid: item.wtid,
-                operationdate: item.operationdate?new Date(item.operationdate).formatDate("yyyy-MM-dd hh:mm:ss"):'',
-                departuretime: item.departuretime?new Date(item.departuretime).formatDate("yyyy-MM-dd hh:mm:ss"):'',
+                operationdate: item.operationdate
+                  ? new Date(item.operationdate).formatDate(
+                      "yyyy-MM-dd hh:mm:ss"
+                    )
+                  : "",
+                departuretime: item.departuretime
+                  ? new Date(item.departuretime).formatDate(
+                      "yyyy-MM-dd hh:mm:ss"
+                    )
+                  : "",
                 reason: item.reason,
                 ismain: item.ismain,
                 status: item.status,
-                rid: item.rid
-              }
-              that.tableData.data.push(obj)
-          });
+                rid: item.rid,
+              };
+              this.tableData.data.push(obj);
+            });
           }
-        },
-      });
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "recommen/unfinishedList",
+      //   data: {
+      //     wpId: that.station,
+      //     wtId: that.windturbine,
+      //     beginDate: new Date(that.starts).formatDate("yyyy-MM-dd"),
+      //     endDate: new Date(that.endts).formatDate("yyyy-MM-dd"),
+      //   },
+      //   success(res) {
+      //     if (res.code == 200) {
+      //       that.tableData.data = [];
+      //       res.data.forEach((item) => {
+      //         let obj = {
+      //           wfname: item.wfname,
+      //           wtid: item.wtid,
+      //           operationdate: item.operationdate
+      //             ? new Date(item.operationdate).formatDate(
+      //                 "yyyy-MM-dd hh:mm:ss"
+      //               )
+      //             : "",
+      //           departuretime: item.departuretime
+      //             ? new Date(item.departuretime).formatDate(
+      //                 "yyyy-MM-dd hh:mm:ss"
+      //               )
+      //             : "",
+      //           reason: item.reason,
+      //           ismain: item.ismain,
+      //           status: item.status,
+      //           rid: item.rid,
+      //         };
+      //         that.tableData.data.push(obj);
+      //       });
+      //     }
+      //   },
+      // });
     },
     // 通过消缺单获得详细信息
-    requestTrack(row){
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "recommen/findMainTrack",
-        data: {
+    requestTrack(row) {
+      api
+        .recommenFindMainTrack({
           rid: row.rid,
-        },
-        success(res) {
+        })
+        .then((res) => {
           if (res.code == 200) {
-            that.trackDate = res.data
-            console.warn(that.trackDate);
-             that.dialogVisible = true
+            this.trackDate = res.data;
+            console.warn(this.trackDate);
+            this.dialogVisible = true;
           }
-        },
-      });
-    }
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "recommen/findMainTrack",
+      //   data: {
+      //     rid: row.rid,
+      //   },
+      //   success(res) {
+      //     if (res.code == 200) {
+      //       that.trackDate = res.data;
+      //       console.warn(that.trackDate);
+      //       that.dialogVisible = true;
+      //     }
+      //   },
+      // });
+    },
   },
   watch: {
     station(val) {

+ 121 - 72
src/views/HealthControl/HealthTab4.vue

@@ -84,26 +84,26 @@
         custom-class="modal"
         :close-on-click-modal="false"
       > -->
-         <el-dialog
+      <el-dialog
         title="消缺跟踪"
         v-model="dialogVisible"
         width="1200px"
         custom-class="modal"
         :close-on-click-modal="false"
       >
-        <info-history :formdata="trackDate"/>
+        <info-history :formdata="trackDate" />
       </el-dialog>
     </div>
-	<el-dialog
-	  title="消缺历史"
-	  v-model="history"
-	  width="1400px"
-	  height="800px"
-	  custom-class="modal"
-	  :close-on-click-modal="false"
-	>
-	<History :formdata="trackDate"/>
-	</el-dialog>
+    <el-dialog
+      title="消缺历史"
+      v-model="history"
+      width="1400px"
+      height="800px"
+      custom-class="modal"
+      :close-on-click-modal="false"
+    >
+      <History :formdata="trackDate" />
+    </el-dialog>
   </div>
 </template>
 
@@ -113,42 +113,44 @@ import History from "./healthTab4History.vue";
 import ComTable from "@com/coms/table/table.vue";
 import SvgIcon from "../../components/coms/icon/svg-icon.vue";
 import { warn } from "@vue/runtime-core";
+import api from "@api/wisdomOverhaul/health/index.js";
+import api1 from "@api/economic/index.js";
 
 export default {
-  components: { InfoHistory, ComTable, SvgIcon ,History},
+  components: { InfoHistory, ComTable, SvgIcon, History },
   data() {
     const that = this;
     return {
-	  history:false,
+      history: false,
       stations: [], // 场站
       windturbines: [], // 风机
       station: "",
-      windturbine: "",
+      windturbine: "CL01_001",
       starts: "",
       endts: new Date(),
       tableData: {
         column: [
           {
             name: "场站",
-			width:'120px',
+            width: "120px",
             field: "wfname",
             is_light: false,
           },
           {
             name: "风机编号",
-			width:'100px',
+            width: "100px",
             field: "wtid",
             is_light: false,
           },
           {
             name: "任务开始时间",
-			width:'150px',
+            width: "150px",
             field: "operationdate",
             is_light: false,
           },
           {
             name: "任务接受时间",
-			width:'150px',
+            width: "150px",
             field: "departuretime",
             is_light: false,
           },
@@ -164,7 +166,7 @@ export default {
           },
           {
             name: "操作",
-			width:'170px',
+            width: "170px",
             field: "",
             is_num: false,
             is_light: false,
@@ -172,13 +174,13 @@ export default {
               return "<el-button type='text' style='cursor: pointer;' value='gz'>消缺跟踪</el-button>&nbsp;&nbsp;<el-button type='text' style='cursor: pointer;' value='ls'>消缺历史</el-button>";
             },
             click(e, row) {
-				if('gz' == event.target.getAttribute("value")){
-					that.onClickTrack(row);
-				}
-				if('ls' == event.target.getAttribute("value")){
-					that.requestTrack(row);
-					that.history = true;
-				}
+              if ("gz" == event.target.getAttribute("value")) {
+                that.onClickTrack(row);
+              }
+              if ("ls" == event.target.getAttribute("value")) {
+                that.requestTrack(row);
+                that.history = true;
+              }
             },
           },
         ],
@@ -200,7 +202,7 @@ export default {
     },
     // 消缺跟踪
     onClickTrack(row) {
-	  this.dialogVisible = true;
+      this.dialogVisible = true;
       this.requestTrack(row);
     },
     // 历史查询
@@ -209,46 +211,48 @@ export default {
     },
     // 获取场站
     requestStations() {
-      let that = this;
-      that.API.requestData({
-        method: "GET",
-        subUrl: "powercompare/windfarmAjax",
-        success(res) {
+      api1.benchmarkingWplist({}).then((res) => {
+        if (res.code == 200) {
           if (res.code == 200) {
-            that.stations = res.data;
-            that.station = that.stations[3].id;
-            that.requestFinishedList();
+            this.stations = res.data;
+            this.station = this.stations[0].id;
+            this.requestFinishedList();
           }
-        },
+        }
       });
     },
     // 获取风机
     requestWindturbines(wpid) {
-      let that = this;
-      that.API.requestData({
-        method: "GET",
-        subUrl: "powercompare/windturbineAjax",
-        data: { wpId: wpid },
-        success(res) {
-          if (res.code == 200) that.windturbines = res.data;
-        },
-      });
+      api
+        .powercompareWindturbineAjax({
+          wpId: wpid,
+        })
+        .then((res) => {
+          if (res.code == 200) this.windturbines = res.data;
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "GET",
+      //   subUrl: "powercompare/windturbineAjax",
+      //   data: { wpId: wpid },
+      //   success(res) {
+      //     if (res.code == 200) that.windturbines = res.data;
+      //   },
+      // });
     },
     // 获取已完成消缺单列表
     requestFinishedList() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "recommen/finishedList",
-        data: {
-          wpId: that.station,
-          wtId: that.windturbine,
-          beginDate: new Date(that.starts).formatDate("yyyy-MM-dd"),
-          endDate: new Date(that.endts).formatDate("yyyy-MM-dd"),
-        },
-        success(res) {
+      api
+        .recommenFinishedList({
+          wpId: this.station,
+          wtId: this.windturbine,
+          beginDate: new Date(this.starts).formatDate("yyyy-MM-dd"),
+          endDate: new Date(this.endts).formatDate("yyyy-MM-dd"),
+        })
+        .then((res) => {
           if (res.code == 200) {
-            that.tableData.data = [];
+            this.tableData.data = [];
             res.data.forEach((item) => {
               let obj = {
                 wfname: item.wfname,
@@ -267,28 +271,73 @@ export default {
                 repairedcomment: item.repairedcomment,
                 rid: item.rid,
               };
-              that.tableData.data.push(obj);
+              this.tableData.data.push(obj);
             });
           }
-        },
-      });
+        });
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "recommen/finishedList",
+      //   data: {
+      //     wpId: that.station,
+      //     wtId: that.windturbine,
+      //     beginDate: new Date(that.starts).formatDate("yyyy-MM-dd"),
+      //     endDate: new Date(that.endts).formatDate("yyyy-MM-dd"),
+      //   },
+      //   success(res) {
+      //     if (res.code == 200) {
+      //       that.tableData.data = [];
+      //       res.data.forEach((item) => {
+      //         let obj = {
+      //           wfname: item.wfname,
+      //           wtid: item.wtid,
+      //           operationdate: item.operationdate
+      //             ? new Date(item.operationdate).formatDate(
+      //                 "yyyy-MM-dd hh:mm:ss"
+      //               )
+      //             : "",
+      //           departuretime: item.departuretime
+      //             ? new Date(item.departuretime).formatDate(
+      //                 "yyyy-MM-dd hh:mm:ss"
+      //               )
+      //             : "",
+      //           reason: item.reason,
+      //           repairedcomment: item.repairedcomment,
+      //           rid: item.rid,
+      //         };
+      //         that.tableData.data.push(obj);
+      //       });
+      //     }
+      //   },
+      // });
     },
     // 通过消缺单获得详细信息
     requestTrack(row) {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "recommen/findMainTrack",
-        timeout: 30000,
-        data: {
-          rid: row.rid,
-        },
-        success(res) {
+
+      api.recommenFindMainTrack({
+         rid: row.rid,
+      }).then((res) => {
           if (res.code == 200) {
-            that.trackDate = res.data;
+            this.trackDate = res.data;
           }
-        },
       });
+
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "recommen/findMainTrack",
+      //   timeout: 30000,
+      //   data: {
+      //     rid: row.rid,
+      //   },
+      //   success(res) {
+      //     if (res.code == 200) {
+      //       that.trackDate = res.data;
+      //     }
+      //   },
+      // });
     },
   },
   watch: {

+ 74 - 35
src/views/HealthControl/healthLineChart.vue

@@ -1,80 +1,119 @@
 <template>
   <div class="pageBox">
     <wt-chooser @change="switchWt" :wpId="wpId" :wtId="wtId"></wt-chooser>
-    <simple-line-chart :height="'100px'" v-for="(item, index) in chartData" :key="index" :title="item.title" :data="item.data" :color="item.color" :lineTitle="item.lineTitle" />
+    <simple-line-chart
+      :height="'100px'"
+      v-for="(item, index) in chartData"
+      :key="index"
+      :title="item.title"
+      :data="item.data"
+      :color="item.color"
+      :lineTitle="item.lineTitle"
+    />
   </div>
 </template>
 
 <script>
 import SimpleLineChart from "../../components/chart/line/simple-line-chart.vue";
-import WtChooser from "@com/coms/wt-chooser/wt-chooser.vue"
+import WtChooser from "@com/coms/wt-chooser/wt-chooser.vue";
+import api from "@api/wisdomOverhaul/health/index.js";
 export default {
   setup() {},
-  components: { SimpleLineChart ,WtChooser},
+  components: { SimpleLineChart,WtChooser },
   data() {
     return {
-      chartData:[]
+      chartData: [],
     };
   },
 
   created() {
+    // console.log(this.$route.params);
     this.wtId = this.$route.params.wtId;
     this.wpId = this.$route.params.wpId;
+    // this.wtId='CL01_001'
     this.requestData();
+    
   },
-  
-  methods:{
-    switchWt(data){
-      this.$router.push(`/health/health4/healthLineChart/${data.wpId}/${data.wtId}`);
+
+  methods: {
+    switchWt(data) {
+      this.$router.push(
+        `/health/health4/healthLineChart/${data.wpId}/${data.wtId}`
+      );
       this.wtId = this.$route.params.wtId;
       this.wpId = this.$route.params.wpId;
       this.requestData();
     },
-    requestData(){
-      let that=this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthsub/hsFjValueIndex",
-        data:{
-          wtId: that.wtId
-        },
-        success(res) {
-
-          const color=["green","yellow","purple","blue","orange"];
-          let chartData=[];
-          let lineTitle=[];
+    requestData() {
+      api
+        .healthsubHsFjValueIndex({
+          wtId: this.wtId,
+        })
+        .then((res) => {
+          // console.log(res);
+          const color = ["green", "yellow", "purple", "blue", "orange"];
+          let chartData = [];
+          let lineTitle = [];
 
-          res.data.xData.forEach(ele=>{
+          res.data.xData.forEach((ele) => {
             lineTitle.push(new Date(ele).formatDate("hh:mm"));
           });
 
-          res.data.datasets.forEach((ele,index)=>{
+          res.data.datasets.forEach((ele, index) => {
             chartData.push({
-              title:ele.name,
-              data:ele.data,
-              color:color[index],
-              lineTitle
+              title: ele.name,
+              data: ele.data,
+              color: color[index],
+              lineTitle,
             });
           });
-          that.chartData=chartData;
-        },
-      });
-    }
-  }
+          this.chartData = chartData;
+        });
+
+      // let that=this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthsub/hsFjValueIndex",
+      //   data:{
+      //     wtId: that.wtId
+      //   },
+      //   success(res) {
+
+      //     const color=["green","yellow","purple","blue","orange"];
+      //     let chartData=[];
+      //     let lineTitle=[];
+
+      //     res.data.xData.forEach(ele=>{
+      //       lineTitle.push(new Date(ele).formatDate("hh:mm"));
+      //     });
+
+      //     res.data.datasets.forEach((ele,index)=>{
+      //       chartData.push({
+      //         title:ele.name,
+      //         data:ele.data,
+      //         color:color[index],
+      //         lineTitle
+      //       });
+      //     });
+      //     that.chartData=chartData;
+      //   },
+      // });
+    },
+  },
 };
 </script>
 
 <style lang="less" scoped>
 .pageBox {
   width: 100%;
-  height:calc(100% - 1.481vh * 2);
+  height: calc(100% - 1.481vh * 2);
   display: flex;
   flex-direction: column;
   justify-content: space-between;
 
-  .chart{
+  .chart {
     width: 100%;
-    height:25%;
+    height: 25%;
   }
 }
 </style>

+ 231 - 65
src/views/HealthControl/healthLineChart2.vue

@@ -19,7 +19,11 @@
       </div>
       <div class="info-chart">
         <panel class="info-chart-panel" :title="'健康趋势'">
-          <vertival-bar-line-chart :height="'310px'" :bardata="bardata" :lineData="lineData"/>
+          <vertival-bar-line-chart
+            :height="'310px'"
+            :bardata="bardata"
+            :lineData="lineData"
+          />
         </panel>
       </div>
     </div>
@@ -40,25 +44,41 @@ import NormalLineChart from "../../components/chart/line/normal-line-chart.vue";
 import SvgIcon from "../../components/coms/icon/svg-icon.vue";
 import Panel from "../../components/coms/panel/panel.vue";
 import Table from "../../components/coms/table/table.vue";
-import WtChooser from "@com/coms/wt-chooser/wt-chooser.vue"
+import WtChooser from "@com/coms/wt-chooser/wt-chooser.vue";
+import api from "@api/wisdomOverhaul/health/index.js";
+
 export default {
   setup() {},
-  components: { SvgIcon, Panel, VertivalBarLineChart, NormalLineChart, Table, WtChooser },
+  components: {
+    SvgIcon,
+    Panel,
+    VertivalBarLineChart,
+    NormalLineChart,
+    Table,
+    WtChooser,
+  },
   data() {
     return {
       infoList: [
         // {title: '24小时健康趋势', svgid: 'svg-24-houre', active: false, type: 'houre'},
         { title: "7日健康趋势", svgid: "svg-h-day", active: true, type: "day" },
-        { title: "30日健康趋势", svgid: "svg-h-month", active: false, type: "month"},
+        {
+          title: "30日健康趋势",
+          svgid: "svg-h-month",
+          active: false,
+          type: "month",
+        },
       ],
       tableData: {
         column: [
-          { name: "部件名称",field: "name" },
-          { name: "MTBF(h)",field: "v1", is_num: true },
-          { name: "MTTR(h)",field: "v2", is_num: true },
-          { name: "损失电量(kw/h)",field: "v3",is_num: true },
-          { name: "当前状态",field: "v4",
-            template: function(data) {
+          { name: "部件名称", field: "name" },
+          { name: "MTBF(h)", field: "v1", is_num: true },
+          { name: "MTTR(h)", field: "v2", is_num: true },
+          { name: "损失电量(kw/h)", field: "v3", is_num: true },
+          {
+            name: "当前状态",
+            field: "v4",
+            template: function (data) {
               if (data == 1) return "<div class='dot green'></div>";
               else if (data == 2) return "<div class='dot purple'></div>";
               else if (data == 3) return "<div class='dot yellow'></div>";
@@ -72,25 +92,27 @@ export default {
       lineData: [],
       wtId: undefined,
       wpId: undefined,
-      hisValue: {},  //健康走势图
+      hisValue: {}, //健康走势图
     };
   },
   created() {
     this.init();
   },
-  methods:{
-    init(){
+  methods: {
+    init() {
       this.wtId = this.$route.params.wtId;
       this.wpId = this.$route.params.wpId;
       this.requestCoulometry(2);
       this.requestHisValue();
       this.requestMttrrand();
     },
-    switchWt(data){
-      this.$router.push(`/health/health4/healthLineChart2/${data.wpId}/${data.wtId}`);
+    switchWt(data) {
+      this.$router.push(
+        `/health/health4/healthLineChart2/${data.wpId}/${data.wtId}`
+      );
       this.init();
     },
-     // 未确认缺陷按钮下的健康趋势选项
+    // 未确认缺陷按钮下的健康趋势选项
     onClickInfo(item) {
       this.infoList.forEach((element) => {
         if (item.type == element.type) {
@@ -109,65 +131,209 @@ export default {
     },
     // 损失电量分析  type:1 表示24小时健康趋势,2 表示七天健康趋势 3 表示30天健康趋势
     requestCoulometry(type) {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        timeout: 8000,
-        subUrl: "recommen/findAllChartjz",
-        data: { wpId: 0, type: type },
-        success(res) {
+      api
+        .findAllChartjz({
+          wpId: 0,
+          type: type,
+        })
+        .then((res) => {
           if (res.code == 200) {
-            that.bardata.legend = ["优数量", "良数量", "差数量"];
-            that.lineData = res.data.lvchart;
-            that.bardata.area = res.data.datechart;
-            that.bardata.data[2] = res.data.cslchart;
-            that.bardata.data[1] = res.data.lslchart;
-            that.bardata.data[0] = res.data.yslchart;
+            this.bardata.legend = ["优数量", "良数量", "差数量"];
+            this.lineData = res.data.lvchart;
+            this.bardata.area = res.data.datechart;
+            this.bardata.data[2] = res.data.cslchart;
+            this.bardata.data[1] = res.data.lslchart;
+            this.bardata.data[0] = res.data.yslchart;
           }
-        },
-      });
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   timeout: 8000,
+      //   subUrl: "recommen/findAllChartjz",
+      //   data: { wpId: 0, type: type },
+      //   success(res) {
+      //     if (res.code == 200) {
+      //       that.bardata.legend = ["优数量", "良数量", "差数量"];
+      //       that.lineData = res.data.lvchart;
+      //       that.bardata.area = res.data.datechart;
+      //       that.bardata.data[2] = res.data.cslchart;
+      //       that.bardata.data[1] = res.data.lslchart;
+      //       that.bardata.data[0] = res.data.yslchart;
+      //     }
+      //   },
+      // });
     },
     //风机健康走势图
-    requestHisValue(){
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthsub/findWtHisValueForBj",
-        data: { wtId: that.wtId },
-        success(res) {
-          if(res.code == 200){
+    requestHisValue() {
+      api
+        .healthsubFindWtHisValueForBj({
+          wtId: this.wtId,
+        })
+        .then((res) => {
+          if (res.code == 200) {
             let data = res.data;
-            data.time = data.time.slice(0, 65)
-            that.hisValue = data
+            data.time = data.time.slice(0, 65);
+            this.hisValue = data;
           }
-        },
-      });
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthsub/findWtHisValueForBj",
+      //   data: { wtId: that.wtId },
+      //   success(res) {
+      //     if (res.code == 200) {
+      //       let data = res.data;
+      //       data.time = data.time.slice(0, 65);
+      //       that.hisValue = data;
+      //     }
+      //   },
+      // });
     },
     //部件健康情况
-    requestMttrrand(){
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "healthsub/getWtMttrandMtbfByBj",
-        data: { wtId: that.wtId },
-        success(res) {
-          if(res.code == 200){
+    requestMttrrand() {
+      api
+        .healthsubGetWtMttrandMtbfByBj({
+          wtId: this.wtId,
+        })
+        .then((res) => {
+          if (res.code == 200) {
             let data = res.data;
-            that.tableData.data = [
-              {name:data.clx[1], v1:data.clx[4], v2:data.clx[5], v3:data.clx[6], v4:data.clx[0]},
-              {name:data.fdj[1], v1:data.fdj[4], v2:data.fdj[5], v3:data.fdj[6], v4:data.fdj[0]},
-              {name:data.bj[1], v1:data.bj[4], v2:data.bj[5], v3:data.bj[6], v4:data.bj[0]},
-              {name:data.zk[1], v1:data.zk[4], v2:data.zk[5], v3:data.zk[6], v4:data.zk[0]},
-              {name:data.zz[1], v1:data.zz[4], v2:data.zz[5], v3:data.zz[6], v4:data.zz[0]},
-              {name:data.ph[1], v1:data.ph[4], v2:data.ph[5], v3:data.ph[6], v4:data.ph[0]},
-              {name:data.jc[1], v1:data.jc[4], v2:data.jc[5], v3:data.jc[6], v4:data.jc[0]},
-              {name:data.bpq[1], v1:data.bpq[4], v2:data.bpq[5], v3:data.bpq[6], v4:data.bpq[0]},
-            ]
+            this.tableData.data = [
+              {
+                name: data.clx[1],
+                v1: data.clx[4],
+                v2: data.clx[5],
+                v3: data.clx[6],
+                v4: data.clx[0],
+              },
+              {
+                name: data.fdj[1],
+                v1: data.fdj[4],
+                v2: data.fdj[5],
+                v3: data.fdj[6],
+                v4: data.fdj[0],
+              },
+              {
+                name: data.bj[1],
+                v1: data.bj[4],
+                v2: data.bj[5],
+                v3: data.bj[6],
+                v4: data.bj[0],
+              },
+              {
+                name: data.zk[1],
+                v1: data.zk[4],
+                v2: data.zk[5],
+                v3: data.zk[6],
+                v4: data.zk[0],
+              },
+              {
+                name: data.zz[1],
+                v1: data.zz[4],
+                v2: data.zz[5],
+                v3: data.zz[6],
+                v4: data.zz[0],
+              },
+              {
+                name: data.ph[1],
+                v1: data.ph[4],
+                v2: data.ph[5],
+                v3: data.ph[6],
+                v4: data.ph[0],
+              },
+              {
+                name: data.jc[1],
+                v1: data.jc[4],
+                v2: data.jc[5],
+                v3: data.jc[6],
+                v4: data.jc[0],
+              },
+              {
+                name: data.bpq[1],
+                v1: data.bpq[4],
+                v2: data.bpq[5],
+                v3: data.bpq[6],
+                v4: data.bpq[0],
+              },
+            ];
           }
-        },
-      });
-    }
-  }
+        });
+
+      // let that = this;
+      // that.API.requestData({
+      //   method: "POST",
+      //   subUrl: "healthsub/getWtMttrandMtbfByBj",
+      //   data: { wtId: that.wtId },
+      //   success(res) {
+      //     if (res.code == 200) {
+      //       let data = res.data;
+      //       that.tableData.data = [
+      //         {
+      //           name: data.clx[1],
+      //           v1: data.clx[4],
+      //           v2: data.clx[5],
+      //           v3: data.clx[6],
+      //           v4: data.clx[0],
+      //         },
+      //         {
+      //           name: data.fdj[1],
+      //           v1: data.fdj[4],
+      //           v2: data.fdj[5],
+      //           v3: data.fdj[6],
+      //           v4: data.fdj[0],
+      //         },
+      //         {
+      //           name: data.bj[1],
+      //           v1: data.bj[4],
+      //           v2: data.bj[5],
+      //           v3: data.bj[6],
+      //           v4: data.bj[0],
+      //         },
+      //         {
+      //           name: data.zk[1],
+      //           v1: data.zk[4],
+      //           v2: data.zk[5],
+      //           v3: data.zk[6],
+      //           v4: data.zk[0],
+      //         },
+      //         {
+      //           name: data.zz[1],
+      //           v1: data.zz[4],
+      //           v2: data.zz[5],
+      //           v3: data.zz[6],
+      //           v4: data.zz[0],
+      //         },
+      //         {
+      //           name: data.ph[1],
+      //           v1: data.ph[4],
+      //           v2: data.ph[5],
+      //           v3: data.ph[6],
+      //           v4: data.ph[0],
+      //         },
+      //         {
+      //           name: data.jc[1],
+      //           v1: data.jc[4],
+      //           v2: data.jc[5],
+      //           v3: data.jc[6],
+      //           v4: data.jc[0],
+      //         },
+      //         {
+      //           name: data.bpq[1],
+      //           v1: data.bpq[4],
+      //           v2: data.bpq[5],
+      //           v3: data.bpq[6],
+      //           v4: data.bpq[0],
+      //         },
+      //       ];
+      //     }
+      //   },
+      // });
+    },
+  },
 };
 </script>
 

+ 22 - 308
src/views/Home/Home.vue

@@ -5,7 +5,7 @@
         <Row type="flex" class="weather">
           <Col :span="24">
             <com-panel
-              :title="tqmap.name || '---'"
+              :title="tqmap.name"
               :sub-title="nowTime + ' 实况'"
               icon="fa fa-map-marker"
             >
@@ -43,7 +43,7 @@
       <div class="top-mid-panel">
         <Map
           :wpId="wpId"
-          :day="String(jczbmap.aqts || '---')"
+          :day="String(jczbmap.aqts)"
           :data="fcmap"
           :xtData="xtmap"
           @mapClick="changeShowType"
@@ -59,7 +59,7 @@
               <!-- 避免故障、提升率、降低率、风能利用率、设备可利用率、综合场用电率、存在隐患风机 -->
               <coulometric-analysis
                 :bmgz="gxkmap.tjsl"
-                :tsl="30"
+                :tsl="0"
                 :jdl="gxkmap.tjl"
                 :fnlyl="wxssmap.yfnlyl"
                 :sbklyl="gxkmap.ysbklyl"
@@ -656,7 +656,7 @@
                   </div>
                   <div class="value">
                     <span class="text gray">未知</span>
-                    <span>---</span>
+                    <span>0</span>
                   </div>
                 </div>
               </div>
@@ -931,6 +931,15 @@ export default {
   },
 
   methods: {
+
+    getDAY(){
+   let curDate = new Date();
+   let curMonth = curDate.getMonth(); //当前月份 需要加1
+   curDate.setMonth(curMonth + 1); 
+   curDate.setDate(0) //关键
+   curDate.getDate(); //计算的当月总天数
+   return curDate.getDate()-new Date().getDate() // new Date().getDate()当前几号  总天数-当前即可
+    },
     // 打开天气弹窗
     openWeatherDialog() {
       api
@@ -968,45 +977,6 @@ export default {
           this.weatherChart = weatherChart;
           this.showWeatherDialog = true;
         });
-      // let that = this;
-      // that.API.requestData({
-      //   method: "POST",
-      //   subUrl: "genreset/getWeatherRealDay5Info",
-      //   data: {
-      //     wpId: that.wpId,
-      //   },
-      //   success(res) {
-      //     const keys = ["wd", "sd"];
-      //     let weatherChart = [
-      //       {
-      //         title: "温度",
-      //         smooth: true,
-      //         value: [],
-      //       },
-      //       {
-      //         title: "湿度",
-      //         smooth: true,
-      //         value: [],
-      //       },
-      //     ];
-
-      //     res.data.ls.forEach((ele) => {
-      //       ele.time = new Date(ele.time).formatDate("yyyy-MM-dd hh:mm");
-      //     });
-
-      //     keys.forEach((key, keyIndex) => {
-      //       res.data.ls.forEach((ele) => {
-      //         weatherChart[keyIndex].value.push({
-      //           text: ele.time,
-      //           value: ele[key],
-      //         });
-      //       });
-      //     });
-      //     that.tqmap5 = res.data.ls;
-      //     that.weatherChart = weatherChart;
-      //     that.showWeatherDialog = true;
-      //   },
-      // });
     },
 
     // 请求服务
@@ -1065,7 +1035,6 @@ export default {
               max: res.data.jczbmap.zjts,
             },
           ];
-          // console.log('res.data.jczbmap',res.data.jczbmap);
           this.jczbmap = res.data.jczbmap;
           this.wxssmap = res.data.wxssmap;
           this.gxkmap = res.data.gxkmap;
@@ -1095,11 +1064,12 @@ export default {
             },
             {
               name: "当月预测电量",
-              value: res.data.jczbmap.yycfdl,
+              value: ((res.data.jczbmap.yfdl+res.data.jczbmap.rycfdl)*(this.getDAY())* 1.08).toFixed(2),
+              // 预测电量临时算法=(月发电量+日预测发电量*(日历天数-当前日数))*预测发电量系数
               // total: res.data.jczbmap.yfdlsx,
               total:
                 res.data.jczbmap.yycfdl >= res.data.jczbmap.yfdl
-                  ? res.data.jczbmap.yycfdl + 200
+                  ? ((res.data.jczbmap.yfdl+res.data.jczbmap.rycfdl)*(this.getDAY())* 1.08).toFixed(2) + 200
                   : res.data.jczbmap.yfdl + 200,
             },
             {
@@ -1112,7 +1082,6 @@ export default {
                   : res.data.jczbmap.yfdl + 200,
             },
           ];
-
           this.planData = {
             yfdl: res.data.jczbmap.yfdl,
             nfdl: res.data.jczbmap.nfdl,
@@ -1122,113 +1091,6 @@ export default {
             nwcl: res.data.gxkmap.nwcl,
           };
         });
-
-      // let that = this;
-      // that.API.requestData({
-      //   showLoading,
-      //   method: "POST",
-      //   subUrl: "genreset/findBasicDataInfo",
-      //   timeout: 60000,
-      //   data: {
-      //     id: that.wpId,
-      //   },
-      //   success(res) {
-      //     that.powerData = [
-      //       {
-      //         title: that.wpId === '-2' || that.wpId.indexOf('GDC') !== -1 ? "日照强度" : "风速",
-
-      //         dialogTitle: that.wpId == 0 ? '详情' : that.wpId === '-2' || that.wpId.indexOf('GDC') !== -1 ? "日照强度详情" : "风速详情",
-      //         subUrl: "genreset/findGLDetail",
-      //         targetName: "ssfs",
-      //         dialogType: "powerLineChart",
-      //         max: 30,
-      //       },
-      //       {
-      //         title: "保证功率",
-      //         value: res.data.jczbmap.bzgl,
-      //         dialogTitle: "保证功率详情",
-      //         subUrl: "genreset/findGLDetail",
-      //         targetName: "bzgl",
-      //         dialogType: "powerLineChart",
-      //         max: res.data.jczbmap.zjts,
-      //       },
-      //       {
-      //         title: "应发功率",
-      //         value: res.data.jczbmap.yfgl,
-      //         dialogTitle: "应发功率详情",
-      //         subUrl: "genreset/findGLDetail",
-      //         targetName: "yfgl",
-      //         dialogType: "powerLineChart",
-      //         max: res.data.jczbmap.zjts,
-      //       },
-      //       {
-      //         title: "实际功率",
-      //         value: res.data.jczbmap.sjgl,
-      //         dialogTitle: "实际功率详情",
-      //         subUrl: "genreset/findGLDetail",
-      //         targetName: "sjgl",
-      //         dialogType: "powerLineChart",
-      //         max: res.data.jczbmap.zjts,
-      //       },
-      //     ];
-
-      //     that.jczbmap = res.data.jczbmap;
-      //     that.wxssmap = res.data.wxssmap;
-      //     that.gxkmap = res.data.gxkmap;
-      //     that.mxztmap = res.data.mxztmap;
-      //     that.fcmap = res.data.fcmap;
-      //     that.xtmap = res.data.xtmap;
-      //     that.tqmap = res.data.tqmap;
-
-      //     that.ForecastPower = [
-      //       {
-      //         name: "当日预测电量",
-      //         value: res.data.jczbmap.rycfdl,
-      //         // total: res.data.jczbmap.rfdlsx,
-      //         total:
-      //           res.data.jczbmap.rycfdl >= res.data.jczbmap.rfdl
-      //             ? res.data.jczbmap.rycfdl + 100
-      //             : res.data.jczbmap.rfdl + 100,
-      //       },
-      //       {
-      //         name: "实际发电量",
-      //         value: res.data.jczbmap.rfdl,
-      //         // total: res.data.jczbmap.rfdlsx,
-      //         total:
-      //           res.data.jczbmap.rycfdl >= res.data.jczbmap.rfdl
-      //             ? res.data.jczbmap.rycfdl + 100
-      //             : res.data.jczbmap.rfdl + 100,
-      //       },
-      //       {
-      //         name: "当月预测电量",
-      //         value: res.data.jczbmap.yycfdl,
-      //         // total: res.data.jczbmap.yfdlsx,
-      //         total:
-      //           res.data.jczbmap.yycfdl >= res.data.jczbmap.yfdl
-      //             ? res.data.jczbmap.yycfdl + 200
-      //             : res.data.jczbmap.yfdl + 200,
-      //       },
-      //       {
-      //         name: "实际发电量",
-      //         value: res.data.jczbmap.yfdl,
-      //         // total: res.data.jczbmap.yfdlsx,
-      //         total:
-      //           res.data.jczbmap.yycfdl >= res.data.jczbmap.yfdl
-      //             ? res.data.jczbmap.yycfdl + 200
-      //             : res.data.jczbmap.yfdl + 200,
-      //       },
-      //     ];
-
-      //     that.planData = {
-      //       yfdl: res.data.jczbmap.yfdl,
-      //       nfdl: res.data.jczbmap.nfdl,
-      //       yfdljh: res.data.gxkmap.yfdljh,
-      //       nfdljh: res.data.gxkmap.nfdljh,
-      //       ywcl: res.data.gxkmap.ywcl,
-      //       nwcl: res.data.gxkmap.nwcl,
-      //     };
-      //   },
-      // });
     },
 
     getCharts() {
@@ -1324,18 +1186,16 @@ export default {
           ];
 
           rdlKey.forEach((keyEle, keyIndex) => {
-              // console.log(7777777777,keyEle,keyIndex);
-              // console.log(res);
-              res.data.rdlvos.forEach((cEle) => {
-                DayPower.value[keyIndex].value.push({
-                  text: cEle.timestr,
-                  value: cEle[keyEle],
-                });
+            res.data?.rdlvos?.forEach((cEle) => {
+              DayPower.value[keyIndex].value.push({
+                text: cEle.timestr,
+                value: cEle[keyEle],
               });
+            });
           });
 
           glKey.forEach((keyEle, keyIndex) => {
-            res.data.glvos.forEach((cEle) => {
+            res?.data?.glvos.forEach((cEle) => {
               Powertrend[keyIndex].value.push({
                 text: new Date(cEle.time).formatDate("hh:mm"),
                 value: cEle[keyEle],
@@ -1346,122 +1206,6 @@ export default {
           this.DayPower = DayPower;
           this.Powertrend = Powertrend;
         });
-
-      // let that = this;
-      // that.API.requestData({
-      //   method: "POST",
-      //   subUrl: "genreset/findPowerInfo",
-      //   data: {
-      //     id: that.wpId,
-      //   },
-      //   success(res) {
-      //     let rdlKey = ["value1", "value2", "value3", "speed"];
-      // let dw = {
-      //   units:"",
-      //   title:""
-      // };
-      // that.wpId === '-2' || that.wpId.indexOf('GDC') !== -1 ?
-      // dw={
-      //   units:"(w/㎡)",
-      //   title:"日照"
-      // } : dw={
-      //   units:"(m/s)",
-      //   title:"风速"
-      // };
-      //     let DayPower = {
-      //       units: ["(万kWh)", dw.units],
-      //       value: [
-      //         {
-      //           title: "发电量",
-      //           yAxisIndex: 0,
-      //           value: [],
-      //         },
-      //         {
-      //           title: "上网电量",
-      //           yAxisIndex: 0,
-      //           value: [],
-      //         },
-      //         {
-      //           title: "购网电量",
-      //           yAxisIndex: 0,
-      //           value: [],
-      //         },
-      //         {
-      //           title: dw.title,
-      //           yAxisIndex: 1,
-      //           value: [],
-      //         },
-      //       ],
-      //     };
-
-      //     let glKey = [
-      //       "value2",
-      //       "value1",
-      //       "value5",
-      //       "value4",
-      //       "value7",
-      //       "value6",
-      //     ];
-      //     let Powertrend = [
-      //       {
-      //         title: "实发功率",
-      //         smooth: true,
-      //         value: [],
-      //       },
-      //       {
-      //         title: "理论功率",
-      //         smooth: true,
-      //         value: [],
-      //       },
-      //       {
-      //         title: "保证功率",
-      //         smooth: true,
-      //         value: [],
-      //       },
-      //       {
-      //         title: "4小时预测功率",
-      //         smooth: true,
-      //         value: [],
-      //       },
-      //       {
-      //         title: "24小时预测功率",
-      //         smooth: true,
-      //         value: [],
-      //       },
-      //       {
-      //         title: that.wpId === '-2' ? "日照强度" : "平均风速",
-      //         smooth: true,
-      //         value: [],
-      //       },
-      //       {
-      //         title: "72小时预测功率",
-      //         smooth: true,
-      //         value: [],
-      //       },
-      //     ];
-
-      //     rdlKey.forEach((keyEle, keyIndex) => {
-      //       res.data.rdlvos.forEach((cEle) => {
-      //         DayPower.value[keyIndex].value.push({
-      //           text: cEle.timestr,
-      //           value: cEle[keyEle],
-      //         });
-      //       });
-      //     });
-
-      //     glKey.forEach((keyEle, keyIndex) => {
-      //       res.data.glvos.forEach((cEle) => {
-      //         Powertrend[keyIndex].value.push({
-      //           text: new Date(cEle.time).formatDate("hh:mm"),
-      //           value: cEle[keyEle],
-      //         });
-      //       });
-      //     });
-
-      //     that.DayPower = DayPower;
-      //     that.Powertrend = Powertrend;
-      //   },
-      // });
     },
 
     // 点击地图展示类型
@@ -1543,21 +1287,6 @@ export default {
         this.dialogData = res.data;
         this.dialogType = dialogType;
       });
-
-      // let that = this;
-      // that.API.requestData({
-      //   method: "POST",
-      //   subUrl,
-      //   data: {
-      //     id: that.wpId,
-      //     targetName,
-      //   },
-      //   success(res) {
-      //     that.dialogShow = true;
-      //     that.dialogData = res.data;
-      //     that.dialogType = dialogType;
-      //   },
-      // });
     },
 
     // 点击安全天数下的场站按钮重置数据
@@ -1584,21 +1313,6 @@ export default {
           this.dialogType = "table";
           this.dialogShow = true;
         });
-
-      // let that = this;
-
-      // that.API.requestData({
-      //   method: "POST",
-      //   subUrl: "/genreset/getForecastwindspeedInfo",
-      //   data: {
-      //     wpId: that.wpId,
-      //   },
-      //   success(res) {
-      //     that.dialogData = res.data;
-      //     that.dialogType = "table";
-      //     that.dialogShow = true;
-      //   },
-      // });
     },
 
     // 显示功率复核图表

+ 6 - 6
src/views/Home/components/coulometric-analysis.vue

@@ -90,15 +90,15 @@ export default {
     // 电量分析
     return {
       // 增发电量
-      AddElectricity: 30,
+      AddElectricity: 0,
       // 避免故障
-      bmgz_: 32,
+      bmgz_: 0,
       // 提升率
       tsl_: 0,
       // 降低率
-      jdl_: '61',
+      jdl_: "0",
       // 风能利用率
-      fnlyl_: 0,
+      fnlyl_: " 0",
       // 设备科利用率
       sbklyl_: 0,
       // 综合场用电率
@@ -108,9 +108,9 @@ export default {
     };
   },
   mounted() {
-    this.bmgz_ = this.bmgz ? this.bmgz : 32;
+    this.bmgz_ = this.bmgz ? this.bmgz : 0;
     this.tsl_ = this.tsl;
-    this.jdl_ = this.jdl_ ? this.jdl_ : 61;
+    this.jdl_ = this.jdl_ ? this.jdl_ : 0;
     this.fnlyl_ = this.fnlyl;
     this.sbklyl_ = this.sbklyl;
     this.zhcydl_ = this.zhcydl;

+ 67 - 33
src/views/Home/components/map.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="map">
-    <div :class="$store.state.themeName === 'light'?'light':'back'"></div>
+    <div :class="$store.state.themeName === 'light' ? 'light' : 'back'"></div>
     <div class="security-days">
       <div class="text">安全天数:</div>
       <div class="num">
@@ -26,9 +26,11 @@
       </div>
     </div> -->
     <div class="name-box" v-if="currentMode != 'NX'">
-      <div class="name-box-title" @click="onBackStation">{{ currentTitle }}</div>
+      <div class="name-box-title" @click="onBackStation">
+        {{ currentTitle }}
+      </div>
       <div class="name-box-period" v-show="currentPeriod != 'ZERO'">
-        <span class="name-box-period-label">{{textType}}:</span>
+        <span class="name-box-period-label">{{ textType }}:</span>
         <span class="name-box-period-value"
           >{{ currentName }}{{ currentPeriod }}</span
         >
@@ -118,26 +120,51 @@
     </div>
     <div class="map-img">
       <!-- 地图总览 -->
-      <SvgMapNX v-if="mapName === 'nx'" :show="showType" :data="sourceMap" :xtData="xtMap" @clickLabel="clickLabel" ></SvgMapNX>
-	  
+      <SvgMapNX
+        v-if="mapName === 'nx'"
+        :show="showType"
+        :data="sourceMap"
+        :xtData="xtMap"
+        @clickLabel="clickLabel"
+      ></SvgMapNX>
+
       <!-- 崇礼风电场 -->
-      <CLFDC v-if="mapName === 'CL_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></CLFDC>
-	  
+      <CLFDC
+        v-if="mapName === 'CL_FDC'"
+        :data="sourceMap"
+        @clickFj="clickFj"
+        @changePeriod="changePeriod"
+      ></CLFDC>
+
       <!-- 康保风电场 -->
-      <KBFDC v-if="mapName === 'KB_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></KBFDC>
-	  
+      <KBFDC
+        v-if="mapName === 'KB_FDC'"
+        :data="sourceMap"
+        @clickFj="clickFj"
+        @changePeriod="changePeriod"
+      ></KBFDC>
+
       <!-- 代县风电场 -->
-      <DXFDC v-if="mapName === 'DX_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></DXFDC>
-	  
+      <DXFDC
+        v-if="mapName === 'DX_FDC'"
+        :data="sourceMap"
+        @clickFj="clickFj"
+        @changePeriod="changePeriod"
+      ></DXFDC>
+
       <!-- 寿阳风电场 -->
-      <SYFDC v-if="mapName === 'SY_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod" ></SYFDC>
-	  
+      <SYFDC
+        v-if="mapName === 'SY_FDC'"
+        :data="sourceMap"
+        @clickFj="clickFj"
+        @changePeriod="changePeriod"
+      ></SYFDC>
     </div>
   </div>
 </template>
 
 <script>
-// 宁夏地图总览
+// 河北地图总览
 import SvgMapNX from "./map/svg-map-nx.vue";
 
 // 崇礼风电场
@@ -161,7 +188,7 @@ export default {
     KBFDC,
     DXFDC,
     SYFDC,
- 
+
     SvgIcon,
   },
   props: {
@@ -171,7 +198,7 @@ export default {
     },
     day: {
       type: String,
-      default: "---",
+      default: "0",
     },
     data: {
       type: Object,
@@ -185,17 +212,20 @@ export default {
 
   mounted() {
     this.fcId = this.wpId;
-    // console.log('安全天数',this.day);
-    this.safeDay = this.day;
+    if (this.day == "undefined") {
+      this.safeDay = "0";
+    } else {
+      this.safeDay = this.day;
+    }
     this.sourceMap = this.data;
     this.xtMap = this.xtData;
   },
   // 数据
   data() {
     return {
-		textType:'期次',
+      textType: "期次",
       fcId: "",
-      safeDay: "",
+      safeDay: "0",
       showType: "all",
       sourceMap: {},
       mapIndex: -1,
@@ -238,7 +268,7 @@ export default {
       this.activeTab = index;
       this.showType = showType;
       let wpId = showType === "all" ? "0" : showType === "fc" ? "-1" : "-2";
-      this.safeDay = "---";
+      this.safeDay = "0";
       this.mapName = "nx";
       this.$emit("mapClicks", wpId, this.tabs[index].text);
     },
@@ -254,31 +284,35 @@ export default {
       this.mapIndex = 1;
       this.$emit("mapClick", wpId, planBtnName);
     },
-    clickFj(wpId, planBtnName,textType) {
+    clickFj(wpId, planBtnName, textType) {
       this.$emit("mapClick", wpId, planBtnName);
     },
-    changePeriod: function (name, period,textType) {
-		if(textType){
-			this.textType = '期次'
-		}else{
-			this.textType = '线路'
-		}
+    changePeriod: function (name, period, textType) {
+      if (textType) {
+        this.textType = "期次";
+      } else {
+        this.textType = "线路";
+      }
       this.currentName = name;
       this.currentPeriod = period;
       this.currentMode = "SUB";
     },
     // 返回当前场站
-    onBackStation(){
-      this.currentPeriod = "ZERO"
+    onBackStation() {
+      this.currentPeriod = "ZERO";
       this.$emit("backStation");
-    }
+    },
   },
   watch: {
     wpId(res) {
       this.fcId = res;
     },
     day(res) {
-      this.safeDay = res;
+      if (res == "undefined") {
+        this.safeDay = "0";
+      } else {
+        this.safeDay = res;
+      }
     },
     data(res) {
       this.sourceMap = res;
@@ -296,7 +330,7 @@ export default {
   width: 100%;
   height: 100%;
 
-  .light{
+  .light {
     position: fixed;
     z-index: -1;
     width: 100vw;

+ 8 - 3
src/views/Home/components/map/svg-map-nx.vue

@@ -170,10 +170,11 @@
         />
         <g>
           <g v-if="showPoint">
+          <!-- @click.stop="clickLabel('CL_FDC', '崇礼风电场')"  -->
             <g
               v-if="showType === 'all' || showType === 'fc'"
               class="item-label"
-              @click.stop="clickLabel('CL_FDC', '崇礼风电场')"
+             
               @mouseover="mouseover(0)"
               @mouseout="mouseout"
             >
@@ -368,10 +369,11 @@
           </g>
 
           <g v-if="showPoint">
+              <!-- @click.stop="clickLabel('DX_FDC', '代县风电场')" -->
             <g
               v-if="showType === 'all' || showType === 'fc'"
               class="item-label"
-              @click.stop="clickLabel('DX_FDC', '代县风电场')"
+            
               @mouseover="mouseover(2)"
               @mouseout="mouseout"
             >
@@ -468,10 +470,11 @@
 
 
           <g v-if="showPoint">
+              <!-- @click.stop="clickLabel('SY_FDC', '寿阳风电场')" -->
             <g
               v-if="showType === 'all' || showType === 'fc'"
               class="item-label"
-              @click.stop="clickLabel('SY_FDC', '寿阳风电场')"
+            
               @mouseover="mouseover(3)"
               @mouseout="mouseout"
             >
@@ -565,6 +568,8 @@
               </g>
             </g>
           </g>
+
+
         </g>
       </g>
     </svg>

+ 40 - 41
src/views/Home/components/power-plan.vue

@@ -100,7 +100,7 @@ export default {
     },
   },
   mounted() {
-    this.planData = this.data;
+
     this.wpId = this.id;
     this.tabs[0].text = this.title;
   },
@@ -124,52 +124,51 @@ export default {
       };
       api.findInfo(subUrl, data).then((res) => {
         let key = [
-            {
-              key: "value1",
-              title: "月计划发电量",
-            },
-            {
-              key: "value2",
-              title: "年计划发电量",
-            },
-            {
-              key: "value3",
-              title: "月发电量",
-            },
-            {
-              key: "value4",
-              title: "年发电量",
-            },
-          ];
-
-          let doneLineChartData = {
-            // 图表所用单位
-            units: [""],
-            value: [],
-          };
+          {
+            key: "value1",
+            title: "月计划发电量",
+          },
+          {
+            key: "value2",
+            title: "年计划发电量",
+          },
+          {
+            key: "value3",
+            title: "月发电量",
+          },
+          {
+            key: "value4",
+            title: "年发电量",
+          },
+        ];
 
-          key.forEach((keyEle, keyIndex) => {
-            doneLineChartData.value.push({
-              title: keyEle.title,
-              yAxisIndex: 0, // 使用单位
-              value: [],
-            });
+        let doneLineChartData = {
+          // 图表所用单位
+          units: [""],
+          value: [],
+        };
 
-            res.data.forEach((ele) => {
-              doneLineChartData.value[keyIndex].value.push({
-                text: ele.name,
-                value: ele[keyEle.key],
-              });
-            });
+        key.forEach((keyEle, keyIndex) => {
+          doneLineChartData.value.push({
+            title: keyEle.title,
+            yAxisIndex: 0, // 使用单位
+            value: [],
           });
 
-          this.$emit("chartClick", {
-            dialogTitle,
-            dialogType,
-            data: doneLineChartData,
+          res.data.forEach((ele) => {
+            doneLineChartData.value[keyIndex].value.push({
+              text: ele.name,
+              value: ele[keyEle.key],
+            });
           });
-      })
+        });
 
+        this.$emit("chartClick", {
+          dialogTitle,
+          dialogType,
+          data: doneLineChartData,
+        });
+      });
     },
   },
 

+ 2 - 2
src/views/Home/components/weather.vue

@@ -79,8 +79,8 @@ export default {
       visibility: "20KM", //能见度
       humidity: "75.0%", // 湿度
       pressure: "994kPa", // 气压
-      sunrise: "08:10", // 日出
-      sunset: "17:39", // 日落
+      sunrise: "06:45", // 日出
+      sunset: "18:17", // 日落
     };
   },
 

+ 4 - 2
src/views/Knowledge/Knowledge1.vue

@@ -73,6 +73,7 @@ import api from "@api/maintenance/expertKnowledge/index.js";
 export default {
   components: { ComTable, KnowInfo },
   data() {
+    const that = this;
     return {
       faultLevels: ["1级", "2级", "3级", "4级", "5级"], // 故障等级
       downTypes: ["正常停机", "快速停机", "紧急停机"], // 停机类型
@@ -132,7 +133,7 @@ export default {
               return "<el-button type='text' style='cursor: pointer;'>详细信息</el-button>";
             },
             click(e, row) {
-              this.getInformation(row);
+              that.getInformation5(row);
             },
           },
         ],
@@ -153,7 +154,8 @@ export default {
       this.requestInfoList();
     },
     // 查看详细信息
-    getInformation(item) {
+    getInformation5(item) {
+      console.log(item);
       this.dialogVisible = true;
       this.infoData = item;
     },

+ 172 - 163
src/views/LightMatrix1/LightMatrix1.vue

@@ -1,196 +1,203 @@
 <template >
-	<el-scrollbar>
-  <div class="light-matrix">
-    <Row class="panel-2" type="">
-      <Col :span="12" class="left-50-16">
-        <div class="panel">
-          <div class="dot left top"></div>
-          <div class="dot left bottom"></div>
-          <div class="dot right top"></div>
-          <div class="dot right bottom"></div>
-          <div class="item">
-            <div class="loop"></div>
-            <span class="svg-icon svg-icon-gray svg-icon-md">
-              <SvgIcon svgid="svg-wind-site"></SvgIcon>
-            </span>
-          </div>
-          <div class="item write" @click="changeShow('jrfj_FDC')">
-            <div class="curStyle">
-              <div>接入风机</div>
-              <div>{{ sourceMap.fcjrnum || "---" }}</div>
+  <el-scrollbar>
+    <div class="light-matrix">
+      <Row class="panel-2" type="">
+        <Col :span="12" class="left-50-16">
+          <div class="panel">
+            <div class="dot left top"></div>
+            <div class="dot left bottom"></div>
+            <div class="dot right top"></div>
+            <div class="dot right bottom"></div>
+            <div class="item">
+              <div class="loop"></div>
+              <span class="svg-icon svg-icon-gray svg-icon-md">
+                <SvgIcon svgid="svg-wind-site"></SvgIcon>
+              </span>
             </div>
-          </div>
-          <div class="item blue" @click="changeShow('yx_FDC', 1)">
-            <div class="curStyle">
-              <div>· 运行</div>
-              <div>{{ sourceMap.fcyxnum || "---" }}</div>
+            <div class="item write" @click="changeShow('jrfj_FDC')">
+              <div class="curStyle">
+                <div>接入风机</div>
+                <div>{{ sourceMap.fcjrnum || "---" }}</div>
+              </div>
             </div>
-          </div>
-          <div class="item green" @click="changeShow('dj_FDC', 0)">
-            <div class="curStyle">
-              <div>· 待机</div>
-              <div>{{ sourceMap.fcdjnum || "---" }}</div>
+            <div class="item blue" @click="changeShow('yx_FDC', 1)">
+              <div class="curStyle">
+                <div>· 运行</div>
+                <div>{{ sourceMap.fcyxnum || "---" }}</div>
+              </div>
             </div>
-          </div>
-          <div class="item pink" @click="changeShow('xd_FDC', 5)">
-            <div class="curStyle">
-              <div>· 限电</div>
-              <div>{{ sourceMap.fcxdnum || "---" }}</div>
+            <div class="item green" @click="changeShow('dj_FDC', 0)">
+              <div class="curStyle">
+                <div>· 待机</div>
+                <div>{{ sourceMap.fcdjnum || "---" }}</div>
+              </div>
             </div>
-          </div>
-          <div class="item red" @click="changeShow('gz_FDC', 2)">
-            <div class="curStyle">
-              <div>· 故障</div>
-              <div>{{ sourceMap.fcgznum || "---" }}</div>
+            <div class="item pink" @click="changeShow('xd_FDC', 5)">
+              <div class="curStyle">
+                <div>· 限电</div>
+                <div>{{ sourceMap.fcxdnum || "---" }}</div>
+              </div>
             </div>
-          </div>
-          <div class="item orange" @click="changeShow('jx_FDC', 4)">
-            <div class="curStyle">
-              <div>· 检修</div>
-              <div>{{ sourceMap.fcwhnum || "---" }}</div>
+            <div class="item red" @click="changeShow('gz_FDC', 2)">
+              <div class="curStyle">
+                <div>· 故障</div>
+                <div>{{ sourceMap.fcgznum || "---" }}</div>
+              </div>
             </div>
-          </div>
-          <div class="item write" @click="changeShow('sl_FDC', 6)">
-            <div class="curStyle">
-              <div>· 受累</div>
-              <div>{{ sourceMap.fcslnum || "---" }}</div>
+            <div class="item orange" @click="changeShow('jx_FDC', 4)">
+              <div class="curStyle">
+                <div>· 检修</div>
+                <div>{{ sourceMap.fcwhnum || "---" }}</div>
+              </div>
             </div>
-          </div>
-          <div class="item gray" @click="changeShow('lx_FDC', 3)">
-            <div class="curStyle">
-              <div>· 离线</div>
-              <div>{{ sourceMap.fclxnum || "---" }}</div>
+            <div class="item write" @click="changeShow('sl_FDC', 6)">
+              <div class="curStyle">
+                <div>· 受累</div>
+                <div>{{ sourceMap.fcslnum || "---" }}</div>
+              </div>
             </div>
-          </div>
-        </div>
-      </Col>
-      <Col :span="12" class="left-50-16">
-        <div class="panel">
-          <div class="dot left top"></div>
-          <div class="dot left bottom"></div>
-          <div class="dot right top"></div>
-          <div class="dot right bottom"></div>
-          <div class="item">
-            <div class="loop"></div>
-            <span class="svg-icon svg-icon-gray svg-icon-md">
-              <SvgIcon
-                :svgid="'svg-photovoltaic'"
-                style="margin: 3px 0px -3px 1px"
-              ></SvgIcon>
-            </span>
-          </div>
-          <div class="item write" @click="changeShow('jrfj1_GDC')">
-            <div class="curStyle">
-              <div>逆变器</div>
-              <div>{{ sourceMap.gfjrnum || "---" }}</div>
+            <div class="item gray" @click="changeShow('lx_FDC', 3)">
+              <div class="curStyle">
+                <div>· 离线</div>
+                <div>{{ sourceMap.fclxnum || "---" }}</div>
+              </div>
             </div>
           </div>
-          <div class="item blue" @click="changeShow('yx1_GDC', 1)">
-            <div class="curStyle">
-              <div>· 运行</div>
-              <div>{{ sourceMap.gfyxnum || "---" }}</div>
+        </Col>
+        <Col :span="12" class="left-50-16">
+          <div class="panel">
+            <div class="dot left top"></div>
+            <div class="dot left bottom"></div>
+            <div class="dot right top"></div>
+            <div class="dot right bottom"></div>
+            <div class="item">
+              <div class="loop"></div>
+              <span class="svg-icon svg-icon-gray svg-icon-md">
+                <SvgIcon
+                  :svgid="'svg-photovoltaic'"
+                  style="margin: 3px 0px -3px 1px"
+                ></SvgIcon>
+              </span>
             </div>
-          </div>
-          <div class="item greenv" @click="changeShow('dj1_GDC', 0)">
-            <div class="curStyle">
-              <div>· 待机</div>
-              <div>{{ sourceMap.gfdjnum || "---" }}</div>
+            <div class="item write" @click="changeShow('jrfj1_GDC')">
+              <div class="curStyle">
+                <div>逆变器</div>
+                <div>{{ sourceMap.gfjrnum || "---" }}</div>
+              </div>
             </div>
-          </div>
-          <div class="item pink" @click="changeShow('xd1_GDC', 5)">
-            <div class="curStyle">
-              <div>· 限电</div>
-              <div>{{ sourceMap.gfxdnum || "---" }}</div>
+            <div class="item blue" @click="changeShow('yx1_GDC', 1)">
+              <div class="curStyle">
+                <div>· 运行</div>
+                <div>{{ sourceMap.gfyxnum || "---" }}</div>
+              </div>
             </div>
-          </div>
-          <div class="item red" @click="changeShow('gz1_GDC', 2)">
-            <div class="curStyle">
-              <div>· 故障</div>
-              <div>{{ sourceMap.gfgznum || "---" }}</div>
+            <div class="item greenv" @click="changeShow('dj1_GDC', 0)">
+              <div class="curStyle">
+                <div>· 待机</div>
+                <div>{{ sourceMap.gfdjnum || "---" }}</div>
+              </div>
             </div>
-          </div>
-          <div class="item orange" @click="changeShow('jx1_GDC', 4)">
-            <div class="curStyle">
-              <div>· 检修</div>
-              <div>{{ sourceMap.gfwhnum || "---" }}</div>
+            <div class="item pink" @click="changeShow('xd1_GDC', 5)">
+              <div class="curStyle">
+                <div>· 限电</div>
+                <div>{{ sourceMap.gfxdnum || "---" }}</div>
+              </div>
             </div>
-          </div>
-          <div class="item write" @click="changeShow('sl1_GDC', 6)">
-            <div class="curStyle">
-              <div>· 受累</div>
-              <div>{{ sourceMap.gfslnum || "---" }}</div>
+            <div class="item red" @click="changeShow('gz1_GDC', 2)">
+              <div class="curStyle">
+                <div>· 故障</div>
+                <div>{{ sourceMap.gfgznum || "---" }}</div>
+              </div>
             </div>
-          </div>
-          <div class="item gray curStyle" @click="changeShow('lx1_GDC', 3)">
-            <div class="curStyle">
-              <div>· 离线</div>
-              <div>{{ sourceMap.gflxnum || "---" }}</div>
+            <div class="item orange" @click="changeShow('jx1_GDC', 4)">
+              <div class="curStyle">
+                <div>· 检修</div>
+                <div>{{ sourceMap.gfwhnum || "---" }}</div>
+              </div>
+            </div>
+            <div class="item write" @click="changeShow('sl1_GDC', 6)">
+              <div class="curStyle">
+                <div>· 受累</div>
+                <div>{{ sourceMap.gfslnum || "---" }}</div>
+              </div>
+            </div>
+            <div class="item gray curStyle" @click="changeShow('lx1_GDC', 3)">
+              <div class="curStyle">
+                <div>· 离线</div>
+                <div>{{ sourceMap.gflxnum || "---" }}</div>
+              </div>
             </div>
           </div>
-        </div>
-      </Col>
-    </Row>
-    <div class="panel-box">
-      <div v-for="(pItem, pIndex) in sourceMap.fjmap" :key="pIndex">
-        <div class="panel-title" v-if="sourceMap.fjmap[pIndex][0].wpId.includes('FDC')">
-          <div class="panel-title-name">
-            <i class="svg-icon svg-icon-sm svg-icon-green">
-              <SvgIcon :svgid="'svg-wind-site'"></SvgIcon>
-            </i>
-            <span>{{
-              sourceMap.fczbmap[sourceMap.fjmap[pIndex][0].wpId].name ||
+        </Col>
+      </Row>
+      <div class="panel-box">
+        <div v-for="(pItem, pIndex) in sourceMap.fjmap" :key="pIndex">
+          <div
+            class="panel-title"
+            v-if="sourceMap.fjmap[pIndex][0].wpId.includes('FDC')"
+          >
+            <div class="panel-title-name">
+              <i class="svg-icon svg-icon-sm svg-icon-green">
+                <SvgIcon :svgid="'svg-wind-site'"></SvgIcon>
+              </i>
+              <span>{{
+                sourceMap.fczbmap[sourceMap.fjmap[pIndex][0].wpId].name ||
                 "------"
-            }}</span>
-            <div
-              class="sub-title-item"
-              v-for="(fcItem, fcIndex) in fcStateArray"
-              :key="fcIndex"
-            > 
+              }}</span>
+              <div
+                class="sub-title-item"
+                v-for="(fcItem, fcIndex) in fcStateArray"
+                :key="fcIndex"
+              >
                 <span class="sub-title">{{ fcItem.text }}</span>
                 <span class="sub-count" :class="fcItem.color">{{
                   sourceMap.fczbmap[sourceMap.fjmap[pIndex][0].wpId][fcItem.key]
                 }}</span>
+              </div>
             </div>
           </div>
-        </div>
-        <div class="panel-title" v-if="sourceMap.fjmap[pIndex][0].wpId.includes('GDC')">
-          <div class="panel-title-name">
-            <i class="svg-icon svg-icon-sm svg-icon-green">
-              <SvgIcon :svgid="'svg-wind-site'"></SvgIcon>
-            </i>
-            <span>{{
-              sourceMap.fczbmap[sourceMap.fjmap[pIndex][0].wpId].name ||
+          <div
+            class="panel-title"
+            v-if="sourceMap.fjmap[pIndex][0].wpId.includes('GDC')"
+          >
+            <div class="panel-title-name">
+              <i class="svg-icon svg-icon-sm svg-icon-green">
+                <SvgIcon :svgid="'svg-wind-site'"></SvgIcon>
+              </i>
+              <span>{{
+                sourceMap.fczbmap[sourceMap.fjmap[pIndex][0].wpId].name ||
                 "------"
-            }}</span>
-            <div
-              class="sub-title-item"
-              v-for="(fcItem, fcIndex) in fcStateArray1"
-              :key="fcIndex"
-            > 
+              }}</span>
+              <div
+                class="sub-title-item"
+                v-for="(fcItem, fcIndex) in fcStateArray1"
+                :key="fcIndex"
+              >
                 <span class="sub-title">{{ fcItem.text }}</span>
                 <span class="sub-count" :class="fcItem.color">{{
                   sourceMap.fczbmap[sourceMap.fjmap[pIndex][0].wpId][fcItem.key]
                 }}</span>
+              </div>
             </div>
           </div>
-        </div>
-        <div class="panel-body">
-          <div
-            class="card"
-            v-for="(cItem, cIndex) of pItem"
-            :key="cIndex"
-            v-show="cItem.isShow"
-            :class="cItem.color"
-            @click="goDetails(cItem)"
-          >
-            {{ cItem.wtId.substring(cItem.wtId.length - 3) }}
+          <div class="panel-body">
+            <div
+              class="card"
+              v-for="(cItem, cIndex) of pItem"
+              :key="cIndex"
+              v-show="cItem.isShow"
+              :class="cItem.color"
+              @click="goDetails(cItem)"
+            >
+              {{ cItem.wtId.substring(cItem.wtId.length - 3) }}
+            </div>
+            <!-- 站位用 保证卡片布局最后一行不会有问题 -->
+            <i class="blank" v-for="i in pItem.length" :key="i"></i>
+            <!-- <i class="blank" v-for="i in pItem.length" :key="i"></i> -->
           </div>
-          <!-- 站位用 保证卡片布局最后一行不会有问题 -->
-          <i class="blank" v-for="i in pItem.length" :key="i"></i>
         </div>
       </div>
     </div>
-  </div>
   </el-scrollbar>
 </template>
 
@@ -411,8 +418,8 @@ export default {
       //     this.fillCategory = null;
       //     this.fillFjzt = null;
       //   } else {
-          this.fillCategory = category;
-          this.fillFjzt = fjzt;
+      this.fillCategory = category;
+      this.fillFjzt = fjzt;
       //   }
       // }
 
@@ -467,7 +474,6 @@ export default {
           this.sourceMap = {};
         }
       });
-      
     },
 
     // 查看风机详情
@@ -734,14 +740,17 @@ export default {
       justify-content: flex-start;
 
       .blank {
-        margin-right: 2px;
-        flex: 1 0 40px;
+        margin-right: 5px;
+        flex: 1 0 42px;
       }
 
       .card {
-        margin-right: 2px;
+        text-align: center;
+        height: 20px;
+        line-height: 20px;
+        margin-right: 5.2px;
         margin-top: 2px;
-        flex: 1 0 40px;
+        flex: 1 0 120px;
         cursor: pointer;
       }
 

+ 18 - 16
src/views/NewPages/dj1.vue

@@ -127,20 +127,21 @@
       </panel>
       <div class="table-info">
         <panel class="table-panel" :title="'当日报警记录'" :showLine="false">
-          <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>
+          <Table :data="warnTableData" :canScroll="true" :height="'25.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="'30.5vh'" />
+          <Table :data="stopTableData" :canScroll="true" :height="'25.5vh'" />
           <div class="page-box">
             <el-pagination
               v-show="GzjllistTotal != 0"
@@ -153,7 +154,7 @@
           </div>
         </panel>
         <panel class="table-panel" :title="'当日限电记录'" :showLine="false">
-          <Table :data="xdTableData" :canScroll="true" :height="'30.5vh'" />
+          <Table :data="xdTableData" :canScroll="true" :height="'25.5vh'" />
           <div class="page-box">
             <el-pagination
               v-show="XdjllistTotal != 0"
@@ -1285,7 +1286,7 @@ export default {
           wtId: this.wtId,
           recorddate: this.recorddate,
           pageNum: this.BpageNum,
-          pageSize: 11,
+          pageSize: 9,
         })
         .then((res) => {
           res.data.list.forEach((ele) => {
@@ -1303,7 +1304,7 @@ export default {
       api
         .goodnessGzjllist({
           pageNum: this.GpageNum,
-          pageSize: 11,
+          pageSize:9,
           wtId: this.wtId,
           recorddate: this.recorddate,
         })
@@ -1349,7 +1350,7 @@ export default {
           wtId: this.wtId,
           recorddate: this.recorddate,
           pageNum: this.XpageNum,
-          pageSize: 11,
+          pageSize: 9,
         })
         .then((res) => {
           res.data.list.forEach((ele) => {
@@ -1978,6 +1979,7 @@ export default {
   .tab-5 {
     .panel-body {
       padding: 16px;
+      // height: 50px;
     }
   }
 }

+ 2 - 2
src/views/NewPages/form.vue

@@ -95,7 +95,7 @@ export default {
     handleClick(row) {},
     back() {
       this.$router.push({
-        path: "/decision/statisticAnalysis",
+        path: "/others/statisticAnalysis",
         query: {
           theday: this.timeNow.theday,
           wpid: this.timeNow.wpid,
@@ -106,7 +106,7 @@ export default {
     },
     blackCZ() {
       this.$router.push({
-        path: "/decision/statisticAnalysis/station",
+        path: "/others/statisticAnalysis/station",
         query: {
           theday: this.timeNow.theday,
           wpid: this.timeNow.wpid,

+ 14 - 8
src/views/NewPages/power-benchmarking.vue

@@ -13,7 +13,7 @@
         </div>
         <div class="info">
           <div class="title">累计增发电量</div>
-          <div class="value">{{ increasescapacity }}</div>
+          <div class="value">0</div>
           <div class="unit">万kWh</div>
         </div>
       </div>
@@ -288,7 +288,7 @@
               </div>
             </div> -->
           </div>
-          <div class="header-right">
+          <!-- <div class="header-right">
             <div
               class="right-btn"
               :class="{ active: btnIndex == 0 }"
@@ -296,9 +296,9 @@
             >
               风电
             </div>
-            <!-- <div class="right-btn" :class="{ active: btnIndex == 1 }" @click="rightBtnClick(1)">光伏</div> -->
+            <div class="right-btn" :class="{ active: btnIndex == 1 }" @click="rightBtnClick(1)">光伏</div>
             <span class="right-btn">光伏</span>
-          </div>
+          </div> -->
         </div>
         <group-table
           :customClass="'table'"
@@ -355,8 +355,8 @@ export default {
     return {
       selecttionIndex: 2,
       btnIndex: 0,
-      increasescapacity: 0, //增发电量
-      ChangZhan:[],
+      increasescapacity: 0, //累计增发电量{{ increasescapacity }}
+      ChangZhan: [],
       analyselist: [
         //理论平衡分析法
         { name: "风能利用率", label: "windenergy" },
@@ -384,7 +384,7 @@ export default {
             name: "",
             child: [
               {
-                name: "区域公司",
+                name: "场站",
                 field: "name",
                 width: 80,
               },
@@ -656,7 +656,9 @@ export default {
         .then((res) => {
           if (res.code == 200) {
             res.data.forEach((item) => {
-              item.name = this.ChangZhan.filter(val => item.foreignkeyid === val.id)[0].name
+              item.name = this.ChangZhan.filter(
+                (val) => item.foreignkeyid === val.id
+              )[0].name;
               item.mark = this.filter(item.mark);
               item.theoreticalpower = this.filter(item.theoreticalpower);
               item.actualpower = this.filter(item.actualpower);
@@ -874,6 +876,10 @@ export default {
               ),
             };
             item.push(obj);
+
+            res.data.forEach(function (x) {
+              x.name = x.name.slice(0, 2);
+            });
             this.eltableData.data = res.data;
             this.setRank();
             this.echartData(this.eltableData.column[1].child.slice(3));

+ 2 - 2
src/views/NewPages/station.vue

@@ -122,7 +122,7 @@ export default {
     },
     back() {
       this.$router.push({
-        path: "/decision/statisticAnalysis",
+        path: "/others/statisticAnalysis",
         query: {
           theday: this.timeNow.theday,
           wpid: this.timeNow.wpid,
@@ -133,7 +133,7 @@ export default {
     },
     backForm() {
       this.$router.push({
-        path: "/decision/statisticAnalysis/form",
+        path: "/others/statisticAnalysis/form",
         query: {
           theday: this.timeNow.theday,
           wpid: this.timeNow.wpid,

+ 2 - 2
src/views/NewPages/statisticAnalysis.vue

@@ -94,7 +94,7 @@ export default {
   methods: {
     handleClickCZ(row) {
       this.$router.push({
-        path: "/decision/statisticAnalysis/station",
+        path: "/others/statisticAnalysis/station",
         query: {
           wpid: row.wpid,
           theday: row.theday,
@@ -106,7 +106,7 @@ export default {
     },
     handleClickForm(row) {
       this.$router.push({
-        path: "/decision/statisticAnalysis/form",
+        path: "/others/statisticAnalysis/form",
         query: {
           wpid: row.wpid, 
           theday: row.theday,

+ 12 - 6
src/views/Status/Status.vue

@@ -1,5 +1,7 @@
 <template>
   <div class="status">
+
+
     <div class="panel-box">
       <StatusPanel
         class="panel-item"
@@ -9,15 +11,17 @@
       ></StatusPanel>
       <!-- <StatusPanelStatic class="panel-item" /> -->
     </div>
+
+
     <div class="table-box">
       <ComTable :data="tableData"></ComTable>
     </div>
-    <div class="table-box">
+    <!-- <div class="table-box">
       <ComTable1 :data="tableData1"></ComTable1>
     </div>
     <div class="table-box">
       <ComTable1 :data="tableData2"></ComTable1>
-    </div>
+    </div> -->
   </div>
 </template>
 
@@ -58,7 +62,7 @@ export default {
         column: [
           {
             name: "场站名称",
-            field: "address",
+            field: "wpName",
             unit: "",
             is_num: false,
             is_light: false,
@@ -203,7 +207,7 @@ export default {
         column: [
           {
             // name: "场站名称",
-            field: "address",
+            field: "wpName",
             unit: "",
             is_num: false,
             is_light: false,
@@ -640,6 +644,7 @@ export default {
             this.tableData.data = data;
             this.tableData1.data = data1;
             this.tableData2.data = data2;
+            console.log('data1',data1,'data2',data2);
           } else {
             this.sourceMap = {};
             this.datas = [];
@@ -692,9 +697,10 @@ export default {
     flex-wrap: wrap;
 
     .panel-item {
-      width: calc(20% - 1.185vh);
-      margin-left: 1.481vh;
+      width: calc(49.3% - 1.185vh);
+      margin-right: 2.4vh;
       margin-bottom: 1.481vh;
+      height: 320px;
 
       &:nth-child(5n + 1) {
         margin-left: 0;

+ 107 - 6
src/views/Status/components/status-panel.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="status-panel">
     <div class="pause" v-if="data.breakOff">中断</div>
-    <ComPanel class="status-com-panel" :title="data.title">
-      <div class="p-body">
+     <ComPanel class="status-com-panel" :title="data.title">
+    <!-- <div class="p-body">
         <div class="category-box">
           <div class="score">
             <span>{{ data.category.score }}</span>
@@ -23,8 +23,50 @@
             <div class="f5">{{ item.f5 }}</div>
           </div>
         </div>
-      </div>
-    </ComPanel>
+      </div> -->
+
+
+  <el-table
+    :data="tableData"
+    style="width: 100%">
+    <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 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="address"
+          label="地址"
+          width="300">
+        </el-table-column>
+        <el-table-column
+          prop="zip"
+          label="邮编"
+          width="120">
+        </el-table-column>
+      </el-table-column>
+    </el-table-column>
+  </el-table>
+
+
+  </ComPanel> 
   </div>
 </template>
 
@@ -71,7 +113,58 @@ export default {
   },
   // 数据
   data() {
-    return {};
+    return {
+       tableData: [{
+          date: '2016-05-03',
+          name: '王小虎',
+          province: '上海',
+          city: '普陀区',
+          address: '上海市普陀区金沙江路 1518 弄',
+          zip: 200333
+        }, {
+          date: '2016-05-02',
+          name: '王小虎',
+          province: '上海',
+          city: '普陀区',
+          address: '上海市普陀区金沙江路 1518 弄',
+          zip: 200333
+        }, {
+          date: '2016-05-04',
+          name: '王小虎',
+          province: '上海',
+          city: '普陀区',
+          address: '上海市普陀区金沙江路 1518 弄',
+          zip: 200333
+        }, {
+          date: '2016-05-01',
+          name: '王小虎',
+          province: '上海',
+          city: '普陀区',
+          address: '上海市普陀区金沙江路 1518 弄',
+          zip: 200333
+        }, {
+          date: '2016-05-08',
+          name: '王小虎',
+          province: '上海',
+          city: '普陀区',
+          address: '上海市普陀区金沙江路 1518 弄',
+          zip: 200333
+        }, {
+          date: '2016-05-06',
+          name: '王小虎',
+          province: '上海',
+          city: '普陀区',
+          address: '上海市普陀区金沙江路 1518 弄',
+          zip: 200333
+        }, {
+          date: '2016-05-07',
+          name: '王小虎',
+          province: '上海',
+          city: '普陀区',
+          address: '上海市普陀区金沙江路 1518 弄',
+          zip: 200333
+        }]
+    };
   },
   // 函数
   methods: {
@@ -135,7 +228,7 @@ export default {
 
     .p-body {
       width: 100%;
-      height: 19.074vh;
+      height: 27vh;
       display: flex;
       flex-direction: column;
       margin-top: -0.926vh;
@@ -215,6 +308,9 @@ export default {
             color: @gray;
             justify-content: flex-end;
           }
+           .f1{
+             font-size: 1.6vh;
+           }
 
           .f3,
           .f5 {
@@ -246,6 +342,11 @@ export default {
             flex: 2;
             margin-right: 0;
           }
+           .f3,.f5{
+             color: #05bb4c!important;
+              font-size: 1.34vh;
+                  margin-left: 30px!important;
+           }
 
           &.light {
             background-color: fade(@darkgray, 50%);

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

@@ -21,7 +21,7 @@
     </ul> -->
     <ul class="header-menu-user">
       <li class="header-menu-user-title">
-        <span class="el-dropdown-link"> <i class="fa fa-user"></i>登录</span>
+        <!-- <span class="el-dropdown-link"> <i class="fa fa-user"></i>登录</span> -->
         <el-dropdown
           size="small"
           trigger="hover"

+ 11 - 11
src/views/layout/Menu.vue

@@ -171,21 +171,21 @@ export default {
                   icon: "svg-wind-site",
                   path: "/decision/decision3",
                 },
-                {
-                  text: "值际对标",
-                  icon: "svg-wind-site",
-                  path: "/decision/decision4",
-                },
+                // {
+                //   text: "值际对标",
+                //   icon: "svg-wind-site",
+                //   path: "/decision/decision4",
+                // },
                 {
                   text: "单机横向对比",
                   icon: "svg-matrix",
                   path: "/decision/decision3db",
                 },
-                {
-                  text: "操作指令统计",
-                  icon: "svg-matrix",
-                  path: "/decision/decision4czzl",
-                },
+                // {
+                //   text: "操作指令统计",
+                //   icon: "svg-matrix",
+                //   path: "/decision/decision4czzl",
+                // },
               ],
             },
             {
@@ -470,7 +470,7 @@ export default {
                 {
                   text: "劣化状态分析",
                   icon: "svg-q曲线",
-                  path: "/health/healthLineChart/MHS_FDC/MG01_01",
+                  path: "/health/healthLineChart/CL_FDC/CL01_001",
                 },
               ],
             },

+ 9 - 6
src/views/realSearch/index.vue

@@ -46,7 +46,11 @@
     </div>
     <div class="searchPage">
       <div style="width: 200px; height: 100vh">
-        <CollapseList :list="menus" @click="clickMenu" @onClick="handleClick"/>
+        <CollapseList
+          :list="menus"
+          @click="clickMenu"
+          @onClick="handleClick"
+        />
       </div>
       <div class="df-table">
         <ComTable
@@ -364,10 +368,9 @@ export default {
             JSFW = ele;
           }
         });
-        this.menus.push(JSFW,CL_FDC, KB_FDC, DX_FDC, SY_FDC);
+        this.menus.push(JSFW, CL_FDC, KB_FDC, DX_FDC, SY_FDC);
       });
     },
-   
 
     // 获取表格数据
     getTableData() {
@@ -619,11 +622,11 @@ export default {
 
     // 点击左侧菜单
     clickMenu(item) {
-      console.log(item);
+      // console.log(item);
       this.tableid = item.tableid;
       this.getTableData();
     },
-    handleClick(){
+    handleClick() {
       this.tableid = "JSFW";
       this.getTableData();
     },
@@ -639,7 +642,7 @@ export default {
   padding: 7px;
   box-sizing: border-box;
   padding-left: 14px;
-  cursor:pointer; 
+  cursor: pointer;
 }
 .jsfw:hover {
   color: #fff;

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

@@ -32,7 +32,7 @@
 			</div>
 		</div>
 		<div class="table-box">
-			<div class="title">升压站报警</div>
+			<div class="title">气象数据</div>
 			<ComTable
 			  ref="curRef"
 			  :data="tableData"