Commit bdeba5e8 authored by 黄奎's avatar 黄奎

Merge branch 'B2C' of http://gitlab.oytour.com/zk123/jz_travel into B2C

parents 89fb94f7 4b305ddc
...@@ -138,22 +138,37 @@ ...@@ -138,22 +138,37 @@
<Text>取消政策</Text> <Text>取消政策</Text>
</view> </view>
<view class="showModalCTisp"> <view class="showModalCTisp">
<view class="showModalTisp"> <template v-if="CancelPolicy">
旅游者在<text>行程开始前7日以内提出解除合同,</text> <view class="showModalTisp">
将按下列标准扣除必要的费用: 旅游者在<text>行程开始前提出解除合同,</text>
</view> 将按下列标准扣除必要的费用:
<view class="showModalCTNK column"> </view>
<Text>行程开始前6日至4日</Text> <view class="showModalCTNK column">
<Text>按旅游费用总额的20%</Text> <Text>行程开始前</Text>
</view> <Text style="max-height: 300rpx;overflow-y: scroll;">
<view class="showModalCTNK column"> {{ CancelPolicy!='暂无'?CancelPolicy:'以实际退款为准' }}
<Text>行程开始前3日至1日</Text> </Text>
<Text>按旅游费用总额的40%</Text> </view>
</view> </template>
<view class="showModalCTNK column"> <template v-else>
<Text>行程开始当日</Text> <view class="showModalTisp">
<Text>按旅游费用总额的60%</Text> 旅游者在<text>行程开始前7日以内提出解除合同,</text>
</view> 将按下列标准扣除必要的费用:
</view>
<view class="showModalCTNK column">
<Text>行程开始前6日至4日</Text>
<Text>按旅游费用总额的20%</Text>
</view>
<view class="showModalCTNK column">
<Text>行程开始前3日至1日</Text>
<Text>按旅游费用总额的40%</Text>
</view>
<view class="showModalCTNK column">
<Text>行程开始当日</Text>
<Text>按旅游费用总额的60%</Text>
</view>
</template>
</view> </view>
<view class="vip-box" v-if="datas.OrderStatus==5"> <view class="vip-box" v-if="datas.OrderStatus==5">
<view class="vip-title">进度</view> <view class="vip-title">进度</view>
...@@ -176,7 +191,7 @@ ...@@ -176,7 +191,7 @@
</template> </template>
<script> <script>
export default { export default {
props:['datas','type'], props:['datas','type','CancelPolicy'],
data(){ data(){
return{ return{
vipInfo:{ vipInfo:{
......
...@@ -142,22 +142,37 @@ ...@@ -142,22 +142,37 @@
<text>按标准扣除必要的费用</text> <text>按标准扣除必要的费用</text>
</view> </view>
<view class="showModalCTisp"> <view class="showModalCTisp">
<view class="showModalTisp"> <template v-if="CancelPolicy">
旅游者在<text>行程开始前7日以内提出解除合同,</text> <view class="showModalTisp">
将按下列标准扣除必要的费用: 旅游者在<text>行程开始前提出解除合同,</text>
</view> 将按下列标准扣除必要的费用:
<view class="showModalCTNK column"> </view>
<Text>行程开始前6日至4日</Text> <view class="showModalCTNK column">
<Text>按旅游费用总额的20%</Text> <Text>行程开始前</Text>
</view> <Text style="max-height: 300rpx;overflow-y: scroll;">
<view class="showModalCTNK column"> {{ CancelPolicy!='暂无'?CancelPolicy:'以实际退款为准' }}
<Text>行程开始前3日至1日</Text> </Text>
<Text>按旅游费用总额的40%</Text> </view>
</view> </template>
<view class="showModalCTNK column"> <template v-else>
<Text>行程开始当日</Text> <view class="showModalTisp">
<Text>按旅游费用总额的60%</Text> 旅游者在<text>行程开始前7日以内提出解除合同,</text>
</view> 将按下列标准扣除必要的费用:
</view>
<view class="showModalCTNK column">
<Text>行程开始前6日至4日</Text>
<Text>按旅游费用总额的20%</Text>
</view>
<view class="showModalCTNK column">
<Text>行程开始前3日至1日</Text>
<Text>按旅游费用总额的40%</Text>
</view>
<view class="showModalCTNK column">
<Text>行程开始当日</Text>
<Text>按旅游费用总额的60%</Text>
</view>
</template>
</view> </view>
<view class="showModalTime" <view class="showModalTime"
:class="[!submitCancel?'active':'']">请仔细阅读条款<template v-if="submitCancel">{{remainingTime}}s</template>后确认</view> :class="[!submitCancel?'active':'']">请仔细阅读条款<template v-if="submitCancel">{{remainingTime}}s</template>后确认</view>
...@@ -185,7 +200,7 @@ ...@@ -185,7 +200,7 @@
</template> </template>
<script> <script>
export default { export default {
props:['showModal','orderNo','type'], props:['showModal','orderNo','type','CancelPolicy'],
data(){ data(){
return{ return{
Cancelmsg:{ Cancelmsg:{
...@@ -198,10 +213,17 @@ export default { ...@@ -198,10 +213,17 @@ export default {
isRunning: false, // 状态标识(防止重复启动) isRunning: false, // 状态标识(防止重复启动)
} }
}, },
watch: {
// CancelPolicy: {
// handler(newVal, oldVal) {
// },
// deep: false,
// immediate: true
// }
},
created() { created() {
console.log(uni.getStorageSync("b2b_user"),'=======b2b_user')
this.erpBaseInfo = uni.getStorageSync("b2b_user").erpBaseInfo this.erpBaseInfo = uni.getStorageSync("b2b_user").erpBaseInfo
console.log(this.datas,'----=====datas')
}, },
mounted() { mounted() {
setTimeout(() => { setTimeout(() => {
......
...@@ -78,8 +78,12 @@ ...@@ -78,8 +78,12 @@
</view> </view>
</view> </view>
</view> </view>
<cancelPrompt v-if="showModal" :showModal="showModal" @cancel="cancelModal" @success="cancelSuccess" type="1" <cancelPrompt v-if="showModal"
:orderNo="currentData.orderNo"></cancelPrompt> :showModal="showModal"
@cancel="cancelModal"
@success="cancelSuccess" type="1"
:orderNo="currentData.orderNo"
:CancelPolicy="CancelPolicy"></cancelPrompt>
</view> </view>
</template> </template>
<script> <script>
...@@ -98,6 +102,7 @@ ...@@ -98,6 +102,7 @@
showModal: false, showModal: false,
currentData: null, currentData: null,
b2b_user: null, b2b_user: null,
CancelPolicy: null,
} }
}, },
watch: { watch: {
...@@ -414,6 +419,11 @@ ...@@ -414,6 +419,11 @@
//直客订单取消 //直客订单取消
goCancelZK(item) { goCancelZK(item) {
if (item.orderStatus == 2) { if (item.orderStatus == 2) {
if(item.goodsType==12||item.goodsType==13||item.goodsType==14){
this.initData(item.goodsId)
}else{
this.CancelPolicy = null
}
this.currentData = item this.currentData = item
return this.showModal = true return this.showModal = true
} }
...@@ -451,6 +461,17 @@ ...@@ -451,6 +461,17 @@
} }
}) })
}, },
initData(ProductId) {
this.apipost(
"CarSingle_post_GetTYCarSingleProductInfo",{
ProductId: ProductId,
},
res => {
if (res.resultCode == 1) {
this.CancelPolicy = res.data.CancelPolicy!=''?res.data.CancelPolicy:'暂无'
}
});
},
} }
} }
</script> </script>
......
...@@ -146,16 +146,18 @@ ...@@ -146,16 +146,18 @@
</view> </view>
<!-- #endif --> <!-- #endif -->
<view class="busTispBox" style="margin-top: 20rpx;"> <view class="busTispBox" style="margin-top: 20rpx;">
<template v-if="(dataList.PriceIncludeList&&dataList.PriceIncludeList.length>0)||
(dataList.PriceNotIncludeList&&dataList.PriceNotIncludeList.length>0)">
<view class="busTispTitle">费用说明</view> <view class="busTispTitle">费用说明</view>
<view class="busTispInfor"> <view class="busTispInfor">
<view class="busTispFY"> <view class="busTispFY" v-if="dataList.PriceIncludeList&&dataList.PriceIncludeList.length>0">
费用包含: 费用包含:
<text class="bus-tagText" v-for="(item,index) in dataList.PriceIncludeList" <text class="bus-tagText" v-for="(item,index) in dataList.PriceIncludeList"
:key="index"> :key="index">
{{ item }} {{ item }}
</text> </text>
</view> </view>
<view class="busTispFY"> <view class="busTispFY" v-if="dataList.PriceNotIncludeList&&dataList.PriceNotIncludeList.length>0">
费用不包含: 费用不包含:
<text class="bus-tagText active" v-for="(item,index) in dataList.PriceNotIncludeList" <text class="bus-tagText active" v-for="(item,index) in dataList.PriceNotIncludeList"
:key="index"> :key="index">
...@@ -163,10 +165,13 @@ ...@@ -163,10 +165,13 @@
</text> </text>
</view> </view>
</view> </view>
<view class="busTispTitle">购买须知</view> </template>
<view class="busTispInfor"> <template v-if="dataList.BuyNotes">
{{ dataList.BuyNotes }} <view class="busTispTitle">购买须知</view>
</view> <view class="busTispInfor">
{{ dataList.BuyNotes }}
</view>
</template>
<view class="busTispTitle"> <view class="busTispTitle">
<view>接送点范围</view> <view>接送点范围</view>
<view v-for="(item,index) in dataList.PlaceList" <view v-for="(item,index) in dataList.PlaceList"
...@@ -184,10 +189,13 @@ ...@@ -184,10 +189,13 @@
:scale="scale"> :scale="scale">
</map> </map>
</view> </view>
<view class="busTispTitle">温馨提示</view> <template v-if="dataList.CancelPolicy">
<view class="busTispInfor" style="border: 0;"> <view class="busTispTitle">取消政策</view>
{{ dataList.CancelPolicy }} <view class="busTispInfor" style="border: 0;">
</view> {{ dataList.CancelPolicy }}
</view>
</template>
</view> </view>
</view> </view>
...@@ -626,9 +634,19 @@ ...@@ -626,9 +634,19 @@
this.includePoints = [] this.includePoints = []
this.dataList = res.data; this.dataList = res.data;
if(!this.orderMsg.CarId) { if(!this.orderMsg.CarId) {
this.orderMsg.CarId = this.dataList.CarTypeList[0].Id if(this.busInfor.CarType!=3&&this.busInfor.peopleNum){
this.orderMsg.CarName = this.dataList.CarTypeList[0].CarName let i = this.dataList.CarTypeList.findIndex(item=>{
this.orderMsg.PeopleNum = this.dataList.CarTypeList[0].PeopleNum return item.PeopleNum>=this.busInfor.peopleNum
})
let item = this.dataList.CarTypeList[i]
this.orderMsg.CarId = item.Id
this.orderMsg.CarName = item.CarName
this.orderMsg.PeopleNum = item.PeopleNum
}else{
this.orderMsg.CarId = this.dataList.CarTypeList[0].Id
this.orderMsg.CarName = this.dataList.CarTypeList[0].CarName
this.orderMsg.PeopleNum = this.dataList.CarTypeList[0].PeopleNum
}
} }
this.getPrices() this.getPrices()
for (let i = 0; i < res.data.ImageList.length; i++) { for (let i = 0; i < res.data.ImageList.length; i++) {
......
...@@ -272,6 +272,18 @@ ...@@ -272,6 +272,18 @@
startYear: 2025, startYear: 2025,
} }
}, },
onLoad(options) {
},
onShow() {
// uni.getStorage({
// key: "busInfor",
// success: (res) => {
// let obj = JSON.parse(res.data);
// this.busInfor = obj;
// },
// });
},
created() { created() {
this.startYear = this.$utils.GetDateFewFaysLater(0).year this.startYear = this.$utils.GetDateFewFaysLater(0).year
}, },
...@@ -526,9 +538,7 @@ ...@@ -526,9 +538,7 @@
this.scrollTop = val.target.scrollTop this.scrollTop = val.target.scrollTop
}, },
goHomeHandle(){ goHomeHandle(){
uni.redirectTo({ uni.navigateBack({delta:-1})
url:'/pages/index/index'
})
} }
} }
} }
......
...@@ -180,7 +180,7 @@ ...@@ -180,7 +180,7 @@
</view> </view>
<view class="LastNameBox column val" style="width: 1px;flex: 1;"> <view class="LastNameBox column val" style="width: 1px;flex: 1;">
<view class="row items-center"> <view class="row items-center">
<input type="number" v-model="orderMsg.ChildNum" placeholder="儿童数" /> <input type="number" v-model="orderMsg.ChildNum" placeholder="儿童数" @change="getPeoples"/>
</view> </view>
</view> </view>
</view> </view>
...@@ -190,7 +190,7 @@ ...@@ -190,7 +190,7 @@
</view> </view>
<view class="LastNameBox column val" style="width: 1px;flex: 1;"> <view class="LastNameBox column val" style="width: 1px;flex: 1;">
<view class="row items-center"> <view class="row items-center">
<input type="number" v-model="orderMsg.BabyNum" placeholder="婴儿数" /> <input type="number" v-model="orderMsg.BabyNum" placeholder="婴儿数" @change="getPeoples"/>
</view> </view>
</view> </view>
</view> </view>
...@@ -290,7 +290,7 @@ ...@@ -290,7 +290,7 @@
</view> </view>
</view> </view>
<view class="buyTispBox"> <view class="buyTispBox" v-if="dataList.BuyNotes">
<view class="big-title"> <view class="big-title">
<text class="">购买说明</text> <text class="">购买说明</text>
</view> </view>
...@@ -329,11 +329,8 @@ ...@@ -329,11 +329,8 @@
<u-toast ref="uToast" /> <u-toast ref="uToast" />
<u-picker mode="selector" v-model="showCountry" :default-selector="[0]" :range="countrys" <u-picker mode="selector" v-model="showCountry" :default-selector="[0]" :range="countrys"
@confirm='(e)=>{changeDown(e,CountryType)}' range-key="label" @input="showCountry=false"></u-picker> @confirm='(e)=>{changeDown(e,CountryType)}' range-key="label" @input="showCountry=false"></u-picker>
<!-- <coupon v-if="couponList.length > 0 && showCoupon" :price="getPrice(orderMsg.Money)" :list="couponList"
:current="useCouponIds" @close="closeCouponHandler" :order="orderMsg" :numberPeople="searchObj.peoples">
</coupon>-->
<coupon v-if="couponList.length > 0 && showCoupon" :price="orderMsg.Money" :list="couponList" <coupon v-if="couponList.length > 0 && showCoupon" :price="orderMsg.Money" :list="couponList"
:current="useCouponIds" @close="closeCouponHandler" :order="orderMsg" :numberPeople="searchObj.peoples"> :current="useCouponIds" @close="closeCouponHandler" :order="orderMsg" :numberPeople="orderMsg.peoples">
</coupon> </coupon>
</view> </view>
</template> </template>
...@@ -496,6 +493,7 @@ ...@@ -496,6 +493,7 @@
}, },
getPeoples(){ getPeoples(){
this.orderMsg.peoples = Number(this.orderMsg.ManNum) + Number(this.orderMsg.ChildNum) +Number(this.orderMsg.BabyNum); this.orderMsg.peoples = Number(this.orderMsg.ManNum) + Number(this.orderMsg.ChildNum) +Number(this.orderMsg.BabyNum);
this.calcMaxCouponHandle()
}, },
getWeek(date) { getWeek(date) {
var weekArray = new Array("日", "一", "二", "三", "四", "五", "六"); var weekArray = new Array("日", "一", "二", "三", "四", "五", "六");
...@@ -705,15 +703,16 @@ ...@@ -705,15 +703,16 @@
let maxCouponId = 0 let maxCouponId = 0
let discount = 0 let discount = 0
const money = this.price const money = this.price
this.couponList.forEach(x => { this.couponList.forEach(x => {
if (x.couponsType == 1 && x.denomination > discount && (this.orderMsg.PeopleNum >= x if (x.couponsType == 1 && x.denomination > discount && (this.orderMsg.peoples >= x
.orderGuestNum || !x.orderGuestNum)&&this.price>=x.useCondition) { .orderGuestNum || !x.orderGuestNum)&&this.price>=x.useCondition) {
discount = x.denomination discount = x.denomination
maxCouponId = x.id maxCouponId = x.id
} }
if (x.couponsType == 2) { if (x.couponsType == 2) {
let disMoney = money * (1 - x.denomination) let disMoney = money * (1 - x.denomination)
if (discount < disMoney && (this.orderMsg.PeopleNum >= x.orderGuestNum || !x if (discount < disMoney && (this.orderMsg.peoples >= x.orderGuestNum || !x
.orderGuestNum)&&this.price>=x.useCondition) { .orderGuestNum)&&this.price>=x.useCondition) {
discount = disMoney discount = disMoney
maxCouponId = x.id maxCouponId = x.id
...@@ -881,7 +880,6 @@ ...@@ -881,7 +880,6 @@
return return
} }
// #endif // #endif
this.submit = true; this.submit = true;
let CouponAllotIds = '' let CouponAllotIds = ''
......
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
<view class="ResInforL">人数</view> <view class="ResInforL">人数</view>
<view class="ResInforR">最多坐{{ orderInfor.PeopleNum}}</view> <view class="ResInforR">最多坐{{ orderInfor.PeopleNum}}</view>
</view> </view>
<view class="ResInforText row"> <view class="ResInforText row" v-if="dataList.CancelPolicy">
<view class="ResInforL">取消政策</view> <view class="ResInforL">取消政策</view>
<view class="ResInforR"> <view class="ResInforR">
<text> <text>
......
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
</view> </view>
</view> </view>
<view v-if="orderData.OrderStatus==5" style="padding: 0 30rpx;"> <view v-if="orderData.OrderStatus==5" style="padding: 0 30rpx;">
<cancelProgress :datas="orderData"></cancelProgress> <cancelProgress :datas="orderData" :CancelPolicy="CancelPolicy"></cancelProgress>
</view> </view>
<view class="ReservationInforBox"> <view class="ReservationInforBox">
<view class="big-title"> <view class="big-title">
...@@ -257,7 +257,8 @@ ...@@ -257,7 +257,8 @@
<cancelPrompt v-if="showModal" <cancelPrompt v-if="showModal"
:showModal="showModal" :showModal="showModal"
@cancel="cancelModal" @cancel="cancelModal"
:orderNo="orderData.OrderNo"></cancelPrompt> :orderNo="OrderNo"
:CancelPolicy="CancelPolicy"></cancelPrompt>
</view> </view>
</template> </template>
...@@ -357,6 +358,8 @@ ...@@ -357,6 +358,8 @@
customer: {}, customer: {},
SalePhone: null, SalePhone: null,
showModal: false, showModal: false,
OrderNo: '',
CancelPolicy: '',
}; };
}, },
created() { created() {
...@@ -621,6 +624,8 @@ ...@@ -621,6 +624,8 @@
if (res.resultCode == 1) { if (res.resultCode == 1) {
uni.hideLoading(); uni.hideLoading();
this.orderData = res.data this.orderData = res.data
this.initData(res.data.ProductId)
this.OrderNo = res.data.OrderNo
this.peopleNum = Number(this.orderData.ManNum) + Number(this.orderData.ChildNum) +Number(this.orderData.BabyNum); this.peopleNum = Number(this.orderData.ManNum) + Number(this.orderData.ChildNum) +Number(this.orderData.BabyNum);
// #ifdef MP-AG // #ifdef MP-AG
this.formatStatus( this.formatStatus(
...@@ -646,17 +651,40 @@ ...@@ -646,17 +651,40 @@
const parameter={ErpOrderId:this.id,OrderTypeStr:'Vehicle'} const parameter={ErpOrderId:this.id,OrderTypeStr:'Vehicle'}
this.apipost("GetDetailsByErpOrderId_post",parameter,res=>{ this.apipost("GetDetailsByErpOrderId_post",parameter,res=>{
if(res.resultCode==1){ if(res.resultCode==1){
this.OrderNo = res.data.OrderNo this.orderData = {
this.formatStatus( ...this.orderData,
res.data.OrderStatus, ...res.data,
null, CreateTime: this.orderData.CreateTime,
null }
); this.OrderNo = res.data.OrderNo
}else{ this.formatStatus(
res.data.OrderStatus,
null,
null
);
let OrderDate = this.orderData.OrderDate.slice(0, 10);
if(OrderDate<=this.$utils.GetDateFewFaysLater(0).date){
this.showPayBtn = false
}
} }
},err=>{
uni.showToast({
title: err.message,
icon: "none",
});
}) })
}, },
initData(ProductId) {
this.apipost(
"CarSingle_post_GetTYCarSingleProductInfo",{
ProductId: ProductId,
},
res => {
if (res.resultCode == 1) {
this.CancelPolicy = res.data.CancelPolicy!=''?res.data.CancelPolicy:'暂无'
}
});
},
//日期格式化 //日期格式化
getformatDateStr(value) { getformatDateStr(value) {
var dt = new Date(value); var dt = new Date(value);
......
...@@ -825,21 +825,33 @@ ...@@ -825,21 +825,33 @@
); );
}, },
calcMaxCouponHandle(){ calcMaxCouponHandle(){
const shengyu = this.realCurrentPriceInfo.totalSeat-this.realCurrentPriceInfo.leaderNum
const remainNum = this.realCurrentPriceInfo.remainNum
const orderNum = this.orderMsg.ManNum+this.orderMsg.ChirdNeedBedNum+this.orderMsg.ChirdNoBedNum
let errorMsg = null
if (this.realCurrentPriceInfo && this.realCurrentPriceInfo.teamType==1) {
if(shengyu!=remainNum) errorMsg = '当前定制团存在其他订单,无法使用专享优惠券'
else if(orderNum<shengyu) errorMsg = '报名人数小于团队机位人数,无法使用专享优惠券'
}
if(this.couponList && this.couponList.length>0){ if(this.couponList && this.couponList.length>0){
let maxCouponId = 0 let maxCouponId = 0
let discount = 0 let discount = 0
const money = this.price const money = this.price
this.couponList.forEach(x=>{ this.couponList.forEach(x=>{
if(x.couponsType==1 && x.denomination>discount&&(this.total>=x.orderGuestNum||!x.orderGuestNum)&&this.price>=x.useCondition) { if(x.couponsUseScope==10&&errorMsg) {
discount=x.denomination
maxCouponId = x.id }else{
} if(x.couponsType==1 && x.denomination>discount&&(this.total>=x.orderGuestNum||!x.orderGuestNum)&&this.price>=x.useCondition) {
if(x.couponsType==2){ discount=x.denomination
let disMoney = money*(1-x.denomination)
if(discount<disMoney&&(this.total>=x.orderGuestNum||!x.orderGuestNum)&&this.price>=x.useCondition){
discount=disMoney
maxCouponId = x.id maxCouponId = x.id
} }
if(x.couponsType==2){
let disMoney = money*(1-x.denomination)
if(discount<disMoney&&(this.total>=x.orderGuestNum||!x.orderGuestNum)&&this.price>=x.useCondition){
discount=disMoney
maxCouponId = x.id
}
}
} }
}) })
if(maxCouponId>0) this.closeCouponHandler([maxCouponId]) if(maxCouponId>0) this.closeCouponHandler([maxCouponId])
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
:config="config" :config="config"
:options="options" :options="options"
:charts-data="chartsData" :charts-data="chartsData"
height="300px" /> height="600rpx" />
<u-empty v-else text="暂无使用优惠,快去使用吧!" mode="coupon" padding-top="20" color="#000"></u-empty> <u-empty v-else text="暂无使用优惠,快去使用吧!" mode="coupon" padding-top="20" color="#000"></u-empty>
</view> </view>
</view> </view>
......
...@@ -95,7 +95,7 @@ export default { ...@@ -95,7 +95,7 @@ export default {
}, },
height:{ height:{
type: String, type: String,
default: '600px' default: '600rpx'
}, },
inScrollView: { inScrollView: {
type: Boolean, type: Boolean,
......
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