<template>
	<view>
		<view class="inner-box">
			<!-- 收货人 -->
			<view class="address-box" v-if="address==null" @click="openAddress()">
				<view class="left">
					<view class="name-box">
						<text class="text name">添加收货地址</text>
					</view>
				</view>
				<view class="arrow-box">
					<image src="/static/images/arrow_gray.png" mode=""></image>
				</view>
			</view>
			<view class="address-box" v-if="address!=null" @click="openAddress()">
				<view class="left">
					<view class="name-box">
						<text class="text name">{{address.realName}}</text>
						<text class="text" v-if="address.phone!=null">{{address.phone}}</text>
					</view>
					<view class="address">
						{{address.address}} 
					</view>
				</view>
				<view class="arrow-box">
					<image src="/static/images/arrow_gray.png" mode=""></image>
				</view>
			</view>
		 
			<view class="other-info">
				<view class="title">支付明细</view>
				<view class="item">
					<view class="left">
						<text class="label">应付金额：</text>
					</view>
					<view class="right">
						<text class="text" >{{payPrice}}</text>
					</view>
				</view>
				<view class="item" v-if="order!=null&&(order.userCouponId==null||order.userCouponId==0)" @click.stop="openCoupon()">
					<view class="left">
						<text class="label">优惠券：</text>
					</view>
					<view class="right">
						<text class="text">{{couponText}}</text>
						<image v-if="userCouponId!=0" @click.stop="delCoupon()" class="ic-close" src="../static/images/close.png"></image>
						<image  class="ic-back" src="../static/images/arrow_gray.png"></image>
					</view>
				</view>
				<view class="item" >
					<view class="left">
						<text class="label">优惠金额：</text>
					</view>
					<view class="right">
						<text class="text">{{discountMoney}}</text>
					</view>
				</view>
				<view class="item">
					<view class="left">
						<text class="label">支付金额：</text>
					</view>
					<view class="right">
						<text class="text">{{payMoney}}</text>
					</view>
				</view>
				<view class="item">
					<view class="left">
						<text class="label">物流代收：</text>
					</view>
					<view class="right">
						<text class="text">{{payRemain}}</text>
					</view>
				</view>
				<view class="item">
					<view class="left">
						<text class="label">邮费：</text>
					</view>
					<view class="right">
						<text class="text">{{payDelivery}}</text>
					</view>
				</view>
			</view>
			<view class="pay-type">
				<view class="title">支付方式</view>
				<radio-group @change="payTypeChange"   >
					<view class="item"  v-if="checkPayType('1')" >
						<view class="left" >
							<image src="/static/images/wecha_pay.png" mode=""></image>
							<text class="text">全款支付</text>
						</view>
						<label>
							<radio :value="1"  :checked="payType=='1'" />
						</label>
					</view>
					<view class="item"  v-if="checkPayType('2')" >
						<view class="left" >
							<image src="/static/images/pay_de.png" mode=""></image>
							<text class="text">物流代收</text>
						</view>
						<label>
							<radio  :value="2" :checked="payType=='2'" />
						</label>
					</view>
					<view class="item"  v-if="checkPayType('3')" >
						<view class="left">
							<image src="/static/images/pay_1.png" mode=""></image>
							<text class="text">货到付款</text>
						</view>
						<label>
							<radio  :value="3" :checked="payType=='3'" />
						</label>
					</view>
				</radio-group>
			</view>
			<!-- v-if="payType=='1'&&order!=null&&order.companyId!=null&&order.companyId>0&&giftPrice<=payPrice" -->
			<view class="other-info" v-if="gifts.length>0">
				<view class="title">赠品</view>
				<view class="drug-list"  >
					<view v-for="(product) in gifts"   class="drug-item"  >
						<view class="img-box">
							<image :src="product.image" mode="aspectFill"></image>
						</view>
						<view class="drug-info"  >
							<view>
								<view class="name-box ellipsis2">
									{{product.productName}}
								</view>
								<view class="spec">{{product.sku}}</view>
							</view>
							<view class="num-box">
								<view class="price">
									<text class="unit">¥</text>
									<text class="num">{{product.price.toFixed(2)}}</text>
								</view>
								<view class="amount">x{{product.count}}</view>
							</view>
							 
						</view>
					</view>
				</view>
			</view>
			
			 
			<!-- 备注 -->
			<view class="remarks" v-if="order!=null">
				<input type="text" v-model="order.remark" placeholder="备注留言（选填）" placeholder-class="input" />
			</view>
		</view>
		<u-popup :closeable="true" :show="couponShow" :round="10" mode="bottom" @close="close" @open="open">
			<view class="coupon">
				<view class="coupon-box" v-if="coupons.length>0" >
				   <view @click="couponSelect(item)" class="coupon-item" v-for="(item) in coupons">
				 	<view class="left" >
				 	  <image v-if="item.status==0" src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/0fdd75d89db84458886d38e615011048.png" mode="widthFix"></image>
				 	  <image v-if="item.status!=0" src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/d950e4c7af1e4464be1a7777e9dca576.png" mode="widthFix"></image>
				 	  <view style="z-index: 999;">
				 		￥<span class="num">{{item.price.toFixed(2)}}</span>
				 	  </view>
				 	  <view class="pic-num"  >满{{item.minPrice.toFixed(2)}}元可用</view>
				 	</view>
				 	<view class="right">
				 	  <view class="title">
				 		{{item.title}}
				 	  </view>
				 	  <view class="btns">
				 		<view  v-if="item.status==0||item.status==2" >{{item.limitTime}} 到期</view>
				 		<view  v-if="item.status==1">使用时间 {{item.useTime}}</view>
				 		<view class="bnt gray" v-if="item.status==1"  >已使用</view>
				 		<view class="bnt gray" v-if="item.status==2" >已过期</view>
				 		<view class="btn" v-if="item.status==0"  >使用</view>
				 	  </view>
				 	</view>
				   </view>
				</view>
				<view class="empty" v-if="coupons.length==0">
					<image src="https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png"></image>
				</view>
			</view>
		</u-popup>
		<!-- 底部按钮 -->
		<view class="btn-box">
			<view class="btn" v-if="order!=null" @click="payOrder()">支付{{payMoney}}元</view>
		</view>
	</view>
