Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
Athena
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
华国豪
Athena
Commits
2fd345ed
Commit
2fd345ed
authored
Jul 16, 2019
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/huaguohao/athena
parents
106603e1
36c69f59
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
1054 additions
and
206 deletions
+1054
-206
HotelDetail.vue
src/components/Hotel/HotelDetail.vue
+222
-56
HotelHome.vue
src/components/Hotel/HotelHome.vue
+47
-13
HotelList.vue
src/components/Hotel/HotelList.vue
+60
-43
HotelPay.vue
src/components/Hotel/HotelPay.vue
+450
-0
HotelSure.vue
src/components/Hotel/HotelSure.vue
+140
-89
EditTicketOrder.vue
src/components/Ticket/EditTicketOrder.vue
+1
-1
FillItinerary.vue
src/components/Ticket/FillItinerary.vue
+1
-1
HTMap.vue
src/components/global/HTMap.vue
+120
-0
RedEnvelopes.vue
src/components/newPersonalCenter/integral/RedEnvelopes.vue
+4
-3
router.js
src/router.js
+9
-0
No files found.
src/components/Hotel/HotelDetail.vue
View file @
2fd345ed
...
@@ -167,7 +167,7 @@
...
@@ -167,7 +167,7 @@
padding
:
0
padding
:
0
}
}
.HD_LeftRoomInfo
{
.HD_LeftRoomInfo
{
margin
:
20px
10px
0
20
px
;
margin
:
15px
10px
0
15
px
;
display
:
flex
;
display
:
flex
;
}
}
.HD_FuheIMG
{
.HD_FuheIMG
{
...
@@ -201,7 +201,6 @@
...
@@ -201,7 +201,6 @@
}
}
.HD_Kefang
span
{
.HD_Kefang
span
{
display
:
block
;
display
:
block
;
margin-bottom
:
5px
;
}
}
.HD_Kefang
span
:first-child
{
.HD_Kefang
span
:first-child
{
font-size
:
16px
;
font-size
:
16px
;
...
@@ -377,11 +376,15 @@
...
@@ -377,11 +376,15 @@
padding
:
0
20px
;
padding
:
0
20px
;
/* background-color: #F5F5F5; */
/* background-color: #F5F5F5; */
border
:
1px
solid
#DDDDDD
;
border
:
1px
solid
#DDDDDD
;
margin-top
:
70px
;
}
}
.HD_TOP_Map
{
.HD_TOP_Map
{
width
:
100%
;
width
:
100%
;
height
:
238px
;
height
:
238px
;
margin-top
:
20px
;
margin-top
:
20px
;
display
:
none
;
border
:
1px
solid
#DDDDDD
;
border
:
1px
solid
#DDDDDD
;
}
}
.HD_TopScore
{
.HD_TopScore
{
...
@@ -433,6 +436,35 @@
...
@@ -433,6 +436,35 @@
.Ht_ulName
.el-input__icon
{
.Ht_ulName
.el-input__icon
{
line-height
:
0
;
line-height
:
0
;
}
}
.hotel-details-table
{
margin-top
:
15px
;
border
:
1px
solid
#DCDCDC
;
border-collapse
:
collapse
;
width
:
680px
;
}
.hotel-details-table
.td01
{
padding
:
3px
15px
;
background
:
#F7F7F7
;
width
:
226px
;
height
:
19px
;
text-align
:
center
;
}
.hotel-details-table
.td02
{
padding
:
3px
15px
;
background
:
#FAFAFA
;
width
:
69px
;
height
:
19px
;
text-align
:
center
;
}
.hotel-details-table
td
{
width
:
439px
;
padding
:
10px
20px
;
vertical-align
:
middle
;
text-align
:
center
;
border
:
1px
solid
#DCDCDC
;
font-size
:
14px
;
box-sizing
:
border-box
;
}
</
style
>
</
style
>
<
template
>
<
template
>
...
@@ -601,16 +633,22 @@
...
@@ -601,16 +633,22 @@
<span
v-if=
"item.gradeType==5"
>
豪华间
</span>
<span
v-if=
"item.gradeType==5"
>
豪华间
</span>
<span
v-if=
"item.gradeType==6"
>
其他
</span>
<span
v-if=
"item.gradeType==6"
>
其他
</span>
<span
v-if=
"item.roomType==1"
>
单人床
</span>
<span
v-if=
"item.roomType==1"
>
单人
</span>
<span
v-if=
"item.roomType==2"
>
双床
</span>
<span
v-if=
"item.roomType==2"
>
双人
</span>
<span
v-if=
"item.roomType==3"
>
大床房
</span>
<span
v-if=
"item.roomType==3"
>
双
</span>
<span
v-if=
"item.roomType==4"
>
三人间
</span>
<span
v-if=
"item.roomType==4"
>
三件套
</span>
<span
v-if=
"item.roomType==5"
>
四床房
</span>
<span
v-if=
"item.roomType==5"
>
4床
</span>
<span
v-if=
"item.roomType==6"
>
日式房
</span>
<span
v-if=
"item.roomType==6"
>
日式房间
</span>
<span
v-if=
"item.roomType==7"
>
日式
&
西式混合房间
</span>
<span
v-if=
"item.roomType==7"
>
和洋室
</span>
<span
v-if=
"item.roomType==8"
>
半开双
</span>
<span
v-if=
"item.roomType==9"
>
其他的
</span>
<span
v-if=
"item.smoking==0"
>
禁烟
</span>
<span
v-if=
"item.smoking==0"
>
禁烟
</span>
<span
v-if=
"item.smoking==1"
>
可吸烟
</span>
<span
v-if=
"item.smoking==1"
>
可吸烟
</span>
<span
v-if=
"item.withBath==0"
>
无浴室
</span>
<span
v-if=
"item.withBath==1"
>
有浴室
</span>
</div>
</div>
</div>
</div>
</td>
</td>
...
@@ -654,10 +692,23 @@
...
@@ -654,10 +692,23 @@
<div
class=
"HD_hotelComIntroduce"
>
<div
class=
"HD_hotelComIntroduce"
>
<div
class=
"HD_inTitle"
>
酒店详情指南
</div>
<div
class=
"HD_inTitle"
>
酒店详情指南
</div>
<div>
<div>
<!--
<span
class=
"HD_ComLeftTitle"
>
停车场
</span>
-->
<span
class=
"HD_ComLeftTitle"
>
接送服务
</span>
<span>
{{
hotelDetails
.
pickupService
}}
</span>
</div>
</div>
<div
class=
"HD_hotelComIntroduce"
>
<div
class=
"HD_inTitle"
>
酒店描述
</div>
<div>
<span>
{{
hotelDetails
.
hotelDescription
}}
</span>
<span>
{{
hotelDetails
.
hotelDescription
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"HD_hotelComIntroduce"
>
<div
class=
"HD_inTitle"
>
完善设施服务
</div>
<div>
<span>
{{
hotelDetails
.
amenitiesNotes
}}
</span>
</div>
</div>
<!--
<div
class=
"HD_hotelComIntroduce"
>
<!--
<div
class=
"HD_hotelComIntroduce"
>
<div>
<div>
<span
class=
"HD_ComLeftTitle"
>
接送服务
</span>
<span
class=
"HD_ComLeftTitle"
>
接送服务
</span>
...
@@ -683,37 +734,6 @@
...
@@ -683,37 +734,6 @@
<span>
{{
hotelDetails
.
hotelRooms
}}
</span>
<span>
{{
hotelDetails
.
hotelRooms
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"HD_hotelComIntroduce"
>
<div
class=
"HD_inTitle"
>
西式房间详情
</div>
<div>
<span
class=
"HD_ComLeftTitle"
>
单人房
</span>
<span>
0室
</span>
</div>
</div>
<div
class=
"HD_hotelComIntroduce"
>
<div>
<span
class=
"HD_ComLeftTitle"
>
大床房
</span>
<span>
100室|45-60平方米
</span>
</div>
</div>
<div
class=
"HD_hotelComIntroduce"
>
<div>
<span
class=
"HD_ComLeftTitle"
>
双床房
</span>
<span>
120室|45-60平方米
</span>
</div>
</div>
<div
class=
"HD_hotelComIntroduce"
>
<div>
<span
class=
"HD_ComLeftTitle"
>
套房
</span>
<span>
48室
</span>
</div>
</div>
<div
class=
"HD_hotelComIntroduce"
>
<div>
<span
class=
"HD_ComLeftTitle"
>
房间设备
</span>
<span>
我是设备我是设备我是设备我是设备
</span>
</div>
</div>
<div
class=
"HD_hotelComIntroduce"
>
<div
class=
"HD_hotelComIntroduce"
>
<div>
<div>
<span
class=
"HD_ComLeftTitle"
>
客房网络连接
</span>
<span
class=
"HD_ComLeftTitle"
>
客房网络连接
</span>
...
@@ -721,27 +741,51 @@
...
@@ -721,27 +741,51 @@
{{
item
}}
{{
item
}}
</span>
</span>
</div>
</div>
</div>
</div>
<div
class=
"HD_hotelComIntroduce"
>
<div
class=
"HD_hotelComIntroduce"
style=
"border-bottom:0;"
>
<div
class=
"HD_inTitle"
>
水疗
</div>
<div
class=
"HD_inTitle"
>
水疗
</div>
<div>
<table
class=
"hotel-details-table"
>
<span
class=
"HD_ComLeftTitle"
>
温泉
</span>
<tr>
<span>
有
</span>
<td
colspan=
"3"
class=
"td01"
>
室外
</td>
</div>
<td
colspan=
"3"
class=
"td01"
>
屋内
</td>
<td
colspan=
"3"
class=
"td01"
>
蒸气浴
</td>
</tr>
<tr>
<td
class=
"td02"
>
男
</td>
<td
class=
"td02"
>
女
</td>
<td
class=
"td02"
>
混浴
</td>
<td
class=
"td02"
>
男
</td>
<td
class=
"td02"
>
女
</td>
<td
class=
"td02"
>
混浴
</td>
<td
class=
"td02"
>
男
</td>
<td
class=
"td02"
>
女
</td>
<td
class=
"td02"
>
混浴
</td>
</tr>
<tr>
<td>
{{
bathRoom
[
0
]
}}
</td>
<td>
{{
bathRoom
[
1
]
}}
</td>
<td>
{{
bathRoom
[
2
]
}}
</td>
<td>
{{
bathRoom
[
3
]
}}
</td>
<td>
{{
bathRoom
[
4
]
}}
</td>
<td>
{{
bathRoom
[
5
]
}}
</td>
<td>
{{
bathRoom
[
6
]
}}
</td>
<td>
{{
bathRoom
[
7
]
}}
</td>
<td>
{{
bathRoom
[
8
]
}}
</td>
</tr>
</table>
</div>
</div>
<div
class=
"HD_hotelComIntroduce"
>
<div
class=
"HD_hotelComIntroduce"
>
<div
class=
"HD_inTitle"
>
设施与服务
</div>
<div
class=
"HD_ServiceList"
>
<div
class=
"HD_ServiceList"
>
<span
v-for=
"item in
Services
"
>
{{
item
}}
</span>
<span
v-for=
"item in
HotSpring
"
>
{{
item
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"HD_hotelComIntroduce"
style=
"border:0"
>
<div
class=
"HD_inTitle"
>
酒店政策
</div>
<div
class=
"HD_hotelComIntroduce"
style=
"border-bottom:0;"
>
<div
class=
"HD_inTitle"
>
设施与服务
</div>
<div
class=
"HD_ServiceList"
>
<div
class=
"HD_ServiceList"
>
这里是酒店政策
<span
v-for=
"item in Services"
>
{{
item
}}
</span>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -783,6 +827,8 @@ export default {
...
@@ -783,6 +827,8 @@ export default {
InterArr
:[],
InterArr
:[],
//温泉
//温泉
HotSpring
:[],
HotSpring
:[],
//浴室
bathRoom
:[],
};
};
},
},
mounted
()
{
mounted
()
{
...
@@ -803,7 +849,6 @@ export default {
...
@@ -803,7 +849,6 @@ export default {
methods
:
{
methods
:
{
getList
(){
getList
(){
this
.
apipost
(
"dmc_post_Get_GetJAPAN_HotelDetail"
,
this
.
msg
,
res
=>
{
this
.
apipost
(
"dmc_post_Get_GetJAPAN_HotelDetail"
,
this
.
msg
,
res
=>
{
console
.
log
(
res
,
'接口1'
);
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
hotelDetails
=
res
.
data
.
data
.
hotelDetails
;
this
.
hotelDetails
=
res
.
data
.
data
.
hotelDetails
;
this
.
hotelSummary
=
res
.
data
.
data
.
hotelSummary
;
this
.
hotelSummary
=
res
.
data
.
data
.
hotelSummary
;
...
@@ -942,9 +987,131 @@ export default {
...
@@ -942,9 +987,131 @@ export default {
//拆分温泉
//拆分温泉
if
(
this
.
hotelDetails
.
bathAndBathAmenities
!=
""
){
if
(
this
.
hotelDetails
.
bathAndBathAmenities
!=
""
){
this
.
HotSpring
=
[];
this
.
HotSpring
=
[];
this
.
bathRoom
=
[];
let
HotSpring
=
this
.
hotelDetails
.
bathAndBathAmenities
.
split
(
","
);
let
HotSpring
=
this
.
hotelDetails
.
bathAndBathAmenities
.
split
(
","
);
console
.
log
(
HotSpring
,
'HotSpring'
);
this
.
bathRoom
=
HotSpring
.
slice
(
2
,
11
);
if
(
HotSpring
[
0
]
==
1
){
this
.
HotSpring
.
push
(
'露天温泉(也有男女(包括时间交替)·可借贷'
);
}
else
if
(
HotSpring
[
0
]
==
2
){
this
.
HotSpring
.
push
(
'露天温泉(有男女也有(包括时间交替)·不能借贷'
);
}
else
if
(
HotSpring
[
0
]
==
3
){
this
.
HotSpring
.
push
(
'露天温泉(男女中只有1个(包括混浴)、可以包租)'
);
}
else
if
(
HotSpring
[
0
]
==
4
){
this
.
HotSpring
.
push
(
'露天温泉(男女中只有一个(包括混浴),不能包租'
);
}
if
(
HotSpring
[
1
]
==
1
){
this
.
HotSpring
.
push
(
'有包租浴室(没有条件)'
);
}
else
if
(
HotSpring
[
1
]
==
2
){
this
.
HotSpring
.
push
(
'有包租浴室(有条件)'
);
}
if
(
HotSpring
[
11
]
==
1
){
this
.
HotSpring
.
push
(
'阿米尼蒂:脸·手巾(免费)'
);
}
else
if
(
HotSpring
[
11
]
==
2
){
this
.
HotSpring
.
push
(
'阿米尼蒂:脸·手巾(收费)'
);
}
if
(
HotSpring
[
12
]
==
1
){
this
.
HotSpring
.
push
(
'阿米尼蒂:牙刷、牙膏(免费)'
);
}
else
if
(
HotSpring
[
12
]
==
2
){
this
.
HotSpring
.
push
(
'阿米尼蒂:牙刷、牙膏(收费)'
);
}
if
(
HotSpring
[
13
]
==
1
){
this
.
HotSpring
.
push
(
'阿米蒂奇:浴巾(免费)'
);
}
else
if
(
HotSpring
[
13
]
==
2
){
this
.
HotSpring
.
push
(
'阿米蒂奇:浴巾(收费)'
);
}
if
(
HotSpring
[
14
]
==
1
){
this
.
HotSpring
.
push
(
'水芹菜:洗发水(免费)'
);
}
else
if
(
HotSpring
[
14
]
==
2
){
this
.
HotSpring
.
push
(
'水芹菜:洗发水(收费)'
);
}
if
(
HotSpring
[
15
]
==
1
){
this
.
HotSpring
.
push
(
'阿姆尼蒂:林斯(免费)'
);
}
else
if
(
HotSpring
[
15
]
==
2
){
this
.
HotSpring
.
push
(
'阿姆尼蒂:林斯(收费)'
);
}
if
(
HotSpring
[
16
]
==
1
){
this
.
HotSpring
.
push
(
'阿米尼蒂:沐浴露(免费)'
);
}
else
if
(
HotSpring
[
16
]
==
2
){
this
.
HotSpring
.
push
(
'阿米尼蒂:沐浴露(收费)'
);
}
if
(
HotSpring
[
17
]
==
1
){
this
.
HotSpring
.
push
(
'水黾:肥皂(免费)'
);
}
else
if
(
HotSpring
[
17
]
==
2
){
this
.
HotSpring
.
push
(
'水黾:肥皂(收费)'
);
}
if
(
HotSpring
[
18
]
==
1
){
this
.
HotSpring
.
push
(
'亚健康:浴衣(免费)'
);
}
else
if
(
HotSpring
[
18
]
==
2
){
this
.
HotSpring
.
push
(
'亚健康:浴衣(收费)'
);
}
if
(
HotSpring
[
19
]
==
1
){
this
.
HotSpring
.
push
(
'艾尼蒂:睡衣(免费)'
);
}
else
if
(
HotSpring
[
19
]
==
2
){
this
.
HotSpring
.
push
(
'艾尼蒂:睡衣(收费)'
);
}
if
(
HotSpring
[
20
]
==
1
){
this
.
HotSpring
.
push
(
'阿姆尼蒂:浴衣(免费)'
);
}
else
if
(
HotSpring
[
20
]
==
2
){
this
.
HotSpring
.
push
(
'阿姆尼蒂:浴衣(收费)'
);
}
if
(
HotSpring
[
21
]
==
1
){
this
.
HotSpring
.
push
(
'足球运动员:吹风机(免费)'
);
}
else
if
(
HotSpring
[
21
]
==
2
){
this
.
HotSpring
.
push
(
'足球运动员:吹风机(收费)'
);
}
if
(
HotSpring
[
22
]
==
1
){
this
.
HotSpring
.
push
(
'艾尼蒂:羽毛被褥(免费)'
);
}
else
if
(
HotSpring
[
22
]
==
2
){
this
.
HotSpring
.
push
(
'艾尼蒂:羽毛被褥(收费)'
);
}
if
(
HotSpring
[
23
]
==
1
){
this
.
HotSpring
.
push
(
'艾尼蒂:刮胡子(免费)'
);
}
else
if
(
HotSpring
[
23
]
==
2
){
this
.
HotSpring
.
push
(
'艾尼蒂:刮胡子(收费)'
);
}
if
(
HotSpring
[
24
]
==
1
){
this
.
HotSpring
.
push
(
'水黾:淋浴帽(免费)'
);
}
else
if
(
HotSpring
[
24
]
==
2
){
this
.
HotSpring
.
push
(
'水黾:淋浴帽(收费)'
);
}
if
(
HotSpring
[
25
]
==
1
){
this
.
HotSpring
.
push
(
'阿米尼蒂:棉签(免费)'
);
}
else
if
(
HotSpring
[
25
]
==
2
){
this
.
HotSpring
.
push
(
'阿米尼蒂:棉签(收费)'
);
}
if
(
HotSpring
[
26
]
==
1
){
this
.
HotSpring
.
push
(
'水黾:冲澡(免费)'
);
}
else
if
(
HotSpring
[
26
]
==
2
){
this
.
HotSpring
.
push
(
'水黾:冲澡(收费)'
);
}
if
(
HotSpring
[
27
]
==
1
){
this
.
HotSpring
.
push
(
'石梳:梳子刷(有)'
);
}
if
(
HotSpring
[
28
]
==
1
){
this
.
HotSpring
.
push
(
'其他温泉浴:展望浴(没有条件)'
);
}
else
if
(
HotSpring
[
28
]
==
2
){
this
.
HotSpring
.
push
(
'其他温泉浴:展望浴(有条件)'
);
}
if
(
HotSpring
[
29
]
==
1
){
this
.
HotSpring
.
push
(
'其他:桑拿浴(免费)'
);
}
else
if
(
HotSpring
[
29
]
==
2
){
this
.
HotSpring
.
push
(
'其他:桑拿浴(收费)'
);
}
if
(
HotSpring
[
30
]
==
1
){
this
.
HotSpring
.
push
(
'其他:jazza(没有条件)'
);
}
else
if
(
HotSpring
[
29
]
==
2
){
this
.
HotSpring
.
push
(
'其他:jazza(有条件)'
);
}
}
}
}
else
{
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
Error
(
res
.
data
.
message
);
...
@@ -956,7 +1123,6 @@ export default {
...
@@ -956,7 +1123,6 @@ export default {
//获取符合条件房型
//获取符合条件房型
getSimilar
(){
getSimilar
(){
this
.
apipost
(
"dmc_post_Get_GetJAPAN_RoomsList"
,
this
.
SimilarMsg
,
res
=>
{
this
.
apipost
(
"dmc_post_Get_GetJAPAN_RoomsList"
,
this
.
SimilarMsg
,
res
=>
{
console
.
log
(
res
,
'similarrrr'
);
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
Object
.
prototype
.
toString
.
call
(
res
.
data
.
data
.
roomRateDetails
)
==
'[object Object]'
){
if
(
Object
.
prototype
.
toString
.
call
(
res
.
data
.
data
.
roomRateDetails
)
==
'[object Object]'
){
this
.
SimilarList
.
push
(
res
.
data
.
data
.
roomRateDetails
);
this
.
SimilarList
.
push
(
res
.
data
.
data
.
roomRateDetails
);
...
...
src/components/Hotel/HotelHome.vue
View file @
2fd345ed
...
@@ -152,21 +152,21 @@
...
@@ -152,21 +152,21 @@
</div>
</div>
<div
class=
"banner_img"
style=
"margin:0 auto;margin-top:30px;"
>
<div
class=
"banner_img"
style=
"margin:0 auto;margin-top:30px;"
>
<div
class=
"Ht_dangji"
>
<div
class=
"Ht_dangji"
>
<div
class=
"item"
>
<div
class=
"item"
@
click=
"goSearchDetail('大阪府')"
>
<img
src=
"../../assets/img/hotel/daban.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/daban.png"
alt=
""
/>
<div
class=
"line"
></div>
<div
class=
"line"
></div>
<div
class=
"Ht_diming"
>
<div
class=
"Ht_diming"
>
大阪
大阪
</div>
</div>
</div>
</div>
<div
class=
"item"
>
<div
class=
"item"
@
click=
"goSearchDetail('东京都')"
>
<img
src=
"../../assets/img/hotel/dongjing.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/dongjing.png"
alt=
""
/>
<div
class=
"line"
></div>
<div
class=
"line"
></div>
<div
class=
"Ht_diming"
>
<div
class=
"Ht_diming"
>
东京
东京
</div>
</div>
</div>
</div>
<div
class=
"item"
>
<div
class=
"item"
@
click=
"goSearchDetail('京都府')"
>
<img
src=
"../../assets/img/hotel/jingdu.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/jingdu.png"
alt=
""
/>
<div
class=
"line"
></div>
<div
class=
"line"
></div>
<div
class=
"Ht_diming"
>
<div
class=
"Ht_diming"
>
...
@@ -215,33 +215,33 @@
...
@@ -215,33 +215,33 @@
</div>
</div>
<div
class=
"Ht_hotArea"
>
<div
class=
"Ht_hotArea"
>
<div
class=
"Ht_hoAreaOne"
>
<div
class=
"Ht_hoAreaOne"
>
<img
src=
"../../assets/img/hotel/mgw.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/mgw.png"
@
click=
"goSearchDetail('名古屋')"
alt=
""
/>
<div>
名古屋
</div>
<div>
名古屋
</div>
</div>
</div>
<div
class=
"Ht_otherCommon"
>
<div
class=
"Ht_otherCommon"
>
<img
src=
"../../assets/img/hotel/biefu.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/biefu.png"
@
click=
"goSearchDetail('大分县')"
alt=
""
/>
<div>
别府
</div>
<div>
别府
</div>
</div>
</div>
<div
class=
"Ht_otherCommon"
>
<div
class=
"Ht_otherCommon"
>
<img
src=
"../../assets/img/hotel/dongye.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/dongye.png"
@
click=
"goSearchDetail('北海道')"
alt=
""
/>
<div>
洞爷.登别.苫小牧
</div>
<div>
洞爷.登别.苫小牧
</div>
</div>
</div>
</div>
</div>
<div
class=
"Ht_hotArea"
style=
"margin-top:3px;"
>
<div
class=
"Ht_hotArea"
style=
"margin-top:3px;"
>
<div
class=
"Ht_otherCommon"
style=
"margin-left:0;"
>
<div
class=
"Ht_otherCommon"
style=
"margin-left:0;"
>
<img
src=
"../../assets/img/hotel/shangye.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/shangye.png"
@
click=
"goSearchDetail('东京都')"
alt=
""
/>
<div>
上野.浅草两国
</div>
<div>
上野.浅草两国
</div>
</div>
</div>
<div
class=
"Ht_otherCommon"
>
<div
class=
"Ht_otherCommon"
>
<img
src=
"../../assets/img/hotel/shenhu.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/shenhu.png"
@
click=
"goSearchDetail('兵库县')"
alt=
""
/>
<div>
神户.有马.明石
头
</div>
<div>
神户.有马.明石
</div>
</div>
</div>
<div
class=
"Ht_otherCommon"
>
<div
class=
"Ht_otherCommon"
>
<img
src=
"../../assets/img/hotel/xianggen.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/xianggen.png"
@
click=
"goSearchDetail('神奈川县')"
alt=
""
/>
<div>
箱根
</div>
<div>
箱根
</div>
</div>
</div>
<div
class=
"Ht_otherCommon"
>
<div
class=
"Ht_otherCommon"
>
<img
src=
"../../assets/img/hotel/zhoubian.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/zhoubian.png"
@
click=
"goSearchDetail('京都府')"
alt=
""
/>
<div>
京都站周边
</div>
<div>
京都站周边
</div>
</div>
</div>
</div>
</div>
...
@@ -324,7 +324,7 @@ export default {
...
@@ -324,7 +324,7 @@ export default {
isShowPop
:
false
,
isShowPop
:
false
,
pickerOptions0
:
{
pickerOptions0
:
{
disabledDate
(
time
)
{
disabledDate
(
time
)
{
let
today_after7
=
moment
().
add
(
0
,
'days'
).
format
(
'YYYY-MM-DD'
);
let
today_after7
=
moment
().
add
(
8
,
'days'
).
format
(
'YYYY-MM-DD'
);
return
time
.
getTime
()
<
new
Date
(
today_after7
).
getTime
()
-
8.64e7
;
return
time
.
getTime
()
<
new
Date
(
today_after7
).
getTime
()
-
8.64e7
;
}
}
},
},
...
@@ -340,12 +340,43 @@ export default {
...
@@ -340,12 +340,43 @@ export default {
methods
:
{
methods
:
{
//查询
//查询
Search
()
{
Search
()
{
console
.
log
(
this
.
msg
,
'msgggg'
);
if
(
this
.
msg
.
place
==
''
){
this
.
Error
(
'请选择目的地'
);
return
;
}
if
(
this
.
msg
.
StartDate
==
''
){
this
.
Error
(
'请选择入住时间'
);
return
;
}
if
(
this
.
msg
.
EndDate
==
''
){
this
.
Error
(
'请选择退房时间'
);
return
;
}
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
"/HotelList"
,
path
:
"/HotelList"
,
query
:{
msg
:
JSON
.
stringify
(
this
.
msg
)}
query
:{
msg
:
JSON
.
stringify
(
this
.
msg
)}
})
})
},
},
//首页点击跳转
goSearchDetail
(
keywords
){
let
msg
=
{
place
:
keywords
,
StartDate
:
moment
().
format
(
"YYYY-MM-DD"
),
EndDate
:
moment
().
add
(
1
,
'days'
).
format
(
'YYYY-MM-DD'
),
roomList
:[
{
roomNum
:
1
,
numberOfAdults
:
1
,
numberOfChildren
:
0
,
childAges
:
0
}
],
}
this
.
$router
.
push
({
path
:
"/HotelList"
,
query
:{
msg
:
JSON
.
stringify
(
msg
)}
})
},
//房间数改变
//房间数改变
getRoomList
(
roomNum
){
getRoomList
(
roomNum
){
this
.
isShowPop
=
true
;
this
.
isShowPop
=
true
;
...
@@ -589,6 +620,9 @@ export default {
...
@@ -589,6 +620,9 @@ export default {
width
:
1200px
;
width
:
1200px
;
margin
:
auto
;
margin
:
auto
;
}
}
.Ht_hotArea
>
div
{
cursor
:
pointer
;
}
.Ht_special
>
div
{
.Ht_special
>
div
{
width
:
240px
;
width
:
240px
;
height
:
260px
;
height
:
260px
;
...
...
src/components/Hotel/HotelList.vue
View file @
2fd345ed
...
@@ -96,10 +96,10 @@
...
@@ -96,10 +96,10 @@
}
}
.HL_ScList
{
.HL_ScList
{
width
:
100%
;
width
:
100%
;
height
:
4
3
px
;
height
:
4
0
px
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
border-bottom
:
1px
solid
#DDDDDD
;
/* border-bottom:1px solid #DDDDDD; */
position
:
relative
;
position
:
relative
;
}
}
.HL_ScList
:last-child
{
.HL_ScList
:last-child
{
...
@@ -107,7 +107,7 @@
...
@@ -107,7 +107,7 @@
}
}
.HL_Screen
.HL_ScList
span
{
.HL_Screen
.HL_ScList
span
{
display
:
inline-block
;
display
:
inline-block
;
margin-right
:
6
0px
;
margin-right
:
2
0px
;
cursor
:
pointer
;
cursor
:
pointer
;
padding
:
4px
8px
;
padding
:
4px
8px
;
...
@@ -177,6 +177,7 @@
...
@@ -177,6 +177,7 @@
.HL_ListTable
{
.HL_ListTable
{
float
:
left
;
float
:
left
;
width
:
840px
;
width
:
840px
;
/* width:100%; */
border-collapse
:
collapse
;
border-collapse
:
collapse
;
}
}
.HL_ListTable
td
{
.HL_ListTable
td
{
...
@@ -206,6 +207,7 @@
...
@@ -206,6 +207,7 @@
position
:
relative
;
position
:
relative
;
margin-left
:
13px
;
margin-left
:
13px
;
width
:
605px
;
width
:
605px
;
/* width:900px; */
height
:
148px
;
height
:
148px
;
}
}
.HL_ListTitle
{
.HL_ListTitle
{
...
@@ -328,7 +330,7 @@
...
@@ -328,7 +330,7 @@
cursor
:
pointer
;
cursor
:
pointer
;
color
:
blue
;
color
:
blue
;
position
:
absolute
;
position
:
absolute
;
right
:
55
px
;
right
:
10
px
;
top
:
14px
;
top
:
14px
;
}
}
.HotelList
.pagination
{
.HotelList
.pagination
{
...
@@ -355,7 +357,10 @@
...
@@ -355,7 +357,10 @@
color
:
rgb
(
239
,
242
,
247
);
color
:
rgb
(
239
,
242
,
247
);
}
}
.HL_Maxheight
{
.HL_Maxheight
{
height
:
150px
!important
;
height
:
114px
!important
;
}
.HL_Two
.icon-img-rili
{
margin-left
:
0
!important
;
}
}
</
style
>
</
style
>
...
@@ -420,6 +425,7 @@
...
@@ -420,6 +425,7 @@
size=
"small"
size=
"small"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
v-model=
"msg.arrivalDate"
v-model=
"msg.arrivalDate"
:picker-options=
"pickerOptions0"
type=
"date"
type=
"date"
placeholder=
"入住日"
>
placeholder=
"入住日"
>
</el-date-picker>
</el-date-picker>
...
@@ -428,6 +434,7 @@
...
@@ -428,6 +434,7 @@
size=
"small"
size=
"small"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
v-model=
"msg.departureDate"
v-model=
"msg.departureDate"
:picker-options=
"pickerOptions0"
type=
"date"
type=
"date"
placeholder=
"离店日"
>
placeholder=
"离店日"
>
</el-date-picker>
</el-date-picker>
...
@@ -531,28 +538,6 @@
...
@@ -531,28 +538,6 @@
{{
item
.
name
}}
{{
item
.
name
}}
</span>
</span>
</div>
</div>
<!--
<div
class=
"HL_ScList"
>
<span
class=
"HL_Stitle"
>
客房设施
</span>
<span>
禁烟
</span>
<span>
吸烟
</span>
</div>
-->
<!--
<div
class=
"HL_ScList"
>
<span
class=
"HL_Stitle"
>
网络
</span>
<span>
WiFi(免费)
</span>
<span>
WiFi(收费)
</span>
<span>
有线(免费)
</span>
<span>
有线(收费)
</span>
</div>
-->
<!--
<div
class=
"HL_ScList"
>
<span
class=
"HL_Stitle"
>
支付方法
</span>
<span>
可以网上支付
</span>
<span>
可以当地支付
</span>
</div>
<div
class=
"HL_ScList"
>
<span
class=
"HL_Stitle"
>
产品特性
</span>
<span>
越早预订越便宜
</span>
<span>
限定期限
</span>
</div>
-->
<div
class=
"HL_ScList MoreList"
style=
"height:auto;"
>
<div
class=
"HL_ScList MoreList"
style=
"height:auto;"
>
<div
class=
"HL_Stitle"
style=
"height:45px;"
:class=
"isOpen==2?'HL_Maxheight':''"
>
理念
</div>
<div
class=
"HL_Stitle"
style=
"height:45px;"
:class=
"isOpen==2?'HL_Maxheight':''"
>
理念
</div>
<div
class=
"HL_Concept"
:class=
"isOpen==1?'HL_minHeight':'HL_AutoHeight'"
>
<div
class=
"HL_Concept"
:class=
"isOpen==1?'HL_minHeight':'HL_AutoHeight'"
>
...
@@ -576,8 +561,8 @@
...
@@ -576,8 +561,8 @@
</div>
</div>
<div
class=
"HL_ScList"
>
<div
class=
"HL_ScList"
>
<span
class=
"HL_Stitle"
>
酒店名称
</span>
<span
class=
"HL_Stitle"
>
酒店名称
</span>
<el-input
type=
"text"
class=
"HL_searchHotelName"
style=
"width:320px;"
v-model=
"keyWords"
placeholder=
"请输入你想找的酒店名称"
/>
<el-input
type=
"text"
class=
"HL_searchHotelName"
style=
"width:320px;"
@
keyup
.
native
.
enter=
"SearchHotel(),resetPageIndex()"
v-model=
"keyWords"
placeholder=
"请输入你想找的酒店名称"
/>
<span
class=
"HL_searchBtn"
@
click=
"SearchHotel"
>
搜索
</span>
<span
class=
"HL_searchBtn"
@
click=
"SearchHotel
(),resetPageIndex()
"
>
搜索
</span>
</div>
</div>
</div>
</div>
<div
class=
"HL_BtmList"
>
<div
class=
"HL_BtmList"
>
...
@@ -590,7 +575,8 @@
...
@@ -590,7 +575,8 @@
<i
class=
"iconfont icon-jiantou-copy"
></i>
-->
<i
class=
"iconfont icon-jiantou-copy"
></i>
-->
</div>
</div>
<div
class=
"clearfix"
v-loading=
"loading"
>
<div
class=
"clearfix"
v-loading=
"loading"
>
<div
style=
"width:838px;float:left;min-height:380px;"
>
<!--
<div
style=
"width:838px;float:left;min-height:380px;"
>
-->
<div
style=
"float:left;min-height:380px;"
v-if=
"dataList.length>0"
>
<table
class=
"HL_ListTable"
>
<table
class=
"HL_ListTable"
>
<tr
v-for=
"item in dataList"
>
<tr
v-for=
"item in dataList"
>
<td>
<td>
...
@@ -636,26 +622,29 @@
...
@@ -636,26 +622,29 @@
</td>
</td>
</tr>
</tr>
</table>
</table>
<div
v-if=
"dataList.length==0"
style=
"padding:15px 0;text-align:center"
>
<div
class=
"empty-data"
><i
class=
"iconfont icon-kong"
></i>
很抱歉,你想要的信息我们真的找不到了
</div>
</div>
</div>
</div>
<div
class=
"HL_Map"
>
<div
class=
"HL_Map"
v-if=
"travelLngLat.length>0"
>
<HTMap
:dataList=
"travelLngLat"
:type=
"1"
></HTMap>
</div>
<div
v-if=
"dataList.length==0"
style=
"padding:15px 0;text-align:center"
>
<div
class=
"empty-data"
><i
class=
"iconfont icon-kong"
></i>
很抱歉,你想要的信息我们真的找不到了
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<el-pagination
v-if=
"dataList.length>0"
class=
"pagination"
<el-pagination
v-if=
"dataList.length>0"
class=
"pagination"
@
current-change=
"CurrentChange"
@
current-change=
"CurrentChange"
:current-page
.
sync=
"currentPage"
background
background
layout=
"prev, pager, next"
layout=
"
total,
prev, pager, next"
:total=
"TotalPage"
>
:total=
"TotalPage"
>
</el-pagination>
</el-pagination>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
moment
from
"moment"
;
import
HTMap
from
'../global/HTMap'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -681,6 +670,7 @@ export default {
...
@@ -681,6 +670,7 @@ export default {
},
},
//总页数
//总页数
TotalPage
:
0
,
TotalPage
:
0
,
currentPage
:
1
,
monyMsg
:{
monyMsg
:{
//最小金额
//最小金额
searchMinRate
:
''
,
searchMinRate
:
''
,
...
@@ -892,13 +882,20 @@ export default {
...
@@ -892,13 +882,20 @@ export default {
departureDate
:
''
,
departureDate
:
''
,
searchroomGroup
:[],
searchroomGroup
:[],
lowrateBySetCurrency
:
''
lowrateBySetCurrency
:
''
}
},
pickerOptions0
:
{
disabledDate
(
time
)
{
let
today_after7
=
moment
().
add
(
8
,
'days'
).
format
(
'YYYY-MM-DD'
);
return
time
.
getTime
()
<
new
Date
(
today_after7
).
getTime
()
-
8.64e7
;
}
},
//坐标数组
travelLngLat
:[]
};
};
},
},
mounted
()
{
mounted
()
{
let
msgList
=
JSON
.
parse
(
this
.
$route
.
query
.
msg
);
let
msgList
=
JSON
.
parse
(
this
.
$route
.
query
.
msg
);
this
.
placeKeyWords
=
msgList
.
place
;
this
.
placeKeyWords
=
msgList
.
place
;
console
.
log
(
msgList
,
'msgList'
);
this
.
msg
.
arrivalDate
=
msgList
.
StartDate
;
this
.
msg
.
arrivalDate
=
msgList
.
StartDate
;
this
.
msg
.
departureDate
=
msgList
.
EndDate
;
this
.
msg
.
departureDate
=
msgList
.
EndDate
;
this
.
auditNum
=
msgList
.
auditNum
;
this
.
auditNum
=
msgList
.
auditNum
;
...
@@ -910,6 +907,9 @@ export default {
...
@@ -910,6 +907,9 @@ export default {
},
},
created
()
{
created
()
{
},
components
:
{
HTMap
},
},
methods
:
{
methods
:
{
CurrentChange
(
val
)
{
CurrentChange
(
val
)
{
...
@@ -1011,19 +1011,31 @@ export default {
...
@@ -1011,19 +1011,31 @@ export default {
this
.
msg
.
searchMealType
.
push
(
x
.
Id
);
this
.
msg
.
searchMealType
.
push
(
x
.
Id
);
}
}
})
})
console
.
log
(
this
.
msg
,
'msg'
);
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
dataList
=
[];
this
.
dataList
=
[];
this
.
travelLngLat
=
[];
this
.
apipost
(
"dmc_post_Get_GetJAPAN_HotelList"
,
this
.
msg
,
res
=>
{
this
.
apipost
(
"dmc_post_Get_GetJAPAN_HotelList"
,
this
.
msg
,
res
=>
{
console
.
log
(
res
,
'resssss'
);
this
.
loading
=
false
;
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
console
.
log
(
res
,
'resssss'
);
if
(
Object
.
prototype
.
toString
.
call
(
res
.
data
.
data
.
hotelSummary
)
==
'[object Object]'
){
this
.
dataList
=
res
.
data
.
data
.
hotelSummary
;
this
.
dataList
.
push
(
res
.
data
.
data
.
hotelSummary
);
}
else
{
this
.
dataList
=
res
.
data
.
data
.
hotelSummary
;
}
//获取酒店坐标
this
.
dataList
.
forEach
(
x
=>
{
this
.
dataList
.
forEach
(
x
=>
{
x
.
reviewRating
=
parseFloat
(
x
.
reviewRating
);
x
.
reviewRating
=
parseFloat
(
x
.
reviewRating
);
let
obj
=
{
lat
:
x
.
latitudeW
,
lng
:
x
.
longitudeW
,
name
:
x
.
hotelName
}
this
.
travelLngLat
.
push
(
obj
);
})
})
this
.
TotalPage
=
parseInt
(
res
.
data
.
data
.
numberOfResultMatched
);
this
.
TotalPage
=
parseInt
(
res
.
data
.
data
.
numberOfResultMatched
);
this
.
PassMsg
.
groupBookingFlg
=
res
.
data
.
data
.
groupBookingFlg
;
this
.
PassMsg
.
groupBookingFlg
=
res
.
data
.
data
.
groupBookingFlg
;
console
.
log
(
this
.
travelLngLat
,
'travellngggg'
);
}
else
{
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
Error
(
res
.
data
.
message
);
}
}
...
@@ -1031,6 +1043,11 @@ export default {
...
@@ -1031,6 +1043,11 @@ export default {
err
=>
{}
err
=>
{}
);
);
},
},
//重置页数
resetPageIndex
()
{
this
.
msg
.
displayFrom
=
1
;
this
.
currentPage
=
1
;
},
//按人气排序
//按人气排序
OrderBySource
(
type
){
OrderBySource
(
type
){
this
.
msg
.
sort
=
type
;
this
.
msg
.
sort
=
type
;
...
...
src/components/Hotel/HotelPay.vue
0 → 100644
View file @
2fd345ed
<
template
>
<div
class=
"pay_vue"
>
<el-row
v-show=
"order_exit=='1'"
:gutter=
"18"
>
<el-col
:span=
"18"
:offset=
"3"
>
<!-- 头部 -->
<div
class=
"head"
style=
"margin-top:20px;"
>
<div
style=
"box-sizing:border-box;"
>
<div
style=
"float:left;"
>
<i
class=
"iconfont icon-jinggao"
></i>
<div
style=
"margin-left:50px"
>
<p
style=
"font-size:14px;font-weight:600"
>
订单提交成功!
</p>
<p
style=
"font-size:12px"
>
请您在
<span
style=
"color:#FF680B;"
>
12小时
</span>
内完成支付,否则订单会自动取消
</p>
</div>
</div>
<div
style=
"text-align:center;float:right"
>
<span
style=
"font-weight:200;font-size:12px;margin-right:10px;"
>
应付金额
</span>
<span
style=
"color:#FF680B;font-size:18px;font-weight:bold;"
>
{{
TotalPrice
}}
</span>
<span
style=
"font-size:12px;color:#333333"
>
元
</span>
</div>
</div>
</div>
<div
class=
"payvue_content"
>
<div
class=
"ordernum"
>
订单号 :
{{
bookingNumber
}}
<div
class=
"triangle_border_left"
></div>
</div>
<p
style=
"text-align:center;font-size:18px;color:#333333"
>
支付金额
<span
style=
"font-size:18px;color:#FF680B;"
>
¥
</span>
<span
style=
"color:#FF680B;font-size:30px;font-weight:bold;"
>
{{
TotalPrice
}}
</span>
</p>
<el-row
style=
"margin-top:30px"
v-loading=
"codeLoading"
>
<el-col
class=
"position"
style=
"padding-right:50px"
:span=
"12"
>
<div
style=
"float:right"
class=
"pay_img"
>
<div
class=
"w21"
>
<img
class=
"title_img"
src=
"../../assets/img/ticket/zfb.png"
alt=
""
>
<div
class=
"title_content"
>
<p>
支付宝
</p>
<p>
<span
@
click=
"Code('3')"
style=
"cursor:pointer;color:#FF680B;font-size:14px"
>
点击生成二维码
</span>
打开支付宝扫码支付
</p>
</div>
</div>
<div
v-show=
"zfbpay_imgcode"
style=
"text-align:center"
>
<img
class=
"pay_imgcode"
:src=
"codeInfo.CodeURL"
alt=
""
>
<p
style=
"color:#FF680B;cursor:pointer"
@
click=
"Code('3')"
v-show=
"code_ts!=''"
>
{{
code_ts
}}
</p>
<!--
<p>
二维码有效时限
<span
style=
"color:#FF680B;font-size:14px"
>
{{
time_zfb_5
}}
</span>
</p>
-->
</div>
</div>
</el-col>
<el-col
class=
"position"
style=
"padding-left:50px"
:span=
"12"
>
<div
class=
"pay_img"
>
<div
class=
"w21"
>
<img
class=
"title_img"
src=
"../../assets/img/ticket/weixin.png"
alt=
""
>
<div
class=
"title_content"
>
<p>
微信
</p>
<p>
<span
@
click=
"Code('1')"
style=
"cursor:pointer;color:#FF680B;font-size:14px"
>
点击生成二维码
</span>
打开微信扫码支付
</p>
</div>
</div>
<div
v-show=
"wxpay_imgcode"
style=
"text-align:center"
>
<img
class=
"pay_imgcode"
:src=
"codeInfo.CodeURL"
alt=
""
>
<p
style=
"color:#FF680B;cursor:pointer"
@
click=
"Code('1')"
v-show=
"code_ts!=''"
>
{{
code_ts
}}
</p>
<!--
<p>
二维码有效时限
<span
style=
"color:#FF680B;font-size:14px"
>
{{
time_zfb_5
}}
</span>
</p>
-->
</div>
</div>
</el-col>
</el-row>
</div>
</el-col>
</el-row>
<!-- 订单自动取消 -->
<div
v-show=
"order_exit=='2'"
style=
"margin:20px auto;text-align:center"
>
<span>
{{
order_exit_info
}}
</span>
<router-link
to=
"/HotelSure"
style=
"color:#ee4454;text-decoration:underline"
>
返回重新下单>>
</router-link>
</div>
<div
class=
"orderPay"
v-show=
"order_exit=='3'"
>
<div
class=
"div_1"
>
<img
src=
"../../assets/img/ticket/gou.png"
alt=
""
>
<div
style=
"padding-left:80px;box-sizing: border-box;width:100%"
>
<p
style=
"font-size:24px;color:#333;font-weight:700"
>
订单支付成功!
</p>
<p
style=
"font-size:12px;color:#333"
>
如有疑问 可致电028-565464646
<!--
<router-link
to=
"/newPersonalCenter?key=8-1"
style=
"color:#ee4454;text-decoration:underline"
>
查看订单>>
</router-link>
-->
</p>
</div>
</div>
<div
class=
"div_2"
>
<p>
<span>
支付金额:¥
{{
TotalPrice
}}
</span>
</p>
<p>
<span>
订单编号:
{{
bookingNumber
}}
</span>
</p>
</div>
<img
class=
"back"
src=
"../../assets/img/ticket/back.png"
alt=
""
>
</div>
</div>
</
template
>
<
script
>
import
moment
from
'moment'
export
default
{
data
()
{
return
{
visa
:
false
,
zfbpay_imgcode
:
false
,
wxpay_imgcode
:
false
,
time_15
:
0
,
time_zfb_5
:
0
,
code
:
{
OrderSource
:
1
,
body
:
""
,
attach
:
""
,
total_fee
:
""
,
payway
:
""
,
CancelTime
:
''
},
AirOrderId
:
0
,
Commoditydetails
:
{},
codeInfo
:{},
order_exit
:
'1'
,
order_exit_info
:
""
,
order_status
:
false
,
timer
:
""
,
code_yxq
:
0
,
code_timer
:
''
,
code_ts
:
""
,
codeLoading
:
false
,
PayOrder
:
""
,
Pay_timer
:
""
,
CodeVialdTime
:
0
,
payway
:
-
1
,
Visainfo
:{},
//应付总额
TotalPrice
:
0
,
//订单号
bookingNumber
:
0
};
},
created
()
{
this
.
visa
=
true
;
let
msgList
=
JSON
.
parse
(
this
.
$route
.
query
.
msg
);
let
userInfo
=
this
.
getLocalStorage
();
this
.
TotalPrice
=
msgList
.
bookMoney
;
this
.
bookingNumber
=
msgList
.
orderId
;
this
.
code
.
body
=
`酒店名称
${
msgList
.
hotelName
}
,总人数
${
msgList
.
totalPnumber
}
人,总价格
${
msgList
.
bookMoney
}
元`
;
this
.
code
.
attach
=
`
${
msgList
.
costType
}
|
${
userInfo
.
name
}
|
${
msgList
.
orderId
}
|
${
userInfo
.
customerId
}
|
${
msgList
.
RB_Branch_id
}
`
this
.
code
.
total_fee
=
msgList
.
bookMoney
+
''
;
this
.
code
.
CancelTime
=
moment
(
msgList
.
CancelTime
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
this
.
Code
(
'3'
);
},
destroyed
:
function
()
{
clearInterval
(
this
.
Pay_timer
);
},
methods
:
{
Code
(
str
)
{
this
.
payway
=
str
?
this
.
payway
=
str
:
this
.
payway
;
this
.
codeLoading
=
true
;
this
.
code_ts
=
""
;
this
.
zfbpay_imgcode
=
false
;
this
.
wxpay_imgcode
=
false
;
this
.
code
.
payway
=
this
.
payway
;
this
.
apipost
(
"OnlinePay_post_GetCodeUrl"
,
this
.
code
,
res
=>
{
this
.
codeLoading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
codeInfo
=
res
.
data
.
data
;
this
.
code_yxq
=
moment
(
this
.
codeInfo
.
ExpireDate
).
format
(
'x'
)
-
moment
(
this
.
codeInfo
.
NowDate
).
format
(
'x'
);
if
((
this
.
code_yxq
/
1000
)
>
this
.
CodeVialdTime
){
this
.
CodeVialdTime
=
(
this
.
code_yxq
/
1000
);
}
this
.
PayOrder
=
this
.
codeInfo
.
Pay_Order
;
clearInterval
(
this
.
Pay_timer
);
this
.
Time5
();
this
.
PayStatus
();
if
(
this
.
payway
==
"1"
)
{
//微信
this
.
wxpay_imgcode
=
true
;
}
else
if
(
this
.
payway
==
"3"
)
{
//支付宝
this
.
zfbpay_imgcode
=
true
;
}
if
(
res
.
data
.
data
.
IsUpdateAirOrderPayStatus
==
1
){
// 获取支付状态
}
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
err
=>
{}
);
},
Time15
()
{
clearInterval
(
this
.
timer
);
this
.
CodeVialdTime
=
parseInt
(
this
.
Commoditydetails
.
timeMillisecond
/
1000
);
this
.
timer
=
setInterval
(()
=>
{
this
.
CodeVialdTime
--
;
if
(
this
.
CodeVialdTime
<=
0
)
{
clearInterval
(
this
.
timer
);
clearInterval
(
this
.
Pay_timer
);
this
.
order_exit
=
'2'
;
this
.
order_exit_info
=
"订单支付超时,请重新下单!"
}
this
.
time_15
=
this
.
s_to_hs
(
this
.
CodeVialdTime
);
},
1000
);
},
// 验证是否支付成功
PayStatus
(){
this
.
Pay_timer
=
setInterval
(()
=>
{
this
.
apipost
(
"ticket_get_GetAirPayMoneyIsSuccess"
,
{
PayOrder
:
this
.
PayOrder
},
res
=>
{
// res.data.resultCode =1;
if
(
res
.
data
.
resultCode
==
1
)
{
clearInterval
(
this
.
Pay_timer
);
this
.
order_exit
=
'3'
;
}
else
{
// this.$message.error(res.message)
// this.payok=false;
}
},
err
=>
{}
);
},
10000
);
},
s_to_hs
(
s
)
{
//计算分钟
//算法:将秒数除以60,然后下舍入,既得到分钟数
var
h
;
h
=
Math
.
floor
(
s
/
60
);
//计算秒
//算法:取得秒%60的余数,既得到秒数
s
=
s
%
60
;
//将变量转换为字符串
h
+=
""
;
s
+=
""
;
//如果只有一位数,前面增加一个0
h
=
h
.
length
==
1
?
"0"
+
h
:
h
;
s
=
s
.
length
==
1
?
"0"
+
s
:
s
;
return
h
+
"分"
+
s
+
"秒"
;
},
Time5
()
{
clearInterval
(
this
.
code_timer
);
let
numall
=
this
.
code_yxq
/
1000
;
this
.
code_timer
=
setInterval
(()
=>
{
numall
--
;
if
(
numall
<=
0
)
{
if
(
this
.
CodeVialdTime
>
0
){
this
.
Code
();
}
else
{
this
.
code_ts
=
"二维码有效时限过期,点击重新生成"
clearInterval
(
this
.
code_timer
);
}
}
this
.
time_zfb_5
=
this
.
s_to_hs
(
numall
);
},
1000
);
},
}
};
</
script
>
<
style
>
.pay_vue
{
font-family
:
"PingFang"
}
.pay_vue
.icon-jinggao
{
color
:
#49C0A1
;
font-size
:
38px
;
position
:
absolute
;
top
:
8px
;
}
.pay_vue
.orderPay
.div_2
p
span
:nth-child
(
2
)
{
float
:
right
;
}
.pay_vue
.orderPay
.div_2
{
margin-top
:
20px
;
width
:
320px
;
}
.pay_vue
.orderPay
.div_2
p
{
padding
:
6px
0
;
margin
:
20px
0
;
font-size
:
12px
;
color
:
#333
;
border-bottom
:
1px
solid
rgba
(
221
,
221
,
221
,
1
);
}
.pay_vue
.orderPay
.div_1
img
{
width
:
54px
;
height
:
54px
;
position
:
absolute
;
}
.pay_vue
.orderPay
.div_1
{
position
:
relative
;
box-sizing
:
border-box
;
}
.pay_vue
.orderPay
{
padding-top
:
130px
;
padding-left
:
150px
;
margin
:
30px
auto
;
width
:
1039px
;
height
:
553px
;
position
:
relative
;
box-shadow
:
0px
4px
38px
0px
rgba
(
107
,
107
,
107
,
0.2
);
box-sizing
:
border-box
;
}
.pay_vue
.orderPay
.back
{
position
:
absolute
;
width
:
384px
;
height
:
289px
;
right
:
10px
;
top
:
110px
;
}
.position
{
box-sizing
:
border-box
;
}
.payvue_content
.pay_img
.pay_imgcode
{
display
:
block
;
margin
:
15px
auto
;
width
:
216px
;
height
:
216px
;
}
.payvue_content
.pay_img
.w21
.title_content
{
padding-left
:
70px
;
box-sizing
:
border-box
;
overflow
:
auto
;
}
.payvue_content
.pay_img
.w21
{
position
:
relative
;
}
.payvue_content
.pay_img
.title_img
{
width
:
47px
;
height
:
47px
;
border-radius
:
50%
;
position
:
absolute
;
}
.payvue_content
.pay_img
{
width
:
350px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
box-shadow
:
0px
0px
6px
0px
rgba
(
107
,
107
,
107
,
0.2
);
padding
:
28px
10px
;
box-sizing
:
border-box
;
}
.payvue_content
.ordernum
{
position
:
relative
;
width
:
203px
;
height
:
35px
;
line-height
:
35px
;
background
:
#49c0a1
;
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
255
,
255
,
255
,
1
);
padding-left
:
16px
;
box-sizing
:
border-box
;
margin-left
:
-7px
;
border-right-color
:
transparent
;
}
.payvue_content
.triangle_border_left
{
width
:
0
;
height
:
0
;
border-width
:
17px
17px
17px
0
;
border-style
:
solid
;
border-color
:
transparent
#30a19b
transparent
transparent
;
/*透明 灰 透明 透明 */
position
:
absolute
;
right
:
0
;
top
:
0px
;
}
.payvue_content
.ordernum
:after
{
/*书签的夹角*/
content
:
''
;
position
:
absolute
;
top
:
35px
;
left
:
0px
;
border
:
3px
solid
#49c0a1
;
border-left-color
:
transparent
;
border-bottom-color
:
transparent
;
}
.pay_vue
p
{
margin
:
0
;
}
.pay_vue
.head
{
padding
:
4px
0
;
position
:
relative
;
height
:
40px
;
}
.payvue_content
{
min-height
:
479px
;
position
:
relative
;
margin-top
:
15px
;
padding-bottom
:
25px
;
padding-top
:
16px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
box-shadow
:
0px
4px
38px
0px
rgba
(
107
,
107
,
107
,
0.2
);
}
</
style
>
src/components/Hotel/HotelSure.vue
View file @
2fd345ed
...
@@ -181,7 +181,7 @@
...
@@ -181,7 +181,7 @@
}
}
.HS_HotelRight
{
.HS_HotelRight
{
width
:
346px
;
width
:
346px
;
height
:
2
98
px
;
height
:
2
57
px
;
padding
:
17px
20px
20px
20px
;
padding
:
17px
20px
20px
20px
;
border
:
1px
solid
#E0E0E0
;
border
:
1px
solid
#E0E0E0
;
border-top
:
0
;
border-top
:
0
;
...
@@ -315,18 +315,18 @@
...
@@ -315,18 +315,18 @@
<div
class=
"HotelSure"
>
<div
class=
"HotelSure"
>
<div
class=
"HS_LeftInfo"
>
<div
class=
"HS_LeftInfo"
>
<div
class=
"HS_div1"
>
<div
class=
"HS_div1"
>
<div
class=
"HS_divFirst Hs_OneType"
>
<
!--
<
div
class=
"HS_divFirst Hs_OneType"
>
<img
src=
"../../assets/img/hotel/childbed.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/childbed.png"
alt=
""
/>
免费!0-1岁儿童可免费使用婴儿床
免费!0-1岁儿童可免费使用婴儿床
</div>
-->
<div
class=
"HS_divThree Hs_OneType"
style=
"margin:20px 0 20px 20px;"
>
<img
src=
"../../assets/img/hotel/childbed3.png"
alt=
""
/>
超过13岁视为成人处理
</div>
</div>
<div
class=
"HS_divTwo Hs_OneType"
>
<div
class=
"HS_divTwo Hs_OneType"
>
<img
src=
"../../assets/img/hotel/childbed2.png"
alt=
""
/>
<img
src=
"../../assets/img/hotel/childbed2.png"
alt=
""
/>
预定成功后房间将为您整晚保留
预定成功后房间将为您整晚保留
</div>
</div>
<div
class=
"HS_divThree"
>
<img
src=
"../../assets/img/hotel/childbed3.png"
alt=
""
/>
超过13岁视为成人处理
</div>
</div>
</div>
<div
class=
"HS_div2"
>
<div
class=
"HS_div2"
>
<div
class=
"HS_bookTitle"
>
预订信息
</div>
<div
class=
"HS_bookTitle"
>
预订信息
</div>
...
@@ -392,7 +392,7 @@
...
@@ -392,7 +392,7 @@
<li
class=
"HS2_title"
>
房间数量
</li>
<li
class=
"HS2_title"
>
房间数量
</li>
<li>
<li>
<
template
v-if=
"dataList.roomGroup"
>
<
template
v-if=
"dataList.roomGroup"
>
{{
dataList
.
roomGroup
.
roomCount
}}
{{
dataList
.
roomGroup
.
length
}}
</
template
>
</
template
>
<!-- <el-select style="width:80px" clearable placeholder="">
<!-- <el-select style="width:80px" clearable placeholder="">
<el-option :value="1" label="1"></el-option>
<el-option :value="1" label="1"></el-option>
...
@@ -411,9 +411,9 @@
...
@@ -411,9 +411,9 @@
仅剩{{dataList.currentAllotment}}间
仅剩{{dataList.currentAllotment}}间
</li>
</li>
<li>
<li>
<
template
v-if=
"dataList.roomGroup"
>
<
!-- <
template v-if="dataList.roomGroup">
每间最多入住成人:{{dataList.roomGroup.roomAdultCount}},儿童:{{dataList.roomGroup.roomChildCount}}
每间最多入住成人:{{dataList.roomGroup.roomAdultCount}},儿童:{{dataList.roomGroup.roomChildCount}}
</
template
>
</template>
-->
</li>
</li>
</ul>
</ul>
</div>
</div>
...
@@ -433,13 +433,12 @@
...
@@ -433,13 +433,12 @@
</div>
</div>
<div
class=
"HS_div3"
>
<div
class=
"HS_div3"
>
<div
class=
"HS_bookTitle"
>
<div
class=
"HS_bookTitle"
style=
"margin-bottom:20px;"
>
入住信息
<span><i
class=
"iconfont icon-jinggao1"
></i>
所填姓名需和入住时所持证件一致
</span>
入住信息
<span><i
class=
"iconfont icon-jinggao1"
></i>
所填姓名需和入住时所持证件一致
</span>
</div>
</div>
<div
class=
"HS_div2One HS_BookMan"
>
<el-form
:model=
"sureMsg"
:rules=
"rules"
ref=
"sureMsg"
label-width=
"120px"
>
<ul>
<el-form-item
label=
"入住时间"
prop=
"checkInTime"
>
<li
style=
"margin-left:56px;"
>
入住时间
</li>
<el-time-select
style=
"width:400px;"
<el-time-select
v-model=
"sureMsg.checkInTime"
v-model=
"sureMsg.checkInTime"
:picker-options=
"{
:picker-options=
"{
start: '15:00',
start: '15:00',
...
@@ -449,78 +448,48 @@
...
@@ -449,78 +448,48 @@
value-format=
"HH:MM"
value-format=
"HH:MM"
placeholder=
"选择时间"
>
placeholder=
"选择时间"
>
</el-time-select>
</el-time-select>
</ul>
</el-form-item>
</div>
<el-form-item
label=
"预订人"
style=
"display:inline-block;"
prop=
"guestLastName"
>
<div
class=
"HS_div2One HS_BookMan"
>
<el-input
tyle=
"text"
v-model=
"sureMsg.guestLastName"
style=
"width:190px;margin-right:30px;"
placeholder=
"姓 Last Name"
></el-input>
<ul>
</el-form-item>
<li
class=
"HS2_title"
>
预订人
</li>
<el-form-item
prop=
"guestFirstName"
style=
"display:inline-block;margin-left:-130px;"
>
<li>
住客
<img
class=
"HS_wenhao"
src=
"../../assets/img/hotel/wenhao.png"
/></li>
<el-input
tyle=
"text"
v-model=
"sureMsg.guestFirstName"
style=
"width:190px;"
placeholder=
"名 First Name"
></el-input>
<el-input
tyle=
"text"
v-model=
"sureMsg.guestLastName"
style=
"width:120px;margin-right:20px;"
placeholder=
"姓 Last Name"
></el-input>
</el-form-item>
<el-input
tyle=
"text"
v-model=
"sureMsg.guestFirstName"
style=
"width:120px;"
placeholder=
"名 First Name"
></el-input>
<el-form-item
label=
"当前地址"
prop=
"guestAddress"
>
</ul>
<el-input
type=
"text"
v-model=
"sureMsg.guestAddress"
style=
"width:400px;"
placeholder=
"详细地址"
></el-input>
</div>
</el-form-item>
<div
class=
"HS_div2One HS_AreaSelect"
>
<el-form-item
label=
"Email"
prop=
"guestEmail"
>
<ul>
<el-input
type=
"text"
v-model=
"sureMsg.guestEmail"
style=
"width:400px;"
placeholder=
"邮箱地址"
></el-input>
<li
style=
"margin-left:53px;"
>
当前地址
</li>
</el-form-item>
<li>
<el-form-item
label=
"电话"
prop=
"guestPhoneNumber"
>
<el-input
type=
"text"
v-model=
"sureMsg.guestAddress"
style=
"width:400px;"
placeholder=
"详细地址"
></el-input>
<el-input
type=
"text"
@
keyup
.
native=
"checkInteger(sureMsg,'guestPhoneNumber')"
v-model=
"sureMsg.guestPhoneNumber"
style=
"width:400px;"
placeholder=
"电话"
></el-input>
</li>
</el-form-item>
</ul>
<el-form-item
label=
"客户需求"
prop=
"guestRequest"
>
</div>
<el-input
type=
"textarea"
:rows=
"3"
maxlength=
"400"
v-model=
"sureMsg.guestRequest"
style=
"width:400px;"
placeholder=
"住宿需求"
></el-input>
<div
class=
"HS_div2One HS_Email"
>
</el-form-item>
<ul>
<el-form-item
label=
"客户需求补充"
prop=
"guestRequest"
>
<li
style=
"margin-left:67px;"
>
Email
</li>
<el-input
type=
"textarea"
:rows=
"3"
maxlength=
"400"
v-model=
"sureMsg.guestRequestAppendix"
style=
"width:400px;"
placeholder=
"客户补充需求"
></el-input>
<li>
</el-form-item>
<el-input
type=
"text"
v-model=
"sureMsg.guestEmail"
style=
"width:400px;"
placeholder=
"接收确认邮件,获得出行资格"
></el-input>
<el-form-item
label=
"评语"
prop=
"guestRequest"
>
</li>
<el-input
type=
"textarea"
:rows=
"3"
maxlength=
"400"
v-model=
"sureMsg.comment"
style=
"width:400px;"
placeholder=
"评语"
></el-input>
</ul>
</el-form-item>
</div>
</el-form>
<div
class=
"HS_div2One HS_Email"
>
<ul>
<li
style=
"margin-left:67px;"
>
电话
</li>
<li>
<el-input
type=
"text"
@
keyup
.
native=
"checkInteger(sureMsg,'guestPhoneNumber')"
v-model=
"sureMsg.guestPhoneNumber"
style=
"width:400px;"
placeholder=
"电话"
></el-input>
</li>
</ul>
</div>
<div
class=
"HS_div2One HS_Email"
style=
"margin-top:30px;"
>
<ul>
<li
style=
"margin-left:45px;vertical-align:top;"
>
客户需求
</li>
<li>
<el-input
type=
"textarea"
:rows=
"3"
maxlength=
"400"
v-model=
"sureMsg.guestRequest"
style=
"width:400px;"
placeholder=
"住宿需求"
></el-input>
</li>
</ul>
</div>
<div
class=
"HS_div2One HS_Email"
style=
"margin-top:30px;"
>
<ul>
<li
style=
"margin-left:20px;vertical-align:top;"
>
客户需求补充
</li>
<li>
<el-input
type=
"textarea"
:rows=
"3"
maxlength=
"400"
v-model=
"sureMsg.guestRequestAppendix"
style=
"width:400px;"
placeholder=
"住宿需求"
></el-input>
</li>
</ul>
</div>
<div
class=
"HS_div2One HS_Email"
style=
"margin-top:30px;"
>
<ul>
<li
style=
"margin-left:68px;vertical-align:top;"
>
评语
</li>
<li>
<el-input
type=
"textarea"
:rows=
"3"
maxlength=
"400"
v-model=
"sureMsg.comment"
style=
"width:400px;"
placeholder=
"住宿需求"
></el-input>
</li>
</ul>
</div>
<div
class=
"HS_div2One HS_AreaSelect"
>
<div
class=
"HS_div2One HS_AreaSelect"
>
<ul
v-for=
"item in sureMsg.roomGroup"
>
<ul
v-for=
"item in sureMsg.roomGroup"
>
<li
class=
"HS2_title"
>
房间{{item.roomCount}}
</li>
<li
class=
"HS2_title"
>
房间{{item.roomCount}}
</li>
<li
style=
"margin-left:20px;"
>
人数
</li>
<li
style=
"margin-left:20px;"
>
成人男
</li>
<li>
<li>
<el-select
style=
"width:90px"
v-model=
"item.roomMaleCount"
:disabled=
"item.isShowMale"
clearable
placeholder=
"成人男"
>
<el-select
style=
"width:90px"
v-model=
"item.roomMaleCount"
:disabled=
"item.isShowMale"
clearable
placeholder=
"成人男"
>
<el-option
v-for=
"item in Pnumber"
:value=
"item.num"
:label=
"item.num"
></el-option>
<el-option
v-for=
"item in Pnumber"
:value=
"item.num"
:label=
"item.num"
></el-option>
</el-select>
</el-select>
</li>
</li>
<li>
成人女
</li>
<li>
<li>
<el-select
style=
"width:90px"
v-model=
"item.roomFemaleCount"
:disabled=
"item.isShowFemale"
clearable
placeholder=
"成人女"
>
<el-select
style=
"width:90px"
v-model=
"item.roomFemaleCount"
:disabled=
"item.isShowFemale"
clearable
placeholder=
"成人女"
>
<el-option
v-for=
"item in Pnumber"
:value=
"item.num"
:label=
"item.num"
></el-option>
<el-option
v-for=
"item in Pnumber"
:value=
"item.num"
:label=
"item.num"
></el-option>
</el-select>
</el-select>
</li>
</li>
<li>
儿童数
</li>
<li>
<li>
<el-select
style=
"width:90px"
v-model=
"item.roomChildCount"
:disabled=
"item.isShowChild"
clearable
placeholder=
"儿童"
>
<el-select
style=
"width:90px"
v-model=
"item.roomChildCount"
:disabled=
"item.isShowChild"
clearable
placeholder=
"儿童"
>
<el-option
v-for=
"item in Pnumber"
:value=
"item.num"
:label=
"item.num"
></el-option>
<el-option
v-for=
"item in Pnumber"
:value=
"item.num"
:label=
"item.num"
></el-option>
...
@@ -529,7 +498,7 @@
...
@@ -529,7 +498,7 @@
</ul>
</ul>
</div>
</div>
</div>
</div>
<input
type=
"button"
class=
"HD_payBtn"
@
click=
"
BuyHoTel(
)"
value=
"下单"
/>
<input
type=
"button"
class=
"HD_payBtn"
@
click=
"
submitForm('sureMsg'
)"
value=
"下单"
/>
</div>
</div>
<div
class=
"HS_RightList"
>
<div
class=
"HS_RightList"
>
<div
class=
"HS_RightTopImg"
>
<div
class=
"HS_RightTopImg"
>
...
@@ -546,22 +515,24 @@
...
@@ -546,22 +515,24 @@
<ul
class=
"HS_RoomInfo"
>
<ul
class=
"HS_RoomInfo"
>
<li>
<li>
<span
class=
"C9"
>
房型
</span>
<span
class=
"C9"
>
房型
</span>
<div
v-if=
"dataList.roomRateDetails"
>
<span
v-if=
"dataList.roomRateDetails"
>
<
template
v-if=
"dataList.roomRateDetails.roomType==1"
>
单人床
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==1"
>
单人
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==2"
>
双床
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==2"
>
双人
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==3"
>
大床房
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==3"
>
双
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==4"
>
三人间
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==4"
>
三件套
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==5"
>
四床房
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==5"
>
4床
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==6"
>
日式房
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==6"
>
日式房间
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==7"
>
日式
&
西式混合房间
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==7"
>
和洋室
</
template
>
</div>
<
template
v-if=
"dataList.roomRateDetails.roomType==8"
>
半开双
</
template
>
<
template
v-if=
"dataList.roomRateDetails.roomType==9"
>
其他的
</
template
>
</span>
</li>
</li>
<li>
<
!-- <
li>
<span class="C9">人数</span>
<span class="C9">人数</span>
<span v-if="dataList.roomGroup">
<span v-if="dataList.roomGroup">
每间最多入住成人:{{dataList.roomGroup.roomAdultCount}},儿童:{{dataList.roomGroup.roomChildCount}}
每间最多入住成人:{{dataList.roomGroup.roomAdultCount}},儿童:{{dataList.roomGroup.roomChildCount}}
</span>
</span>
</li>
</li>
-->
<!-- <li>
<!-- <li>
<span class="C9">加床</span>
<span class="C9">加床</span>
<span>JPY 20216.00/床/间夜</span>
<span>JPY 20216.00/床/间夜</span>
...
@@ -646,6 +617,54 @@ export default {
...
@@ -646,6 +617,54 @@ export default {
CustomerId
:
0
,
CustomerId
:
0
,
CreateBy
:
0
CreateBy
:
0
},
},
//验证规则
rules
:
{
checkInTime
:
[{
required
:
true
,
message
:
'请选择入住时间'
,
trigger
:
'change'
}],
guestLastName
:[{
required
:
true
,
message
:
"请输入英文姓"
,
trigger
:
"change"
},
{
pattern
:
/^
[
a-zA-Z
]
/
,
message
:
"请输入英文姓"
}],
guestFirstName
:[{
required
:
true
,
message
:
"请输入英文名"
,
trigger
:
"change"
},
{
pattern
:
/^
[
a-zA-Z
]
/
,
message
:
"请输入英文名"
}],
guestAddress
:
[{
required
:
true
,
message
:
'请选择入地址'
,
trigger
:
'blur'
}],
guestEmail
:
[{
required
:
true
,
message
:
"请输入邮箱地址"
,
trigger
:
"change"
},
{
pattern
:
/^
([
a-zA-Z0-9
]
+
[
_|
\_
|
\.]?)
*
[
a-zA-Z0-9
]
+@
([
a-zA-Z0-9
]
+
[
_|
\_
|
\.]?)
*
[
a-zA-Z0-9
]
+
\.[
a-zA-Z
]{2,3}
$/
,
message
:
"请输入有效的邮箱地址"
}],
guestPhoneNumber
:
[{
required
:
true
,
message
:
"请输入电话号码"
,
trigger
:
"blur"
},{
pattern
:
/^1
[
3|4|5|7|8|9
][
0-9
]\d{8}
$/
,
message
:
"请填写正确的手机号"
}],
},
//人数下拉
//人数下拉
Pnumber
:[{
Pnumber
:[{
num
:
0
num
:
0
...
@@ -698,7 +717,6 @@ export default {
...
@@ -698,7 +717,6 @@ export default {
mounted
()
{
mounted
()
{
let
msgList
=
JSON
.
parse
(
this
.
$route
.
query
.
msg
);
let
msgList
=
JSON
.
parse
(
this
.
$route
.
query
.
msg
);
this
.
msg
=
msgList
;
this
.
msg
=
msgList
;
console
.
log
(
msgList
,
'msglist'
);
this
.
auditNum
=
0
;
this
.
auditNum
=
0
;
this
.
childNum
=
0
;
this
.
childNum
=
0
;
this
.
msg
.
searchroomGroup
.
forEach
(
x
=>
{
this
.
msg
.
searchroomGroup
.
forEach
(
x
=>
{
...
@@ -721,7 +739,6 @@ export default {
...
@@ -721,7 +739,6 @@ export default {
}
}
this
.
sureMsg
.
roomGroup
.
push
(
obj
);
this
.
sureMsg
.
roomGroup
.
push
(
obj
);
}
}
console
.
log
(
this
.
sureMsg
,
'sureMsgsureMsgsureMsg'
);
this
.
getWeek
();
this
.
getWeek
();
this
.
getBookInfo
();
this
.
getBookInfo
();
},
},
...
@@ -741,6 +758,11 @@ export default {
...
@@ -741,6 +758,11 @@ export default {
this
.
dataList
.
roomGroup
=
arr
;
this
.
dataList
.
roomGroup
=
arr
;
}
}
this
.
dataList
.
roomGroup
.
forEach
(
x
=>
{
this
.
dataList
.
roomGroup
.
forEach
(
x
=>
{
if
(
Object
.
prototype
.
toString
.
call
(
x
.
rateGroup
)
==
'[object Object]'
){
let
arr
=
[];
arr
.
push
(
x
.
rateGroup
);
x
.
rateGroup
=
arr
;
}
let
tt
=
0
;
let
tt
=
0
;
x
.
rateGroup
.
forEach
(
z
=>
{
x
.
rateGroup
.
forEach
(
z
=>
{
tt
+=
parseFloat
(
z
.
perAdultRate
);
tt
+=
parseFloat
(
z
.
perAdultRate
);
...
@@ -764,6 +786,17 @@ export default {
...
@@ -764,6 +786,17 @@ export default {
getDateInfo
(){
getDateInfo
(){
this
.
getWeek
();
this
.
getWeek
();
this
.
getBookInfo
();
this
.
getBookInfo
();
},
//提交
submitForm
(
addMsg
)
{
//提交创建、修改表单
this
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
BuyHoTel
();
}
else
{
return
false
;
}
});
},
},
//点击支付
//点击支付
BuyHoTel
(){
BuyHoTel
(){
...
@@ -792,9 +825,27 @@ export default {
...
@@ -792,9 +825,27 @@ export default {
this
.
sureMsg
.
totalChargeableRateInfo
=
this
.
totalPrice
;
this
.
sureMsg
.
totalChargeableRateInfo
=
this
.
totalPrice
;
this
.
apipost
(
"dmc_post_Get_GetJAPAN_HotelBooking"
,
this
.
sureMsg
,
res
=>
{
this
.
apipost
(
"dmc_post_Get_GetJAPAN_HotelBooking"
,
this
.
sureMsg
,
res
=>
{
console
.
log
(
res
,
'保存完毕'
);
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Succrss
(
res
.
data
.
message
);
this
.
Success
(
'预订成功'
);
console
.
log
(
res
.
data
.
data
,
'ressss'
);
let
num
=
0
;
this
.
sureMsg
.
roomGroup
.
forEach
(
x
=>
{
num
+=
parseInt
(
x
.
roomFemaleCount
)
+
parseInt
(
x
.
roomMaleCount
)
+
parseInt
(
x
.
roomChildCount
)
})
let
msg
=
{
RB_Branch_id
:
res
.
data
.
data
.
RB_Branch_id
,
costType
:
res
.
data
.
data
.
costType
,
orderId
:
res
.
data
.
data
.
orderId
,
bookingNumber
:
res
.
data
.
data
.
parmResult
.
bookingNumber
,
bookMoney
:
res
.
data
.
data
.
parmResult
.
totalChargeableRateInfo
,
CancelTime
:
res
.
data
.
data
.
CancelTime
,
hotelName
:
res
.
data
.
data
.
parmResult
.
hotelName
,
totalPnumber
:
num
}
this
.
$router
.
push
({
path
:
"/HotelPay"
,
query
:{
msg
:
JSON
.
stringify
(
msg
)}
})
}
else
{
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
Error
(
res
.
data
.
message
);
}
}
...
...
src/components/Ticket/EditTicketOrder.vue
View file @
2fd345ed
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
<el-col
:span=
"8"
style=
"text-align:right"
>
<el-col
:span=
"8"
style=
"text-align:right"
>
<p
class=
"time"
>
{{
getlistSigel
.
backStartHouseTime
}}
</p>
<p
class=
"time"
>
{{
getlistSigel
.
backStartHouseTime
}}
</p>
<p>
{{
getlistSigel
.
go
StartAirPlace
}}
</p>
<p>
{{
getlistSigel
.
back
StartAirPlace
}}
</p>
</el-col>
</el-col>
<el-col
:span=
"8"
style=
"text-align:center"
>
<el-col
:span=
"8"
style=
"text-align:center"
>
<p>
<p>
...
...
src/components/Ticket/FillItinerary.vue
View file @
2fd345ed
...
@@ -52,7 +52,7 @@
...
@@ -52,7 +52,7 @@
<el-col
:span=
"8"
style=
"text-align:right"
>
<el-col
:span=
"8"
style=
"text-align:right"
>
<p
class=
"time"
>
{{
getlistSigel
.
backStartHouseTime
}}
</p>
<p
class=
"time"
>
{{
getlistSigel
.
backStartHouseTime
}}
</p>
<p>
{{
getlistSigel
.
go
StartAirPlace
}}
</p>
<p>
{{
getlistSigel
.
back
StartAirPlace
}}
</p>
</el-col>
</el-col>
<el-col
:span=
"8"
style=
"text-align:center;color:#a8a8a8;padding:0 10px"
>
<el-col
:span=
"8"
style=
"text-align:center;color:#a8a8a8;padding:0 10px"
>
<p>
<p>
...
...
src/components/global/HTMap.vue
0 → 100644
View file @
2fd345ed
<
style
>
.markers_labels
{
margin-left
:
-24px
!important
;
margin-top
:
-43px
!important
;
}
.gm-svpc
,
.gm-style-mtc
,
.gm-style-cc
{
display
:
none
;
}
.classDetail
{
height
:
244px
;
width
:
100%
}
.ClassList
{
width
:
100%
;
height
:
380px
;
}
</
style
>
<
template
>
<div
>
<div
id=
"map_canvas"
:class=
"type==2?'classDetail':'ClassList'"
></div>
</div>
</
template
>
<
script
>
export
default
{
props
:[
"dataList"
,
"type"
],
data
(){
return
{
show
:
false
,
directionsService
:
new
google
.
maps
.
DirectionsService
(),
directionsDisplay
:
new
google
.
maps
.
DirectionsRenderer
(),
map
:{},
}
},
created
(){
},
destroyed
:
function
()
{
},
mounted
(){
this
.
mapBuild
()
//初始化实例之后调用
},
methods
:{
getDetailsRoutes
(
source
,
destination
,
map
){
service
=
new
google
.
maps
.
DistanceMatrixService
();
service
.
getDistanceMatrix
({
origins
:
[
source
],
destinations
:
[
destination
],
travelMode
:
google
.
maps
.
TravelMode
.
DRIVING
,
unitSystem
:
google
.
maps
.
UnitSystem
.
METRIC
,
avoidHighways
:
false
,
avoidTolls
:
false
},
function
(
response
,
status
)
{
if
(
status
==
google
.
maps
.
DistanceMatrixStatus
.
OK
&&
response
.
rows
[
0
].
elements
[
0
].
status
!=
"ZERO_RESULTS"
)
{
var
distance
=
response
.
rows
[
0
].
elements
[
0
].
distance
.
text
;
var
duration
=
response
.
rows
[
0
].
elements
[
0
].
duration
.
text
;
var
dvDistance
=
document
.
getElementById
(
"siteinfo_modal_label"
);
dvDistance
.
innerHTML
=
""
;
dvDistance
.
innerHTML
+=
"Distance: "
+
distance
+
"<br />"
;
dvDistance
.
innerHTML
+=
"Duration:"
+
duration
;
}
else
{
alert
(
"Unable to find the distance via road."
);
}
})
},
// 地图实例
mapBuild
(){
let
lat
=
parseFloat
(
this
.
dataList
[
0
].
lat
)
let
lng
=
parseFloat
(
this
.
dataList
[
0
].
lng
)
let
center
=
{
lng
:
lng
,
lat
:
lat
}
//创建地图实例,zoom是缩放比例
this
.
map
=
new
google
.
maps
.
Map
(
document
.
getElementById
(
'map_canvas'
),
{
zoom
:
7
,
center
:
center
,
mapTypeId
:
google
.
maps
.
MapTypeId
.
ROADMAP
});
this
.
directionsDisplay
.
setMap
(
this
.
map
);
this
.
calcRoute
()
},
calcRoute
:
function
()
{
// 创建路径规划
// 分解数据 获得起 止 以及中间数据
let
lat
=
parseFloat
(
this
.
dataList
[
0
].
lat
)
let
lng
=
parseFloat
(
this
.
dataList
[
0
].
lng
)
let
elat
=
parseFloat
(
this
.
dataList
[
this
.
dataList
.
length
-
1
].
lat
)
let
elng
=
parseFloat
(
this
.
dataList
[
this
.
dataList
.
length
-
1
].
lng
)
let
_this
=
this
;
let
start
=
lat
+
','
+
lng
;
let
end
=
elat
+
','
+
elng
;
let
waypoints
=
[];
if
(
this
.
dataList
.
length
>
2
)
{
this
.
dataList
.
forEach
((
x
,
index
)
=>
{
if
(
index
>=
1
&&
index
!==
(
this
.
dataList
.
length
-
1
))
{
let
obj
=
{
location
:
x
.
lat
+
','
+
x
.
lng
}
waypoints
.
push
(
obj
)
}
});
}
let
request
=
{
// 组装连线数据
origin
:
start
,
// 起
destination
:
end
,
// 止
travelMode
:
google
.
maps
.
TravelMode
.
DRIVING
,
};
if
(
waypoints
.
length
>
0
)
{
request
.
waypoints
=
waypoints
}
console
.
log
(
waypoints
)
_this
.
directionsService
.
route
(
request
,
function
(
result
,
status
)
{
if
(
status
==
google
.
maps
.
DirectionsStatus
.
OK
)
{
_this
.
directionsDisplay
.
setDirections
(
result
);
}
});
},
},
}
</
script
>
src/components/newPersonalCenter/integral/RedEnvelopes.vue
View file @
2fd345ed
...
@@ -86,6 +86,7 @@
...
@@ -86,6 +86,7 @@
<el-col
:span=
"13"
style=
"position:relative;margin-top:15px"
>
<el-col
:span=
"13"
style=
"position:relative;margin-top:15px"
>
<div
class=
"progress progress1"
>
<div
class=
"progress progress1"
>
<span
:style=
"'width:'+ item.width +'%;'"
></span>
<span
:style=
"'width:'+ item.width +'%;'"
></span>
<!--
<span
style=
"width:70%;"
></span>
-->
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"2"
style=
"text-align:center;margin-top:15px"
>
<el-col
:span=
"2"
style=
"text-align:center;margin-top:15px"
>
...
@@ -485,7 +486,7 @@ export default {
...
@@ -485,7 +486,7 @@ export default {
border-radius
:
15px
;
border-radius
:
15px
;
overflow
:
hidden
;
overflow
:
hidden
;
}
}
#Red
.jyTtem0
.progress
span
{
#Red
.jyTtem0
.progress
span
,
#Red
.jyTtem3
.progress
span
,
#Red
.jyTtem6
.progress
span
{
display
:
inline-block
;
display
:
inline-block
;
width
:
60%
;
width
:
60%
;
height
:
100%
;
height
:
100%
;
...
@@ -500,7 +501,7 @@ export default {
...
@@ -500,7 +501,7 @@ export default {
text-align
:
center
;
text-align
:
center
;
color
:
#fff
;
color
:
#fff
;
}
}
#Red
.jyTtem1
.progress
span
{
#Red
.jyTtem1
.progress
span
,
#Red
.jyTtem4
.progress
span
,
#Red
.jyTtem7
.progress
span
{
display
:
inline-block
;
display
:
inline-block
;
width
:
50%
;
width
:
50%
;
height
:
100%
;
height
:
100%
;
...
@@ -515,7 +516,7 @@ export default {
...
@@ -515,7 +516,7 @@ export default {
text-align
:
center
;
text-align
:
center
;
color
:
#fff
;
color
:
#fff
;
}
}
#Red
.jyTtem2
.progress
span
{
#Red
.jyTtem2
.progress
span
,
#Red
.jyTtem5
.progress
span
,
#Red
.jyTtem8
.progress
span
{
display
:
inline-block
;
display
:
inline-block
;
width
:
70%
;
width
:
70%
;
height
:
100%
;
height
:
100%
;
...
...
src/router.js
View file @
2fd345ed
...
@@ -412,6 +412,15 @@ export default new Router({
...
@@ -412,6 +412,15 @@ export default new Router({
title
:
"酒店确认订单"
title
:
"酒店确认订单"
}
}
},
},
{
path
:
"/HotelPay"
,
name
:
"HotelPay"
,
component
:
resolve
=>
require
([
"@/components/Hotel/HotelPay"
],
resolve
),
meta
:
{
title
:
"酒店支付"
}
},
// {
// {
// path: "/ticket/Pay/:id",
// path: "/ticket/Pay/:id",
// name: "Pay",
// name: "Pay",
...
...
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