<template>
	<view class="content">
		<view class="navbar flex">
			<view class="nav-item" v-for="(navitem,index) in navList" :class="{'action': index == tabCurrentIndex}"
				@click="navClick(index)">
				{{navitem.tit}}
			</view>
		</view>
		<swiper :current="tabCurrentIndex" class="swiper-box" duration="300" @change="getMyPackage('tab')"
			:style="{'height': height}" disable-touch>
			<swiper-item class="tab-content" :style="{'height': height}">
				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="getMyPackage">
					<empty v-if="navList[0].loaded === true && navList[0].orderList.length === 0"></empty>
					<view @click="goToOrderDetail(item)" v-for="(item, index) in navList[0].orderList" :key="index"
						class="order-item">
						<view class="i-top b-b">
							<text class="time">订单编号:{{ item.order_id }}</text>
							<!-- :style="{ color: item.stateTipColor }" -->
							<text class="state">{{ item.status | statusTitle }}</text>
							<text v-if="item.status === 4" class="del-btn iconfont icondelete"
								@click="deleteOrder(index)"></text>
						</view>
						<view class="goods-box-single">
							<image class="goods-img" :src="item.whole.image" mode="scaleToFill"
								@click="lookimg(item.whole.image)"></image>
							<view class="right">
								<view class="flex-start" style="justify-content: space-between;">
									<text class="title clamp">{{ item.whole.title }}</text>
									<text class="price">{{ moneyNum(item.whole.price) }}</text>
								</view>
								<view class="row flex">
									<!-- <text class="row_title">{{ goodsItem.productInfo.attrInfo ? goodsItem.productInfo.attrInfo.suk : '' }}</text> -->
									<text class="attr-box"> x {{ item.whole.num }}</text>
								</view>
							</view>
						</view>
						<view class="action-box b-t" v-if="item.status != 5">
							<button class="action-btn" @click.stop="lookMore(item)">查看详情</button>
							<button v-if="item.status == 0" class="action-btn recom"
								@click.stop="payNew(item)">立即支付</button>
							<button v-if="item.status >= 1" class="action-btn recom"
								@click.stop="stopItem(item)">提货</button>
						</view>
					</view>
					<uni-load-more :status="navList[0].loadingType"></uni-load-more>
				</scroll-view>
			</swiper-item>
			<swiper-item class="tab-content" :style="{'height': height}">
				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="getMyPackage">
					<empty v-if="navList[1].loaded === true && navList[1].orderList.length === 0"></empty>
					<view class="out-wrapper" v-for="item in navList[1].orderList" :class="{'outt': item.status == 2}">
						<view class="out-top flex">
							<view class="buy-info flex">
								<view class="fsz">买家：</view>
								<image :src="item.user.avatar" mode="" class="user-logo fsz"></image>
								<view class="user-name fsz clamp">{{item.user.real_name}}</view>
								<view class="user-phone fsz" @click="call(item.user.phone)">
									{{item.user.phone}}
								</view>
							</view>
							<view class="buy-status">{{item.status | statusTitle}}</view>
						</view>
						<view class="item-info">
							<view class="info-data">
								<view class="info-tit">编号：</view>
								<view class="info-val">{{item.order_id}}</view>
							</view>
							<view class="info-data">
								<view class="info-tit">价值：</view>
								<view class="info-val">{{item.price}}</view>
							</view>
						</view>
						<view class="upimg">
							<view class="up-tit">
								打款凭证：
							</view>
							<view class="img-wrap" v-if="item.pay_evaluation" @click="lookimg(item.pay_evaluation)">
								<image :src="item.pay_evaluation" mode=""></image>
							</view>
							<view class="" style="color: #0F253A;font-weight: bold;font-size: 26rpx;" v-else>
								买家未上传支付凭证
							</view>
						</view>
						<template v-if="item.status == 1">
							<view class="mc-btn pass" @click="passPackage(item)">
								通过
							</view>
							<!-- <view class="mc-btn fail" @click="openrefuse(item)">
								拒绝
							</view> -->
						</template>
					</view>
					<uni-load-more :status="navList[1].loadingType"></uni-load-more>
				</scroll-view>

			</swiper-item>
		</swiper>
		<uni-popup ref="lookimg" type="center">
			<view class="pop-wrap" style="position: relative;">
				<movable-area class="popup-box">
					<movable-view class="popup-item" :scale="true" direction="all">
						<image :src="chooseImg" mode="aspectFit"></image>
					</movable-view>
				</movable-area>
				<image src="../../static/icon/close.png" mode="" class="close" style="width: 80rpx;height: 80rpx;"
					@click="closePup"></image>
			</view>
		</uni-popup>
	</view>