</template>

<script>
	import {getConfigByKey} from '@/api/common'
	import {getAddressByDefault} from '@/api/userAddress.js'
	
	import {getMyEnableCouponList} from '@/api/user.js'
	import {getPackageById} from '@/api/package.js'
	import {getPackageOrderById,pay,compute} from '@/api/packageOrder'
	export default {
		data() {
			return {
				giftPrice:0.00,
				payTypes:[],
				addressId:null,
				wxPay: true,
				address:null,
				orderId:null,
				order:null,
				items:null,
				payType:"1",
				couponText:"请选择优惠券",
				userCouponId:0,
				coupons:[],
				couponShow:false,
				payMoney:0.00,
				discountMoney:0,
				payRemain:0,
				payDelivery:0,
				payPrice:0,
				gifts:[],
				
				
			}
		},
		onLoad(option) {
			this.orderId=option.orderId;
			var that=this;
			uni.$on('updateAddress', (e) => {
				that.addressId=e.addressId;
			 	that.address=e;
				that.address.address=e.province+e.city+e.district+e.detail
			})
			this.getAddressByDefault();
		},
		onShow() {
			this.getPackageOrderById();
			this.getPackageById();
			this.getConfigByKey();
		},
		 
		methods: {
			getAddressByDefault(){
				var data={};
				getAddressByDefault(data).then(
					res => {
						if(res.code==200){
							if(res.data!=null){
								this.addressId=res.data.addressId;
								this.address=res.data;
								this.address.address=res.data.province+res.data.city+res.data.district+res.data.detail
							}
							 
						}else{
							uni.showToast({
								icon:'none',
								title: res.msg,
							});
						}
					},
					rej => {}
				);
			},
			 
			getConfigByKey(){
				var that=this;
				var data={key:"his.package"}
				getConfigByKey(data).then(
					res => {
						if(res.code==200){
							this.giftPrice=JSON.parse(res.data).giftPrice;
							console.log(this.giftPrice)
						}
					},
					rej => {}
				);
			},
			checkPayType(payType){
				var flag=false
				this.payTypes.forEach(function(value,index,array){
					if(value.toString()==payType.toString()){
						flag=true;
					}
				});
				return flag;
			},
			payTypeChange(e){
				console.log(e.detail.value)
				this.payType=e.detail.value;
				this.compute()
			},
			couponSelect(item){
				this.couponShow = false;
				//计算金额
				this.userCouponId=item.id;
				console.log(item)
				this.couponText=item.price+"元优惠券"
				this.compute()
			},
			open() {
			},
			close() {
				this.couponShow = false
			},
			openCoupon(){
				this.couponShow=true;
			},
			delCoupon(){
				this.userCouponId=0;
				this.couponText="请选择优惠券";
				this.compute();
			},
			compute(){
				var data={
					payType:this.payType,
					orderId:this.orderId,
					userCouponId:this.userCouponId,
					companyId:this.companyId,
					companyUserId:this.companyUserId
				}
				console.log(data)
				compute(data).then(
					res => {
						if(res.code==200){
							this.payPrice=res.moneys.payPrice.toFixed(2);
							this.payMoney=res.moneys.payMoney.toFixed(2);
							this.discountMoney=res.moneys.discountMoney.toFixed(2);
							this.payDelivery=res.moneys.payDelivery.toFixed(2);
							this.payRemain=res.moneys.payRemain.toFixed(2);
							this.gifts=res.moneys.gifts;
						}
						else{
							this.payType=1;
							this.compute()
							this.userCouponId=0;
							this.couponText="请选择优惠券"
							uni.showToast({
								icon:'none',
								title: res.msg,
							});
						}
					},
					err => {
					}
				);
			},
			getMyEnableCouponList(){
				var data={}
				if(this.package.isShow==0){
					data.couponType=5;
					data.cateId=this.package.privateType
				}
				else if(this.package.isShow==1){
					data.couponType=6;
					data.cateId=this.package.diseaseType
					
				}
				getMyEnableCouponList(data).then(
					res => {
						if(res.code==200){
							this.coupons=res.data;
						}
					},
					err => {
					}
				);
			},
			getPackageOrderById(){
				var data={orderId:this.orderId};
				console.log(data)
				getPackageOrderById(data).then(
					res => {
						if(res.code==200){
							this.order=res.order
							 
							this.compute();
							this.getPackageById(this.order.packageId)
						}else{
							 
						}
					},
					rej => {}
				);
			},
			getPackageById(packageId){
				var data={packageId:packageId};
				getPackageById(data).then(
					res => {
						if(res.code==200){
							this.package=res.data;
							this.payTypes=res.data.payType.split(',');
							console.log(this.payTypes)
							this.getMyEnableCouponList();
						}else{
							 
						}
					},
					rej => {}
				);
			},
			openAddress(){
				uni.navigateTo({
					url: '/pages_user/address'
				})
			},
			payOrder(){
				var data = {
					payType:this.payType,
					userCouponId:this.userCouponId,
					addressId:this.addressId,
					remark:this.order.remark,
					orderId:this.order.orderId,
				};
				var that=this;
				uni.showLoading();
				pay(data).then(
					res => {
						if(res.code==200){
							uni.redirectTo({
								url:"./packagePayment?orderId="+this.orderId
							})
						}else{
							uni.showToast({
								icon:'none',
								title: res.msg,
							});
						}
					},
					rej => {}
				);
				
			}
		}
	}
