<!--
 * @Description: 统计报表 => 追缴统计(路段)
 * @Author: 空白格
 * @Date: 2022-08-03 11:21:31
 * @LastEditors: 空白格
 * @LastEditTime: 2022-08-03 11:46:05
 * @FilePath: \parking_operation\pages\statisticalReport\roadModel\components\recoveryReport.vue
 * @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved. 
-->
<template>
  <view class="container">
    <view class="table">
      <!-- <view class="table-date" v-if="currentDate">{{ currentDate.join(' 至 ') }}</view> -->
      <view class="table-box">
        <TableRanking
          :loading="loading"
          :tableTh="tableTh"
          :tableData="tableData"
          @pageChange="pageChange"
        />
      </view>
    </view>
    <view class="total">
      <view>
        数据统计,收费员共
        <text>{{ totalData.dataCount || 0 }}</text>人,累计追缴
        <text>{{ totalData.pursueCount || 0 }}</text>次,其中追缴现金金额
        <text>{{ totalData.cashAmt || 0 }}</text>元,追缴非现金金额
        <text>{{ totalData.otherAmount || 0 }}</text>元,追缴总额共计
        <text>{{ totalData.quickAmt || 0 }}</text>元
      </view>
    </view>
  </view>
</template>

<script>
import TableRanking from '@/components/tableRanking.vue';
export default {
  components: {
    TableRanking
  },
  props: {
    tableTh: {
      type: Array,
      default: () => {
        return [
          {
            field: '收费员',
            width: 120,
            key: 'payeeName'
          },
          {
            field: '追缴次数',
            width: 80,
            key: 'pursueCount'
          },
          {
            field: '追缴现金金额(元)',
            width: 80,
            key: 'cashAmt'
          },
          {
            field: '追缴非现金金额(元)',
            width: 80,
            key: 'otherAmount'
          },
          {
            field: '追缴总额(元)',
            width: 80,
            key: 'totalAmt'
          }
        ];
      }
    }
  },
  data() {
    return {
      loading: false,
      tableData: {
        current: 1,
        total: 0,
        list: []
      },
      totalData: {},
      currentDate: [],
      beginTime: undefined,
      endTime: undefined
    };
  },
  methods: {
    getData(data) {
      if (data.length) {
        this.beginTime = data[0];
        this.endTime = data[1];
      }
      this.currentDate = data;
      this.tableData.current = 1;
      this.getIncomeTotal();
      this.getIncomeList();
    },
    getIncomeTotal() {
      uni.$u.api.statisticalReportApi
        .getRecoverySumReportApi({
          beginTime: this.beginTime,
          endTime: this.endTime
        })
        .then((res) => {
          if (res.code === 200) {
            this.totalData = res.data;
          }
        });
    },
    getIncomeList() {
      this.loading = true;
      uni.$u.api.statisticalReportApi
        .getRecoveryReportApi({
          beginTime: this.beginTime,
          endTime: this.endTime,
          pageNum: this.tableData.current,
          pageSize: 10
        })
        .then((res) => {
          if (res.code === 200) {
            this.tableData.list = res.rows;
            this.tableData.total = res.total;
          }
          this.loading = false;
        });
    },
    pageChange(cur) {
      this.tableData.current = cur;
      this.getIncomeList();
    }
  }
};
</script>

<style lang="scss" scoped>
@import './../../styles/report.scss';
</style>