<template>
	<view class="container">
		<view class="towcontent">
			<view class="towcontentlistxitem flex-start">
				<view class="towcontentlistxitembox flex-colum" v-for="(item,index) in tabList" :key="index"
					@click="towcontentclick(item)"
					:class="fromInfo.tabIndex == item.status?'towcontentlistxitemboxopacity':''">
					<text class="title">{{item.name}}</text>
					<image v-if="fromInfo.tabIndex == item.status"
						src="https://czg-qr-order.oss-cn-beijing.aliyuncs.com/index/today/dg.png" mode="widthFix">
					</image>
				</view>
			</view>
		</view>

		<view class="containertop">
			<view class="containertopbox">
				<view class="containertopboxitem flex-start" v-for="(item,index) in fromInfo.list" :key="index">
					<view class="containertopboxitemleft flex-colum"
						:class="{'containertopboxitemleft_vip': item.type == 2,'containertopboxitemlefts': fromInfo.status == 0}">
						<view class="containertopboxitemleft_one"
							:class="fromInfo.status != 0?'':'containertopboxitemleft_ones'">
							<block v-if="item.type == 2">
								<text>1</text>
								<text style="font-size: 28rpx;margin-left: 6rpx;">张</text>
							</block>
							<block v-else>
								<text style="font-size: 28rpx;margin-right: 6rpx;">￥</text>
								<text>{{item.discountAmount || 0}}</text>
							</block>

						</view>
						<view class="containertopboxitemleft_tow" :class="{
								'containertopboxitemleft_tows': fromInfo.status == 0,
								'containertopboxitemleft_nameVip': item.type == 2,
							}">
							{{ item.type == 2 ? item.name : '优惠券(元)'}}
						</view>
					</view>

					<view class="containertopboxitemright">
						<view class="containertopboxitemright_one">
							<view class="flex-start">
								<image class="icon"
									src="https://czg-qr-order.oss-cn-beijing.aliyuncs.com/user/coupon_icon.png"
									mode="aspectFill"></image>
								<text class="title">{{ item.shopName }}</text>
							</view>
							<text>无门槛使用</text>
						</view>
						<view class="containertopboxitemright_tow">
							<view> {{ item.type == 2 ? '会员商品券' : item.name}}</view>
							<view @click="navigatorGo(item)"
								:class="fromInfo.status == 0?'containertopboxitemright_four containertopboxitemright_btn':'containertopboxitemright_fours containertopboxitemright_btn'">
								{{fromInfo.status == 0 ? '去使用':'已使用'}}
							</view>
						</view>
						<view class="containertopboxitemright_there" v-if="item.type == 1 ">
							有效期至：{{$u.timeFormat(item.endTime, 'yyyy/mm/dd') || '0'}}
						</view>

					</view>
				</view>

				<view v-if="fromInfo.list.length <= 0" style="text-align: center;">
					<image style="width: 402rpx;height: 442rpx;margin:240rpx auto 32rpx;"
						src="https://czg-qr-order.oss-cn-beijing.aliyuncs.com/nomore.png" mode="aspectFill"></image>
				</view>
				<up-loadmore :status="form.status" fontSize="14" color="#999" iconSize="14" />
			</view>
		</view>
	</view>
</template>