</template>

<script>
	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
	import empty from '@/components/empty';

	import {
		getMyPackage,
		getMySellout,
		packageAudit
	} from '@/api/whole.js'
	export default {
		components: {
			uniLoadMore,
			empty
		},
		data() {
			return {
				chooseImg: '', //查看大图的图
				chooseItem: {},
				height: '',
				tabCurrentIndex: 0,
				navList: [{
						tit: '当天预约',
						orderList: [],
						page: 1,
						limit: 10,
						loadingType: 'more',
						loaded: false,
						day: 'today',
						status: -4
					},
					{
						tit: '转售中',
						orderList: [],
						page: 1,
						limit: 10,
						loadingType: 'more',
						loaded: false,
						day: 'today',
						status: 0
					},
				],
			}
		},
		onReady(res) {
			// 初始化获取页面宽度
			var _this = this;
			uni.getSystemInfo({
				success: resu => {
					const query = uni.createSelectorQuery();
					query.select('.swiper-box').boundingClientRect();
					query.exec(function(res) {
						_this.height = resu.windowHeight - res[0].top + 'px';
						console.log('打印页面的剩余高度', _this.height);
					});
				},
				fail: res => {}
			});
		},
		onLoad() {
			this.getMyPackage()
		},
		filters: {
			statusTitle(val) {
				let str = ''
				switch (val) {
					case -2:
						str = '支付超时'
						break;
					case -1:
						str = '拒绝'
						break;
					case 0:
						str = '待支付'
						break;
					case 1:
						str = '待审核'
						break;
					case 2:
						str = '已通过'
						break;
					case 3:
						str = '重新发放'
						break;
					case 4:
						str = '完成'
						break;
					default:
						str = ''
						break
				}

				return str

			}
		},
		methods: {
			// 查看大图
			lookimg(src) {
				console.log(src, 'chooseImg++++++')
				this.chooseImg = src
				this.$refs.lookimg.open()
			},
			// 查看详情
			lookMore(item) {
				this.chooseItem = item
				uni.navigateTo({
					url: '/pages/user/buySellDetail?type=look'
				})
			},
			// 立即支付
			payNew(item) {
				this.chooseItem = item
				uni.navigateTo({
					url: '/pages/user/buySellDetail?type=up'
				})
			},
			// 转换金额为数字
			moneyNum(value) {
				return +value;
			},
			navClick(index) {
				this.tabCurrentIndex = index
				// this.getMyPackage('tab')
			},
			getMyPackage(tab) {
				let obj = this
				let index = obj.tabCurrentIndex
				let navItem = obj.navList[index]
				if (navItem.loadingType == 'noMore' || navItem.loadingType == 'loading') {
					return
				}
				if (tab == 'tab' && navItem.loaded) {
					return
				}
				navItem.loadingType == 'loading'
				if (index == 0) {
					getMyPackage({
						page: navItem.page,
						limit: navItem.limit,
						data: navItem.day,
						status: navItem.status
					}).then(({
						data
					}) => {
						navItem.orderList = navItem.orderList.concat(data.data)
						navItem.page++
						if (navItem.limit == data.data.length) {
							navItem.loadingType = 'more'
						} else {
							navItem.loadingType = 'noMore'
						}
						navItem.loaded = true
					})
				}
				if (index == 1) {
					getMySellout({
						page: navItem.page,
						limit: navItem.limit,
					}).then(({
						data
					}) => {
						navItem.orderList = navItem.orderList.concat(data.data)
						navItem.page++
						if (navItem.limit == data.data.length) {
							navItem.loadingType = 'more'
						} else {
							navItem.loadingType = 'noMore'
						}
						navItem.loaded = true
					})
				}
			},
			//添加或修改成功之后回调
			refreshList() {
				// 重新加载地址
				let navItem = this.navList[this.tabCurrentIndex]
				navItem.orderList = []
				navItem.page = 1
				navItem.loadingType = 'more'
				navItem.loaded = false
				this.getMyPackage()

			},
			// 同意
			passPackage(item) {
				let index = this.navList[1].orderList.indexOf(item)
				console.log(index, 'index')
				packageAudit({
					re: '',
					id: item.id,
					status: 2
				}).then(res => {
					uni.showToast({
						title: '审核通过',
						duration: 2000
					});
					console.log(res)
					this.navList[1].orderList[index].status = 2

					// this.reload()

				})
			},
			closePup() {
				this.chooseImg = ''
				this.$refs.lookimg.close()
			},
			// 提货
			stopItem(item) {

			}
		}
	}
