Commit b67374af authored by 吴春's avatar 吴春

1

parent a9498436
...@@ -39,6 +39,11 @@ static async GetHotelDetails(param:any): Promise<HttpResponse> { ...@@ -39,6 +39,11 @@ static async GetHotelDetails(param:any): Promise<HttpResponse> {
static async GetDiDaPriceConfirm(param:any): Promise<HttpResponse> { static async GetDiDaPriceConfirm(param:any): Promise<HttpResponse> {
return request('dmc_post_GetDiDaPriceConfirm', param) return request('dmc_post_GetDiDaPriceConfirm', param)
} }
//道旅酒店创建订单
static async GetDiDaBookingConfirm(param:any): Promise<HttpResponse> {
return request('dmc_post_GetDiDaBookingConfirm', param)
}
// 道旅酒店列表 // 道旅酒店列表
static async GetDidaHotelList(param: any): Promise<HttpResponse> { static async GetDidaHotelList(param: any): Promise<HttpResponse> {
param.reviewRatingUpperLimits = param.reviewRatingUpperLimits && param.reviewRatingUpperLimits != '' ? param.reviewRatingUpperLimits : 0 param.reviewRatingUpperLimits = param.reviewRatingUpperLimits && param.reviewRatingUpperLimits != '' ? param.reviewRatingUpperLimits : 0
......
...@@ -11,8 +11,6 @@ ...@@ -11,8 +11,6 @@
<span class="fz18 q-pl-lg">{{$t('v101.scatteredOrder.prompt2')}}</span> <span class="fz18 q-pl-lg">{{$t('v101.scatteredOrder.prompt2')}}</span>
</div> </div>
</div> </div>
<div class="col bg-white rounded-border q-mb-md q-pa-lg" :class="{'row':$q.platform.is.desktop,'column':$q.platform.is.mobile}"> <div class="col bg-white rounded-border q-mb-md q-pa-lg" :class="{'row':$q.platform.is.desktop,'column':$q.platform.is.mobile}">
<q-img v-if="params.imgUrl" :class="{'col-1 q-mr-lg':$q.platform.is.desktop,'col-12 q-mb-sm':$q.platform.is.mobile}" :src="params.imgUrl" style="height: auto;display: inline-block;" :style="{'height':$q.platform.is.mobile?'150px':'auto'}" spinner-color="drk" spinner-size="20px" heigth="100%" mode="cover" :ratio="1"/> <q-img v-if="params.imgUrl" :class="{'col-1 q-mr-lg':$q.platform.is.desktop,'col-12 q-mb-sm':$q.platform.is.mobile}" :src="params.imgUrl" style="height: auto;display: inline-block;" :style="{'height':$q.platform.is.mobile?'150px':'auto'}" spinner-color="drk" spinner-size="20px" heigth="100%" mode="cover" :ratio="1"/>
<div class="col column q-pl-xs"> <div class="col column q-pl-xs">
...@@ -134,9 +132,7 @@ ...@@ -134,9 +132,7 @@
<div class="row items-center q-mb-md"> <div class="row items-center q-mb-md">
<span class="text-grey-6" :class="{'HotelSure-textMobile':$q.platform.is.mobile}">{{$t('v101.scatteredOrder.fangjianshuliang')}}</span> <span class="text-grey-6" :class="{'HotelSure-textMobile':$q.platform.is.mobile}">{{$t('v101.scatteredOrder.fangjianshuliang')}}</span>
<div class="row items-center" :class="{'q-pl-lg':$q.platform.is.desktop}"> <div class="row items-center" :class="{'q-pl-lg':$q.platform.is.desktop}">
<span>{{item.RoomOccupancy.RoomNum}}</span>
<span>{{item.RoomOccupancy
.RoomNum}}</span>
<div class="relative-position q-ml-md"> <div class="relative-position q-ml-md">
<q-icon class="absolute text-orange-6" style="left: 0;top: 1px;width: inherit;" name="information" size="18px"></q-icon> <q-icon class="absolute text-orange-6" style="left: 0;top: 1px;width: inherit;" name="information" size="18px"></q-icon>
<span class="q-pl-lg"> <span class="q-pl-lg">
...@@ -176,10 +172,7 @@ ...@@ -176,10 +172,7 @@
</span> </span>
</div> </div>
<div class="q-px-lg q-py-lg"> <div class="q-px-lg q-py-lg">
<q-form <q-form dense class="row wrap" >
dense
class="row wrap"
>
<div class="row" :class="{'col-6':$q.platform.is.desktop,'col-12':$q.platform.is.mobile}"> <div class="row" :class="{'col-6':$q.platform.is.desktop,'col-12':$q.platform.is.mobile}">
<span class="" :class="{'HotelSure-text q-px-lg':$q.platform.is.desktop,'HotelSure-textMobile q-pr-sm':$q.platform.is.mobile}"><span class="text-red">*</span> {{$t('v101.scatteredOrder.yudinren')}}</span> <span class="" :class="{'HotelSure-text q-px-lg':$q.platform.is.desktop,'HotelSure-textMobile q-pr-sm':$q.platform.is.mobile}"><span class="text-red">*</span> {{$t('v101.scatteredOrder.yudinren')}}</span>
<div class="col row justify-between"> <div class="col row justify-between">
...@@ -214,21 +207,7 @@ ...@@ -214,21 +207,7 @@
</div> </div>
</div> </div>
<div class="row" :class="{'col-6':$q.platform.is.desktop,'col-12':$q.platform.is.mobile}">
<span class="" :class="{'HotelSure-text q-px-lg':$q.platform.is.desktop,'HotelSure-textMobile q-pr-sm':$q.platform.is.mobile}"><span class="text-red">*</span> {{$t('v101.scatteredOrder.dangqiandizhi')}}</span>
<q-input
class="col"
dense
size="xs"
filled
v-model="sureMsg.guestAddress"
:label="$t('v101.scatteredOrder.dangqiandizhi')"
hint=""
lazy-rules
:rules="[ val => val && val.length > 0 || ' ']"
ref="guestAddress"
/>
</div>
<div class="row" :class="{'col-6':$q.platform.is.desktop,'col-12':$q.platform.is.mobile}"> <div class="row" :class="{'col-6':$q.platform.is.desktop,'col-12':$q.platform.is.mobile}">
<span class="" :class="{'HotelSure-text q-px-lg':$q.platform.is.desktop,'HotelSure-textMobile q-pr-sm':$q.platform.is.mobile}"><span class="text-red">*</span> {{$t('v101.scatteredOrder.Email')}}</span> <span class="" :class="{'HotelSure-text q-px-lg':$q.platform.is.desktop,'HotelSure-textMobile q-pr-sm':$q.platform.is.mobile}"><span class="text-red">*</span> {{$t('v101.scatteredOrder.Email')}}</span>
<q-input <q-input
...@@ -277,25 +256,59 @@ ...@@ -277,25 +256,59 @@
/> />
</div> </div>
</div> </div>
<div class="col-12 row"> <div v-if="sureMsg.GuestList&&sureMsg.GuestList.length>0" v-for="(item,subIndex) in sureMsg.GuestList" :key="subIndex">
<div class="row q-mb-md" :class="{'col-6':$q.platform.is.desktop,'col-12':$q.platform.is.mobile}" v-for="item in sureMsg.roomGroup"> <div class="row col-12" v-for="numberOfAdultsIndex in item.numberOfAdults" :key="numberOfAdultsIndex" >
<span class="" :class="{'HotelSure-text q-px-lg':$q.platform.is.desktop,'HotelSure-textMobile q-pr-sm':$q.platform.is.mobile}"><span class="text-red">*</span> <span class="" :class="{'HotelSure-text q-px-lg':$q.platform.is.desktop,'HotelSure-textMobile q-pr-sm':$q.platform.is.mobile}" ><span class="text-red" v-if="numberOfAdultsIndex==1">*</span>
{{$t('v101.scatteredOrder.fangjian')}} {{numberOfAdultsIndex==1?$t('v101.scatteredOrder.fangjian'):""}}
{{item.roomCount}} {{numberOfAdultsIndex==1?subIndex+1:""}}
</span> </span>
<div class="col row"> <div class="col row " >
<div class="col-4 row"> <div class="col-4">
<q-select class="col" v-model="item.roomMaleCount" dense :options="adultList" emit-value map-options :label="$t('v101.scatteredOrder.chengrennan')" standout @update:model-value="setPeopleNum"/> <q-input
dense
size="xs"
filled
v-model="item.LastName"
:label="$t('v101.scatteredOrder.xin')+'('+$t('v101.scatteredOrder.yingwen')+')'"
hint=""
lazy-rules
:rules="[ val => val && val.length > 0 || ' ']"
ref="LastName"
/>
</div> </div>
<div class="col-4 row" :class="{'q-pl-lg':$q.platform.is.desktop,'q-pl-xs':$q.platform.is.mobile}"> <div class="col-4">
<q-select class="col" v-model="item.roomFemaleCount" dense :options="adultList" emit-value map-options :label="$t('v101.scatteredOrder.chengrennv')" standout @update:model-value="setPeopleNum"/> <q-input
class="q-pl-lg"
dense
size="xs"
filled
v-model="item.FirstName"
:label="$t('v101.scatteredOrder.ming')+'('+$t('v101.scatteredOrder.yingwen')+')'"
hint=""
lazy-rules
:rules="[ val => val && val.length > 0 || ' ']"
ref="FirstName"
/>
</div> </div>
<div class="col-4 row" :class="{'q-pl-lg':$q.platform.is.desktop,'q-pl-xs':$q.platform.is.mobile}"> <div class="col-4">
<q-select class="col" v-model="item.roomChildCount" dense :options="childrenList" emit-value map-options :label="$t('v101.scatteredOrder.ertongshu')" standout @update:model-value="setPeopleNum"/> <q-input
class="q-pl-lg"
dense
size="xs"
filled
v-model="item.Age"
:label="$t('v101.scattered.ertongage')"
hint=""
lazy-rules
:rules="[ val => val && val.length > 0 || ' ']"
ref="Age"
/>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="column text-red" :class="{'q-pl-lg':$q.platform.is.desktop}"> <div class="column text-red" :class="{'q-pl-lg':$q.platform.is.desktop}">
<div v-if="(dataList.cancellationPeriod1==-1||dataList.cancellationPeriod1==0)&&(dataList.cancellationType1==1||dataList.cancellationType1==2)"> <div v-if="(dataList.cancellationPeriod1==-1||dataList.cancellationPeriod1==0)&&(dataList.cancellationType1==1||dataList.cancellationType1==2)">
<template v-if="dataList.cancellationPeriod1==-1">{{$t('v101.scatteredOrder.quxiao1')}},</template> <template v-if="dataList.cancellationPeriod1==-1">{{$t('v101.scatteredOrder.quxiao1')}},</template>
...@@ -440,7 +453,6 @@ ...@@ -440,7 +453,6 @@
CouponList: [] as Array<any>, CouponList: [] as Array<any>,
ActivateCode: '',//兑换码 ActivateCode: '',//兑换码
params:{ params:{
// hotelId:'',
sort:1, sort:1,
displayFrom:1, displayFrom:1,
CheckInDate:'', CheckInDate:'',
...@@ -468,33 +480,29 @@ ...@@ -468,33 +480,29 @@
dataList: {} as any, dataList: {} as any,
//确认MSG参数 //确认MSG参数
sureMsg:{ sureMsg:{
dataId:'', EmployeeIdStr:'',
hotelId:'', CustomerId:0,
RatePlanID:"",
totalRoomCount:'',
CheckInDate:'', CheckInDate:'',
checkInTime:'', RatePlanID:"",
CheckOutDate:'', CheckOutDate:'',
roomOptionCd:'', Hotel:'',
totalChargeableRateInfo:'', RoomCount:'',
totalPriceJapanese:'',
roomGroup:[] as Array<any>,
guestLastName:'', guestLastName:'',
guestFirstName:'', guestFirstName:'',
guestAddress:'', guestAddress:'',
guestPhoneNumber:'', guestPhoneNumber:'',
guestEmail:'', guestEmail:'',
//备注 BookingID:"",
guestRequest:'',
CustomerId:0,
HotelName:'', HotelName:'',
HotelPic:'', HotelPic:'',
EmployeeIdStr:'', GuestList:[] as Array<any>,
OldTotalPrice:0, OldTotalPrice:0,
CustomerPayMoney:0, CustomerPayMoney:0,
DiscountMoney:0, DiscountMoney:0,
OrderSource:2, OrderSource:2,
OrderForm:1, OrderForm:1,
//备注
guestRequest:'',
}, },
ischeckInTimeSure: false, ischeckInTimeSure: false,
auditNum:0, auditNum:0,
...@@ -517,7 +525,7 @@ ...@@ -517,7 +525,7 @@
data.childrenList.push(i) data.childrenList.push(i)
} }
data.getParamsMsg = JSON.parse(localStorage.getItem(DirtionmaryHelper.SCATTERED_DiDaHOTEL_DATE)) data.getParamsMsg = JSON.parse(localStorage.getItem(DirtionmaryHelper.SCATTERED_DiDaHOTEL_DATE))
console.log("data.getParamsMsg ",data.getParamsMsg );
data.params.CheckInDate = data.getParamsMsg.CheckInDate data.params.CheckInDate = data.getParamsMsg.CheckInDate
data.params.CheckOutDate = data.getParamsMsg.CheckOutDate data.params.CheckOutDate = data.getParamsMsg.CheckOutDate
data.params.searchroomGroup = data.getParamsMsg.searchroomGroup data.params.searchroomGroup = data.getParamsMsg.searchroomGroup
...@@ -529,18 +537,17 @@ ...@@ -529,18 +537,17 @@
data.scatteredRoomTypeList = useHotel.getHotelScatRoom() data.scatteredRoomTypeList = useHotel.getHotelScatRoom()
data.WeekList = useHotel.getHotelWeek() data.WeekList = useHotel.getHotelWeek()
if(data.params.searchroomGroup&&data.params.searchroomGroup!=null){ if(data.params.searchroomGroup&&data.params.searchroomGroup!=null){
let roomGroupLen= data.params.searchroomGroup.length data.params.searchroomGroup.forEach(function (item,index) {
for(var i=0;i<roomGroupLen;i++){
var obj = { var obj = {
roomCount:i+1, RoomNum:index+1,
roomMaleCount:0, numberOfAdults:item.numberOfAdults,
roomFemaleCount:0, numberOfChildren:item.numberOfChildren,
roomChildCount:0, GuestInfo:[]
roomInfantCount:0,
rateGroup:[]
}
data.sureMsg.roomGroup.push(obj);
} }
data.sureMsg.GuestList.push(obj);
});
console.log(" data.sureMsg ", data.sureMsg );
} }
const methods = { const methods = {
...@@ -551,13 +558,10 @@ ...@@ -551,13 +558,10 @@
guestLastName.value.validate() guestLastName.value.validate()
guestFirstName.value.validate() guestFirstName.value.validate()
guestAddress.value.validate()
guestEmail.value.validate() guestEmail.value.validate()
guestPhoneNumber.value.validate() guestPhoneNumber.value.validate()
flag = !guestLastName.value.hasError && !guestFirstName.value.hasError && !guestAddress.value.hasError && !guestEmail.value.hasError && !guestPhoneNumber.value.hasError flag = !guestLastName.value.hasError && !guestFirstName.value.hasError && !guestEmail.value.hasError && !guestPhoneNumber.value.hasError
if(!data.sureMsg.checkInTime) return data.ischeckInTimeSure = true
if(validatAlphabetsName(data.sureMsg.guestLastName)==false) return message.errorMsg(t('v101.scatteredOrder.xin')+t('v101.scatteredOrder.qingshuru')+t('v101.scatteredOrder.yingwen')) if(validatAlphabetsName(data.sureMsg.guestLastName)==false) return message.errorMsg(t('v101.scatteredOrder.xin')+t('v101.scatteredOrder.qingshuru')+t('v101.scatteredOrder.yingwen'))
if(validatAlphabetsName(data.sureMsg.guestFirstName)==false) return message.errorMsg(t('v101.scatteredOrder.ming'+t('v101.scatteredOrder.qingshuru')+t('v101.scatteredOrder.yingwen'))) if(validatAlphabetsName(data.sureMsg.guestFirstName)==false) return message.errorMsg(t('v101.scatteredOrder.ming'+t('v101.scatteredOrder.qingshuru')+t('v101.scatteredOrder.yingwen')))
if(isPhone(data.sureMsg.guestPhoneNumber)==false) return message.errorMsg(t('v101.scatteredOrder.qingshuru')+t('v101.scatteredOrder.zhengque')+t('v101.scatteredOrder.dianhua')) if(isPhone(data.sureMsg.guestPhoneNumber)==false) return message.errorMsg(t('v101.scatteredOrder.qingshuru')+t('v101.scatteredOrder.zhengque')+t('v101.scatteredOrder.dianhua'))
...@@ -565,6 +569,7 @@ ...@@ -565,6 +569,7 @@
if(!flag) return if(!flag) return
data.sureMsg.hotelId = data.urlParamsMsg.hotelId; data.sureMsg.hotelId = data.urlParamsMsg.hotelId;
data.sureMsg.RatePlanID = data.urlParamsMsg.ratePlanID;
data.sureMsg.CheckInDate = data.params.CheckInDate; data.sureMsg.CheckInDate = data.params.CheckInDate;
data.sureMsg.totalRoomCount = data.params.searchroomGroup.length; data.sureMsg.totalRoomCount = data.params.searchroomGroup.length;
data.sureMsg.CheckOutDate = data.params.CheckOutDate; data.sureMsg.CheckOutDate = data.params.CheckOutDate;
...@@ -574,8 +579,8 @@ ...@@ -574,8 +579,8 @@
//判断选择的人数与入住人数 //判断选择的人数与入住人数
let Count1=0 let Count1=0
data.sureMsg.roomGroup.forEach(x=>{ data.sureMsg.GuestList.forEach(x=>{
Count1+=x.roomMaleCount+x.roomFemaleCount+x.roomChildCount Count1+=x.numberOfAdults+x.numberOfChildren
}) })
let Count2=0; let Count2=0;
Count2=data.auditNum+data.childNum; Count2=data.auditNum+data.childNum;
...@@ -583,15 +588,15 @@ ...@@ -583,15 +588,15 @@
message.errorMsg(t('v101.scatteredOrder.Errorruzhushu')) message.errorMsg(t('v101.scatteredOrder.Errorruzhushu'))
return; return;
} }
data.dataList.roomGroup.forEach(x=>{ //data.dataList.roomGroup.forEach(x=>{
data.sureMsg.roomGroup.forEach(j=>{ //data.sureMsg.GuestList.forEach(j=>{
if(Object.prototype.toString.call(x.rateGroup) == '[object Object]'){ // if(Object.prototype.toString.call(x.rateGroup) == '[object //Object]'){
j.rateGroup.push(x.rateGroup); // j.rateGroup.push(x.rateGroup);
}else{ // }else{
j.rateGroup=x.rateGroup // j.rateGroup=x.rateGroup
} // }
}) // })
}) // })
let CustomerId let CustomerId
if (Store.state && Store.state.user?.userDetail) { if (Store.state && Store.state.user?.userDetail) {
CustomerId = Store.state.user?.userDetail?.customerId CustomerId = Store.state.user?.userDetail?.customerId
...@@ -599,7 +604,7 @@ ...@@ -599,7 +604,7 @@
} }
data.submLoading = true data.submLoading = true
let param = Object.assign(data.sureMsg) let param = Object.assign(data.sureMsg)
HotelService.GetDiDaPriceConfirm(param) DidaService.GetDiDaBookingConfirm(param)
.then(r => { .then(r => {
data.submLoading = false data.submLoading = false
if (r.data.resultCode == ApiResult.SUCCESS) { if (r.data.resultCode == ApiResult.SUCCESS) {
...@@ -732,7 +737,7 @@ ...@@ -732,7 +737,7 @@
data.dataList = r.data.data.PriceDetails; data.dataList = r.data.data.PriceDetails;
console.log("道旅酒店确认",r.data.data); console.log("道旅酒店确认",r.data.data);
data.roomRateDetails = r.data.data.PriceDetails.HotelList[0] data.roomRateDetails = r.data.data.PriceDetails.HotelList[0]
data.sureMsg.BookingID=r.data.data.PriceDetails.ReferenceNo
console.log("道旅酒店",r.data.data.PriceDetails.HotelList[0]); console.log("道旅酒店",r.data.data.PriceDetails.HotelList[0]);
data.sureMsg.checkInTime = r.data.data.PriceDetails.CheckInDate data.sureMsg.checkInTime = r.data.data.PriceDetails.CheckInDate
if(Object.prototype.toString.call(data.dataList.HotelList) == '[object Object]'){ if(Object.prototype.toString.call(data.dataList.HotelList) == '[object Object]'){
......
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