Commit 4f8c8121 authored by youjie's avatar youjie

B2C价格

parent 443e3190
......@@ -12,11 +12,11 @@
<view @click="()=>dateVisible=true" class="q-mt-sm row items-center" style="font-size: 24rpx;color:#000000BB">
<text>{{ dateRangeValue.formatStartDate }}</text>
<u-icon class="q-ml-sm" name='arrow_down' custom-prefix="tffont" color="#00000066" size="32"></u-icon>
</view>
</view>
<chosen-city @closed="resetCityVisible=false" @change="setNewCitiesHandle" :value="chosenResult" v-if="resetCityVisible"></chosen-city>
<u-popup mode="bottom" border-radius="20" :popup="false" v-model="dateVisible" :maskCloseAble="true" length="auto" :safeAreaInsetBottom="true" @close="()=>dateVisible=false" :z-index="9999">
<date-range :value="dateRangeValue" @change='setDateHandler'></date-range>
</u-popup>
<u-popup mode="bottom" border-radius="20" :popup="false" v-model="dateVisible" :maskCloseAble="true" length="auto" :safeAreaInsetBottom="true" @close="()=>dateVisible=false" :z-index="9999">
<date-range :value="dateRangeValue" @change='setDateHandler'></date-range>
</u-popup>
</view>
<scroll-view scroll-y="true" style="width: 100%;height: 1px;" class="col">
<view class="air-low-rank">
......@@ -36,27 +36,32 @@
<view class="city-list-item col">
<view @click="goListHandle('',x)" style="margin-bottom: 30rpx;" class=" row items-center">
<view class="bold col">{{x.DepartureName}} - {{x.ArrivalCityName}}</view>
<view class="row items-center">
<view style="font-size: 22rpx;">更多日期</view>
<u-icon name='arrow_right' custom-prefix="tffont" color="#00000066" size="28"></u-icon>
</view>
</view>
<view @click="goListHandle(f.FlightDate,x)" class="flights row items-center" v-for="(f,fi) in x.TicketProductList">
<image style="width: 30rpx;" :src="`https://static.tripcdn.com/packages/flight/airline-logo/latest/airline/48/${f.AlCode}.png`" mode="widthFix"></image>
<view style="font-size: 22rpx;width:50rpx;margin:0 4px">
{{ f.DayCount }}
</view>
<view style="font-size: 22rpx;">
{{ f.FlightDateString }}
</view>
<view class="q-ml-sm col" style="font-size: 22rpx;">
{{ f.ReturnDateString }}
</view>
<text style="color:#FF3166;font-size: 22rpx;">¥</text>
<view style="font-weight: bold;font-size: 24rpx;color:#FF3166">
{{ f.B2BPrice }}
</view>
<u-icon name='arrow_right' custom-prefix="tffont" color="#00000066" size="28"></u-icon>
<view class="row items-center">
<view style="font-size: 22rpx;">更多日期</view>
<u-icon name='arrow_right' custom-prefix="tffont" color="#00000066" size="28"></u-icon>
</view>
</view>
<view @click="goListHandle(f.FlightDate,x)" class="flights row items-center" v-for="(f,fi) in x.TicketProductList">
<image style="width: 30rpx;" :src="`https://static.tripcdn.com/packages/flight/airline-logo/latest/airline/48/${f.AlCode}.png`" mode="widthFix"></image>
<view style="font-size: 22rpx;width:50rpx;margin:0 4px">
{{ f.DayCount }}
</view>
<view style="font-size: 22rpx;">
{{ f.FlightDateString }}
</view>
<view class="q-ml-sm col" style="font-size: 22rpx;">
{{ f.ReturnDateString }}
</view>
<text style="color:#FF3166;font-size: 22rpx;">¥</text>
<view style="font-weight: bold;font-size: 24rpx;color:#FF3166">
<!-- #ifdef MP-DI -->
{{f.B2CPrice}}
<!-- #endif-->
<!-- #ifdef MP-AG -->
{{f.B2BPrice}}
<!-- #endif -->
</view>
<u-icon name='arrow_right' custom-prefix="tffont" color="#00000066" size="28"></u-icon>
</view>
</view>
......@@ -68,10 +73,10 @@
</view>
</template>
<script>
import ChosenCity from './components/address/ChosenCity.vue'
<script>
import ChosenCity from './components/address/ChosenCity.vue'
import DateRange from './components/time/DateRange.vue'
export default {
export default {
components:{ChosenCity,DateRange},
data() {
return {
......@@ -91,8 +96,8 @@
type: 0,
ID: 0,
Name: '全部'
},
resetCityVisible:false,
},
resetCityVisible:false,
dateVisible:false,
lowData: [],
chosenResult: [{
......@@ -135,7 +140,7 @@
mounted() {
},
methods: {
methods: {
resolveParameterHanle() {
this.resetParameterHandle()
......@@ -143,7 +148,7 @@
this.parementers.ArriveCityId = this.chosenResult[1].ID
if (this.dateRangeValue.type == 1) {
this.parementers.StartDate = this.dateRangeValue.startDate
this.parementers.StartDate = this.dateRangeValue.startDate
this.parementers.EndDate = this.dateRangeValue.startDate
} else {
const d = this.resolveDateByFuzzyHandle(this.dateRangeValue.fuzzy.fuzzyType)
......@@ -203,7 +208,7 @@
this.loadingLow = true
this.apipost('AirTicket_get_GetTopTicketProduct', this.parementers, (r) => {
if (r.resultCode == 1) {
this.lowData = this.formatLowData(r.data)
this.lowData = this.formatLowData(r.data)
console.log(this.lowData)
}
this.loadingLow = false
......@@ -215,44 +220,44 @@
d.forEach((x) => {
x.TicketProductList.sort((a,b)=>{
return new Date(a.FlightDate) - new Date(b.FlightDate);
})
})
const newTicket = x.TicketProductList.splice(0,2)
newTicket.forEach((x)=>{
const q = x.FlightList.findLastIndex((f) => f.FlightType == 3)
x.ReturnDate = x.FlightList[q].FlightDate
x.DayCount = Math.abs((new Date(x.ReturnDate).getTime()-new Date(x.FlightDate).getTime())/(24*60*60*1000))
x.ReturnDateString = this.formatDateString(x.ReturnDate)
x.FlightDateString = this.formatDateString(x.FlightDate)
})
newTicket.forEach((x)=>{
const q = x.FlightList.findLastIndex((f) => f.FlightType == 3)
x.ReturnDate = x.FlightList[q].FlightDate
x.DayCount = Math.abs((new Date(x.ReturnDate).getTime()-new Date(x.FlightDate).getTime())/(24*60*60*1000))
x.ReturnDateString = this.formatDateString(x.ReturnDate)
x.FlightDateString = this.formatDateString(x.FlightDate)
})
x.TicketProductList = newTicket
});
return d
},
formatDateString(d){
const date = new Date(d)
const weeks = ['日','一','二','三','四','五','六']
return `${String(date.getMonth()+1).padStart(2,'0')}.${String(date.getDate()).padStart(2,'0')}${weeks[date.getDay()]}` //周${weeks[date.getDay()]}
},
setNewCitiesHandle(val){
this.chosenResult = val
uni.setStorageSync('scf',{
cities:this.chosenResult,
dateRange: this.dateRangeValue
})
this.getTopLowTicketHandle()
this.resetCityVisible = false
},
setDateHandler(val){
this.dateRangeValue = val
this.dateVisible = false
uni.setStorageSync('scf',{
cities:this.chosenResult,
dateRange: this.dateRangeValue
})
this.getTopLowTicketHandle()
},
goListHandle(val,x){
},
formatDateString(d){
const date = new Date(d)
const weeks = ['日','一','二','三','四','五','六']
return `${String(date.getMonth()+1).padStart(2,'0')}.${String(date.getDate()).padStart(2,'0')}${weeks[date.getDay()]}` //周${weeks[date.getDay()]}
},
setNewCitiesHandle(val){
this.chosenResult = val
uni.setStorageSync('scf',{
cities:this.chosenResult,
dateRange: this.dateRangeValue
})
this.getTopLowTicketHandle()
this.resetCityVisible = false
},
setDateHandler(val){
this.dateRangeValue = val
this.dateVisible = false
uni.setStorageSync('scf',{
cities:this.chosenResult,
dateRange: this.dateRangeValue
})
this.getTopLowTicketHandle()
},
goListHandle(val,x){
const newCityInfo = [{
type: 0,
ID: x.DepartureCity,
......@@ -263,18 +268,18 @@
ID: x.ArrivalCityId,
Name: x.ArrivalCityName
}
]
uni.setStorageSync('scf',{
cities:newCityInfo,
dateRange: this.dateRangeValue
})
let url ='/pages/airTicket/ticketList/ticketList'
if(val!=''){
url += `?dv=${encodeURIComponent(val)}`
}
uni.navigateTo({
url
})
]
uni.setStorageSync('scf',{
cities:newCityInfo,
dateRange: this.dateRangeValue
})
let url ='/pages/airTicket/ticketList/ticketList'
if(val!=''){
url += `?dv=${encodeURIComponent(val)}`
}
uni.navigateTo({
url
})
}
}
}
......@@ -290,8 +295,8 @@
.search-box {
height: 200rpx;
width: 100%;
box-shadow: 0 0 26rpx #f1f1f1;
background-image: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638750707031350012.jpg');
box-shadow: 0 0 26rpx #f1f1f1;
background-image: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638750707031350012.jpg');
background-size: 100% auto;
}
......@@ -301,22 +306,22 @@
color: #080A09;
}
.air-low-rank {
.air-low-rank {
padding: 40rpx;
}
.air-low-rank .city-list-item {
margin-left: 18rpx;
}
.air-low-rank .city-list-item .bold{
font-weight: bold;
font-size: 32rpx !important;
color: #080A09;
}
.air-low-rank .city-list-item .flights{
background: #f1f1f1;
border-radius: 8rpx;
padding:10rpx;
margin-top: 10rpx;
.air-low-rank .city-list-item .bold{
font-weight: bold;
font-size: 32rpx !important;
color: #080A09;
}
.air-low-rank .city-list-item .flights{
background: #f1f1f1;
border-radius: 8rpx;
padding:10rpx;
margin-top: 10rpx;
}
.air-low-rank .city-list-item .info-text {
font-size: 24rpx;
......
......@@ -85,7 +85,14 @@
<view class="col">
<text style="font-size: 22rpx;color: #A4A4A4;font-weight: 400;">仅需:</text>
<text style="color:#FF3166;font-size: 22rpx;">¥</text>
<text style="font-size: 32rpx;font-weight: bold;color:#FF3166;">{{x.Flight.B2BPrice}}</text>
<text style="font-size: 32rpx;font-weight: bold;color:#FF3166;">
<!-- #ifdef MP-DI-->
{{x.Flight.B2CPrice}}
<!-- #endif-->
<!-- #ifdef MP-AG-->
{{x.Flight.B2BPrice}}
<!-- #endif -->
</text>
</view>
<view class="more-date" @click="openFlightHandle(x,1)">更多日期</view>
</view>
......@@ -96,25 +103,25 @@
</view>
</view>
</view>
</scroll-view>
</template>
</scroll-view>
</template>
<script>
import CityList from './components/address/CityList.vue';
import DateRange from './components/time/DateRange.vue';
export default {
data() {
return {
leftPos: 0,
import DateRange from './components/time/DateRange.vue';
export default {
data() {
return {
leftPos: 0,
rightPos: 0,
leftStyle:{
transform: `translateX(0px)`,
transition: 'transform 0.5s ease',
leftStyle:{
transform: `translateX(0px)`,
transition: 'transform 0.5s ease',
},
rightStyle:{
transform: `translateX(0px)`,
transition: 'transform 0.5s ease',
rightStyle:{
transform: `translateX(0px)`,
transition: 'transform 0.5s ease',
},
scrollTop:0,
containerWidth:0,
......@@ -159,8 +166,8 @@
Name:'全部低价城市'
}
],
barHeight:0
}
barHeight:0
}
},
components:{CityList,DateRange},
created() {
......@@ -177,7 +184,7 @@
that.barHeight = r.statusBarHeight
},
});
},
},
methods: {
searchFlightHandle(){
uni.setStorageSync('scf',{
......@@ -285,24 +292,24 @@
})
.exec();
});
},
},
async swapLocations() {
this.leftWidth = await this.getDomWidthAsync('.left-name')
this.rightWidth = await this.getDomWidthAsync('.right-name')
this.leftPos = this.leftPos === 0 ? (this.containerWidth-this.leftWidth) : 0;
this.rightWidth = await this.getDomWidthAsync('.right-name')
this.leftPos = this.leftPos === 0 ? (this.containerWidth-this.leftWidth) : 0;
this.rightPos = this.rightPos === 0 ? -(this.containerWidth-this.rightWidth) : 0;
this.chosenResult[0].type = this.leftPos === 0 ? 0 : 1
this.chosenResult[1].type = this.rightPos === 0 ? 1 : 0
this.rotateNum += 180
this.leftStyle = {
transform: `translateX(${this.leftPos}px)`,
transition: 'transform 0.5s ease',
this.leftStyle = {
transform: `translateX(${this.leftPos}px)`,
transition: 'transform 0.5s ease',
}
this.rightStyle ={
transform: `translateX(${this.rightPos}px)`,
transition: 'transform 0.5s ease',
}
this.rightStyle ={
transform: `translateX(${this.rightPos}px)`,
transition: 'transform 0.5s ease',
}
},
},
popupClose(){
this.citiesVisible = false
this.dateVisible = false
......@@ -338,12 +345,12 @@
url:'/pages/index/index'
})
}
}
}
</script>
<style>
@import url("../../asset/css/flex.css");
}
}
</script>
<style>
@import url("../../asset/css/flex.css");
.nav-box{
height: 44px; /* 这里的44px是示例高度,可根据实际设计调整 */
line-height: 44px;
......@@ -375,17 +382,17 @@
}
.nav-box .home-btn:active{
background-color: #ccc;
}
.air-home {
background-color: #F3F1EF;
min-height: 100vh;
background-image: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/uploads/versions/flight.png');
background-repeat: no-repeat;
background-size: 100% auto;
padding: 0 30rpx;
}
.air-home {
background-color: #F3F1EF;
min-height: 100vh;
background-image: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/uploads/versions/flight.png');
background-repeat: no-repeat;
background-size: 100% auto;
padding: 0 30rpx;
padding-top: 257rpx;
padding-bottom: 36rpx;
}
padding-bottom: 36rpx;
}
.air-low-rank{
margin-top: 36rpx;
border-radius: 16rpx;
......@@ -448,66 +455,66 @@
color: #000000DD;
font-size: 22rpx;
font-weight: 400;
}
.air-home-header {
border-radius: 18rpx;
background-color: #FFF;
}
.air-home-header .title-box {
height: 79rpx;
background: #FAF0DB;
position: relative;
border-top-right-radius: 18rpx;
}
.air-home-header .title-box .active-item {
background-color: #fff;
position: absolute;
padding-top: 30rpx;
border-top-right-radius: 18rpx;
border-top-left-radius: 18rpx;
top: -10rpx;
width: 310rpx;
bottom: 0;
left: 0;
text-align: center;
font-weight: bold;
font-size: 32rpx;
color: #B99846;
}
.air-home-header .title-box .active-item .right {
width: 75rpx;
height: 89rpx;
position: absolute;
background-image: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638745412034709773.png');
background-size: 100% 100%;
right: -62rpx;
top: 0;
}
.air-home .air-home-header .air-tools {
padding: 36rpx;
}
.air-tools .cities-name {
font-weight: bold;
font-size: 32rpx;
color: #080A09;
}
.air-tools .normal-label {
font-size: 24rpx;
color: #9999A6;
}
.air-tools .exchange {
background-image: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1696990221000_663.png');
background-repeat: no-repeat;
background-position: center center;
background-size: 38rpx auto;
/* 这里设置背景图片的宽度和高度 */
height: 30px;
}
}
.air-home-header {
border-radius: 18rpx;
background-color: #FFF;
}
.air-home-header .title-box {
height: 79rpx;
background: #FAF0DB;
position: relative;
border-top-right-radius: 18rpx;
}
.air-home-header .title-box .active-item {
background-color: #fff;
position: absolute;
padding-top: 30rpx;
border-top-right-radius: 18rpx;
border-top-left-radius: 18rpx;
top: -10rpx;
width: 310rpx;
bottom: 0;
left: 0;
text-align: center;
font-weight: bold;
font-size: 32rpx;
color: #B99846;
}
.air-home-header .title-box .active-item .right {
width: 75rpx;
height: 89rpx;
position: absolute;
background-image: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638745412034709773.png');
background-size: 100% 100%;
right: -62rpx;
top: 0;
}
.air-home .air-home-header .air-tools {
padding: 36rpx;
}
.air-tools .cities-name {
font-weight: bold;
font-size: 32rpx;
color: #080A09;
}
.air-tools .normal-label {
font-size: 24rpx;
color: #9999A6;
}
.air-tools .exchange {
background-image: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1696990221000_663.png');
background-repeat: no-repeat;
background-position: center center;
background-size: 38rpx auto;
/* 这里设置背景图片的宽度和高度 */
height: 30px;
}
</style>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
......@@ -54,8 +54,8 @@
<view class="cdTiaojianBRText" v-if="g.remark&&g.remark!=''">备注:{{ g.remark }}</view>
</view>
</view>
<view class="cdTiaojianButtom" v-if="type==1" @click="gouseUrl(g)">立即使用</view>
<view class="cdTiaojianButtom" v-else @click="g.couponReceiveCount==0?receive(g.couponReceiveCount):gouseUrl(g)">{{ g.couponReceiveCount==0?'立即领取':'立即使用' }}</view>
<view class="cdTiaojianButtom" v-if="type==1" @click="gouseUrl()">立即使用</view>
<view class="cdTiaojianButtom" v-else @click="g.couponReceiveCount==0?receive():gouseUrl()">{{ g.couponReceiveCount==0?'立即领取':'立即使用' }}</view>
</view>
</view>
......@@ -108,9 +108,9 @@
return num
},
receive(id){
receive(){
this.apipost("b2c_post_CustomerGrantCoupon", {
Id: id
Id: this.g.id
}, (res) => {
if (res.resultCode == 1) {
uni.showToast({
......@@ -129,7 +129,7 @@
},
gouseUrl(g) {
gouseUrl() {
uni.redirectTo({
url: '/pages/index/index'
});
......
......@@ -305,58 +305,75 @@
for (let i = 0; i < this.count; i++) {
var days = [];
var week = 0;
for (var j = 0; j < new Date(year, month + 1, 0).getDate(); j++) {
let isexsit = false;
const m = month + 1 > 9 ? month + 1 : "0" + (month + 1);
const d = j + 1 > 9 ? j + 1 : "0" + (j + 1);
const ds = `${year}-${m}-${d}`
const price = this.priceList.find(p => p.startDate == ds)
if (price) {
isexsit = true
if (price.remainNum > 0){
let priceNum = 0
// #ifdef MP-DI
priceNum = price.b2CPrice
/// #endif
// #ifdef MP-AG
priceNum = price.b2BPrice
/// #endif
days.push(priceNum)
// #ifdef MP-DI
for (var j = 0; j < new Date(year, month + 1, 0).getDate(); j++) {
let isexsit = false;
const m = month + 1 > 9 ? month + 1 : "0" + (month + 1);
const d = j + 1 > 9 ? j + 1 : "0" + (j + 1);
const ds = `${year}-${m}-${d}`
const price = this.priceList.find(p => p.startDate == ds)
if (price) {
isexsit = true
if (price.remainNum > 0){
days.push(price.b2CPrice)
}
else if (price.isSubstitution == 1)
days.push(-2)
else
days.push(-1)
} else {
days.push(0);
}
else if (price.isSubstitution == 1)
days.push(-2)
else
days.push(-1)
} else {
days.push(0);
}
console.log(this.priceList.length, new Date(year, month + 1, 0).getDate(), price)
// for (var k = 0; k < this.priceList.length; k++) {
// const x = this.priceList[k];
// console.log(x)
// }
// this.priceList.forEach((x) => {
// let m = month + 1 > 9 ? month + 1 : "0" + (month + 1);
// let d = j + 1 > 9 ? j + 1 : "0" + (j + 1);
// //console.log(x.startDate+'-----'+`${year}-${m}-${d}`)
// if (x.startDate == `${year}-${m}-${d}`) {
// isexsit = true;
// if (x.remainNum > 0) {
// let priceNum = 0
// // #ifdef MP-DI
// priceNum = x.b2CPrice
// // #endif
// // #ifdef MP-AG
// priceNum = x.b2BPrice
// // #endif
// days.push(priceNum);
// //days.push(x.b2CPrice);
// } else {
// days.push(-1);
// }
// }
// });
}
// #endif
// #ifdef MP-AG
for (var j = 0; j < new Date(year, month + 1, 0).getDate(); j++) {
let isexsit = false;
const m = month + 1 > 9 ? month + 1 : "0" + (month + 1);
const d = j + 1 > 9 ? j + 1 : "0" + (j + 1);
const ds = `${year}-${m}-${d}`
const price = this.priceList.find(p => p.startDate == ds)
if (price) {
isexsit = true
if (price.remainNum > 0){
days.push(price.b2BPrice)
}
else if (price.isSubstitution == 1)
days.push(-2)
else
days.push(-1)
} else {
days.push(0);
}
console.log(this.priceList.length, new Date(year, month + 1, 0).getDate(), price)
// for (var k = 0; k < this.priceList.length; k++) {
// const x = this.priceList[k];
// console.log(x)
// }
// this.priceList.forEach((x) => {
// let m = month + 1 > 9 ? month + 1 : "0" + (month + 1);
// let d = j + 1 > 9 ? j + 1 : "0" + (j + 1);
// //console.log(x.startDate+'-----'+`${year}-${m}-${d}`)
// if (x.startDate == `${year}-${m}-${d}`) {
// isexsit = true;
// if (x.remainNum > 0) {
// let priceNum = 0
// // #ifdef MP-DI
// priceNum = x.b2CPrice
// // #endif
// // #ifdef MP-AG
// priceNum = x.b2BPrice
// // #endif
// days.push(priceNum);
// //days.push(x.b2CPrice);
// } else {
// days.push(-1);
// }
// }
// });
}
// #endif
data.push(days);
if (month == 11) {
year += 1;
......
......@@ -1086,7 +1086,7 @@
</view>
<view class="line-flex" style="padding: 30rpx; background: #fff"
v-if="createBy==0&&SaleList&&SaleList.length>1" @click="showSalePreviwe=true">
<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;
......@@ -1206,7 +1206,7 @@
<u-popup v-model="showSalePreviwe" mode="bottom" border-radius="50" length="60%" :safe-area-inset-bottom="true">
<view>
<view style="font-size: 17px;text-align: center;padding: 20px 0;">
选择销售
选择服务人员
</view>
<scroll-view scroll-x="true" style="width: 100%;height: 43vh;">
<view class="SaleBox">
......@@ -1426,7 +1426,12 @@
})
}
this.customer = uni.getStorageSync("b2b_user");
this.delMsg.customerId = this.customer.customerId
// #ifdef MP-DI
this.delMsg.directCustomerId = this.customer.customerId
// #endif
// #ifdef MP-AG
this.delMsg.customerId = this.customer.customerId
// #endif
if (!option.scene) {
if (option.lineId) {
this.delMsg.lineId = option.lineId;
......@@ -1554,7 +1559,13 @@
this.couponList.forEach(x=>{
if(x.couponsType==1 && x.denomination>this.maxCouponDiscount) this.maxCouponDiscount=x.denomination
if(x.couponsType==2){
const disMoney = this.currentPrice.b2BPrice*(1-x.denomination)
let disMoney = 0
// #ifdef MP-DI
disMoney = this.currentPrice.b2CPrice*(1-x.denomination)
// #endif
// #ifdef MP-AG
disMoney = this.currentPrice.b2BPrice*(1-x.denomination)
// #endif
this.maxCouponDiscount = this.maxCouponDiscount<disMoney?disMoney:this.maxCouponDiscount
}
})
......@@ -2023,14 +2034,16 @@
this.is_show_auth = 1;
return;
}
if (this.SaleList&&this.SaleList.length>1&&this.SaleId==0&&this.createBy==0) {
uni.showToast({
title: "请选择销售",
icon: "none",
});
this.showSalePreviwe = true;
return;
}
// #ifdef MP-AG
if (this.SaleList&&this.SaleList.length>1&&this.SaleId==0&&this.createBy==0) {
uni.showToast({
title: "请选择服务人员",
icon: "none",
});
this.showSalePreviwe = true;
return;
}
// #endif
let myObj = {};
myObj.startCityName = this.dataList.startCityName;
myObj.startDate = this.currentPrice.startDate;
......@@ -2057,7 +2070,15 @@
yeCount: this.yeCount, //婴儿
etbCount: this.etbCount, //儿童不占床
};
let createBy = this.createBy>0?this.createBy:this.SaleId
let createBy = 0
// #ifdef MP-DI
createBy = this.createBy>0?this.createBy:this.customer.pid
// #endif
// #ifdef MP-AG
if(this.createBy>0||this.SaleId) createBy = this.createBy>0?this.createBy:this.SaleId
// #endif
let tParams = "&tcid=" +
this.delMsg.tcid +
"&cityId=" +
......
......@@ -343,34 +343,40 @@
<view style="flex: 1">
<text style="margin-right: 30rpx">成人</text>
</view>
<view style="text-align: right">{{ orderMsg.ManNum }}人 × ¥{{ $utils.getretailer()?currentPriceInfo.b2BPrice :currentPriceInfo.b2CPrice
}}</view>
<view style="text-align: right">{{ orderMsg.ManNum }}人 × ¥
<!-- #ifdef MP-DI -->
{{ currentPriceInfo.b2CPrice }}
<!-- #endif -->
<!-- #ifdef MP-AG -->
{{ currentPriceInfo.b2BPrice }}
<!-- #endif -->
</view>
</view>
<view class="flex f12 grey" style="margin-bottom: 40rpx" :key="index" v-if="orderMsg.ChirdNeedBedNum > 0">
<view style="flex: 1">
<text style="margin-right: 30rpx">儿童(占床)</text>
</view>
<view style="text-align: right">{{ orderMsg.ChirdNeedBedNum }}人 × ¥{{
($utils.getretailer()
? currentPriceInfo.b2BPrice
: currentPriceInfo.b2CPrice) +
(currentPriceInfo.childNeedPrice
? currentPriceInfo.childNeedPrice
: 0)
}}</view>
<view style="text-align: right">{{ orderMsg.ChirdNeedBedNum }}人 × ¥
<!-- #ifdef MP-DI -->
{{ currentPriceInfo.b2CPrice+(currentPriceInfo.childNeedPrice? currentPriceInfo.childNeedPrice: 0) }}
<!-- #endif -->
<!-- #ifdef MP-AG -->
{{ currentPriceInfo.b2BPrice+(currentPriceInfo.childNeedPrice? currentPriceInfo.childNeedPrice: 0) }}
<!-- #endif -->
</view>
</view>
<view class="flex f12 grey" style="margin-bottom: 40rpx" :key="index" v-if="orderMsg.ChirdNoBedNum > 0">
<view style="flex: 1">
<text style="margin-right: 30rpx">儿童(不占床)</text>
</view>
<view style="text-align: right">{{ orderMsg.ChirdNoBedNum }}人 × ¥{{
($utils.getretailer()
? currentPriceInfo.b2BPrice
: currentPriceInfo.b2CPrice) -
(currentPriceInfo.childNoNeedPrice
? currentPriceInfo.childNoNeedPrice
: 0)
}}</view>
<view style="text-align: right">{{ orderMsg.ChirdNoBedNum }}人 × ¥
<!-- #ifdef MP-DI -->
{{ currentPriceInfo.b2CPrice-(currentPriceInfo.childNoNeedPrice? currentPriceInfo.childNoNeedPrice: 0) }}
<!-- #endif -->
<!-- #ifdef MP-AG -->
{{ currentPriceInfo.b2BPrice-(currentPriceInfo.childNoNeedPrice? currentPriceInfo.childNoNeedPrice: 0) }}
<!-- #endif -->
</view>
</view>
<view class="flex f12 grey" style="margin-bottom: 40rpx" :key="index" v-if="orderMsg.BabyNum > 0">
<view style="flex: 1">
......@@ -445,9 +451,15 @@
<text style="color: #6e6e6e; font-size: 24rpx;font-family: microsoft yahei ui light;">共计{{ total }}</text>
</view>
<view style="display: flex; margin-top: -2px">
<button class="jz_OrderReNow" @click="goPay()" :disabled="submit" :loading="submit">
立即预定
</button>
<button class="jz_OrderReNow" @click="goPay()" :disabled="submit" :loading="submit">
<!-- #ifdef MP-DI -->
立即支付
<!-- #endif -->
<!-- #ifdef MP-AG -->
立即预定
<!-- #endif -->
</button>
</view>
</view>
</view>
......@@ -532,6 +544,7 @@
CreateBy: 0,
showPz:false,
pzCoupon:null,
userInfo: {},
};
},
created() {
......@@ -543,6 +556,7 @@
},
onLoad(option) {
this.customer = uni.getStorageSync("b2b_user");
console.log(this.customer,'--------');
if (option.currentPriceInfo) {
this.currentPriceInfo = JSON.parse(
decodeURIComponent(option.currentPriceInfo)
......@@ -569,6 +583,74 @@
this.getUserCouponList();
},
methods: {
getUserInfoHandler() {
this.apipost("GetCustomerInfo_post", { Id: this.customer.customerId }, (res) => {
if (res.resultCode == 1) {
this.userInfo = res.data;
console.log(this.userInfo,'----');
}
});
},
submitB2COrderHandler(orderId) {
let productType = 0
if (this.currentPriceInfo.teamType == "0") {
//跟团游
productType = 2;
} else if (this.currentPriceInfo.teamType == "1") {
//小包团
productType = 10;
} else if (this.currentPriceInfo.teamType == "2") {
//当地游
productType = 8;
}
let guestInfo = `成人x${this.orderMsg.ManNum}; `;
if (this.orderMsg.ChirdNeedBedNum > 0) {
guestInfo += `占床儿童${this.orderMsg.ChirdNeedBedNum}; `;
}
if (this.orderMsg.ChirdNoBedNum > 0) {
guestInfo += `不占床儿童x${this.orderMsg.ChirdNoBedNum}; `;
}
if (this.orderMsg.BabyNum > 0) {
guestInfo += `婴儿x${this.orderMsg.BabyNum}; `;
}
let startCityName = this.realCurrentPriceInfo.priceUnion && this.realCurrentPriceInfo.priceUnion.startCityName?this.realCurrentPriceInfo.priceUnion.startCityName:this.currentPriceInfo.startCityName
let msg = {
SurName: '',
Name: this.customer.name,
ContactNumber: this.customer.contactNumber,
Mailbox: '',
GoodsId: this.currentPriceInfo.tcid,
GoodsName: this.currentPriceInfo.title,
GoodsPic: this.currentPriceInfo.CoverImg? this.currentPriceInfo.CoverImg : '',
GoodsType: productType,
OrderMake: `${this.currentPriceInfo.startDate}${startCityName}出发 ${guestInfo}`,
TotalPrice: this.price,
PreferentialPrice: this.currentCoupon.discountMoney,
ErpOrderId: orderId,
Country: '',
PlatformTax: 0,
Income: 0,
Refund: 0,
};
this.apipost("AddOrderInfo_post", msg, (res) => {
if (res.resultCode == 1) {
uni.showToast({
icon: 'none',
title: '订单创建成功'
})
this.goPayHandler(res.data);
} else {
uni.showToast({
title:res.message,
icon:'none',
duration:3000
})
}
});
},
goPayHandler(pay) {
//pay.OrderNo
},
showCouponHandler() {
this.showCoupon = this.couponList.length > 0;
},
......@@ -761,11 +843,12 @@
//计算价格
calcMoney() {
var price = 0;
if (this.$utils.getretailer()) {
price = this.currentPriceInfo.b2BPrice;
} else {
// #ifdef MP-DI
price = this.currentPriceInfo.b2CPrice;
}
// #endif
// #ifdef MP-AG
price = this.currentPriceInfo.b2BPrice;
// #endif
this.orderMsg.ChirdNum = parseInt(this.orderMsg.ChirdNoBedNum) + parseInt(this.orderMsg.ChirdNeedBedNum);
//计算总人数
this.total = parseInt(this.orderMsg.ManNum) + parseInt(this.orderMsg.ChirdNum) + parseInt(this.orderMsg.BabyNum);
......@@ -813,37 +896,6 @@
},
//去支付
goPay() {
// for (var i = 0; i < this.GuestList.length; i++) {
// if (this.GuestList[i].SurName == "") {
// uni.showToast({
// title: `请输入游客${i + 1}的姓名`,
// icon: "none",
// });
// return;
// }
// if (this.GuestList[i].IdCard == "") {
// uni.showToast({
// title: `请输入游客${i + 1}的身份证`,
// icon: "none",
// });
// return;
// }
// if (this.GuestList[i].MobilePhone == "") {
// uni.showToast({
// title: `请输入游客${i + 1}的联系电话`,
// icon: "none",
// });
// return;
// }
// }
if(!this.CreateBy){
uni.showToast({
title: `销售为空,请联系销售人员!`,
icon: "none",
});
return
}
this.submit = true;
this.userInfo = uni.getStorageSync("mall_UserInfo");
this.basedataObj = uni.getStorageSync("basedata").mall;
......@@ -866,11 +918,16 @@
var CustomerType = this.customer.isMember //4;
var CustomerCreateBy = this.customer.createBy;
var price = 0;
if (this.$utils.getretailer()) {
price = this.currentPriceInfo.b2BPrice;
} else {
var CreateBy = 0
var DirectCustomerId = 0
// #ifdef MP-DI
price = this.currentPriceInfo.b2CPrice;
}
DirectCustomerId = this.CreateBy
// #endif
// #ifdef MP-AG
price = this.currentPriceInfo.b2BPrice;
CreateBy = this.CreateBy
// #endif
let CouponAllotIds = ''
if(this.useCouponIds.length>0){
CouponAllotIds = this.useCouponIds.join(',')
......@@ -926,8 +983,8 @@
CommissionSharePeople: 0,
CommissionShareMoney: 0,
MiniAppUserId: MiniAppUserId,
CreateBy: this.CreateBy, //同行联系人创建人 CustomerCreateBy
DirectCustomerId: 0, //直客Id
CreateBy: CreateBy, //同行联系人创建人 CustomerCreateBy
DirectCustomerId: DirectCustomerId, //直客Id
// #ifdef MP-WEIXIN
OrderSource: 5,
// #endif
......@@ -953,13 +1010,19 @@
if(tempData.CounponList && tempData.CounponList.length>0){
uni.setStorageSync('coupons',tempData.CounponList)
}
uni.showToast({
title: '订单创建成功.',
icon: 'none'
})
uni.redirectTo({
url: "/pages/jiuzhai/jz_MyOrder",
});
// #ifdef MP-DI
this.submitB2COrderHandler(tempData.OrderId)
// #endif
// #ifdef MP-AG
uni.showToast({
title: '订单创建成功.',
icon: 'none'
})
uni.redirectTo({
url: "/pages/jiuzhai/jz_MyOrder",
});
// #endif
// let data = res.data;
// data.CoverImg = this.currentPriceInfo.CoverImg;
// let myData = JSON.stringify(data);
......@@ -979,7 +1042,9 @@
duration:3000
})
}
this.submit = false;
// #ifdef MP-AG
this.submit = false;
// #endif
},
(e) => {
this.submit = false;
......
......@@ -42,24 +42,40 @@
<view style="padding: 33rpx 30rpx 51rpx 38rpx;">
<view class="jz_LineTitle row items-center">
<view class="col">
<text>原价:</text>
<!-- #ifdef MP-AG -->
<text>原价:</text>
<!-- #endif -->
<text class="jz_renmin">¥</text>
<text class="jz_B2bPrice">
<!--{{ discountPrice }}-->
{{ $utils.getretailer()?dataList.VisaPrice:dataList.VisaB2CPrice }}
<!-- #ifdef MP-DI -->
{{dataList.VisaB2CPrice}}
<!-- #endif -->
<!-- #ifdef MP-AG -->
{{dataList.VisaPrice}}
<!-- #endif -->
</text>
<text style="color: #999999; font-size: 28rpx; font-weight: 400">/人</text>
<text style="font-size: 13px;color:#111;margin-left: 10px;">
直客价:<text style="font-size: 20rpx;">¥</text>{{ dataList.VisaB2CPrice}}
</text>
<!-- #ifdef MP-AG -->
<text style="color: #999999; font-size: 28rpx; font-weight: 400">/人</text>
<text style="font-size: 13px;color:#111;margin-left: 10px;">
直客价:<text style="font-size: 20rpx;">¥</text>{{ dataList.VisaB2CPrice}}
</text>
<!-- #endif -->
</view>
</view>
<view class="jz_LineDetaYJDKQ" style="padding: 0rpx 0 0 0;" v-if="couponList.length>0||TotalDiscount>0">
<view class="jz_LineDetaYJ" v-if="TotalDiscount>0">
<view class="jz_LineDetaYJL">
<!--
原价 ¥{{ $utils.getretailer()?dataList.VisaPrice:dataList.VisaB2CPrice }}/人
-->
<template v-if="false">
原价 ¥
<!-- #ifdef MP-DI -->
{{dataList.VisaB2CPrice}}
<!-- #endif -->
<!-- #ifdef MP-AG -->
{{dataList.VisaPrice}}
<!-- #endif -->
/人
</template>
</view>
<view class="jz_LineDetaYJR">最高可减{{TotalDiscount}}</view>
</view>
......@@ -80,7 +96,7 @@
<view class="line-flex col" style="padding: 30rpx; background: #fff;margin-top: 20rpx"
v-if="createBy==0&&SaleList&&SaleList.length>1"
@click="showSalePreviwe=true">
<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;
......@@ -164,7 +180,12 @@
<!-- 原b2b -->
<text style="font-size: 40rpx;font-family: nav-font;">
<!-- {{discountPrice}} -->
{{ $utils.getretailer()?dataList.VisaPrice:dataList.VisaB2CPrice }}
<!-- #ifdef MP-DI -->
{{ dataList.VisaB2CPrice }}
<!-- #endif -->
<!-- #ifdef MP-AG -->
{{ dataList.VisaPrice }}
<!-- #endif -->
</text>
<text style="font-size: 22rpx">/人</text>
</view>
......@@ -193,7 +214,7 @@
<u-popup v-model="showSalePreviwe" mode="bottom" border-radius="50" length="60%" :safe-area-inset-bottom="true">
<view>
<view style="font-size: 17px;text-align: center;padding: 20px 0;">
选择销售
选择服务人员
</view>
<scroll-view scroll-x="true" style="width: 100%;height: 43vh;">
<view class="SaleBox">
......@@ -517,11 +538,23 @@
this.couponList.forEach(x=>{
if(x.couponsType==1 && x.denomination>this.maxCouponDiscount) this.maxCouponDiscount=x.denomination
if(x.couponsType==2){
const disMoney = this.currentPrice.b2BPrice*(1-x.denomination)
let disMoney = 0
// #ifdef MP-DI
disMoney = this.currentPrice.b2CPrice*(1-x.denomination)
// #endif
// #ifdef MP-AG
disMoney = this.currentPrice.b2BPrice*(1-x.denomination)
// #endif
this.maxCouponDiscount = this.maxCouponDiscount<disMoney?disMoney:this.maxCouponDiscount
}
})
let money = this.$utils.getretailer()?this.dataList.VisaPrice:this.dataList.VisaB2CPrice
let money = 0
// #ifdef MP-DI
money = this.dataList.VisaB2CPrice
// #endif
// #ifdef MP-AG
money = this.dataList.VisaPrice
// #endif
let maxCouponDiscount = this.maxCouponDiscount
this.TotalDiscount = this.maxCouponDiscount
this.discountPrice = money-maxCouponDiscount
......@@ -675,16 +708,27 @@
this.is_show_auth = 1;
return;
}
if (this.SaleList&&this.SaleList.length>1&&this.SaleId==0&&this.createBy==0) {
uni.showToast({
title: "请选择销售",
icon: "none",
});
this.showSalePreviwe = true;
return;
}
// #ifdef MP-AG
if (this.SaleList&&this.SaleList.length>1&&this.SaleId==0&&this.createBy==0) {
uni.showToast({
title: "请选择服务人员",
icon: "none",
});
this.showSalePreviwe = true;
return;
}
// #endif
let createBy = 0
// #ifdef MP-DI
createBy = this.createBy>0?this.createBy:this.customer.pid
// #endif
// #ifdef MP-AG
if(this.createBy>0||this.SaleId) createBy = this.createBy>0?this.createBy:this.SaleId
// #endif
uni.navigateTo({
url: "/pages/visa/visa_Reserve?id=" +this.delMsg.Pid+'&CreateBy=' +(this.createBy?this.createBy:this.SaleId),
url: "/pages/visa/visa_Reserve?id=" +this.delMsg.Pid+'&CreateBy=' +createBy,
});
},
},
......
......@@ -91,7 +91,14 @@
</view>
<view class="visaListNumR">
<text style="font-size: 20rpx;">CNY</text>
<text class="price-Num">{{ $utils.getretailer()?item.visaPrice:item.visaB2CPrice }}</text>
<text class="price-Num">
<!-- #ifdef MP-DI -->
{{parseFloat(item.visaB2CPrice).toFixed(2)}}
<!-- #endif -->
<!-- #ifdef MP-AG -->
{{parseFloat(item.visaPrice).toFixed(2)}}
<!-- #endif -->
</text>
<text class="price-stuff" style="font-size: 20rpx;color: rgba(164, 164, 164, 1)"></text>
</view>
</view>
......
......@@ -1105,17 +1105,15 @@
//计算价格
calcMoney() {
var price = 0;
if (this.$utils.getretailer()) {
// #ifdef MP-DI
price = this.dataList.VisaB2CPrice;
// #endif
// #ifdef MP-AG
price = this.dataList.VisaPrice;
} else {
price = this.dataList.VisaB2CPrice;
}
// #endif
let money = price * this.orderMsg.AdultPeopleNum;
this.price = money;
},
//去支付
goPay() {
......@@ -1216,6 +1214,15 @@
});
return;
}
// #ifdef MP-AG
if(!this.CreateBy){
uni.showToast({
title: `服务人员为空,请联系服务人员!`,
icon: "none",
});
return
}
// #endif
this.submit = true;
let mall_customer = uni.getStorageSync("mall_customer");
......
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