<template>
  <div class="pages">
    <div class="container">
      <div class="tableBox">
        <div class="header">
          <div class="h-left">
            <div class="label">
              <span>设备编号：</span>
              <span>{{ paramsObj.imei }}</span>
            </div>
            <div class="label">
              <span>领用人：</span>
              <span>{{ paramsObj.name }}</span>
            </div>
          </div>

          <div class="h-right">
            <el-button type="primary" @click="exportMethodPost">导出</el-button>
            <el-button type="primary" @click="back">返回</el-button>
          </div>
        </div>
        <div class="tabs">
          <el-table :data="tableData" height="100%">
            <el-table-column type="index" label="序号"> </el-table-column>
            <el-table-column prop="imei" label="设备编号"> </el-table-column>
            <el-table-column prop="receptionTime" label="更新时间">
            </el-table-column>
            <el-table-column prop="electricity" label="设备电量">
            </el-table-column>
            <el-table-column prop="signalDevice" label="设备信号">
            </el-table-column>
            <el-table-column prop="fileCount" label="待上传文件数">
            </el-table-column>
            <el-table-column prop="stateInterval" label="更新间隔时长">
              <template slot-scope="{ row }">
                  <span v-if="row.timeInterval > 60*11*1000" style="color: red;font-weight: bold;">{{ row.stateInterval }}</span>
                  <span v-else >{{ row.stateInterval }}</span>
              </template>
            </el-table-column>
          </el-table>
        </div>
      </div>

      <div class="btmpagiation">
        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="paramsObj.current"
          :page-sizes="[10, 50, 100]"
          :page-size="paramsObj.size"
          layout="total, sizes, prev, pager, next, jumper"
          :total="total"
        >
        </el-pagination>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      id: "", // 设备号
      total: 0, // 总条数
      paramsObj: {
        imei: "",
        // 当前页面的参数
        current: 1,
        size: 10,
      },
      tableData: [], // 数据列表数据
    };
  },

  mounted() {
    if (this.$route.query.id) this.paramsObj.imei = this.$route.query.id;
    if (this.$route.query.names) this.paramsObj.name = this.$route.query.names;
    this.getMessageList();
  },

  methods: {
    // 导出.Excel公用方法
    exportMethodPost() {
      axios({
        method: "get",
        url: `/autoSR/zk/equipment/findByImeiExport?imei=${this.paramsObj.imei}`,
        responseType: "blob",
      })
        .then((res) => {
          let blob = new Blob([res], { type: "application/vnd.ms-excel" });
          let date = new Date();
          let time = date.toLocaleDateString();
          // console.log(time, "时间");
          if ("download" in document.createElement("a")) {
            const link = document.createElement("a");
            link.style.display = "none";
            link.href = URL.createObjectURL(blob);
            // link.download = res.headers['content-disposition'] //下载后文件名
            link.download = (name || "导出文件") + time + ".xlsx"; //下载的文件名
            document.body.appendChild(link);
            link.click();
            document.body.removeChild(link);
          } else {
            // console.log("--------------------jingla")
            let fileName = (name || "导出文件") + time + ".xlsx"; //下载的文件名
            navigator.msSaveBlob(blob, fileName);
          }
        })
        .catch((error) => {
          // Message.error({
          //     message: '网络连接错误'
          //  })
          console.log(error);
        });
    },

    back() {
      this.$router.go(-1);
    },
    // 获取设备日志
    getMessageList() {
      this.$api.api.findByImeiAndHours(this.paramsObj).then((res) => {
        console.log(res);
        if (res.code == 10000) {
          this.total = res.data.total;
          this.tableData = res.data.records;
        }
      });
    },

    // 改变当前分页条数
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`);
      this.paramsObj.size = val;
      this.getMessageList();
    },
    handleCurrentChange(val) {
      this.paramsObj.current = val;
      this.getMessageList();
    },
  },
};
</script>


<style lang="scss" scoped>
.pages {
  padding: 10px 20px;
  width: 100%;
  height: 100%;
  .container {
    padding: 10px 20px;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;

    .tableBox {
      width: 100%;
      height: calc(100% - 72px);

      .header {
        padding: 20px 0;
        display: flex;
        align-items: center;

        .h-left {
          flex-grow: 1;
          display: flex;
          align-items: center;
          .label {
            margin-left: 20px;
            display: flex;
            align-items: baseline;
          }
        }

        .h-right {
          flex-shrink: 0;
        }
      }

      .tabs {
        height: calc(100% - 72px);
      }
    }

    .btmpagiation {
      flex-shrink: 0;
      margin: 20px 0;
      padding: 0 20px;
      display: flex;
      justify-content: flex-end;
    }
  }
}
</style>