<template>
	<view class="box">
		<view class="tab">
			<view class="tabLine" :class="{tabActive:tabIndex==6}" @click="tabClick(6)">全部</view>
			<view class="tabLine" :class="{tabActive:tabIndex==1}" @click="tabClick(1)">待付款</view>
			<view class="tabLine" :class="{tabActive:tabIndex==2}" @click="tabClick(2)">待确认</view>
			<view class="tabLine" :class="{tabActive:tabIndex==3}" @click="tabClick(3)">待收货</view>
			<view class="tabLine" :class="{tabActive:tabIndex==4}" @click="tabClick(4)">待服务</view>
			<view class="tabLine" :class="{tabActive:tabIndex==5}" @click="tabClick(5)">待评价</view>
		</view>
		<view class="main">
			<view class="itemBg" v-for="(item,index) in items" @click="goDetail(item.ID)">
				<view class="itemTop">
					<view style="color: #999999; font-size: 24rpx;">保养订单</view>
					<view class="itemSheetState" v-if="item.SheetState==1">待付款</view>
					<view class="itemSheetState" v-if="item.SheetState==2">待确定</view>
					<view class="itemSheetState" v-if="item.SheetState==3">待收货</view>
					<view class="itemSheetState" v-if="item.SheetState==4">待服务</view>
					<view class="itemSheetState" v-if="item.SheetState==5">已完成</view>
					<view class="itemSheetState" v-if="item.SheetState==0">已取消</view>
				</view>
				<view class="itemShopBg">
					<view class="shopName">{{item.ShopName}}</view>
					<view class="price">￥{{item.raleMoney}}</view>
				</view>
				<view class="itemName">{{item.itemNameList}}</view>
				<view class="itemName">{{item.goodNameList}}</view>
				<view class="plateNumber">{{item.PlateNumber}}</view>

				<view class="itemLineBottom">
					<view class="itemBtn2" v-if="item.SheetState==1" @click.stop="orderPay(item)">立即支付</view>
					
					<!-- ChangeState  更换门店：1待处理2更换成功3更换关闭    3的不展示 -->
					<view class="orderState" v-if="item.ChangeState==1">更换门店中</view>
					<view class="orderState" v-if="item.ChangeState==2">更换成功</view>
					
					<!-- ServiceState  退款申请：1待处理2退款成功3退款关闭    3的不展示 -->
					<view class="orderState" v-if="item.ServiceState==1">更换门店中</view>
					<view class="orderState" v-if="item.ServiceState==2">更换成功</view>
					

					<view class="itemBtn2" v-if="item.SheetState==5&&item.EvaluateState==0"
						@click.stop="goEvaluate(item)">
						立即评价</view>
					<view class="itemBtn1" v-if="item.SheetState==5&&item.EvaluateState==1"
						@click.stop="gopingjia(item)">
						查看评价</view>

				</view>


			</view>

			<nodata v-show="items==''&&isload"></nodata>
		</view>
	</view>
</template>

