<template>
	<view class="manicure">
		<view>
			<u-tabs-swiper ref="tabs" :list="list" :is-scroll="false" active-color="#FF780F" :current="current" font-size="32" :show-bar="false" @change="tabsChange" height="88"></u-tabs-swiper>
		</view>
		<swiper :current="swiperCurrent" @animationfinish="animationfinish" :style="{ height: swiperHeight }">
			<swiper-item class="swiper-item">
				<scroll-view scroll-y class="order-list" @scrolltolower="reachBottom">
					<u-empty text="暂无订单" mode="order" color="#000000" v-if="!orderList.length"></u-empty>
					<view v-else>
						<view v-for="(item, index) in orderList" :key="index" class="order-item">
							<view class="order-title">
								<view class="order-text">订单</view>
								<view class="order-status">{{ item.status }}</view>
							</view>
							<view class="order-name">美甲人姓名：{{ item.manicure_name }}</view>
							<view class="order-date">时间：{{ item.manicure_time | date }}</view>
						</view>
						<u-loadmore :status="loadStatus" bgColor="#ECECEC" margin-bottom="20" v-if="orderList.length>=pageSize"></u-loadmore>
					</view>
				</scroll-view>
			</swiper-item>
			<swiper-item class="swiper-item">
				<scroll-view scroll-y class="none-page">
					<view></view>
				</scroll-view>
			</swiper-item>
		</swiper>
	</view>
</template>
<script>
export default {
	data() {
		return {
			pageSize: 1,
			list: [{
				name: '我的订单'
			}, {
				name: '申请表'
			}],
			current: 0,
			swiperCurrent: 0,
			page: 1,
			orderList: [],
			loadStatus: 'loadmore',
			timer: true,
			swiperHeight: '',
		}
	},
	onPullDownRefresh() {
		this.getManicureList({ load: 'reload' });
	},
	onLoad() {
		this.setViewHeight();
	},
	onShow() {
		this.current = 0;
		this.swiperCurrent = 0;
		this.getManicureList({ load: 'reload' });
	},
	methods: {
		async getManicureList({ load }) {
			const res = await this.$u.api.getManicureList({
				page: this.page
			})
			uni.stopPullDownRefresh();
			this.timer = true;
			if (res.errCode == 0) {
				if(load == 'reload') this.orderList = res.data.list;
				else if(load == 'loadmore') this.orderList.push(...res.data.list);
			}
			return res.data.list.length;
		},
		// 加载更多
		reachBottom() {
			if(!this.timer) return false;
			this.loadStatus = "loading";
			this.page++;
			this.getManicureList({ load: 'loadmore' }).then(length => {
				if(length == 0) {
					this.page--;
					this.loadStatus = 'nomore';
				} else {
					this.loadStatus = 'loading';
				}
			}).catch(() => {
				this.loadStatus = "nomore";
				this.page--;
			})
		},
		setViewHeight() {
			const res = uni.getSystemInfoSync();
			this.swiperHeight = res.windowHeight - (88 * (res.windowWidth / 750)) + 'px';
		},
		tabsChange(index) {
			this.swiperCurrent = index;
			// this.toApplyPage(index);
		},
		animationfinish(e) {
			let current = e.detail.current;
			this.swiperCurrent = current;
			this.current = current;
			this.toApplyPage(current);
		},
		toApplyPage(index) {
			if(index == 1) {
				uni.navigateTo({
					url: '/pageE/tool/ManicureOrder'
				});
			}
		}
	},
};
</script>
<style lang="scss" scoped>
.manicure {
	min-height: calc(100vh - var(--window-top));
	background-color: #ECECEC;
	display: flex;
	flex-direction: column;
	> uni-swiper {
		flex: 1;
	}
	.swiper-item {
		.order-list {
			height:100%;
			box-sizing: border-box;
			padding: 20rpx 30rpx 0;
			.order-item {
				padding: 30rpx;
				width:690rpx;
				height: 229rpx;
				background: rgba(255,255,255,1);
				border-radius: 10rpx;
				margin-bottom: 20rpx;
				.order-title {
					display: flex;
					align-items: center;
					justify-content: space-between;
					.order-text {
						font-size: 30rpx;
						color: rgba(51,51,51,1);
					}
					.order-status {
						font-size: 28rpx;
						color: rgba(255,120,15,1);
					}
				}
				.order-name {
					font-size: 32rpx;
					font-weight: 500;
					color: rgba(51,51,51,1);
					margin: 43rpx 0 45rpx;
				}
				.order-date {
					font-size: 24rpx;
					color: rgba(153,153,153,1);
				}
			}
		}
	}
}
</style>