Browse Source

多规格对接

master
Enzo 4 years ago
parent
commit
a8ad7b35a4
  1. 146
      pages/goodsDetail/index.vue
  2. 10
      pages/order/confirm_order.vue

146
pages/goodsDetail/index.vue

@ -77,8 +77,8 @@
<u-popup v-model="scenic_spot" mode="bottom" :closeable="true" border-radius="20">
<view class="lf-p-32">
<view class="price lf-flex">
<lf-price :price="goods_detail.product.spec[type_index].price"></lf-price>
<view class="pop-price lf-m-l-20 lf-font-24">¥{{ goods_detail.product.spec[type_index].original_price }}</view>
<lf-price :price="goods_detai.spec[type_index].price"></lf-price>
<view class="pop-price lf-m-l-20 lf-font-24">¥{{ goods_detail.spec[type_index].original_price }}</view>
</view>
<view class="lf-font-24 lf-m-t-20 lf-color-555">
开始时间{{ choose_date }}
@ -86,7 +86,7 @@
<view style="margin-top: 60rpx;">
<text class="lf-font-32 lf-font-bold" style="color: #131315;">套餐类型</text>
<view class="lf-m-t-30 choose-father">
<view class="choose-span" :class="type_index==index?'choose-active':''" v-for="(item,index) of goods_detail.product.spec" :key="index" @click="chooseType(index)">{{item.name}}</view>
<view class="choose-span" :class="type_index==index?'choose-active':''" v-for="(item,index) of goods_detail.spec" :key="index" @click="chooseType(index)">{{item.product_spec.name}}</view>
</view>
</view>
<view class="lf-m-t-30">
@ -166,8 +166,8 @@
<u-popup v-model="hotel" mode="bottom" :closeable="true" border-radius="20">
<view class="lf-p-32">
<view class="price lf-flex">
<lf-price :price="goods_detail.product.spec[type_index].price"></lf-price>
<view class="pop-price lf-m-l-20 lf-font-24">¥{{ goods_detail.product.spec[type_index].original_price }}</view>
<lf-price :price="goods_detai.spec[type_index].price"></lf-price>
<view class="pop-price lf-m-l-20 lf-font-24">¥{{ goods_detail.spec[type_index].original_price }}</view>
</view>
<view class="lf-font-24 lf-m-t-20 lf-color-555">
酒店住房日期{{live_date}}~{{leave_date}}
@ -175,7 +175,7 @@
<view style="margin-top: 60rpx;">
<text class="lf-font-32 lf-font-bold" style="color: #131315;">套餐类型</text>
<view class="lf-m-t-30 choose-father">
<view class="choose-span" :class="type_index==index?'choose-active':''" v-for="(item,index) of goods_detail.product.spec" :key="index" @click="chooseType(index)">{{item.name}}</view>
<view class="choose-span" :class="type_index==index?'choose-active':''" v-for="(item,index) of goods_detail.spec" :key="index" @click="chooseType(index)">{{item.product_spec.name}}</view>
</view>
</view>
<view class="lf-m-t-30">
@ -270,16 +270,92 @@
<u-popup v-model="travel_route" mode="bottom" :closeable="true" border-radius="20">
<view class="lf-p-32">
<view class="price lf-flex">
<lf-price :price="goods_detail.product.spec[type_index].price"></lf-price>
<view class="pop-price lf-m-l-20 lf-font-24">¥{{ goods_detail.product.spec[type_index].original_price }}</view>
<lf-price :price="goods_detail.spec[type_index].price"></lf-price>
<view class="pop-price lf-m-l-20 lf-font-24">¥{{ goods_detail.spec[type_index].original_price }}</view>
</view>
<view class="lf-font-24 lf-m-t-20 lf-color-555">
套餐类型{{goods_detail.product.spec[type_index].name}}
套餐类型{{goods_detail.spec[type_index].product_spec.name}}
</view>
<view style="margin-top: 60rpx;">
<text class="lf-font-32 lf-font-bold" style="color: #131315;">套餐类型</text>
<view class="lf-m-t-30 choose-father">
<view class="choose-span" :class="type_index==index?'choose-active':''" v-for="(item,index) of goods_detail.product.spec" @click="chooseType(index)" :key="index">{{item.name}}</view>
<view class="choose-span" :class="type_index==index?'choose-active':''" v-for="(item,index) of goods_detail.spec" @click="chooseType(index)" :key="index">{{item.product_spec.name}}</view>
</view>
</view>
<view class="lf-m-t-30">
<view class="lf-row-between">
<text class="lf-font-32 lf-font-bold" style="color: #131315;">出行日期</text>
</view>
<view class="lf-row-between list-item lf-m-t-20" style="padding: 0!important;">
<view class="lf-row-center">
<text class="lf-font-28 lf-color-gray">开始时间</text>
</view>
<view class="lf-flex">
<picker mode="date" :value="go_date" @change="goChange">
<!-- <view class="lf-color-555 lf-text-right" style="width: 400rpx;">{{ '请选择收货时间...' }}</view> -->
<view class="lf-color-333 lf-text-right lf-font-28" style="width: 400rpx;">{{ go_date }}</view>
</picker>
<text class="lf-iconfont lf-icon-xiangyou lf-text-vertical lf-m-l-10"></text>
</view>
</view>
</view>
<view style="margin-top: 60rpx;">
<button class="choose_btn" @click="toAddOrder()">立即购买</button>
</view>
</view>
</u-popup>
<!-- 车队 -->
<u-popup v-model="car" mode="bottom" :closeable="true" border-radius="20">
<view class="lf-p-32">
<view class="price lf-flex">
<lf-price :price="goods_detail.spec[type_index].price"></lf-price>
<view class="pop-price lf-m-l-20 lf-font-24">¥{{ goods_detail.spec[type_index].original_price }}</view>
</view>
<view class="lf-font-24 lf-m-t-20 lf-color-555">
套餐类型{{goods_detail.spec[type_index].product_spec.name}}
</view>
<view style="margin-top: 60rpx;">
<text class="lf-font-32 lf-font-bold" style="color: #131315;">套餐类型</text>
<view class="lf-m-t-30 choose-father">
<view class="choose-span" :class="type_index==index?'choose-active':''" v-for="(item,index) of goods_detail.spec" @click="chooseType(index)" :key="index">{{item.name}}</view>
</view>
</view>
<view class="lf-m-t-30">
<view class="lf-row-between">
<text class="lf-font-32 lf-font-bold" style="color: #131315;">出行日期</text>
</view>
<view class="lf-row-between list-item lf-m-t-20" style="padding: 0!important;">
<view class="lf-row-center">
<text class="lf-font-28 lf-color-gray">开始时间</text>
</view>
<view class="lf-flex">
<picker mode="date" :value="go_date" @change="goChange">
<!-- <view class="lf-color-555 lf-text-right" style="width: 400rpx;">{{ '请选择收货时间...' }}</view> -->
<view class="lf-color-333 lf-text-right lf-font-28" style="width: 400rpx;">{{ go_date }}</view>
</picker>
<text class="lf-iconfont lf-icon-xiangyou lf-text-vertical lf-m-l-10"></text>
</view>
</view>
</view>
<view style="margin-top: 60rpx;">
<button class="choose_btn" @click="toAddOrder()">立即购买</button>
</view>
</view>
</u-popup>
<!-- 单项 -->
<u-popup v-model="single" mode="bottom" :closeable="true" border-radius="20">
<view class="lf-p-32">
<view class="price lf-flex">
<lf-price :price="goods_detail.spec[type_index].price"></lf-price>
<view class="pop-price lf-m-l-20 lf-font-24">¥{{ goods_detail.spec[type_index].original_price }}</view>
</view>
<view class="lf-font-24 lf-m-t-20 lf-color-555">
套餐类型{{goods_detail.spec[type_index].product_spec.name}}
</view>
<view style="margin-top: 60rpx;">
<text class="lf-font-32 lf-font-bold" style="color: #131315;">套餐类型</text>
<view class="lf-m-t-30 choose-father">
<view class="choose-span" :class="type_index==index?'choose-active':''" v-for="(item,index) of goods_detail.spec" @click="chooseType(index)" :key="index">{{item.product_spec.name}}</view>
</view>
</view>
<view class="lf-m-t-30">
@ -375,7 +451,9 @@
go_date: '请选择开始时间',
back_date: '请选择回程日期',
//
canteen: false
canteen: false,
car: false,
single:false,
}
},
components: {zwyCalendar},
@ -403,8 +481,18 @@
}
},
pickerChange(e) {
this.choose_date = e.detail.value;
console.log(e)
var nowTime = new Date(new Date().toLocaleDateString()).getTime();
let oldTime = new Date(new Date(e.detail.value).toLocaleDateString()).getTime();
if(oldTime<nowTime) {
this.$msg('请选择正确的开始时间!');
var date1 = new Date();
var date2 = new Date(date1);
date2.setDate(date1.getDate());
this.choose_date = this.$shared.recordTime(date2, '-', 'date')
return
}else {
this.choose_date = e.detail.value;
}
},
arriveChange(e) {
let live_date = new Date(new Date(this.live_date).toLocaleDateString()).getTime();
@ -423,6 +511,18 @@
},
goChange(e) {
this.go_date = e.detail.value;
// var nowTime = new Date(new Date().toLocaleDateString()).getTime();
// let oldTime = new Date(new Date(e.detail.value).toLocaleDateString()).getTime();
// if(oldTime<nowTime) {
// this.$msg('!');
// var date1 = new Date();
// var date2 = new Date(date1);
// date2.setDate(date1.getDate());
// this.go_date = this.$shared.recordTime(date2, '-', 'date')
// return
// }else {
// this.go_date = e.detail.value;
// }
},
backChange(e) {
this.back_date = e.detail.value;
@ -472,6 +572,12 @@
}else if(type == 3) {
//
this.canteen = true;
}else if(type == 4) {
//
this.car = true;
}else if(type == 5) {
//
this.single = true;
}
},
@ -537,8 +643,8 @@
let goods_id = this.goods_detail.id;
let godds_type = this.goods_detail.product.type;
let enter_time = this.choose_date;
let spec_id = this.goods_detail.product.spec[this.type_index].id;
let type_text = this.goods_detail.product.spec[this.type_index].name;
let spec_id = this.goods_detail.spec[this.type_index].id;
let type_text = this.goods_detail.spec[this.type_index].product_spec.name;
this.$url('/pages/order/confirm_order?goods_id='+ goods_id+ '&spec_id='+ spec_id +'&goods_type='+godds_type+'&enter_time='+enter_time+'&goods_typetext='+type_text);
}else {
this.$msg('请选择正确的开始时间!');
@ -595,8 +701,8 @@
console.log(arrival_time)
let goods_id = this.goods_detail.id;
let godds_type = this.goods_detail.product.type;
let spec_id = this.goods_detail.product.spec[this.type_index].id;
let type_text = this.goods_detail.product.spec[this.type_index].name;
let spec_id = this.goods_detail.spec[this.type_index].id;
let type_text = this.goods_detail.spec[this.type_index].product_spec.name;
//
let check_in_time = this.live_date;
let check_out_time = this.leave_date;
@ -604,7 +710,7 @@
let arrival_time = arrival_timedate;
this.$url('/pages/order/confirm_order?goods_id='+ goods_id+ '&spec_id='+ spec_id +'&goods_type='+godds_type+'&check_in_time='+check_in_time+'&goods_typetext='+type_text+'&check_out_time='+check_out_time+'&arrival_time='+arrival_time+'&totalLive='+totalLive);
}
}else if(this.goods_detail.product.type == 0) {
}else if(this.goods_detail.product.type == 0 || this.goods_detail.product.type == 4 || this.goods_detail.product.type == 5) {
if(this.go_date != '请选择开始时间') {
let date_compare = this.compareDate(this.go_date);
console.log(date_compare)
@ -612,8 +718,8 @@
let goods_id = this.goods_detail.id;
let godds_type = this.goods_detail.product.type;
let departure_time = this.go_date;
let spec_id = this.goods_detail.product.spec[this.type_index].id;
let type_text = this.goods_detail.product.spec[this.type_index].name;
let spec_id = this.goods_detail.spec[this.type_index].id;
let type_text = this.goods_detail.spec[this.type_index].product_spec.name;
this.$url('/pages/order/confirm_order?goods_id='+ goods_id+ '&spec_id='+ spec_id +'&goods_type='+godds_type+'&departure_time='+departure_time+'&goods_typetext='+type_text);
}else {
this.$msg('请选择正确的开始时间!');

10
pages/order/confirm_order.vue

@ -90,7 +90,7 @@
</view>
</view>
<!-- 旅游路线 -->
<view v-if="goods_type == 0">
<view v-if="goods_type == 0 || goods_type == 4 || goods_type == 5">
<view class="cu-bar padding-lr">
<text class="lf-color-555 lf-font-28">套餐类型</text>
<text class="lf-font-28" style="color: #131315;">{{goods_typetext}}</text>
@ -207,7 +207,7 @@
this.getGoodsData(this.pay_type);
if(this.goods_type == 2) {
this.enter_time = e.enter_time;
}else if(this.goods_type == 0) {
}else if(this.goods_type == 0 || this.goods_type == 4 || this.goods_type == 5) {
this.departure_time = e.departure_time;
}else if(this.goods_type == 1) {
this.check_in_time = e.check_in_time;
@ -252,6 +252,10 @@
}else {
this.sex = '女';
}
if(this.vertify_code == '') {
this.sex = '请输入身份证号码获取';
this.age = '请输入身份证号码获取';
}
},
getPhoneNumber(event){
if(event.detail.errMsg == 'getPhoneNumber:ok'){
@ -276,7 +280,7 @@
}
},
getGoodsData(type){
this.$http(this.API.API_CONFIRMDETAILS,{id: this.goods_id,num: 1,pay_type: type}).then(res => {
this.$http(this.API.API_CONFIRMDETAILS,{id: this.goods_id,num: 1,pay_type: type,spec_id: this.spec_id}).then(res => {
this.goods_details = res.data;
console.log('数据',res)
})

Loading…
Cancel
Save