<template>
	<view class="" style="background-color: #efefef;">
		<cu-custom class="main-topbar bg-main-oil" :isBack="true" bgColor="bg-main-oil">
			<block slot="backText">返回</block>
			<block slot="content">{{'支付状态'}}</block>
		</cu-custom>
		<view class="text-center margin-top icon-container boxsings_main_top">
			<view class="cu-avatar xl round text-sl headImg showIcons">
				<image src="../../static/img/new_logo.png" class='showimgs' mode=""></image>
			</view> 
		</view>
				<view class="radius margin  bg-white padding-top padding " style="padding-top: 125rpx;"> 
					<view class="">
						<view class="payStatue_text">
							<text>{{PayTitle}}</text> 
						</view>
						<view class="number text-xl text-center oil-main-color">¥{{displayMoney|numberFormat}}</view>
					</view>
					<view class="payStatue"> 
						<view class="payStatue_p" v-if="payState == 0">
							<text>请勿离开当前页面,等待支付完成</text>
						</view>
						<view class="payStatue_p" v-if="payState == 2">
							<button style="width: 500upx;margin-bottom: 40upx;" v-if="payState == 2" class="round large cu-btn bg-main-oil" @tap="singleCheck(orderId)">手动刷新</button>
						</view>
					</view>
					<view class="margin-bottom-sm" @tap="copyId(orderInfos.customerId,'司机编号')">
						司机编号
						<text class="fr">{{orderInfos.customerId}}<text :class="orderInfos.customerId?'cuIcon-copy':''" class="flex-sub padding-left-sm text-right  text-lg text-red">
							</text></text>
					</view>
					<view class="margin-bottom-sm">
						加油司机
						<view class="fr">
							<text>{{ orderInfos.customerName ? orderInfos.customerName : '丰油用户' }}</text> <text class="padding-left-sm">{{orderInfos.plateNumber|plateFilter}}
							</text>
						</view>
		
					</view>
		
					<!-- 	<view class="margin-bottom-sm" @tap="copyId(orderItem.carNo,'司机车牌')">
						司机车牌
						<text class="fr">{{orderItem.carNo?orderItem.carNo:'暂无'}}<text :class="orderItem.carNo?'cuIcon-copy':''" class="flex-sub padding-left-sm text-right  text-lg text-red">
							</text></text>
					</view> -->
		
					<view class="margin-bottom-sm">
						油枪油号
						<text class="fr">{{orderInfos.oilsBar}}号枪{{orderInfos.oilName||orderInfos.oilsCode}}</text>
					</view> 
					<view class="margin-bottom-sm">
						油机单价
						<text class="fr">¥{{orderInfos.sitePrice||orderInfos.price |UnitPriceFormat}} / 升</text>
					</view>
					<view class="margin-bottom-sm">
						加油升数
						<text class="fr">{{orderInfos.volume|numberFormat}} 升</text>
					</view>
					<view class="margin-bottom-sm" v-if="orderSource=='mpxoil'">
						油机总价
						<text class="fr">¥{{displayMoney|numberFormat}}</text>
					</view>
					
					<!-- <view class="margin-bottom-sm" v-if="orderItem.xoilDiscountAmount">
						星卡优惠
						<text class="fr">¥ {{(orderItem.xoilDiscountAmount)|numberFormat}}</text>
					</view>
					<view class="margin-bottom-sm" v-else>
						星卡优惠
						<text class="fr">¥ {{(orderItem.amount-orderItem.realamount)|numberFormat}}</text>
					</view>
					<view class="margin-bottom-sm">
						优惠券
						<text class="fr">{{orderItem.coupon|couponFormat}}</text>
					</view> -->
					<!-- <view class="margin-bottom-sm">
						实扣款
						<text class="fr oil-main-color">¥ {{orderItem.realamount|numberFormat}}</text>
					</view> -->
				</view>
				<view class="radius   bg-white margin padding ">
					<view class="flex padding-bottom-sm">
						<view class="basis-sm">
							加油站名称
						</view>
						<view class="basis-lg text-right text-cut">{{orderItem.siteName}}</view>
					</view>
					<view class="flex padding-bottom-sm">
						<view class="basis-xs">
							地址
						</view>
						<view class="basis-xl text-right text-cut">{{orderItem.siteAddress}}</view>
					</view>
				</view>
				<view class="radius   bg-white margin margin-bottom-0 padding">
					<view class="margin-bottom-sm" @tap="copyId(orderInfos.orderSerialNumber,'订单号')">
						订单号
						<text class=" fr">{{orderInfos.orderSerialNumber}}<text class="flex-sub padding-left-sm text-right cuIcon-copy text-lg text-red">
							</text></text>
					</view>
					<view class="margin-bottom-sm">
						下单时间
						<text class="fr">{{orderInfos.createTime}}</text>
					</view>
					<!-- <view class="margin-bottom-sm">
						扣款时间
						<text class="fr">{{orderItem.paydatetime}}</text>
					</view> -->
				<!-- 	<view class="padding-bottom-sm">
						开票状态
						<text class="fr" v-if="formQr">未开票</text>
						<text class="fr" v-else>{{orderItem.invoiceState|invoiceStateFormat}}</text>
					</view> -->
					<!-- <view class="margin-bottom-sm" v-if="orderItem.paydatetime">
		  支付时间
		  <text class="fr">{{orderItem.paydatetime}}</text>
		</view>-->
				</view>
				<view class="radius   bg-white margin margin-bottom-0 padding" v-if='orderItem.plateNumberImages'>
					<view class="flex padding-bottom-sm"> 
						<view class="basis-sm">
							车辆照片
						</view>
						<view class="basis-lg text-right text-cut" @tap="showImg('car')">点击查看</view>
					</view>
					<view class="flex padding-bottom-sm"> 
						<view class="basis-xs">
							 油站照片
						</view>
						<view class="basis-xl text-right text-cut"  @tap="showImg('oli')">点击查看</view>
					</view>
				</view>
				<view class="padding-lg padding-top-40 padding-bottom-xl">
				<!-- 	<button v-show="formQr" @tap="scanQr" class="bg-main-oil margin-bottom">
						<text class="cuIcon-scan padding-right-xs"></text>
						继续加油</button> -->
						<button   v-if="payState == 1" class="round large cu-btn bg-main-oil btn-oils" @tap="toDetails(orderId)">前往订单</button>
						<button   v-if="payState == 2" class="round large cu-btn bg-main-oil  btn-oils" @tap="getScanning()">重新扫码下单</button>
						<button   v-if="payState != 0" class="round large cu-btn bg-main-oil  btn-oils" @tap="gotoHome()">返回首页</button>
				<!-- 	<button class="bg-red light margin-bottom" @tap="backHome">
						<text class="cuIcon-home padding-right-xs"></text>
						返回首页</button> -->
		
				</view>
				<u-popup v-model="show" mode="center"  @close="close" >
					<view style="width: 100%;height: 100%;">
					   <image :src="showUrl" style=" max-width: 80%;max-height: 80%;" mode=""></image>
					</view>
				</u-popup>
		<!-- <view class="margin-sm bg-white padding-lg">
			<view class="padding-top margin-bottom"></view>
			<view class="text-xsl text-center">
				<text class="cuIcon-rechargefill oil-main-color"></text>
			</view>
			<view class="text-center text-bold" style='font-size:40upx;margin-bottom: 40upx;'>
				{{PayTitle}}
			</view> 
			<view class="text-center">
				<button style="width: 500upx;margin-bottom: 40upx;" v-if="payState == 1" class="round large cu-btn bg-main-oil" @tap="toDetails(orderId)">前往订单</button>
				<button style="width: 500upx;margin-bottom: 40upx;" v-if="payState == 2" class="round large cu-btn bg-main-oil" @tap="getScanning()">重新扫码下单</button>
				<button style="width: 500upx; margin-bottom: 40upx;" v-if="payState != 0" class="round large cu-btn bg-main-oil" @tap="gotoHome()">返回首页</button>
			</view>
		</view>
		<view class="margin-sm bg-white padding">
			<view class="margin-bottom-sm"  >
				加油司机
				<text class="fr">
					{{driverMsg.customerName}} 
				</text>
			</view> 
			<view class="margin-bottom-sm"  >
				司机车牌
				<text class="fr">
					{{driverMsg.plateNumbers[0]}} 
				</text>
			</view>
			<view class="margin-bottom-sm">
				油号
				<text class="fr"> {{insertResult.oilsCode}}</text>
			</view>
			<view class="margin-bottom-sm">
				加油总金额
				<text class="fr">¥ {{insertResult.totalPrice }}</text>
			</view>
			<view class="margin-bottom-sm">
				加油升数
				<text class="fr">{{insertResult.volume }} 升</text>
			</view>
			<view class="margin-bottom-sm">
				星游优惠
				<text class="fr">¥ {{insertResult.xoilDiscountAmount }}</text>
			</view>
		
			<view class="margin-bottom-sm">
				实扣款
				<text class="fr oil-main-color">¥ {{insertResult.payRealAmount }}</text>
			</view>
		</view> -->
	</view>