<script setup>
	import {
		ref,
		reactive,
		onMounted,
	} from 'vue';
	import {
		onLoad,
		onReady,
		onShow,
		onPageScroll,
		onReachBottom
	} from '@dcloudio/uni-app'
	import {
		APIcouponfindByUserId,
		APIfindCoupon
	} from '@/common/api/member.js'

	const tabList = [{
			name: '未使用',
			status: '0'
		},
		{
			name: '已使用',
			status: '1'
		},
		{
			name: '已过期',
			status: '2'
		}
	]
	const fromInfo = reactive({
		tabIndex: 0,
		list: [],
		status: 0,
		shopId: null,
		orderId: null,
		couopnInfo: null,
		shoppingCart: [],
		productList: [],
	})
	const form = reactive({
		page: 1,
		size: 10,
		status: 'loadmore',
	})

	// 判断是选择优惠卷
	const Orderinfo = reactive({
		typeOrder: '',
		shopUserId: "",
		payAmount: "",
		shoppingCart: [],
		show: false
	})

	// 初始化
	const init_fn = () => {
		fromInfo.list = []
		form.page = 1
		form.size = 10
		form.status = 'loadmore'
		// navtabindex.value == '1' ? getorderList() : userorderList()
		getCouponList()
	}

	const towcontentclick = (item) => {
		fromInfo.tabIndex = item.status;
		fromInfo.status = item.status;
		fromInfo.list = [];
		getCouponList()
	}

	// 去使用优惠券
	const navigatorGo = (item) => {
		uni.pro.switchTab('index/index')
	}

	const getCouponList = async () => {
		let res = await APIcouponfindByUserId({
			userId: uni.cache.get('userInfo').id,
			status: fromInfo.status,
			shopId: fromInfo.shopId ? fromInfo.shopId : uni.cache.get('shopId'),
			page: form.page,
			size: form.size,
		})
		if (!res) {
			form.status = 'nomore'
			fromInfo.list = []
			return false
		}
		if (res.totalPage == 0 || res.totalPage == 1 && res.totalRow <= 10) {
			form.status = 'nomore'
			fromInfo.list = res.records
			if (form.page == 1 && res.records.length == 0) {
				fromInfo.list = []
			}
			return false;
		} else {
			form.status = 'loading';
			if (form.page == 1) {
				fromInfo.list = res.records
			} else {
				fromInfo.list = [...fromInfo.list, ...res.records];
			}
			form.page = ++form.page;
			if (form.page > res.totalPage) {
				form.status = 'nomore';
			} else {
				form.status = 'loading';
			}
		}
	}
	const cancelCoupon = () => {
		uni.navigateBack();
	}

	onReachBottom(() => {
		if (form.status != 'nomore') {
			getCouponList()
		}
	})
	onMounted(async () => {
		// 获取当前页面栈
		const pages = getCurrentPages();
		// 获取当前页面实例
		const currentPage = pages[pages.length - 1];
		// 获取页面参数
		const options = currentPage.options;

		if (options.shopId) {
			fromInfo.shopId = options.shopId
		}
		// if (options.orderId) {
		// 	fromInfo.orderId = options.orderId
		// }
		// if (options.couopnInfo) {
		// 	this.couopnInfo = JSON.parse(decodeURIComponent(options.couopnInfo))
		// }
		// if (options.shoppingCart) {
		// 	this.shoppingCart = JSON.parse(decodeURIComponent(options.shoppingCart))
		// }
		// if (options.productList) {
		// 	this.productList = JSON.parse(decodeURIComponent(options.productList))
		// }
		init_fn()

	})
</script>

