<script>
export default {
  name: "AppHourSale",
  label: "市场看板-全门店时段销售",
  data() {
    return {
      tableData: []
    }
  },
  computed: {
    search: v => v.$marketBoard.search,
    columns: v => {
      let {currentDate, compareDate} = v.search
      const {dayjs} = window
      currentDate = currentDate ? dayjs(currentDate).format("YYYY-MM-DD") : ""
      compareDate = compareDate ? dayjs(compareDate).format("YYYY-MM-DD") : ""
      return [
        {label: "日期", width: 100, children: [{label: '时段', prop: "hour"}]},
        {
          label: compareDate, width: 137, align: 'center', children: [
            {label: "销售额", prop: "compareSaleAmt", align: 'center'},
            {label: "有效订单数", prop: "compareValidOrderNum", align: 'center'},
          ]
        },
        {
          label: currentDate, width: 137, align: 'center', children: [
            {label: "销售额", prop: "currentSaleAmt", align: 'center'},
            {label: "有效订单数", prop: "currentValidOrderNum", align: 'center'},
          ]
        },
        {label: "销售增长率", width: 70, align: 'center', prop: "saleGrowthRate"},
      ]
    }
  },
  methods: {
    getTableData() {
      const {$http, $waitFor} = window
      $waitFor($http).then(() => $http.post("/data-boot/la/screen/marketBoard/hourSale", {
        ...this.search, limit: 999
      })).then(res => {
        if (res?.data) {
          this.tableData = res.data?.page?.records || []
        }
      })
    }
  },
  watch: {
    search: {
      immediate: true, deep: true, handler() {
        this.getTableData()
      }
    }
  }
}
</script>

<template>
  <section class="AppHourSale">
    <el-table :data="tableData" size="mini" header-cell-class-name="tableHeader" cell-class-name="tableCell" max-height="440px" show-summary stripe>
      <table-column v-for="(column,i) in columns" :key="i" :column="column"/>
    </el-table>
  </section>
</template>

<style>
.AppHourSale {
  color: #fff;
  box-sizing: border-box;
}

.AppHourSale .tableHeader {
  background: rgba(13, 48, 99, 0.6) !important;
  color: #fff;
  border-color: transparent !important;
}

.AppHourSale .el-table tr {
  background-color: transparent !important;
}

.AppHourSale .el-table {
  background: transparent;
  border-color: transparent;
}

.AppHourSale .el-table .el-table__footer-wrapper tr {
  background: linear-gradient(90deg, rgba(1, 196, 236, 0.5) 0%, rgba(1, 196, 236, 0.01) 100%);
}

.AppHourSale .el-table .el-table__footer-wrapper .is-leaf {
  color: #66FFFF;
  background: transparent;
  border-color: transparent;
}

.AppHourSale .el-table:before {
  background: transparent;
}

.AppHourSale .tableCell {
  color: #fff;
  border-color: transparent !important;
}

.AppHourSale .el-table tr.el-table__row--striped {
  --odd-bg: #09265B;
  background-color: #081F48;
  background-image: linear-gradient(
      -45deg, var(--odd-bg) 0, var(--odd-bg) 10%, transparent 10%, transparent 50%,
      var(--odd-bg) 50%, var(--odd-bg) 60%, transparent 60%, transparent);
  background-size: 10px 10px;
}

.AppHourSale .el-table tr.el-table__row--striped .tableCell {
  background-color: transparent !important;
}

.AppHourSale .el-table tr:hover > .tableCell {
  background-color: rgba(255, 255, 255, .1) !important;
}

.AppHourSale .subTitle {
  line-height: 20px;
  width: fit-content;
  margin: 24px auto 12px;
  background-image: url("http://10.0.97.209/img/kengee/kengee5.png");
  background-repeat: no-repeat;
  background-size: 100% 2px;
  background-position: center bottom;
}
</style>
