<template>
	<uv-popup ref="popup" 
	:round="30" 
	bgColor="#f7f7f7">
		<view class="content">
			
			<!-- 地址 -->
			<view class="address"
			@click="openAddress">
				<image src="../../static/address/selectIcon.png" mode=""></image>
				<view class="">
					{{ address.name }}
				</view>
				<view class="">
					{{ address.addressDetail }}
				</view>
				<view class="icon">
					<uv-icon
					size="30rpx"
					name="arrow-right"></uv-icon>
				</view>
			</view>
			
			<!-- 商品信息和数量 -->
			<view class="submit-info">
				<view class="title">
					桌布租赁
				</view>
				<view class="box">
					<image
					class="image"
					:src="unit.pic" 
					mode=""></image>
					
					<view class="info">
						<view class="price">
							￥<text>{{ unit.depositPrice }}</text>元
						</view>
						<view class="unit">
							请选择规格
						</view>
						<view class="">
							<uv-number-box v-model="num"></uv-number-box>
						</view>
					</view>
				</view>
			</view>
			
			<!-- 规格 -->
			<!-- <view class="submit-unit">
				<view class="title">
					规格选择
				</view>
				<view class="list">
					<view :class="{act : unitIndex == index}" 
					v-for="(item, index) in detail.hotelGoodsSkuList"
					@click="selectUnit(item, index)"
					:key="index">
						{{ item.title }}
					</view>
				</view>
			</view> -->
			
			
			
			<!-- 费用明细 -->
			<view class="expense-detail">
				<view class="title">
					费用明细
				</view>
				<view class="detail">
					押金：￥{{ unit.depositPrice }}
				</view>
			</view>
			
			<!-- 提交按钮 -->
			<view class="submit-btn">
				<view class="l"
				@click="addCart">
					加入购物车
				</view>
				<view class="r"
				@click="orderPay">
					{{ submiitTitle }}
				</view>
			</view>
			
		</view>
		
		<uv-popup ref="addressPopup" :round="30">
			<addressList
			ref="addressList"
			height="60vh"
			@select="selectAddress"
			/>
		</uv-popup>
	</uv-popup>
</template>

<script>
	import addressList from '../address/addressList.vue'
	export default {
		components : {
			addressList,
		},
		props : {
			submiitTitle : {
				default : '立即购买',
				type : String,
			},
			detail : {
				default : {}
			}
		},
		data() {
			return {
				unitIndex : 0,
				address : {
					name : '请选择联系人',
					addressDetail : '',
				},
				num : 1,
				unit : {},
				addressTotal : 0,
			}
		},
		methods: {
			// 打开
			open(){
				this.$refs.popup.open('bottom')
				if(!this.unit.id){
					this.selectUnit(this.detail.hotelGoodsSkuList[0], 0)
				}
				
				// 获取地址列表
				this.$refs.addressList.getAddressList().then(res => {
					this.addressTotal = res.total
					if(this.addressTotal != 0){
						this.address = res.records[0]
					}
				})
			},
			// 关闭
			close(){
				this.$refs.popup.close()
			},
			// 打开选择地址
			openAddress(){
				if (this.addressTotal == 0) {
					this.$refs.popup.close()
					return uni.navigateTo({
						url: '/pages_order/mine/address?type=back'
					})
				}
				this.$refs.addressPopup.open('bottom')
			},
			// 选择地址
			selectAddress(e){
				this.address = e
				this.$refs.addressPopup.close()
			},
			// 选择规格
			selectUnit(item, index){
				this.unit = item
				this.unitIndex = index
			},
			addCart(){
				this.$api('cartAdd', {
					id : this.detail.id,
					skuId : this.unit.id,
				}, res => {
					if(res.code == 200){
						uni.showToast({
							title: '添加成功',
						});
						this.$refs.popup.close()
					}
				})
			},
			orderPay(){
				
				let data = {
					id : this.detail.id,//商品id
					skuId : this.unit.id,//规格id
					addressId : this.address.id,//地址id
					sku : this.unit.title,//规格
					num : this.num,
				}
				
				
				if(this.$utils.verificationAll(data, {
					skuId : '请选择规格',
					addressId : '请选择地址',
				})){
					return
				}
				
				this.$api('orderPay', data, res => {
					if(res.code == 200){
						
						uni.redirectTo({
							url: '/pages/index/order'
						})
						
						// uni.requestPayment({
						// 	provider: 'wxpay', // 服务提提供商
						// 	timeStamp: res.result.timeStamp, // 时间戳
						// 	nonceStr: res.result.nonceStr, // 随机字符串
						// 	package: res.result.packageValue,
						// 	signType: res.result.signType, // 签名算法
						// 	paySign: res.result.paySign, // 签名
						// 	success: function (res) {
						// 		console.log('支付成功',res);
						// 		uni.redirectTo({
						// 			url: '/pages/index/order'
						// 		})
						// 	},
						// 	fail: function (err) {
						// 		console.log('支付失败',err);
						// 		uni.showToast({
						// 			icon:'none',
						// 			title:"支付失败"
						// 		})
						// 	}
						// });
					}
				})
			},
		}
	}
