Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jz_Travel
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
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
zhengke
jz_Travel
Commits
61d9e618
Commit
61d9e618
authored
Apr 23, 2025
by
youjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'B2C' of
http://gitlab.oytour.com/zk123/jz_travel
into B2C
parents
fa5386df
397d38e7
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1144 additions
and
1150 deletions
+1144
-1150
orders.vue
pages/AggregateOrders/components/orders.vue
+6
-7
order.vue
pages/hotel/order.vue
+4
-3
orderdetails.vue
pages/hotel/orderdetails.vue
+1134
-1140
No files found.
pages/AggregateOrders/components/orders.vue
View file @
61d9e618
...
...
@@ -207,14 +207,14 @@
goDetails
(
item
)
{
let
url
=
null
let
msg
=
null
// #ifdef MP-DI
console
.
log
(
item
.
goodsType
,
'==========='
)
console
.
log
(
item
.
goodsType
,
'==========='
)
msg
=
`OrderNo=
${
item
.
orderNo
}
`
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
)
{
//景点门票
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
)
{
//酒店住宿
url
=
`hotel/orderdetails?
`
url
=
`hotel/orderdetails?
orderId=`
+
item
.
erpOrderId
;
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
)
{
//目的地用车
}
else
if
(
item
.
goodsType
==
15
)
url
=
`visa/visa_SureOrder?`
//签证
else
if
(
item
.
goodsType
==
16
)
url
=
`airTicket/airTicketOrderDetail?`
//机票
...
...
@@ -224,10 +224,9 @@
if
(
item
.
goodsType
==
2
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
else
if
(
item
.
goodsType
==
4
)
{
//景点门票
}
else
if
(
item
.
goodsType
==
3
)
{
//酒店住宿
}
else
if
(
item
.
goodsType
==
7
)
{
//酒店住宿
url
=
`hotel/orderdetails?`
}
else
if
(
item
.
goodsType
==
9
)
{
//酒店住宿
url
=
`hotel/orderdetails?orderId=`
+
item
.
erpOrderId
;
}
else
if
(
item
.
goodsType
==
5
)
{
//目的地用车
}
else
if
(
item
.
goodsType
==
6
)
url
=
`visa/visa_SureOrder?`
//签证
else
if
(
item
.
goodsType
==
1
)
{
//机票
...
...
pages/hotel/order.vue
View file @
61d9e618
...
...
@@ -487,7 +487,7 @@
icon
:
'none'
,
title
:
'订单创建成功'
}
)
this
.
goPayHandler
(
res
.
data
.
OrderNo
);
this
.
goPayHandler
(
res
.
data
);
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
...
...
@@ -498,7 +498,8 @@
}
}
);
}
,
goPayHandler
(
OrderNo
)
{
goPayHandler
(
item
)
{
let
OrderNo
=
item
.
OrderNo
;
let
that
=
this
;
uni
.
requestPayment
({
provider
:
"wxpay"
,
...
...
@@ -529,7 +530,7 @@
}
);
setTimeout
(()
=>
{
uni
.
redirectTo
({
url
:
"/pages/hotel/orderdetails?
OrderNo="
+
OrderNo
,
url
:
"/pages/hotel/orderdetails?
orderId="
+
item
.
ErpOrderId
,
}
);
}
,
100
);
}
,
...
...
pages/hotel/orderdetails.vue
View file @
61d9e618
<
template
>
<view
class=
"hotel-detail"
v-if=
"orderData"
>
<scroll-view
ref=
"scrollView"
scroll-y=
"true"
style=
"height: 1px;flex: 1;box-sizing: border-box;"
@
scroll=
"scroll"
>
<view
class=
"media"
:style=
"
{ opacity: 100 - boxOption + '%' }"
>
<!-- #ifdef MP-WEIXIN -->
<view
@
click=
"goback"
:style=
"[titleStyle,
{ opacity: '100% !important' }]"
style="position: fixed; top: 0; left: 0; padding-left: 6rpx"
>
<u-icon
name=
"arrow-left"
size=
"44"
style=
"margin-top: 22rpx"
></u-icon>
</view>
<!-- #endif -->
<view
class=
"orderStatusBox flex"
style=
"margin-bottom: 30rpx"
>
<u-icon
customPrefix=
"iconfont"
name=
"icondaizhifu-"
size=
"52"
color=
"#DFBE6E"
v-if=
"orderStatus.code == 0"
></u-icon>
<u-icon
customPrefix=
"iconfont"
name=
"iconquxiao"
size=
"52"
color=
"#f26c6c"
v-if=
"orderStatus.code == -1"
></u-icon>
<u-icon
customPrefix=
"iconfont"
name=
"iconshenhezhong"
size=
"52"
color=
"#86d9a5"
v-if=
"orderStatus.code == -2"
></u-icon>
<u-icon
customPrefix=
"iconfont"
name=
"iconzhengchang"
size=
"52"
color=
"#111"
v-if=
"orderStatus.code == 1"
></u-icon>
<text
style=
"
<view
class=
"hotel-detail"
v-if=
"orderData"
>
<scroll-view
ref=
"scrollView"
scroll-y=
"true"
style=
"height: 1px;flex: 1;box-sizing: border-box;"
@
scroll=
"scroll"
>
<view
class=
"media"
:style=
"
{ opacity: 100 - boxOption + '%' }">
<!-- #ifdef MP-WEIXIN -->
<view
@
click=
"goback"
:style=
"[titleStyle,
{ opacity: '100% !important' }]"
style="position: fixed; top: 0; left: 0; padding-left: 6rpx">
<u-icon
name=
"arrow-left"
size=
"44"
style=
"margin-top: 22rpx"
></u-icon>
</view>
<!-- #endif -->
<view
class=
"orderStatusBox flex"
style=
"margin-bottom: 30rpx"
>
<u-icon
customPrefix=
"iconfont"
name=
"icondaizhifu-"
size=
"52"
color=
"#DFBE6E"
v-if=
"orderStatus.code == 0"
></u-icon>
<u-icon
customPrefix=
"iconfont"
name=
"iconquxiao"
size=
"52"
color=
"#f26c6c"
v-if=
"orderStatus.code == -1"
></u-icon>
<u-icon
customPrefix=
"iconfont"
name=
"iconshenhezhong"
size=
"52"
color=
"#86d9a5"
v-if=
"orderStatus.code == -2"
></u-icon>
<u-icon
customPrefix=
"iconfont"
name=
"iconzhengchang"
size=
"52"
color=
"#111"
v-if=
"orderStatus.code == 1"
></u-icon>
<text
style=
"
margin-left: 26rpx;
font-size: 40rpx;
font-weight: 600;
color: #111;
"
>
{{
orderStatus
.
text
}}
</text>
</view>
<view
class=
"orderIforRzBox row"
>
<view
class=
"orderIforRzImg"
>
<img
style=
"width: 14rpx;height: 68rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638766174213789755.png"
/>
</view>
<view
class=
"orderIforRzTime column col"
>
<view>
入住:
<text>
{{
getDate
(
orderData
.
parmResultRoomInfo
.
CheckInDate
)
}}
{{
getWeek
(
orderData
.
parmResultRoomInfo
.
CheckInDate
)
}}
14:00后
</text></view>
<view
style=
"margin-top: 28rpx;"
>
离店:
<text>
{{
getDate
(
orderData
.
parmResultRoomInfo
.
CheckOutDate
)
}}
{{
getWeek
(
orderData
.
parmResultRoomInfo
.
CheckOutDate
)
}}
12:00前
</text></view>
</view>
<view
class=
"orderIforRzNum"
>
{{
getDay
(
orderData
.
parmResultRoomInfo
.
CheckInDate
.
slice
(
0
,
10
),
orderData
.
parmResultRoomInfo
.
CheckOutDate
.
slice
(
0
,
10
))
}}
晚
</view>
</view>
<view
class=
"orderIforDiZhi"
>
<view
class=
"orderIforDiZhiL"
>
{{
orderData
.
parmResultRoomInfo
.
HotelName
}}
</view>
<view
class=
"orderIforDiZhiR row"
>
<view
class=
"orderIforDiZhiRImg"
>
<img
style=
"width: 23rpx;height:28rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638766148323678002.png"
/>
</view>
<view
class=
"orderIforDiZhiRText"
>
酒店地址
</view>
</view>
</view>
</view>
<view
class=
"hotel-title"
:style=
"[titleStyle]"
>
<view
@
click=
"goback"
>
<!-- #ifdef MP-WEIXIN -->
<u-icon
name=
"arrow-left"
size=
"44"
></u-icon>
<!-- #endif -->
</view>
<view
style=
"flex: 1; margin-left: 30rpx; text-align: left"
class=
"name-ali"
>
{{
orderData
.
parmResultRoomInfo
.
HotelName
}}
</view
>
</view>
<view
class=
"ReservationInforBox"
>
<view
class=
"ReservationInforTitle"
>
预定信息
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL"
>
房型
</view>
<view
class=
"ResInforR"
>
<text
v-for=
"(items,i) in RatePlanList"
:key=
"i"
>
{{
items
.
RatePlanName
}}
<template
v-if=
"i!=RatePlanList.length-1"
>
,
</
template
>
</text>
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL"
>
餐型
</view>
<view
class=
"ResInforR active"
>
<view
v-if=
"RatePlanList && RatePlanList.length > 0"
>
<
template
v-for=
"( itemp, indexp ) in RatePlanList[0].PriceList"
>
<template
v-if=
"!indexp"
>
{{
getMealtype
(
itemp
.
MealType
)
}}
<template
v-if=
"itemp.MealAmount>0"
>
×
{{
itemp
.
MealAmount
}}
份
</
template
>
</template>
</template>
</view>
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL"
>
窗户
</view>
<view
class=
"ResInforR"
>
窗户
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL"
>
人数
</view>
<view
class=
"ResInforR"
>
最多入住人数
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL"
>
面积
</view>
<view
class=
"ResInforR"
>
面积㎡
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL"
>
网络
</view>
<view
class=
"ResInforR"
>
是否有WIFI
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL"
>
楼层数
</view>
<view
class=
"ResInforR"
>
楼层数
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL"
>
取消政策
</view>
<view
class=
"ResInforR"
>
<text
v-if=
"roomRateDetails&&
{{
orderStatus
.
text
}}
</text>
</view>
<view
class=
"orderIforRzBox row"
>
<view
class=
"orderIforRzImg"
>
<img
style=
"width: 14rpx;height: 68rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638766174213789755.png"
/>
</view>
<view
class=
"orderIforRzTime column col"
>
<view>
入住:
<text>
{{
getDate
(
orderData
.
parmResultRoomInfo
.
CheckInDate
)
}}
{{
getWeek
(
orderData
.
parmResultRoomInfo
.
CheckInDate
)
}}
14:00后
</text></view>
<view
style=
"margin-top: 28rpx;"
>
离店:
<text>
{{
getDate
(
orderData
.
parmResultRoomInfo
.
CheckOutDate
)
}}
{{
getWeek
(
orderData
.
parmResultRoomInfo
.
CheckOutDate
)
}}
12:00前
</text></view>
</view>
<view
class=
"orderIforRzNum"
>
{{
getDay
(
orderData
.
parmResultRoomInfo
.
CheckInDate
.
slice
(
0
,
10
),
orderData
.
parmResultRoomInfo
.
CheckOutDate
.
slice
(
0
,
10
))
}}
晚
</view>
</view>
<view
class=
"orderIforDiZhi"
>
<view
class=
"orderIforDiZhiL"
>
{{
orderData
.
parmResultRoomInfo
.
HotelName
}}
</view>
<view
class=
"orderIforDiZhiR row"
>
<view
class=
"orderIforDiZhiRImg"
>
<img
style=
"width: 23rpx;height:28rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638766148323678002.png"
/>
</view>
<view
class=
"orderIforDiZhiRText"
>
酒店地址
</view>
</view>
</view>
</view>
<view
class=
"hotel-title"
:style=
"[titleStyle]"
>
<view
@
click=
"goback"
>
<!-- #ifdef MP-WEIXIN -->
<u-icon
name=
"arrow-left"
size=
"44"
></u-icon>
<!-- #endif -->
</view>
<view
style=
"flex: 1; margin-left: 30rpx; text-align: left"
class=
"name-ali"
>
{{
orderData
.
parmResultRoomInfo
.
HotelName
}}
</view>
</view>
<view
class=
"ReservationInforBox"
>
<view
class=
"ReservationInforTitle"
>
预定信息
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL"
>
房型
</view>
<view
class=
"ResInforR"
>
<text
v-for=
"(items,i) in RatePlanList"
:key=
"i"
>
{{
items
.
RatePlanName
}}
<template
v-if=
"i!=RatePlanList.length-1"
>
,
</
template
>
</text>
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL"
>
餐型
</view>
<view
class=
"ResInforR active"
>
<view
v-if=
"RatePlanList && RatePlanList.length > 0"
>
<
template
v-for=
"( itemp, indexp ) in RatePlanList[0].PriceList"
>
<template
v-if=
"!indexp"
>
{{
getMealtype
(
itemp
.
MealType
)
}}
<template
v-if=
"itemp.MealAmount>0"
>
×
{{
itemp
.
MealAmount
}}
份
</
template
>
</template>
</template>
</view>
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL"
>
取消政策
</view>
<view
class=
"ResInforR"
>
<text
v-if=
"roomRateDetails&&
roomRateDetails.CancellationPolicyList &&
roomRateDetails.CancellationPolicyList.length > 0"
>
<
template
v-for=
"(itemCancella, index1) in roomRateDetails.CancellationPolicyList"
>
<template
v-if=
"index1==0"
>
{{
getformatDateStr
(
itemCancella
.
FromDate
)
}}
之前免费取消
</
template
>
<
template
v-if=
"itemCancella.Amount==roomRateDetails.TotalPrice"
>
<template>
{{
getformatDateStr
(
itemCancella
.
FromDate
)
}}
起不可取消,取消将收取订单全额费用;
</
template
>
</template>
<
template
v-else
>
<template>
{{
getformatDateStr
(
itemCancella
.
FromDate
)
}}
<template
v-if=
"index1!=(roomRateDetails.CancellationPolicyList.length-1)"
>
-
{{
getformatDateStr
(
roomRateDetails
.
CancellationPolicyList
[
index1
+
1
].
FromDate
)
}}
之间
</
template
>
取消,收费 {{DanWei}}{{getPrice(itemCancella.Amount)}};
</template>
</template>
</template>
</text>
</view>
</view>
</view>
<view
class=
"ReservationInforBox"
>
<view
class=
"ReservationInforTitle"
>
订房信息
</view>
<view
class=
"ResInforText row-sb-n"
v-for=
"(item,index) in orderData.parmResultRoomInfo.GuestList"
:key=
"index"
>
<view
class=
"ResInforL Lwidth"
>
房间{{ index+1 }}住客
</view>
<view
class=
"ResInforR row"
>
<view
v-for=
"(items,i) in item.GuestInfo"
:key=
"i"
>
{{ items.LastName }}{{ items.FirstName }}
<
template
v-if=
"i!=item.GuestInfo.length-1"
>
,
</
template
>
</view>
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL Lwidth"
>
联系姓名
</view>
<view
class=
"ResInforR"
>
{{ orderData.parmResultRoomInfo.SurName }}{{ orderData.parmResultRoomInfo.Name }}
</view
>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL Lwidth"
>
联系电话
</view
>
<view
class=
"ResInforR"
>
{{ orderData.parmResultRoomInfo.guestPhoneNumber }}
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL Lwidth"
>
E-mail
</view
>
<view
class=
"ResInforR"
>
{{ orderData.parmResultRoomInfo.guestEmail }}
</view>
</view>
</view>
<!-- <cancelProgress :datas="orderData"></cancelProgress> --
>
<view
class=
"ReservationInforBox"
>
<view
class=
"big-title
"
>
<text>
费用明细
</text
>
</view
>
<view
class=
"jz_form"
>
<view
class=
"form-items row
"
>
<view
class=
"label"
>
总金额
</view
>
<view
class=
"val f14 regular col"
style=
"text-align: right"
>
{{ roomNum }}
<text>
间房
</text>
/
{{ peopleNum }}
<text
style=
"margin-right: 30rpx"
>
人
</text>
<text
class=
"red"
>
{{DanWei}} {{ orderData.model.TotalPrice }}
</text>
</view
>
</view>
<view
class=
"form-items"
style=
"border-bottom: none;padding: 20rpx 0;"
>
<view
class=
"label"
>
明细
</view
>
</view>
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
v-for=
"(item,index) in orderData.parmResultRoomInfo.GuestList"
:key=
"index"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
房间数
</text>
</view>
<view
style=
"text-align: right"
>
1间({{ item.GuestInfo.length }}人) × {{ DanWei }}{{ orderData.model.RoomPrice }}
</view>
</view>
<
template
v-for=
"(itemCancella, index1) in roomRateDetails.CancellationPolicyList"
>
<template
v-if=
"index1==0"
>
{{
getformatDateStr
(
itemCancella
.
FromDate
)
}}
之前免费取消
</
template
>
<
template
v-if=
"itemCancella.Amount==roomRateDetails.TotalPrice"
>
<template>
{{
getformatDateStr
(
itemCancella
.
FromDate
)
}}
起不可取消,取消将收取订单全额费用;
</
template
>
</template>
<
template
v-else
>
<template>
{{
getformatDateStr
(
itemCancella
.
FromDate
)
}}
<template
v-if=
"index1!=(roomRateDetails.CancellationPolicyList.length-1)"
>
-
{{
getformatDateStr
(
roomRateDetails
.
CancellationPolicyList
[
index1
+
1
].
FromDate
)
}}
之间
</
template
>
取消,收费 {{DanWei}}{{getPrice(itemCancella.Amount)}};
</template>
</template>
</template>
</text>
</view>
</view>
</view>
<view
class=
"ReservationInforBox"
>
<view
class=
"ReservationInforTitle"
>
订房信息
</view>
<view
class=
"ResInforText row-sb-n"
v-for=
"(item,index) in orderData.parmResultRoomInfo.GuestList"
:key=
"index"
>
<view
class=
"ResInforL Lwidth"
>
房间{{ index+1 }}住客
</view>
<view
class=
"ResInforR row"
>
<view
v-for=
"(items,i) in item.GuestInfo"
:key=
"i"
>
{{ items.LastName }}{{ items.FirstName }}
<
template
v-if=
"i!=item.GuestInfo.length-1"
>
,
</
template
>
</view>
</view>
</view>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL Lwidth"
>
联系姓名
</view>
<view
class=
"ResInforR"
>
{{ orderData.parmResultRoomInfo.SurName }}{{ orderData.parmResultRoomInfo.Name }}
</view>
</view
>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL Lwidth"
>
联系电话
</view>
<view
class=
"ResInforR"
>
{{ orderData.parmResultRoomInfo.guestPhoneNumber }}
</view>
</view
>
<view
class=
"ResInforText row-sb-n"
>
<view
class=
"ResInforL Lwidth"
>
E-mail
</view>
<view
class=
"ResInforR"
>
{{ orderData.parmResultRoomInfo.guestEmail }}
</view>
</view>
</view
>
<!-- <cancelProgress :datas="orderData"></cancelProgress> --
>
<view
class=
"ReservationInforBox
"
>
<view
class=
"big-title"
>
<text>
费用明细
</text
>
</view
>
<view
class=
"jz_form
"
>
<view
class=
"form-items row"
>
<view
class=
"label"
>
总金额
</view
>
<view
class=
"val f14 regular col"
style=
"text-align: right"
>
{{ roomNum }}
<text>
间房
</text>
/
{{ peopleNum }}
<text
style=
"margin-right: 30rpx"
>
人
</text>
<text
class=
"red"
>
{{DanWei}} {{ orderData.model.TotalPrice }}
</text
>
</view>
</view
>
<view
class=
"form-items"
style=
"border-bottom: none;padding: 20rpx 0;"
>
<view
class=
"label"
>
明细
</view>
</view>
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
v-for=
"(item,index) in orderData.parmResultRoomInfo.GuestList"
:key=
"index"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
房间数
</text>
</view>
<view
style=
"text-align: right"
>
1间({{ item.GuestInfo.length }}人) × {{ DanWei }}{{ orderData.model.RoomPrice }}
</view>
</view>
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
:style=
"{'color':mainColor+' !important'}"
v-if=
"orderData.model.DiscountMoney&&orderData.model.DiscountMoney>0"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
优惠金额
</text>
</view>
<view
style=
"text-align: right"
>
-{{ orderData.model.DiscountMoney}}
</view>
</view>
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
:key=
"index"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
合计应收
</text>
</view>
<view
style=
"text-align: right;color: #ff3166;font-size:32rpx;font-weight: bold;"
>
{{ DanWei }}
{{(orderData.model.TotalPrice-orderData.model.DiscountMoney).toFixed(2)}}
</view>
</view>
</view>
</view>
<view
style=
"height: 36rpx;"
></view>
</scroll-view>
<!-- <view class="opera-box">
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
:style=
"{'color':mainColor+' !important'}"
v-if=
"orderData.model.DiscountMoney&&orderData.model.DiscountMoney>0"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
优惠金额
</text>
</view>
<view
style=
"text-align: right"
>
-{{ orderData.model.DiscountMoney}}
</view>
</view>
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
:key=
"index"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
合计应收
</text>
</view>
<view
style=
"text-align: right;color: #ff3166;font-size:32rpx;font-weight: bold;"
>
{{ DanWei }}
{{(orderData.model.TotalPrice-orderData.model.DiscountMoney).toFixed(2)}}
</view>
</view>
</view>
</view>
<view
style=
"height: 36rpx;"
></view>
</scroll-view>
<!-- <view class="opera-box">
<view class="box flex">
<view class="price">
<text class="f11">¥</text>
...
...
@@ -236,111 +203,108 @@
<u-button :ripple="true" :hair-line="false" :custom-style="btnStyle" @click="buyRoom">立即购买</u-button>
</view>
</view> -->
<view
class=
"jz_orderbox flex"
v-if=
"showPayBtn"
>
<view
style=
"display: flex"
>
<!-- #ifdef MP-DI -->
<button
v-if=
"orderData.model.OrderStatus==1"
class=
"jz_OrderReNow"
@
click=
"goCancel"
style=
"background: #fff; color: #111; border: 1px solid #111"
:disabled=
"submitCancel"
:loading=
"submitCancel"
>
取消
</button>
<button
v-if=
"orderData.model.OrderStatus==1"
class=
"jz_OrderReNow"
style=
"margin-left: 20rpx;"
@
click=
"submitGetCodeByOrderNo"
:disabled=
"submit"
:loading=
"submit"
>
立即支付
</button>
<!-- #endif -->
<!-- #ifdef MP-AG -->
<button
v-if=
"orderData.model.OrderStatus==1"
class=
"jz_OrderReNow"
@
click=
"goCancel"
style=
"background: #fff; color: #111; border: 1px solid #111"
:disabled=
"submitCancel"
:loading=
"submitCancel"
>
取消
</button>
<!-- #endif -->
</view>
</view>
</view>
</template>
<
script
>
import
cancelProgress
from
'@/components/cancelPrompt/cancelProgress.vue'
export
default
{
components
:
{
cancelProgress
},
data
()
{
return
{
id
:
0
,
boxOption
:
0
,
titleStyle
:
{
opacity
:
0
,
},
mainColor
:
""
,
Up
:
0
,
current
:
1
,
scrollTop
:
100
,
old
:{
scrollTop
:
0
},
orderStatus
:
{
text
:
"待支付"
,
code
:
0
,
},
showPayBtn
:
false
,
btnStyle
:
{
height
:
"80rpx"
,
lineHeight
:
"80rpx"
,
borderRadius
:
"16rpx"
,
background
:
"#111"
,
color
:
"#FFF"
,
fontSize
:
"28rpx"
,
fontWeight
:
"600"
,
width
:
'193rpx'
,
},
orderData
:
null
,
orderStatus
:
{
<view
class=
"jz_orderbox flex"
v-if=
"showPayBtn"
>
<view
style=
"display: flex"
>
<!-- #ifdef MP-DI -->
<button
v-if=
"orderData.model.OrderStatus==1"
class=
"jz_OrderReNow"
@
click=
"goCancel"
style=
"background: #fff; color: #111; border: 1px solid #111"
:disabled=
"submitCancel"
:loading=
"submitCancel"
>
取消
</button>
<button
v-if=
"orderData.model.OrderStatus==1"
class=
"jz_OrderReNow"
style=
"margin-left: 20rpx;"
@
click=
"submitGetCodeByOrderNo"
:disabled=
"submit"
:loading=
"submit"
>
立即支付
</button>
<!-- #endif -->
<!-- #ifdef MP-AG -->
<button
v-if=
"orderData.model.OrderStatus==1"
class=
"jz_OrderReNow"
@
click=
"goCancel"
style=
"background: #fff; color: #111; border: 1px solid #111"
:disabled=
"submitCancel"
:loading=
"submitCancel"
>
取消
</button>
<!-- #endif -->
</view>
</view>
</view>
</template>
<
script
>
import
cancelProgress
from
'@/components/cancelPrompt/cancelProgress.vue'
export
default
{
components
:
{
cancelProgress
},
data
()
{
return
{
id
:
0
,
boxOption
:
0
,
titleStyle
:
{
opacity
:
0
,
},
mainColor
:
""
,
Up
:
0
,
current
:
1
,
scrollTop
:
100
,
old
:
{
scrollTop
:
0
},
orderStatus
:
{
text
:
"待支付"
,
code
:
0
,
},
showPayBtn
:
false
,
btnStyle
:
{
height
:
"80rpx"
,
lineHeight
:
"80rpx"
,
borderRadius
:
"16rpx"
,
background
:
"#111"
,
color
:
"#FFF"
,
fontSize
:
"28rpx"
,
fontWeight
:
"600"
,
width
:
'193rpx'
,
},
orderData
:
null
,
orderStatus
:
{
code
:
0
,
text
:
""
,
},
showPayBtn
:
true
,
submitCancel
:
false
,
submit
:
false
,
hotelData
:
null
,
roomRateDetails
:
null
,
DanWei
:
''
,
peopleNum
:
0
,
roomNum
:
0
,
RatePlanList
:
null
,
HotelMealTypes
:
[],
};
},
created
()
{
this
.
Up
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
?
uni
.
getStorageSync
(
"mall_UserInfo"
).
UserPageType
:
0
;
},
onLoad
(
options
)
{
this
.
id
=
options
.
orderId
;
let
that
=
this
;
uni
.
getSystemInfo
({
success
(
res
)
{
that
.
titleStyle
=
{
height
:
"45px"
,
paddingTop
:
`
${
res
.
statusBarHeight
}
px`
,
opacity
:
"0"
,
};
},
});
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
if
(
this
.
id
)
this
.
getOrderDetail
(
this
.
id
);
this
.
getdidaMealType
()
},
methods
:
{
submitGetCodeByOrderNo
()
{
showPayBtn
:
true
,
submitCancel
:
false
,
submit
:
false
,
hotelData
:
null
,
roomRateDetails
:
null
,
DanWei
:
''
,
peopleNum
:
0
,
roomNum
:
0
,
RatePlanList
:
null
,
HotelMealTypes
:
[],
};
},
created
()
{
this
.
Up
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
?
uni
.
getStorageSync
(
"mall_UserInfo"
).
UserPageType
:
0
;
},
onLoad
(
options
)
{
console
.
log
(
"options"
,
options
);
this
.
id
=
options
.
orderId
;
let
that
=
this
;
uni
.
getSystemInfo
({
success
(
res
)
{
that
.
titleStyle
=
{
height
:
"45px"
,
paddingTop
:
`
${
res
.
statusBarHeight
}
px`
,
opacity
:
"0"
,
};
},
});
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
if
(
this
.
id
)
this
.
getOrderDetail
(
this
.
id
);
this
.
getdidaMealType
()
},
methods
:
{
submitGetCodeByOrderNo
()
{
if
(
this
.
submit
||
this
.
submitCancel
)
return
;
this
.
submit
=
true
this
.
apipost
(
"GetCodeByOrderNo_post"
,
{
...
...
@@ -348,189 +312,189 @@
MallBaseId
:
uni
.
getStorageSync
(
"mall_UserInfo"
).
MallBaseId
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
orderInfo
=
JSON
.
parse
(
res
.
data
.
sPayInfo
)
this
.
orderInfo
=
JSON
.
parse
(
res
.
data
.
sPayInfo
)
this
.
goPayHandler
();
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
icon
:
'none'
,
duration
:
3000
title
:
res
.
message
,
icon
:
'none'
,
duration
:
3000
})
this
.
submit
=
false
;
}
},
e
=>
{
},
e
=>
{
uni
.
showToast
({
title
:
'无法发起支付,请稍后'
,
icon
:
'none'
,
duration
:
3000
title
:
'无法发起支付,请稍后'
,
icon
:
'none'
,
duration
:
3000
})
this
.
submit
=
false
this
.
submit
=
false
});
},
goCancel
()
{
if
(
this
.
submitCancel
)
return
this
.
submitCancel
=
true
this
.
apipost
(
"dmc_post_GetDiDaBookingCancel"
,
{
BookingID
:
this
.
orderData
.
model
.
OrderID
,
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"success"
,
});
this
.
getOrderDetail
(
this
.
id
)
}
},
(
err
)
=>
{
goCancel
()
{
if
(
this
.
submitCancel
)
return
this
.
submitCancel
=
true
this
.
apipost
(
"dmc_post_GetDiDaBookingCancel"
,
{
BookingID
:
this
.
orderData
.
model
.
OrderID
,
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
"
none
"
,
title
:
"操作成功"
,
icon
:
"
success
"
,
});
this
.
submitCancel
=
false
this
.
getOrderDetail
(
this
.
id
)
}
);
},
//立即购买
buyRoom
(){
let
that
=
this
;
if
(
that
.
orderMsg
.
Consignee
==
''
)
{
this
.
$refs
.
uToast
.
show
({
title
:
'请输入住客姓名!'
,
type
:
'warning'
});
return
;
}
if
(
that
.
orderMsg
.
ConsigneeMobile
==
''
)
{
this
.
$refs
.
uToast
.
show
({
title
:
'请输入联系电话!'
,
type
:
'warning'
});
return
;
}
var
tempObj
=
uni
.
getStorageSync
(
'basedata'
).
mall
.
wechatmessage
;
var
tmplIds
=
[];
if
(
tempObj
&&
tempObj
.
length
>
0
){
tempObj
.
forEach
(
x
=>
{
if
(
x
.
Name
==
'下单成功提醒'
||
x
.
Name
==
'订单取消提醒'
||
x
.
Name
==
'订单确认通知'
){
tmplIds
.
push
(
x
.
MessageId
)
}
})
}
uni
.
requestSubscribeMessage
({
tmplIds
:
tmplIds
,
complete
(
res
)
{
that
.
request2
({
url
:
'/api/Hotel/SetAppletHotelOrder'
,
data
:
that
.
orderMsg
},
res
=>
{
if
(
res
.
resultCode
==
1
)
{
that
.
queren
(
res
.
data
)
}
}
);
}
})
},
formatStatus
(
status
)
{
},
(
err
)
=>
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
"none"
,
});
this
.
submitCancel
=
false
}
);
},
//立即购买
buyRoom
()
{
let
that
=
this
;
if
(
that
.
orderMsg
.
Consignee
==
''
)
{
this
.
$refs
.
uToast
.
show
({
title
:
'请输入住客姓名!'
,
type
:
'warning'
});
return
;
}
if
(
that
.
orderMsg
.
ConsigneeMobile
==
''
)
{
this
.
$refs
.
uToast
.
show
({
title
:
'请输入联系电话!'
,
type
:
'warning'
});
return
;
}
var
tempObj
=
uni
.
getStorageSync
(
'basedata'
).
mall
.
wechatmessage
;
var
tmplIds
=
[];
if
(
tempObj
&&
tempObj
.
length
>
0
)
{
tempObj
.
forEach
(
x
=>
{
if
(
x
.
Name
==
'下单成功提醒'
||
x
.
Name
==
'订单取消提醒'
||
x
.
Name
==
'订单确认通知'
)
{
tmplIds
.
push
(
x
.
MessageId
)
}
})
}
uni
.
requestSubscribeMessage
({
tmplIds
:
tmplIds
,
complete
(
res
)
{
that
.
request2
({
url
:
'/api/Hotel/SetAppletHotelOrder'
,
data
:
that
.
orderMsg
},
res
=>
{
if
(
res
.
resultCode
==
1
)
{
that
.
queren
(
res
.
data
)
}
}
);
}
})
},
formatStatus
(
status
)
{
// #ifdef MP-DI
if
(
status
==
4
)
{
this
.
orderStatus
.
code
=
-
1
;
this
.
orderStatus
.
text
=
"已取消"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
1
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"待付款"
;
this
.
showPayBtn
=
true
;
}
else
if
(
status
==
3
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"已完成"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
2
)
{
this
.
orderStatus
.
code
=
1
;
this
.
orderStatus
.
text
=
"正常"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
5
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"售后"
;
this
.
showPayBtn
=
false
;
}
if
(
status
==
4
)
{
this
.
orderStatus
.
code
=
-
1
;
this
.
orderStatus
.
text
=
"已取消"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
1
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"待付款"
;
this
.
showPayBtn
=
true
;
}
else
if
(
status
==
3
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"已完成"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
2
)
{
this
.
orderStatus
.
code
=
1
;
this
.
orderStatus
.
text
=
"正常"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
5
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"售后"
;
this
.
showPayBtn
=
false
;
}
// #endif
// #ifdef MP-AG
if
(
status
==
4
)
{
this
.
orderStatus
.
code
=
-
1
;
this
.
orderStatus
.
text
=
"已取消"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
1
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"待付款"
;
this
.
showPayBtn
=
true
;
}
else
if
(
status
==
3
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"已完成"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
2
)
{
this
.
orderStatus
.
code
=
1
;
this
.
orderStatus
.
text
=
"正常"
;
this
.
showPayBtn
=
false
;
}
if
(
status
==
4
)
{
this
.
orderStatus
.
code
=
-
1
;
this
.
orderStatus
.
text
=
"已取消"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
1
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"待付款"
;
this
.
showPayBtn
=
true
;
}
else
if
(
status
==
3
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"已完成"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
2
)
{
this
.
orderStatus
.
code
=
1
;
this
.
orderStatus
.
text
=
"正常"
;
this
.
showPayBtn
=
false
;
}
// #endif
},
scroll
(
e
)
{
this
.
old
.
scrollTop
=
e
.
detail
.
scrollTop
this
.
boxOption
=
Math
.
floor
((
e
.
detail
.
scrollTop
-
50
)
/
1.5
);
this
.
titleStyle
.
opacity
=
e
.
detail
.
scrollTop
-
100
<
0
?
0
:
Math
.
floor
(
e
.
detail
.
scrollTop
-
100
)
/
100
>
1
?
1
:
Math
.
floor
(
e
.
detail
.
scrollTop
-
100
)
/
100
;
this
.
$forceUpdate
();
},
goback
()
{
uni
.
navigateBack
({
delta
:
1
,
});
},
//获取酒店详情
getOrderDetail
(
id
)
{
uni
.
showLoading
({
title
:
"加载中"
,
});
let
msg
=
{
orderId
:
id
,
// StartDate: this.dayObj.start,
// EndDate: this.dayObj.end,
};
this
.
apipost
(
"dmc_post_Get_GetJAPAN_OrderDetail"
,
msg
,
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
hideLoading
();
this
.
orderData
=
res
.
data
this
.
RatePlanList
=
res
.
data
.
parmResult
.
Success
.
BookingDetails
.
Hotel
.
RatePlanList
this
.
DanWei
=
res
.
data
.
parmResult
.
Success
.
BookingDetails
.
Hotel
.
RatePlanList
[
0
].
Currency
this
.
roomRateDetails
=
res
.
data
.
parmResult
.
Success
.
BookingDetails
.
Hotel
res
.
data
.
parmResultRoomInfo
.
GuestList
.
forEach
((
item
,
index
)
=>
{
this
.
roomNum
++
item
.
GuestInfo
.
forEach
((
items
,
i
)
=>
{
this
.
peopleNum
++
})
})
// this.orderData = res.data.BookingDetailsList[0]
// this.hotelData = res.data.BookingDetailsList[0].Hotel;
this
.
formatStatus
(
res
.
data
.
model
.
OrderStatus
);
console
.
log
(
res
,
'订单详情数据'
);
}
},
err
=>
{
uni
.
hideLoading
();
}
);
},
//日期格式化
scroll
(
e
)
{
this
.
old
.
scrollTop
=
e
.
detail
.
scrollTop
this
.
boxOption
=
Math
.
floor
((
e
.
detail
.
scrollTop
-
50
)
/
1.5
);
this
.
titleStyle
.
opacity
=
e
.
detail
.
scrollTop
-
100
<
0
?
0
:
Math
.
floor
(
e
.
detail
.
scrollTop
-
100
)
/
100
>
1
?
1
:
Math
.
floor
(
e
.
detail
.
scrollTop
-
100
)
/
100
;
this
.
$forceUpdate
();
},
goback
()
{
uni
.
navigateBack
({
delta
:
1
,
});
},
//获取酒店详情
getOrderDetail
(
id
)
{
uni
.
showLoading
({
title
:
"加载中"
,
});
let
msg
=
{
orderId
:
id
,
// StartDate: this.dayObj.start,
// EndDate: this.dayObj.end,
};
this
.
apipost
(
"dmc_post_Get_GetJAPAN_OrderDetail"
,
msg
,
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
hideLoading
();
this
.
orderData
=
res
.
data
this
.
RatePlanList
=
res
.
data
.
parmResult
.
Success
.
BookingDetails
.
Hotel
.
RatePlanList
this
.
DanWei
=
res
.
data
.
parmResult
.
Success
.
BookingDetails
.
Hotel
.
RatePlanList
[
0
].
Currency
this
.
roomRateDetails
=
res
.
data
.
parmResult
.
Success
.
BookingDetails
.
Hotel
res
.
data
.
parmResultRoomInfo
.
GuestList
.
forEach
((
item
,
index
)
=>
{
this
.
roomNum
++
item
.
GuestInfo
.
forEach
((
items
,
i
)
=>
{
this
.
peopleNum
++
})
})
// this.orderData = res.data.BookingDetailsList[0]
// this.hotelData = res.data.BookingDetailsList[0].Hotel;
this
.
formatStatus
(
res
.
data
.
model
.
OrderStatus
);
console
.
log
(
res
,
'订单详情数据'
);
}
},
err
=>
{
uni
.
hideLoading
();
}
);
},
//日期格式化
getformatDateStr
(
value
)
{
var
dt
=
new
Date
(
value
);
let
year
=
dt
.
getFullYear
();
...
...
@@ -538,599 +502,621 @@
let
date
=
(
dt
.
getDate
()).
toString
().
padStart
(
2
,
"0"
);
return
year
+
"-"
+
month
+
"-"
+
date
;
},
//计算天数
getDay
(
date1
,
date2
)
{
//获得天数
//date1:开始日期,date2结束日期
var
a1
=
Date
.
parse
(
new
Date
(
date1
));
var
a2
=
Date
.
parse
(
new
Date
(
date2
));
var
day
=
parseInt
((
a2
-
a1
)
/
(
1000
*
60
*
60
*
24
));
//核心:时间戳相减,然后除以天数
return
day
;
},
getDate
(
date
)
{
date
=
date
.
slice
(
0
,
10
);
//计算天数
getDay
(
date1
,
date2
)
{
//获得天数
//date1:开始日期,date2结束日期
var
a1
=
Date
.
parse
(
new
Date
(
date1
));
var
a2
=
Date
.
parse
(
new
Date
(
date2
));
var
day
=
parseInt
((
a2
-
a1
)
/
(
1000
*
60
*
60
*
24
));
//核心:时间戳相减,然后除以天数
return
day
;
},
getDate
(
date
)
{
date
=
date
.
slice
(
0
,
10
);
if
(
date
)
{
let
arr
=
date
.
split
(
'-'
);
return
arr
[
1
]
+
'月'
+
arr
[
2
]
+
'日'
}
},
getWeek
(
date
)
{
var
weekArray
=
new
Array
(
"日"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
);
var
week
=
weekArray
[
new
Date
(
date
).
getDay
()];
//注意此处必须是先new一个Date
return
"周"
+
week
;
},
//获取道旅餐食类型
getdidaMealType
()
{
this
.
apipost
(
'dmc_post_GetDidaMealType'
,
{},
res
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
HotelMealTypes
=
res
.
data
;
}
},
null
)
},
//获取餐型
getMealtype
(
mealtypeId
)
{
let
mealtypeName
=
""
;
if
(
mealtypeId
>
0
)
{
this
.
HotelMealTypes
.
forEach
((
item
)
=>
{
if
(
item
.
ID
==
mealtypeId
)
{
mealtypeName
=
item
.
Name_CN
;
}
});
}
return
mealtypeName
;
},
},
};
</
script
>
<
style
scoped
>
@import
url("@/asset/css/flex.css")
;
.hotel-detail
{
height
:
100vh
;
overflow
:
hidden
;
width
:
100vw
;
font-family
:
"pingfang"
;
background
:
#F3F3F3
;
display
:
flex
;
flex-direction
:
column
;
}
.hotel-detail
.flex
{
display
:
flex
;
align-items
:
center
;
}
.hotel-detail
.f12
{
font-size
:
24
rpx
!important
;
}
.hotel-detail
.king
{
width
:
44
rpx
;
height
:
44
rpx
;
border-radius
:
50%
;
overflow
:
hidden
;
background
:
rgba
(
255
,
255
,
255
,
0.2
)
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
position
:
relative
;
}
.hotel-detail
.regular
{
font-weight
:
500
!important
;
}
.hotel-detail
.hotel-content
{
position
:
relative
;
z-index
:
2
;
top
:
-110
rpx
;
}
.hotel-detail
.hotel-content
.date-box
{
margin
:
30
rpx
0
;
background
:
#ecf1f4
;
border-radius
:
16
rpx
;
padding
:
25
rpx
;
justify-content
:
space-between
;
}
.hotel-detail
.hotel-content
.date-box
.hr-line
{
width
:
24
rpx
;
height
:
4
rpx
;
background
:
#222
;
margin-right
:
24
rpx
;
}
.hotel-detail
.hotel-content
.date-box
.ver-line
{
width
:
1px
;
height
:
49
r
px
;
background
:
#a8a8a8
;
opacity
:
0.3
;
margin-right
:
24
rpx
;
}
.hotel-detail
.hotel-content
.date-box
.date
{
font-size
:
24
rpx
;
font-weight
:
bold
;
color
:
#111111
;
margin-right
:
24
rpx
;
}
.hotel-detail
.hotel-content
.date-box
.date
.date-week
{
font-size
:
24
rpx
;
font-weight
:
500
;
color
:
#6e6e6e
;
margin-left
:
18
rpx
;
}
.hotel-detail
.hotel-content
.hotel-more-info
{
width
:
140
rpx
;
height
:
6
0
rpx
;
line-
height
:
60
rpx
;
background
:
#ffffff
;
border
:
1px
solid
#111111
;
border-radius
:
8
rpx
;
margin
:
0
auto
;
font-size
:
24
rpx
;
font-weight
:
500
;
color
:
#1f1f1f
;
text-align
:
center
;
}
.hotel-detail
.empty-block
{
height
:
20
rpx
;
background-color
:
#ecf1f4
;
}
.hotel-detail
.hotel-content
.detail-box
{
padding
:
33
rpx
30
rpx
0
30
rpx
;
}
.hotel-detail
.hotel-content
.detail-box
.nearby-type
{
padding
:
0
16
rpx
;
height
:
40
rpx
;
line-
height
:
40
rpx
;
background
:
#fff
;
border-radius
:
20
rpx
;
margin-right
:
1
0
rpx
;
font-size
:
28
rpx
;
font-weight
:
500
;
color
:
#1f1f1f
;
}
.hotel-detail
.hotel-content
.detail-box
.nearby-type.active
{
color
:
#dfbe6e
;
background
:
rgba
(
223
,
190
,
110
,
0.2
)
;
}
.hotel-detail
.hotel-content
.title-style-one
{
font-weight
:
500
;
font-size
:
24
rpx
;
color
:
#080A09
;
line-height
:
43
rpx
;
text-indent
:
21
rpx
;
}
.hotel-detail
.hotel-content
.title-style-one
item-title
{
line-height
:
36
rpx
;
}
.hotel-detail
.hotel-content
.title-style-one
.item-content
{
color
:
#B99846
;
margin-left
:
5
rpx
;
line-height
:
36
rpx
;
}
.title-style-one
li
{
margin-bottom
:
5
rpx
;
}
.hotel-detail
.hotel-content
.big-title
{
position
:
relative
;
font-size
:
32
rpx
;
font-weight
:
bold
;
margin-bottom
:
35
rpx
;
}
.hotel-detail
.hotel-content
.big-title
::before
{
display
:
block
;
width
:
18
rpx
;
height
:
18
rpx
;
background
:
#E2C27A
;
border-radius
:
5
rpx
;
content
:
" "
;
position
:
absolute
;
left
:
0
;
bottom
:
-4
rpx
;
z-index
:
1
;
}
.hotel-detail
.hotel-content
.big-title
text
{
font-size
:
3
4
rpx
;
font-weight
:
bold
;
color
:
#1f1f1f
;
position
:
relative
;
z-index
:
2
;
}
.hotel-detail
.hotel-content
.hotel-base
.hotel-room
.room-type
{
/* padding:10rpx 30rpx; */
display
:
flex
;
align-items
:
center
;
overflow-x
:
auto
;
flex-wrap
:
nowrap
;
}
.hotel-detail
.hotel-content
.hotel-base
.room-list
{
padding-top
:
40
rpx
;
}
.hotel-detail
.hotel-content
.hotel-base
.hotel-room
.room-type
.item
{
padding
:
16
rpx
30
rpx
;
background
:
#ecf1f4
;
border-radius
:
8
rpx
;
margin-right
:
26
rpx
;
font-size
:
22
rpx
;
color
:
#999999
;
font-weight
:
400
;
flex-shrink
:
0
;
}
.hotel-detail
.hotel-content
.hotel-base
.hotel-room
.room-type
.item.active
{
background
:
#111111
;
color
:
#ffffff
;
}
.hotel-detail
.hotel-content
.hotel-base
.hotel-room
.room-type
.item
:last-child
{
margin-right
:
0
;
}
.hotel-detail
.hotel-content
.hotel-base
{
/* position: relative;
getWeek
(
date
)
{
var
weekArray
=
new
Array
(
"日"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
);
var
week
=
weekArray
[
new
Date
(
date
).
getDay
()];
//注意此处必须是先new一个Date
return
"周"
+
week
;
},
//获取道旅餐食类型
getdidaMealType
()
{
this
.
apipost
(
'dmc_post_GetDidaMealType'
,
{},
res
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
HotelMealTypes
=
res
.
data
;
}
},
null
)
},
//获取餐型
getMealtype
(
mealtypeId
)
{
let
mealtypeName
=
""
;
if
(
mealtypeId
>
0
)
{
this
.
HotelMealTypes
.
forEach
((
item
)
=>
{
if
(
item
.
ID
==
mealtypeId
)
{
mealtypeName
=
item
.
Name_CN
;
}
});
}
return
mealtypeName
;
},
},
};
</
script
>
<
style
scoped
>
@import
url("@/asset/css/flex.css")
;
.hotel-detail
{
height
:
100vh
;
overflow
:
hidden
;
width
:
100vw
;
font-family
:
"pingfang"
;
background
:
#F3F3F3
;
display
:
flex
;
flex-direction
:
column
;
}
.hotel-detail
.flex
{
display
:
flex
;
align-items
:
center
;
}
.hotel-detail
.f12
{
font-size
:
24
rpx
!important
;
}
.hotel-detail
.king
{
width
:
44
rpx
;
height
:
44
rpx
;
border-radius
:
50%
;
overflow
:
hidden
;
background
:
rgba
(
255
,
255
,
255
,
0.2
)
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
position
:
relative
;
}
.hotel-detail
.regular
{
font-weight
:
500
!important
;
}
.hotel-detail
.hotel-content
{
position
:
relative
;
z-index
:
2
;
top
:
-110
rpx
;
}
.hotel-detail
.hotel-content
.date-box
{
margin
:
30
rpx
0
;
background
:
#ecf1f4
;
border-radius
:
16
rpx
;
padding
:
25
rpx
;
justify-content
:
space-between
;
}
.hotel-detail
.hotel-content
.date-box
.hr-line
{
width
:
2
4
rpx
;
height
:
4
rpx
;
background
:
#222
;
margin-right
:
24
rpx
;
}
.hotel-detail
.hotel-content
.date-box
.ver-line
{
width
:
1
px
;
height
:
49
rpx
;
background
:
#a8a8a8
;
opacity
:
0.3
;
margin-right
:
24
rpx
;
}
.hotel-detail
.hotel-content
.date-box
.date
{
font-size
:
24
rpx
;
font-weight
:
bold
;
color
:
#111111
;
margin-right
:
24
rpx
;
}
.hotel-detail
.hotel-content
.date-box
.date
.date-week
{
font-size
:
24
rpx
;
font-weight
:
500
;
color
:
#6e6e6e
;
margin-left
:
18
rpx
;
}
.hotel-detail
.hotel-content
.hotel-more-info
{
width
:
14
0
rpx
;
height
:
60
rpx
;
line-height
:
60
rpx
;
background
:
#ffffff
;
border
:
1px
solid
#111111
;
border-radius
:
8
rpx
;
margin
:
0
auto
;
font-size
:
24
rpx
;
font-weight
:
500
;
color
:
#1f1f1f
;
text-align
:
center
;
}
.hotel-detail
.empty-block
{
height
:
20
rpx
;
background-color
:
#ecf1f4
;
}
.hotel-detail
.hotel-content
.detail-box
{
padding
:
33
rpx
30
rpx
0
30
rpx
;
}
.hotel-detail
.hotel-content
.detail-box
.nearby-type
{
padding
:
0
16
rpx
;
height
:
40
rpx
;
line-height
:
40
rpx
;
background
:
#fff
;
border-radius
:
2
0
rpx
;
margin-right
:
10
rpx
;
font-size
:
28
rpx
;
font-weight
:
500
;
color
:
#1f1f1f
;
}
.hotel-detail
.hotel-content
.detail-box
.nearby-type.active
{
color
:
#dfbe6e
;
background
:
rgba
(
223
,
190
,
110
,
0.2
);
}
.hotel-detail
.hotel-content
.title-style-one
{
font-weight
:
500
;
font-size
:
24
rpx
;
color
:
#080A09
;
line-height
:
43
rpx
;
text-indent
:
21
rpx
;
}
.hotel-detail
.hotel-content
.title-style-one
item-title
{
line-height
:
36
rpx
;
}
.hotel-detail
.hotel-content
.title-style-one
.item-content
{
color
:
#B99846
;
margin-left
:
5
rpx
;
line-height
:
36
rpx
;
}
.title-style-one
li
{
margin-bottom
:
5
rpx
;
}
.hotel-detail
.hotel-content
.big-title
{
position
:
relative
;
font-size
:
32
rpx
;
font-weight
:
bold
;
margin-bottom
:
35
rpx
;
}
.hotel-detail
.hotel-content
.big-title
::before
{
display
:
block
;
width
:
18
rpx
;
height
:
18
rpx
;
background
:
#E2C27A
;
border-radius
:
5
rpx
;
content
:
" "
;
position
:
absolute
;
left
:
0
;
bottom
:
-
4
rpx
;
z-index
:
1
;
}
.hotel-detail
.hotel-content
.big-title
text
{
font-size
:
34
rpx
;
font-weight
:
bold
;
color
:
#1f1f1f
;
position
:
relative
;
z-index
:
2
;
}
.hotel-detail
.hotel-content
.hotel-base
.hotel-room
.room-type
{
/* padding:10rpx 30rpx; */
display
:
flex
;
align-items
:
center
;
overflow-x
:
auto
;
flex-wrap
:
nowrap
;
}
.hotel-detail
.hotel-content
.hotel-base
.room-list
{
padding-top
:
40
rpx
;
}
.hotel-detail
.hotel-content
.hotel-base
.hotel-room
.room-type
.item
{
padding
:
16
rpx
30
rpx
;
background
:
#ecf1f4
;
border-radius
:
8
rpx
;
margin-right
:
26
rpx
;
font-size
:
22
rpx
;
color
:
#999999
;
font-weight
:
400
;
flex-shrink
:
0
;
}
.hotel-detail
.hotel-content
.hotel-base
.hotel-room
.room-type
.item.active
{
background
:
#111111
;
color
:
#ffffff
;
}
.hotel-detail
.hotel-content
.hotel-base
.hotel-room
.room-type
.item
:last-child
{
margin-right
:
0
;
}
.hotel-detail
.hotel-content
.hotel-base
{
/* position: relative;
top: -140rpx; */
border-top-left-radius
:
60
rpx
;
border-top-right-radius
:
60
rpx
;
background
:
url(https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/hoteldetailbj.png)
no-repeat
#F3F3F3
;
background-size
:
100%
auto
;
padding
:
39
rpx
0
44
rpx
0
;
}
.location
{
display
:
flex
;
align-items
:
center
;
}
.location
.loc-left
{
width
:
1px
;
flex
:
1
;
}
.location
.loc-left
.loc-name
{
font-size
:
28
rpx
;
font-weight
:
800
;
color
:
#111111
;
display
:
flex
;
align-items
:
center
;
margin-bottom
:
20
rpx
;
}
.location
.loc-left
.loc-remark
{
font-size
:
22
rpx
;
font-weight
:
500
;
color
:
#6e6e6e
;
line-height
:
34
rpx
;
}
.location
.loc-right
{
font-size
:
24
rpx
;
font-weight
:
500
;
color
:
#111111
;
display
:
flex
;
align-items
:
center
;
}
.hotel-detail
.hotel-content
.hotel-base
.head
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
40
rpx
;
}
.hotel-detail
.hotel-content
.hotel-base
.head
.hotel-name
{
font-size
:
36
rpx
;
font-weight
:
800
;
color
:
#111111
;
}
.hotel-detail
.hotel-content
.hotel-base
.head
.hotel-tag
{
font-size
:
22
rpx
;
font-weight
:
500
;
color
:
#6e6e6e
;
}
.hotel-Opening
{
font-weight
:
500
;
font-size
:
24
rpx
;
color
:
#B99846
;
margin-right
:
31
rpx
;
margin-bottom
:
20
rpx
;
display
:
inline-block
;
}
.hotel-tagText
{
background
:
#FFFFFF
;
border-radius
:
4
rpx
;
border
:
1
rpx
solid
#B99846
;
color
:
#B99846
;
text-align
:
center
;
margin-right
:
8
rpx
;
margin-bottom
:
20
rpx
;
height
:
34
rpx
;
line-height
:
26
rpx
;
padding
:
0
12
rpx
;
display
:
inline-block
;
}
.hotel-detail
.hotel-content
.hotel-base
.head
.op-box
image
{
width
:
58
rpx
;
height
:
58
rpx
;
}
.hotel-detail
.hotel-content
.hotel-base
.shebei
{
padding
:
34
rpx
0
;
margin-bottom
:
34
rpx
;
border-bottom
:
1px
solid
rgba
(
0
,
0
,
0
,
0.1
);
display
:
flex
;
align-items
:
center
;
}
.hotel-detail
.hotel-content
.hotel-base
.shebei
.sb-left
{
width
:
1px
;
flex
:
1
;
/* display: flex; */
align-items
:
center
;
display
:
-webkit-box
;
overflow
:
auto
;
margin-right
:
20
rpx
;
}
.hotel-detail
.hotel-content
.hotel-base
.shebei
.sb-left
.sb-item
{
padding
:
7
rpx
13
rpx
;
background
:
#ecf1f4
;
border-radius
:
4
rpx
;
font-size
:
22
rpx
;
font-weight
:
500
;
color
:
#111111
;
margin-right
:
10
rpx
;
}
.hotel-detail
.hotel-content
.hotel-base
.shebei
.sb-right
{
font-size
:
24
rpx
;
font-weight
:
500
;
color
:
#111111
;
display
:
flex
;
align-items
:
center
;
}
.hotel-detail
.hotel-title
{
line-height
:
45px
!important
;
font-size
:
16px
;
text-align
:
center
;
position
:
fixed
;
left
:
0
;
top
:
0
;
width
:
100%
;
color
:
#111
;
box-sizing
:
content-box
;
z-index
:
5
;
display
:
flex
;
align-items
:
center
;
background-color
:
#f6f6f6
;
padding-left
:
6
rpx
;
}
.hotel-detail
.media
{
position
:
relative
;
z-index
:
1
;
background
:
#fff
;
box-shadow
:
0
rpx
14
rpx
40
rpx
0
rpx
rgba
(
76
,
76
,
76
,
0.06
);
border-radius
:
0
rpx
0
rpx
40
rpx
40
rpx
;
overflow
:
hidden
;
}
.hotel-detail
.media
.play-btn
{
position
:
absolute
;
left
:
50%
;
top
:
50%
;
margin-top
:
-49
rpx
;
margin-left
:
-49
rpx
;
width
:
98
rpx
;
height
:
98
rpx
;
border-radius
:
20
rpx
;
background-color
:
rgba
(
255
,
255
,
255
,
0.4
);
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.hotel-detail
.media
.video-box
{
background-color
:
#111
;
height
:
545
rpx
;
position
:
relative
;
}
.hotel-detail
.media
.type-box
{
width
:
100px
;
height
:
50
rpx
;
position
:
absolute
;
background-color
:
rgba
(
255
,
255
,
255
,
0.6
);
border-radius
:
50
rpx
;
left
:
50%
;
bottom
:
80px
;
margin-left
:
-50px
;
}
.hotel-detail
.media
.media-info
.type-img-box
{
background-color
:
rgba
(
255
,
255
,
255
,
0.5
);
color
:
#fff
;
display
:
flex
;
align-items
:
center
;
height
:
96
rpx
;
width
:
96
rpx
;
padding
:
8
rpx
;
border-radius
:
12
rpx
;
position
:
relative
;
}
.hotel-detail
.media
.media-info
.type-img-box
image
{
height
:
80
rpx
;
width
:
80
rpx
;
border-radius
:
12
rpx
;
opacity
:
0.5
;
}
.hotel-detail
.media
.media-info
.type-img-box
.content
{
position
:
absolute
;
left
:
0
;
top
:
0
;
right
:
0
;
bottom
:
0
;
text-align
:
center
;
font-size
:
20
rpx
;
color
:
#fff
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
center
;
justify-items
:
center
;
}
.hotel-detail
.media
.media-info
.type-img-box
text
{
font-size
:
22
rpx
;
font-family
:
pingfang
;
margin-left
:
6
rpx
;
}
.hotel-detail
.media
.media-info
{
position
:
absolute
;
background-color
:
rgba
(
0
,
0
,
0
,
0.35
);
top
:
287
rpx
;
bottom
:
0
;
left
:
0
;
right
:
0
;
padding
:
30
rpx
50
rpx
;
}
.hotel-detail
.media
.media-info
.mi-left
{
flex
:
1
;
}
.detail_ShareBtn
{
width
:
100%
;
height
:
100%
;
position
:
absolute
;
left
:
0
;
top
:
0
;
opacity
:
0
;
}
.name-ali
{
/* #ifdef MP-ALIPAY */
box-sizing
:
border-box
;
padding-left
:
30
rpx
;
/* #endif */
}
.orderIforDiZhi
{
padding
:
27
rpx
32
rpx
41
rpx
32
rpx
;
}
.orderIforDiZhiL
{
font-weight
:
800
;
font-size
:
32
rpx
;
color
:
#080A09
;
padding-bottom
:
18
rpx
;
}
.orderIforDiZhiRImg
{
width
:
23
rpx
;
margin-right
:
13
rpx
;
}
.orderIforDiZhiRText
{
width
:
1px
;
flex
:
1
;
font-weight
:
500
;
font-size
:
28
rpx
;
color
:
#1D1D20
;
line-height
:
38
rpx
;
}
.ReservationInforBox
{
border-radius
:
18
rpx
;
background
:
#fff
;
margin
:
28
rpx
31
rpx
28
rpx
31
rpx
;
padding
:
37
rpx
18
rpx
49
rpx
18
rpx
;
}
.ReservationInforTitle
{
font-weight
:
800
;
font-size
:
32
rpx
;
color
:
#080A09
;
padding-bottom
:
24
rpx
;
}
.ResInforText
{
padding
:
21
rpx
19
rpx
;
}
.ResInforL
{
width
:
120
rpx
;
text-align
:
right
;
margin-right
:
57
rpx
;
font-weight
:
500
;
font-size
:
28
rpx
;
color
:
#303133
;
}
.ResInforL.Lwidth
{
width
:
130
rpx
;
}
.ResInforR
{
width
:
1px
;
flex
:
1
;
font-weight
:
bold
;
font-size
:
28
rpx
;
color
:
#080A09
;
}
.ResInforR.active
{
color
:
#B99846
;
}
.ResInforTisp
{
font-weight
:
500
;
font-size
:
24
rpx
;
color
:
#1D1D20
;
line-height
:
42
rpx
;
}
.ResInforText.ResInforTtisp
{
padding
:
14
rpx
19
rpx
21
rpx
19
rpx
;
}
.orderStatusBox
{
padding
:
200
rpx
31
rpx
13
rpx
31
rpx
;
}
.orderIforRzBox
{
margin
:
0
31
rpx
;
background
:
#ECF1F4
;
border-radius
:
18
rpx
;
align-items
:
center
;
padding
:
31
rpx
38
rpx
;
}
.orderIforRzTime
{
font-weight
:
500
;
font-size
:
28
rpx
;
color
:
#1D1D20
;
margin-left
:
16
rpx
;
}
.orderIforRzNum
{
font-weight
:
bold
;
font-size
:
32
rpx
;
color
:
#080A09
;
}
.opera-box
{
border-top-left-radius
:
60
rpx
;
border-top-right-radius
:
60
rpx
;
background
:
url(https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/hoteldetailbj.png)
no-repeat
#F3F3F3
;
background-size
:
100%
auto
;
padding
:
39
rpx
0
44
rpx
0
;
}
.location
{
display
:
flex
;
align-items
:
center
;
}
.location
.loc-left
{
width
:
1px
;
flex
:
1
;
}
.location
.loc-left
.loc-name
{
font-size
:
28
rpx
;
font-weight
:
800
;
color
:
#111111
;
display
:
flex
;
align-items
:
center
;
margin-bottom
:
20
rpx
;
}
.location
.loc-left
.loc-remark
{
font-size
:
22
rpx
;
font-weight
:
500
;
color
:
#6e6e6e
;
line-height
:
34
rpx
;
}
.location
.loc-right
{
font-size
:
24
rpx
;
font-weight
:
500
;
color
:
#111111
;
display
:
flex
;
align-items
:
center
;
}
.hotel-detail
.hotel-content
.hotel-base
.head
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
40
rpx
;
}
.hotel-detail
.hotel-content
.hotel-base
.head
.hotel-name
{
font-size
:
36
rpx
;
font-weight
:
800
;
color
:
#111111
;
}
.hotel-detail
.hotel-content
.hotel-base
.head
.hotel-tag
{
font-size
:
22
rpx
;
font-weight
:
500
;
color
:
#6e6e6e
;
}
.hotel-Opening
{
font-weight
:
500
;
font-size
:
24
rpx
;
color
:
#B99846
;
margin-right
:
31
rpx
;
margin-bottom
:
20
rpx
;
display
:
inline-block
;
}
.hotel-tagText
{
background
:
#FFFFFF
;
border-radius
:
4
rpx
;
border
:
1
rpx
solid
#B99846
;
color
:
#B99846
;
text-align
:
center
;
margin-right
:
8
rpx
;
margin-bottom
:
20
rpx
;
height
:
34
rpx
;
line-height
:
26
rpx
;
padding
:
0
12
rpx
;
display
:
inline-block
;
}
.hotel-detail
.hotel-content
.hotel-base
.head
.op-box
image
{
width
:
58
rpx
;
height
:
58
rpx
;
}
.hotel-detail
.hotel-content
.hotel-base
.shebei
{
padding
:
34
rpx
0
;
margin-bottom
:
34
rpx
;
border-bottom
:
1px
solid
rgba
(
0
,
0
,
0
,
0.1
);
display
:
flex
;
align-items
:
center
;
}
.hotel-detail
.hotel-content
.hotel-base
.shebei
.sb-left
{
width
:
1px
;
flex
:
1
;
/* display: flex; */
align-items
:
center
;
display
:
-webkit-box
;
overflow
:
auto
;
margin-right
:
20
rpx
;
}
.hotel-detail
.hotel-content
.hotel-base
.shebei
.sb-left
.sb-item
{
padding
:
7
rpx
13
rpx
;
background
:
#ecf1f4
;
border-radius
:
4
rpx
;
font-size
:
22
rpx
;
font-weight
:
500
;
color
:
#111111
;
margin-right
:
10
rpx
;
}
.hotel-detail
.hotel-content
.hotel-base
.shebei
.sb-right
{
font-size
:
24
rpx
;
font-weight
:
500
;
color
:
#111111
;
display
:
flex
;
align-items
:
center
;
}
.hotel-detail
.hotel-title
{
line-height
:
45px
!important
;
font-size
:
16px
;
text-align
:
center
;
position
:
fixed
;
left
:
0
;
top
:
0
;
width
:
100%
;
color
:
#111
;
box-sizing
:
content-box
;
z-index
:
5
;
display
:
flex
;
align-items
:
center
;
background-color
:
#f6f6f6
;
padding-left
:
6
rpx
;
}
.hotel-detail
.media
{
position
:
relative
;
z-index
:
1
;
background
:
#fff
;
box-shadow
:
0
rpx
14
rpx
40
rpx
0
rpx
rgba
(
76
,
76
,
76
,
0.06
);
border-radius
:
0
rpx
0
rpx
40
rpx
40
rpx
;
overflow
:
hidden
;
}
.hotel-detail
.media
.play-btn
{
position
:
absolute
;
left
:
50%
;
top
:
50%
;
margin-top
:
-49
rpx
;
margin-left
:
-49
rpx
;
width
:
98
rpx
;
height
:
98
rpx
;
border-radius
:
20
rpx
;
background-color
:
rgba
(
255
,
255
,
255
,
0.4
);
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.hotel-detail
.media
.video-box
{
background-color
:
#111
;
height
:
545
rpx
;
position
:
relative
;
}
.hotel-detail
.media
.type-box
{
width
:
100px
;
height
:
50
rpx
;
position
:
absolute
;
background-color
:
rgba
(
255
,
255
,
255
,
0.6
);
border-radius
:
50
rpx
;
left
:
50%
;
bottom
:
80px
;
margin-left
:
-50px
;
}
.hotel-detail
.media
.media-info
.type-img-box
{
background-color
:
rgba
(
255
,
255
,
255
,
0.5
);
color
:
#fff
;
display
:
flex
;
align-items
:
center
;
height
:
96
rpx
;
width
:
96
rpx
;
padding
:
8
rpx
;
border-radius
:
12
rpx
;
position
:
relative
;
}
.hotel-detail
.media
.media-info
.type-img-box
image
{
height
:
80
rpx
;
width
:
80
rpx
;
border-radius
:
12
rpx
;
opacity
:
0.5
;
}
.hotel-detail
.media
.media-info
.type-img-box
.content
{
position
:
absolute
;
left
:
0
;
top
:
0
;
right
:
0
;
bottom
:
0
;
text-align
:
center
;
font-size
:
20
rpx
;
color
:
#fff
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
center
;
justify-items
:
center
;
}
.hotel-detail
.media
.media-info
.type-img-box
text
{
font-size
:
22
rpx
;
font-family
:
pingfang
;
margin-left
:
6
rpx
;
}
.hotel-detail
.media
.media-info
{
position
:
absolute
;
background-color
:
rgba
(
0
,
0
,
0
,
0.35
);
top
:
287
rpx
;
bottom
:
0
;
left
:
0
;
right
:
0
;
padding
:
30
rpx
50
rpx
;
}
.hotel-detail
.media
.media-info
.mi-left
{
flex
:
1
;
}
.detail_ShareBtn
{
width
:
100%
;
height
:
100%
;
position
:
absolute
;
left
:
0
;
top
:
0
;
opacity
:
0
;
}
.name-ali
{
/* #ifdef MP-ALIPAY */
box-sizing
:
border-box
;
padding-left
:
30
rpx
;
/* #endif */
}
.orderIforDiZhi
{
padding
:
27
rpx
32
rpx
41
rpx
32
rpx
;
}
.orderIforDiZhiL
{
font-weight
:
800
;
font-size
:
32
rpx
;
color
:
#080A09
;
padding-bottom
:
18
rpx
;
}
.orderIforDiZhiRImg
{
width
:
23
rpx
;
margin-right
:
13
rpx
;
}
.orderIforDiZhiRText
{
width
:
1px
;
flex
:
1
;
font-weight
:
500
;
font-size
:
28
rpx
;
color
:
#1D1D20
;
line-height
:
38
rpx
;
}
.ReservationInforBox
{
border-radius
:
18
rpx
;
background
:
#fff
;
margin
:
28
rpx
31
rpx
28
rpx
31
rpx
;
padding
:
37
rpx
18
rpx
49
rpx
18
rpx
;
}
.ReservationInforTitle
{
font-weight
:
800
;
font-size
:
32
rpx
;
color
:
#080A09
;
padding-bottom
:
24
rpx
;
}
.ResInforText
{
padding
:
21
rpx
19
rpx
;
}
.ResInforL
{
width
:
120
rpx
;
text-align
:
right
;
margin-right
:
57
rpx
;
font-weight
:
500
;
font-size
:
28
rpx
;
color
:
#303133
;
}
.ResInforL.Lwidth
{
width
:
130
rpx
;
}
.ResInforR
{
width
:
1px
;
flex
:
1
;
font-weight
:
bold
;
font-size
:
28
rpx
;
color
:
#080A09
;
}
.ResInforR.active
{
color
:
#B99846
;
}
.ResInforTisp
{
font-weight
:
500
;
font-size
:
24
rpx
;
color
:
#1D1D20
;
line-height
:
42
rpx
;
}
.ResInforText.ResInforTtisp
{
padding
:
14
rpx
19
rpx
21
rpx
19
rpx
;
}
.orderStatusBox
{
padding
:
200
rpx
31
rpx
13
rpx
31
rpx
;
}
.orderIforRzBox
{
margin
:
0
31
rpx
;
background
:
#ECF1F4
;
border-radius
:
18
rpx
;
align-items
:
center
;
padding
:
31
rpx
38
rpx
;
}
.orderIforRzTime
{
font-weight
:
500
;
font-size
:
28
rpx
;
color
:
#1D1D20
;
margin-left
:
16
rpx
;
}
.orderIforRzNum
{
font-weight
:
bold
;
font-size
:
32
rpx
;
color
:
#080A09
;
}
.opera-box
{
background-color
:
#FFF
;
padding
:
20
rpx
45
rpx
40
rpx
45
rpx
;
z-index
:
5
;
}
.opera-box
.box
{
.opera-box
.box
{
height
:
100
rpx
;
background
:
#FFFFFF
;
box-shadow
:
0px
10
rpx
30
rpx
0px
rgba
(
36
,
36
,
36
,
0.2
);
...
...
@@ -1139,84 +1125,92 @@
align-items
:
center
;
padding
:
0
10
rpx
0
36
rpx
;
}
.opera-box
.box
.price
{
.opera-box
.box
.price
{
font-size
:
40
rpx
;
font-weight
:
500
;
color
:
#D91818
;
margin-right
:
20
rpx
;
}
.opera-box
.box
.sum-detail
{
.opera-box
.box
.sum-detail
{
font-size
:
24
rpx
;
flex
:
1
;
font-weight
:
500
;
color
:
#6E6E6E
;
}
.jz_orderbox
{
/* position: fixed; */
background-color
:
#fff
;
bottom
:
0
;
width
:
100vw
;
left
:
0
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
box-shadow
:
0px
0
rpx
50
rpx
0px
rgba
(
76
,
76
,
76
,
0.13
);
z-index
:
99
;
justify-content
:
flex-end
;
padding
:
20
rpx
30
rpx
;
}
.jz_OrderDiv
{
width
:
90%
;
height
:
100
rpx
;
background-color
:
#fff
;
margin
:
auto
;
padding
:
20
rpx
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
box-shadow
:
0px
10
rpx
30
rpx
0px
rgba
(
36
,
36
,
36
,
0.2
);
border-radius
:
16px
;
z-index
:
999
;
}
.jz_OrderReNow
{
width
:
170
rpx
;
height
:
80
rpx
;
background-color
:
#111111
;
text-align
:
center
;
line-height
:
80
rpx
;
color
:
#fff
;
font-weight
:
600
;
font-size
:
28
rpx
;
border-radius
:
16
rpx
;
}
.big-title
{
font-size
:
32
rpx
;
color
:
#080A09
;
padding-bottom
:
24
rpx
;
font-weight
:
800
;
}
.regular
{
font-weight
:
500
;
}
.label
{
font-size
:
28
rpx
;
font-weight
:
600
;
margin-right
:
60
rpx
;
flex-shrink
:
0
;
}
.grey
{
color
:
#6e6e6e
;
}
.f12
{
font-size
:
24
rpx
;
}
.form-items
:first-child
{
padding
:
0
0
30
rpx
0
;
display
:
flex
;
border-bottom
:
1px
solid
#e6e6e6
;
}
</
style
>
\ No newline at end of file
.jz_orderbox
{
/* position: fixed; */
background-color
:
#fff
;
bottom
:
0
;
width
:
100vw
;
left
:
0
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
box-shadow
:
0px
0
rpx
50
rpx
0px
rgba
(
76
,
76
,
76
,
0.13
);
z-index
:
99
;
justify-content
:
flex-end
;
padding
:
20
rpx
30
rpx
;
}
.jz_OrderDiv
{
width
:
90%
;
height
:
100
rpx
;
background-color
:
#fff
;
margin
:
auto
;
padding
:
20
rpx
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
box-shadow
:
0px
10
rpx
30
rpx
0px
rgba
(
36
,
36
,
36
,
0.2
);
border-radius
:
16px
;
z-index
:
999
;
}
.jz_OrderReNow
{
width
:
170
rpx
;
height
:
80
rpx
;
background-color
:
#111111
;
text-align
:
center
;
line-height
:
80
rpx
;
color
:
#fff
;
font-weight
:
600
;
font-size
:
28
rpx
;
border-radius
:
16
rpx
;
}
.big-title
{
font-size
:
32
rpx
;
color
:
#080A09
;
padding-bottom
:
24
rpx
;
font-weight
:
800
;
}
.regular
{
font-weight
:
500
;
}
.label
{
font-size
:
28
rpx
;
font-weight
:
600
;
margin-right
:
60
rpx
;
flex-shrink
:
0
;
}
.grey
{
color
:
#6e6e6e
;
}
.f12
{
font-size
:
24
rpx
;
}
.form-items
:first-child
{
padding
:
0
0
30
rpx
0
;
display
:
flex
;
border-bottom
:
1px
solid
#e6e6e6
;
}
</
style
>
\ No newline at end of file
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