<template>
  <!-- 抽查车牌号页面 -->
  <div class="homeworkPath">
    <div class="timerSelect">
      <el-date-picker
        v-model="startTime"
        type="datetime"
        placeholder="选择开始日期"
      >
      </el-date-picker>
      <span>至</span>
      <el-date-picker
        v-model="endTime"
        type="datetime"
        placeholder="选择结束日期"
      >
      </el-date-picker>

      <el-button type="primary" class="btn" @click="onclickSearch">
        <i class="el-icon-search"></i>查询
      </el-button>
      <el-button type="primary" @click="exportExcel"
        ><i class="el-icon-download"></i>导出(Excel)</el-button
      >
      <span style="margin-left: 1rem">合计车数：</span>
      <el-input
        v-model="totalCapacity"
        :disabled="true"
        style="width: 100px"
      ></el-input>
      <el-input
        placeholder="请输入车牌号/出厂门岗"
        v-model="input"
        style="width: 220px;margin-left: 1rem;"
        clearable
      >
      </el-input>
      <el-button type="primary" class="btn" @click="onclickSearch">
        <i class="el-icon-search"></i>查询
      </el-button>
    </div>

    <div class="table">
      <mergeRowTable
        ref="excelDom"
        v-bind.sync="option"
        @func="func"
      ></mergeRowTable>
    </div>
  </div>
</template>

<script>
import { sjTime } from "@/utils/sharedJsFile";
import { getCookie } from "@/utils/util.js";
import { exportExcelAdvanced } from "@/utils/exportExcelAdvanced.js";
export default {
  data() {
    return {
      totalNumber: null,
      totalCapacity: null,
      startTime: null,
      endTime: null,
      input: null,
      tableTitle: "汽车抽查报表",
      option: {
        // 表格请求数据的地址
        requestUrl: "",
        comparison: "orderNumber",
        columnIndexs: [0, 1, 2, 7]
      },
      tableData: []
    };
  },
  created() {
    this.option.requestUrl =
      "/api/v1/tms/getCapacityByDefend?apiId=474&startTime=null&endTime=null&i=" +
      new Date();
  },
  methods: {
    exportExcel() {
      let startTime = null;
      let endTime = null;
      if (this.startTime && this.endTime) {
        startTime = sjTime(this.startTime);
        endTime = sjTime(this.endTime);
      } else {
        this.$message.info("没有选择时间,将默认导出当天时间");
      }
      const loading = this.$loading({
        lock: true,
        text: "请等待导出",
        spinner: "el-icon-loading",
        background: "rgba(0, 0, 0, 0.7)"
      });
      this.axios
        .post(
          "/api/v1/tms/getCapacityByDefend?apiId=474&yes=yes&startTime=" +
            startTime +
            "&endTime=" +
            endTime +
            "&con=" +
            this.input
        )
        .then(res => {
          this.tableData = res.data.data;
          console.log(res);
          console.log(this.tableData);
          exportExcelAdvanced(
            this.tableTitle,
            this.tableColumnData,
            this.tableData
          );
          setTimeout(() => {
            loading.close();
          }, 2000);
        });
    },
    func(res) {
      this.tableColumnData = res.columnData;
      var resultNetWeightTotal = 0;
      var currentCapacityTotal = 0;
      res.list.forEach(e => {
        currentCapacityTotal++;
        resultNetWeightTotal = resultNetWeightTotal + e.resultNetWeight;
      });
      this.totalNumber = resultNetWeightTotal.toFixed(2) + "t";
      this.totalCapacity = currentCapacityTotal;
    },
    onclick() {
      this.option.requestUrl =
        "/api/v1/tms/getCapacityByDefend?apiId=474&con=" + this.input;
    },
    getRequestUrl() {
      this.option.requestUrl =
        "/api/v1/tms/getCapacityByDefend?apiId=474&startTime=null&endTime=null&i=" +
        new Date() +
        "&con=" + this.input;
    },
    // 添加开始结束时间筛选
    onclickSearch() {
      console.log("aaaa");
      let startTime = null;
      let endTime = null;
      if (this.startTime) {
        startTime = sjTime(this.startTime);
        // console.log("startTime", startTime);
      }
      if (this.endTime) {
        endTime = sjTime(this.endTime);
        // console.log("endTime", endTime);
      }
      if (startTime && endTime) {
        if (startTime < endTime) {
          this.option.requestUrl =
            "/api/v1/tms/getCapacityByDefend?apiId=474&startTime=" +
            startTime +
            "&endTime=" +
            endTime +
            "&con=" + this.input +
            "&i=" +
            new Date();
        } else {
          this.startTime = null;
          this.endTime = null;
          this.$message.warning("开始时间要比结束时间早");
        }
      } else {
        this.getRequestUrl();
      }
    }
  }
};
</script>
<style lang="scss" scoped>
.homeworkPath {
  .timerSelect {
    margin-top: 30px;
    margin-left: 30px;
  }
}
// .input_box {
// //   margin-top: -40px;
// //   .el-input {
// //     width: 240px;
// //     margin-left: 760px;
// //   }
// }
</style>