</script>

<style scoped lang="scss">
.content{
	max-height: 80vh;
	overflow: hidden;
	overflow-y: auto;
	.address{
		display: flex;
		padding: 20rpx;
		background-color: #fff;
		image{
			width: 30rpx;
			height: 30rpx;
			margin: 20rpx;
		}
		view{
			margin: 20rpx;
			overflow:hidden; //超出的文本隐藏
			text-overflow:ellipsis; //溢出用省略号显示
			white-space:nowrap; //溢出不换行
		}
		.icon{
			margin-left: auto;
		}
	}
	.submit-info{
		background-color: #fff;
		padding: 30rpx;
		margin-top: 20rpx;
		.title{
			font-size: 30rpx;
			padding: 10rpx;
			font-weight: 600;
		}
		.box{
			display: flex;
			margin-top: 10rpx;
			.image{
				width: 200rpx;
				height: 200rpx;
				border-radius: 20rpx;
				margin-right: 20rpx;
			}
			.info{
				flex: 1;
				.unit{
					font-size: 24rpx;
					padding: 10rpx 20rpx;
					color: #717171;
					display: flex;
					align-items: center;
				}
				.price{
					color: $uni-color;
					font-size: 28rpx;
					padding: 10rpx 20rpx;
					text{
						font-size: 36rpx;
						font-weight: 900;
					}
				}
			}
		}
	}
	.submit-unit{
		padding: 30rpx;
		background-color: #fff;
		.title{
			font-size: 28rpx;
			font-weight: 600;
		}
		.list{
			display: flex;
			flex-wrap: wrap;
			font-size: 22rpx;
			.act{
				color: $uni-color;
				border: 1px solid $uni-color;
				background-color: #F9E7DE;
			}
			view{
				border-radius: 15rpx;
				width: 320rpx;
				background-color: #F3F3F3;
				border: 1px solid #F3F3F3;
				margin: 10rpx;
				display: flex;
				justify-content: center;
				padding: 15rpx 0;
			}
		}
	}
	.expense-detail{
		padding: 30rpx;
		background-color: #fff;
		font-size: 28rpx;
		.title{
			font-weight: 600;
		}
		.detail{
			background-color: #F6F6F6;
			color: #717171;
			margin: 10rpx 0;
			padding: 10rpx 20rpx;
		}
	}
	.submit-btn{
		width: 600rpx;
		height: 80rpx;
		color: #fff;
		border-radius: 40rpx;
		font-size: 28rpx;
		margin: 20rpx auto;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 1rpx solid $uni-color;
		overflow: hidden;
		.l{
			flex: 1;
			display: flex;
			justify-content: center;
			align-items: center;
			color: $uni-color;
		}
		.r{
			background: $uni-color;
			flex: 1;
			height: 100%;
			display: flex;
			justify-content: center;
			align-items: center;
		}
	}
}
</style>