</template>

<script>
	import oilFinanceApi from '@/api/oil-finance.js'
	export default{
		data(){
			return{
				orderItem:uni.getStorageSync('SiteInfo'),
				insertResult:{},
				orderId:'',
				timerF:'',
				checkTime:40,
				payState:0,
				PayTitle:'正在支付中',
				orderInfos:{}
			}
		},
		filters:{numberFormat(value) {
			if (value != 'xxx.x') {
				console.log('old:',value)
					let realAmount =value.toFixed(2) 
					console.log('new:',realAmount)
				return realAmount
			} else { 
				return value
			}
		},
			UnitPriceFormat(value){
				console.log('++++++++++++++++++++',value)
				if(value){
					return value
				} else{
					return '--'
				}
			},
		},
		onLoad(option) {
			console.log(option)
			let insertResult= JSON.parse(option.item)
			this.insertResult = insertResult
			console.log(this.insertResult)
			this.orderId =insertResult.orderId
			let orderId=insertResult.orderId
			console.log(this.orderId) 
			this.checkSf(orderId)//进入获取订单信息
			this.timerF = setInterval((res)=>{
				this.checkSf(orderId)
			},5000)
		}, 
		
		methods:{
			getScanning(){ //支付取消 或失败 前往重新下单
				uni.redirectTo({
					url: '/pages/stationDetail/stationDetail',
					fail: (err) => { 
					}
				}) 
			},
			gotoHome(){ // 返回首页
				uni.reLaunch({
					url: '/pages/index/index',
					fail: (err) => { 
					}
				})
			},
			singleCheck(ids){ //单独调用check 订单状态
				let _that = this
				oilFinanceApi.checkOrderState(ids).then( (res)=>{
					console.log(res)
					if(res.code == 20000){  
						_that.displayMoney  =res.data.payRealAmount
						_that.orderInfos =  res.data
						console.log(_that.orderInfos)
						_that.payState =  res.data.orderStatus
						 if(res.data.orderStatus == 0){
							 _that.PayTitle = '正在支付中....'
						 }
						 if(res.data.orderStatus == 1){
							_that.PayTitle = '支付成功'
							if(_that.payState != 0 || res.data.orderStatus==1){
								console.log('测试手动刷新是否进入清除计时器')
								clearInterval(_that.timerF)
							}
						 }
						 if(res.data.orderStatus == 2){
							 if(!res.data.cancelRemak){
								_that.PayTitle = '支付已取消'
							 }else{
								_that.PayTitle = res.data.cancelRemak
							 } 
							if(_that.payState != 0 || res.data.orderStatus==2){
								console.log('测试手动刷新是否进入清除计时器')
								clearInterval(_that.timerF)
							}
						} 
					} 
				} ) 
			},
			toDetails(id) {
				uni.setStorageSync('orderId', id)
				console.log('id', id)
				uni.redirectTo({
					url: '/packageOrders/pages/orderList/OrderDetail/OrderDetail'
				})
			
			},
			checkSf(id){// 轮询 check 顺丰订单状态
				let _that = this,
					time = _that.checkTime,
					ids = id
				if(time<=0){ 
					uni.showToast({
						title:'支付已取消'
					})
					_that.payState = 0
					_that.PayTitle=  '三分钟自动取消....'
					clearInterval(_that.timerF)
					// uni.navigateBack({}) 
				}else{
					time  --
					_that.singleCheck(ids)
					// oilFinanceApi.checkOrderState(ids).then( (res)=>{
					// 	console.log(res)
					// 	if(res.code == 20000){  
					// 			_that.payState =  res.data.orderStatus
					// 			 if(res.data.orderStatus == 0){
					// 				 _that.PayTitle = '正在支付中....'
					// 			 }
					// 			 if(res.data.orderStatus == 1){
					// 			 	_that.PayTitle = '支付成功'
					// 				clearInterval(_that.timerF)
					// 			 }
					// 			 if(res.data.orderStatus == 2){
					// 			 	_that.PayTitle = '支付已取消'
					// 				clearInterval(_that.timerF)
					// 			 }
					// 			console.log('this.payState+++',this.payState)
					// 			console.log('res.data.orderStatuse+++',res.data.orderStatus)
					// 	}
					
					// 	// if(res.data.orderStatus == 1){
					// 	// 	clearInterval(this.timerF ) 
					// 	// 	this.payState = 1
					// 	// 	if (!_that.isG7) {
					// 	// 		setTimeout(() => {
					// 	// 			// this.gotoOrderStatus()
					// 	// 			// _that.toDetails(ids)
					// 	// 		}, 400)
					// 	// 	} else {
					// 	// 		_that.beforePay = false
					// 	// 		setTimeout(() => {
					// 	// 			_that_that.orderId = res.data.orderId
					// 	// 			_that.queryTimer()
					// 	// 			_that.getPayStatus(_that.orderId)
					// 	// 		}, 400)
					// 	// 	}
					// 	// }else if(res.data.orderStatus == 2){
					// 	// 	this.payState = 2
					// 	// 	uni.showToast({
					// 	// 		title:'支付已取消'
					// 	// 	})
					// 	// 	uni.navigateBack({ })
					// 	// }
					// } ) 
					_that.checkTime = time
				} 
			},
		}, 
	}
