Commit 342292e0 authored by youjie's avatar youjie

no message

parent be6e1e9e
......@@ -36,7 +36,7 @@
<span class="q-pl-lg">{{ $t('v101.scatteredDetails.prompt') }}</span>
</div>
<div class="col"></div>
<q-btn color="primary" unelevated :label="$t('query')" @click="initHotel"/>
<q-btn color="primary" unelevated :label="$t('query')" :loading="loading" @click="initHotel"/>
</div>
<div class="bg-light-blue-1 q-pa-md fz14 rounded-borders row items-center">
<div class="text-weight-bold">{{ $t('v101.scatteredDetails.fuheTJroom') }}</div>
......@@ -173,7 +173,7 @@
data.scrollStyle = useScrollModule().scrollStyle
const search = inject(DirtionmaryHelper.HOTEL_QUERY_PARAM) as any
if(search.searchroomGroup.length==0){
if(search.searchroomGroup&&search.searchroomGroup.length==0){
search.searchroomGroup.push({
roomNum: 1,
numberOfAdults: 1,
......@@ -181,11 +181,21 @@
})
}
data.dateRange.to = date.formatDate(date.addToDate(new Date(), { days: 9 }), 'YYYY/MM/DD')
data.dateRange.from = date.formatDate(date.addToDate(new Date(), { days: 8 }), 'YYYY/MM/DD')
data.dateRangeFormat = `${data.dateRange.from} - ${data.dateRange.to}`
search.arrivalDate = data.dateRange.from
search.departureDate = data.dateRange.to
let getParamsMsg = JSON.parse(localStorage.getItem(DirtionmaryHelper.SCATTERED_HOTEL_DATE))
data.auditNum = getParamsMsg.auditNum
data.childNum = getParamsMsg.childNum?getParamsMsg.childNum:''
data.room = data.theRooms[search.searchroomGroup.length-1]
// data.dateRange.to = date.formatDate(date.addToDate(new Date(), { days: 9 }), 'YYYY/MM/DD')
// data.dateRange.from = date.formatDate(date.addToDate(new Date(), { days: 8 }), 'YYYY/MM/DD')
// data.dateRangeFormat = `${data.dateRange.from} - ${data.dateRange.to}`
// search.arrivalDate = data.dateRange.from
// search.departureDate = data.dateRange.to
data.dateRange.to = search.arrivalDate
data.dateRange.from = search.departureDate
data.dateRangeFormat = `${search.arrivalDate} - ${search.departureDate}`
data.RoomTypeList = useHotel.getHotelRoomType()
data.scatteredRoomTypeList = useHotel.getHotelScatRoom()
data.ScatMeaList = useHotel.getHotelScatMeal()
......@@ -370,22 +380,8 @@
return cd >= date.formatDate(date.addToDate(new Date(), { days: 8 }), 'YYYY/MM/DD')
},
}
const searchCnt = computed(() => {
let setCnt = 0
return setCnt
})
watch(search.searchroomGroup, (n, o) => {
})
watch(data.room, (n, o) => {
})
watch(data.auditNum, (n, o) => {
})
watch(data.childNum, (n, o) => {
})
onMounted(()=>{
methods.initHotel()
......@@ -395,7 +391,6 @@
...methods,
qDateProxy,
qNameProxy,
searchCnt,
search,
}
}
......
......@@ -133,7 +133,7 @@ export default defineComponent({
data.scrollStyle = useScrollModule().scrollStyle
const search = inject(DirtionmaryHelper.HOTEL_QUERY_PARAM) as any
if(search.searchroomGroup.length==0){
if(search.searchroomGroup&&search.searchroomGroup.length==0){
search.searchroomGroup.push({
roomNum: 1,
numberOfAdults: 1,
......@@ -211,6 +211,7 @@ export default defineComponent({
return cd >= date.formatDate(date.addToDate(new Date(), { days: 8 }), 'YYYY/MM/DD')
},
setData(){
localStorage.removeItem(DirtionmaryHelper.SCATTERED_HOTEL_DATE)
let d = {
searchroomGroup: search.searchroomGroup,
room: data.room,
......@@ -242,7 +243,7 @@ export default defineComponent({
}
return setCnt
})
watch(search.searchroomGroup, (n, o) => {
watch(search, (n, o) => {
methods.setData()
})
watch(data.room, (n, o) => {
......
......@@ -690,26 +690,26 @@ export default {
prompt1: '超過13歲視為成人處理',
prompt2: '預定成功後房間將為您整晚保留',
fangxing: '房型',
xiyan: '吸',
xiyan0: '禁',
xiyan1: '可吸',
cesuo: '所',
xiyan: '吸',
xiyan0: '禁',
xiyan1: '可吸',
cesuo: '所',
you: '有',
wu: '',
wu: '',
lutiankefang: '露天客房',
orderamount: '订单总额',
renmingbi: '人民',
youhui: '惠',
shifu: '付',
yudinxinx: '定信息',
orderamount: '訂單總額',
renmingbi: '人民',
youhui: '惠',
shifu: '付',
yudinxinx: '定信息',
fangxingxinxi: '房型信息',
ruzhurenshu: '入住人',
ruzhurenshu: '入住人',
chengren: '成人',
ertong: '童',
noertong: '不能报儿童',
ertong: '童',
noertong: '不能報兒童',
ren: '人',
ruzhuriqi: '入住日期',
ruzhushijian: '入住时间',
ruzhushijian: '入住時間',
week1: '周一',
week2: '周二',
week3: '周三',
......@@ -718,38 +718,48 @@ export default {
week6: '周六',
week7: '周日',
zhiqian: '之前',
zhihou: '之',
fangjianshuliang: '房间数量',
jinsheng: '剩',
jian: '',
fangfeiqingkuang: '房间情况',
zhihou: '之',
fangjianshuliang: '房間數量',
jinsheng: '剩',
jian: '',
fangfeiqingkuang: '房費情況',
wan: '晚',
ruzhuxinxi: '入住信息',
ruzhuxinxi1: '所填姓名需和入住时所持证件一致',
ruzhushijian1: '入住时间',
yudinren: '定人',
ruzhuxinxi1: '所填姓名需和入住時所持證件一致',
ruzhushijian1: '入住時間',
yudinren: '定人',
xin: '姓',
ming: '名',
dangqiandizhi: '前地址',
dangqiandizhi: '前地址',
Email: 'Email',
dianhua: '电话',
kehuxuqiu: '客需求',
fangjian: '房',
dianhua: '電話',
kehuxuqiu: '客需求',
fangjian: '房',
chengrennan: '成人男',
chengrennv: '成人女',
ertongshu: '儿童数',
quxiao1: '没有通知取消',
quxiao2: '入住当日取消',
shouxufei: '手续费',
youhuixingxi: '优惠信息',
duihuan: '兑换',
youhuiquanduihuan: '优惠券兑换',
youhuiquanshiyong: '优惠券使用',
nokeyongyouhuiquan: '暂无可用优惠券',
xiadan: '下单',
Errorruzhushu: '入住人数与总入住数不匹配',
duihuanSuccess: '兑换成功',
xiadanSuccess: '下单成功',
ertongshu: '兒童數',
quxiao1: '沒有通知取消',
quxiao2: '入住當日取消',
shouxufei: '手續費',
youhuixingxi: '優惠信息',
duihuan: '兌換',
youhuiquanduihuan: '優惠券兌換',
youhuiquanshiyong: '優惠券使用',
nokeyongyouhuiquan: '暫無可用優惠券',
xiadan: '下單',
Errorruzhushu: '入住人數與總入住數不匹配',
duihuanSuccess: '兌換成功',
xiadanSuccess: '下單成功',
jinxing1: '您還未進行',
jinxing2: '實名認證',
jinxing3: ',認證後可使用優惠券哦~如果已提認證申請,申請審核通過後即可使用優惠券!',
kediejia: '可疊加',
nodiejia: '不可疊加',
zhe: '折',
man: '滿',
shiyong: '使用',
youxiaoqi: '有效期',
notiaojian: '该优惠券不满足使用条件!'
}
}
......
......@@ -13,7 +13,7 @@
</div>
<div class="col row bg-white rounded-border q-mb-md q-pa-lg">
<div class="col-5 row">
<q-img class="col-5 q-mr-lg" :src="params.imgUrl" style="height: auto;display: inline-block;" spinner-color="drk" spinner-size="20px" mode="cover"/>
<q-img v-if="params.imgUrl" class="col-5 q-mr-lg" :src="params.imgUrl" style="height: auto;display: inline-block;" spinner-color="drk" spinner-size="20px" mode="cover"/>
<div class="col column q-pl-lg">
<div class="text-red fz18 text-weight-bold">{{dataList.hotelName}}</div>
<div class="q-pt-xs">
......@@ -142,11 +142,11 @@
</div>
</div>
</div>
<div class="row items-center">
<span class="text-grey-6">{{$t('v101.scatteredOrder.fangfeiqingkuang')}}</span>
<div class="q-pl-lg row">
<div class="row no-wrap items-center">
<span class="text-grey-6 row">{{$t('v101.scatteredOrder.fangfeiqingkuang')}}</span>
<div class="col q-pl-lg row wrap">
<template v-for="(item,index) in dataList.roomGroup">
<q-card flatv class="row items-end q-px-md q-pb-sm q-mr-md" v-for="subItem in item.rateGroup">
<q-card flatv class="row items-end q-px-md q-pb-sm q-mr-md q-mb-md" v-for="subItem in item.rateGroup">
<div class="text-grey-9">{{subItem.stayDate}}</div>
<div class="q-ml-lg row items-end">
<span></span>
......@@ -172,8 +172,6 @@
<div class="q-px-lg q-py-lg">
<q-form
dense
@submit="onSubmit"
@reset="onReset"
class="row wrap"
>
<div class="col-6 row">
......@@ -183,7 +181,7 @@
{{sureMsg.checkInTime}}
</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy3">
<q-time v-model="sureMsg.checkInTime" :rules="[ val => val && val.length > 0 || ' ']" @update:model-value="dateRangeHandler3"/>
<q-time v-model="sureMsg.checkInTime" format24h :rules="[ val => val && val.length > 0 || ' ']" @update:model-value="dateRangeHandler3"/>
</q-popup-proxy>
</q-field>
</div>
......@@ -292,16 +290,16 @@
</span>
<div class="col row">
<div class="col-4 row">
<span class="q-mx-md">{{$t('v101.scatteredOrder.chengrennan')}}</span>
<q-select class="col" v-model="item.roomMaleCount" dense :options="adultList" emit-value map-options :label="$t('v101.scattered.chengren')" standout @update:model-value="setPeopleNum"/>
<!-- <span class="q-mx-md">{{$t('v101.scatteredOrder.chengrennan')}}</span> -->
<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>
<div class="col-4 row">
<span class="q-mx-md">{{$t('v101.scatteredOrder.chengrennv')}}</span>
<q-select class="col" v-model="item.roomFemaleCount" dense :options="adultList" emit-value map-options :label="$t('v101.scattered.chengren')" standout @update:model-value="setPeopleNum"/>
<div class="col-4 row q-pl-lg">
<!-- <span class="q-mx-md">{{$t('v101.scatteredOrder.chengrennv')}}</span> -->
<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>
<div class="col-4 row">
<span class="q-mx-md">{{$t('v101.scatteredOrder.ertongshu')}}</span>
<q-select class="col" v-model="item.roomChildCount" dense :options="childrenList" emit-value map-options :label="$t('v101.scattered.ertong')" standout @update:model-value="setPeopleNum"/>
<div class="col-4 row q-pl-lg">
<!-- <span class="q-mx-md">{{$t('v101.scatteredOrder.ertongshu')}}</span> -->
<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>
</div>
</div>
......@@ -330,7 +328,7 @@
</div>
</div>
<div class="col column bg-white rounded-border q-mb-md">
<div v-if="isLoginB2B" class="col column bg-white rounded-border q-mb-md">
<div class="bg-light-blue-1 q-py-md q-px-lg fz14 rounded-borders row items-center justify-between">
<span class="text-weight-bold">{{$t('v101.scatteredOrder.youhuixingxi')}} </span>
</div>
......@@ -357,9 +355,9 @@
</div>
<!-- 优惠券 -->
<div class="Yhq column" v-if="!isLoginB2B">
<p class="pfR text-dark q-pl-lg">优惠券使用</p>
<p class="pfR text-dark q-pl-lg">{{$t('v101.scatteredOrder.youhuiquanshiyong')}}</p>
<ul class="yhqUl">
<p v-if="!Verification.length || Verification[0].ApplyState !== 1" class="_trip_xiangqing_tips">您还未进行 <span @click="goShenqing">实名认证</span>,认证后可使用优惠券哦~如果已提认证申请,申请审核通过后即可使用优惠券!</p>
<p v-if="!Verification.length || Verification[0].ApplyState !== 1" class="_trip_xiangqing_tips">{{$t('v101.scatteredOrder.jinxing1')}} <span @click="goShenqing">{{$t('v101.scatteredOrder.jinxing2')}}</span>{{$t('v101.scatteredOrder.jinxing3')}}</p>
<li v-for="(item,index) in UserCanUseCouponList" :class="{'blue':item.couponsType===1,'_active':item.active,'disab': !Platfrom(item.fromPlatform)|| !Verification.length || Verification[0].ApplyState !== 1}" @click="!Platfrom(item.fromPlatform) || !Verification.length || Verification[0].ApplyState !== 1 ? '' : clickCoupon(item)" :key="index+5000" class="sawtooth">
<div class="yhqImg">
......@@ -368,17 +366,17 @@
<img v-if="item.fromPlatform=='3'" src="../../assets/images/yhq/pc.png" alt="">
</div>
<span class="kdj">
<span v-if="item.overlapUse==1">可叠加</span>
<span v-else>不可叠加</span>
<span v-if="item.overlapUse==1">{{$t('v101.scatteredOrder.kediejia')}}</span>
<span v-else>{{$t('v101.scatteredOrder.nodiejia')}}</span>
</span>
<p style="margin-top:10px">
<span v-if="item.couponsType==1"><span>{{item.denomination}}</span></span>
<span v-else>{{item.denomination}}</span>
<span v-if="item.couponsType==1"><span>{{item.denomination}}</span></span>
<span v-else>{{item.denomination}}{{$t('v101.scatteredOrder.zhe')}}</span>
</p>
<p style="font-size:14px">满{{item.useCondition}}使用</p>
<p style="font-size:14px">{{$t('v101.scatteredOrder.man')}}{{item.useCondition}}{{$t('v101.scatteredOrder.shiyong')}}</p>
<p style="font-size:12px;color:#4C58A4;margin-top:6px">
有效期:{{item.effectDate | YMD}}-{{item.expirationDate | YMD}}
{{$t('v101.scatteredOrder.youxiaoqi')}}:{{item.effectDate | YMD}}-{{item.expirationDate | YMD}}
</p>
<div v-if="Platfrom(item.fromPlatform)" class="_choice_box">
<span v-if="!item.active"></span>
......@@ -437,10 +435,10 @@
const guestEmail = ref(null) as any
const guestPhoneNumber = ref(null) as any
// const HotelLength = inject(DirtionmaryHelper.HOTEL_CAR_ORDER_LENGTH) as any
const data = reactive({
isShowTime: true,
isLoginB2B: true,
isLoginB2B: false,
Verification:'',
CouponIds: '',
CodeLoading: false,
......@@ -481,11 +479,11 @@
totalChargeableRateInfo:'',
totalPriceJapanese:'',
roomGroup:[] as Array<any>,
guestLastName:'',
guestFirstName:'',
guestAddress:'',
guestPhoneNumber:'',
guestEmail:'',
guestLastName:'',
guestFirstName:'',
guestAddress:'東京豐洲日航都市酒店江東區豐洲6-4-20',
guestPhoneNumber:'18224442217',
guestEmail:'22310721242@qq.com',
//备注
guestRequest:'',
CustomerId:0,
......@@ -550,8 +548,8 @@
// }
// )
const methods = {
// 提交下单
submitForm () {
return
if(data.submLoading) return
let flag = false
......@@ -562,9 +560,8 @@
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
if(!isPhone(data.sureMsg.guestPhoneNumber)) return
if(isPhone(data.sureMsg.guestPhoneNumber)==false) return
if(!flag) return
data.sureMsg.hotelId = data.urlParamsMsg.hotelId;
......@@ -598,6 +595,8 @@
if(data.sureMsg.CustomerId==null||data.sureMsg.CustomerId==""){
data.sureMsg.CustomerId=0
}
console.log(data.sureMsg,'====')
// return
data.submLoading = true
let param = Object.assign(data.sureMsg)
HotelService.GetHotelHotelBooking(param)
......@@ -634,17 +633,13 @@
data.submLoading = false
})
},
onReset () {
data.name.value = null
data.age.value = null
},
//设置房间里面成人数改变总成人数和儿童数
setPeopleNum() {
// data.auditNum = 0;
// data.childNum = 0;
// search.searchroomGroup.forEach(x => {
// data.auditNum += x.numberOfAdults;
// data.childNum += x.numberOfChildren;
// data.auditNum += (x.roomMaleCount+x.roomFemaleCount);
// data.childNum += x.roomChildCount;
// })
// if (data.auditNum == null || data.auditNum == undefined) {
// data.auditNum = 1
......@@ -790,6 +785,8 @@
data.dataList = r.data.data;
data.roomRateDetails = r.data.data.roomRateDetails
data.roomRateDetails.roomOptions.checkIinStartTime = data.roomRateDetails.roomOptions['check-inStartTime']
data.sureMsg.checkInTime = data.roomRateDetails.roomOptions.checkIinStartTime
data.roomRateDetails.roomOptions.finalCheckInTime = data.roomRateDetails.roomOptions['finalCheck-inTime']
if(Object.prototype.toString.call(data.dataList.roomGroup) == '[object Object]'){
let arr = [];
......@@ -877,7 +874,7 @@
data.sureMsg.totalPriceJapanese += parseFloat(AdultJapanCount+childJapanCount+onlyJanpnase);
methods.getUserCanUseCouponList()
// methods.getUserCanUseCouponList()
})
}
data.loading = false
......@@ -889,8 +886,8 @@
clickCoupon(item){
let list = [];
if (!item.active) { // 是否选中
if(item.denomination>this.SettlementPrice){
message.errorMsg("该优惠券不满足使用条件!")
if(item.denomination>data.SettlementPrice){
message.errorMsg(t('v101.scatteredOrder.notiaojian'))
return;
}
if (item.overlapUse === 1) { // 1允许叠加使用
......@@ -913,7 +910,7 @@
} else {
item.active = !item.active
if (data.UserCanUseCouponList.length===1) { // 取消优惠券选中状态 之前直选择了一个优惠券
data.UserCanUseCouponList = this.CouponList
data.UserCanUseCouponList = data.CouponList
} else { //... 之前选择了多个优惠券 循环判断是否已全部取消
let num = 0
data.UserCanUseCouponList.forEach(x=>{
......@@ -964,7 +961,6 @@
goShenqing () {
let dom = document.querySelector("#blankLink")
dom.href=`http://${window.location.host}/#/PsSystem/${1}`
dom.click()
},
// 兑换优惠券
......
......@@ -222,10 +222,10 @@
hotelId: data.urlParamsMsg.hotelId,
sort: 1,
displayFrom: 1,
arrivalDate: "",//入住时间
departureDate: "",//离房时间
arrivalDate: data.getParamsMsg.arrivalDate,//入住时间
departureDate: data.getParamsMsg.departureDate,//离房时间
roomOptionCd: "",
searchroomGroup: [],//客房数
searchroomGroup: data.getParamsMsg.searchroomGroup,//客房数
})
provide(DirtionmaryHelper.HOTEL_QUERY_PARAM, search)
const methods = {
......
......@@ -29,14 +29,14 @@ export function validatAlphabets(str: string) {
export function isEmail(account:string):boolean {
let serchfind:boolean;
let regexp = new RegExp('/^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/');
let regexp = new RegExp(/^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
serchfind = regexp.test(account);
return serchfind
}
export function isPhone(account:string):boolean {
let serchfind:boolean;
let regexp = new RegExp('/^((13|14|15|16|17|18|19)[0-9]{1}\d{8})$/');
let regexp = new RegExp(/^((13|14|15|16|17|18|19)[0-9]{1}\d{8})$/);
serchfind = regexp.test(account);
return serchfind
}
......
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