Commit dd237926 authored by 吴春's avatar 吴春

1

parent 057cccd7
......@@ -380,7 +380,9 @@
}
/deep/.el-timeline .el-timeline-item .el-timeline-item__tail{
margin-top:8px !important;
border-left:1px dashed #33B3FF;
}
/deep/.el-timeline-item{
padding-bottom:0px !important;
}
......@@ -423,13 +425,15 @@
<span class="text-grey-8 q-pl-xs">/起</span>
</div>
<div class="q-ml-md">
<div class="q-ml-md" v-if="DidaHotelDetails.StarRating&&DidaHotelDetails.StarRating>0">
<el-rate
v-model="startNum"
v-model="DidaHotelDetails.StarRating"
:max="getPrice(DidaHotelDetails.StarRating)"
size="3em"
disabled
color="orange"
readonly
show-score
/>
</div>
</div>
......@@ -780,7 +784,8 @@
</tr>
<tr>
<td v-for="( itemp, indexp ) in roomRateDetails.RatePlanList[0].PriceList" :key="indexp"><span class="text-red">{{subItem.Currency }} {{getPrice(itemp.Price) }}</span>
<p class="q-pt-sm"><template >
<p class="q-pt-sm">
<template >
<span :class="itemp.MealAmount>0?'text-green':'' " >
{{getMealtype(itemp.MealType)}} {{itemp.MealAmount>0?('×'+itemp.MealAmount+'份'):''}}
</span>
......@@ -876,6 +881,7 @@
<el-timeline-item
v-for="(itempo, indexpo) in itemp.List"
:key="indexpo"
color="#33B3FF"
>
<div v-html="itempo.Description_CN" style="line-height:27px;"></div>
</el-timeline-item>
......@@ -1027,7 +1033,7 @@ export default {
this.msg.CheckInDate='';
this.msg.CheckOutDate='';
}
this.$router.push({ name:url,query:{"Address":this.DidaHotelDetails.Address_CN ,"RatePlanID":row.RatePlanID,"hotelId":this.msg.hotelId,"room":this.room,"auditNum":this.auditNum,"searchroomGroup":encodeURIComponent(JSON.stringify(this.msg.searchroomGroup)),"StartDate": this.msg.CheckInDate,"EndDate":this.msg.CheckOutDate,"childNum":this.childNum,blank:'y',tab:'道旅酒店预定'}})
this.$router.push({ name:url,query:{"tel":this.DidaHotelDetails.Telephone,"HotelName":this.DidaHotelDetails.Name_CN,"Address":this.DidaHotelDetails.Address_CN ,"RatePlanID":row.RatePlanID,"hotelId":this.msg.hotelId,"room":this.room,"auditNum":this.auditNum,"searchroomGroup":encodeURIComponent(JSON.stringify(this.msg.searchroomGroup)),"StartDate": this.msg.CheckInDate,"EndDate":this.msg.CheckOutDate,"childNum":this.childNum,blank:'y',tab:'道旅酒店预定'}})
},
//设置房间里面成人数改变总成人数和儿童数
setPeopleNum() {
......@@ -1085,7 +1091,7 @@ export default {
this.DidaHotelDetails = res.data.data
this.initMap(this.DidaHotelDetails.Longitude, this.DidaHotelDetails.Latitude, this.DidaHotelDetails.Name_CN)
if(this.DidaHotelDetails.StarRating){
this.startNum=parseFloat(this.DidaHotelDetails.StarRating);
this.startNum= Math.ceil(this.DidaHotelDetails.StarRating);
}
}
}, null)
......@@ -1197,7 +1203,6 @@ export default {
this.loading = false
if (res.data.resultCode == 1) {
this.Policy = res.data.data;
console.log("this.Policy",this.Policy);
}
}, null)
},
......
......@@ -197,11 +197,12 @@
<div class="hotelDiv" style="width:100%;margin-bottom:12px;">
<div style="width:85%;">
<div class="side-hotel-map__marker q-pr-lg"> {{index+1}}</div>
<div class="hotelname " @click="goUrlT('HotelDetails', item.hotelId)" ><p ><span class="hotelnamespan"> {{item.hotelName}}</span> <span style="font-size:12px;color:#606266;margin-left:8px;">{{item.hotelEName}}</span></p></div>
<div class="hotelname " ><p ><span class="hotelnamespan"> {{item.hotelName}}</span> <span style="font-size:12px;color:#606266;margin-left:8px;">{{item.hotelEName}}</span></p></div>
</div>
<div style="width:15%;"><el-rate
v-model="item.reviewRating"
disabled
:max="getPrice(item.reviewRating)"
show-score
text-color="#ff9900"
:colors="['orange','orange','orange','orange','orange']"
......@@ -249,7 +250,7 @@
<span class="nd-price-tag__currency nd-price-tag">CNY </span>
<span class="nd-price-tag__price nd-price-tag" style="font-weight: bolder !important;font-size: 20px;">{{item.lowrateBySetCurrency}} </span>
<span class="nd-price-tag"></span>
<el-button round class="nd-reserve-btn" @click="goUrlT('HotelDetails', item.hotelId)" >查看详情</el-button>
<el-button round class="nd-reserve-btn" @click="goUrlT('HotelDetails', item.hotelId)" >立即预订</el-button>
</div>
</div>
</div>
......@@ -420,7 +421,10 @@ export default {
this.companyList=res.data.data;
}
}, null)
}
},
getPrice(price) {
return Math.ceil(price);
},
},
mounted() {
var DateTime = new Date();
......
......@@ -250,6 +250,9 @@
.q-mb-md {
margin-bottom: 16px !important;
}
.q-mb-md8 {
margin-bottom:8px !important;
}
.text-right {
text-align: right;
}
......@@ -323,7 +326,7 @@
letter-spacing: normal;
}
.q-ml-md {
margin-left: 16px;
margin-left: 6px;
}
.q-px-md {
padding-left: 16px;
......@@ -342,6 +345,22 @@
.d-pr8 {
padding-right: 8px;
}
.table-list tr, td {
border-bottom: 1px solid #ddd;
border-right: 1px solid #ddd;
border-left: 1px solid #ddd;
padding:8px;
border-collapse: collapse; /* 移除单元格之间的间隔 */
font-size:12px;
}
.table-list tr:first-child td {
border-top: 1px solid #ddd;
border-right: 1px solid #ddd;
border-left: 1px solid #ddd;
padding:8px;
border-collapse: collapse; /* 移除单元格之间的间隔 */
}
</style>
<template>
<div class="q-py-lg">
......@@ -383,24 +402,29 @@
</div>
</div>
<div
class="bg-white q-py-lg8 column q-mb-md"
style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px"
>
<div class="bg-white column q-mb-md" style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px">
<div class="row q-py-bottom8 row justify-between">
<div style="width:100%;background:#e1f5fe!important;font-weight:700;border-radius:4px;height:53px;display:flex;padding-left:10px; align-items: center;">
预定信息
</div>
</div>
<template v-if="sureMsg&&sureMsg.BookingID&&sureMsg.BookingID.length>0">
<div class="row q-px-lg q-py-lg8 row justify-between">
<div class="row q-px-lg row justify-between q-mb-md">
<div
class="row no-wrap items-center q-mt-xs q-pt-sm text-red text-weight-bold"
style="width:100%;"
>
<span class="fz18 text-red" style="margin-top:8px;">
<span class="fz18 text-red">
{{ sureMsg.HotelName }}</span
>
</div>
</div>
<div class="col q-px-lg ">
<div class="row nowrap">
<i
<div style="padding-bottom: 8px;">
<div style="display: flex;">
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;">
<span class="text-grey-6 q-pr-lg"> <i
class="text-grey-13 q-mr-xs el-icon-location-outline"
name="place"
size="xs"
......@@ -408,99 +432,38 @@
<span class="col fz14 text-weight-bold text-blick text-grey-6">{{
Address
}}</span>
</div>
</div>
<div style="display: flex;" >
<div
v-if="
roomRateDetails.RatePlanList &&
roomRateDetails.RatePlanList.length > 0
"
v-for="(item, index) in roomRateDetails.RatePlanList"
:key="index"
v-loading="loading"
style="width:50%;"
>
<div class="q-pt-xs col q-px-lg ">
<span class="text-grey-6 q-pr-lg">床型</span>
<span class="text-grey-9 q-pr-lg">
{{ getRoomType(item.BedType) }}
</span>
</div>
<div class="q-pt-xs col q-px-lg ">
<span class="text-grey-6 q-pr-lg">餐食</span>
<span class="text-grey-9">
{{ item.BreakfastType == 1 ? "不含早" : "含早" }}
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;">
<span class="text-grey-6 q-pr-lg"> <i
style="color:#c0c4cc;"
class="text-grey-13 q-mr-xs el-icon-phone"
name="place"
size="xs"
></i>
<span class="col fz14 text-weight-bold text-blick text-grey-6">{{ $route.query.tel }}</span>
</span>
</div>
<div class="q-pt-xs col q-px-lg ">
</div>
</div>
<div style="display:row;flex-direction:row;padding-bottom:16px;" class="justify-between">
<div style="padding-bottom: 8px;">
<div style="display: flex;">
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;">
<span class="text-grey-6 q-pr-lg">房型</span>
<span class="text-grey-9">
{{ item.RatePlanName }}
</span>
</div>
<div class="q-pt-xs col q-px-lg ">
<span class="text-grey-6 q-pr-lg">报价是否非即时确认</span>
<span class="text-grey-9">
<template v-if="item.IsOnRequest == true"></template>
<template v-if="item.IsOnRequest == false"></template>
</span>
</div>
</div>
<div class="col row items-end q-pl-lg" style="width:50%;display: flex;">
<div class="column">
<div class="text-green-6 fz20 text-weight-bold q-pb-sm q-mb-md">
<span>订单总额</span>
</div>
<div>
<div class="row justify-between">
<div
class="q-pt-xs row no-wrap items-center"
v-if="roomRateDetails.TotalSupplement > 0"
>
<span class="text-grey-10">优惠</span>
<span class="text-red fz18 q-pl-xs">{{
roomRateDetails.TotalSupplement
}}</span>
</div>
<div class="q-pt-xs row no-wrap items-center">
<span class="text-grey-10" style="margin-top:4px;"
>实付({{ DanWei }})</span
>
<span class="text-h5 text-red text-weight-bold q-pl-xs">{{
roomRateDetails.TotalPrice
}}</span>
</div>
<div
class="q-pt-xs row items-center"
v-if="sureMsg.DiscountMoney == 0"
>
<span> </span>
</div>
</div>
</div>
</div>
</div>
</div>
<template v-if=" roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0 " >
{{ roomRateDetails.RatePlanList[0].RoomName_CN }}
</template>
<template v-else><div style="text-align:center;">暂无数据</div></template>
</div>
<div
class="bg-white column q-mb-md"
style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px"
>
<div class="row q-py-bottom8 row justify-between">
<div
style="width:100%;background:#e1f5fe!important;font-weight:700;border-radius:4px;height:53px;display:flex;padding-left:10px; align-items: center;"
>
预定信息
</div>
</span>
</div>
<div style="padding-bottom: 8px;display: block;">
<div class="q-pt-xs col q-px-lg q-mb-md">
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;">
<span class="text-grey-6 q-pr-lg">床型</span>
<span
class="text-grey-9 q-pr-lg"
......@@ -513,7 +476,23 @@
{{ getRoomType(roomRateDetails.RatePlanList[0].BedType) }}
</span>
</div>
<div class="q-pt-xs col q-px-lg q-mb-md">
</div>
</div>
<div style="padding-bottom: 8px;">
<div style="display: flex;">
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;">
<span class="text-grey-6 q-pr-lg">入住日期</span>
<span class="text-grey-9"> {{params.CheckInDate}} <span class="q-ml-md">{{ checkInWeek }}</span>
-
<span > {{params.CheckOutDate}} </span>
<span class="q-ml-md">{{ checkOutWeek }}</span>
</span>
</div>
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;">
<span class="text-grey-6 q-pr-lg">入住人數</span>
<span class="text-grey-9">
<span>成人 {{ auditNum }} 人</span>
......@@ -523,80 +502,15 @@
<span class="q-pl-lg" v-if="isBaoChild">不能报儿童</span>
</span>
</div>
<div class="q-pt-xs col q-px-lg q-mb-md">
<div class="row items-center q-mb-md">
<div><span class="text-grey-6 q-pr-lg">入住日期</span></div>
<div class="col row no-wrap q-pl-lg">
<span class="text-grey-9">
<el-date-picker
v-model="params.CheckInDate"
style="width:130px;"
size="small"
value-format="yyyy-MM-dd"
type="date"
:picker-options="beforeCheck"
>
</el-date-picker>
</span>
</div>
<div>
<span class="q-ml-md">{{ checkInWeek }}</span>
</div>
<div>
<span
v-if="
roomRateDetails.roomOptions &&
roomRateDetails.roomOptions.checkIinStartTime
"
>{{ roomRateDetails.roomOptions.checkIinStartTime }}</span
>
</div>
</div>
</div>
<div style="padding-bottom: 8px;">
<div><span class="q-ml-sm">之后</span></div>
<div style=" display: flex;">
<div><el-divider class="q-px-sm bg-dark q-px-md"></el-divider></div>
<div>
<span
v-if="
roomRateDetails.roomOptions &&
roomRateDetails.roomOptions.finalCheckInTime
"
>{{ roomRateDetails.roomOptions.finalCheckInTime }}</span
>
</div>
<div>
<el-date-picker
v-model="params.CheckOutDate"
style="width:130px;"
size="small"
value-format="yyyy-MM-dd"
type="date"
:picker-options="afterCheck"
>
</el-date-picker>
</div>
<div>
<span class="q-ml-md">{{ checkOutWeek }}</span>
</div>
<div><span class="q-ml-sm">之后</span></div>
</div>
</div>
<div
v-if="
roomRateDetails.RatePlanList &&
roomRateDetails.RatePlanList.length > 0
"
v-for="(item, index) in roomRateDetails.RatePlanList"
:key="index"
>
<div class="q-pt-xs col q-px-lg q-mb-md">
<div style="width:50%;" v-if=" roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0 " v-for="(item, index) in roomRateDetails.RatePlanList" :key="index" >
<div class="q-pt-xs col q-px-lg q-mb-md8" >
<span class="text-grey-6 q-pr-lg">房间数量</span>
<span class="text-grey-9"> {{ item.RoomOccupancy.RoomNum }} </span>
<span class="text-grey-9"
......@@ -612,33 +526,66 @@
</span>
</div>
</div>
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;">
<div>
<span class="text-grey-6 q-pr-lg">报价是否即时确认</span>
<span class="text-grey-9">
<template v-if=" roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0 " >
{{ roomRateDetails.RatePlanList[0].IsOnRequest?"否":"是" }}
</template>
</span>
</div>
</div>
</div>
</div>
<div class="q-pt-xs col q-px-lg q-mb-md " >
<span class=" q-pr-lg d-pr8" style="float:left;" >订单总金额</span >
<span class=" col row wrap text-red" style="font-size:18px;">
( {{DanWei}} ){{roomRateDetails.TotalPrice}}
</span>
</div>
<div class="q-pt-xs col q-px-lg q-mb-md">
<span class="text-grey-6 q-pr-lg d-pr8" style="float:left;"
>房費情況</span
>
<span class="text-grey-6 q-pr-lg d-pr8" style="float:left;" >房費情況</span >
<span class="text-grey-9 col row wrap">
<template v-if="item.PriceList && item.PriceList.length > 0">
<el-card
flatv
:key="sindex"
class=" d-pr8 card__body"
v-for="(subItem, sindex) in item.PriceList"
>
<span class="text-grey-9">
{{ getformatDateStr(subItem.StayDate) }}
<span>{{ item.Currency }}</span>
<span class="relative-position text-red text-weight-bold fz18" style="top: 3px">{{
subItem.Price
}}</span>
<span class="text-grey-6">/晚</span>
<template v-if="roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0">
<table class="table-list" cellspacing="0" >
<tr style="background-color: #f1f1f1;">
<td v-for="( itemp, indexp ) in roomRateDetails.RatePlanList[0].PriceList" :key="indexp">
{{getWeekD(itemp.StayDate)}}
</td>
</tr>
<tr>
<td v-for="( itemp, indexp ) in roomRateDetails.RatePlanList[0].PriceList" :key="indexp">
<span class="text-red">{{DanWei }} {{itemp.Price}}</span>
<p >
<span :class="itemp.MealAmount>0?'text-green':'' " >
{{getMealtype(itemp.MealType)}}
<template v-if="itemp.MealAmount>0">
×{{itemp.MealAmount}}
</template>
</span>
</el-card>
</p>
</td>
</tr>
</table>
</template>
</span>
</div>
</div>
</div>
</template>
<template v-else><div style="text-align:center;padding:18px;">暂无数据</div></template>
</div>
<div
......@@ -747,14 +694,20 @@
roomRateDetails.CancellationPolicyList &&
roomRateDetails.CancellationPolicyList.length > 0
">
<div
<div style="width:100%;" v-for="(itemCancella, index1) in roomRateDetails.CancellationPolicyList">
<p v-if="index1==0">{{ getformatDateStr(itemCancella.FromDate) }}之前免费取消;</p>
<div v-if="itemCancella.Amount==roomRateDetails.TotalPrice">
<p>{{ getformatDateStr(itemCancella.FromDate) }}起不可取消,取消将收取订单全额费用;</p>
</div>
<div v-else>
<p>{{ getformatDateStr(itemCancella.FromDate) }}
<span v-if="index1!=(roomRateDetails.CancellationPolicyList.length-1)">- {{ getformatDateStr(roomRateDetails.CancellationPolicyList[index1+1].FromDate) }} 之间</span>
取消,收费 {{DanWei}}{{getPrice(itemCancella.Amount)}};</p>
</div>
v-for="(item, index) in roomRateDetails.CancellationPolicyList"
:key="index"
>
<span> {{ getformatDateStr(item.FromDate) }} 起取消</span >
<span>({{ DanWei }})-{{ item.Amount }}</span>
</div></div>
</div>
</div>
</el-col>
</el-row>
......@@ -811,6 +764,7 @@ export default {
roomRateDetails: {},
DanWei: "",
HotelRoomTypes: [], //散客房间类型
HotelMealTypes:[],//餐型
dataList: {},
GuestInfo:{
LastName: '',
......@@ -969,6 +923,52 @@ export default {
}
})
},
//获取道旅餐食类型
getdidaMealType() {
this.apipost('dmc_post_GetDidaMealType', this.hotelMsg, res=>{
this.loading = false
if (res.data.resultCode == 1) {
this.HotelMealTypes = res.data.data;
}
}, null)
},
//获取餐型
getMealtype(mealtypeId) {
let mealtypeName = "";
if (mealtypeId > 0) {
this.HotelMealTypes.forEach((item) => {
if (item.ID == mealtypeId) {
mealtypeName = item.Name_CN;
}
});
}
return mealtypeName;
},
//日期格式化
getIsCancella(RatePlanCancellationPolicyList,TotalPrice) {
let IsCancel=0;//不可取消
let date2 = new Date();//当前时间
RatePlanCancellationPolicyList.forEach((item,index) => {
var dt = new Date(item.FromDate);//取消时间
if(IsCancel==0){
if (dt > date2 ) {
if(item.Amount==TotalPrice){
IsCancel=1;
}else{
IsCancel=2;
}
}
else{
if(item.Amount!=TotalPrice){
IsCancel=2;
}
}
}
});
return IsCancel;
},
//通过日期得到周几
getWeek() {
let CheckInDate = new Date(this.params.CheckInDate).getDay();
......@@ -977,12 +977,23 @@ export default {
this.checkInWeek = this.WeekList[CheckInDate];
this.checkOutWeek = this.WeekList[CheckOutDate];
},
//通过日期得到周几
getWeekD(dateTime) {
let dt = new Date(dateTime);
let year = dt.getFullYear();
let month = (dt.getMonth() + 1).toString().padStart(2, "0");
let date = (dt.getDate() + 1).toString().padStart(2, "0");
return month + "-" + date +"("+this.WeekList[dt.getDay()]+")";
},
//日期格式化
getformatDateStr(value) {
var dt = new Date(value);
let year = dt.getFullYear();
let month = (dt.getMonth() + 1).toString().padStart(2, "0");
let date = (dt.getDate() + 1).toString().padStart(2, "0");
let date = (dt.getDate() ).toString().padStart(2, "0");
return year + "-" + month + "-" + date;
},
optionsFnStar(cd) {
......@@ -1023,7 +1034,7 @@ export default {
this.roomRateDetails = res.data.data.PriceDetails.HotelList[0];
this.sureMsg.BookingID = res.data.data.PriceDetails.ReferenceNo;
this.sureMsg.checkInTime = res.data.data.PriceDetails.CheckInDate;
this.sureMsg.HotelName = this.roomRateDetails.HotelName;
// this.sureMsg.HotelName = this.roomRateDetails.HotelName;
this.sureMsg.TotalPrice = this.roomRateDetails.TotalPrice;
this.sureMsg.RoomCount = this.$route.query.room;
this.DanWei = res.data.data.PriceDetails.HotelList[0].RatePlanList[0].Currency;
......@@ -1132,6 +1143,9 @@ export default {
if (this.$route.query.Address) {
this.Address = this.$route.query.Address;
}
if (this.$route.query.HotelName) {
this.sureMsg.HotelName = this.$route.query.HotelName;
}
if (this.$route.query.room) {
this.params.RoomCount = this.$route.query.room;
}
......@@ -1164,6 +1178,7 @@ export default {
},
mounted() {
this.getdidaBedType();
this.getdidaMealType();
this.initHotel();
}
};
......
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