Commit f23a2d23 authored by 罗超's avatar 罗超

完成线路订单

parent 8364803b
......@@ -110,27 +110,36 @@
value(val) {
this.inputVal = +val;
},
max(val){
this.newMax=val
console.log(this.newMax,val)
},
inputVal(v1, v2) {
// 为了让用户能够删除所有输入值,重新输入内容,删除所有值后,内容为空字符串
if (v1 == '') return;
let value = 0;
// 首先判断是否正整数,并且在min和max之间,如果不是,使用原来值
let tmp = /(^\d+$)/.test(v1) && value[0] != 0;
if (tmp && v1 >= this.min && v1 <= this.max) value = v1;
if (tmp && v1 >= this.min && v1 <= this.newMax) value = v1;
else value = v2;
this.handleChange(value, 'change');
this.$nextTick(() => {
this.inputVal = value;
})
}
},
},
data() {
return {
inputVal: 1 // 输入框中的值,不能直接使用props中的value,因为应该改变props的状态
inputVal: 1 ,// 输入框中的值,不能直接使用props中的value,因为应该改变props的状态
newMax:0
};
},
created() {
this.inputVal = +this.value;
uni.setNavigationBarTitle({
title:"订单确认"
})
this.newMax=this.max
},
methods: {
minus() {
......@@ -184,7 +193,7 @@
value = this.calcPlus(this.inputVal, this.step);
}
// 判断是否小于最小值和大于最大值
if (value < this.min || value > this.max) {
if (value < this.min || value > this.newMax) {
return;
}
this.inputVal = value;
......@@ -198,8 +207,8 @@
// 这里不直接判断是否正整数,是因为用户传递的props min值可能为0
if (!/(^\d+$)/.test(value) || value[0] == 0) val = this.min;
val = +value;
if (val > this.max) {
val = this.max;
if (val > this.newMax) {
val = this.newMax;
} else if (val < this.min) {
val = this.min;
}
......
......@@ -250,7 +250,7 @@
<span style="width:40px;background-color: #DFBE6E;height: 6px;bottom: 2px;left: 0;right: 0;position: absolute;z-index: 1;"></span>
</span>
<view class="jz_TripMain">
<rich-text :nodes="dataList.feature.importantTip"></rich-text>
<rich-text :nodes="dataList.feature.warmTip"></rich-text>
</view>
</view>
<view class="jz_TripDays">
......@@ -281,7 +281,7 @@
<u-popup v-model="showDateChosen" mode="bottom" border-radius="20" length="90%" :safe-area-inset-bottom="true">
<canlendar @finish="chosenDateResult" :defaultDate="currentPrice.startDate" :priceList="dataList.priceList"></canlendar>
</u-popup>
<u-popup v-model="showOrderPreviwe" mode="bottom" border-radius="20" length="80%" :safe-area-inset-bottom="true">
<u-popup v-model="showOrderPreviwe" mode="bottom" border-radius="20" length="90%" :safe-area-inset-bottom="true">
<view style="width: 100%;height: 100%;display: flex;flex-direction: column;">
<view style="flex: 1;width: 100%;height: 1rpx;">
<canlendar @finish="chosenDateResult" :immediately="true" :defaultDate="currentPrice.startDate" :priceList="dataList.priceList" title="确定日期和人数"></canlendar>
......@@ -290,17 +290,27 @@
<view class="line-flex" style="padding:30rpx;background: #FFF;">
<text style="font-size: 28rpx;color:#111;font-weight: 500;">成人</text>
<text style="font-size:22rpx;color:#999;margin-left: 30rpx;flex:1;">18周岁以上</text>
<u-number-box size="28" :min="1" :max="currentPrice.totalSeat-etCount" v-model="crCount"></u-number-box>
<u-number-box size="28" :min="1" :max="currentPrice.totalSeat-etCount-etbCount" @change="crChange" v-model="crCount"></u-number-box>
</view>
<view class="line-flex" style="padding:30rpx;background: #FFF;">
<text style="font-size: 28rpx;color:#111;font-weight: 500;">儿童(占床)</text>
<text style="font-size:22rpx;color:#999;margin-left: 30rpx;flex:1;">2-18周岁(不含)</text>
<u-number-box size="28" :min="0" :max="currentPrice.totalSeat-crCount-etbCount" @change="etChange" v-model="etCount"></u-number-box>
</view>
<view class="line-flex" style="padding:30rpx;background: #FFF;">
<text style="font-size: 28rpx;color:#111;font-weight: 500;">儿童</text>
<text style="font-size: 28rpx;color:#111;font-weight: 500;">儿童(不占床)</text>
<text style="font-size:22rpx;color:#999;margin-left: 30rpx;flex:1;">2-18周岁(不含)</text>
<u-number-box size="28" :min="0" :max="currentPrice.totalSeat-crCount" v-model="etCount"></u-number-box>
<u-number-box size="28" :min="0" :max="currentPrice.totalSeat-crCount-etCount" @change="etbChange" v-model="etbCount"></u-number-box>
</view>
<view class="line-flex" style="padding:30rpx;background: #FFF;">
<text style="font-size: 28rpx;color:#111;font-weight: 500;">婴儿</text>
<text style="font-size:22rpx;color:#999;margin-left: 30rpx;flex:1;">0-2周岁(不含)</text>
<u-number-box size="28" @change="yeChange" :min="0" :max="crCount" v-model="yeCount"></u-number-box>
</view>
</view>
<view class="jz_OrderDiv" style="box-shadow: none;width: 100%;padding:20rpx;">
<view>
<text style="font-size:24rpx;color:#111;font-weight: 400;">{{currentPrice.startDate}} 出发</text>
<text style="font-size:24rpx;color:#111;font-weight: 500;">{{currentPrice.startDate}} 出发 余位:{{currentPrice.totalSeat}}</text>
</view>
<view style="display:flex;align-items: center;">
<button open-type="contact" class="jz_ConButton">
......@@ -328,6 +338,8 @@
showOrderPreviwe:false,
crCount:1,
etCount:0,
yeCount:0,
etbCount:0,
msg: {
pageIndex: 1,
pageSize: 15
......@@ -351,7 +363,7 @@
};
},
created() {
},
onLoad(option) {
if (option.tcid && option.configId) {
......@@ -376,9 +388,10 @@
chosenDateResult(result){
let price=this.dataList.priceList[result.priceObj]
this.currentPrice=price
if(this.crCount+this.etCount>this.currentPrice.totalSeat){
this.crCount=1,
if(this.crCount+this.etCount+this.etbCount>=this.currentPrice.totalSeat){
this.crCount=1
this.etCount=0
this.etbCount=0
}
this.delMsg.tcid=price.tcid
this.delMsg.configId = price.configID;
......@@ -388,6 +401,18 @@
}
this.showDateChosen=false
},
crChange(e){
this.crCount=e.value;
},
etChange(e){
this.etCount=e.value;
},
etbChange(e){
this.etbCount=e.value;
},
yeChange(e){
this.yeCount=e.value;
},
openPicture() {
let imgObj = JSON.stringify(this.dataList.HotelImg);
uni.navigateTo({
......@@ -468,9 +493,10 @@
},
//点击切换
getDayInfo(item){
if(this.crCount+this.etCount>this.currentPrice.totalSeat){
this.crCount=1,
if(this.crCount+this.etCount+this.etbCount>=this.currentPrice.totalSeat){
this.crCount=1
this.etCount=0
this.etbCount=0
}
this.delMsg.tcid = item.tcid;
this.delMsg.configId = item.configID;
......@@ -500,8 +526,14 @@
}
let myCurr = JSON.stringify(myCurrentInfo);
console.log(myCurrentInfo,'myCurrentInfo');
let ren={
crCount:this.crCount,
etCount:this.etCount,
yeCount:this.yeCount,
etbCount:this.etbCount
}
uni.navigateTo({
url: "/pages/jiuzhai/jz_Reserve?currentPriceInfo="+encodeURIComponent(myCurr)
url: "/pages/jiuzhai/jz_Reserve?currentPriceInfo="+encodeURIComponent(myCurr)+"&ln="+this.dataList.ltName+"&seat="+encodeURIComponent(JSON.stringify(ren))+"&tips="+encodeURIComponent(this.dataList.feature.importantTipText)
});
}
},
......@@ -514,6 +546,10 @@
height: 100vh;
box-sizing: border-box;
}
.jz_LineDetail rich-text{
font-size: 26rpx;
font-weight: 500;
}
.line-flex{
display: flex;
align-items: center;
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment