<template>
  <div class="container">
    <div class="d-flex">
      <div class="span-3">
        <div class="d-flex">
          <div class="left-title-text">供应商:</div>
          <div>{{ detailData.supplierName }}</div>
        </div>
        <div class="d-flex">
          <div class="left-title-text">主单号:</div>
          <div>{{ detailData.dhNumber }}</div>
        </div>
        <div class="d-flex">
          <div class="left-title-text">单类:</div>
          <div>{{ detailData.dlType }}</div>
        </div>
        <div class="d-flex">
          <div class="left-title-text">订货日期:</div>
          <div>{{ detailData.dhTime }}</div>
        </div>
        <div class="d-flex">
          <div class="left-title-text">交货预订日:</div>
          <div>{{ detailData.jhTime }}</div>
        </div>
      </div>
      <div class="span-3">
        <div class="d-flex">
          <div class="left-title-text">收货单位:</div>
          <div>{{ detailData.shUnit }}</div>
        </div>
        <div class="d-flex">
          <div class="left-title-text">仓库名称:</div>
          <div>{{ detailData.ckName }}</div>
        </div>
        <div class="d-flex">
          <div class="left-title-text">仓库地址:</div>
          <div>{{ detailData.ckAddress }}</div>
        </div>
        <div class="d-flex">
          <div class="left-title-text">仓库备注:</div>
          <div></div>
        </div>
        <div class="d-flex">
          <div class="left-title-text">供应商电话:</div>
          <div></div>
        </div>
      </div>
    </div>
    <div class="btn_container">
      <el-pagination
        :current-page="currentPage"
        :page-sizes="[10, 20, 50, 100]"
        :page-size="pageSize"
        layout="sizes, prev, pager, next, jumper"
        :total="total"
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
      ></el-pagination>
      <el-button
        size="mini"
        type="primary"
        style="background: #0187fb; border: none"
        @click="handleExport"
      >
        报表
      </el-button>
      <el-button size="mini">刷新</el-button>
    </div>
    <el-table
      :data="table"
      :header-cell-style="headerStyle"
      :cell-style="rowStyle"
    >
      <el-table-column type="index" label="序号" width="80"></el-table-column>
      <el-table-column prop="spNumber" label="商品编码"></el-table-column>
      <el-table-column prop="txNumber" label="条形码"></el-table-column>
      <el-table-column prop="goodsName" label="商品名称"></el-table-column>
      <el-table-column
        prop="dgUnitNum"
        label="基本订购单位数"
      ></el-table-column>
      <el-table-column prop="xiangNum" label="箱数"></el-table-column>
      <el-table-column prop="hanMoney" label="含税进价"></el-table-column>
      <el-table-column prop="hanShouMoney" label="含税售价"></el-table-column>
      <el-table-column prop="num" label="数量"></el-table-column>
      <el-table-column prop="unit" label="单位"></el-table-column>
      <el-table-column
        prop="purchasingMoney"
        label="进价金额"
      ></el-table-column>
      <el-table-column prop="sellingMoney" label="售价金额"></el-table-column>
    </el-table>
  </div>
</template>

<script>
  import { detailPage, uploadDetail } from '../../../api/purchase'

  export default {
    name: 'GetOrder',
    data() {
      return {
        form: {
          company: '',
          supplier: '',
          main: '',
          receive: '',
          type: '',
          status: '',
          orderDate: '',
          deliveryDate: '',
        },
        table: [],
        currentPage: 1,
        pageSize: 8,
        total: 0,
        detailData: {},
      }
    },
    created() {
      console.log(this.$route.query)
      this.detailData = this.$route.query
      this.detailPageAxios()
    },
    methods: {
      detailPageAxios() {
        detailPage({
          dhNumber: this.detailData.dhNumber,
          pageSize: this.pageSize,
          pageNum: this.currentPage,
        }).then((res) => {
          console.log(res, 'Dsanm ')
          if (res.data && res.data.list && res.data.list.length) {
            this.table = res.data.list
            this.total = res.data.totalRecord
          }
        })
      },
      handleSizeChange(val) {
        this.pageSize = val
        this.detailPageAxios()
      },
      handleCurrentChange(val) {
        this.currentPage = val
        this.detailPageAxios()
      },
      headerStyle() {
        return 'text-align:center;'
      },
      rowStyle() {
        return 'text-align:right;'
      },
      //导入按钮事件
      handleExport() {
        let data = {
          supplierName: this.detailData.supplierName,
          shUnit: this.detailData.shUnit,
          dhNumber: this.detailData.dhNumber,
          ckName: this.detailData.ckName,
          dlType: this.detailData.dlType,
          ckAddress: this.detailData.ckAddress,
          dhTime: this.detailData.dhTime,
          jhTime: this.detailData.jhTime,
          list: this.table,
        }
        uploadDetail(data).then((res) => {
          console.log(res, '下载')
          let blob = new Blob([res.data], { type: res.data.type })
          let downloadElement = document.createElement('a')
          let href = window.URL.createObjectURL(blob)
          downloadElement.href = href
          document.body.appendChild(downloadElement)
          downloadElement.click()
          document.body.removeChild(downloadElement) //移除元素;防止连续点击创建多个a标签
          window.URL.revokeObjectURL(href)
        })
      },
    },
  }
</script>

<style lang="scss" scoped>
  .d-flex {
    display: flex;
  }
  .span-3 {
    width: 33%;
  }
  .span-3 .d-flex:nth-child(odd) {
    margin: 20px 0;
  }
  .left-title-text {
    width: 100px;
    text-align: right;
  }
  .container::v-deep {
    padding: 1.5vh 1vw;
    box-sizing: border-box;

    .el-form {
      width: 89%;
      display: flex;
      flex-wrap: wrap;

      .el-form-item {
        width: 50%;
        display: flex;
        align-items: center;
        height: 4vh;

        .el-form-item__label {
          // font-size: calc(100vh * 28 / 1920);
          font-size: 0.9rem;
          font-weight: bold;
          width: 5.5vw;
        }

        .el-input__inner {
          // font-size: calc(100vh * 26 / 1920);
          font-size: 0.8rem;
          height: 3.5vh;
        }

        .supplier_container {
          display: flex;
          align-items: center;
          width: 25vw;
          height: 3.5vh;
          border: 1px solid #dcdfe6;
          border-radius: 4px;

          .left_supplier {
            width: 89%;
            display: flex;
            align-items: center;
            justify-content: space-between;

            .el-input__inner {
              border: none;
            }

            i {
              font-size: calc(100vh * 32 / 1920);
              margin-right: 0.8vw;
            }
          }

          .right_supplier {
            border-left: 1px solid #dcdfe6;
            width: 11%;
            height: 100%;
            background: #f1f1f1;
            display: flex;
            justify-content: center;
            align-items: center;

            i {
              font-size: calc(100vh * 32 / 1920);
            }
          }
        }
      }
    }

    .tip_content {
      width: 81%;
      display: flex;
      justify-content: space-between;
      .left_tip {
        font-size: calc(100vh * 45 / 1920);
      }
      .right_tip {
        font-size: calc(100vh * 30 / 1920);
        color: #e60000;
      }
    }
    .btn_container {
      display: flex;
      align-items: center;
      .el-pagination {
        text-align: left;
        margin-bottom: 1.5vh;
        width: 75%;
      }
      .el-button {
        width: 4vw;
        height: 3vh;
        line-height: 3vh;
        padding: 0;
      }
    }
  }
  ::v-deep .el-table th .cell {
    // font-size: calc(100vh * 28 / 1920);
    font-size: 0.9rem;
  }
  ::v-deep .el-table td .cell {
    // font-size: calc(100vh * 24 / 1920);
    font-size: 0.8rem;
  }
  ::v-deep .el-date-editor .el-range-input {
    // font-size: calc(100vh * 24 / 1920);
    font-size: 0.8rem;
  }
</style>