Ver código fonte

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

Koishi 3 anos atrás
pai
commit
42e33504d8

+ 13 - 10
src/views/HealthControl/Health0.vue

@@ -62,11 +62,11 @@
             </span>
             <div class="fan-code">
               <div class="fan-code-text font-md green">{{value2}}</div>
-              <div class="fan-code-label font-md gray-l">高频:</div>
+              <div class="fan-code-label font-md gray-l" style="margin-left:20px">高频:</div>
               <div class="fan-code-value font-md green">{{stoptypemap && stoptypemap.top1type}}</div>
-              <div class="fan-code-label font-md gray-l">中频:</div>
+              <div class="fan-code-label font-md gray-l" style="margin-left:100px">中频:</div>
               <div class="fan-code-value font-md green">{{stoptypemap && stoptypemap.top2type}}</div>
-              <div class="fan-code-label font-md gray-l">低频:</div>
+              <div class="fan-code-label font-md gray-l" style="margin-left:65px">低频:</div>
               <div class="fan-code-value font-md green">{{stoptypemap && stoptypemap.top3type}}</div>
             </div>
             <!-- <span class="svg-icon svg-icon-white svg-icon-md mg-l-16">
@@ -810,6 +810,7 @@ export default {
              wtId : this.value2
         },
         success(res) {
+          console.log('findWtHealthInfo:',res)
           that.yxtableData.data = res.data.bjyxls;
           that.tableData2.data =  res.data.djpgls;
         },
