<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>
							 |