</script>

<style lang="scss" scoped>
	.navbar {
		background-color: #fff;
		height: 40px;

		.nav-item {
			width: 50%;
			text-align: center;
			font-size: 30rpx;
			font-family: PingFang SC;
			font-weight: 500;
			color: #333333;
		}

		.action {
			font-weight: bold;
			position: relative;
			color: #FF4C4C;

			&::after {
				content: '';
				width: 84rpx;
				height: 4rpx;
				background: #FF4C4C;
				border-radius: 2px;
				position: absolute;
				bottom: -20rpx;
				left: 0;
				right: 0;
				margin: auto;
			}
		}
	}

	.swiper-box {
		padding-top: 20rpx;
		// height: calc(100% - 40px);
		// background-color: red;
	}

	.list-scroll-content {
		height: 100%;
	}

	.order-item {
		display: flex;
		flex-direction: column;
		padding-left: 30rpx;
		background: #fff;
		margin-bottom: 16rpx;

		.i-top {
			display: flex;
			align-items: center;
			height: 80rpx;
			padding-right: 30rpx;
			font-size: $font-base;
			color: $font-color-dark;
			position: relative;

			.time {
				flex: 1;
			}

			.state {
				color: $base-color;
			}

			.del-btn {
				padding: 10rpx 0 10rpx 36rpx;
				font-size: $font-lg;
				color: $font-color-light;
				position: relative;

				&:after {
					content: '';
					width: 0;
					height: 30rpx;
					border-left: 1px solid $border-color-dark;
					position: absolute;
					left: 20rpx;
					top: 50%;
					transform: translateY(-50%);
				}
			}
		}

		/* 多条商品 */
		.goods-box {
			height: 160rpx;
			padding: 20rpx 0;
			white-space: nowrap;

			.goods-item {
				width: 120rpx;
				height: 120rpx;
				display: inline-block;
				margin-right: 24rpx;
			}

			.goods-img {
				display: block;
				width: 100%;
				height: 100%;
			}
		}

		/* 单条商品 */
		.goods-box-single {
			display: flex;
			padding: 20rpx 0;

			.goods-img {
				display: block;
				width: 120rpx;
				height: 120rpx;
			}

			.right {
				flex: 1;
				display: flex;
				flex-direction: column;
				padding: 0 30rpx 0 24rpx;
				overflow: hidden;

				.row {
					margin-top: 10rpx;
				}

				.row_title {
					padding: 5rpx 10rpx;
					background-color: #dddddd;
					border-radius: 10rpx;
					font-size: 22rpx;
					color: #ffffff;
				}

				.title {
					font-size: $font-base + 2rpx;
					color: $font-color-dark;
					line-height: 1;
					width: 80%;
				}

				.attr-box {
					display: flex;
					justify-content: flex-end;
					font-size: $font-sm + 2rpx;
					color: $font-color-light;
				}

				.price {
					display: inline;
					font-size: $font-base + 2rpx;
					color: $font-color-dark;

					&:before {
						content: '￥';
						font-size: $font-sm;

					}
				}
			}
		}

		.price-box {
			display: flex;
			justify-content: flex-end;
			align-items: baseline;
			padding: 20rpx 30rpx;
			font-size: $font-sm + 2rpx;
			color: $font-color-light;

			.num {
				margin: 0 8rpx;
				color: $font-color-dark;
			}

			.price {
				font-size: $font-lg;
				color: $font-color-dark;

				&:before {
					content: '￥';
					font-size: $font-sm;
					margin: 0 2rpx 0 8rpx;
				}
			}
		}

		.action-box {
			display: flex;
			justify-content: flex-end;
			align-items: center;
			height: 100rpx;
			position: relative;
			padding-right: 30rpx;
		}

		.action-btn {
			width: 160rpx;
			height: 60rpx;
			margin: 0;
			margin-left: 24rpx;
			padding: 0;
			text-align: center;
			line-height: 60rpx;
			font-size: $font-sm + 2rpx;
			color: $font-color-dark;
			background: #fff;
			border-radius: 100px;

			&:after {
				border-radius: 100px;
			}

			&.recom {
				color: $base-color;

				&:after {
					border-color: $base-color;
				}
			}

			&.evaluate {
				color: $color-yellow;

				&:after {
					border-color: $color-yellow;
				}
			}
		}
	}

	.out-wrapper {
		width: 690rpx;
		// height: 392rpx;
		background: #FFFFFF;
		box-shadow: 0px 0px 17rpx 0px rgba(0, 0, 0, 0.05);
		border-radius: 20rpx;
		margin: 0 auto 20rpx;
		padding: 30rpx;
		position: relative;

		.outt {
			height: 392rpx;
		}

		.out-top {
			line-height: 46rpx;
			justify-content: space-between;

			.buy-info {
				width: 450rpx;
				font-size: 32rpx;
				font-family: PingFang SC;
				font-weight: bold;
				color: #0F253A;
				justify-content: flex-start;

				.fsz {
					flex-shrink: 0;
				}

				.user-name {
					max-width: 180rpx;
				}

				.user-phone {
					padding-left: 10rpx;
					font-size: 24rpx;
					font-family: PingFang SC;
					font-weight: 500;
					color: #999999;
				}

				.user-logo {
					display: block;
					width: 46rpx;
					height: 46rpx;
					border-radius: 50%;
					// background-color: red;
					// padding-right: 10rpx;
					margin-right: 10rpx;
				}
			}

			.buy-status {
				font-size: 26rpx;
				font-family: PingFang SC;
				font-weight: 500;
				color: #6D7C88;
			}
		}

		.item-info {
			width: 100%;
			margin-top: 28rpx;
			line-height: 50rpx;
			font-size: 26rpx;
			font-family: PingFang SC;
			display: flex;
			flex-wrap: wrap;

			.info-data {
				width: 100%;
				display: flex;

				.info-tit {

					font-weight: 500;
					color: #6D7C88;
				}

				.info-val {
					color: #0F253A;
					font-weight: bold;
				}
			}
		}

		.upimg {
			padding-top: 10rpx;
			display: flex;

			.up-tit {
				display: inline-block;
				font-size: 26rpx;
				font-family: PingFang SC;
				font-weight: 500;
				color: #6D7C88;
			}

			.img-wrap {
				width: 153rpx;
				height: 152rpx;

				border-radius: 20rpx;

				image {
					border-radius: 20rpx;
					width: 153rpx;
					height: 152rpx;
					background-color: #ccc;
				}
			}
		}

		.mc-btn {
			width: 144rpx;
			line-height: 50rpx;
			border-radius: 25px;
			background: #FFFFFF;
			font-size: 26rpx;
			font-family: PingFang SC;
			font-weight: 500;
			text-align: center;
			position: absolute;
			bottom: 47rpx;
		}

		.pass {
			color: #FF4C4C;
			border: 2px solid #FF4C4C;
			right: 36rpx;
		}

		.fail {
			color: #999999;
			border: 2px solid #EBEBEB;

			right: 36rpx;
		}
	}

	.pop-wrap {
		width: 522rpx;
		height: 800rpx;
		// background-color: red;
	}

	.popup-box {
		width: 522rpx;
		height: 800rpx;
		border-radius: 20rpx;
		position: relative;
		overflow: hidden;
		background-color: #fff;

		.popup-item {
			width: 100%;
			height: 100%;


			image {
				width: 100%;
				// height: 100%;
			}
		}

	}

	.close {
		display: block;
		width: 40rpx;
		height: 40rpx;
		border: 50%;
		position: absolute;
		// background-color: red;
		bottom: -100rpx;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
</style>