@@ -848,6 +849,7 @@ export default {
     align-items: center;
 
     .fan-code {
+      width:76%;
       display: flex;
       align-items: center;
       background: #53626833;
@@ -865,20 +867,21 @@ export default {
             .fan-code-text {
                 padding-right: 20px;
                 border-right: 1px solid #536268;
-                overflow: hidden;
-                text-overflow:ellipsis;
+                // overflow: hidden;
+                // text-overflow:ellipsis;
                 white-space: nowrap;
             }
 
             .fan-code-label {
-                margin-left: 20px;
-                min-width: 50px;
+                // margin-left: 20px;
+                // min-width: 50px;
+                min-width:41px;
             }
 
             .fan-code-value {
-                margin-left: 20px;
-                overflow: hidden;
-                text-overflow:ellipsis;
+                // margin-left: 20px;
+                // overflow: hidden;
+                // text-overflow:ellipsis;
                 white-space: nowrap;
                 max-width: 112px;
 

+ 8 - 1
src/views/HealthControl/HealthTab4.vue

@@ -77,12 +77,19 @@
       <ComTable :data="tableData" height="80vh"></ComTable>
     </div>
     <div class="dialog-box">
-      <el-dialog
+      <!-- <el-dialog
         title="日信息对比"
         v-model="dialogVisible"
         width="1200px"
         custom-class="modal"
         :close-on-click-modal="false"
+      > -->
+         <el-dialog
+        title="消缺跟踪"
+        v-model="dialogVisible"
+        width="1200px"
+        custom-class="modal"
+        :close-on-click-modal="false"
       >
         <info-history :formdata="trackDate"/>
       </el-dialog>

+ 3 - 2
src/views/HealthControl/infotrack.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="track-info">
-    <div class="form-info">
+    <div class="form-info" style="flex:none">
       <div class="work-flow">
         <div class="work-flow-line"></div>
         <div :class="['work-flow-item', item.name == statu(form) ? 'active' : '']" v-for="(item, i) in svgarr" :key="i">
@@ -353,7 +353,8 @@ export default {
 .track-info {
   display: flex;
   .form-info {
-    flex: 0 0 720px;
+    width: 100%;
+    // flex: 0 0 720px;
     .work-flow {
       height: 132px;
       width: 100%;

+ 2 - 1
src/views/LightMatrix/LightMatrix.vue

@@ -45,7 +45,8 @@
               <!-- <span class="text">{{ data.text1 }}</span> -->
             </div>
             <div class="panel-right" >
-              <span class="text">台数</span>
+              <!-- <span class="text">台数</span> -->
+                <span class="text">{{data.name}}</span>
               <span class="value">
                 {{ sourceMap[data.key1] || "---" }}
               </span>

+ 2 - 0
src/views/NewPages/alarm-center-1.vue

@@ -264,6 +264,7 @@ export default {
       });
       ////////
       const resData = data.data;
+      console.log('resData:',resData)
       // const resData =this.resdata;
       const column = this.columnObj;
       let dataAll = []; // 总数据集合
@@ -345,6 +346,7 @@ export default {
           root[f].fobj = fobj;
         }
       }
+      console.log('cascaderOptions:',cascaderOptions)
       this.cascaderOptions = cascaderOptions;
     },
   },

+ 3 - 1
src/views/NewPages/area-line-chart.vue

@@ -368,7 +368,9 @@ export default {
             },
           },
         ],
-        yAxis: [
+        yAxis: [{
+           type: "value",
+        },
           {
             type: "value",
             name: this.units[0],

+ 304 - 0
src/views/NewPages/arrow-line-chart.vue

@@ -0,0 +1,304 @@
+<template>
+  <div class="chart" :id="id"></div>
+</template>
+
+<script>
+import util from "@/helper/util.js";
+import partten from "@/helper/partten.js";
+import * as echarts from "echarts";
+
+export default {
+  name: "normal-line-chart",
+  componentName: "normal-line-chart",
+  props: {
+    width: {
+      type: String,
+      default: "100%",
+    },
+    height: {
+      type: String,
+      default: "13.889vh",
+    },
+    // 数据
+    list: {
+      type: Array,
+      default: () => [
+        {
+          title: "日发电量",
+          yAxisIndex: 0,
+          value: [
+            {
+              text: "1",
+              value: 1,
+            },
+            {
+              text: "2",
+              value: 2,
+            },
+            {
+              text: "3",
+              value: 1,
+            },
+            {
+              text: "4",
+              value: 3,
+            },
+            {
+              text: "5",
+              value: 3,
+            },
+            {
+              text: "6",
+              value: 3,
+            },
+            {
+              text: "7",
+              value: 3,
+            },
+            {
+              text: "8",
+              value: 3,
+            },
+            {
+              text: "9",
+              value: 3,
+            },
+            {
+              text: "10",
+              value: 3,
+            },
+            {
+              text: "11",
+              value: 3,
+            },
+            {
+              text: "12",
+              value: 3,
+            },
+            {
+              text: "13",
+              value: 3,
+            },
+            {
+              text: "14",
+              value: 3,
+            },
+            {
+              text: "15",
+              value: 3,
+            },
+            {
+              text: "16",
+              value: 3,
+            },
+          ],
+        },
+        {
+          title: "上网电量",
+          yAxisIndex: 0,
+          value: [
+            {
+              text: "1",
+              value: 1,
+            },
+            {
+              text: "2",
+              value: 2,
+            },
+            {
+              text: "3",
+              value: 1,
+            },
+            {
+              text: "4",
+              value: 3,
+            },
+            {
+              text: "5",
+              value: 2,
+            },
+            {
+              text: "6",
+              value: 2,
+            },
+            {
+              text: "7",
+              value: 2,
+            },
+          ],
+        },
+      ],
+    },
+    // 单位
+    units: {
+      type: Array,
+      default: () => ["(MW)"],
+    },
+    showLegend: {
+      type: Boolean,
+      default: true,
+    },
+  },
+  data() {
+    return {
+      id: "",
+      chart: null,
+      color: ["#05bb4c", "#4b55ae", "#fa8c16", "#f8de5b"],
+    };
+  },
+  computed: {
+    legend() {
+      return this.list.map((t) => {
+        return t.title;
+      });
+    },
+    xdata() {
+      return this.list[0].value.map((t) => {
+        return t.text;
+      });
+    },
+    yAxis() {
+      let result = [];
+      this.units.forEach((value, index) => {
+        result.push({
+          type: "value",
+          name: value,
+          axisLabel: {
+            formatter: "{value}",
+            fontSize: util.vh(14),
+          },
+          //分格线
+          splitLine: {
+            lineStyle: {
+              color: partten.getColor("gray") + 55,
+              type: "dashed",
+            },
+          },
+        });
+      });
+
+      return result;
+    },
+    series() {
+      let result = [];
+
+      this.list.forEach((value, index) => {
+        var data = value.value.map((t) => {
+          return t.value;
+        });
+        const lastvalue = data[data.length - 1];
+        data[data.length - 1] = {
+          symbol: "arrow",
+          symbolSize: 12,
+          symbolRotate: -90,
+          value: lastvalue,
+        };
+
+        result.push({
+          name: value.title,
+          type: "line",
+          smooth: true,
+          zlevel: index,
+          lineStyle: {
+            normal: {
+              color: this.color[index],
+              width: 1,
+            },
+          },
+          yAxisIndex: value.yAxisIndex,
+          data: data,
+        });
+      });
+
+      return result;
+    },
+  },
+  methods: {
+    initChart() {
+      const chart = echarts.init(this.$el);
+
+      let option = {
+        color: this.color,
+        tooltip: {
+          trigger: "axis",
+          backgroundColor: "rgba(0,0,0,0.4)",
+          borderColor: partten.getColor("gray"),
+          textStyle: {
+            color: "#fff",
+            fontSize: util.vh(16),
+          },
+        },
+        legend: {
+          show: this.showLegend,
+          data: this.legend,
+          right: 90,
+          icon: "circle",
+          itemWidth: 6,
+          inactiveColor: partten.getColor("gray"),
+          textStyle: {
+            color: partten.getColor("grayl"),
+            fontSize: 12,
+          },
+        },
+        grid: {
+          top: util.vh(30),
+          left: util.vh(42),
+          right: util.vh(40),
+          bottom: util.vh(24),
+        },
+        xAxis: [
+          {
+            type: "category",
+            boundaryGap: false,
+            axisLabel: {
+              formatter: "{value}",
+              fontSize: util.vh(14),
+              textStyle: {
+                color: partten.getColor("gray"),
+              },
+            },
+            data: this.xdata,
+          },
+        ],
+        yAxis: this.yAxis,
+        series: this.series,
+      };
+
+      chart.clear();
+      chart.setOption(option);
+
+      this.resize = function() {
+        chart.resize();
+      };
+
+      window.addEventListener("resize", this.resize);
+    },
+  },
+  created() {
+    this.id = "pie-chart-" + util.newGUID();
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.$el.style.width = this.width;
+      this.$el.style.height = this.height;
+      this.initChart();
+    });
+  },
+  updated() {
+    this.$nextTick(() => {
+      this.initChart();
+    });
+  },
+  unmounted() {
+    window.removeEventListener("resize", this.resize);
+  },
+};
+</script>
+
+<style lang="less">
+.chart {
+  width: 100%;
+  height: 100%;
+  display: inline-block;
+}
+</style>

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

@@ -725,7 +725,8 @@
 </template>
 
 <script>
-import AreaLineChart from "../../components/chart/combination/area-line-chart.vue";
+import AreaLineChart from "./area-line-chart.vue";
+// import AreaLineChart from "../../components/chart/combination/area-line-chart.vue";
 // import MultipleBarLineChart1 from "./multiple-bar-line-chart.vue";
 import MultipleBarLineChart from "../../components/chart/combination/multiple-bar-line-chart.vue";
 import MarkerLineChart from "../../components/chart/line/multiple-line-chart.vue";

+ 7 - 4
src/views/NewPages/forecast-system.vue

@@ -72,7 +72,7 @@
         </el-col>
         <el-col :span="19">
           <panel :title="'损失电量分析'">
-            <multiple-bar-line-chart :height="'100%'" 
+            <multiple-bar-line-chart  :height="'100%'" 
               :lineData="chart1Line" :barData="chart1Bar"
               :units="['功率(万kW)','电量(万kWh)']"/>
           </panel>
@@ -81,7 +81,7 @@
       <el-row class="bottom-charts">
         <el-col :span="12">
           <panel :title="'超短期风功率预测'">
-            <arrow-line-chart :height="'100%'"  :list="chart2List" :units="['功率(万kW)','风速(m/s)']"/>
+            <arrow-line-chart :width="'100%'"  :height="'100%'"  :list="chart2List" :units="['功率(万kW)','风速(m/s)']"/>
           </panel>
         </el-col>
         <el-col :span="12">
@@ -95,8 +95,10 @@
 </template>
 
 <script>
-import MultipleBarLineChart from "../../components/chart/combination/multiple-bar-line-chart.vue";
-import ArrowLineChart from "../../components/chart/line/arrow-line-chart.vue";
+// import MultipleBarLineChart from "../../components/chart/combination/multiple-bar-line-chart.vue";
+import MultipleBarLineChart from "./multiple-bar-line-chart1.vue";
+// import ArrowLineChart from "../../components/chart/line/arrow-line-chart.vue";
+import ArrowLineChart from "./arrow-line-chart.vue";
 import svgIcon from "../../components/coms/icon/svg-icon.vue";
 import Panel from "../../components/coms/panel/panel.vue";
 export default {
@@ -143,6 +145,7 @@ export default {
         data:{wpId:this.wpId}
       });
       if(res) {
+        console.log('resWeather:',res)
         this.weatherInfo = res.data.data;
       }
     },

+ 436 - 0
src/views/NewPages/multiple-bar-line-chart1.vue

@@ -0,0 +1,436 @@
+<template>
+  <div class="chart" :id="id"></div>
+</template>
+
+<script>
+import util from "@/helper/util.js";
+import partten from "@/helper/partten.js";
+import * as echarts from "echarts";
+
+export default {
+  name: "multiple-bar-chart",
+  componentName: "multiple-bar-chart",
+  props: {
+    width: {
+      type: String,
+      default: "100%",
+    },
+    height: {
+      type: String,
+      default: "13.889vh",
+    },
+    // 传入数据
+    barData: {
+      type: Array,
+      default: () => [
+        {
+          title: "日发电量",
+          yAxisIndex: 0,
+          value: [
+            {
+              text: "1日",
+              value: 1,
+            },
+            {
+              text: "2日",
+              value: 2,
+            },
+            {
+              text: "3日",
+              value: 1,
+            },
+            {
+              text: "4日",
+              value: 3,
+            },
+            {
+              text: "5日",
+              value: 3,
+            },
+            {
+              text: "6日",
+              value: 3,
+            },
+            {
+              text: "7日",
+              value: 3,
+            },
+          ],
+        },
+        {
+          title: "上网电量",
+          yAxisIndex: 0,
+          value: [
+            {
+              text: "1日",
+              value: 1,
+            },
+            {
+              text: "2日",
+              value: 2,
+            },
+            {
+              text: "3日",
+              value: 1,
+            },
+            {
+              text: "4日",
+              value: 3,
+            },
+            {
+              text: "5日",
+              value: 3,
+            },
+            {
+              text: "6日",
+              value: 3,
+            },
+            {
+              text: "7日",
+              value: 3,
+            },
+          ],
+        },
+        {
+          title: "购网电量",
+          yAxisIndex: 0,
+          value: [
+            {
+              text: "1日",
+              value: 1,
+            },
+            {
+              text: "2日",
+              value: 2,
+            },
+            {
+              text: "3日",
+              value: 1,
+            },
+            {
+              text: "4日",
+              value: 3,
+            },
+            {
+              text: "5日",
+              value: 3,
+            },
+            {
+              text: "6日",
+              value: 3,
+            },
+            {
+              text: "7日",
+              value: 3,
+            },
+          ],
+        },
+        {
+          title: "风速",
+          yAxisIndex: 1,
+          value: [
+            {
+              text: "1日",
+              value: 1,
+            },
+            {
+              text: "2日",
+              value: 2,
+            },
+            {
+              text: "3日",
+              value: 1,
+            },
+            {
+              text: "4日",
+              value: 3,
+            },
+            {
+              text: "5日",
+              value: 3,
+            },
+            {
+              text: "6日",
+              value: 3,
+            },
+            {
+              text: "7日",
+              value: 3,
+            },
+          ],
+        },
+      ],
+    },
+    lineData: {
+      type: Object,
+      default: () => {
+        return {
+          name: "风速",
+          unit: "km",
+          data: [200, 800, 400, 500, 800, 700, 800, 900, 200],
+        };
+      },
+    },
+    // 单位
+    units: {
+      type: Array,
+      default: () => ["(万KWh)"],
+    },
+    // 显示 legend
+    showLegend: {
+      type: Boolean,
+      default: true,
+    },
+    // 颜色
+    color: {
+      type: Array,
+      default: () => [
+        "#05bb4c",
+        "#4b55ae",
+        "#fa8c16",
+        "#f8de5b",
+        "#1a93cf",
+        "#c531c7",
+        "#bd3338",
+      ],
+    },
+    showAnimation: {
+      type: Boolean,
+      default: true,
+    },
+  },
+  data() {
+    return {
+      id: "",
+      chart: null,
+      firstAnimation: true,
+      newbarData: null,
+    };
+  },
+  watch: {
+    barData: {
+      handler(newValue, oldValue) {
+        this.newbarData = newValue;
+        this.initChart();
+      },
+      deep: true,
+    },
+    lineData : {
+      handler(newValue, oldValue) {
+        this.newlineData = newValue;
+        this.initChart();
+      },
+      deep: true,
+    },
+  },
+  computed: {
+    legend() {
+      return this.newbarData.map((t) => {
+        return t.title;
+      });
+    },
+    xdata() {
+      let result = [];
+      if (
+        this.newbarData &&
+        this.newbarData.length > 0 &&
+        this.newbarData[0].value.length > 0
+      ) {
+        result = this.newbarData[0].value.map((t) => {
+          return t.text;
+        });
+      }
+      return result;
+    },
+    ydata() {
+      let result = [];
+      this.units.forEach((value, index) => {
+        console.log('yValue:',value)
+        let data = null;
+        if (index == 0) {
+          data = {
+            type: "value",
+            name: value,
+            axisLabel: {
+              formatter: "{value} ",
+              fontSize: 12,
+            },
+            //分格线
+            splitLine: {
+              lineStyle: {
+                color: "#5a6162",
+                type: "dashed",
+              },
+            },
+          };
+        } 
+        else {
+          data = {
+            type: "value",
+            name: value,
+            axisLabel: {
+              formatter: "{value}",
+              fontSize: 12,
+            },
+            //分格线
+            splitLine: {
+              show: false,
+            },
+          };
+        }
+
+        result.push(data);
+      });
+
+      return result;
+    },
+    series() {
+      let result = [];
+      if (this.newbarData && this.newbarData.length > 0) {
+        this.newbarData.forEach((value, index) => {
+          result.push({
+            name: value.title,
+            type: "bar",
+            barWidth: "10%",
+            animation: this.firstAnimation && this.showAnimation,
+            yAxisIndex: value.yAxisIndex,
+            data: value.value.map((t) => {
+              return t.value;
+            }),
+          });
+        });
+      }
+      return result;
+    },
+  },
+  methods: {
+    resize() {},
+    initChart() {
+      let chart = echarts.init(this.$el);
+
+      let option = {
+        color: this.color,
+        tooltip: {
+          trigger: "axis",
+          backgroundColor: "rgba(0,0,0,0.4)",
+          borderColor: partten.getColor("gray"),
+          textStyle: {
+            color: "#fff",
+            fontSize: 12,
+          },
+        },
+        legend: {
+          show: this.showLegend,
+          data: this.legend,
+          right: 90,
+          icon: "ract",
+          itemWidth: 8,
+          itemHeight: 8,
+          inactiveColor: partten.getColor("gray"),
+          textStyle: {
+            color: partten.getColor("grayl"),
+            fontSize: 12,
+          },
+        },
+        grid: {
+          top: 32,
+          left: 40,
+          right: this.ydata.length > 1 ? 40 : 14,
+          bottom: 24,
+        },
+        xAxis: [
+          {
+            type: "category",
+            data: this.xdata,
+            axisPointer: {
+              type: "shadow",
+            },
+            axisLabel: {
+              fontSize: 12,
+            },
+          },
+        ],
+        yAxis: this.ydata,
+        series: this.series,
+      };
+
+      // line data
+      // if (this.newlineData && this.newlineData.data.length > 0) {
+      //   option.yAxis.push({
+      //     type: "value",
+      //     name: this.newlineData.name,
+      //     axisLabel: {
+      //       formatter: "{value} ",
+      //       color: partten.getColor("gray"),
+      //     },
+      //     axisLine: {
+      //       show: false,
+      //     },
+      //     axisTick: {
+      //       show: false,
+      //     },
+      //     splitLine: {
+      //       show: false,
+      //       lineStyle: {
+      //         type: "dashed",
+      //         dashOffset: 10,
+      //         color: partten.getColor("gray") + 80,
+      //       },
+      //     },
+      //   });
+
+      //   option.series.push({
+      //     name: this.newlineData.name,
+      //     type: "line",
+      //     data: this.newlineData.data,
+      //     smooth: true, //平滑展示
+      //     yAxisIndex: option.yAxis.length - 1,
+      //     lineStyle: {
+      //       color: partten.getColor("yellow"),
+      //     },
+      //     itemStyle: {
+      //       color: partten.getColor("yellow"),
+      //     },
+      //   });
+      // }
+
+      chart.clear();
+      chart.setOption(option);
+
+      this.resize = function () {
+        chart.resize();
+      };
+
+      window.addEventListener("resize", this.resize);
+    },
+  },
+  created() {
+    this.id = "pie-chart-" + util.newGUID();
+    this.newbarData = this.barData;
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.$el.style.width = this.width;
+      this.$el.style.height = this.height;
+      this.initChart();
+      this.firstAnimation = false;
+    });
+  },
+  updated() {
+    this.$nextTick(() => {
+      this.initChart();
+    });
+  },
+  unmounted() {
+    window.removeEventListener("resize", this.resize);
+  },
+};
+</script>
+
+<style lang="less">
+.chart {
+  width: 100%;
+  height: 100%;
+  display: inline-block;
+}
+</style>

