Commit b67374af authored by 吴春's avatar 吴春

1

parent a9498436
......@@ -39,6 +39,11 @@ static async GetHotelDetails(param:any): Promise<HttpResponse> {
static async GetDiDaPriceConfirm(param:any): Promise<HttpResponse> {
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> {
param.reviewRatingUpperLimits = param.reviewRatingUpperLimits && param.reviewRatingUpperLimits != '' ? param.reviewRatingUpperLimits : 0
......
......@@ -11,8 +11,6 @@
<span class="fz18 q-pl-lg">{{$t('v101.scatteredOrder.prompt2')}}</span>
</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}">
<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">
......@@ -134,9 +132,7 @@
<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>
<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">
<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">
......@@ -176,10 +172,7 @@
</span>
</div>
<div class="q-px-lg q-py-lg">
<q-form
dense
class="row wrap"
>
<q-form dense class="row wrap" >
<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>
<div class="col row justify-between">
......@@ -214,21 +207,7 @@
</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}">
<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
......@@ -277,25 +256,59 @@
/>
</div>
</div>
<div class="col-12 row">
<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">
<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.fangjian')}}
{{item.roomCount}}
<div v-if="sureMsg.GuestList&&sureMsg.GuestList.length>0" v-for="(item,subIndex) in sureMsg.GuestList" :key="subIndex">
<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" v-if="numberOfAdultsIndex==1">*</span>
{{numberOfAdultsIndex==1?$t('v101.scatteredOrder.fangjian'):""}}
{{numberOfAdultsIndex==1?subIndex+1:""}}
</span>
<div class="col row">
<div class="col-4 row">
<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"/>
<div class="col row " >
<div class="col-4">
<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 class="col-4 row" :class="{'q-pl-lg':$q.platform.is.desktop,'q-pl-xs':$q.platform.is.mobile}">
<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"/>
<div class="col-4">
<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 class="col-4 row" :class="{'q-pl-lg':$q.platform.is.desktop,'q-pl-xs':$q.platform.is.mobile}">
<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"/>
<div class="col-4">
<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 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)">
<template v-if="dataList.cancellationPeriod1==-1">{{$t('v101.scatteredOrder.quxiao1')}},</template>
......@@ -440,7 +453,6 @@
CouponList: [] as Array<any>,
ActivateCode: '',//兑换码
params:{
// hotelId:'',
sort:1,
displayFrom:1,
CheckInDate:'',
......@@ -468,33 +480,29 @@
dataList: {} as any,
//确认MSG参数
sureMsg:{
dataId:'',
hotelId:'',
RatePlanID:"",
totalRoomCount:'',
EmployeeIdStr:'',
CustomerId:0,
CheckInDate:'',
checkInTime:'',
RatePlanID:"",
CheckOutDate:'',
roomOptionCd:'',
totalChargeableRateInfo:'',
totalPriceJapanese:'',
roomGroup:[] as Array<any>,
Hotel:'',
RoomCount:'',
guestLastName:'',
guestFirstName:'',
guestAddress:'',
guestPhoneNumber:'',
guestEmail:'',
//备注
guestRequest:'',
CustomerId:0,
BookingID:"",
HotelName:'',
HotelPic:'',
EmployeeIdStr:'',
GuestList:[] as Array<any>,
OldTotalPrice:0,
CustomerPayMoney:0,
DiscountMoney:0,
OrderSource:2,
OrderForm:1,
//备注
guestRequest:'',
},
ischeckInTimeSure: false,
auditNum:0,
......@@ -517,7 +525,7 @@
data.childrenList.push(i)
}
data.getParamsMsg = JSON.parse(localStorage.getItem(DirtionmaryHelper.SCATTERED_DiDaHOTEL_DATE))
console.log("data.getParamsMsg ",data.getParamsMsg );
data.params.CheckInDate = data.getParamsMsg.CheckInDate
data.params.CheckOutDate = data.getParamsMsg.CheckOutDate
data.params.searchroomGroup = data.getParamsMsg.searchroomGroup
......@@ -529,18 +537,17 @@
data.scatteredRoomTypeList = useHotel.getHotelScatRoom()
data.WeekList = useHotel.getHotelWeek()
if(data.params.searchroomGroup&&data.params.searchroomGroup!=null){
let roomGroupLen= data.params.searchroomGroup.length
for(var i=0;i<roomGroupLen;i++){
data.params.searchroomGroup.forEach(function (item,index) {
var obj = {
roomCount:i+1,
roomMaleCount:0,
roomFemaleCount:0,
roomChildCount:0,
roomInfantCount:0,
rateGroup:[]
}
data.sureMsg.roomGroup.push(obj);
RoomNum:index+1,
numberOfAdults:item.numberOfAdults,
numberOfChildren:item.numberOfChildren,
GuestInfo:[]
}
data.sureMsg.GuestList.push(obj);
});
console.log(" data.sureMsg ", data.sureMsg );
}
const methods = {
......@@ -551,13 +558,10 @@
guestLastName.value.validate()
guestFirstName.value.validate()
guestAddress.value.validate()
guestEmail.value.validate()
guestPhoneNumber.value.validate()
flag = !guestLastName.value.hasError && !guestFirstName.value.hasError && !guestAddress.value.hasError && !guestEmail.value.hasError && !guestPhoneNumber.value.hasError
if(!data.sureMsg.checkInTime) return data.ischeckInTimeSure = true
flag = !guestLastName.value.hasError && !guestFirstName.value.hasError && !guestEmail.value.hasError && !guestPhoneNumber.value.hasError
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(isPhone(data.sureMsg.guestPhoneNumber)==false) return message.errorMsg(t('v101.scatteredOrder.qingshuru')+t('v101.scatteredOrder.zhengque')+t('v101.scatteredOrder.dianhua'))
......@@ -565,6 +569,7 @@
if(!flag) return
data.sureMsg.hotelId = data.urlParamsMsg.hotelId;
data.sureMsg.RatePlanID = data.urlParamsMsg.ratePlanID;
data.sureMsg.CheckInDate = data.params.CheckInDate;
data.sureMsg.totalRoomCount = data.params.searchroomGroup.length;
data.sureMsg.CheckOutDate = data.params.CheckOutDate;
......@@ -574,8 +579,8 @@
//判断选择的人数与入住人数
let Count1=0
data.sureMsg.roomGroup.forEach(x=>{
Count1+=x.roomMaleCount+x.roomFemaleCount+x.roomChildCount
data.sureMsg.GuestList.forEach(x=>{
Count1+=x.numberOfAdults+x.numberOfChildren
})
let Count2=0;
Count2=data.auditNum+data.childNum;
......@@ -583,15 +588,15 @@
message.errorMsg(t('v101.scatteredOrder.Errorruzhushu'))
return;
}
data.dataList.roomGroup.forEach(x=>{
data.sureMsg.roomGroup.forEach(j=>{
if(Object.prototype.toString.call(x.rateGroup) == '[object Object]'){
j.rateGroup.push(x.rateGroup);
}else{
j.rateGroup=x.rateGroup
}
})
})
//data.dataList.roomGroup.forEach(x=>{
//data.sureMsg.GuestList.forEach(j=>{
// if(Object.prototype.toString.call(x.rateGroup) == '[object //Object]'){
// j.rateGroup.push(x.rateGroup);
// }else{
// j.rateGroup=x.rateGroup
// }
// })
// })
let CustomerId
if (Store.state && Store.state.user?.userDetail) {
CustomerId = Store.state.user?.userDetail?.customerId
......@@ -599,7 +604,7 @@
}
data.submLoading = true
let param = Object.assign(data.sureMsg)
HotelService.GetDiDaPriceConfirm(param)
DidaService.GetDiDaBookingConfirm(param)
.then(r => {
data.submLoading = false
if (r.data.resultCode == ApiResult.SUCCESS) {
......@@ -732,7 +737,7 @@
data.dataList = r.data.data.PriceDetails;
console.log("道旅酒店确认",r.data.data);
data.roomRateDetails = r.data.data.PriceDetails.HotelList[0]
data.sureMsg.BookingID=r.data.data.PriceDetails.ReferenceNo
console.log("道旅酒店",r.data.data.PriceDetails.HotelList[0]);
data.sureMsg.checkInTime = r.data.data.PriceDetails.CheckInDate
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