export default {
  data() {
    return {
      loading:true,
      options: [],

      value: [],
      timedate: [],
      multipleSelection: [],
      orderByColumn: "",
      isAsc: "asc",
      fdcLineData: [],
      currentPage2: 1,
      pagesize: 10,
      wpId: "",
      beginDate: "",
      endDate: "",
      dialogTableVisible: false,
      sortInOrder: [],
      sortInOrderTop: [],
      fdcName1: "",
      fdcName2: "",
      sortInOrde2: [],
      getTableData: [],
    };
  },
  filters: {
    rounding(value) {
      return value.toFixed(2);
    },
  },
  created() {
    this.wpId = this.$route.query.wpId;
    this.timedate[0] = this.$route.query.beginDate;
    this.timedate[1] = this.$route.query.endDate;
    this.queryApData();
  },
  methods: {
queryApData() {
    this.value = this.$route.query.wpId;
    this.YardTableData();
  },
  queryApDataMx() {
    this.dialogTableVisible = true;

    if (this.multipleSelection.length == 2) {
      this.fdcName1 = this.multipleSelection[0].wtName;
      this.fdcName2 = this.multipleSelection[1].wtName;
      this.sortInOrder.push(
        this.multipleSelection[0].fnlyl,
        this.multipleSelection[0].xqjsl,
        this.multipleSelection[0].ztzhjsl,
        this.multipleSelection[0].fwjsl,
        this.multipleSelection[0].slssl,
        this.multipleSelection[0].xnssl,
        this.multipleSelection[0].qfl,
        this.multipleSelection[0].jxssl,
        this.multipleSelection[0].gzssl
      );
      this.sortInOrderTop.push(
        this.multipleSelection[1].fnlyl,
        this.multipleSelection[1].xqjsl,
        this.multipleSelection[1].ztzhjsl,
        this.multipleSelection[1].fwjsl,
        this.multipleSelection[1].slssl,
        this.multipleSelection[1].xnssl,
        this.multipleSelection[1].qfl,
        this.multipleSelection[1].jxssl,
        this.multipleSelection[1].gzssl
      );
      for (let i = 0; i < this.multipleSelection.length; i++) {
        this.sortInOrde2.push({
          product:
            this.multipleSelection[i].wtName +
            this.BASE.getBzDate(this.multipleSelection[i].recordDate,0),
          "限电损失电量单位:万KWh": this.multipleSelection[i].xdss,
          "故障损失电量单位:万KWh": this.multipleSelection[i].gzss,
          "检修损失电量单位:万KWh": this.multipleSelection[i].jxssl,
          "性能损失电量单位:万KWh": this.multipleSelection[i].xnssl,
          "受累损失电量单位:万KWh": this.multipleSelection[i].slss,
        });
      }
      this.getTableData.push({
        index: "发电量",
        data1: this.multipleSelection[0].scadafdl,
        data2: this.multipleSelection[1].scadafdl,
      });
      this.getTableData.push({
        index: "故障损失电量",
        data1: this.multipleSelection[0].gzss,
        data2: this.multipleSelection[1].gzss,
      });
      this.getTableData.push({
        index: "检修损失电量",
        data1: this.multipleSelection[0].jxssl,
        data2: this.multipleSelection[1].jxssl,
      });
      this.getTableData.push({
        index: "性能未达标损失电量",
        data1: this.multipleSelection[0].xnsslfraction,
        data2: this.multipleSelection[1].xnsslfraction,
      });
      this.getTableData.push({
        index: "受累损失电量",
        data1: this.multipleSelection[0].slss,
        data2: this.multipleSelection[1].slss,
      });
      this.getTableData.push({
        index: "风能利用率",
        data1: this.multipleSelection[0].fnlyl,
        data2: this.multipleSelection[1].fnlyl,
      });
      this.getTableData.push({
        index: "故障损失率",
        data1: this.multipleSelection[0].gzssl,
        data2: this.multipleSelection[1].gzssl,
      });
      this.getTableData.push({
        index: "检修损失率",
        data1: this.multipleSelection[0].jxssl,
        data2: this.multipleSelection[1].jxssl,
      });
      this.getTableData.push({
        index: "弃风率",
        data1: this.multipleSelection[0].qfl,
        data2: this.multipleSelection[1].qfl,
      });
      this.getTableData.push({
        index: "性能损失率",
        data1: this.multipleSelection[0].xnssl,
        data2: this.multipleSelection[1].xnssl,
      });
      this.getTableData.push({
        index: "受累损失率",
        data1: this.multipleSelection[0].slssl,
        data2: this.multipleSelection[1].slssl,
      });
      this.getTableData.push({
        index: "复位及时率",
        data1: this.multipleSelection[0].fwjsl,
        data2: this.multipleSelection[1].fwjsl,
      });
      this.getTableData.push({
        index: "消缺及时率",
        data1: this.multipleSelection[0].xqjsl,
        data2: this.multipleSelection[1].xqjsl,
      });
      this.getTableData.push({
        index: "状态转换率",
        data1: this.multipleSelection[0].ztzhjsl,
        data2: this.multipleSelection[1].ztzhjsl,
      });
    }
    this.$nextTick(function () {
      this.drawPie("leiDaTu3");
    });
    this.$nextTick(function () {
      this.drawPie2("leiDaTu4");
    });
  },
  filter_fdl(cellValue) {
    return parseFloat(cellValue.scadafdl).toFixed(2);
  },
  ApDataMxcheck() {
    if (this.multipleSelection.length == 2) {
      this.queryApDataMx();
    } else {
      this.$message({
        message: "请选择两个风机！",
        type: "warning",
      });
      return;
    }
  },
  YardTableData() {
    let that = this;
    Object.assign(this.$data.fdcLineData, this.$options.data().fdcLineData);
    this.$http.get("/powercompare/windfarmAjax").then((res) => {
      this.options = res.data.data;
    });
    this.wpId = this.$route.query.wpId;
    if (this.timedate == "") {
      this.beginDate = this.$route.query.beginDate;
      this.endDate = this.$route.query.endDate;
    } else {
      this.beginDate = this.timedate[0];
      this.endDate = this.timedate[1];
    }
    var guilty = new URLSearchParams();
    guilty.append("pageNum", this.currentPage2);
    guilty.append("pageSize", this.pagesize);
    guilty.append("orderByColumn", this.orderByColumn);
    guilty.append("isAsc", this.isAsc);
    if (this.value == []) {
      guilty.append("wpId", this.wpId);
    } else {
      guilty.append("wpId", this.value);
    }
    guilty.append("beginDate", this.beginDate);
    guilty.append("endDate", this.endDate);
    this.$http.post("/contrast/benchmarkWpInWtList", guilty).then((res) => {
      this.fdcLineData = res.data.data;
      this.loading=false;
    });
  },
  headStyle() {
    return "text-align:center";
  },
  handleSelectionChange(val) {
    this.sortInOrder = [];
    this.sortInOrderTop = [];
    this.getTableData = [];
    this.sortInOrde2 = [];
    this.multipleSelection = [];
    this.multipleSelection = val;
  },
  changeTableSort(column) {
    this.orderByColumn = column.prop;
    if (column.order == "descending") {
      this.isAsc = "desc";
    } else if (column.order == "ascending") {
      this.isAsc = "asc";
    }
    this.YardTableData();
  },
  filter_date(cellValue) {
    let date = new Date(cellValue.recordDate);
    return this.BASE.getBzDate(date,0);
  },
  drawPie() {
    var charts;
    if (charts != null && charts != "" && charts != undefined) {
      charts.dispose();
    }
    charts = this.$echarts.init(document.getElementById("leiDaTu3"));
    let option = {
      title: {
        // text: '对标排名分析',
        left: "center",
      },
      tooltip: {},
      // legend: {
      //     data: ['预算分配（Allocated Budget）', '实际开销（Actual Spending）'],
      //     left: 'right'
      // },
      radar: {
        // shape: 'circle',
        name: {
          textStyle: {
            color: "#fff",
            backgroundColor: "#999",
            borderRadius: 3,
            padding: [3, 5],
          },
        },
        indicator: [
          { name: "风能利用率", max: 150 },
          { name: "消缺及时率", max: 150 },
          { name: "状态转换率", max: 150 },
          { name: "复位及时率", max: 150 },
          { name: "受累损失率", max: 150 },
          { name: "性能损失率", max: 150 },
          { name: "弃风率", max: 150 },
          { name: "检修损失率", max: 150 },
          { name: "故障损失率", max: 150 },
        ],
      },
      series: [
        {
          name: "预算 vs 开销（Budget vs spending）",
          type: "radar",
          // areaStyle: {normal: {}},
          data: [
            {
              value: this.sortInOrder,
              name: this.fdcName1,
            },
            {
              value: this.sortInOrderTop,
              name: this.fdcName2,
            },
          ],
        },
      ],
    };
    charts.clear();
    charts.setOption(option);
  },
  drawPie2() {
    var charts2;
    if (charts2 != null && charts2 != "" && charts2 != undefined) {
      charts2.dispose();
    }
    charts2 = this.$echarts.init(document.getElementById("leiDaTu4"));
    let option2 = {
      legend: {
        orient: "vertical",
        left: "right",
      },
      tooltip: {},
      dataset: {
        dimensions: [
          "product",
          "限电损失电量单位:万KWh",
          "故障损失电量单位:万KWh",
          "检修损失电量单位:万KWh",
          "性能损失电量单位:万KWh",
          "受累损失电量单位:万KWh",
        ],
        source: this.sortInOrde2,
      },
      xAxis: { type: "category" },
      yAxis: {},
      series: [
        {
          // barGap:'100%',/*多个并排柱子设置柱子之间的间距*/
          type: "bar",
          barWidth: 30,
          itemStyle: {
            normal: {
              color: "#D201D8",
            },
          },
        },
        {
          type: "bar",
          barWidth: 30,
          itemStyle: {
            normal: {
              color: "#FD0100",
            },
          },
        },
        {
          type: "bar",
          barWidth: 30,
          itemStyle: {
            normal: {
              color: "#FF7B16",
            },
          },
        },
        {
          type: "bar",
          barWidth: 30,
          itemStyle: {
            normal: {
              color: "#8085E9",
            },
          },
        },
        {
          type: "bar",
          barWidth: 30,
          itemStyle: {
            normal: {
              color: "#A6A6A6",
            },
          },
        },
      ],
    };
    charts2.clear();
    charts2.setOption(option2);
  },
  goReturn() {
    this.$router.push("/benchmark_Venue");
  },
  toExcel() {
    excelHelper.exportExcel("fdcLineData","损失率对标列表",".xls",true);
  },
},
};