<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 { 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>