</script>

<style lang="scss">
	.inner-box{
		padding: 20upx 20upx 300upx;
		.address-box{
			box-sizing: border-box;
			min-height: 171upx;
			background: #FFFFFF;
			border-radius: 16upx;
			background-image: url(/static/images/address_bg.png);
			background-repeat: no-repeat;
			background-size: 100% 30upx;
			background-position: left bottom;
			padding: 38upx 30upx 36upx;
			display: flex;
			align-items: center;
			justify-content: space-between;
			.left{
				width: 92%;
				.name-box{
					display: flex;
					align-items: center;
					.text{
						font-size: 32upx;
						font-family: PingFang SC;
						font-weight: bold;
						color: #111111;
						line-height: 1;
						&.name{
							margin-right: 30upx;
						}
					}
				}
				.address{
					font-size: 28upx;
					font-family: PingFang SC;
					font-weight: 500;
					color: #666666;
					line-height: 42upx;
					text-align:left;
					margin-top: 23upx;
				}
			}
			.arrow-box{
				width: 12upx;
				height: 23upx;
				display: flex;
				align-items: cenetr;
				justify-content: cenetr;
				image{
					width: 100%;
					height: 100%;
				}
			}
		}
		.goods-list{
			margin-top: 20upx;
			padding: 0 30upx;
			background-color: #FFFFFF;
			border-radius: 16upx;
			.item{
				padding: 30upx 0;
				border-bottom: 1px solid #EDEEEF;
				display: flex;
				align-items: center;
				.img-box{
					width: 160upx;
					height: 160upx;
					margin-right: 30upx;
					image{
						width: 100%;
						height: 100%;
					}
				}
				.info-box{
					width: calc(100% - 190upx);
					height: 160upx;
					display: flex;
					flex-direction: column;
					justify-content: space-between;
					.name-box{
						font-size: 28upx;
						font-family: PingFang SC;
						font-weight: 500;
						color: #111111;
						line-height: 40upx;
						.tag{
							display: inline-block;
							padding: 0 6upx;
							height: 30upx;
							background: linear-gradient(90deg, #C39A58 0%, #E2C99E 100%);
							border-radius: 4upx;
							margin-right: 10upx;
							font-size: 22upx;
							font-family: PingFang SC;
							font-weight: bold;
							color: #FFFFFF;
							line-height: 30upx;
							float: left;
							margin-top: 7upx;
						}
					}
					.spec{
						margin-top: 10upx;
						font-size: 24upx;
						font-family: PingFang SC;
						font-weight: 500;
						color: #999999;
						line-height: 1;
					}
					.price-num{
						display: flex;
						align-items: center;
						justify-content: space-between;
						.price{
							display: flex;
							align-items: flex-end;
							.unit{
								font-size: 24upx;
								font-family: PingFang SC;
								font-weight: 500;
								color: #111111;
								line-height: 1.2;
								margin-right: 4upx;
							}
							.num{
								font-size: 32upx;
								font-family: PingFang SC;
								font-weight: 500;
								color: #111111;
								line-height: 1;
							}
						}
						.num{
							font-size: 24upx;
							font-family: PingFang SC;
							font-weight: 500;
							color: #999999;
							line-height: 1;
						}
					}
				}
			}
			.sub-total{
				height: 88upx;
				display: flex;
				align-items: center;
				justify-content: flex-end;
				.label{
					font-size: 24upx;
					font-family: PingFang SC;
					font-weight: 500;
					color: #999999;
				}
				.price{
					display: flex;
					align-items: flex-end;
					.unit{
						font-size: 24upx;
						font-family: PingFang SC;
						font-weight: 500;
						color: #FF6633;
						line-height: 1.2;
						margin-right: 4upx;
					}
					.num{
						font-size: 32upx;
						font-family: PingFang SC;
						font-weight: bold;
						color: #FF6633;
						line-height: 1;
					}
				}
			}
		}
		.other-info{
			margin-top: 20upx;
			background-color: #fff;
			border-radius: 20upx;
			overflow: hidden;
			padding: 0 30upx;
			.title{
				height: 80upx;
				line-height: 80upx;
				font-size: 30upx;
				color: #000;
				font-weight: bold;
				border-bottom: 2upx solid #eeeeee;
			}
			.drug-list{
				margin-top: 15rpx;
				.drug-item{
					padding-bottom: 15upx;
					border-bottom: 1px soli #F0F0F0;
					display: flex;
					align-items: center;
					.img-box{
						width: 160upx;
						height: 160upx;
						margin-right: 30upx;
						flex-shrink: 0;
						image{
							width: 100%;
							height: 100%;
						}
					}
					.drug-info{
						width: calc(100% - 190upx);
						height: 160upx;
						display: flex;
						flex-direction: column;
						justify-content: space-between;
						.name-box{
							font-size: 28upx;
							font-family: PingFang SC;
							font-weight: 500;
							color: #111111;
							line-height: 40upx;
							.tag{
								display: inline-block;
								padding: 0 6upx;
								height: 30upx;
								background: linear-gradient(90deg, #2BC7B9 0%, #2BC7A4 100%);
								border-radius: 4upx;
								margin-right: 10upx;
								font-size: 22upx;
								font-family: PingFang SC;
								font-weight: bold;
								color: #FFFFFF;
								line-height: 30upx;
								float: left;
								margin-top: 7upx;
							}
						}
						.spec{
							font-size: 24upx;
							font-family: PingFang SC;
							font-weight: 500;
							color: #999999;
							line-height: 1;
							margin-top: 10upx;
						}
						.num-box{
							display: flex;
							align-items: center;
							justify-content: space-between;
							.price{
								display: flex;
								align-items: flex-end;
								.unit{
									font-size: 24upx;
									font-family: PingFang SC;
									font-weight: 500;
									color: #111111;
									line-height: 1.2;
									margin-right: 4upx;
								}
								.num{
									font-size: 32upx;
									font-family: PingFang SC;
									font-weight: 500;
									color: #111111;
									line-height: 1;
								}
							}
							.use{
								font-size: 24upx;
								font-family: PingFang SC;
								color: #999999;
							}
							.amount{
								font-size: 24upx;
								font-family: PingFang SC;
								font-weight: 500;
								color: #999999;
								line-height: 1;
							}
						}
					}
				}
			}
			.item{
				height: 80upx;
				display: flex;
				align-items: center;
				justify-content: space-between;
				&:last-child{
					border-bottom: none;
				}
				.left{
					flex: 1;
					display: flex;
					align-items: center;
					.label{
						min-width: 140rpx;
						font-size: 28upx;
						color: #000;
					}
					.text{
						font-size: 28upx;
						color: #1b1b1b;
					}
				}
				.right{
					display: flex;
					align-items: center;
					justify-content: flex-end;
					.text{
						font-size: 28upx;
						color: #1b1b1b;
					}
					.ic-close{
						margin-left: 10rpx;
						width: 30rpx;
						height:30rpx;
					}
					.ic-back{
						margin-left: 10rpx;
						width: 15rpx;
						height:30rpx;
					}
				}
				.item-btn{
					max-width: 200rpx;
					padding: 0rpx 15rpx;
					height: 48upx;
					border-radius: 24upx;
					line-height: 48upx;
					font-size: 24upx;
					color: #000;
					border: 1upx solid #d8d8d8;
					display: flex;
					align-items: center;
					justify-content: center;
				}
			}
		}
		
		.remarks{
			height: 88upx;
			padding: 0 30upx;
			background: #FFFFFF;
			border-radius: 16upx;
			margin-top: 20upx;
			display: flex;
			align-items: center;
			input{
				width: 100%;
				font-size: 28upx;
				font-family: PingFang SC;
				font-weight: 500;
				color: #000000;
			}
			.input{
				font-size: 28upx;
				font-family: PingFang SC;
				font-weight: 500;
				color: #999999;
			}
		}
	}
	
	
	.btn-box{
	 	z-index: 9999;
	 	width: 100%;
	 	padding: 30rpx 30upx 0rpx;
	 	position: fixed;
	 	bottom: 0;
	 	left: 0;
	 	box-sizing: border-box;
	 	background-color: #ffffff;
	 	display: flex;
		flex-direction: column;
	 	align-items: center;
	 	justify-content: center;
	 	.btn{
			margin-bottom: 20rpx;
	 		width: 100%;
	 		height: 88upx;
	 		line-height: 88upx;
	 		text-align: center;
	 		font-size: 34upx;
	 		font-family: PingFang SC;
	 		font-weight: 400;
	 		color: #FFFFFF;
	 		background: #C39A58;
	 		border-radius: 10upx;
			position: relative;
			.contact-btn {
				position: absolute;
				width:100%;
				height:100%;
				display: flex;
				opacity: 0;
			}
	 	}
		.btn1{
			margin-bottom: 20rpx;
			width: 100%;
			height: 88upx;
			line-height: 88upx;
			text-align: center;
			font-size: 34upx;
			font-family: PingFang SC;
			font-weight: 400;
			color: #C39A58;
			border: 1rpx solid #C39A58;
			border-radius: 10upx;
			position: relative;
			.contact-btn {
				position: absolute;
				width:100%;
				height:100%;
				display: flex;
				opacity: 0;
			}
		}
	}
	.pay-type{
		box-sizing: border-box;
		background: #FFFFFF;
		border-radius: 16upx;
		margin-top: 20upx;
		padding: 40upx 30upx 20rpx;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		.title{
			font-size: 28upx;
			font-family: PingFang SC;
			font-weight: 500;
			color: #999999;
			line-height: 1;
			margin-bottom: 10upx;
		}
		.item{
			padding: 15upx 0upx;
			display: flex;
			align-items: center;
			justify-content: space-between;
			.left{
				display: flex;
				align-items: center;
				image{
					width: 44upx;
					height: 44upx;
					margin-right: 20upx;
				}
				.text{
					font-size: 30upx;
					font-family: PingFang SC;
					font-weight: bold;
					color: #222222;
					line-height: 1;
				}
			}
		}
	}
	.coupon{
		height: 100%;
		.empty{
			display: flex;
			align-items: center;
			justify-content: center;
			height: 650rpx;
			width: 100%;
			image{
				width: 280rpx;
				height: 200rpx;
			}
		}
	}
	.coupon-box{
		overflow-y: auto;
		padding: 80rpx 20rpx 80rpx;
		height: 650rpx;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		box-sizing: border-box;
		.coupon-item{
			width: 100%;
			display: flex;
			align-items: center;
			justify-content: flex-start;
			margin-bottom: 16rpx;
			height:170rpx;
			&:last-child{
				margin-bottom: 0rpx;
			}
			.left{
				 color: #fff;
				font-size: 36rpx;
				font-weight: bold;
				text-align: center;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				position: relative;
				width: 230rpx;
				image{
					position: absolute;
					width: 230rpx;
					height:170rpx;
					color: #fff;
				}
				.num{
					font-size: 40rpx;
				}
				.pic-num{
					font-size: 20rpx;
					z-index: 99;
				}
			}
			.right{
				
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				justify-content: flex-start;
				height:170rpx;
				width: calc(100% - 230rpx);
				padding: 0 17rpx 0 24rpx;
				background-color: #fff;
				box-sizing: border-box;
				.title{
					width: 100%;
					font-size: 0.3 * 100rpx;
					color: #282828;
					height: 0.93 * 100rpx;
					line-height: 0.93 * 100rpx;
					border-bottom: 1px solid #f0f0f0;
				}
				.btns{
					display: flex;
					align-items: center;
					justify-content: space-between;
					width: 100%;
					font-size: 0.2 * 100rpx;
					color: #999;
					height: 0.76 * 100rpx;
					.btn{
						width: 1.36 * 100rpx;
						height: 0.44 * 100rpx;
						border-radius: 0.22 * 100rpx;
						font-size: 0.22 * 100rpx;
						color: #fff;
						text-align: center;
						line-height: 0.44 * 100rpx;
						background-color: #C39A58;
						.gray{
							 background-color: #ccc;
						}
					}
					
				}
			}
		}
		
	} 
</style>


