Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
SuperMan
Commits
483acbe5
Commit
483acbe5
authored
Jul 26, 2024
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
bc2d1f60
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
446 additions
and
110 deletions
+446
-110
HotelDetails.vue
src/components/Hotel/DiDa/HotelDetails.vue
+446
-101
HotelSure.vue
src/components/Hotel/DiDa/HotelSure.vue
+0
-9
No files found.
src/components/Hotel/DiDa/HotelDetails.vue
View file @
483acbe5
...
...
@@ -154,6 +154,17 @@
background
:
#fff
;
position
:
relative
;
}
.q-cardradius
{
box-shadow
:
none
;
border-radius
:
0px
!important
;
border
:
1px
solid
#dedede
;
}
.listBox
.q-cardradius
{
border-top
:
0
}
.q-card
>
div
:not
(
:last-child
),
.q-card
>
img
:not
(
:last-child
)
{
border-bottom-left-radius
:
0
;
border-bottom-right-radius
:
0
;
...
...
@@ -243,6 +254,9 @@
.text-red
{
color
:
#f44336
!important
;
}
.text-333
{
color
:
#333
!important
;
}
.q-focus-helper
{
position
:
absolute
;
top
:
0
;
...
...
@@ -296,6 +310,79 @@
justify-content
:
center
;
cursor
:
pointer
;
}
.nd-label_error
{
color
:
#bc1a1a
;
cursor
:
pointer
;
}
.nd-label_success
{
color
:
#36b889
;
border-bottom
:
1px
dotted
#36b889
;
cursor
:
pointer
;
}
.nd-confirmation
{
color
:
#f90
;
cursor
:
pointer
;
}
.hover-effect
{
transition
:
background-color
0.3s
,
opacity
0.3s
;
/* 平滑过渡效果 */
opacity
:
1
;
/* 初始透明度 */
}
.hover-effect
:hover
{
background-color
:
rgb
(
238
,
241
,
249
);
/* 悬停时背景变灰 */
opacity
:
0.9
;
/* 悬停时半透明 */
}
/* .table-list {
display: flex;
list-style-type: none;
margin: 0;
padding: 0;
border-collapse: collapse;
border-left:1px solid #ddd;
}
.table-list li {
min-width:100px;
white-space: nowrap;
border-bottom: 1px solid #ddd;
border-right: 1px solid #ddd;
padding: 8px;
}
.table-list li:last-child {
margin-bottom: 0;
margin-top: 0;
margin-right: 0;
} */
.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
{
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
{
color
:
#f90
;
border-bottom
:
1px
dotted
#f90
;
cursor
:
pointer
;
}
</
style
>
<
template
>
<div
class=
"q-py-lg"
>
...
...
@@ -303,13 +390,13 @@
<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
"
style=
"width: 280px"
>
<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"
>
class=
"text-orange text-weight-bold fz18 q-pl-lg
"
>
{{
DidaHotelRoomDetails
.
HotelList
[
0
].
LowestPrice
.
Currency
}}
{{
DidaHotelRoomDetails
.
HotelList
[
0
].
LowestPrice
.
Value
}}
</span>
...
...
@@ -330,23 +417,23 @@
<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-weight-bold text-blick
"
>
{{
DidaHotelDetails
.
Address_CN
}}
</span>
<span
class=
"col fz14
text-blick text-333
"
>
{{
DidaHotelDetails
.
Address_CN
}}
</span>
</div>
</div>
<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"
></i>
<span
class=
"col fz14
text-weight-bold text-blick
"
>
{{
DidaHotelDetails
.
Telephone
}}
</span>
<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"
>
<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"
>
</el-image>
...
...
@@ -355,48 +442,47 @@
<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"
>
</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"
>
</el-image>
</div>
:preview-src-list=
"DidaHotelImg"
fit=
"cover"
>
</el-image>
</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;"
>
<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>
</
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"
>
</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;"
>
<el-image
style=
"width: 100%; height: 100%;"
:src=
"DidaHotelImg[1]"
:preview-src-list=
"DidaHotelImg"
>
</el-image>
<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>
</div>
<el-image
style=
"width: 100%; height: 100%;"
:src=
"DidaHotelImg[2]"
:preview-src-list=
"DidaHotelImg"
>
</el-image>
</div>
</div>
</
template
>
</div>
</div>
<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>
</div>
<el-image
style=
"width: 100%; height: 100%;"
:src=
"DidaHotelImg[2]"
:preview-src-list=
"DidaHotelImg"
>
</el-image>
</div>
</div>
</
template
>
</div>
</div>
<!-- 地图 -->
<div
style=
"width:40%;"
>
<div
:style=
"{height:'100%',width:'100%'}"
id=
"mapContainer"
class=
"rounded-borders"
></div>
<div
style=
"position: relative;min-height:240px;"
:style=
"{'width':DidaHotelImg&&DidaHotelImg.length>0?'40%':'100%'}"
>
<div
style=
"height:100%;min-height:215px;width:100%"
id=
"mapContainer"
class=
"rounded-borders"
></div>
</div>
<!-- 地图 -->
</div>
...
...
@@ -516,102 +602,244 @@
</el-form>
</div>
<div
class=
"row q-px-lg q-mb-lg row justify-between q-pa-mdlr"
style=
"width:100%;"
>
<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>
<!-- 价格信息循环开始 -->
<!-- {{DidaHotelRoomDetails }} {{DidaHotelRoomDetails.HotelList}} {{DidaHotelRoomDetails.HotelList.length}} {{DidaHotelRoomDetails.HotelList[0].GroupRatePlanList}} {{DidaHotelRoomDetails.HotelList[0].GroupRatePlanList.length}} -->
<
template
v-if=
"DidaHotelRoomDetails&&DidaHotelRoomDetails.HotelList&&DidaHotelRoomDetails.HotelList.length>0&&DidaHotelRoomDetails.HotelList[0].GroupRatePlanList&&DidaHotelRoomDetails.HotelList[0].GroupRatePlanList.length>0 "
>
<div
v-loading=
"loading"
>
<div
class=
"q-my-md q-px-lg"
style=
"width:100%;"
v-for=
"(item, index) in DidaHotelRoomDetails.HotelList[0].GroupRatePlanList"
>
<div
class=
"q-card row q-mb-md "
>
<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:25%;height:auto;"
>
<div
class=
"col-6"
style=
"height: 100px;"
>
<div
class=
"q-img q-img--menu"
role=
"img"
mode=
"cover"
style=
"height: 100%;"
>
<div
style=
"padding-bottom: 56.25%;"
></div>
<div
class=
"q-img__content absolute-full q-anchor--skip"
></div>
<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 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>
<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=
"如遇房型名称、与床型、餐型信息不一致,请以此为准。"
>
<i
class=
"el-icon-question"
slot=
"reference"
></i>
</el-popover>
</span>
</div>
<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%;"
>
<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%; "
>
<span
class=
"text-grey-6 "
style=
"margin-top:4px;"
>
预订
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<
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=
"col column q-pl-xs"
>
<div
class=
"text-right text-green q-pt-md q-px-sm"
>
{{
getRoomType
(
item
.
BedType
)
}}
</div>
<div
class=
" q-pt-md q-px-sm text-333"
>
{{
item
.
RoomName_CN
}}
</div>
<div
class=
" q-pt-sm q-px-sm text-333"
>
{{
item
.
RoomName
==
item
.
RoomName_CN
?
""
:
item
.
RoomName
}}
</div>
</div>
</div>
<div
class=
"col
"
style=
"width:7
5%;"
>
<div
class=
"col
"
style=
"width:8
5%;"
>
<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"
style=
"clear:both; position:relative;height:auto;"
>
<!---->
<div
class=
"col q-ml-lg q-pt-lg q-pb-md q-pr-md"
>
<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=
"absolute text-white q-px-lg "
:class=
"subItem.BreakfastType == 2 ? 'HD_Black' : 'HD_Green'"
style=
" top: 0px; border-bottom-right-radius: 10px;"
>
{{
subItem
.
BreakfastType
==
1
?
"不含早"
:
"含早"
}}
</div>
<div
class=
"col-3 q-pl-lg"
style=
"line-height: 30px;height: 30px;padding-top: 30px; height: auto; width: 25%"
>
{{
subItem
.
RatePlanName
}}
</div>
<div
class=
"col-2 text-grey-6"
style=
"line-height: 30px;height: 30px;padding-top: 30px;height: auto; width: 18%;"
v-if=
"subItem.PriceList && subItem.PriceList != null"
>
<div
class=
"q-card row q-mb-md"
style=
"box-shadow: none"
v-for=
"(itemPrice, indexPrice) in subItem.PriceList"
:key=
"indexPrice"
>
<div
class=
"text-right text-green "
>
{{
getformatDateStr
(
itemPrice
.
StayDate
)
}}
报价:
{{
itemPrice
.
Price
}}
</div>
<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
>
<
template
v-else
><span
class=
"text-333"
>
立即确认
</span></
template
>
</div>
</div>
<div
v-if=
"subItem.RatePlanCancellationPolicyList && subItem.RatePlanCancellationPolicyList != null"
>
<div
class=
"q-card row q-mb-md"
style=
"box-shadow: none;line-height: 30px;height: 30px;padding-top: 30px"
v-for=
"(
itemCancella, index1
) in subItem.RatePlanCancellationPolicyList"
:key=
"index1"
>
<div
class=
"column q-pl-md q-pr-md"
>
<span
class=
"text-right text-grey-6 q-pt-md"
>
{{
getformatDateStr
(
itemCancella
.
FromDate
)
}}
起取消(
{{
subItem
.
Currency
}}
):-
{{
itemCancella
.
Amount
}}
</span>
<span></span>
<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>
</
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
>
<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"
>
<div
style=
"display: block; line-height: 30px; height: auto;"
>
<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>
取消,收费
{{
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
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>
</span>
<span
v-else
class=
"text-right q-pt-md nd-label_error"
>
不可退改
</span>
</div>
</div>
</
template
>
<
template
v-else
>
<div
class=
"column q-pl-md q-pr-md"
>
<span
class=
"text-right q-pt-md nd-label_error"
>
不可退改
</span>
</div>
</
template
>
</div>
<div
class=
"row no-wrap justify-end items-center q-pl-lg"
style=
"line-height: 30px;height: 30px;padding-top: 30px;"
>
<div
class=
"row no-wrap items-center q-pr-lg"
>
<span
class=
"text-grey-6"
>
{{
subItem
.
Currency
}}
</span>
<span
class=
"fz20 text-red q-px-sm"
>
{{
getPrice
(
subItem
.
TotalPrice
)
}}
</span>
</div>
<div
class=
"q-pt-xs"
style=
"position: absolute; right: 3%;line-height: 30px;height: 30px;"
>
<el-button
type=
"success"
@
click=
"goUrl('HotelSure',subItem)"
>
预约
</el-button>
<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"
>
<tr
style=
"background-color: #f1f1f1;"
>
<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>
<p
class=
"q-pt-sm"
><
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>
</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>
</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>
</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>
</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>
</el-popover>
</div>
<div
style=
"font-size:12px !important;"
>
<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>
</div>
</div>
<div
class=
"q-pt-sm q-mb-md"
style=
""
>
<span
class=
"text-green fz12 q-px-sm"
style=
"border: 1px solid green;margin-left:14px;"
>
库存:
{{
subItem
.
InventoryCount
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"order-show"
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
?
"
点击收起"
:
"点击显示更多"
isShow === index ? "
收起" : ("更多"+(item.RatePlanList.length-3)+"种价格")
}}
</span>
</div>
</div>
</div>
</div>
</div>
</template>
<
template
v-else
>
<div
class=
"q-my-md q-px-lg"
style=
"text-align:center;"
>
暂无数据
</div>
</
template
>
</div>
<!-- 价格循环结束 -->
<div
class=
"rounded-borders bg-white row items-center q-pb-md"
style=
"margin-top:20px;width: 1300px;"
>
<div
class=
"row q-px-lg q-mb-lg row justify-between "
style=
"width:100%;"
>
<div
style=
" border-bottom: 1px solid #ddd; width:100%;padding-bottom:8px;"
class=
"text-weight-bold"
>
酒店详情
</div>
<div
class=
"q-pt-sm"
>
我是详情哈哈哈哈哈
</div>
</div>
</div>
<!-- <div class="rounded-borders bg-white row items-center q-pb-md" style="margin-top:20px;width: 1300px;">
<div class="row q-px-lg q-mb-lg row justify-between" style="width:100%;">
<div style=" border-bottom: 1px solid #ddd; width:100%;padding-bottom:8px;">酒店详情</div>
<div class="q-pt-sm">我是详情哈哈哈哈哈</div>
</div>
</div> -->
</div>
...
...
@@ -626,12 +854,15 @@ export default {
EmployeeId
:
0
,
RB_Group_Id
:
''
,
companyList
:[],
confirmPriceList
:[],
roomRateDetails
:[],
confirmLoading
:
false
,
dateList
:[],
canHide
:
false
,
//更多筛选
theRooms
:
[]
,
//客房下拉
room
:
1
,
//客房数
auditNum
:
1
,
childNum
:
null
,
auditNum
:
2
,
childNum
:
0
,
adultList
:
[]
,
//成人下拉
childrenList
:
[]
,
//儿童下拉
childrenAgeList
:
[]
,
//儿童年龄下拉
...
...
@@ -643,6 +874,8 @@ export default {
HotelMealTypes
:[],
//餐食类型
DidaHotelDetails
:{},
DidaHotelImg
:[],
WeekList
:
[
"周日"
,
"周一"
,
"周二"
,
"周三"
,
"周四"
,
"周五"
,
"周六"
],
//周一至周日
checkInWeek
:
""
,
//周一至周日
DidaHotelRoomDetails
:{},
msg
:
{
hotelId
:
0
,
...
...
@@ -652,9 +885,9 @@ export default {
roomOptionCd
:
""
,
CheckInDate
:
""
,
searchroomGroup
:[
{
roomNum
:
1
,
numberOfAdults
:
1
,
numberOfChildren
:
0
,
ChildAgeDetails
:
""
}
{
roomNum
:
1
,
numberOfAdults
:
2
,
numberOfChildren
:
0
,
ChildAgeDetails
:
""
}
],
auditNum
:
1
,
auditNum
:
2
,
childNum
:
0
,
},
hotelMsg
:{
...
...
@@ -762,7 +995,7 @@ export default {
}
},
null
)
},
getDiDaPriceSearchList
:
function
()
{
getDiDaPriceSearchList
()
{
this
.
loading
=
true
if
(
this
.
dateList
&&
this
.
dateList
.
length
>
0
){
this
.
msg
.
CheckInDate
=
this
.
dateList
[
0
];
...
...
@@ -776,6 +1009,9 @@ export default {
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
);
}
},
null
)
},
...
...
@@ -809,6 +1045,19 @@ export default {
}
return
roomtypeName
;
},
//获取餐型
getMealtype
(
mealtypeId
)
{
let
mealtypeName
=
""
;
if
(
mealtypeId
>
0
)
{
this
.
HotelMealTypes
.
forEach
((
item
)
=>
{
if
(
item
.
ID
==
mealtypeId
)
{
mealtypeName
=
item
.
Name_CN
;
}
});
}
return
mealtypeName
;
},
//获取酒店图片信息
getDiDaHotelImgList
()
{
this
.
apipost
(
'dmc_post_GetDiDaHotelImgList'
,
this
.
hotelMsg
,
res
=>
{
...
...
@@ -819,7 +1068,7 @@ export default {
this
.
DidaHotelImg
.
push
(
item
.
ImageUrl
);
});
// this.DidaHotelImg = res.data.data;
console
.
log
(
"DidaHotelImg"
,
res
.
data
.
data
);
}
},
null
)
},
...
...
@@ -828,8 +1077,57 @@ export default {
var
dt
=
new
Date
(
value
);
let
year
=
dt
.
getFullYear
();
let
month
=
(
dt
.
getMonth
()
+
1
).
toString
().
padStart
(
2
,
"0"
);
let
date
=
(
dt
.
getDate
()
+
1
).
toString
().
padStart
(
2
,
"0"
);
return
year
+
"-"
+
month
+
"-"
+
date
;
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
;
},
//通过日期得到周几
getWeek
(
dateTime
)
{
let
dt
=
new
Date
(
dateTime
);
let
year
=
dt
.
getFullYear
();
let
month
=
(
dt
.
getMonth
()
+
1
).
toString
().
padStart
(
2
,
"0"
);
let
date
=
(
dt
.
getDate
()
+
1
).
toString
().
padStart
(
2
,
"0"
);
return
month
+
"-"
+
date
+
"("
+
this
.
WeekList
[
dt
.
getDay
()]
+
")"
;
},
//日期格式化
getIsCancella1
(
value
)
{
var
dt
=
new
Date
(
value
);
//取消时间
let
date2
=
new
Date
();
//当前时间
let
IsCancel
=
0
;
//不可取消
if
(
dt
>
date2
)
{
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
;
}
}
else
{
if
(
item
.
Amount
!=
TotalPrice
){
IsCancel
=
2
;
}
}
}
});
return
IsCancel
;
},
getPrice
(
price
)
{
...
...
@@ -875,6 +1173,53 @@ export default {
marker
.
setLabel
(
label
)
this
.
map
.
addOverlay
(
marker
);
},
getAveragePrice
(
PriceList
)
{
let
totelPrice
=
0
if
(
PriceList
&&
PriceList
.
length
>
0
){
PriceList
.
forEach
((
item
,
index
)
=>
{
totelPrice
+=
Math
.
ceil
(
item
.
Price
);
});
return
Math
.
ceil
(
totelPrice
/
(
PriceList
.
length
));
}
return
totelPrice
;
},
getDiDaPriceConfirm
(
index
,
subIndex
,
item
)
{
this
.
confirmLoading
=
true
;
let
params
=
{
sort
:
1
,
displayFrom
:
1
,
CheckInDate
:
this
.
msg
.
CheckInDate
,
CheckOutDate
:
this
.
msg
.
CheckOutDate
,
searchroomGroup
:
this
.
msg
.
searchroomGroup
,
ratePlanID
:
item
.
RatePlanID
,
imgUrl
:
""
,
RoomCount
:
(
this
.
msg
.
searchroomGroup
&&
this
.
msg
.
searchroomGroup
.
length
>
0
)?
this
.
msg
.
searchroomGroup
.
length
:
0
,
ChildCount
:
this
.
msg
.
childNum
,
AdultCount
:
this
.
msg
.
auditNum
,
OccupancyDetails
:
[],
hotelId
:
this
.
msg
.
hotelId
}
this
.
apipost
(
"dmc_post_GetDiDaPriceConfirm"
,
params
,
res
=>
{
console
.
log
(
"dmc_post_GetDiDaPriceConfirm"
,
res
);
this
.
confirmLoading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
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
;
}
},
null
);
},
},
created
(){
let
userInfo
=
this
.
getLocalStorage
();
...
...
src/components/Hotel/DiDa/HotelSure.vue
View file @
483acbe5
...
...
@@ -976,15 +976,6 @@ export default {
this
.
checkInWeek
=
this
.
WeekList
[
CheckInDate
];
this
.
checkOutWeek
=
this
.
WeekList
[
CheckOutDate
];
console
.
log
(
"CheckInDate"
,
CheckInDate
+
","
+
this
.
params
.
CheckInDate
+
","
+
this
.
checkInWeek
);
console
.
log
(
"CheckOutDate"
,
CheckOutDate
+
","
+
this
.
params
.
CheckOutDate
+
","
+
this
.
checkOutWeek
);
},
//日期格式化
getformatDateStr
(
value
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment