Commit 4dc61688 authored by 黄奎's avatar 黄奎

样式调整

parent 02a661dd
<style scoped> <style scoped>
.side-hotel-map__marker {
.side-hotel-map__marker {
--map-marker-size: 24px; --map-marker-size: 24px;
display: inline-block; display: inline-block;
color: #fff; color: #fff;
...@@ -12,51 +10,69 @@ ...@@ -12,51 +10,69 @@
border: 1px solid white; border: 1px solid white;
background: #14808c; background: #14808c;
text-align: center; text-align: center;
} }
.hotelnamespan {
.hotelnamespan {
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
color: #606266; color: #606266;
height: 26px; height: 26px;
} }
.q-pr-lg {
.q-pr-lg {
margin-right: 24px; margin-right: 24px;
} }
.hotelDiv{
display: inline-flex; cursor: pointer; .hotelDiv {
} display: inline-flex;
.hotelname{ cursor: pointer;
}
.hotelname {
display: inline-flex; display: inline-flex;
cursor: pointer; cursor: pointer;
max-width:83%; max-width: 83%;
white-space: nowrap; /* 不换行 */ white-space: nowrap;
overflow: hidden; white-space: nowrap; /* 隐藏 */ /* 不换行 */
text-overflow: ellipsis; /* 显示为省略号 */ overflow: hidden;
border-bottom:1px solid white; white-space: nowrap;
} /* 隐藏 */
text-overflow: ellipsis;
/* 显示为省略号 */
border-bottom: 1px solid white;
}
.hotelname p{ .hotelname p {
white-space: nowrap; /* 不换行 */ white-space: nowrap;
overflow: hidden; white-space: nowrap; /* 隐藏 */ /* 不换行 */
text-overflow: ellipsis; /* 显示为省略号 */ overflow: hidden;
white-space: nowrap;
/* 隐藏 */
text-overflow: ellipsis;
/* 显示为省略号 */
/* border-bottom:1px solid #606266 ; */ /* border-bottom:1px solid #606266 ; */
} }
.hotelname:hover{
.hotelname:hover {
/* text-decoration: underline; */ /* text-decoration: underline; */
border-bottom:1px solid #606266 ; border-bottom: 1px solid #606266;
} }
.hotel-card-img {
.hotel-card-img {
position: relative; position: relative;
overflow: hidden; overflow: hidden;
width: 160px; width: 160px;
height: 150px; height: 150px;
margin-right: 16px; margin-right: 16px;
} }
.el-card.is-always-shadow, .el-card.is-hover-shadow:focus, .el-card.is-hover-shadow:hover {
.el-card.is-always-shadow,
.el-card.is-hover-shadow:focus,
.el-card.is-hover-shadow:hover {
margin-bottom: 12px; margin-bottom: 12px;
} }
.d12p { .d12p {
margin-top: 3px; margin-top: 3px;
...@@ -72,7 +88,7 @@ ...@@ -72,7 +88,7 @@
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }
.d12p:hover { .d12p:hover {
color: #999; color: #999;
} }
...@@ -80,19 +96,20 @@ ...@@ -80,19 +96,20 @@
.pic_item { .pic_item {
position: relative; position: relative;
height: 100%; height: 100%;
} }
.pic_item:hover{
.pic_item:hover {
cursor: pointer; cursor: pointer;
} }
.pic_item h3 { .pic_item h3 {
position: absolute; position: absolute;
left: 4rem; left: 4rem;
bottom: 1rem; bottom: 1rem;
font-size: 50px; font-size: 50px;
color: white; color: white;
font-weight: 900; font-weight: 900;
font-family:Georgia, 'Times New Roman', Times, serif; font-family: Georgia, 'Times New Roman', Times, serif;
font-size: 12px; font-size: 12px;
line-height: 116%; line-height: 116%;
display: flex; display: flex;
...@@ -100,115 +117,118 @@ ...@@ -100,115 +117,118 @@
flex: none; flex: none;
order: 1; order: 1;
align-self: stretch; align-self: stretch;
} }
.ant-col {
.ant-col {
max-width: 100%; max-width: 100%;
min-height: 1px; min-height: 1px;
position: absolute; /* 设置div为绝对定位 */ position: absolute;
right: 0; /* 距离右边0像素 */ /* 设置div为绝对定位 */
bottom: 0; /* 距离底部0像素 */ right: 0;
font-size:18px; /* 距离右边0像素 */
} bottom: 0;
.nd-price-tag_lg, .nd-price-tag_lg .nd-price-tag__currency { /* 距离底部0像素 */
font-size: 18px;
}
.nd-price-tag_lg,
.nd-price-tag_lg .nd-price-tag__currency {
font-size: 16px; font-size: 16px;
line-height: 24px; line-height: 24px;
} }
.nd-price-tag_lg .nd-price-tag__price {
.nd-price-tag_lg .nd-price-tag__price {
font-size: 18px; font-size: 18px;
line-height: 26px; line-height: 26px;
font-weight: 700; font-weight: 700;
} }
.nd-price-tag {
.nd-price-tag {
font-weight: 400; font-weight: 400;
color: #f32a4e; color: #f32a4e;
} }
.nd-reserve-btn {
.nd-reserve-btn {
/* --nd-reserve-btn-color-bg-hover: rgb(20 128 140 / 80%) */ /* --nd-reserve-btn-color-bg-hover: rgb(20 128 140 / 80%) */
color: #fff; color: #fff;
border-color: #14808c; border-color: #14808c;
background-color: #14808c; background-color: #14808c;
margin-left:24px; margin-left: 24px;
} }
.nd-reserve-btn:hover{
background-color:rgb(20 128 140 / 80%); .nd-reserve-btn:hover {
} background-color: rgb(20 128 140 / 80%);
}
</style> </style>
<template> <template>
<div class="page_iisMg" > <div class="flexOne page_iisMg">
<div class="query-box"> <div class="query-box">
<div @keyup.enter="resetPageIndex()"> <ul>
<li>
<el-form class="iis_info_box clearfix" label-width="110px"> <span>
<el-row> <em>国家</em>
<el-col :span="4" :gutter="35">
<el-form-item label="国家" >
<el-select v-model="msg.Country" filterable @change="getCityList(msg.Country,'Destination')" <el-select v-model="msg.Country" filterable @change="getCityList(msg.Country,'Destination')"
:placeholder="$t('hotel.hotel_province')" clearable @clear="msg.Province='',msg.City=''"> :placeholder="$t('hotel.hotel_province')" clearable @clear="msg.Province='',msg.City=''">
<el-option :key="0" :value="0" :label="$t('pub.pleaseSel')"></el-option> <el-option :key="0" :value="0" :label="$t('pub.pleaseSel')"></el-option>
<el-option v-for="item in provinceList" :key="item.ISOCountryCode" :label="item.CountryName_CN" :value="item.ISOCountryCode"></el-option> <el-option v-for="item in provinceList" :key="item.ISOCountryCode" :label="item.CountryName_CN"
:value="item.ISOCountryCode"></el-option>
</el-select> </el-select>
</el-form-item> </span>
</el-col> </li>
<el-col :span="4" :gutter="35"> <li>
<el-form-item label="省份"> <span>
<el-select <em>省份</em>
v-model="msg.DestinationID" <el-select v-model="msg.DestinationID" filterable remote reserve-keyword placeholder="请输入关键词"
filterable :remote-method="remoteMethod" :loading="loading">
remote <el-option :key="0" :value="0" :label="$t('pub.pleaseSel')"></el-option>
reserve-keyword <el-option v-for="item in cityList" :key="item.CityCode" :label="item.CityName_CN" :value="item.CityCode">
placeholder="请输入关键词" </el-option>
:remote-method="remoteMethod"
:loading="loading"><el-option :key="0" :value="0" :label="$t('pub.pleaseSel')"></el-option>
<el-option v-for="item in cityList" :key="item.CityCode" :label="item.CityName_CN" :value="item.CityCode"></el-option>
</el-select> </el-select>
</el-form-item> </span>
</el-col> </li>
<el-col :span="8" :gutter="35"> <li>
<el-form-item :label="$t('pub.date')"> <span>
<em>{{$t('pub.date')}}</em>
<el-date-picker v-model='msg.StartDate' value-format="yyyy-MM-dd" type="date" :picker-options="beforeCheck"> <el-date-picker v-model='msg.StartDate' value-format="yyyy-MM-dd" type="date" :picker-options="beforeCheck">
</el-date-picker> </el-date-picker>
<el-date-picker v-model='msg.EndDate' value-format="yyyy-MM-dd" type="date" :picker-options="afterCheck"> <el-date-picker v-model='msg.EndDate' value-format="yyyy-MM-dd" type="date" :picker-options="afterCheck">
</el-date-picker> </el-date-picker>
</el-form-item> </span>
</el-col> </li>
<el-col :span="4" :gutter="35"> <li>
<el-form-item :label="$t('hotel.hotel')"> <span>
<em>{{$t('hotel.hotel')}}</em>
<el-input type="" v-model="msg.HotelName" :placeholder="$t('hotel.table_hotelname')"></el-input> <el-input type="" v-model="msg.HotelName" :placeholder="$t('hotel.table_hotelname')"></el-input>
</el-form-item> </span>
</el-col> </li>
</el-row>
</el-form>
</div>
<ul>
<li> <li>
<button <button class="hollowFixedBtn" @click="resetPageIndex()">{{$t('pub.searchBtn')}}</button>
class="hollowFixedBtn"
@click="resetPageIndex()"
>{{$t('pub.searchBtn')}}</button>
</li> </li>
</ul> </ul>
</div> </div>
<div v-if="dataList.length>0">
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size='msg.pageSize' :total='total'>
</el-pagination>
</div>
<div style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px"> <div style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px">
<div v-loading="loading"> <div v-loading="loading">
<el-card class="box-card" v-for="(item, index) in dataList" :key="index" > <el-card class="box-card" v-for="(item, index) in dataList" :key="index">
<div class="hotelDiv" style="width:100%;margin-bottom:12px;"> <div class="hotelDiv" style="width:100%;margin-bottom:12px;">
<div style="width:85%;"> <div style="width:85%;">
<div class="side-hotel-map__marker q-pr-lg"> {{index+1}}</div> <div class="side-hotel-map__marker q-pr-lg"> {{index+1}}</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 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']"
disabled-void-color="rgb(211 217 225)">
</el-rate>
</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']"
disabled-void-color="rgb(211 217 225)"
>
</el-rate></div>
</div> </div>
<div style="display: inline-flex; width:100%;height:auto;margin-top:12px;"> <div style="display: inline-flex; width:100%;height:auto;margin-top:12px;">
<!-- 图片 --> <!-- 图片 -->
...@@ -227,58 +247,52 @@ ...@@ -227,58 +247,52 @@
<!-- 基本信息 --> <!-- 基本信息 -->
<div style="position: relative; width:100%;"> <div style="position: relative; width:100%;">
<div style="width:100%;line-height:26px;"> <div style="width:100%;line-height:26px;">
<p > <p>
<i class="text-grey-13 q-mr-xs el-icon-location-outline" name="place" size="xs"></i> <i class="text-grey-13 q-mr-xs el-icon-location-outline" name="place" size="xs"></i>
{{item.address}} {{item.address}}
</p> </p>
<template v-if="item.DescriptionList&&item.DescriptionList.length>0"> <template v-if="item.DescriptionList&&item.DescriptionList.length>0">
<el-popover <el-popover placement="top" width="600" title="酒店简介" trigger="click">
placement="top"
width="600"
title="酒店简介"
trigger="click" >
<div style="line-height:27px;" v-html="item.DescriptionList[0].HotelDescription_CN"></div> <div style="line-height:27px;" v-html="item.DescriptionList[0].HotelDescription_CN"></div>
<div slot="reference" class="d12p" style="line-height:26px;font-size:14px;"> <div slot="reference" class="d12p" style="line-height:26px;font-size:14px;">
<span class="hotelnamespan" style="float: left;">酒店简介</span> <span class="hotelnamespan" style="float: left;">酒店简介</span>
<div v-html="item.DescriptionList[0].NoHtmlHotelDescription"></div> <div v-html="item.DescriptionList[0].NoHtmlHotelDescription"></div>
</div> </div>
</el-popover> </el-popover>
</template> </template>
</div> </div>
<div class="ant-col nd-price-tag"> <div class="ant-col nd-price-tag">
<span class="nd-price-tag__currency nd-price-tag">CNY </span> <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__price nd-price-tag"
style="font-weight: bolder !important;font-size: 20px;">{{item.lowrateBySetCurrency}} </span>
<span class="nd-price-tag"></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> </div>
</div> </div>
</el-card> </el-card>
</div> </div>
</div>
<div class="noDataNotice" v-if="dataList.length<1&&loading==false"><i class="iconfont icon-kong"></i>
<p>没有找到你需要的数据</p>
</div> </div>
<div class="noDataNotice" v-if="dataList.length<1&&loading==false"><i class="iconfont icon-kong"></i> <p>没有找到你需要的数据</p></div>
<div v-if="dataList.length>0"> <div v-if="dataList.length>0">
<el-pagination <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
background layout="total,prev, pager, next, jumper" :page-size='msg.pageSize' :total='total'>
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
layout="total,prev, pager, next, jumper"
:page-size='msg.pageSize'
:total='total'>
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
active: 1, active: 1,
RB_Group_Id:'', RB_Group_Id: '',
companyList:[], companyList: [],
msg: { msg: {
//只查询日本 //只查询日本
Country: "JP", Country: "JP",
...@@ -291,18 +305,18 @@ export default { ...@@ -291,18 +305,18 @@ export default {
MaxPrice: 0, MaxPrice: 0,
MinPrice: 0, MinPrice: 0,
HotelName: '', HotelName: '',
StartDate:'', StartDate: '',
EndDate:'', EndDate: '',
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
IsSelectImg:1, IsSelectImg: 1,
}, },
productionDate: [], productionDate: [],
dataList: [], dataList: [],
loading: false, loading: false,
isShow: false, isShow: false,
currentPage: 0, currentPage: 0,
total:0, total: 0,
//国家 省市 区 //国家 省市 区
provinceList: [], provinceList: [],
cityList: [], cityList: [],
...@@ -335,8 +349,8 @@ export default { ...@@ -335,8 +349,8 @@ export default {
if (query !== '') { if (query !== '') {
let msg = { let msg = {
CountryCode: this.msg.Country, CountryCode: this.msg.Country,
Type:'Destination', Type: 'Destination',
CityName_CN:query CityName_CN: query
}; };
this.apipost( this.apipost(
"dmc_post_GetDiDaCityBaseInfo", "dmc_post_GetDiDaCityBaseInfo",
...@@ -349,54 +363,59 @@ export default { ...@@ -349,54 +363,59 @@ export default {
this.cityList = []; this.cityList = [];
} }
}, },
getCityList(ID,Type) { getCityList(ID, Type) {
//根据省份获取城市 //根据省份获取城市
let msg = { }; let msg = {};
if(Type==="Destination"){ if (Type === "Destination") {
msg = { msg = {
CountryCode: ID, CountryCode: ID,
Type:Type Type: Type
}; };
this.cityList = []; this.cityList = [];
} } else {
else {
msg = { msg = {
ParentCityCode: ID, ParentCityCode: ID,
Type:Type Type: Type
}; };
this.district=[]; this.district = [];
} }
this.apipost( this.apipost(
"dmc_post_GetDiDaCityBaseInfo", "dmc_post_GetDiDaCityBaseInfo",
msg, msg,
res => { res => {
if(Type==="Destination"){ if (Type === "Destination") {
this.cityList = res.data.data; this.cityList = res.data.data;
} } else {
else { this.district = res.data.data;
this.district= res.data.data;
} }
}, },
); );
}, },
getProvinceList(countryId) { getProvinceList() {
//根据省份获取城市 //根据省份获取城市
this.provinceList = []; this.provinceList = [];
this.apipost( this.apipost(
"dmc_post_GetDiDaCountryList", "dmc_post_GetDiDaCountryList", {},
{},
res => { res => {
this.provinceList = res.data.data; this.provinceList = res.data.data;
}, },
); );
}, },
goUrlT(url,id){ goUrlT(url, id) {
this.$router.push({ name:url,query:{"id":id,"StartDate":this.msg.StartDate,"EndDate":this.msg.EndDate,blank:'y',tab:'道旅酒店详情'}}) this.$router.push({
name: url,
query: {
"id": id,
"StartDate": this.msg.StartDate,
"EndDate": this.msg.EndDate,
blank: 'y',
tab: '道旅酒店详情'
}
})
}, },
getPageList: function () { getPageList: function () {
this.loading = true this.loading = true
this.apipost('dmc_post_GetDiDaHotelPageList', this.msg, res=>{ this.apipost('dmc_post_GetDiDaHotelPageList', this.msg, res => {
this.loading = false this.loading = false
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.total = res.data.data.count; this.total = res.data.data.count;
...@@ -408,20 +427,12 @@ export default { ...@@ -408,20 +427,12 @@ export default {
this.msg.pageIndex = val; this.msg.pageIndex = val;
this.getPageList(); this.getPageList();
}, },
resetPageIndex: function (){ // 重置页码 resetPageIndex: function () { // 重置页码
this.msg.pageIndex=1; this.msg.pageIndex = 1;
this.currentPage = 1; this.currentPage = 1;
this.getPageList() this.getPageList()
}, },
getBranchList(){
this.RB_Group_Id = this.getLocalStorage().RB_Group_id;
this.apipost('admin_get_BranchGetList', {RB_Group_Id:this.RB_Group_Id}, res=>{
if (res.data.resultCode == 1) {
this.companyList=res.data.data;
}
}, null)
},
getPrice(price) { getPrice(price) {
return Math.ceil(price); return Math.ceil(price);
}, },
...@@ -432,20 +443,21 @@ export default { ...@@ -432,20 +443,21 @@ export default {
var year = DateTime.getFullYear(); var year = DateTime.getFullYear();
var month = DateTime.getMonth() + 1; var month = DateTime.getMonth() + 1;
var day = DateTime.getDate(); var day = DateTime.getDate();
this.msg.StartDate= year + "-" + this.msg.StartDate = year + "-" +
(month < 10 ? "0" : "") + month + "-" + (month < 10 ? "0" : "") + month + "-" +
(day < 10 ? "0" : "") + day ; (day < 10 ? "0" : "") + day;
var eDateTime = new Date(); var eDateTime = new Date();
eDateTime.setDate(eDateTime.getDate() + 9); eDateTime.setDate(eDateTime.getDate() + 9);
var eyear = eDateTime.getFullYear(); var eyear = eDateTime.getFullYear();
var emonth = eDateTime.getMonth() + 1; var emonth = eDateTime.getMonth() + 1;
var eday = eDateTime.getDate(); var eday = eDateTime.getDate();
this.msg.EndDate= eyear + "-" + this.msg.EndDate = eyear + "-" +
(emonth < 10 ? "0" : "") + emonth + "-" + (emonth < 10 ? "0" : "") + emonth + "-" +
(eday < 10 ? "0" : "") + eday ; (eday < 10 ? "0" : "") + eday;
this.getProvinceList("JP"); this.getProvinceList();
this.getPageList(); this.getPageList();
} }
}; };
</script> </script>
<style scoped> <style scoped>
.hotelCard-img { .hotelCard-img {
width: 228px; width: 228px;
height: 162px; height: 162px;
overflow: hidden; overflow: hidden;
} }
.hotelCard-title {
.hotelCard-title {
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.hotel-info-item::before {
.hotel-info-item::before {
display: inline; display: inline;
content: "·"; content: "·";
font-weight: bolder; font-weight: bolder;
margin-right: 4px; margin-right: 4px;
} }
.height-320 {
.height-320 {
height: 250px; height: 250px;
} }
.hotel-details-table {
.hotel-details-table {
border: 1px solid #dcdcdc; border: 1px solid #dcdcdc;
border-collapse: collapse; border-collapse: collapse;
width: 680px; width: 680px;
} }
.hotel-details-table .td01 {
.hotel-details-table .td01 {
padding: 3px 15px; padding: 3px 15px;
background: #f7f7f7; background: #f7f7f7;
width: 226px; width: 226px;
height: 19px; height: 19px;
text-align: center; text-align: center;
} }
.hotel-details-table .td02 {
.hotel-details-table .td02 {
padding: 3px 15px; padding: 3px 15px;
background: #fafafa; background: #fafafa;
width: 69px; width: 69px;
height: 19px; height: 19px;
text-align: center; text-align: center;
} }
.hotel-details-table td {
.hotel-details-table td {
width: 439px; width: 439px;
padding: 10px 20px; padding: 10px 20px;
vertical-align: middle; vertical-align: middle;
...@@ -46,28 +53,32 @@ ...@@ -46,28 +53,32 @@
border: 1px solid #dcdcdc; border: 1px solid #dcdcdc;
font-size: 14px; font-size: 14px;
box-sizing: border-box; box-sizing: border-box;
} }
.hotel-details-tableMoblie {
.hotel-details-tableMoblie {
border: 1px solid #dcdcdc; border: 1px solid #dcdcdc;
border-collapse: collapse; border-collapse: collapse;
width: 100%; width: 100%;
margin-top: 5px; margin-top: 5px;
} }
.hotel-details-tableMoblie .td01 {
.hotel-details-tableMoblie .td01 {
padding: 3px 10px; padding: 3px 10px;
background: #f7f7f7; background: #f7f7f7;
width: 33.33%; width: 33.33%;
height: 19px; height: 19px;
text-align: center; text-align: center;
} }
.hotel-details-tableMoblie .td02 {
.hotel-details-tableMoblie .td02 {
padding: 3px 5px; padding: 3px 5px;
background: #fafafa; background: #fafafa;
width: 33.33%; width: 33.33%;
height: 19px; height: 19px;
text-align: center; text-align: center;
} }
.hotel-details-tableMoblie td {
.hotel-details-tableMoblie td {
width: 100%; width: 100%;
padding: 10px 20px; padding: 10px 20px;
vertical-align: middle; vertical-align: middle;
...@@ -75,66 +86,79 @@ ...@@ -75,66 +86,79 @@
border: 1px solid #dcdcdc; border: 1px solid #dcdcdc;
font-size: 14px; font-size: 14px;
box-sizing: border-box; box-sizing: border-box;
} }
.HD_hotelComIntroduce {
.HD_hotelComIntroduce {
margin: auto; margin: auto;
height: auto; height: auto;
border-bottom: 1px solid #dcdcdc; border-bottom: 1px solid #dcdcdc;
color: #111111; color: #111111;
} }
.HD_hotelComIntroduce span {
.HD_hotelComIntroduce span {
display: inline-block; display: inline-block;
margin-bottom: 10px; margin-bottom: 10px;
} }
.HD_inTitle {
.HD_inTitle {
font-size: 14px; font-size: 14px;
font-weight: bold; font-weight: bold;
color: #111111; color: #111111;
margin-bottom: 20px; margin-bottom: 20px;
} }
.HD_ServiceList span {
.HD_ServiceList span {
display: inline-block; display: inline-block;
margin: 0 30px 10px 0; margin: 0 30px 10px 0;
white-space: nowrap; white-space: nowrap;
} }
.bg-white {
.bg-white {
background: #fff !important; background: #fff !important;
} }
.q-py-lg {
.q-py-lg {
padding-top: 24px; padding-top: 24px;
padding-bottom: 24px; padding-bottom: 24px;
} }
.q-py-lg8 {
.q-py-lg8 {
padding-top: 8px; padding-top: 8px;
padding-bottom: 8px; padding-bottom: 8px;
} }
.q-py-bottom8 { .q-py-bottom8 {
padding-bottom: 8px; padding-bottom: 8px;
} }
.column {
.column {
flex-direction: column; flex-direction: column;
} }
.row {
.row {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
.q-mb-lg {
.q-mb-lg {
margin-bottom: 24px; margin-bottom: 24px;
} }
.justify-between {
.justify-between {
justify-content: space-between; justify-content: space-between;
} }
.q-position-engine { .q-position-engine {
margin-top: var(--q-pe-top, 0) !important; margin-top: var(--q-pe-top, 0) !important;
margin-left: var(--q-pe-left, 0) !important; margin-left: var(--q-pe-left, 0) !important;
will-change: auto; will-change: auto;
} }
.scroll {
.scroll {
overflow: auto; overflow: auto;
} }
.q-menu {
.q-menu {
position: fixed !important; position: fixed !important;
display: inline-block; display: inline-block;
max-width: 95vw; max-width: 95vw;
...@@ -146,129 +170,158 @@ ...@@ -146,129 +170,158 @@
outline: 0; outline: 0;
max-height: 65vh; max-height: 65vh;
z-index: 6000; z-index: 6000;
} }
.q-pa-md {
.q-pa-md {
padding: 16px; padding: 16px;
} }
.q-pa-mdlr {
.q-pa-mdlr {
padding: 0px 16px; padding: 0px 16px;
} }
.rounded-borders {
.rounded-borders {
border-radius: 4px; border-radius: 4px;
} }
.wrap {
.wrap {
flex-wrap: wrap; flex-wrap: wrap;
} }
.q-card {
.q-card {
box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f;
border-radius: 4px; border-radius: 4px;
vertical-align: top; vertical-align: top;
background: #fff; background: #fff;
position: relative; position: relative;
} }
.q-card > div:not(:last-child),
.q-card > img:not(:last-child) { .q-card>div:not(:last-child),
.q-card>img:not(:last-child) {
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
border-bottom-right-radius: 0; border-bottom-right-radius: 0;
} }
.q-card > div:first-child,
.q-card > img:first-child { .q-card>div:first-child,
.q-card>img:first-child {
border-top: 0; border-top: 0;
border-top-left-radius: inherit; border-top-left-radius: inherit;
border-top-right-radius: inherit; border-top-right-radius: inherit;
} }
.q-card > div {
.q-card>div {
border-left: 0; border-left: 0;
border-right: 0; border-right: 0;
box-shadow: none; box-shadow: none;
} }
.q-mr-md {
.q-mr-md {
margin-right: 16px; margin-right: 16px;
} }
.no-shadow {
.no-shadow {
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
} }
.el-date-editor .el-range-input { .el-date-editor .el-range-input {
width: 70px; width: 70px;
} }
.el-range-separator {
.el-range-separator {
width: 20px !important; width: 20px !important;
} }
.el-date-editor--daterange.el-input,
.el-date-editor--daterange.el-input__inner, .el-date-editor--daterange.el-input,
.el-date-editor--timerange.el-input, .el-date-editor--daterange.el-input__inner,
.el-date-editor--timerange.el-input__inner { .el-date-editor--timerange.el-input,
.el-date-editor--timerange.el-input__inner {
width: 202px; width: 202px;
} }
.el-input .el-input__inner,
.el-select .el-input { .el-input .el-input__inner,
.el-select .el-input {
border-radius: 4px; border-radius: 4px;
height: 32px; height: 32px;
} }
.HD_Green {
.HD_Green {
background-color: green; background-color: green;
} }
.text-white {
.text-white {
color: #fff !important; color: #fff !important;
} }
.absolute,
.absolute-full, .absolute,
.absolute-center, .absolute-full,
.absolute-bottom, .absolute-center,
.absolute-left, .absolute-bottom,
.absolute-right, .absolute-left,
.absolute-top, .absolute-right,
.absolute-top-left, .absolute-top,
.absolute-top-right, .absolute-top-left,
.absolute-bottom-left, .absolute-top-right,
.absolute-bottom-right { .absolute-bottom-left,
.absolute-bottom-right {
position: absolute; position: absolute;
} }
.HD_Black {
.HD_Black {
background-color: #000; background-color: #000;
} }
.q-px-lg {
.q-px-lg {
padding-left: 24px; padding-left: 24px;
padding-right: 24px; padding-right: 24px;
} }
.q-pl-lg {
.q-pl-lg {
padding-left: 24px; padding-left: 24px;
} }
.q-pt-sm {
.q-pt-sm {
padding-top: 8px; padding-top: 8px;
} }
.q-px-sm {
.q-px-sm {
padding-left: 8px; padding-left: 8px;
padding-right: 8px; padding-right: 8px;
} }
.q-pb-md8 { .q-pb-md8 {
padding-bottom: 8px; padding-bottom: 8px;
} }
.q-mb-md {
.q-mb-md {
margin-bottom: 16px !important; margin-bottom: 16px !important;
} }
.q-mb-md8 {
margin-bottom:8px !important; .q-mb-md8 {
} margin-bottom: 8px !important;
.text-right { }
.text-right {
text-align: right; text-align: right;
} }
.q-pt-md {
.q-pt-md {
padding-top: 16px; padding-top: 16px;
} }
.text-green {
.text-green {
color: #4caf50 !important; color: #4caf50 !important;
} }
.text-grey-6 {
.text-grey-6 {
color: #9e9e9e !important; color: #9e9e9e !important;
} }
.text-red {
.text-red {
color: #f44336 !important; color: #f44336 !important;
} }
.q-focus-helper {
.q-focus-helper {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
...@@ -279,156 +332,149 @@ ...@@ -279,156 +332,149 @@
opacity: 0; opacity: 0;
transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1),
opacity 0.4s cubic-bezier(0.25, 0.8, 0.5, 1); opacity 0.4s cubic-bezier(0.25, 0.8, 0.5, 1);
} }
.q-btn--actionable {
.q-btn--actionable {
cursor: pointer; cursor: pointer;
} }
.bg-green-6 {
.bg-green-6 {
background: #4caf50 !important; background: #4caf50 !important;
} }
.q-separator--horizontal {
.q-separator--horizontal {
display: block; display: block;
height: 1px; height: 1px;
} }
.el-divider--horizontal {
.el-divider--horizontal {
margin: 0px !important; margin: 0px !important;
} }
.order-show {
.order-show {
text-align: center; text-align: center;
color: red; color: red;
} }
.fz18 {
.fz18 {
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;
} }
.text-orange-6 {
.text-orange-6 {
color: #ff9800 !important; color: #ff9800 !important;
} }
.text-green-6 {
.text-green-6 {
color: #4caf50 !important; color: #4caf50 !important;
} }
.text-weight-bold {
.text-weight-bold {
font-weight: 700; font-weight: 700;
} }
.text-grey-9 {
.text-grey-9 {
color: #424242 !important; color: #424242 !important;
} }
.fz20 {
.fz20 {
font-size: 20px; font-size: 20px;
} }
.text-red {
.text-red {
color: #f44336 !important; color: #f44336 !important;
} }
.text-h5 {
.text-h5 {
font-size: 1.5rem; font-size: 1.5rem;
font-weight: 400; font-weight: 400;
line-height: 2rem; line-height: 2rem;
letter-spacing: normal; letter-spacing: normal;
} }
.q-ml-md {
.q-ml-md {
margin-left: 6px; margin-left: 6px;
} }
.q-px-md {
.q-px-md {
padding-left: 16px; padding-left: 16px;
padding-right: 16px; padding-right: 16px;
} }
.items-center,
.flex-center { .items-center,
.flex-center {
align-items: center; align-items: center;
} }
.items-end {
.items-end {
align-items: flex-end; align-items: flex-end;
} }
/deep/ .el-card__body, .el-main {
/deep/ .el-card__body,
.el-main {
padding: 10px !important; padding: 10px !important;
} }
.d-pr8 {
.d-pr8 {
padding-right: 8px; padding-right: 8px;
} }
.table-list tr, td { .table-list tr,
td {
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
border-right: 1px solid #ddd; border-right: 1px solid #ddd;
border-left: 1px solid #ddd; border-left: 1px solid #ddd;
padding:8px; padding: 8px;
border-collapse: collapse; /* 移除单元格之间的间隔 */ border-collapse: collapse;
font-size:12px; /* 移除单元格之间的间隔 */
} font-size: 12px;
.table-list tr:first-child td { }
.table-list tr:first-child td {
border-top: 1px solid #ddd; border-top: 1px solid #ddd;
border-right: 1px solid #ddd; border-right: 1px solid #ddd;
border-left: 1px solid #ddd; border-left: 1px solid #ddd;
padding:8px; padding: 8px;
border-collapse: collapse; /* 移除单元格之间的间隔 */ border-collapse: collapse;
} /* 移除单元格之间的间隔 */
}
</style> </style>
<template> <template>
<div class="q-py-lg"> <div class="q-py-lg">
<div <div class="bg-white q-py-lg8 column q-mb-md"
class="bg-white q-py-lg8 column q-mb-md" style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px">
style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px"
>
<div class="row q-px-lg q-py-lg8 row justify-between"> <div class="row q-px-lg q-py-lg8 row justify-between">
<div <div class="row no-wrap items-center q-mt-xs q-pt-sm text-orange-6 text-weight-bold" style="width:100%;">
class="row no-wrap items-center q-mt-xs q-pt-sm text-orange-6 text-weight-bold" <el-button class="bg-orange-6 text-white" size="sm" type="warning" icon="el-icon-user" circle></el-button>
style="width:100%;" <span class="fz18 q-pl-lg" style="margin-top:8px;">超过13岁视为成人处理</span>
>
<el-button
class="bg-orange-6 text-white"
size="sm"
type="warning"
icon="el-icon-user"
circle
></el-button>
<span class="fz18 q-pl-lg" style="margin-top:8px;"
>超过13岁视为成人处理</span
>
</div> </div>
<div <div class="row no-wrap items-center text-green-6 q-mt-xs q-pt-sm text-weight-bold" style="width:100%;">
class="row no-wrap items-center text-green-6 q-mt-xs q-pt-sm text-weight-bold" <el-button class="bg-green-6 text-white" size="sm" type="success" icon="el-icon-document" circle></el-button>
style="width:100%;" <span class="fz18 q-pl-lg" style="margin-top:8px;">预定成功后房间将为您保留整晚</span>
>
<el-button
class="bg-green-6 text-white"
size="sm"
type="success"
icon="el-icon-document"
circle
></el-button>
<span class="fz18 q-pl-lg" style="margin-top:8px;"
>预定成功后房间将为您保留整晚</span
>
</div> </div>
</div> </div>
</div> </div>
<div class="bg-white 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 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
style="width:100%;background:#e1f5fe!important;font-weight:700;border-radius:4px;height:53px;display:flex;padding-left:10px; align-items: center;">
预定信息 预定信息
</div> </div>
</div> </div>
<template v-if="sureMsg&&sureMsg.BookingID&&sureMsg.BookingID.length>0"> <template v-if="sureMsg&&sureMsg.BookingID&&sureMsg.BookingID.length>0">
<div class="row q-px-lg row justify-between q-mb-md"> <div class="row q-px-lg row justify-between q-mb-md">
<div <div class="row no-wrap items-center q-mt-xs q-pt-sm text-red text-weight-bold" style="width:100%;">
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"> <span class="fz18 text-red">
{{ sureMsg.HotelName }}</span {{ sureMsg.HotelName }}</span>
>
</div> </div>
</div> </div>
<div style="padding-bottom: 8px;"> <div style="padding-bottom: 8px;">
<div style="display: flex;"> <div style="display: flex;">
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;"> <div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;">
<span class="text-grey-6 q-pr-lg"> <i <span class="text-grey-6 q-pr-lg"> <i class="text-grey-13 q-mr-xs el-icon-location-outline" name="place"
class="text-grey-13 q-mr-xs el-icon-location-outline" size="xs"></i>
name="place"
size="xs"
></i>
<span class="col fz14 text-weight-bold text-blick text-grey-6">{{ <span class="col fz14 text-weight-bold text-blick text-grey-6">{{
Address Address
}}</span> }}</span>
...@@ -436,59 +482,42 @@ ...@@ -436,59 +482,42 @@
</div> </div>
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;"> <div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;">
<span class="text-grey-6 q-pr-lg"> <i <span class="text-grey-6 q-pr-lg"> <i style="color:#c0c4cc;" class="text-grey-13 q-mr-xs el-icon-phone"
style="color:#c0c4cc;" name="place" size="xs"></i>
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 class="col fz14 text-weight-bold text-blick text-grey-6">{{ $route.query.tel }}</span>
</span> </span>
</div> </div>
</div> </div>
</div> </div>
<div style="display:row;flex-direction:row;padding-bottom:16px;" class="justify-between"> <div style="display:row;flex-direction:row;padding-bottom:16px;" class="justify-between">
<div style="padding-bottom: 8px;"> <div style="padding-bottom: 8px;">
<div style="display: flex;"> <div style="display: flex;">
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;"> <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-6 q-pr-lg">房型</span>
<span class="text-grey-9"> <span class="text-grey-9">
<template v-if=" roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0 " > <template v-if=" roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0 ">
{{ roomRateDetails.RatePlanList[0].RoomName_CN }} {{ roomRateDetails.RatePlanList[0].RoomName_CN }}
</template> </template>
</span> </span>
</div> </div>
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;"> <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-6 q-pr-lg">床型</span>
<span <span class="text-grey-9 q-pr-lg"
class="text-grey-9 q-pr-lg" v-if="roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0" v-loading="loading">
v-if="
roomRateDetails.RatePlanList &&
roomRateDetails.RatePlanList.length > 0
"
v-loading="loading"
>
{{ getRoomType(roomRateDetails.RatePlanList[0].BedType) }} {{ getRoomType(roomRateDetails.RatePlanList[0].BedType) }}
</span> </span>
</div> </div>
</div> </div>
</div> </div>
<div style="padding-bottom: 8px;">
<div style="display: flex;">
<div style="padding-bottom: 8px;">
<div style="display: flex;">
<div class="q-pt-xs col q-px-lg q-mb-md8" style="width:50%;"> <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-6 q-pr-lg">入住日期</span>
<span class="text-grey-9"> {{params.CheckInDate}} <span class="q-ml-md">{{ checkInWeek }}</span> <span class="text-grey-9"> {{params.CheckInDate}} <span class="q-ml-md">{{ checkInWeek }}</span>
- -
<span > {{params.CheckOutDate}} </span> <span> {{params.CheckOutDate}} </span>
<span class="q-ml-md">{{ checkOutWeek }}</span> <span class="q-ml-md">{{ checkOutWeek }}</span>
</span> </span>
</div> </div>
...@@ -496,29 +525,21 @@ ...@@ -496,29 +525,21 @@
<span class="text-grey-6 q-pr-lg">入住人數</span> <span class="text-grey-6 q-pr-lg">入住人數</span>
<span class="text-grey-9"> <span class="text-grey-9">
<span>成人 {{ auditNum }} 人</span> <span>成人 {{ auditNum }} 人</span>
<span class="q-pl-lg" v-if="childNum > 0" <span class="q-pl-lg" v-if="childNum > 0">儿童{{ childNum }} 人</span>
>儿童{{ childNum }} 人</span
>
<span class="q-pl-lg" v-if="isBaoChild">不能报儿童</span> <span class="q-pl-lg" v-if="isBaoChild">不能报儿童</span>
</span> </span>
</div> </div>
</div>
</div> </div>
</div>
<div style="padding-bottom: 8px;"> <div style="padding-bottom: 8px;">
<div style=" display: flex;"> <div style=" display: flex;">
<div style="width:50%;" v-if="roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0"
<div style="width:50%;" v-if=" roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0 " v-for="(item, index) in roomRateDetails.RatePlanList" :key="index" > v-for="(item, index) in roomRateDetails.RatePlanList" :key="index">
<div class="q-pt-xs col q-px-lg q-mb-md8" > <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-6 q-pr-lg">房间数量</span>
<span class="text-grey-9"> {{ item.RoomOccupancy.RoomNum }} </span> <span class="text-grey-9"> {{ item.RoomOccupancy.RoomNum }} </span>
<span class="text-grey-9" <span class="text-grey-9"><i class="text-grey-13 q-mr-xs el-icon-warning-outline text-orange-6"
><i name="place" size="xs"></i>
class="text-grey-13 q-mr-xs el-icon-warning-outline text-orange-6"
name="place"
size="xs"
></i>
仅剩 仅剩
<span class="text-orange text-orange-6">{{ <span class="text-orange text-orange-6">{{
item.InventoryCount item.InventoryCount
...@@ -531,28 +552,25 @@ ...@@ -531,28 +552,25 @@
<div> <div>
<span class="text-grey-6 q-pr-lg">报价是否即时确认</span> <span class="text-grey-6 q-pr-lg">报价是否即时确认</span>
<span class="text-grey-9"> <span class="text-grey-9">
<template v-if=" roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0 " > <template v-if=" roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0 ">
{{ roomRateDetails.RatePlanList[0].IsOnRequest?"否":"是" }} {{ roomRateDetails.RatePlanList[0].IsOnRequest?"否":"是" }}
</template> </template>
</span> </span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="q-pt-xs col q-px-lg q-mb-md ">
<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=" q-pr-lg d-pr8" style="float:left;" >订单总金额</span >
<span class=" col row wrap text-red" style="font-size:18px;"> <span class=" col row wrap text-red" style="font-size:18px;">
( {{DanWei}} ){{roomRateDetails.TotalPrice}} ( {{DanWei}} ){{roomRateDetails.TotalPrice}}
</span> </span>
</div> </div>
<div class="q-pt-xs col q-px-lg q-mb-md"> <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"> <span class="text-grey-9 col row wrap">
<template v-if="roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0"> <template v-if="roomRateDetails.RatePlanList && roomRateDetails.RatePlanList.length > 0">
<table class="table-list" cellspacing="0" > <table class="table-list" cellspacing="0">
<tr style="background-color: #f1f1f1;"> <tr style="background-color: #f1f1f1;">
<td v-for="( itemp, indexp ) in roomRateDetails.RatePlanList[0].PriceList" :key="indexp"> <td v-for="( itemp, indexp ) in roomRateDetails.RatePlanList[0].PriceList" :key="indexp">
{{getWeekD(itemp.StayDate)}} {{getWeekD(itemp.StayDate)}}
...@@ -561,102 +579,72 @@ ...@@ -561,102 +579,72 @@
<tr> <tr>
<td v-for="( itemp, indexp ) in roomRateDetails.RatePlanList[0].PriceList" :key="indexp"> <td v-for="( itemp, indexp ) in roomRateDetails.RatePlanList[0].PriceList" :key="indexp">
<span class="text-red">{{DanWei }} {{itemp.Price}}</span> <span class="text-red">{{DanWei }} {{itemp.Price}}</span>
<p>
<p > <span :class="itemp.MealAmount>0?'text-green':'' ">
<span :class="itemp.MealAmount>0?'text-green':'' " >
{{getMealtype(itemp.MealType)}} {{getMealtype(itemp.MealType)}}
<template v-if="itemp.MealAmount>0"> <template v-if="itemp.MealAmount>0">
×{{itemp.MealAmount}} ×{{itemp.MealAmount}}
</template> </template>
</span> </span>
</p> </p>
</td> </td>
</tr> </tr>
</table> </table>
</template> </template>
</span> </span>
</div> </div>
</div> </div>
</template> </template>
<template v-else><div style="text-align:center;padding:18px;">暂无数据</div></template> <template v-else>
<div style="text-align:center;padding:18px;">暂无数据</div>
</template>
</div> </div>
<div <div class="bg-white column q-mb-md" style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px">
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 class="row q-py-bottom8 row justify-between">
<div <div
style="width:100%;background:#e1f5fe!important;font-weight:700;border-radius:4px;height:53px;padding-left:10px; align-items: center;" style="width:100%;background:#e1f5fe!important;font-weight:700;border-radius:4px;height:53px;padding-left:10px; align-items: center;">
> <span style="float: left; padding-top: 16px; display: block;">入住信息</span>
<span style="float: left; padding-top: 16px; display: block;" <span style="float: right; padding-top: 16px; padding-right:16px; display: block;" class="text-orange-6">
>入住信息</span <i class="text-grey-13 q-mr-xs el-icon-warning-outline" name="place" size="xs"></i>所填姓名需和入住时所持证件一致</span>
>
<span
style="float: right; padding-top: 16px; padding-right:16px; display: block;"
class="text-orange-6"
>
<i
class="text-grey-13 q-mr-xs el-icon-warning-outline"
name="place"
size="xs"
></i
>所填姓名需和入住时所持证件一致</span
>
</div> </div>
</div> </div>
<div class="row q-px-lg q-py-lg8 row justify-between" style="width: 100%; display: block;"> <div class="row q-px-lg q-py-lg8 row justify-between" style="width: 100%; display: block;">
<el-form label-position="left" label-width="80px" class="iis_info_box clearfix" <el-form label-position="left" label-width="80px" class="iis_info_box clearfix" ref="sureMsg" :rules="rules"
ref="sureMsg" :rules="rules" :model="sureMsg" > :model="sureMsg">
<el-row> <el-row>
<el-col :gutter="35" style="width:26%;"> <el-col :gutter="35" style="width:26%;">
<el-form-item label="预订人" prop="guestLastName" > <el-form-item label="预订人" prop="guestLastName">
<el-input v-model="sureMsg.guestLastName" placeholder="姓(英文)"></el-input> <el-input v-model="sureMsg.guestLastName" placeholder="姓(英文)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :gutter="35" style="width:25%;margin-right:24px;"> <el-col :gutter="35" style="width:25%;margin-right:24px;">
<el-form-item label="" prop="guestFirstName"> <el-form-item label="" prop="guestFirstName">
<el-input v-model="sureMsg.guestFirstName" placeholder="名(英文)"></el-input> <el-input v-model="sureMsg.guestFirstName" placeholder="名(英文)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :gutter="35" style="width:30%;"> <el-col :gutter="35" style="width:30%;">
<el-form-item label="Email" prop="guestEmail"> <el-form-item label="Email" prop="guestEmail">
<el-input v-model="sureMsg.guestEmail" placeholder="Email"></el-input> <el-input v-model="sureMsg.guestEmail" placeholder="Email"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col style="width:49%;":gutter="35"> <el-col style="width:49%;" :gutter="35">
<el-form-item label="电话" prop="guestPhoneNumber"> <el-form-item label="电话" prop="guestPhoneNumber">
<el-input v-model="sureMsg.guestPhoneNumber" placeholder="电话"></el-input> <el-input v-model="sureMsg.guestPhoneNumber" placeholder="电话"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col style="width:49%;" :gutter="35"> <el-col style="width:49%;" :gutter="35">
<el-form-item label="客户需求" > <el-form-item label="客户需求">
<el-input v-model="sureMsg.guestRequest" placeholder="客户需求"></el-input> <el-input v-model="sureMsg.guestRequest" placeholder="客户需求"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label-width="0px" v-if="sureMsg.GuestList && sureMsg.GuestList.length > 0"> <el-form-item label-width="0px" v-if="sureMsg.GuestList && sureMsg.GuestList.length > 0">
<template v-for="(item, subIndex) in sureMsg.GuestList" > <template v-for="(item, subIndex) in sureMsg.GuestList">
<div v-for="(itemguest, numberOfAdultsIndex) in item.GuestInfo" :key="subIndex"> <div v-for="(itemguest, numberOfAdultsIndex) in item.GuestInfo" :key="subIndex">
<el-row style="margin-bottom:22px"> <el-row style="margin-bottom:22px">
<el-col :gutter="35" style="width:26%;margin-right:24px;"> <el-col :gutter="35" style="width:26%;margin-right:24px;">
...@@ -666,28 +654,22 @@ ...@@ -666,28 +654,22 @@
<el-input v-model="itemguest.LastName" placeholder="姓(英文)"></el-input> <el-input v-model="itemguest.LastName" placeholder="姓(英文)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :gutter="35" style="width:25%;margin-right:24px;"> <el-col :gutter="35" style="width:25%;margin-right:24px;">
<el-form-item label="" :prop="`GuestList[${subIndex}].GuestInfo[${numberOfAdultsIndex}].FirstName`" <el-form-item label="" :prop="`GuestList[${subIndex}].GuestInfo[${numberOfAdultsIndex}].FirstName`"
:rules="rules.FirstName" > :rules="rules.FirstName">
<el-input v-model="itemguest.FirstName" placeholder="名(英文)"></el-input> <el-input v-model="itemguest.FirstName" placeholder="名(英文)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :gutter="35" style="width:30%;"> <el-col :gutter="35" style="width:30%;">
<el-form-item label="" > <el-form-item label="">
<el-input type="number" v-model="itemguest.Age" :min="0" :max="12" placeholder="年龄(儿童必填)" ></el-input> <el-input type="number" v-model="itemguest.Age" :min="0" :max="12" placeholder="年龄(儿童必填)">
</el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
</template> </template>
</el-form-item> </el-form-item>
<el-row> <el-row>
<el-col :gutter="35"> <el-col :gutter="35">
<div class="row col-12 text-red q-mb-md" v-if=" <div class="row col-12 text-red q-mb-md" v-if="
...@@ -701,31 +683,26 @@ ...@@ -701,31 +683,26 @@
</div> </div>
<div v-else> <div v-else>
<p>{{ getformatDateStr(itemCancella.FromDate) }} <p>{{ getformatDateStr(itemCancella.FromDate) }}
<span v-if="index1!=(roomRateDetails.CancellationPolicyList.length-1)">- {{ getformatDateStr(roomRateDetails.CancellationPolicyList[index1+1].FromDate) }} 之间</span> <span v-if="index1!=(roomRateDetails.CancellationPolicyList.length-1)">-
{{ getformatDateStr(roomRateDetails.CancellationPolicyList[index1+1].FromDate) }} 之间</span>
取消,收费 {{DanWei}}{{getPrice(itemCancella.Amount)}};</p> 取消,收费 {{DanWei}}{{getPrice(itemCancella.Amount)}};</p>
</div> </div>
</div> </div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
</div> </div>
<div <div class="col row q-mb-md" style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px">
class="col row q-mb-md" <el-button type="primary" :disabled="submDisabled" style="width:50%; margin:0 auto;" @click="submitForm('sureMsg')"
style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px" :loading="submLoading">下单</el-button>
>
<el-button type="primary" :disabled="submDisabled" style="width:100%;" @click="submitForm('sureMsg')" :loading="submLoading">下单</el-button>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
isShowTime: true, isShowTime: true,
...@@ -757,16 +734,16 @@ export default { ...@@ -757,16 +734,16 @@ export default {
numberOfAdults: 0, numberOfAdults: 0,
numberOfChildren: 0, numberOfChildren: 0,
submLoading: false, submLoading: false,
submDisabled:false, submDisabled: false,
loading: false, loading: false,
dateRange: "", //当前日期 dateRange: "", //当前日期
dateRange2: "", //当前日期 dateRange2: "", //当前日期
roomRateDetails: {}, roomRateDetails: {},
DanWei: "", DanWei: "",
HotelRoomTypes: [], //散客房间类型 HotelRoomTypes: [], //散客房间类型
HotelMealTypes:[],//餐型 HotelMealTypes: [], //餐型
dataList: {}, dataList: {},
GuestInfo:{ GuestInfo: {
LastName: '', LastName: '',
FirstName: '', FirstName: '',
Age: '', Age: '',
...@@ -794,8 +771,8 @@ export default { ...@@ -794,8 +771,8 @@ export default {
OrderForm: 1, OrderForm: 1,
//备注 //备注
guestRequest: "", guestRequest: "",
hotelId:'', hotelId: '',
roomType:0, roomType: 0,
}, },
auditNum: 0, auditNum: 0,
childNum: 0, childNum: 0,
...@@ -874,18 +851,19 @@ export default { ...@@ -874,18 +851,19 @@ export default {
methods: { methods: {
// 提交下单 // 提交下单
submitForm(formName) { submitForm(formName) {
this.$refs[formName].validate((valid)=>{ this.$refs[formName].validate((valid) => {
if(valid){ if (valid) {
if (this.submLoading) return; if (this.submLoading) return;
let flag = false; let flag = false;
this.sureMsg.hotelId = this.$route.query.hotelId; this.sureMsg.hotelId = this.$route.query.hotelId;
this.sureMsg.RatePlanID = this.$route.query.RatePlanID; this.sureMsg.RatePlanID = this.$route.query.RatePlanID;
this.sureMsg.CheckInDate = this.params.CheckInDate; this.sureMsg.CheckInDate = this.params.CheckInDate;
this.sureMsg.EmployeeIdStr =this.getLocalStorage().EmployeeId+""; this.sureMsg.EmployeeIdStr = this.getLocalStorage().EmployeeId + "";
this.sureMsg.totalRoomCount = this.params.searchroomGroup.length; this.sureMsg.totalRoomCount = this.params.searchroomGroup.length;
this.sureMsg.RoomCount = this.params.searchroomGroup.length; this.sureMsg.RoomCount = this.params.searchroomGroup.length;
this.sureMsg.CheckOutDate = this.params.CheckOutDate; this.sureMsg.CheckOutDate = this.params.CheckOutDate;
if(this.roomRateDetails&&this.roomRateDetails.RatePlanList&&this.roomRateDetails.RatePlanList.length>0){ if (this.roomRateDetails && this.roomRateDetails.RatePlanList && this.roomRateDetails.RatePlanList
.length > 0) {
this.sureMsg.roomType = this.roomRateDetails.RatePlanList[0].BedType; this.sureMsg.roomType = this.roomRateDetails.RatePlanList[0].BedType;
} }
...@@ -909,9 +887,13 @@ export default { ...@@ -909,9 +887,13 @@ export default {
this.loading = false; this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.Success("下单成功"); this.Success("下单成功");
this.$router.push({ name:"HotelOrderTotal",query:{tab:'散卖酒店订单'}}) this.$router.push({
name: "HotelOrderTotal",
query: {
tab: '散卖酒店订单'
} }
else{ })
} else {
this.Error(res.data.message); this.Error(res.data.message);
} }
this.submLoading = false; this.submLoading = false;
...@@ -926,7 +908,7 @@ export default { ...@@ -926,7 +908,7 @@ export default {
//获取道旅餐食类型 //获取道旅餐食类型
getdidaMealType() { getdidaMealType() {
this.apipost('dmc_post_GetDidaMealType', this.hotelMsg, res=>{ this.apipost('dmc_post_GetDidaMealType', this.hotelMsg, res => {
this.loading = false this.loading = false
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.HotelMealTypes = res.data.data; this.HotelMealTypes = res.data.data;
...@@ -946,22 +928,21 @@ export default { ...@@ -946,22 +928,21 @@ export default {
return mealtypeName; return mealtypeName;
}, },
//日期格式化 //日期格式化
getIsCancella(RatePlanCancellationPolicyList,TotalPrice) { getIsCancella(RatePlanCancellationPolicyList, TotalPrice) {
let IsCancel=0;//不可取消 let IsCancel = 0; //不可取消
let date2 = new Date();//当前时间 let date2 = new Date(); //当前时间
RatePlanCancellationPolicyList.forEach((item,index) => { RatePlanCancellationPolicyList.forEach((item, index) => {
var dt = new Date(item.FromDate);//取消时间 var dt = new Date(item.FromDate); //取消时间
if(IsCancel==0){ if (IsCancel == 0) {
if (dt > date2 ) { if (dt > date2) {
if(item.Amount==TotalPrice){ if (item.Amount == TotalPrice) {
IsCancel=1; IsCancel = 1;
}else{ } else {
IsCancel=2; IsCancel = 2;
}
} }
else{ } else {
if(item.Amount!=TotalPrice){ if (item.Amount != TotalPrice) {
IsCancel=2; IsCancel = 2;
} }
} }
} }
...@@ -985,7 +966,7 @@ export default { ...@@ -985,7 +966,7 @@ export default {
let year = dt.getFullYear(); let year = dt.getFullYear();
let month = (dt.getMonth() + 1).toString().padStart(2, "0"); let month = (dt.getMonth() + 1).toString().padStart(2, "0");
let date = (dt.getDate() + 1).toString().padStart(2, "0"); let date = (dt.getDate() + 1).toString().padStart(2, "0");
return month + "-" + date +"("+this.WeekList[dt.getDay()]+")"; return month + "-" + date + "(" + this.WeekList[dt.getDay()] + ")";
}, },
//日期格式化 //日期格式化
...@@ -993,19 +974,23 @@ export default { ...@@ -993,19 +974,23 @@ export default {
var dt = new Date(value); var dt = new Date(value);
let year = dt.getFullYear(); let year = dt.getFullYear();
let month = (dt.getMonth() + 1).toString().padStart(2, "0"); let month = (dt.getMonth() + 1).toString().padStart(2, "0");
let date = (dt.getDate() ).toString().padStart(2, "0"); let date = (dt.getDate()).toString().padStart(2, "0");
return year + "-" + month + "-" + date; return year + "-" + month + "-" + date;
}, },
optionsFnStar(cd) { optionsFnStar(cd) {
return ( return (
cd <= cd <=
date.formatDate(date.addToDate(new Date(), { days: 9 }), "YYYY/MM/DD") date.formatDate(date.addToDate(new Date(), {
days: 9
}), "YYYY/MM/DD")
); );
}, },
optionsFnEnd(cd) { optionsFnEnd(cd) {
return ( return (
cd >= cd >=
date.formatDate(date.addToDate(new Date(), { days: 9 }), "YYYY/MM/DD") date.formatDate(date.addToDate(new Date(), {
days: 9
}), "YYYY/MM/DD")
); );
}, },
dateRangeHandler(e) { dateRangeHandler(e) {
...@@ -1049,11 +1034,11 @@ export default { ...@@ -1049,11 +1034,11 @@ export default {
this.TotalChildCount = 0; this.TotalChildCount = 0;
let rateGrouoLen = 0; let rateGrouoLen = 0;
} }
if(this.roomRateDetails&&this.roomRateDetails.RatePlanList&&this.roomRateDetails.RatePlanList.length>0){ if (this.roomRateDetails && this.roomRateDetails.RatePlanList && this.roomRateDetails.RatePlanList
this.submDisabled=false; .length > 0) {
} this.submDisabled = false;
else{ } else {
this.submDisabled=true; this.submDisabled = true;
} }
}, },
null null
...@@ -1181,5 +1166,6 @@ export default { ...@@ -1181,5 +1166,6 @@ export default {
this.getdidaMealType(); this.getdidaMealType();
this.initHotel(); this.initHotel();
} }
}; };
</script> </script>
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