<style lang="scss">
	page {
		background: #fff;
	}

	.container {
		.towcontent {
			padding: 0 28rpx;
			border-top: 16rpx solid #f7f7f7;

			.towcontentlistxitem {
				width: 100%;
				margin-top: 32rpx;

				.towcontentlistxitembox {
					width: 33.33%;
					font-family: PingFang SC, PingFang SC;
					font-weight: 500;
					font-size: 28rpx;
					color: #333333;
					justify-content: flex-start;
					height: 50rpx;

					image {
						margin-top: 6rpx;
						width: 38.83rpx;
						height: 8.62rpx;
					}
				}

				.towcontentlistxitemboxopacity {
					font-weight: bold;

					text {
						color: #E3AD7F;
					}

					image {
						margin-top: 6rpx;
						width: 38.83rpx;
						height: 8.62rpx;
					}
				}


			}
		}

		.containertop {
			padding: 40rpx 32rpx;

			.containertopbox {
				margin-top: 8rpx;

				.containertopboxitem::after {
					position: absolute;
					bottom: 14rpx;
					left: 14rpx;
					content: '';
					display: inline-block;
					background: url(https://czg-qr-order.oss-cn-beijing.aliyuncs.com/coupontop.png) no-repeat;
					width: 72.83rpx;
					height: 77.14rpx;
					background-size: cover;
				}

				.containertopboxitem {
					margin-bottom: 32rpx;
					width: 100%;
					position: relative;
					border-radius: 18rpx;
					box-shadow: 0rpx 6rpx 12rpx 2rpx rgba(0, 0, 0, 0.16);
					overflow: hidden;

					.containertopboxitemleft {
						position: relative;
						width: 182rpx;
						height: 192rpx;
						background: #E3AD7F;
						border-radius: 18rpx 0rpx 0rpx 18rpx;
						padding: 0 20rpx;


						// ::before {
						// 	content: '';
						// 	position: absolute;
						// 	bottom: 0rpx;
						// 	left: 166rpx;
						// 	background: #fff;
						// 	display: inline-block;
						// 	width: 32rpx;
						// 	height: 16rpx;
						// 	line-height: 32rpx;
						// 	border-radius: 32rpx 32rpx 0 0;
						// 	box-shadow: 0rpx 6rpx 12rpx 2rpx rgba(255, 255, 255, 0.16);
						// 	z-index: 999;

						// }

						.containertopboxitemleft_one {
							text {
								font-family: Source Han Sans CN, Source Han Sans CN;
								font-weight: 500;
								font-size: 60rpx;
								color: #FFFFFF;
							}
						}

						.containertopboxitemleft_ones {
							text {
								color: #999999;
							}
						}

						.containertopboxitemleft_tow {
							font-family: Source Han Sans CN, Source Han Sans CN;
							font-weight: 500;
							font-size: 24rpx;
							color: #FFFFFF;
						}

						.containertopboxitemleft_nameVip {
							color: #967152;
						}

						.containertopboxitemleft_tows {
							color: #999999;
						}
					}

					.containertopboxitemleft::after {
						content: '';
						position: absolute;
						top: -20rpx;
						left: 166rpx;
						background: #fff;
						display: inline-block;
						width: 40rpx;
						height: 40rpx;
						border-radius: 50%;
						box-shadow: inset 0rpx 1rpx 9rpx 21rpx rgba(0, 0, 0, 0.04);
						z-index: 999;
					}

					.containertopboxitemleft::before {
						content: '';
						position: absolute;
						bottom: -20rpx;
						left: 166rpx;
						background: #fff;
						display: inline-block;
						width: 40rpx;
						height: 40rpx;
						border-radius: 50%;
						box-shadow: inset 0rpx 0rpx 15rpx 1rpx rgba(0, 0, 0, 0.1);
						z-index: 999;
					}

					.containertopboxitemleft_vip {
						background-color: #E1D4B2;
					}

					.containertopboxitemlefts {
						background: #F7F7F7;
					}

					.containertopboxitemright {
						position: relative;
						padding: 0 32rpx;
						flex: auto;
						height: 192rpx;
						background: #FFFFFF;
						border-radius: 0rpx 18rpx 18rpx 0rpx;

						.containertopboxitemright_one {
							font-family: Source Han Sans CN, Source Han Sans CN;
							padding: 16rpx 0 20rpx 0;
							border-bottom: 1rpx dashed #707070;
							display: flex;
							justify-content: space-between;
							align-items: center;

							.icon {
								width: 26rpx;
								height: 26rpx;
								margin-right: 14rpx;
							}

							text {
								font-weight: bold;
								font-size: 24rpx;
								color: #666666;
							}

							.title {
								color: #333;
							}
						}

						.containertopboxitemright_tow {
							margin-top: 24rpx;
							font-family: Source Han Sans CN, Source Han Sans CN;
							font-weight: bold;
							font-size: 32rpx;
							color: #333333;
							display: flex;
							justify-content: space-between;
							align-items: center;
						}

						.containertopboxitemright_there {
							font-family: Source Han Sans CN, Source Han Sans CN;
							font-weight: 500;
							font-size: 24rpx;
							color: #999999;
						}

						.containertopboxitemright_btn {
							font-family: Source Han Sans CN, Source Han Sans CN;
							font-weight: 500;
							font-size: 24rpx;
							padding: 8rpx 24rpx;
							border-radius: 24rpx 24rpx 24rpx 24rpx;
						}

						.containertopboxitemright_four {
							color: #FFFFFF;
							background: #967152;
						}

						.containertopboxitemright_fours {
							color: #999999;
							background: #F7F7F7;
						}
					}
				}

			}
		}

		.select {
			padding-bottom: 180rpx;
		}

		.btnBox {
			width: 100%;
			position: fixed;
			bottom: 0;
			left: 0;
			z-index: 999;
			background-color: #fff;
			padding: 30rpx 30rpx 50rpx 30rpx;

			.btn {
				width: 100%;
				height: 90rpx;
				line-height: 90rpx;
				text-align: center;
				font-weight: bold;
				font-size: 36rpx;
				color: #FFFFFF;
				border-radius: 12rpx;
				background: #E3AD7F;
			}
		}

	}
</style>