<template>
	<view class="container">
		<view class="page">
			<view class="search">
				<uni-search-bar placeholder="请输入单号" bgColor="#F8F6F9" radius="100" @confirm="search" @cancel="cancel" />
			</view>
			<view class="withdrawal">
				<view class="list" v-if="dataList.length">
					<view class="item" v-for="item in dataList" :key="item.id">
						<view class="title">
							<view class="name">{{item.balanceNum}}</view>
							<view class="tag">已结算</view>
						</view>
						<view class="content">
							<view class="text">
								<view class="name">分利金额</view>
								<view class="detail">¥{{item.balanceMoney}}</view>
							</view>
							<view class="text">
								<view class="name">账单数量</view>
								<view class="detail">{{item.balanceCount}}</view>
							</view>
							<view class="text">
								<view class="name">结算方式</view>
								<view class="detail">{{item.balanceWay}}</view>
							</view>
							<view class="text">
								<view class="name">提交时间</view>
								<view class="detail">{{item.createTime}}</view>
							</view>
						</view>
					</view>
				</view>
				<no-data :show="dataList.length === 0" text="暂无数据"></no-data>
			</view>
		</view>

	</view>
</template>

<script>
	import {
		shareBalanceListApi
	} from '@/config/api.js'
	import noData from '@/components/no-data/no-data'
	export default {
		components: {
			noData
		},
		data() {
			return {
				page: {
					platformType: 'partner',
					balanceStatus: 3,
					pageSize: 10,
					pageNo: 1
				},
				dataList: [],
				isFinish: false,
			}
		},
		methods: {
			async getList(flag) {
				let {
					result
				} = await shareBalanceListApi(this.page)
				this.total = result.total;
				let data = result.records;
				if (flag) {
					uni.stopPullDownRefresh();
					this.dataList = [].concat(data)
				} else {
					this.dataList = this.dataList.concat(data)
				}
				if (data.length < 10) {
					this.isFinish = true
				} else {
					this.page.pageNo += 1
				}
			},
			search(value) {
				if (value.value) {
					this.page.balanceNum = value.value.toString();
					this.dataList = [];
					this.page.pageNo = 1;
					this.getList();
				}
			},
			cancel() {
				this.dataList = [];
				this.page.balanceNum = '';
				this.page.pageNo = 1;
				this.getList();
			}
		},
		onLoad() {
			const token = uni.getStorageSync('token');
			if (token) {
				this.getList()
			}
		},
		onPullDownRefresh() {
			this.page.pageNo = 1
			this.getList(true)
		},
		onReachBottom() {
			if (this.isFinish) return
			this.getList()
		}
	}
</script>
<style>
	page {
		background-color: #F8F6F9;
	}
</style>
<style lang="scss" scoped>
	.page {
		padding: 0 0 90rpx;
		background-color: #F8F6F9;
	}

	.search {
		background-color: #ffffff;
	}

	.withdrawal {
		padding: 30rpx;

		.list {
			.item {
				background-color: #ffffff;
				border-radius: 16rpx;
				padding: 30rpx;
				margin-bottom: 30rpx;

				.title {
					height: 40rpx;
					line-height: 40rpx;
					margin-bottom: 30rpx;
					display: flex;
					justify-content: space-between;

					.name {
						font-size: 34rpx;
						color: #373737;
						display: flex;
						font-weight: bold;

					}

					.tag {
						padding: 0 24rpx;
						height: 40rpx;
						line-height: 40rpx;
						font-size: 24rpx;
						text-align: center;
						color: #B6B6BA;
						background-color: #F8F8F8;
						border: 1px solid #B6B6BA;
						border-radius: 36rpx;
					}
				}


				.content {
					border-top: 1px solid #F0F0F2;
					padding-top: 20rpx;

					.text {
						display: flex;
						height: 60rpx;
						line-height: 60rpx;

						.name {
							width: 180rpx;
							font-size: 28rpx;
							color: #9D9CA6;
						}

						.detail {
							font-size: 28rpx;
							color: #373737;
						}
					}
				}

			}
		}
	}
</style>