<template>
	<view class="">
		<uni-nav-bar dark :fixed="true" background-color="#00aaff" :border="false" status-bar title="个人中心" />
		<view class="content">
			<view class="topBox">
				<view class="users">
					<view class="u-top" 
					@click="$utils.navigateTo('/login/wxUserInfo')"
					v-if="userInfo.appletOpenid">
						<image class="img" :src="userInfo.headImage" mode="widthFix"></image>
						<view class="tit">
							{{ userInfo.nickName }}
						</view>
					</view>
					<view class="u-top" 
					v-else
					@click="$utils.navigateTo('/login/login')">
						<image class="img"
							src="https://img2.baidu.com/it/u=2953585264,744730101&fm=253&fmt=auto&app=138&f=JPEG?w=360&h=360"
							mode="widthFix"></image>
						<view class="tit">
							登录 / 注册
						</view>
					</view>
				</view>
			</view>

			<view class="listBox">
				<view class="lists">
					<uni-section title="我的订单" type="line" titleFontSize="34rpx"
						style="border-radius: 10rpx;"></uni-section>
					<view class="order-list">
						<view v-for="(item,index) in orderList" :key="item.id" class="order-item">
							<view class="order-item-top">
								<view class="order-id">{{ item.id }}</view>
								<view class="time">{{ item.createTime }}</view>
							</view>
							<div class="order-item-main">
								<div class="title">付款金额</div>
								<view class="money-detail">
									<view class="unie">￥</view>
									<view class="number">{{ item.price }}</view>
								</view>
							</div>
							<view class="title"
							style="padding: 20rpx;">
								{{ item.title }}
							</view>
						</view>
					</view>
					<view v-if="orderList.length == 0" class="no-data">
						<image src="@/static/empty/noData.png" mode=""></image>
						<view class="">
							空空如也！
						</view>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	import {
		mapState
	} from 'vuex'
	export default {
		name: 'Center',
		computed: {
			...mapState(['userInfo']),
		},
		data() {
			return {
				queryParams: {
					pageNo: 1,
					pageSize: 10
				},
				orderList: [],
				total : 0
			}
		},
		onShow() {
			if (uni.getStorageSync('token')) {
				this.$store.commit('getUserInfo')
				this.getOrderList()
			}
		},
		//滚动到屏幕底部
		onReachBottom() {
			if(this.queryParams.pageSize < this.total){
				this.queryParams.pageSize += 10
				this.getOrderList()
			}
		},
		methods: {
			//获取订单列表
			getOrderList() {
				this.$api('getPayOrderPage', this.queryParams, res => {
					this.orderList = res.result.records
					this.total = res.result.total
				})
			},
		}
	}
</script>

<style scoped>
	.content {
		background: #F1F5F8;
		min-height: 100vh;
	}

	/* 弧形背景 */
	.topBox {
		width: 100%;
		position: relative;
		z-index: 1;
		overflow: hidden;
		padding: 60rpx 20rpx 20rpx;
		box-sizing: border-box;
	}

	.topBox::after {
		content: "";
		width: 140%;
		height: 100px;
		position: absolute;
		left: -20%;
		top: 0;
		z-index: -1;
		border-radius: 0 0 30% 50%;
		/* background: #00aaff; */
		background: #000;
	}

	.txt {
		color: #fff;
		font-size: 30rpx;
	}

	.set-right .uni-icons {
		margin-right: 10rpx;
	}

	.users {
		display: flex;
		align-items: center;
		margin-top: 0rpx;
		padding: 0rpx 30rpx;
		box-sizing: border-box;
		height: 200rpx;
		background-color: #fff;
		box-shadow: 1px 10rpx 20rpx #ececec;
		border-radius: 12rpx;
	}

	.u-top {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	.users .u-top .img {
		width: 130rpx;
		height: 130rpx;
		border-radius: 50%;
		margin-right: 20rpx;
	}

	.u-top .tit {
		font-size: 30rpx;
		font-weight: 700;
		color: #333;
	}

	.u-item {
		text-align: center;
	}

	.u-item .u-tit {
		color: #757575;
		font-size: 26rpx;
		margin-top: 10rpx;
	}

	.u-item .num {
		color: #000000;
		font-size: 33rpx;
		font-weight: 700;
	}

	.bottomBox {
		padding: 20rpx;
		box-sizing: border-box;
	}

	.order-list {
		padding-top: 20rpx;
	}

	.order-item {
		width: 100%;
		background: white;
		border-radius: 20rpx;
		margin-bottom: 20rpx;
		overflow: hidden;
	}

	.order-item .order-item-top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 80rpx;
		font-size: 24rpx;
		box-sizing: border-box;
		padding: 0rpx 20rpx;
	}

	.order-item .order-item-main {
		padding: 60rpx 0rpx;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.order-item-main .title {
		color: #5a5a5a;
	}

	.order-item-main .money-detail {
		display: flex;
		align-items: center;
		margin-top: 20rpx;
	}

	.money-detail .unit {
		font-size: 34rpx;
	}

	.money-detail .number {
		font-size: 60rpx;
	}

	.no-data {
		padding: 30rpx;
		box-sizing: border-box;
		background-color: #fff;
		display: flex;
		justify-content: space-around;
		align-items: center;
		flex-direction: column;
		color: #757575;
	}

	.listBox {
		margin: -10rpx auto 0;
		padding: 20rpx;
		box-sizing: border-box;
		border-radius: 20rpx;
	}
</style>