Commit 0429b4e8 authored by 黄奎's avatar 黄奎

接口调整

parent a2de65ff
<style scoped>
.hotelCard-img {
.hotelCard-img {
width: 228px;
height: 162px;
overflow: hidden;
}
.hotelCard-title {
}
.hotelCard-title {
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.hotel-info-item::before {
}
.hotel-info-item::before {
display: inline;
content: "·";
font-weight: bolder;
margin-right: 4px;
}
.height-320 {
}
.height-320 {
height: 250px;
}
.hotel-details-table {
}
.hotel-details-table {
border: 1px solid #dcdcdc;
border-collapse: collapse;
width: 680px;
}
.hotel-details-table .td01 {
}
.hotel-details-table .td01 {
padding: 3px 15px;
background: #f7f7f7;
width: 226px;
height: 19px;
text-align: center;
}
.hotel-details-table .td02 {
}
.hotel-details-table .td02 {
padding: 3px 15px;
background: #fafafa;
width: 69px;
height: 19px;
text-align: center;
}
.hotel-details-table td {
}
.hotel-details-table td {
width: 439px;
padding: 10px 20px;
vertical-align: middle;
......@@ -46,28 +53,32 @@
border: 1px solid #dcdcdc;
font-size: 14px;
box-sizing: border-box;
}
.hotel-details-tableMoblie {
}
.hotel-details-tableMoblie {
border: 1px solid #dcdcdc;
border-collapse: collapse;
width: 100%;
margin-top: 5px;
}
.hotel-details-tableMoblie .td01 {
}
.hotel-details-tableMoblie .td01 {
padding: 3px 10px;
background: #f7f7f7;
width: 33.33%;
height: 19px;
text-align: center;
}
.hotel-details-tableMoblie .td02 {
}
.hotel-details-tableMoblie .td02 {
padding: 3px 5px;
background: #fafafa;
width: 33.33%;
height: 19px;
text-align: center;
}
.hotel-details-tableMoblie td {
}
.hotel-details-tableMoblie td {
width: 100%;
padding: 10px 20px;
vertical-align: middle;
......@@ -75,54 +86,70 @@
border: 1px solid #dcdcdc;
font-size: 14px;
box-sizing: border-box;
}
.HD_hotelComIntroduce {
}
.HD_hotelComIntroduce {
margin: auto;
height: auto;
border-bottom: 1px solid #dcdcdc;
color: #111111;
}
.HD_hotelComIntroduce span {
}
.HD_hotelComIntroduce span {
display: inline-block;
margin-bottom: 10px;
}
.HD_inTitle {
}
.HD_inTitle {
font-size: 14px;
font-weight: bold;
color: #111111;
margin-bottom: 20px;
}
.HD_ServiceList span {
}
.HD_ServiceList span {
display: inline-block;
margin: 0 30px 10px 0;
white-space: nowrap;
}
.bg-white{
background:#fff!important;
}
.q-py-lg{
}
.bg-white {
background: #fff !important;
}
.q-py-lg {
padding-top: 24px;
padding-bottom: 24px;
}
.column{
}
.column {
flex-direction: column;
}
.row{
}
.row {
display: flex;
flex-wrap: wrap;
}
.q-mb-lg {margin-bottom: 24px;}
.justify-between{justify-content: space-between;}
}
.q-mb-lg {
margin-bottom: 24px;
}
.justify-between {
justify-content: space-between;
}
.q-position-engine{
.q-position-engine {
margin-top: var(--q-pe-top, 0) !important;
margin-left: var(--q-pe-left, 0) !important;
will-change: auto;
}
.scroll{
}
.scroll {
overflow: auto;
}
.q-menu {
}
.q-menu {
position: fixed !important;
display: inline-block;
max-width: 95vw;
......@@ -134,59 +161,72 @@
outline: 0;
max-height: 65vh;
z-index: 6000;
}
.q-pa-md {
}
.q-pa-md {
padding: 16px;
}
.q-pa-mdlr {
padding:0px 16px;
}
.rounded-borders {
}
.q-pa-mdlr {
padding: 0px 16px;
}
.rounded-borders {
border-radius: 4px;
}
.wrap {
}
.wrap {
flex-wrap: wrap;
}
.q-card {
}
.q-card {
box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f;
border-radius: 4px;
vertical-align: top;
background: #fff;
position: relative;
}
}
.q-cardradius {
.q-cardradius {
box-shadow: none;
border-radius: 0px !important;
border:1px solid #dedede;
}
.listBox .q-cardradius{
border-top:0
}
border: 1px solid #dedede;
}
.listBox .q-cardradius {
border-top: 0
}
.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-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-left-radius: inherit;
border-top-right-radius: inherit;
}
.q-card>div {
}
.q-card>div {
border-left: 0;
border-right: 0;
box-shadow: none;
}
.q-mr-md {
}
.q-mr-md {
margin-right: 16px;
}
.no-shadow{
}
.no-shadow {
display: flex;
justify-content: flex-start;
}
.el-card__body{
}
.el-card__body {
height: 285px;
/* display: flex;
max-width: 1200px;
......@@ -194,75 +234,115 @@
display: flex;
flex-wrap: wrap;
overflow: auto;
}
.el-date-editor .el-range-input{
width:80px;
}
.el-range-editor.el-input__inner{
padding:3px 0px !important;
}
.el-range-editor--small .el-range-separator{margin-right:12px !important;}
.el-range-separator{width:20px !important;}
.el-date-editor--daterange.el-input, .el-date-editor--daterange.el-input__inner, .el-date-editor--timerange.el-input, .el-date-editor--timerange.el-input__inner{
width:202px;
}
.el-input .el-input__inner, .el-select .el-input{
border-radius:4px;
height:32px;
}
.HD_Green {
}
.el-date-editor .el-range-input {
width: 80px;
}
.el-range-editor.el-input__inner {
padding: 3px 0px !important;
}
.el-range-editor--small .el-range-separator {
margin-right: 12px !important;
}
.el-range-separator {
width: 20px !important;
}
.el-date-editor--daterange.el-input,
.el-date-editor--daterange.el-input__inner,
.el-date-editor--timerange.el-input,
.el-date-editor--timerange.el-input__inner {
width: 202px;
}
.el-input .el-input__inner,
.el-select .el-input {
border-radius: 4px;
height: 32px;
}
.HD_Green {
background-color: green;
}
.text-white {
}
.text-white {
color: #fff !important;
}
.absolute, .absolute-full, .absolute-center, .absolute-bottom, .absolute-left, .absolute-right, .absolute-top, .absolute-top-left, .absolute-top-right, .absolute-bottom-left, .absolute-bottom-right {
}
.absolute,
.absolute-full,
.absolute-center,
.absolute-bottom,
.absolute-left,
.absolute-right,
.absolute-top,
.absolute-top-left,
.absolute-top-right,
.absolute-bottom-left,
.absolute-bottom-right {
position: absolute;
}
.HD_Black {
}
.HD_Black {
background-color: #000;
}
.q-px-lg {
}
.q-px-lg {
padding-left: 24px;
padding-right: 24px;
}
}
.q-px-lg12 {
.q-px-lg12 {
padding-left: 12px;
padding-right: 12px;
}
.q-pl-lg {
}
.q-pl-lg {
padding-left: 24px;
}
.q-pt-sm {
}
.q-pt-sm {
padding-top: 8px;
}
.q-px-sm {
}
.q-px-sm {
padding-left: 8px;
padding-right: 8px;
}
.q-mb-md {
}
.q-mb-md {
margin-bottom: 16px;
}
.text-right {
}
.text-right {
text-align: right;
}
.q-pt-md {
}
.q-pt-md {
padding-top: 16px;
}
.text-green {
}
.text-green {
color: #4caf50 !important;
}
.text-grey-6 {
}
.text-grey-6 {
color: #9e9e9e !important;
}
.text-red {
}
.text-red {
color: #f44336 !important;
}
.text-333{
}
.text-333 {
color: #333 !important;
}
.q-focus-helper {
}
.q-focus-helper {
position: absolute;
top: 0;
left: 0;
......@@ -271,39 +351,48 @@
pointer-events: none;
border-radius: inherit;
opacity: 0;
transition: background-color .3s cubic-bezier(.25,.8,.5,1), opacity .4s cubic-bezier(.25,.8,.5,1);
}
.q-btn--actionable {
transition: background-color .3s cubic-bezier(.25, .8, .5, 1), opacity .4s cubic-bezier(.25, .8, .5, 1);
}
.q-btn--actionable {
cursor: pointer;
}
.bg-green-6 {
}
.bg-green-6 {
background: #4caf50 !important;
}
.q-separator--horizontal {
}
.q-separator--horizontal {
display: block;
height: 1px;
}
.el-divider--horizontal{
margin:0px !important;
}
.order-show{
}
.el-divider--horizontal {
margin: 0px !important;
}
.order-show {
text-align: center;
color: red;
cursor: pointer;
}
.text-weight-bold {
font-weight: 700;
}
.text-orange {
}
.text-orange {
color: #ff9800 !important;
}
.el-image {
}
.el-image {
position: relative;
display: inline-block;
overflow: hidden;
}
.Img-absolute {
height:13%;
}
.Img-absolute {
height: 13%;
position: absolute;
top: 87%;
left: 0;
......@@ -315,110 +404,135 @@
align-items: center;
justify-content: center;
cursor: pointer;
}
.nd-label_error {
}
.nd-label_error {
color: #bc1a1a;
cursor: pointer;
}
.nd-label_success {
}
.nd-label_success {
color: #36b889;
border-bottom: 1px dotted #36b889;
cursor: pointer;
}
.nd-confirmation{
}
.nd-confirmation {
color: #f90;
cursor: pointer;
}
}
.hover-effect {
transition: background-color 0.3s, opacity 0.3s; /* 平滑过渡效果 */
opacity: 1; /* 初始透明度 */
}
.hover-effect {
transition: background-color 0.3s, opacity 0.3s;
/* 平滑过渡效果 */
opacity: 1;
/* 初始透明度 */
}
.hover-effect:hover {
background-color:rgb(238,241,249); /* 悬停时背景变灰 */
opacity: 0.9; /* 悬停时半透明 */
}
.hover-effect:hover {
background-color: rgb(238, 241, 249);
/* 悬停时背景变灰 */
opacity: 0.9;
/* 悬停时半透明 */
}
.table-list tr, td {
.table-list tr,
td {
border-bottom: 1px solid #ddd;
border-right: 1px solid #ddd;
border-left: 1px solid #ddd;
padding:8px;
border-collapse: collapse; /* 移除单元格之间的间隔 */
}
.table-list tr:first-child td {
padding: 8px;
border-collapse: collapse;
/* 移除单元格之间的间隔 */
}
.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; /* 移除单元格之间的间隔 */
}
.divPrice ul:first-child li {
border-top:1px solid #ddd;
background-color: #f9f9f9; /* 设置背景色 */
}
.divPrice .otherDiv{
text-align:left;
font-size:14px;
}
.nd-label_warning {
padding: 8px;
border-collapse: collapse;
/* 移除单元格之间的间隔 */
}
.divPrice ul:first-child li {
border-top: 1px solid #ddd;
background-color: #f9f9f9;
/* 设置背景色 */
}
.divPrice .otherDiv {
text-align: left;
font-size: 14px;
}
.nd-label_warning {
color: #f90;
border-bottom: 1px dotted #f90;
cursor: pointer;
}
.hotel-info-section__warning {
}
.hotel-info-section__warning {
font-size: 12px;
line-height: 20px;
font-weight: 400;
color: #f90;
margin-left:15px;
}
/deep/.el-timeline-item__wrapper{
top:-16px !important;
}
/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;
}
.PolicyDiv{
line-height:27px;
}
/deep/.PolicyDiv p{
margin-top:15px !important;
}
/deep/.DidaDescriptionDiv p:first-child{
margin-top:0px !important;
}
.Facilities{
white-space: nowrap; /* 不换行 */
overflow: hidden; white-space: nowrap; /* 隐藏 */
text-overflow: ellipsis; /* 显示为省略号 */
width:200px;
float:left;
margin-left: 15px;
}
/deep/.el-timeline-item__wrapper {
top: -16px !important;
}
/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;
}
.PolicyDiv {
line-height: 27px;
}
/deep/.PolicyDiv p {
margin-top: 15px !important;
}
/deep/.DidaDescriptionDiv p:first-child {
margin-top: 0px !important;
}
.Facilities {
white-space: nowrap;
/* 不换行 */
overflow: hidden;
white-space: nowrap;
/* 隐藏 */
text-overflow: ellipsis;
/* 显示为省略号 */
width: 200px;
float: left;
cursor: pointer;
}
}
</style>
<template>
<div class="q-py-lg">
<div class="bg-white q-py-lg column" style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px" >
<div class="row q-px-lg q-mb-lg row justify-between" >
<div class="bg-white q-py-lg column" style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px">
<div class="row q-px-lg q-mb-lg row justify-between">
<div class="row items-center">
<div class="mobile-only row items-center">
<div class="text-weight-bold fz20 ellipsis text-333" style="width: 280px">
{{ DidaHotelDetails.Name_CN }}
</div>
</div>
<div v-if="DidaHotelRoomDetails&&DidaHotelRoomDetails.HotelList&&DidaHotelRoomDetails.HotelList.length>0&&DidaHotelRoomDetails.HotelList[0].LowestPrice">
<span
class="text-orange text-weight-bold fz18 q-pl-lg " >
<div
v-if="DidaHotelRoomDetails&&DidaHotelRoomDetails.HotelList&&DidaHotelRoomDetails.HotelList.length>0&&DidaHotelRoomDetails.HotelList[0].LowestPrice">
<span class="text-orange text-weight-bold fz18 q-pl-lg ">
{{ DidaHotelRoomDetails.HotelList[0].LowestPrice.Currency }}
{{ DidaHotelRoomDetails.HotelList[0].LowestPrice.Value }}
</span>
......@@ -426,19 +540,12 @@
</div>
<div class="q-ml-md" v-if="DidaHotelDetails.StarRating&&DidaHotelDetails.StarRating>0">
<el-rate
v-model="DidaHotelDetails.StarRating"
:max="getPrice(DidaHotelDetails.StarRating)"
size="3em"
disabled
color="orange"
readonly
show-score
/>
<el-rate v-model="DidaHotelDetails.StarRating" :max="getPrice(DidaHotelDetails.StarRating)" size="3em"
disabled color="orange" readonly show-score />
</div>
</div>
</div>
<div class="col q-px-lg q-mb-lg" >
<div class="col q-px-lg q-mb-lg">
<div class="row nowrap">
<i class="text-grey-13 q-mr-xs el-icon-location-outline" name="place" size="xs"></i>
<span class="col fz14 text-blick text-333">{{DidaHotelDetails.Address_CN }}</span>
......@@ -446,54 +553,66 @@
</div>
<div class="col q-px-lg" >
<div class="col q-px-lg">
<div class="row nowrap">
<i class="text-grey-13 q-mr-xs el-icon-phone" name="place" size="xs" style="color:#c0c4cc;"></i>
<span class="col fz14 text-blick text-333">{{ DidaHotelDetails.Telephone }}</span>
</div>
</div>
<div class="bg-white column" style="max-width: 1366px; min-width: 375px; overflow: hidden!important; margin: auto;width:1300px;padding-top:24px;" >
<div class="bg-white column"
style="max-width: 1366px; min-width: 375px; overflow: hidden!important; margin: auto;width:1300px;padding-top:24px;">
<div class="row q-px-lg q-mb-lg row justify-between" style="width:100%;">
<div style="width:60%;position: relative;" class="row">
<div style="position: relative;" class="row">
<template v-if="DidaHotelImg&&DidaHotelImg.length==2">
<div style="width:50%;height:100%;" class="row" >
<div class="row rounded-borders relative-position" style="margin-right: 0.5%; overflow: hidden;height:50%:">
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[0]" :preview-src-list="DidaHotelImg">
<div style="width:50%;height:100%;" class="row">
<div class="row rounded-borders relative-position"
style="margin-right: 0.5%; overflow: hidden;height:50%:">
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[0]"
:preview-src-list="DidaHotelImg">
</el-image>
</div>
</div>
<div style="width:50%;height:100%;" class="row">
<div class="row rounded-borders relative-position" style="margin-right: 0.5%;height:50%: overflow: hidden;">
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[1]"
:preview-src-list="DidaHotelImg" fit="cover">
<div class="row rounded-borders relative-position"
style="margin-right: 0.5%;height:50%: overflow: hidden;">
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[1]" :preview-src-list="DidaHotelImg"
fit="cover">
</el-image>
</div>
</div>
</template>
<template v-else>
<div :style="DidaHotelImg.length==1?' width:100%;':' width:60%;'" class="row">
<div class="row rounded-borders relative-position" style="margin-right: 0.5%;position: relative; overflow: hidden;" v-if="DidaHotelImg&&DidaHotelImg.length>0" >
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[0]" :preview-src-list="DidaHotelImg">
<div class="row rounded-borders relative-position"
style="margin-right: 0.5%;position: relative; overflow: hidden;"
v-if="DidaHotelImg&&DidaHotelImg.length>0">
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[0]"
:preview-src-list="DidaHotelImg">
</el-image>
</div>
</div>
<div style="width:40%;" class="row" v-if="DidaHotelImg&&DidaHotelImg.length>2">
<div class="row rounded-borders relative-position" style="margin-right: 0.5%;margin-bottom:1%;position: relative; overflow: hidden;">
<div class="row rounded-borders relative-position"
style="margin-right: 0.5%;margin-bottom:1%;position: relative; overflow: hidden;">
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[1]" :preview-src-list="DidaHotelImg">
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[1]"
:preview-src-list="DidaHotelImg">
</el-image>
</div>
<div class="row rounded-borders relative-position" style="margin-right: 0.5%; position: relative;overflow: hidden;">
<div class="row rounded-borders relative-position"
style="margin-right: 0.5%; position: relative;overflow: hidden;">
<div class="Img-absolute">
<div class="Img-absolute-box ">
<div class="fz20 text-weight-bold" style="color:white;"><span style="margin-right:5px;">+</span><span>{{DidaHotelImg.length-3}}</span></div>
<div class="fz20 text-weight-bold" style="color:white;"><span
style="margin-right:5px;">+</span><span>{{DidaHotelImg.length-3}}</span></div>
</div>
</div>
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[2]" :preview-src-list="DidaHotelImg">
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[2]"
:preview-src-list="DidaHotelImg">
</el-image>
</div>
</div>
......@@ -510,7 +629,7 @@
</div>
<!-- 地图 -->
</div>
</div>
</div>
<div class="rounded-borders bg-white row items-center q-pb-md" style="margin-top:20px;width: 1300px;">
......@@ -518,45 +637,28 @@
<el-row>
<el-col :span="5" :gutter="35">
<el-form-item :label="$t('pub.date')">
<el-date-picker
size="small"
v-model="dateList"
type="daterange"
value-format="yyyy-MM-dd"
:picker-options="beforeCheck"
range-separator="-"
start-placeholder="入住时间"
end-placeholder="退房时间">
<el-date-picker size="small" v-model="dateList" type="daterange" value-format="yyyy-MM-dd"
:picker-options="beforeCheck" range-separator="-" start-placeholder="入住时间" end-placeholder="退房时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="2" :gutter="35" >
<el-form-item label="客房数" >
<el-select size="small" v-model="room" placeholder="请选择客房数" @change="getRoomList" style="width:70px;bolder:1px solid #DCDFE6;border-radius:4px;">
<el-option
v-for="item in roomList"
:key="item.Id"
:label="item.Id"
:value="item.Id">
<el-col :span="2" :gutter="35">
<el-form-item label="客房数">
<el-select size="small" v-model="room" placeholder="请选择客房数" @change="getRoomList"
style="width:70px;bolder:1px solid #DCDFE6;border-radius:4px;">
<el-option v-for="item in roomList" :key="item.Id" :label="item.Id" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
</el-form-item>
</el-form-item>
</el-col>
<el-col :span="3" :gutter="35" style="margin-left:3%;margin-top:4px;">
<el-popover
class=""
style="z-index: 0; box-shadow: 0 0 50px #ddd !important"
placement="right"
<el-popover class="" style="z-index: 0; box-shadow: 0 0 50px #ddd !important" placement="right"
trigger="click">
<el-card class="" style="max-width: 1222px;display: flex;">
<div
class="q-mr-md"
v-for="(item, index) in msg.searchroomGroup"
:key="index"
<div class="q-mr-md" v-for="(item, index) in msg.searchroomGroup" :key="index"
style="min-width: 150px; display: inline-block;line-height:35px;"
:style="index>3?'margin-top:20px;':''"
>
:style="index>3?'margin-top:20px;':''">
<div class="">
客房{{ index + 1 }}
</div>
......@@ -565,11 +667,7 @@
成人
</div>
<el-select v-model="item.numberOfAdults" placeholder="请选择成人数" @change="setPeopleNum()">
<el-option
v-for="item in adultList"
:key="item.Id"
:label="item.Id"
:value="item.Id">
<el-option v-for="item in adultList" :key="item.Id" :label="item.Id" :value="item.Id">
</el-option>
</el-select>
</div>
......@@ -578,11 +676,7 @@
儿童
</div>
<el-select v-model="item.numberOfChildren" placeholder="请选择儿童数" @change="setPeopleNum()">
<el-option
v-for="item in childrenList"
:key="item.Id"
:label="item.Id"
:value="item.Id">
<el-option v-for="item in childrenList" :key="item.Id" :label="item.Id" :value="item.Id">
</el-option>
</el-select>
</div>
......@@ -591,22 +685,14 @@
儿童年龄
</div>
<el-select v-model="item.ChildAgeDetails" placeholder="请选择儿童年龄">
<el-option
v-for="item in childrenAgeList"
:key="item.Id"
:label="item.Id"
:value="item.Id">
<el-option v-for="item in childrenAgeList" :key="item.Id" :label="item.Id" :value="item.Id">
</el-option>
</el-select>
</div>
</div>
</el-card>
<el-button size="small"
unelevated
class="bg-white hover q-px-xs q-py-sm q-ml-xs text-grey-6"
icon="person"
slot="reference"
>
<el-button size="small" unelevated class="bg-white hover q-px-xs q-py-sm q-ml-xs text-grey-6"
icon="person" slot="reference">
<div class="text-dark q-ml-xs">
{{ auditNum }}成人
<span class="q-px-sm">.</span>
......@@ -614,40 +700,46 @@
儿童
</div>
</el-button>
</el-popover>
</el-popover>
</el-col>
<el-col :span="4" :gutter="35" style="margin-top:7px;">
<div style="color:red;">超过13岁视为成人处理</div>
</el-col>
<el-col :span="2" :gutter="35" style="margin-left:-4%;margin-top:7px;float:right;">
<el-button type="primary" size="small" plain @click="getDiDaPriceSearchList()" :loading="loading">检索</el-button>
<el-button type="primary" size="small" plain @click="getDiDaPriceSearchList()" :loading="loading">检索
</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="row q-px-lg q-mb-lg row justify-between q-pa-mdlr text-333" style="width:100%;">
<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
style="width:100%;background:#e1f5fe!important;font-weight:700;border-radius:4px;height:53px;display:flex;padding-left:10px; align-items: center;">
符合条件的房型</div>
</div>
<!-- 价格信息循环开始 -->
<!-- {{DidaHotelRoomDetails }} {{DidaHotelRoomDetails.HotelList}} {{DidaHotelRoomDetails.HotelList.length}} {{DidaHotelRoomDetails.HotelList[0].GroupRatePlanList}} {{DidaHotelRoomDetails.HotelList[0].GroupRatePlanList.length}} -->
<!-- 价格信息循环开始 -->
<!-- {{DidaHotelRoomDetails }} {{DidaHotelRoomDetails.HotelList}} {{DidaHotelRoomDetails.HotelList.length}} {{DidaHotelRoomDetails.HotelList[0].GroupRatePlanList}} {{DidaHotelRoomDetails.HotelList[0].GroupRatePlanList.length}} -->
<div class="q-my-md q-px-lg listBox" style="width:100%;" >
<div class="q-card row " style="border:1px solid #dedede; box-shadow:none;border-radius:4px 4px 0px 0px; background-color: #f1f1f1;">
<div class="col q-pa-sm q-pr-lg col-3 row no-wrap justify-between" style="border-right: 1px solid rgb(238, 238, 238);width:15%;height:auto;">
<div class="q-my-md q-px-lg listBox" style="width:100%;">
<div class="q-card row "
style="border:1px solid #dedede; box-shadow:none;border-radius:4px 4px 0px 0px; background-color: #f1f1f1;">
<div class="col q-pa-sm q-pr-lg col-3 row no-wrap justify-between"
style="border-right: 1px solid rgb(238, 238, 238);width:15%;height:auto;">
<span class="text-grey-6 q-px-sm" style="margin-top:4px;">全部房型</span>
</div>
<div class="col" style="width:85%;" >
<div >
<div class="relative-position" style="clear:both; position:relative;height:auto;"><!---->
<div class="col" style="width:85%;">
<div>
<div class="relative-position" style="clear:both; position:relative;height:auto;">
<!---->
<div class="col q-ml-lg q-pt-lg q-pb-md ">
<div class="col row items-center no-wrap">
<div class="col-2 text-grey-6" style="line-height: 30px;height: 30px;height: auto; width:21%;" >
<div class="col-2 text-grey-6" style="line-height: 30px;height: 30px;height: auto; width:21%;">
</div>
<div class="col-2 text-grey-6" style="line-height: 30px;height: 30px;height: auto; width:21%;" >
<div class="col-2 text-grey-6" style="line-height: 30px;height: 30px;height: auto; width:21%;">
<span class="text-grey-6 " style="margin-top:4px;">床型/餐型
<el-popover placement="top" trigger="hover" content="如遇房型名称、与床型、餐型信息不一致,请以此为准。">
......@@ -655,15 +747,16 @@
</el-popover>
</span>
</div>
<div class="col-2 text-grey-6" style="line-height: 30px;height: 30px;height: auto; width:26%;" >
<div class="col-2 text-grey-6" style="line-height: 30px;height: 30px;height: auto; width:26%;">
<span class="text-grey-6 " style="margin-top:4px;">政策</span>
</div>
<div class="col-2 text-grey-6" style="line-height: 30px;height: 30px;height: auto; width:22%;" >
<div class="col-2 text-grey-6" style="line-height: 30px;height: 30px;height: auto; width:22%;">
<span class="text-grey-6 " style="margin-top:4px;">价格/间/夜</span>
</div>
<div class="row no-wrap justify-end items-center" style="line-height: 30px;height: 30px;height: auto;width:10%; " >
<div class="row no-wrap justify-end items-center"
style="line-height: 30px;height: 30px;height: auto;width:10%; ">
<span class="text-grey-6 " style="margin-top:4px;">预订</span>
</div>
......@@ -676,11 +769,14 @@
</div>
<template v-if="DidaHotelRoomDetails&&DidaHotelRoomDetails.HotelList&&DidaHotelRoomDetails.HotelList.length>0&&DidaHotelRoomDetails.HotelList[0].GroupRoomTypeList&&DidaHotelRoomDetails.HotelList[0].GroupRoomTypeList.length>0 " >
<template
v-if="DidaHotelRoomDetails&&DidaHotelRoomDetails.HotelList&&DidaHotelRoomDetails.HotelList.length>0&&DidaHotelRoomDetails.HotelList[0].GroupRoomTypeList&&DidaHotelRoomDetails.HotelList[0].GroupRoomTypeList.length>0 ">
<div v-loading="loading">
<div class="q-card row q-cardradius " v-for="(item, index) in DidaHotelRoomDetails.HotelList[0].GroupRoomTypeList">
<div class="col q-pa-sm q-pr-lg col-3 row no-wrap justify-between" style="border-right: 1px solid rgb(238, 238, 238);width:15%;height:auto;">
<div class="q-card row q-cardradius "
v-for="(item, index) in DidaHotelRoomDetails.HotelList[0].GroupRoomTypeList">
<div class="col q-pa-sm q-pr-lg col-3 row no-wrap justify-between"
style="border-right: 1px solid rgb(238, 238, 238);width:15%;height:auto;">
<div class="col column q-pl-xs">
<div class=" q-pt-md q-px-sm text-333"> {{ item.RoomName_CN}}</div>
......@@ -688,71 +784,79 @@
</div>
</div>
<div class="col " style="width:85%;" >
<div v-for="(subItem, subIndex) in item.RatePlanList"
:key="subIndex"
<div class="col " style="width:85%;">
<div v-for="(subItem, subIndex) in item.RatePlanList" :key="subIndex"
v-show="subIndex < (isShow === index ? item.RatePlanList.length : 3)">
<el-divider v-if="subIndex != 0" ></el-divider>
<div class="relative-position hover-effect" style="clear:both; position:relative;height:auto;"><!---->
<el-divider v-if="subIndex != 0"></el-divider>
<div class="relative-position hover-effect" style="clear:both; position:relative;height:auto;">
<!---->
<div class="col q-pt-sm row items-center no-wrap">
<div class="col-3 q-pl-lg " style="line-height: 30px;height: 30px;padding-top: 30px; height: auto; width: 21%;">
<template v-if="subItem.IsOnRequest"><el-popover
placement="top"
title=""
trigger="hover"
content="限时内未确认,系统将为您自动取消订单,并返还您的额度或现金">
<div class="col-3 q-pl-lg "
style="line-height: 30px;height: 30px;padding-top: 30px; height: auto; width: 21%;">
<template v-if="subItem.IsOnRequest">
<el-popover placement="top" title="" trigger="hover" content="限时内未确认,系统将为您自动取消订单,并返还您的额度或现金">
<span slot="reference" class="nd-confirmation">0.5小时内确认</span>
</el-popover></template>
</el-popover>
</template>
<template v-else><span class="text-333">立即确认</span></template>
</div>
<div class="col-2 text-grey-6" style="line-height: 30px;height: 30px;padding-top: 30px;height: auto; width: 21%;" >
<div class=" row q-mb-md" style="box-shadow: none" >
<div class="col-2 text-grey-6"
style="line-height: 30px;height: 30px;padding-top: 30px;height: auto; width: 21%;">
<div class=" row q-mb-md" style="box-shadow: none">
<div class=" ">
<span class="text-333"> {{getRoomType(subItem.BedType)}}</span>
<p>
<template v-if="subItem.PriceList&&subItem.PriceList.length>0">
<span :class="subItem.PriceList[0].MealAmount>0?'text-green':'' " >
{{getMealtype(subItem.PriceList[0].MealType)}} {{subItem.PriceList[0].MealAmount>0?('×'+subItem.PriceList[0].MealAmount+'份'):''}}
<span :class="subItem.PriceList[0].MealAmount>0?'text-green':'' ">
{{getMealtype(subItem.PriceList[0].MealType)}}
{{subItem.PriceList[0].MealAmount>0?('×'+subItem.PriceList[0].MealAmount+'份'):''}}
</span>
</template>
</p>
</div>
</div>
</div>
<div class=" row q-mb-md" style="box-shadow: none;line-height: 30px;height: 30px;padding-top: 30px;width:26%;">
<template v-if="subItem.RatePlanCancellationPolicyList && subItem.RatePlanCancellationPolicyList != null">
<div class=" row q-mb-md"
style="box-shadow: none;line-height: 30px;height: 30px;padding-top: 30px;width:26%;">
<template
v-if="subItem.RatePlanCancellationPolicyList && subItem.RatePlanCancellationPolicyList != null">
<div >
<div>
<div class="column q-pl-md q-pr-md">
<span class="q-pt-md " v-if="getIsCancella(subItem.RatePlanCancellationPolicyList,subItem.TotalPrice)>0">
<el-popover
class="CancellationPolicyList"
width="400"
placement="top"
trigger="click">
<span class="q-pt-md "
v-if="getIsCancella(subItem.RatePlanCancellationPolicyList,subItem.TotalPrice)>0">
<el-popover class="CancellationPolicyList" width="400" placement="top" trigger="click">
<div style="display: block; line-height: 30px; height: auto;">
<div v-for="( itemCancella, index1 ) in subItem.RatePlanCancellationPolicyList" :key="index1">
<div v-for="( itemCancella, index1 ) in subItem.RatePlanCancellationPolicyList"
:key="index1">
<p v-if="index1==0">{{ getformatDateStr(itemCancella.FromDate) }}之前免费取消;</p>
<div v-if="itemCancella.Amount==subItem.TotalPrice">
<p>{{ getformatDateStr(itemCancella.FromDate) }}起不可取消,取消将收取订单全额费用;</p>
</div>
<div v-else>
<p>{{ getformatDateStr(itemCancella.FromDate) }}
<span v-if="index1!=(subItem.RatePlanCancellationPolicyList.length-1)">- {{ getformatDateStr(subItem.RatePlanCancellationPolicyList[index1+1].FromDate) }} 之间</span>
<span v-if="index1!=(subItem.RatePlanCancellationPolicyList.length-1)">-
{{ getformatDateStr(subItem.RatePlanCancellationPolicyList[index1+1].FromDate) }}
之间</span>
取消,收费 {{subItem.Currency}}{{getPrice(itemCancella.Amount)}};</p>
</div>
</div>
</div>
<span slot="reference" >
<span class="nd-label_success" v-if="getIsCancella(subItem.RatePlanCancellationPolicyList,subItem.TotalPrice)==1">限时取消</span>
<span slot="reference">
<span class="nd-label_success"
v-if="getIsCancella(subItem.RatePlanCancellationPolicyList,subItem.TotalPrice)==1">限时取消</span>
<span v-else class="nd-label_warning">付费取消</span>
</span>
</el-popover>
<p v-if="getIsCancella(subItem.RatePlanCancellationPolicyList,subItem.TotalPrice)==1">{{ getformatDateStr(subItem.RatePlanCancellationPolicyList[subItem.RatePlanCancellationPolicyList.length-1].FromDate) }}之前免费取消;</p>
<p v-else>{{ getformatDateStr(subItem.RatePlanCancellationPolicyList[subItem.RatePlanCancellationPolicyList.length-1].FromDate) }}前收费{{subItem.Currency}}{{getPrice(subItem.RatePlanCancellationPolicyList[subItem.RatePlanCancellationPolicyList.length>1? subItem.RatePlanCancellationPolicyList.length-2:subItem.RatePlanCancellationPolicyList.length-1].Amount)}}; </p>
<p v-if="getIsCancella(subItem.RatePlanCancellationPolicyList,subItem.TotalPrice)==1">
{{ getformatDateStr(subItem.RatePlanCancellationPolicyList[subItem.RatePlanCancellationPolicyList.length-1].FromDate) }}之前免费取消;
</p>
<p v-else>
{{ getformatDateStr(subItem.RatePlanCancellationPolicyList[subItem.RatePlanCancellationPolicyList.length-1].FromDate) }}前收费{{subItem.Currency}}{{getPrice(subItem.RatePlanCancellationPolicyList[subItem.RatePlanCancellationPolicyList.length>1? subItem.RatePlanCancellationPolicyList.length-2:subItem.RatePlanCancellationPolicyList.length-1].Amount)}};
</p>
</span>
<span v-else class="text-right q-pt-md nd-label_error">不可退改</span>
</div>
......@@ -766,60 +870,80 @@
</template>
</div>
<div class="row no-wrap justify-end items-center " style="line-height: 30px;height: 30px;padding-top: 8px;width:22%;">
<div class="row no-wrap justify-end items-center "
style="line-height: 30px;height: 30px;padding-top: 8px;width:22%;">
<div class="row no-wrap items-center q-pr-lg">
<div style="cursor: pointer;width:100%;">
<el-popover
placement="top"
trigger="click" >
<div v-loading="confirmLoading" style="display: block; line-height: 15px;min-height: 150px; height: auto;font-size:12px;text-align:center;" class="divPrice"
>
<table class="table-list" cellspacing="0" v-if="roomRateDetails&&roomRateDetails.RatePlanList&&roomRateDetails.RatePlanList.length>0">
<el-popover placement="top" trigger="click">
<div v-loading="confirmLoading"
style="display: block; line-height: 15px;min-height: 150px; height: auto;font-size:12px;text-align:center;"
class="divPrice">
<table class="table-list" cellspacing="0"
v-if="roomRateDetails&&roomRateDetails.RatePlanList&&roomRateDetails.RatePlanList.length>0">
<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">
{{getWeek(itemp.StayDate)}}
</td>
</tr>
<tr>
<td v-for="( itemp, indexp ) in roomRateDetails.RatePlanList[0].PriceList" :key="indexp"><span class="text-red">{{subItem.Currency }} {{getPrice(itemp.Price) }}</span>
<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 >
<span :class="itemp.MealAmount>0?'text-green':'' " >
{{getMealtype(itemp.MealType)}} {{itemp.MealAmount>0?('×'+itemp.MealAmount+'份'):''}}
<template>
<span :class="itemp.MealAmount>0?'text-green':'' ">
{{getMealtype(itemp.MealType)}}
{{itemp.MealAmount>0?('×'+itemp.MealAmount+'份'):''}}
</span>
</template></p>
</td>
</tr>
<tr style="border:none;">
<td style="border:none;font-size: 14px;text-align:left;" :colspan="roomRateDetails.RatePlanList[0].PriceList.length">房型: {{item.RoomName_CN.length==0?item.RoomName:item.RoomName_CN}}</td>
<td style="border:none;font-size: 14px;text-align:left;"
:colspan="roomRateDetails.RatePlanList[0].PriceList.length">房型:
{{item.RoomName_CN.length==0?item.RoomName:item.RoomName_CN}}</td>
</tr>
<tr style="border:none;">
<td style="border:none;font-size: 14px;text-align:left;" :colspan="roomRateDetails.RatePlanList[0].PriceList.length">床型: {{getRoomType(subItem.BedType)}}</td>
<td style="border:none;font-size: 14px;text-align:left;"
:colspan="roomRateDetails.RatePlanList[0].PriceList.length">床型:
{{getRoomType(subItem.BedType)}}</td>
</tr>
<tr style="border:none;">
<td style="border:none;font-size: 14px;text-align:left;" :colspan="roomRateDetails.RatePlanList[0].PriceList.length">每间每晚均价: {{subItem.Currency }}{{getAveragePrice(roomRateDetails.RatePlanList[0].PriceList)}}</td>
<td style="border:none;font-size: 14px;text-align:left;"
:colspan="roomRateDetails.RatePlanList[0].PriceList.length">每间每晚均价:
{{subItem.Currency }}{{getAveragePrice(roomRateDetails.RatePlanList[0].PriceList)}}
</td>
</tr>
<tr style="border:none;">
<td style="border:none;font-size: 14px;text-align:left;" :colspan="roomRateDetails.RatePlanList[0].PriceList.length">总价: <span class="text-red">{{subItem.Currency }} {{getPrice(roomRateDetails.RatePlanList[0].TotalPrice)}}</span> 1间</td>
<td style="border:none;font-size: 14px;text-align:left;"
:colspan="roomRateDetails.RatePlanList[0].PriceList.length">总价: <span
class="text-red">{{subItem.Currency }}
{{getPrice(roomRateDetails.RatePlanList[0].TotalPrice)}}</span> 1间</td>
</tr>
</table>
</div>
<span slot="reference" style="border-bottom: 1px dotted #f44336;" @click="getDiDaPriceConfirm(index,subIndex,subItem)">
<span class="text-grey-6 text-red" style="font-weight: bold;font-size: 16px;">{{ subItem.Currency }}</span>
<span class="fz20 text-red m" style="font-weight: bold;font-size: 18px;"> {{ getPrice(subItem.TotalPrice) }}</span>
<span slot="reference" style="border-bottom: 1px dotted #f44336;"
@click="getDiDaPriceConfirm(index,subIndex,subItem)">
<span class="text-grey-6 text-red"
style="font-weight: bold;font-size: 16px;">{{ subItem.Currency }}</span>
<span class="fz20 text-red m" style="font-weight: bold;font-size: 18px;">
{{ getPrice(subItem.TotalPrice) }}</span>
</span>
</el-popover>
</div>
<div style="font-size:12px !important;">
<span class="text-grey-6 " >总价 {{subItem.Currency }}{{getPrice(subItem.TotalPrice)}}</span>
<span class="text-grey-6 ">总价 {{subItem.Currency }}{{getPrice(subItem.TotalPrice)}}</span>
</div>
</div>
</div>
<div class="row no-wrap justify-end items-center " style="line-height: 30px;height: 30px;padding-top: 30px;width:10%;">
<el-button :type="subItem.IsSellOut==0?'primary':'info'" :disabled="subItem.IsSellOut==1 " @click="goUrl('HotelSure',subItem)">立即预订</el-button>
<div class="row no-wrap justify-end items-center "
style="line-height: 30px;height: 30px;padding-top: 30px;width:10%;">
<el-button :type="subItem.IsSellOut==0?'primary':'info'" :disabled="subItem.IsSellOut==1 "
@click="goUrl('HotelSure',subItem)">立即预订</el-button>
</div>
</div>
......@@ -828,11 +952,8 @@
</div>
<div
class="order-show" style="border-top:1px solid rgb(238, 238, 238);"
@click="showMore(index)"
v-if="item.RatePlanList.length > 3"
>
<div class="order-show" style="border-top:1px solid rgb(238, 238, 238);" @click="showMore(index)"
v-if="item.RatePlanList.length > 3">
<span class="oder-show-content " :class="isShow===index?'el-icon-caret-top':'el-icon-caret-bottom'">{{
isShow === index ? "收起" : ("更多"+(item.RatePlanList.length-3)+"种价格")
}}</span>
......@@ -855,9 +976,11 @@
<div class="row q-px-lg q-mb-lg row justify-between " style="width:100%;">
<el-card style="width:100%;">
<div style=" border-bottom: 1px solid #ddd; width:100%;padding-bottom:8px;font-size:16px;" class="text-weight-bold"><b>酒店详情</b></div>
<div style=" border-bottom: 1px solid #ddd; width:100%;padding-bottom:8px;font-size:16px;"
class="text-weight-bold"><b>酒店详情</b></div>
<template v-if="DidaDescription&&DidaDescription.length>0">
<div class="q-pt-sm q-px-lg12 PolicyDiv DidaDescriptionDiv" v-for="(itemDe, indexDe) in DidaDescription" style="line-height:27px;" v-html="itemDe.HotelDescription_CN">
<div class="q-pt-sm q-px-lg12 PolicyDiv DidaDescriptionDiv" v-for="(itemDe, indexDe) in DidaDescription"
style="line-height:27px;" v-html="itemDe.HotelDescription_CN">
</div>
</template>
<template v-else>
......@@ -873,22 +996,21 @@
<div class="row q-px-lg q-mb-lg row justify-between " style="width:100%;">
<el-card style="width:100%;">
<div style="border-bottom: 1px solid #ddd; width:100%;padding-bottom:8px;font-size:16px;" class="text-weight-bold"><b>酒店政策</b></div>
<div style="border-bottom: 1px solid #ddd; width:100%;padding-bottom:8px;font-size:16px;"
class="text-weight-bold"><b>酒店政策</b></div>
<template v-if="Policy&&Policy.length>0">
<div v-for="(itemp, indexp) in Policy" style="width:100%;" class="q-px-lg12" >
<div v-for="(itemp, indexp) in Policy" style="width:100%;" class="q-px-lg12">
<div v-if="itemp.Type=='CheckInOut'" style="margin-top:15px;">
<el-timeline>
<el-timeline-item
v-for="(itempo, indexpo) in itemp.List"
:key="indexpo"
color="#33B3FF"
>
<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>
</el-timeline>
</div>
<template v-else>
<div class="q-pt-sm PolicyDiv" :style="indexp==1?'':'margin-top:15px'" v-if="itempo.Description_CN&&itempo.Description_CN.length>0" v-for="(itempo, indexpo) in itemp.List" v-html="itempo.Description_CN"> </div>
<div class="q-pt-sm PolicyDiv" :style="indexp==1?'':'margin-top:15px'"
v-if="itempo.Description_CN&&itempo.Description_CN.length>0" v-for="(itempo, indexpo) in itemp.List"
v-html="itempo.Description_CN"> </div>
</template>
</div>
</template>
......@@ -904,11 +1026,13 @@
<div class="rounded-borders bg-white row items-center q-pb-md" style="width: 1300px;">
<div class="row q-px-lg q-mb-lg row justify-between " style="width:100%;">
<el-card style="width:100%;padding-bottom:20px;">
<div style=" border-bottom: 1px solid #ddd; width:100%;padding-bottom:8px;font-size:16px;" class="text-weight-bold"><b>酒店设施</b></div>
<div style=" border-bottom: 1px solid #ddd; width:100%;padding-bottom:8px;font-size:16px;"
class="text-weight-bold"><b>酒店设施</b></div>
<template v-if="Facilities&&Facilities.length>0">
<div class="q-pt-sm q-px-lg12 Facilities" v-for="(itemf, indexf) in Facilities" v-if="itemf.Description_CN&&itemf.Description_CN.length>0" style="line-height:27px;" >
<div class="q-pt-sm q-px-lg12 Facilities" v-for="(itemf, indexf) in Facilities"
v-if="itemf.Description_CN&&itemf.Description_CN.length>0" style="line-height:27px;">
<el-tooltip :content="itemf.Description_CN" placement="bottom" effect="light">
<span >{{itemf.Description_CN}}</span>
<span>{{itemf.Description_CN}}</span>
</el-tooltip>
</div>
</template>
......@@ -924,11 +1048,14 @@
<div class="row q-px-lg q-mb-lg row justify-between " style="width:100%;">
<el-card style="width:100%;padding-bottom:20px;">
<div style=" border-bottom: 1px solid #ddd; width:100%;padding-bottom:8px;font-size:16px;" class="text-weight-bold"><b>房间设施</b><span class="hotel-info-section__warning">酒店的全部客房设施信息仅供参考,可能与您入住的房型不同而略有差异,请知晓</span></div>
<div style=" border-bottom: 1px solid #ddd; width:100%;padding-bottom:8px;font-size:16px;"
class="text-weight-bold"><b>房间设施</b><span
class="hotel-info-section__warning">酒店的全部客房设施信息仅供参考,可能与您入住的房型不同而略有差异,请知晓</span></div>
<template v-if="RoomFacilities&&RoomFacilities.length>0">
<div class="q-pt-sm q-px-lg12 Facilities" v-for="(itemf, indexf) in RoomFacilities" v-if="itemf.Description_CN&&itemf.Description_CN.length>0" style="line-height:27px;" >
<div class="q-pt-sm q-px-lg12 Facilities" v-for="(itemf, indexf) in RoomFacilities"
v-if="itemf.Description_CN&&itemf.Description_CN.length>0" style="line-height:27px;">
<el-tooltip :content="itemf.Description_CN" placement="bottom" effect="light">
<span >{{itemf.Description_CN}}</span>
<span>{{itemf.Description_CN}}</span>
</el-tooltip>
</div>
</template>
......@@ -943,62 +1070,85 @@
</div>
</template>
<script>
export default {
export default {
data() {
return {
startNum:0,
startNum: 0,
isShow: "",
EmployeeId: 0,
RB_Group_Id:'',
companyList:[],
confirmPriceList:[],
roomRateDetails:[],
confirmLoading:false,
dateList:[],
RB_Group_Id: '',
companyList: [],
confirmPriceList: [],
roomRateDetails: [],
confirmLoading: false,
dateList: [],
canHide: false, //更多筛选
theRooms: [] , //客房下拉
theRooms: [], //客房下拉
room: 1, //客房数
auditNum: 2,
childNum: 0 ,
adultList: [] , //成人下拉
childrenList: [] , //儿童下拉
childrenAgeList: [] , //儿童年龄下拉
childNum: 0,
adultList: [], //成人下拉
childrenList: [], //儿童下拉
childrenAgeList: [], //儿童年龄下拉
isShowPop: false, //房间
SimilarList: [] ,
RoomTypeList: [] , //房间等级
HotelRoomTypes: [] , //散客房间类型
ScatMeaList: [] , //散客房间餐型
HotelMealTypes:[],//餐食类型
DidaHotelDetails:{},
DidaDescription:[],//酒店简介
Facilities:[],//酒店设施
RoomFacilities:[],//房间设施
Policy:[],//酒店政策
DidaHotelImg:[],
SimilarList: [],
RoomTypeList: [], //房间等级
HotelRoomTypes: [], //散客房间类型
ScatMeaList: [], //散客房间餐型
HotelMealTypes: [], //餐食类型
DidaHotelDetails: {},
DidaDescription: [], //酒店简介
Facilities: [], //酒店设施
RoomFacilities: [], //房间设施
Policy: [], //酒店政策
DidaHotelImg: [],
WeekList: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"], //周一至周日
checkInWeek: "", //周一至周日
DidaHotelRoomDetails:{},
DidaHotelRoomDetails: {},
msg: {
hotelId:0,
sort:0,
displayFrom:1,
CheckOutDate:"",
roomOptionCd:"",
CheckInDate:"",
searchroomGroup:[
{roomNum:1,numberOfAdults:2,numberOfChildren:0, ChildAgeDetails:""}
],
auditNum:2,
childNum:0,
hotelId: 0,
sort: 0,
displayFrom: 1,
CheckOutDate: "",
roomOptionCd: "",
CheckInDate: "",
searchroomGroup: [{
roomNum: 1,
numberOfAdults: 2,
numberOfChildren: 0,
ChildAgeDetails: ""
}],
auditNum: 2,
childNum: 0,
},
hotelMsg:{
hotelId:0,
hotelImageSize:5,
photoGalleryGetFlg:1,
groupBookingFlg:1,
hotelMsg: {
hotelId: 0,
hotelImageSize: 5,
photoGalleryGetFlg: 1,
groupBookingFlg: 1,
},
dataList: [],
roomList:[{Id:1},{Id:2},{Id:3},{Id:4},{Id:5},{Id:6},{Id:7},{Id:8},{Id:9},{Id:10}],
roomList: [{
Id: 1
}, {
Id: 2
}, {
Id: 3
}, {
Id: 4
}, {
Id: 5
}, {
Id: 6
}, {
Id: 7
}, {
Id: 8
}, {
Id: 9
}, {
Id: 10
}],
loading: false,
beforeCheck: {
disabledDate: time => {
......@@ -1024,16 +1174,32 @@ export default {
};
},
methods: {
goUrl(url,row) {
if(this.dateList&&this.dateList.length>0){
this.msg.CheckInDate=this.dateList[0];
this.msg.CheckOutDate=this.dateList[1];
goUrl(url, row) {
if (this.dateList && this.dateList.length > 0) {
this.msg.CheckInDate = this.dateList[0];
this.msg.CheckOutDate = this.dateList[1];
} else {
this.msg.CheckInDate = '';
this.msg.CheckOutDate = '';
}
else{
this.msg.CheckInDate='';
this.msg.CheckOutDate='';
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: '道旅酒店预定'
}
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,40 +1251,40 @@ export default {
},
getDidaHotelDetails: function () {
this.loading = true
this.apipost('dmc_post_GetDidaHotelDetails', this.hotelMsg, res=>{
this.apipost('dmc_post_GetDidaHotelDetails', this.hotelMsg, res => {
this.loading = false
if (res.data.resultCode == 1) {
this.DidaHotelDetails = res.data.data
this.initMap(this.DidaHotelDetails.Longitude, this.DidaHotelDetails.Latitude, this.DidaHotelDetails.Name_CN)
if(this.DidaHotelDetails.StarRating){
this.startNum= Math.ceil(this.DidaHotelDetails.StarRating);
this.initMap(this.DidaHotelDetails.Longitude, this.DidaHotelDetails.Latitude, this.DidaHotelDetails
.Name_CN)
if (this.DidaHotelDetails.StarRating) {
this.startNum = Math.ceil(this.DidaHotelDetails.StarRating);
}
}
}, null)
},
getDiDaPriceSearchList() {
this.loading = true
if(this.dateList&&this.dateList.length>0){
this.msg.CheckInDate=this.dateList[0];
this.msg.CheckOutDate=this.dateList[1];
}
else{
this.msg.CheckInDate='';
this.msg.CheckOutDate='';
if (this.dateList && this.dateList.length > 0) {
this.msg.CheckInDate = this.dateList[0];
this.msg.CheckOutDate = this.dateList[1];
} else {
this.msg.CheckInDate = '';
this.msg.CheckOutDate = '';
}
this.apipost('dmc_post_GetDiDaPriceSearchList', this.msg, res=>{
this.apipost('dmc_post_GetDiDaPriceSearchList', this.msg, res => {
this.loading = false
if (res.data.resultCode == 1) {
this.DidaHotelRoomDetails = res.data.data
console.log(" this.msg", this.msg);
console.log("DidaHotelRoomDetails", res.data.data );
console.log("DidaHotelRoomDetails", res.data.data);
}
}, null)
},
//获取道旅床类型列表
getdidaBedType() {
this.apipost('dmc_post_GetDidaBedTypeBaseInfo', this.hotelMsg, res=>{
this.apipost('dmc_post_GetDidaBedTypeBaseInfo', this.hotelMsg, res => {
this.loading = false
if (res.data.resultCode == 1) {
this.HotelRoomTypes = res.data.data;
......@@ -1127,7 +1293,7 @@ export default {
},
//获取道旅餐食类型
getdidaMealType() {
this.apipost('dmc_post_GetDidaMealType', this.hotelMsg, res=>{
this.apipost('dmc_post_GetDidaMealType', this.hotelMsg, res => {
this.loading = false
if (res.data.resultCode == 1) {
this.HotelMealTypes = res.data.data;
......@@ -1161,11 +1327,11 @@ export default {
},
//获取酒店图片信息
getDiDaHotelImgList() {
this.apipost('dmc_post_GetDiDaHotelImgList', this.hotelMsg, res=>{
this.apipost('dmc_post_GetDiDaHotelImgList', this.hotelMsg, res => {
this.loading = false
if (res.data.resultCode == 1) {
this.DidaHotelImg=[];
res.data.data.forEach((item,index) => {
this.DidaHotelImg = [];
res.data.data.forEach((item, index) => {
this.DidaHotelImg.push(item.ImageUrl);
});
// this.DidaHotelImg = res.data.data;
......@@ -1176,7 +1342,7 @@ export default {
//获取酒店详情信息
getDidaDescriptionList() {
this.apipost('dmc_post_GetDidaDescriptionList', this.hotelMsg, res=>{
this.apipost('dmc_post_GetDidaDescriptionList', this.hotelMsg, res => {
this.loading = false
if (res.data.resultCode == 1) {
this.DidaDescription = res.data.data;
......@@ -1187,7 +1353,7 @@ export default {
//获取酒店设施信息
getDidaFacilitiesList() {
this.apipost('dmc_post_GetDiDaHotelFacilitiesList', this.hotelMsg, res=>{
this.apipost('dmc_post_GetDiDaHotelFacilitiesList', this.hotelMsg, res => {
this.loading = false
if (res.data.resultCode == 1) {
this.Facilities = res.data.data.HotelFacility;
......@@ -1199,7 +1365,7 @@ export default {
//获取酒店政策信息
getDidaPolicyList() {
this.apipost('dmc_post_GetDiDaHotelPolicyList', this.hotelMsg, res=>{
this.apipost('dmc_post_GetDiDaHotelPolicyList', this.hotelMsg, res => {
this.loading = false
if (res.data.resultCode == 1) {
this.Policy = res.data.data;
......@@ -1211,11 +1377,11 @@ export default {
var dt = new Date(value);
let year = dt.getFullYear();
let month = (dt.getMonth() + 1).toString().padStart(2, "0");
let date = (dt.getDate() ).toString().padStart(2, "0");
let hours =(dt.getHours() ).toString().padStart(2, "0");
let minutes = (dt.getMinutes() ).toString().padStart(2, "0");
let seconds = (dt.getSeconds() ).toString().padStart(2, "0");
return year + "-" + month + "-" + date+" "+hours+":"+minutes+":"+seconds;
let date = (dt.getDate()).toString().padStart(2, "0");
let hours = (dt.getHours()).toString().padStart(2, "0");
let minutes = (dt.getMinutes()).toString().padStart(2, "0");
let seconds = (dt.getSeconds()).toString().padStart(2, "0");
return year + "-" + month + "-" + date + " " + hours + ":" + minutes + ":" + seconds;
},
//通过日期得到周几
......@@ -1224,38 +1390,37 @@ export default {
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()]+")";
return month + "-" + date + "(" + this.WeekList[dt.getDay()] + ")";
},
//日期格式化
getIsCancella1(value) {
var dt = new Date(value);//取消时间
let date2 = new Date();//当前时间
let IsCancel=0;//不可取消
var dt = new Date(value); //取消时间
let date2 = new Date(); //当前时间
let IsCancel = 0; //不可取消
if (dt > date2) {
IsCancel=1;
IsCancel = 1;
}
return IsCancel;
},
//日期格式化
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;
}
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;
} else {
if (item.Amount != TotalPrice) {
IsCancel = 2;
}
}
}
......@@ -1308,18 +1473,18 @@ export default {
this.map.addOverlay(marker);
},
getAveragePrice(PriceList) {
let totelPrice=0
if(PriceList&&PriceList.length>0){
PriceList.forEach((item,index) => {
totelPrice+=Math.ceil(item.Price);
let totelPrice = 0
if (PriceList && PriceList.length > 0) {
PriceList.forEach((item, index) => {
totelPrice += Math.ceil(item.Price);
});
return Math.ceil(totelPrice/(PriceList.length));
return Math.ceil(totelPrice / (PriceList.length));
}
return totelPrice;
},
getDiDaPriceConfirm(index,subIndex,item) {
getDiDaPriceConfirm(index, subIndex, item) {
this.confirmLoading = true;
let params={
let params = {
sort: 1,
displayFrom: 1,
CheckInDate: this.msg.CheckInDate,
......@@ -1327,7 +1492,8 @@ export default {
searchroomGroup: this.msg.searchroomGroup,
ratePlanID: item.RatePlanID,
imgUrl: "",
RoomCount: (this.msg.searchroomGroup&&this.msg.searchroomGroup.length>0)?this.msg.searchroomGroup.length:0,
RoomCount: (this.msg.searchroomGroup && this.msg.searchroomGroup.length > 0) ? this.msg.searchroomGroup
.length : 0,
ChildCount: this.msg.childNum,
AdultCount: this.msg.auditNum,
OccupancyDetails: [],
......@@ -1343,43 +1509,47 @@ export default {
this.confirmPriceList = res.data.data.PriceDetails;
this.roomRateDetails = res.data.data.PriceDetails.HotelList[0];
}
console.log("res.data.data",res.data.data);
if(this.roomRateDetails&&this.roomRateDetails.RatePlanList&&this.roomRateDetails.RatePlanList.length>0){
item.IsSellOut=0;
}
else{
item.IsSellOut=1;
console.log("res.data.data", res.data.data);
if (this.roomRateDetails && this.roomRateDetails.RatePlanList && this.roomRateDetails.RatePlanList
.length > 0) {
item.IsSellOut = 0;
} else {
item.IsSellOut = 1;
}
},
null
);
},
},
created(){
created() {
let userInfo = this.getLocalStorage();
this.EmployeeId = userInfo.EmployeeId;
if(this.$route.query.id){
if (this.$route.query.id) {
this.msg.hotelId = this.$route.query.id;
this.hotelMsg.hotelId= this.$route.query.id;
this.hotelMsg.hotelId = this.$route.query.id;
}
if(this.$route.query.StartDate){
if (this.$route.query.StartDate) {
this.dateList.push(this.$route.query.StartDate)
this.msg.CheckInDate = this.$route.query.StartDate
}
if(this.$route.query.EndDate){
if (this.$route.query.EndDate) {
this.dateList.push(this.$route.query.EndDate)
this.msg.CheckOutDate = this.$route.query.EndDate
}
},
mounted() {
for (let i = 1; i < 13; i++) {
var obj={Id:i}
var obj = {
Id: i
}
this.childrenAgeList.push(obj);
if(i<10){
if (i < 10) {
this.adultList.push(obj);
}
if(i<7){
this.childrenList.push({Id:i-1});
if (i < 7) {
this.childrenList.push({
Id: i - 1
});
}
}
this.getdidaMealType();
......@@ -1391,5 +1561,6 @@ export default {
this.getDidaFacilitiesList();
this.getDidaPolicyList();
}
};
};
</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