<!-- 营收统计 -->
<template>
	<view class="container">
		<view class="table">
			<view class="table-date" v-if="currentDate">{{ currentDate.join(' 至 ') }}</view>
			<view class="table-box">
				<TableRanking :loading="loading" :padding="'0'" :tableTh="tableTh" :tableData="tableData"
					@pageChange="pageChange" />
			</view>
		</view>
		<view class="total">
			<view>
				车辆<text>{{ totalData.vehicleCount || 0 }}</text>辆，应收金额<text>{{ totalData.payAmount || 0 }}</text>元，实收金额<text>{{ totalData.realAmount || 0 }}</text>元，
				欠费金额<text>{{ totalData.amtOwe || 0 }}</text>元，其中贵州银行快捷支付<text>{{ totalData.quickAmt || 0 }}</text>元，贵州银行聚合支付<text>{{ totalData.unionAmt || 0 }}</text>元，微信支付<text>{{ totalData.wechatAmt || 0 }}</text>元，无感支付<text>{{ totalData.unconsAmt || 0 }}</text>元，现金支付<text>{{ totalData.cashAmt || 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: 'roadName'
						},
						{
							field: '车辆(辆)',
							width: 80,
							key: 'vehicleCount'
						},
						{
							field: '应收金额(元)',
							width: 80,
							key: 'payAmount'
						},
						{
							field: '实收金额(次)',
							width: 80,
							key: 'realAmount'
						},
						{
							field: '欠费金额(元)',
							width: 80,
							key: 'amtOwe'
						},
						{
							field: '贵州银行快捷支付(元)',
							width: 150,
							key: 'quickAmt'
						},
						{
							field: '贵州银行聚合支付(元)',
							width: 150,
							key: 'unionAmt'
						},
						{
							field: '微信(元)',
							width: 80,
							key: 'wechatAmt'
						},
						{
							field: '无感(元)',
							width: 80,
							key: 'unconsAmt'
						},
						{
							field: '现金(元)',
							width: 80,
							key: 'cashAmt'
						}
					]
				}
			}
		},
		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.getIncomeTotalApi({
					beginTime: this.beginTime,
					endTime: this.endTime
				}).then(res => {
					if (res.code === 200) {
						this.totalData = res.data
					}
				})
			},
			getIncomeList() {
				this.loading = true
				uni.$u.api.statisticalReportApi.getIncomeListApi({
					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 './report.scss';
</style>
