<template>
	<view>
		<view class="text" v-for="(item,index) in data" :key="index">
			<view>
				<view>{{item.organizationName}}</view>
				<view>{{item.statDate}}{{item.statPeriod}}</view>
			</view>
		</view>
		<uni-load-more iconType="circle" :status="status" @clickLoadMore="loadMore" :contentText="contentText"></uni-load-more>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				data: [],
				current: 0,
				size: 10,
				hasMore: true,
				status: '',
				query: {
					statDateStart: '',
					statDateEnd: '',
					statPeriod: ''
				},
				contentText: {
					contentdown: "点击查看更多",
					contentrefresh: "正在加载...",
					contentnomore: "没有更多数据了",
				},
			}
		},
		onLoad() {
			this.loadMore();
		},
		onUnload() {
			this.hasMore = true;
			this.data = [];
		},
		onPullDownRefresh() {
			console.log('onPullDownRefresh');
			this.data = [];
			this.current = 0;
			this.hasMore = true;
			this.loadMore();
		},
		methods: {
			loadMore() {
				if (this.hasMore) {
					this.current = this.current + 1;
					this.status = 'loading';
					let params = '';
					Object.keys(this.query).map(key => {
						params = params + '&' + key + '=' + this.query[key]
					})
					this.$request(getApp().globalData.baseUrl + '/api/biz/highwayParentDataController/list?page=' + this.current +
						'&pageSize=' + this.size + '&_t=' + Date.parse(new Date()) + params, {}, 'GET').then(res => {
						if (res.code == 200) {
							this.data = this.data.concat(res.data.list);
							if (res.data.list.length == 0 || res.data.totalCount < this.size) {
								this.hasMore = false;
								this.status = 'nomore';
							} else {
								this.status = 'more';
							}
							uni.stopPullDownRefresh();
						} else {
							this.status = 'more';
							uni.stopPullDownRefresh();
						}
					}).catch(() => {
						this.status = 'more';
						uni.stopPullDownRefresh();
					})
				}
			},
		}
	}
</script>

<style lang="scss" scoped>
	.text {
		margin: 16rpx 0;
		width: 100%;
		background-color: #fff;
		height: 120rpx;
		line-height: 120rpx;
		text-align: center;
		color: #555;
		border-radius: 8rpx;
	}
</style>