<script>
	import nodata from '@/components/nodata/nodata.vue'
	export default {
		components: {
			nodata
		},
		data() {
			return {
				page: 1,
				tabIndex: '',
				items: [],
				isload: false,
			}
		},
		onLoad(opt) {

			this.tabIndex = opt.num;

			this.getData()
		},
		onShow() {
			console.log(this.tabIndex)

			this.getData()

		},
		methods: {
			goEvaluate(item) {
				uni.navigateTo({
					url: 'evaluate?shopID=' + item.ShopID + '&sheetID=' + item.ID
				})
			},
			gopingjia(item) {
				uni.navigateTo({
					url: '../me/myAppraiseDetail?id=' + item.ID
				})
			},


			tabClick(num) {
				this.tabIndex = num;


				this.page = 1;
				this.getData()
			},
			goDetail(id) {
				uni.navigateTo({
					url: 'orderDetail?id=' + id
				})
			},
			getData() {
				uni.showLoading({
					title: '加载中'
				});
				this.isload = false;
				if (this.tabIndex == 6) {
					var padata = {
						page: this.page,
						limit: 10,
					}
				} else {
					if (this.tabIndex == 5) {
						var padata = {
							page: this.page,
							limit: 10,
							evaluateState: '待评价'
						}
					} else {
						var padata = {
							page: this.page,
							limit: 10,
							state: this.tabIndex
						}
					}
				}

				this.$http('worldKeepCar/keepCarMy/listMiNiTMSheetPage', padata, 'GET').then(res => {
					uni.hideLoading();
					this.isload = true;

					var list = res.data.Items;

					if (this.page == 1) {
						this.items = list
					} else {
						this.items = this.items.concat(list)
					}

				})
			},
			orderPay(item) {
				uni.showLoading({});
				var that=this;
				this.$http('worldKeepCar/maintainOrder/orderPay', {
					sheetID: item.ID
				}, 'POST').then(res => {
					uni.hideLoading();
					if(res.isPay==0){
						uni.showToast({
							title: '支付成功',
							icon: 'none',
							duration: 2000
						});	
						that.getData()
					}else{
						var payInfo = JSON.parse(res.data.payInfo)
						uni.requestPayment({
							provider: 'wxpay',
							// timeStamp: String(Date.now()),
							timeStamp: payInfo.timeStamp,
							nonceStr: payInfo.nonceStr,
							package: payInfo.package,
							signType: payInfo.signType,
							paySign: payInfo.paySign,
							success: function(res) {
								console.log('success:' + JSON.stringify(res));
								uni.showToast({
									title: '支付成功',
									icon: 'none',
									duration: 2000
								});
								that.getData()
							},
							fail: function(err) {
								console.log('fail:' + JSON.stringify(err));
						
							}
						});
					}
					
				})
			},
		},
		onReachBottom() {
			this.page++;

			this.getData()
		},
		onPullDownRefresh() {
			this.page = 1;
			this.getData()
			setTimeout(function() {
				uni.stopPullDownRefresh();
			}, 1000);
		}
	}
</script>

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

	.tab {
		background: #FFFFFF;
		display: flex;
		justify-content: space-between;
		line-height: 92rpx;
		position: fixed;
		width: 100%;
		height: 92rpx;
		z-index: 11;
	}

	.tabLine {
		width: 180rpx;
		text-align: center;
	}

	.tabActive {
		color: #FF4F00;
		border-bottom: 4rpx solid #FF4F00;
	}

	.main {
		padding-top: 92rpx;
		padding-bottom: 20rpx;
		background-color: #F4F5F7;
	}

	.itemBg {
		margin: 20rpx 24rpx;
		background-color: #FFFFFF;
		border-radius: 10rpx;
		padding: 20rpx;
	}

	.itemTop {
		display: flex;
		justify-content: space-between;
	}

	.itemSheetState {
		font-size: 24rpx;
		color: #FF2400
	}

	.itemShopBg {
		display: flex;
		justify-content: space-between;
		margin: 20rpx 0;
	}

	.shopName {
		color: #333333;
		font-size: 30rpx;
	}

	.price {
		color: #333333;
		font-size: 32rpx;
	}

	.itemName {
		color: #666666;
		font-size: 24rpx;

		height: 30rpx;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.plateNumber {
		color: #666666;
		font-size: 24rpx;
		margin: 15rpx 0 20rpx;
	}

	.itemLineBottom {
		display: flex;
		justify-content: flex-end;

	}

	.itemBtn1 {
		width: 150rpx;
		height: 56rpx;
		border-radius: 36rpx;
		border: 2rpx solid #DDDDDD;
		text-align: center;
		line-height: 56rpx;
		font-size: 28rpx;
		color: #3C3C3C;
		margin-left: 40rpx;
	}

	.itemBtn2 {
		width: 150rpx;
		height: 56rpx;
		border-radius: 36rpx;
		border: 2rpx solid #FF4F00;
		text-align: center;
		line-height: 56rpx;
		font-size: 28rpx;
		color: #FF4F00;
		margin-left: 40rpx;
	}
</style>