+ 1 - 0
src/views/SandTable/SandTable.vue

@@ -743,6 +743,7 @@ export default {
           stationid: that.wpId,
         },
         success(res) {
+			console.log(res)
           let warnChartData = [];
           for (let key in res.data) {
             const ele = res.data[key];

+ 4 - 2
src/views/Status/Status.vue

@@ -7,7 +7,7 @@
         :key="index"
         :data="data"
       ></StatusPanel>
-      <StatusPanelStatic class="panel-item" />
+      <!-- <StatusPanelStatic class="panel-item" /> -->
     </div>
     <div class="table-box">
       <ComTable :data="tableData"></ComTable>
@@ -47,7 +47,8 @@ export default {
       timmer: null, // 遮罩开关
       sourceMap: {}, // 核心数据
       datas: [],
-      wpId1: "",
+      // wpId1: "",
+      wpId:"",
       dwkGzqd: "",
       plGzqd: "",
       zhGzqd: "",
@@ -514,6 +515,7 @@ export default {
               that.wpId1 = sourceMap.vos.find((findEle) => {
                 return findEle.wpName === ele.name;
               }).wpId;
+              // console.log('wpid1:',that.wpId1)
               datas.push({
                 title: ele.name,
                 wpId: sourceMap.vos.find((findEle) => {

+ 1 - 0
src/views/Status/components/status-panel.vue

@@ -80,6 +80,7 @@ export default {
         path: `/monitor/windsite/home/${wpId}`,
         // query: { wpId: id },
       });
+      console.log('wpid:',wpId)
     },
   },
   // 生命周期钩子

+ 56 - 0
src/views/WindSite/components/boosterstation/BoosterStation.js

@@ -1852,6 +1852,62 @@ export class BoosterStation {
 			"xhsc314": { tag: "XHDQ.NX_GD_XHG_DQ_P1_L1_001_DI0024" },
 			"xhsc315": { tag: "XHDQ.NX_GD_XHG_DQ_P1_L1_001_DI0026" },
 			"xhsc317": { tag: "XHDQ.NX_GD_XHG_DQ_P1_L1_001_DI0030" },
+		},
+		'HZJ_GDC':{
+			'hzjuab':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0049"},
+			'hzjubc':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0050"},
+			'hzjuca':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0051"},
+			'hzjsc105':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI0312"},
+			'hzjkg1055':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI0323"},
+			'hzjkg10505':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI0339"},
+			'hzjkg10503':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI0341"},
+			'hzjkg1053':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI0331"},
+			'hzjkg1050':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI0343"},
+			'hzjkg1050150':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI0681"},
+			'hzjkg1050350':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI0683"},
+			'hzjla':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0046"},
+			'hzjp':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0052"},
+			'hzjq':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0053"},
+			'hzjdw':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0002"},
+			'hzjyw1':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0139"},
+			'hzjyw2':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0140"},
+			'hzjrw':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0141"},
+			'hzjuab2':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0017"},
+			'hzjubc2':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0018"},
+			'hzjuca2':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0019"},
+			'hzjdlq361':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1092"},
+			'hzjsc361':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1090"},
+			'hzjkg361':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1091"},
+			'hzjla361':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0295"},
+			'hzjp361':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0284"},
+			'hzjq361':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0285"},
+			'hzjdlq362':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1302"},
+			'hzjsc362':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1300"},
+			'hzjkg362':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1301"},
+			'hzjla362':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0339"},
+			'hzjp362':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0340"},
+			'hzjq362':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0341"},
+			'hzjdlq363':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1512"},
+			'hzjsc363':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1510"},
+			'hzjkg363':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1511"},
+			'hzjla363':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0383"},
+			'hzjp363':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0372"},
+			'hzjq363':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0373"},
+			'hzjdlq364':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1725"},
+			'hzjsc364':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1723"},
+			'hzjkg3640':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1727"},
+			'hzjkg3643':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1720"},
+			'hzjkg36403':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1721"},
+			'hzjdlq3645':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI1719"},
+			'hzjla364':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0433"},
+			'hzjp364':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0421"},
+			'hzjq364':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0422"},
+			'hzjsc369':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI0129"},
+			'hzjdlq305':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI0497"},
+			'hzjsc305':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_DI0495"},
+			'hzjla305':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0046"},
+			'hzjp305':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0052"},
+			'hzjq305':{tag: "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0053"}
 		}
 	}
 

+ 40 - 13
src/views/WindSite/pages/Home/Home.vue

@@ -7,8 +7,8 @@
       <div class="mg-b-16">
         <btn-group-double :btnGroups="btnGroups" :rowIndex="0" :index="1" @select="select" />
       </div>
-      <row v-if="paramsId.includes('FDC')">
-        <wind-site-weather :time="nowTime" :data="tqmap" />
+      <!-- <row v-if="paramsId.includes('FDC')">
+        <wind-site-weather :time="nowTime" :data="tqmap" :paramsId="resCode" />
         <panel-3 class="wind-site-info">
           <row align="middle">
             <div class="info-item">
@@ -155,9 +155,9 @@
             </div>
           </row>
         </panel-3>
-      </row>
-       <row v-if="paramsId.includes('GDC')">
-        <wind-site-weather :time="nowTime" :data="tqmap" />
+      </row> -->
+       <row >
+        <wind-site-weather :time="nowTime" :data="tqmap" :paramsId="resCode" />
         <panel-3 class="wind-site-info">
           <row align="middle">
             <div class="info-item">
@@ -187,7 +187,7 @@
             <div class="info-item">
               <div class="value">{{ jczbmap.ssfs }}</div>
               <!-- <div class="text">实时风速</div> -->
-              <div class="text">平均功率</div>
+              <div class="text">{{resCode.includes('FDC')?'实时风速':'平均功率'}} </div>
             </div>
             <div class="info-item">
               <div class="value">{{ jczbmap.sjgl }}</div>
@@ -197,12 +197,25 @@
         </panel-3>
         <panel-3 class="wind-running-info">
           <row align="middle">
-            <div class="fengji">
+            <div class="fengji" v-if=" resCode.indexOf('GDC') == -1  ">
               <div class="fengji-icon svg-icon svg-icon-white">
                 <svg-icon class="" svgid="svg-风机" />
               </div>
               <div class="info">
+                <div class="text green" >接入风机  </div>
+                 <!-- <div class="text green" v-if="resCode.includes('FDC') && resCode != ''">接入风机 </div>
+                  <div class="text green" v-else-if="resCode.includes('GDC') && resCode != ''">接入光伏 </div> -->
+                <div class="value">{{ jczbmap.jrts }}</div>
+              </div>
+            </div>
+            <div class="fengji"  v-else-if=" resCode.indexOf('FDC') == -1 ">
+              <div class="fengji-icon svg-icon svg-icon-white">
+                <svg-icon class="" svgid="svg-gf-matrix" />
+              </div>
+              <div class="info">
                 <div class="text green">接入光伏</div>
+                 <!-- <div class="text green" v-if="resCode.includes('FDC') && resCode != ''">接入风机 </div>
+                  <div class="text green" v-else-if="resCode.includes('GDC') && resCode != ''">接入光伏 </div> -->
                 <div class="value">{{ jczbmap.jrts }}</div>
               </div>
             </div>
@@ -313,11 +326,11 @@
           </panel>
         </div>
         <div class="mg-l-16" style="flex:1 1 auto;" ref="lineChart">
-          <panel title="4小时功率曲线图" v-if="paramsId.includes('FDC')">
+          <panel title="4小时功率曲线图" v-if="resCode.includes('FDC')">
             <multiple-line-chart height="18.519vh" v-if="Powertrend" :list="Powertrend.value" :units="Powertrend.units"
               :showLegend="true" />
           </panel>
-           <panel title="4小时功率曲线图" v-if="paramsId.includes('GDC')">
+           <panel title="4小时功率曲线图" v-if="resCode.includes('GDC')">
             <multiple-line-chart height="18.519vh" v-if="Powertrend1" :list="Powertrend1.value" :units="Powertrend1.units"
               :showLegend="true" />
           </panel>
@@ -550,7 +563,12 @@ export default {
         path: `/monitor/windsite/home/${res.code}`,
       });
       that.resCode = res.code;
-      console.log('resCode:',res)
+      // console.log('resCode:',that.resCode)
+      // console.log('ParamsId:',that.paramsId)
+       console.log('paramsId:',that.paramsId.indexOf('FDC'))
+    console.log('resCode:',that.resCode.indexOf('FDC'))
+    console.log('paramsId:',that.paramsId.indexOf('GDC'))
+    console.log('resCode:',that.resCode.indexOf('GDC'))
     },
     // 根据风机状态码返回对应 class
     getColor (fjzt) {
@@ -589,7 +607,7 @@ export default {
         },
         success (res) {
           if (res.data) {
-            console.log('resWpinfo:',res.data)
+            // console.log('resWpinfo:',res.data)
             that.tqmap = res.data.tqmap;
             that.tqmap.name = res.data.jczbmap.name
             that.tqmap.resCode = that.resCode
@@ -894,6 +912,11 @@ export default {
     let that = this;
     that.wpId = that.$route.params.wpId;
     that.paramsId = that.$route.params.wpId;
+    that.resCode = that.$route.params.wpId;
+    console.log('paramsId:',that.paramsId.indexOf('FDC'))
+    console.log('resCode:',that.resCode.indexOf('FDC'))
+    console.log('paramsId:',that.paramsId.indexOf('GDC'))
+    console.log('resCode:',that.resCode.indexOf('GDC'))
     that.$nextTick(() => {
       that.getWp();
       that.requestData(false);
@@ -931,13 +954,15 @@ export default {
 
 <style lang="less">
 .wind-site-home {
+	.wind-site-weather{width: 29%;}
   .first-info {
     display: flex;
   }
 
   .wind-site-info {
     margin-left: 0.7407vh;
-    flex: 1 0 auto;
+    // flex: 1 0 auto;
+	width: 33%;
     padding: 8px;
 
     & > .row {
@@ -1047,7 +1072,9 @@ export default {
   }
 
   .light-matrix-panel {
-    height: 100%;
+        width: 673px;
+    overflow-y:scroll;
+    height: 240px;
 
     .panel-body {
       height: 100%;

+ 3 - 2
src/views/WindSite/pages/Home/light-matrix.vue

@@ -46,6 +46,7 @@ export default {
         this.$el.style.width = "1000px";
       } else if (this.list.length > 168) {
         this.$el.style.width = "1168px";
+          // this.$el.style.width = "100%";
       }
       let myevent = new Event("resize");
       window.dispatchEvent(myevent);
@@ -77,7 +78,7 @@ export default {
   mounted() {
     // 渲染后
     this.$nextTick(() => {
-      this.calculateWidth();
+      // this.calculateWidth();
     });
   },
   beforeUpdate() {
@@ -86,7 +87,7 @@ export default {
   updated() {
     // 数据更新后
     this.$nextTick(() => {
-      this.calculateWidth();
+      // this.calculateWidth();
     });
   },
 };

+ 6 - 5
src/views/WindSite/pages/Home/wind-site-weather.vue

@@ -74,7 +74,8 @@ export default {
     data:{
       type:Object,
       default:() => { }
-    }
+    },
+    paramsId:'',
   },
   data() {
     return {
@@ -93,9 +94,9 @@ export default {
     };
   },
   created(){
-    let that = this;
-    that.paramsId = that.$route.params.wpId
-    console.log("paramsId:",that.$route.params.wpId)
+    // let that = this;
+    // that.paramsId = that.$route.params.wpId
+    // console.log("paramsId:",that.$route.params.wpId)
   },
   mounted(){
     this.sourceMap=this.data;
@@ -105,7 +106,7 @@ export default {
   watch:{
     data(res){
       this.sourceMap=res;
-       console.log('map:',this.sourceMap)
+      //  console.log('map:',this.sourceMap)
     },
     time(value){
       this.nowTime = value

+ 1 - 0
src/views/allLifeManage/tab3.vue

@@ -211,6 +211,7 @@ export default {
             pagesize: 50000
           },
           success (res) {
+            console.log('resTable:',res)
             that.tableData.data = res.data.records;
           }
         });

+ 304 - 0
src/views/singleAnalysis/double-line-chart.vue

@@ -0,0 +1,304 @@
+<template>
+  <div class="chart" :id="id"></div>
+</template>
+
+<script>
+import util from "@/helper/util.js";
+import partten from "@/helper/partten.js";
+import * as echarts from "echarts";
+
+export default {
+  name: "double-line-chart",
+  componentName: "double-line-chart",
+  props: {
+    width: {
+      type: String,
+      default: "100%",
+    },
+    height: {
+      type: String,
+      default: "13.889vh",
+    },
+    // 传入数据
+    list: {
+      type: Array,
+      default: () => [
+        {
+          title: "绿线",
+          smooth: true,
+          value: [
+            {
+              text: "",
+              value: 0,
+            },
+            {
+              text: "0:00",
+              value: 20,
+            },
+            {
+              text: "10:00",
+              value: 1,
+            },
+            {
+              text: "11:00",
+              value: 40,
+            },
+            {
+              text: "12:00",
+              value: 10,
+            },
+            {
+              text: "13:00",
+              value: 15,
+            },
+            {
+              text: "14:00",
+              value: 30,
+            },
+            {
+              text: "15:00",
+              value: 40,
+            },
+            {
+              text: "",
+              value: 10,
+            },
+          ],
+        },
+        {
+          title: "黄线",
+          smooth: true,
+          value: [
+            {
+              text: "",
+              value: 0,
+            },
+            {
+              text: "0:00",
+              value: 40,
+            },
+            {
+              text: "10:00",
+              value: 20,
+            },
+            {
+              text: "11:00",
+              value: 20,
+            },
+            {
+              text: "12:00",
+              value: 10,
+            },
+            {
+              text: "13:00",
+              value: 40,
+            },
+            {
+              text: "14:00",
+              value: 50,
+            },
+            {
+              text: "15:00",
+              value: 40,
+            },
+            {
+              text: "",
+              value: 10,
+            },
+          ],
+        },
+      ],
+    },
+    // 单位
+    unit: {
+      type: String,
+      // default: "",
+       default: () => ["(MW)"],
+    },
+    showLegend: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  data() {
+    return {
+      id: "",
+      chart: null,
+      color: ["#05bb4c", "#f8de5b", "#4b55ae", "#fa8c16", "#1DA0D7", "#DD5044"],
+      newlist: null,
+    };
+  },
+  watch: {
+    list: {
+      handler(newValue, oldValue) {
+        console.warn(newValue);
+        this.newlist = newValue;
+        this.$nextTick(() => {
+          this.initChart();
+        });
+      },
+      deep: true,
+    },
+  },
+  computed: {
+    colorValue() {
+      return partten.getColor(this.color);
+    },
+    datas() {
+      return this.newlist.map((t) => {
+        return t.value;
+      });
+    },
+    legend() {
+      if (this.newlist) {
+        return this.newlist.map((t) => {
+          return t.title;
+        });
+      }
+    },
+    xdata() {
+      return this.newlist[0].value.map((t) => {
+        return t.text;
+      });
+    },
+    series() {
+      let result = [];
+      this.newlist.forEach((value, index) => {
+        result.push({
+          name: value.title,
+          type: "line",
+          smooth: value.smooth,
+          showSymbol: false,
+          zlevel: index,
+          lineStyle: {
+            normal: {
+              color: this.color[index],
+              width: 1,
+            },
+          },
+          yAxisIndex: value.yAxisIndex,
+          data: value.value.map((t) => {
+            return t.value;
+          }),
+        });
+      });
+
+      return result;
+    },
+    yAxis() {
+      console.log('unit:',this.unit)
+      let result = [];
+      result.push({
+        type: "value",
+        name: 'kw',
+        axisLabel: {
+          formatter: "{value}",
+          fontSize: util.vh(14),
+        },
+        boundaryGap: false,
+        //分格线
+        splitLine: {
+          show: false,
+        },
+      });
+      return result;
+    },
+  },
+  methods: {
+    resize() {},
+    initChart() {
+      const chart = echarts.init(this.$el);
+
+      let option = {
+        color: this.color,
+        tooltip: {
+          trigger: "axis",
+          backgroundColor: "rgba(0,0,0,0.4)",
+          borderColor: partten.getColor("gray"),
+          textStyle: {
+            color: "#fff",
+            fontSize: util.vh(16),
+          },
+        },
+        legend: {
+          show: this.showLegend,
+          data: this.legend,
+          right: 56,
+          icon: "circle",
+          itemWidth: 6,
+          inactiveColor: partten.getColor("gray"),
+          textStyle: {
+            color: partten.getColor("grayl"),
+            fontSize: 12,
+          },
+        },
+        grid: {
+          top: 16,
+          left: 40,
+          right: 15,
+          bottom: 24,
+        },
+        xAxis: [
+          {
+            type: "category",
+            boundaryGap: false,
+            axisLabel: {
+              formatter: "{value}",
+              textStyle: {
+                color: partten.getColor("gray"),
+                fontSize: util.vh(10),
+              },
+            },
+            data: this.xdata,
+          },
+        ],
+        yAxis:{
+          type: 'value',
+          name: 'YYY',
+        },
+        series: this.series,
+      };
+
+      chart.clear();
+      chart.setOption(option);
+
+      this.resize = function() {
+        chart.resize();
+      };
+
+      window.addEventListener("resize", this.resize);
+    },
+  },
+  created() {
+    this.$nextTick(() => {
+      this.id = "pie-chart-" + util.newGUID();
+    });
+    this.newlist = this.list;
+    // console.warn(this.list);
+    // console.warn(this.newlist);
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.$el.style.width = this.width;
+      this.$el.style.height = this.height;
+      this.initChart();
+    });
+  },
+  updated() {
+    this.$nextTick(() => {
+      this.initChart();
+    });
+  },
+  unmounted() {
+    window.removeEventListener("resize", this.resize);
+  },
+};
+</script>
+
+<style lang="less">
+.chart {
+  width: 100%;
+  height: 100%;
+  display: inline-block;
+}
+</style>

+ 24 - 2
src/views/singleAnalysis/index.vue

@@ -41,18 +41,30 @@
     <el-dialog title="切入切出风速整合历史" v-model="dialogShow" width="85%" top="10vh" custom-class="modal" :close-on-click-modal="true" @closed="dialogType = ''">
       test
     </el-dialog>
+      <el-dialog
+      :title="wtId+'号风机'+year+ '年'+ month+'月运行指标性能分析'"
+      v-model="dialogVisible"
+      width="70%"
+      top="10vh"
+      custom-class="modal"
+      :close-on-click-modal="false"
+    >
+    <ZnzhFx :wtId=wtId :year=year :month=month />
+    </el-dialog>
   </div>
 </template>
 
 <script>
 import ComTable from "../Decision/table.vue";
+import ZnzhFx from "./znzhfx.vue";
 export default {
   // 名称
   name: "cutAnalyse",
 
   // 使用组件
   components: {
-   ComTable
+   ComTable,
+   ZnzhFx
   },
 
   // 数据
@@ -62,6 +74,10 @@ export default {
       isAsc:"asc",
       wpArray:[],
       wpId:"",
+          dialogVisible: false,
+          wtId:"",
+          year:"",
+          month:"",
       recorddate:new Date((new Date().getTime() - 3600 * 1000 * 24)).formatDate("yyyy-MM-dd"),
       dialogShow:false,
 	  tableDataEnd: [], //合计
@@ -211,8 +227,14 @@ export default {
   // 函数
   methods: {
     goznzhfx(row){
+      let that = this;
+      that.wtId=row.windturbineid;
+      that.year=new Date(this.recorddate).formatDate("yyyy");
+      that.month=new Date(this.recorddate).formatDate("MM");
+      // console.log(that.wtId,'--',that.year,'---', that.month)
+      that.dialogVisible = true;
       console.warn(row);
-      this.$router.push({path:`/decision/znzhfx/${row.windturbineid}/${new Date(this.recorddate).formatDate("yyyy")}/${new Date(this.recorddate).formatDate("MM")}`})
+      // this.$router.push({path:`/decision/znzhfx/${row.windturbineid}/${new Date(this.recorddate).formatDate("yyyy")}/${new Date(this.recorddate).formatDate("MM")}`})
     },
     // 请求服务
     requestData() {

+ 574 - 0
src/views/singleAnalysis/znzhfx.vue

@@ -0,0 +1,574 @@
+<template>
+  <div class="znzhfx">
+     <!-- <el-col :span="24">
+          <div class="back">
+            <button class="btn" type="button" @click="back">
+              <span>返回</span>
+            </button>
+             <button class="btn green" @click="exportPDF">导出</button>
+          </div>
+          <div class="table-title">
+            {{ wtId }}号风机{{ year }}年{{ month }}月运行指标性能分析
+          </div>
+        </el-col> -->
+    <el-scrollbar height="910px">
+      <el-row :gutter="20" class="table-panel">
+        <el-col :span="24">
+          <div class="back">
+            <button class="btn" type="button" @click="back">
+              <span>返回</span>
+            </button>
+             <button class="btn" type="button" @click="exportPDF">
+              导出
+            </button>
+          </div>
+          <div class="table-title">
+            {{ wtId }}号风机{{ year }}年{{ month }}月运行指标性能分析
+          </div>
+          <!-- <Table :data="tableData2" :canScroll="false" /> -->
+        </el-col>
+         <Table class="pdfDom" :data="tableData2" :canScroll="false" />
+      </el-row>
+      <div class="mg-b-16 anliz-des">
+        <div>
+          本月{{ wtId }}号风机风机设备利用小时数{{
+            tableVal.byzb && tableVal.byzb.lyxs
+          }}小时、同比{{
+            tableVal.tpzb && tableVal.tpzb.lyxs
+          }}小时,设备可利用率{{
+            tableVal.byzb && tableVal.byzb.sbklyl
+          }}%、同比{{ tableVal.tpzb && tableVal.tpzb.sbklyl }}}%,
+          等效可用系数{{ tableVal.byzb && tableVal.byzb.dxklyxs }}%、同比{{
+            tableVal.tpzb && tableVal.tpzb.dxklyxs
+          }}}%,静风频率达到{{ tableVal.byzb && tableVal.byzb.jfpl }}%、同比{{
+            tableVal.tpzb && tableVal.tpzb.jfpl
+          }}}%, 机组功率特性一致性系数达到{{
+            tableVal.byzb && tableVal.byzb.glyzxxs
+          }}%、同比{{ tableVal.tpzb && tableVal.tpzb.glyzxxs }}}%。
+          <br />
+          {{ wtId }}风机{{ year }}年{{ month }}月平均风速{{
+            tableVal.byzb && tableVal.byzb.fs
+          }}m/s、同比{{ tableVal.tpzb && tableVal.tpzb.fs }}m/s,
+          小风平均切入风速{{ tableVal.byzb && tableVal.byzb.xfqr }}m/s、同比{{
+            tableVal.tpzb && tableVal.tpzb.xfqr
+          }}m/s, 有效风时数{{
+            tableVal.byzb && tableVal.byzb.yxfss
+          }}小时、同比{{ tableVal.tpzb && tableVal.tpzb.yxfss }}小时,
+          实际发电电量{{ tableVal.byzb && tableVal.byzb.fdl }}万kwh、同比{{
+            tableVal.tpzb && tableVal.tpzb.fdl
+          }}万kwh,同比增长率{{ tableVal.tbzb && tableVal.tbzb.fdl }}%,
+          各项损失电量累计{{
+            tableVal.byzb && tableVal.byzb.llfdl - tableVal.byzb.fdl
+          }}万kwh、同比{{
+            tableVal.tpzb && tableVal.tpzb.llfdl - tableVal.tpzb.fdl
+          }}万kwh,同比增长率{{
+            tableVal.tbzb && tableVal.byzb.llfdl - tableVal.tbzb.fdl
+          }}%, 理论发电量{{
+            tableVal.byzb && tableVal.byzb.llfdl
+          }}万kwh,实际发电量与理论发电量相差{{
+            tableVal.tbzb && tableVal.tbzb.llfdl
+          }}万kwh。
+          <br />
+          本月静风频率
+          %,月累计静风时长0.00小时,月累计待机小时116.44小时,待机占比48.51%。
+        </div>
+      </div>
+      <div class="mg-b-16">
+        <panel :title="'损失电量分析'" :showLine="true">
+          <multiple-bar-line-chart
+            :height="'21.296vh'"
+            :barData="bar1Data"
+            :lineData="lineData"
+          />
+        </panel>
+      </div>
+      <div class="mg-b-16">
+        <panel :title="'损失电量分析'" :showLine="true">
+          <vertival-bar-line-chart :height="'21.296vh'" :bardata="bar2data" />
+        </panel>
+      </div>
+      <div class="mg-b-16">
+        <panel :title="'损失电量分析'" :showLine="true" >
+          <double-line-chart :height="'21.296vh'" :list="list" />
+        </panel>
+      </div>
+    </el-scrollbar>
+  </div>
+</template>
+
+<script>
+import Panel from "../../components/coms/panel/panel.vue";
+import Table from "../../components/coms/table/table.vue";
+import VertivalBarLineChart from "../../components/chart/combination/vertival-bar-line-chart.vue";
+import MultipleBarLineChart from "../../components/chart/combination/multiple-bar-line-chart.vue";
+import DoubleLineChart from "../../components/chart/line/double-line-chart.vue";
+// import DoubleLineChart from "./double-line-chart.vue";
+import Get_PDF from "@tools/htmlToPdf";
+export default {
+  setup() {},
+  components: {
+    Panel,
+    Table,
+    VertivalBarLineChart,
+    MultipleBarLineChart,
+    DoubleLineChart,
+  },
+  props:{
+    wtId: "",
+      year: "",
+      month: "",
+      // dialogVisible: false,
+  },
+  data() {
+    return {
+      // wtId: "",
+      // year: "",
+      // month: "",
+      tableVal: "",
+      tabrow: {
+        fdl: "实际发电量(万千瓦时)",
+        fs: "平均风速(m/s)",
+        gzss: "故障损失电量(万千瓦时)",
+        jxss: "计划检修损失电量(万千瓦时)",
+        xdss: "调度限电损失电量(万千瓦时)",
+        xnss: "性能未达标损失电量(万千瓦时)",
+        slss: "受累损失电量(万千瓦时)",
+        llfdl: "理论发电量(万千瓦时)",
+        gzxs: "故障停运时间(小时)",
+        jxxs: "检修停运时间(小时)",
+        tjxs: "待机时间(小时)",
+        zdxs: "通讯中断时间(小时)",
+        yxxs: "并网时间(小时)",
+        lyxs: "设备利用小时(小时)",
+        sbklyl: "设备利用率(%)",
+        dxklyxs: "等效可用系数(%)",
+        xfqr: "小风切入风速(m/s)",
+        glyzxxs: "功率特性一致性系数(%)",
+        yxfss: "有效风时数(小时)",
+        xfqrhgl: "小风切入合格率(%)",
+        jfpl: "静风频率(%)",
+      },
+      tableData2: {
+        column: [
+          {
+            name: "指标名称",
+            field: "name",
+          },
+          {
+            name: "本月值",
+            field: "byzb",
+          },
+          {
+            name: "去年同期",
+            field: "hqzb",
+          },
+          {
+            name: "同比增长率(%)",
+            field: "hbzb",
+          },
+          {
+            name: "环比",
+            field: "tqzb",
+          },
+          {
+            name: "环比端值(%)",
+            field: "tbzb",
+          },
+        ],
+        data: [
+          {
+            name: "实际发电量(万kWh)",
+            v1: "174785",
+            v2: "317885",
+            v3: "-45",
+            v4: "22322",
+            v5: "-36",
+          },
+        ],
+      },
+      bar1Data: [
+        {
+          title: "日发电量",
+          yAxisIndex: 0,
+          value: [
+            {
+              text: "05-01",
+              value: 1,
+            },
+            {
+              text: "05-01",
+              value: 2,
+            },
+            {
+              text: "05-01",
+              value: 1,
+            },
+            {
+              text: "05-01",
+              value: 3,
+            },
+            {
+              text: "05-01",
+              value: 3,
+            },
+            {
+              text: "05-01",
+              value: 3,
+            },
+            {
+              text: "05-01",
+              value: 3,
+            },
+          ],
+        },
+        {
+          title: "风速",
+          yAxisIndex: 0,
+          value: [
+            {
+              text: "05-01",
+              value: 1,
+            },
+            {
+              text: "05-01",
+              value: 2,
+            },
+            {
+              text: "05-01",
+              value: 1,
+            },
+            {
+              text: "05-01",
+              value: 3,
+            },
+            {
+              text: "05-01",
+              value: 3,
+            },
+            {
+              text: "05-01",
+              value: 3,
+            },
+            {
+              text: "05-01",
+              value: 3,
+            },
+          ],
+        },
+      ],
+      lineData: {
+        name: "风速",
+        unit: "km",
+        data: [200, 800, 400, 500, 800, 700, 800, 900, 200],
+      },
+      bar2data: {
+        area: [
+          "05-01",
+          "05-01",
+          "05-01",
+          "05-01",
+          "05-01",
+          "05-01",
+          "05-01",
+          "05-01",
+          "05-01",
+        ],
+        legend: [
+          "限电损失电量",
+          "性能未达标损失电量",
+          "检修损失电量",
+          "故障损失电量",
+          "受累损失电量",
+          "性能损失",
+        ],
+        data: [
+          [1320, 1302, 901, 634, 1390, 1330, 1320, 1000, 500],
+          [320, 302, 301, 334, 390, 330, 320, 100, 50],
+          [320, 302, 301, 334, 390, 330, 320, 100, 50],
+          [1320, 1302, 901, 634, 1390, 1330, 1320, 1000, 500],
+          [320, 302, 301, 334, 390, 330, 320, 100, 50],
+          [320, 302, 301, 334, 390, 330, 320, 100, 50],
+          [1320, 1302, 901, 634, 1390, 1330, 1320, 1000, 500],
+          [320, 302, 301, 334, 390, 330, 320, 100, 50],
+        ],
+      },
+      list: [
+        {
+          title: "绿123线",
+          smooth: false,
+          value: [
+            {
+              text: "",
+              value: 0,
+            },
+            {
+              text: "0:00",
+              value: 20,
+            },
+            {
+              text: "10:00",
+              value: 1,
+            },
+            {
+              text: "11:00",
+              value: 40,
+            },
+            {
+              text: "12:00",
+              value: 10,
+            },
+            {
+              text: "13:00",
+              value: 15,
+            },
+            {
+              text: "14:00",
+              value: 30,
+            },
+            {
+              text: "15:00",
+              value: 40,
+            },
+            {
+              text: "",
+              value: 10,
+            },
+          ],
+        },
+        {
+          title: "黄线",
+          smooth: false,
+          value: [
+            {
+              text: "",
+              value: 0,
+            },
+            {
+              text: "0:00",
+              value: 40,
+            },
+            {
+              text: "10:00",
+              value: 20,
+            },
+            {
+              text: "11:00",
+              value: 20,
+            },
+            {
+              text: "12:00",
+              value: 10,
+            },
+            {
+              text: "13:00",
+              value: 40,
+            },
+            {
+              text: "14:00",
+              value: 50,
+            },
+            {
+              text: "15:00",
+              value: 40,
+            },
+            {
+              text: "",
+              value: 10,
+            },
+          ],
+        },
+      ],
+    };
+  },
+  created() {
+    // this.wtId = this.$route.params.wtId;
+    // this.year = this.$route.params.year;
+    // this.month = this.$route.params.month;
+    this.search();
+    this.searchChart();
+  },
+  filters: {
+    tabrowfil(val) {
+      return this.tabrow[val];
+    },
+  },
+  methods: {
+    //导出pdf
+       exportPDF (name) {
+      this.BASE.showMsg({
+        type: "success",
+        msg: "正在导出...请稍后..."
+      });
+      Get_PDF.downloadPDF(document.querySelector('.pdfDom'), this.wtId +'号风机'+ this.year+'年'+ this.month +'月运行指标性能分析');
+    },
+    async search() {
+      console.log(this.wtId,'--',this.year,'---',this.month)
+      const { data } = await this.API.requestData({
+        subUrl: "/singleanalysis/singleanalysisSub",
+        method: "POST",
+        data: {
+          wtId: this.wtId,
+          year: this.year,
+          month: this.month,
+        },
+      });
+      console.warn(data.data);
+      const res = data.data;
+      this.tableVal = data.data;
+      console.warn(this.tableVal);
+      let arr = [];
+      let keyarr = Object.keys(res.byzb);
+      console.warn(keyarr);
+      let jarr = Object.keys(res);
+      for (let k of keyarr) {
+        let obj = {
+          name: k,
+          byzb: null,
+          hbzb: null,
+          hqzb: null,
+          tbzb: null,
+          tqzb: null,
+        };
+        for (let i in res) {
+          for (let j of jarr) {
+            if (i == j) {
+              obj[j] = res[i][k];
+            }
+          }
+        }
+        arr.push(obj);
+      }
+      arr = arr.filter((e) => {
+        return (
+          e.name != "id" &&
+          e.name != "windturbineid" &&
+          e.name != "windturbineName" &&
+          e.name != "windPowerStationId" &&
+          e.name != "windPowerStationName" &&
+          e.name != "recorddate" &&
+          e.name != "swdl" &&
+          e.name != "gwdl" &&
+          e.name != "rlxs" &&
+          e.name != "fjrl"
+        );
+      });
+      arr.forEach((e) => {
+        e.name = this.tabrow[e.name];
+      });
+      this.tableData2.data = arr;
+      console.warn(arr);
+    },
+    async searchChart() {
+       console.log(this.wtId,'--',this.year,'---', this.month)
+      const { data } = await this.API.requestData({
+        subUrl: "/singleanalysis/singleanalysisChart",
+        method: "POST",
+        data: {
+          wtId: this.wtId,
+          year: this.year,
+          month: this.month,
+        },
+      });
+      console.warn(data.data);
+      const res = data.data;
+      let arrfffdl = [];
+      let arrfffs = [];
+      res.ff.forEach((e) => {
+        let obj = {
+          text: new Date(e.recorddate).formatDate("MM-dd"),
+          value: e.fdl,
+        };
+        let obj1 = {
+          text: new Date(e.recorddate).formatDate("MM-dd"),
+          value: e.fs,
+        };
+        arrfffdl.push(obj);
+        arrfffs.push(obj1);
+      });
+      this.bar1Data[0].value = arrfffdl;
+      this.lineData.data = arrfffs;
+      ////
+      let arrjdjf = [];
+      let arrjddj = [];
+      res.jd.forEach((e) => {
+        let obj = {
+          text: new Date(e.recorddate).formatDate("MM-dd"),
+          value: e.jfpl,
+        };
+        let obj1 = {
+          text: new Date(e.recorddate).formatDate("MM-dd"),
+          value: e.tjxs,
+        };
+        arrjdjf.push(obj);
+        arrjddj.push(obj1);
+      });
+      let obj = {
+        title: "静风时长(小时)",
+        smooth: false,
+        value: arrjdjf,
+      };
+      let obj1 = {
+        title: "待机时长(小时)",
+        smooth: false,
+        value: arrjddj,
+      };
+      this.list = [];
+      this.list.push(obj);
+      this.list.push(obj1);
+      console.warn(this.list);
+      /////
+      let arrwsarea = [];
+      let arrwslegend = [
+        "限电损失电量",
+        "性能未达标损失电量",
+        "检修损失电量",
+        "故障损失电量",
+        "受累损失电量",
+      ];
+      let arrwsdata = [];
+      res.ws.forEach((e) => {
+        let arr = [];
+        for (let k of ["xdss", "xnss", "jxss", "gzss", "slss"]) {
+          arr.push(e[k]);
+        }
+        arrwsdata.push(arr);
+        arrwsarea.push(new Date(e.recorddate).formatDate("MM-dd"));
+      });
+      this.bar2data.area = arrwsarea;
+      this.bar2data.legend = arrwslegend;
+      this.bar2data.data = arrwsdata;
+      console.warn(this.bar2data);
+    },
+	back(){
+		this.$router.go(-1);
+	}
+  },
+};
+</script>
+
+<style lang="less">
+.znzhfx {
+  font-size: 12px;
+  .anliz-des {
+    font-size: 16px;
+    color: #b3bdc0;
+    margin-top: 1.4993vh;
+    margin-bottom: 44px;
+  }
+  .table-panel {
+    .table-title {
+      font-size: 16px;
+      text-align: center;
+      color: #fefefe;
+      height: 4.6972vh;
+      line-height: 4.6972vh;
+    }
+    .back {
+      margin: 2.3988vh 0px 0px 0px;
+    }
+  }
+  .com-table {
+    border: 1px solid #6067697d;
+  }
+}
+</style>

+ 0 - 4
src/views/windAnalysis/index.vue

@@ -46,13 +46,9 @@ export default {
       this.tabIndex = state;
     },
     // 请求服务
-    requestData () {
-      
-    }
   },
 
   created () {
-    this.requestData();
   },
 
   mounted () { },

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

@@ -36,7 +36,6 @@ export default {
   components: {
     NormalScatterChart
   },
-
   // 数据
   data () {
     return {
@@ -64,6 +63,7 @@ export default {
         success (res) {
           that.wpArray = res.data;
           that.wpId = res.data[0].id;
+		  that.$emit('thisWpId', that.wpId)
           that.getChartData();
         }
       });

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

@@ -103,7 +103,7 @@ export default {
         method: "POST",
         subUrl: "scatter/scatterAjax",
         data: {
-          wpId: "",
+          wpId: that.wpId,
           pjId: that.projectId,
           lnId: "",
           year: (that.recorddate ? new Date(that.recorddate).getFullYear() : ""),

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

@@ -103,7 +103,7 @@ export default {
         method: "POST",
         subUrl: "scatter/scatterAjax",
         data: {
-          wpId: "",
+          wpId: that.wpId,
           pjId: "",
           lnId: that.lineId,
           year: (that.recorddate ? new Date(that.recorddate).getFullYear() : ""),