</script>

<style scoped>
	page{
		background-color: #efefef;
	}
	.page-content {
		background-color: #f1f2f7;
		min-height: 100%;
		position: relative;
	}
	
	.navigation {
		position: absolute;
		right: 16px;
		top: 10px;
	}
	
	.icon-self {
		width: 1rem;
		height: 1rem;
	}
	
	.oil-price {
		position: relative;
	}
	
	.oil-price radio {
		position: absolute;
		left: 0rem;
		top: 10px;
	}
	
	.qr-icon {
		font-size: 2rem;
	}
	
	.pay-desc {
		line-height: 2rem;
	}
	
	.bottom-pay {
		min-height: 100rpx;
		width: 750upx;
	}
	
	.pay-bar {
		width: 750upx;
		position: absolute;
		bottom: 0;
	}
	
	.money-container {
		position: relative;
	}
	
	.money-position {
		position: absolute;
		top: 0;
		right: 0;
		display: block;
		border-radius: 0 0 0 100upx;
	}
	.payStatue_text{
		font-size: 36rpx;
		color: #737373;
		font-weight: bold;
		margin-bottom: 10rpx;
		text-align: center;
		margin-top: 6rpx;
	}
	.payStatue_p{
		font-size: 26rpx;
		color: #888888;
		font-weight: bold;
		text-align: center;
		margin-bottom: 30rpx;
		margin-top: 20rpx;
	}
	.btn-oils{
		width: 100%;
		border-radius: 14rpx;
		margin-top: 30rpx;
		font-size: 32rpx;
		/* padding: 14rpx; */
		height: 80rpx; 
	}
	.showimgs{
		width: 130rpx;
		height: 130rpx;
	}
	.boxsings_main_top{
		    position: relative;
		    margin-top: 90rpx;
	}
	.showIcons{
		background-color: #fff;
		background-size: cover;
		position: absolute;
		top: -30rpx;
		left: 40%;
	}
</style>