<template>
  <div class="draught-fan-list">
    <div class="query mg-b-8">
      <div class="query-items">
        <div class="query-item">
          <div class="lable">场站：</div>
          <div class="search-input">
            <el-select
              v-model="wpId"
              clearable
              placeholder="请选择"
              popper-class="select"
              @change="
                (wpId) => {
                  getWt(wpId, true);
                }
              "
            >
              <el-option
                v-for="item in wpArray"
                :key="item.id"
                :value="item.id"
                :label="item.name"
              />
            </el-select>
          </div>
        </div>
        <div class="query-item">
          <div class="lable">风机：</div>
          <div class="search-input">
            <el-select
              v-model="wtId"
              clearable
              placeholder="请选择"
              popper-class="select"
            >
              <el-option
                v-for="item in wtArray"
                :key="item.id"
                :value="item.id"
                :label="item.name"
              />
            </el-select>
          </div>
        </div>
        <div class="query-item">
          <div class="lable">日期：</div>
          <div class="search-input">
            <el-date-picker
              v-model="recorddate"
              type="month"
              value-format="YYYY-MM"
              placeholder="选择日期"
              popper-class="date-select"
            >
            </el-date-picker>
          </div>
        </div>
      </div>
      <div class="query-actions">
        <button class="btn green" @click="search">搜索</button>
      </div>
    </div>
    <ScatterLineChart
      xTitle="风速)m/s("
      yTitle="功率(kw)"
      :height="'calc(100vh - 40px)'"
      :lineData="chartLineData"
      :data="chartData"
    />
  </div>
</template>

<script>
import ScatterLineChart from "@com/chart/combination/scatter-line-chart.vue";
export default {
  // 名称
  name: "cutAnalyse",

  // 使用组件
  components: {
    ScatterLineChart,
  },

  // 数据
  data() {
    return {
      isAsc: "asc",
      wpArray: [],
      wtArray: [],
      wpId: "",
      wtId: "",
      recorddate: new Date(new Date().getTime() - 3600 * 1000 * 24).formatDate(
        "yyyy-MM"
      ),
      chartLineData: {
        xTitle: "风速",
        yTitle: "功率",
        legends: [],
        data: [],
      },
      chartData: [
        {
          title: "",
          value: [],
        },
      ],
    };
  },

  // 函数
  methods: {
    // 获取风场
    getWp(reGetWp) {
      let that = this;
      that.API.requestData({
        method: "GET",
        subUrl: "powercompare/windfarmAjax",
        success(res) {
          that.wpArray = res.data;
          that.wpId = res.data[0].id;
          that.getWt(that.wpId, reGetWp);
        },
      });
    },

    // 获取风机
    getWt(wpid, reGetWp) {
      let that = this;
      if (that.wpId) {
        that.API.requestData({
          method: "GET",
          baseURL: "http://10.155.32.4:9001",
          subUrl: "benchmarking/wtList",
          data: {
            wpid,
          },
          success(res) {
            that.wtArray = res.data;
            that.wtId = res.data[0].id;
            if (!reGetWp) {
              that.getChartData();
            }
          },
        });
      }
    },

    // 获取图表数据
    getChartData() {
      let that = this;
      that.API.requestData({
        method: "POST",
        subUrl: "scatter/scatterWtAjax",
        data: {
          wtId: that.wtId,
          year: that.recorddate.split("-")[0],
          month: that.recorddate.split("-")[1],
        },
        success(res) {
          let chartLineData = {
            xTitle: "风速",
            yTitle: "功率",
            legends: [],
            data: [[], []],
          };

          res.data.line.forEach((ele) => {
            chartLineData.data[0].push(ele[0]);
            chartLineData.data[1].push(ele[1]);
          });

          let chartData = [
            {
              title: "功率曲线拟合",
              value: res.data.scatter,
            },
          ];

          that.chartLineData = chartLineData;
          that.chartData = chartData;
        },
      });
    },

    search() {
      if (!this.wpId || !this.wtId) {
        this.BASE.showMsg({
          msg: "场站与风机为必选项",
        });
      } else {
        this.getChartData();
      }
    },
  },

  created() {
    this.getWp();
  },

  mounted() {},

  unmounted() {},
};
</script>

<style lang="less" scoped>
.draught-fan-list {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;

  .btn-group-tabs {
    display: flex;
    flex-direction: row;

    .photovoltaic {
      margin-left: 1.481vh;
    }
  }

  .df-table {
    border: 0.093vh solid fade(@darkgray, 50%);
    position: relative;
    overflow: auto;
    flex-grow: 1;
    margin-top: 1.481vh;
    height: 30vh;

    &:before {
      content: "";
      width: 0.37vh;
      height: 0.37vh;
      background: @write;
      position: absolute;
      left: 0.278vh;
      top: 0.278vh;
    }

    tbody {
      height: calc(100vh - 166px);
    }
  }
}
</style>
