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
ca91efbf
Commit
ca91efbf
authored
Mar 18, 2019
by
huangyuanyuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改机票订单
parent
1d0aa586
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1110 additions
and
952 deletions
+1110
-952
App.vue
src/App.vue
+1
-1
more.png
src/assets/img/travel/more.png
+0
-0
tc1.png
src/assets/img/travel/tc1.png
+0
-0
IndependentTravel.vue
src/components/DependentTravel/IndependentTravel.vue
+193
-23
FillItinerary.vue
src/components/Ticket/FillItinerary.vue
+24
-16
TicketHome.vue
src/components/Ticket/TicketHome.vue
+153
-217
TicketList.vue
src/components/Ticket/TicketList.vue
+739
-695
No files found.
src/App.vue
View file @
ca91efbf
...
@@ -59,7 +59,7 @@ export default {
...
@@ -59,7 +59,7 @@ export default {
<
style
>
<
style
>
@import
'./assets/global/font.css'
;
@import
'./assets/global/font.css'
;
@import
'//at.alicdn.com/t/font_863923_
jvgf79ozet9
.css'
;
@import
'//at.alicdn.com/t/font_863923_
s1n6yedme5h
.css'
;
@import
'./assets/global/global.css'
;
@import
'./assets/global/global.css'
;
body
,
html
{
body
,
html
{
padding
:
0px
;
padding
:
0px
;
...
...
src/assets/img/travel/
eceb3eeb9de9725d6080ae137f29e1333bb4a48e905b-qM1l0m_fw658
.png
→
src/assets/img/travel/
more
.png
View file @
ca91efbf
File moved
src/assets/img/travel/
图层 567
.png
→
src/assets/img/travel/
tc1
.png
View file @
ca91efbf
File moved
src/components/DependentTravel/IndependentTravel.vue
View file @
ca91efbf
...
@@ -57,62 +57,62 @@
...
@@ -57,62 +57,62 @@
</div>
</div>
<div
class=
"Season_content"
>
<div
class=
"Season_content"
>
<div>
<div>
<div
class=
"Season_content_list"
>
<div
@
mouseenter=
"Seasonenter(0)"
@
mouseleave=
"Seasonleave(0)"
class=
"Season_content_list"
>
<div
style=
"position:relative"
>
<div
style=
"position:relative"
>
<img
src=
"../../assets/img/visa/country1.png"
alt=
""
>
<img
ref=
"img0"
id=
"img0"
src=
"../../assets/img/visa/country1.png"
alt=
""
>
<div
class=
"Season_money"
>
<div
:class=
"SeasonBtn==0 ? 'Season_moneyActive' :''"
class=
"Season_money"
>
<p
style=
"font-size:12px;padding-top:
5
px"
>
RMB
</p>
<p
style=
"font-size:12px;padding-top:
10
px"
>
RMB
</p>
<p
style=
"font-size:14px;font-weight:600"
>
5680
<span
style=
"font-size:12px;font-weight:10"
>
起
</span></p>
<p
style=
"font-size:14px;font-weight:600"
>
5680
<span
style=
"font-size:12px;font-weight:10"
>
起
</span></p>
</div>
</div>
</div>
</div>
<div
style=
"padding:2
0
px 10px"
>
<div
style=
"padding:2
5px 10px 15
px 10px"
>
<p
style=
"font-size:16px;font-weight:600;text-align:center"
>
东京-大阪自由行
</p>
<p
style=
"font-size:16px;font-weight:600;text-align:center"
>
东京-大阪自由行
</p>
<div
class=
"text"
>
四季变化明显,樱花季节,富士山,银座,新宿,池袋东护城河对岸矗立着一幢标志性建筑飞檐重阁白墙黑瓦,精巧的建筑连同浓郁的日本民族风格一起半掩半映在绿树丛中,加上氤氲萦绕的氛围,使皇宫更显得几分神秘。仿佛整个东京仅存的一丁点文化底蕴都藏进了对岸的树丛里。
</div>
<div
class=
"text"
>
四季变化明显,樱花季节,富士山,银座,新宿,池袋东护城河对岸矗立着一幢标志性建筑飞檐重阁白墙黑瓦,精巧的建筑连同浓郁的日本民族风格一起半掩半映在绿树丛中,加上氤氲萦绕的氛围,使皇宫更显得几分神秘。仿佛整个东京仅存的一丁点文化底蕴都藏进了对岸的树丛里。
</div>
</div>
</div>
<div>
<div>
<el-button
size=
"mini"
class=
"btn"
>
立即购买
</el-button>
<el-button
v-if=
"SeasonBtn==0"
size=
"mini"
class=
"btn"
>
立即购买
</el-button>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div
class=
"Season_content_list"
>
<div
@
mouseenter=
"Seasonenter(1)"
@
mouseleave=
"Seasonleave(1)"
class=
"Season_content_list"
>
<div
style=
"position:relative"
>
<div
style=
"position:relative"
>
<img
src=
"../../assets/img/visa/country1.png"
alt=
""
>
<img
ref=
"img1"
id=
"img1"
src=
"../../assets/img/visa/country1.png"
alt=
""
>
<div
class=
"Season_money"
>
<div
:class=
"SeasonBtn==1 ? 'Season_moneyActive' :''"
class=
"Season_money"
>
<p
style=
"font-size:12px;padding-top:
5
px"
>
RMB
</p>
<p
style=
"font-size:12px;padding-top:
10
px"
>
RMB
</p>
<p
style=
"font-size:14px;font-weight:600"
>
5680
<span
style=
"font-size:12px;font-weight:10"
>
起
</span></p>
<p
style=
"font-size:14px;font-weight:600"
>
5680
<span
style=
"font-size:12px;font-weight:10"
>
起
</span></p>
</div>
</div>
</div>
</div>
<div
style=
"padding:2
0
px 10px"
>
<div
style=
"padding:2
5px 10px 15
px 10px"
>
<p
style=
"font-size:16px;font-weight:600;text-align:center"
>
东京-大阪自由行
</p>
<p
style=
"font-size:16px;font-weight:600;text-align:center"
>
东京-大阪自由行
</p>
<div
class=
"text"
>
四季变化明显,樱花季节,富士山,银座,新宿,池袋东护城河对岸矗立着一幢标志性建筑飞檐重阁白墙黑瓦,精巧的建筑连同浓郁的日本民族风格一起半掩半映在绿树丛中,加上氤氲萦绕的氛围,使皇宫更显得几分神秘。仿佛整个东京仅存的一丁点文化底蕴都藏进了对岸的树丛里。
</div>
<div
class=
"text"
>
四季变化明显,樱花季节,富士山,银座,新宿,池袋东护城河对岸矗立着一幢标志性建筑飞檐重阁白墙黑瓦,精巧的建筑连同浓郁的日本民族风格一起半掩半映在绿树丛中,加上氤氲萦绕的氛围,使皇宫更显得几分神秘。仿佛整个东京仅存的一丁点文化底蕴都藏进了对岸的树丛里。
</div>
</div>
</div>
<div>
<div>
<el-button
size=
"mini"
class=
"btn"
>
立即购买
</el-button>
<el-button
v-if=
"SeasonBtn==1"
size=
"mini"
class=
"btn"
>
立即购买
</el-button>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div
class=
"Season_content_list"
>
<div
@
mouseenter=
"Seasonenter(2)"
@
mouseleave=
"Seasonleave(2)"
class=
"Season_content_list"
>
<div
style=
"position:relative"
>
<div
style=
"position:relative"
>
<img
src=
"../../assets/img/visa/country1.png"
alt=
""
>
<img
ref=
"img2"
id=
"img2"
src=
"../../assets/img/visa/country1.png"
alt=
""
>
<div
class=
"Season_money"
>
<div
:class=
"SeasonBtn==2 ? 'Season_moneyActive' :''"
class=
"Season_money"
>
<p
style=
"font-size:12px;padding-top:
5
px"
>
RMB
</p>
<p
style=
"font-size:12px;padding-top:
10
px"
>
RMB
</p>
<p
style=
"font-size:14px;font-weight:600"
>
5680
<span
style=
"font-size:12px;font-weight:10"
>
起
</span></p>
<p
style=
"font-size:14px;font-weight:600"
>
5680
<span
style=
"font-size:12px;font-weight:10"
>
起
</span></p>
</div>
</div>
</div>
</div>
<div
style=
"padding:2
0
px 10px"
>
<div
style=
"padding:2
5px 10px 15
px 10px"
>
<p
style=
"font-size:16px;font-weight:600;text-align:center"
>
东京-大阪自由行
</p>
<p
style=
"font-size:16px;font-weight:600;text-align:center"
>
东京-大阪自由行
</p>
<div
class=
"text"
>
四季变化明显,樱花季节,富士山,银座,新宿,池袋东护城河对岸矗立着一幢标志性建筑飞檐重阁白墙黑瓦,精巧的建筑连同浓郁的日本民族风格一起半掩半映在绿树丛中,加上氤氲萦绕的氛围,使皇宫更显得几分神秘。仿佛整个东京仅存的一丁点文化底蕴都藏进了对岸的树丛里。
</div>
<div
class=
"text"
>
四季变化明显,樱花季节,富士山,银座,新宿,池袋东护城河对岸矗立着一幢标志性建筑飞檐重阁白墙黑瓦,精巧的建筑连同浓郁的日本民族风格一起半掩半映在绿树丛中,加上氤氲萦绕的氛围,使皇宫更显得几分神秘。仿佛整个东京仅存的一丁点文化底蕴都藏进了对岸的树丛里。
</div>
</div>
</div>
<div>
<div>
<el-button
size=
"mini"
class=
"btn"
>
立即购买
</el-button>
<el-button
v-if=
"SeasonBtn==2"
size=
"mini"
class=
"btn"
>
立即购买
</el-button>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -125,11 +125,91 @@
...
@@ -125,11 +125,91 @@
<img
class=
"left1"
src=
"../../assets/img/travel/left1.png"
alt=
""
>
<img
class=
"left1"
src=
"../../assets/img/travel/left1.png"
alt=
""
>
<img
class=
"right1"
src=
"../../assets/img/travel/right1.png"
alt=
""
>
<img
class=
"right1"
src=
"../../assets/img/travel/right1.png"
alt=
""
>
<el-col
:span=
"18"
:offset=
"3"
>
<el-col
:span=
"18"
:offset=
"3"
>
<el-row>
<div
style=
"margin-top:15px;"
>
<el-col
:span=
"14"
></el-col>
<p
style=
"text-align:center;font-family:PingFang-SC-Regular;"
>
Hot crash free rides
</p>
<el-col
:span=
"10"
></el-col>
<div
class=
"djjx"
>
<span
class=
"cont_top"
>
热门速成自由行
</span>
<span
class=
"cont_bottom"
>
2人成行快速成团出发
</span>
</div>
</div>
<el-row
class=
"zyx"
>
<el-col
:span=
"12"
style=
"position:relative"
>
<div
class=
"div_back"
style=
"position:relative;"
>
<img
class=
"img2"
src=
"../../assets/img/travel/1.png"
alt=
""
>
</div>
</el-col>
<el-col
:span=
"2"
>
</el-col>
<el-col
:span=
"10"
>
<div>
<p
class=
"zyx_title"
>
东京-大阪-富士山
<span
class=
"persontravel"
>
2人成行
</span>
</p>
<div
class=
"zyx_content"
>
<p>
初游推荐,樱花季漫游东京,赠人气药妆
</p>
<p>
三款礼遇任您选,代订富士山/镰仓一日游初游推荐,樱花季漫游东京,赠人气药妆
</p>
<p>
三款礼遇任您选,代订富士山/镰仓一日游
</p>
</div>
<div
class=
"zyx_pay"
>
<span
style=
"color:#FF6633;font-size:12px"
>
<span>
¥
</span>
<span
style=
"font-size:20px;font-weight:700"
>
4880
</span>
<span>
起
</span>
</span>
<span
style=
"color:#EE4454;margin-left:20px"
><i
class=
"iconfont icon-dingweiweizhi"
></i></span>
<span
style=
"font-size:12px"
>
成都出发
</span>
</div>
<el-button
size=
"mini"
style=
"background:#EE4454;color:#fff;width:180px"
>
立即抢购
</el-button>
</div>
</el-col>
</el-row>
<el-row
class=
"zyx"
>
<el-col
:span=
"10"
>
<div>
<p
class=
"zyx_title"
>
东京-大阪-富士山
<span
class=
"persontravel"
>
2人成行
</span>
</p>
<div
class=
"zyx_content"
>
<p>
初游推荐,樱花季漫游东京,赠人气药妆
</p>
<p>
三款礼遇任您选,代订富士山/镰仓一日游初游推荐,樱花季漫游东京,赠人气药妆
</p>
<p>
三款礼遇任您选,代订富士山/镰仓一日游
</p>
</div>
<div
class=
"zyx_pay"
>
<span
style=
"color:#FF6633;font-size:12px"
>
<span>
¥
</span>
<span
style=
"font-size:20px;font-weight:700"
>
4880
</span>
<span>
起
</span>
</span>
<span
style=
"color:#EE4454;margin-left:20px"
><i
class=
"iconfont icon-dingweiweizhi"
></i></span>
<span
style=
"font-size:12px"
>
成都出发
</span>
</div>
<el-button
size=
"mini"
style=
"background:#EE4454;color:#fff;width:180px"
>
立即抢购
</el-button>
</div>
</el-col>
<el-col
:span=
"12"
style=
"position:relative"
>
<div
class=
"div_back"
style=
"position:relative;"
>
<img
class=
"img2"
src=
"../../assets/img/travel/1.png"
alt=
""
>
</div>
</el-col>
<el-col
:span=
"2"
>
</el-col>
</el-row>
</el-row>
<div>
<div
class=
"more_btn"
>
<p>
查看更多
</p>
<p>
MORE
</p>
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -142,10 +222,28 @@ export default {
...
@@ -142,10 +222,28 @@ export default {
return
{
return
{
top
:
0
,
top
:
0
,
prolist
:
-
1
,
prolist
:
-
1
,
SeasonBtn
:
-
1
,
};
};
},
},
mounted
()
{},
mounted
()
{},
methods
:
{
methods
:
{
Seasonenter
(
num
){
let
imgStr
=
`img`
+
num
;
console
.
log
(
imgStr
)
this
.
$nextTick
(()
=>
{
console
.
log
(
this
.
$refs
.
imgStr
)
// this.$refs.imgStr.style.height = 90+"px";
// this.SeasonBtn=num;
})
},
Seasonleave
(
num
){
let
imgStr
=
`img
${
num
}
`
this
.
$nextTick
(()
=>
{
// this.$refs.imgStr.style.height =130+"px";
// this.SeasonBtn=-1;
})
},
enter
(
num
){
enter
(
num
){
this
.
prolist
=
num
;
this
.
prolist
=
num
;
},
},
...
@@ -158,6 +256,78 @@ export default {
...
@@ -158,6 +256,78 @@ export default {
</
script
>
</
script
>
<
style
>
<
style
>
.img2
{
}
.img2
:after
{
position
:
absolute
;
content
:
''
;
width
:
100%
;
height
:
100%
;
top
:
0
;
left
:
0
;
box-shadow
:
0
0
50px
30px
red
inset
;
}
.Indepentdent
.more_btn
{
margin
:
0
auto
;
margin-top
:
40px
;
text-align
:
center
;
width
:
191px
;
color
:
#676767
;
background
:
url('../../assets/img/travel/more.png')
no-repeat
center
center
;
font-size
:
14px
;
}
.div_back
{
width
:
535px
;
height
:
236px
;
background
:
url('../../assets/img/travel/tc1.png')
no-repeat
;
background-size
:
100%
100%
;
/* display: inline-block; */
margin
:
5px
auto
;
}
.zyx
.el-col-10
>
div
{
display
:
table-cell
;
vertical-align
:
middle
;
}
.zyx
.el-col-10
{
display
:
table
;
}
.zyx
.persontravel
{
font-size
:
12px
;
background
:
#5597FF
;
color
:
#fff
;
padding
:
2px
6px
;
font-weight
:
100
;
border-radius
:
4px
;
}
.zyx_pay
{
margin
:
25px
0
;
}
.zyx_content
{
margin-top
:
10px
;
font-size
:
14px
;
color
:
#666666
;
}
.zyx_content
p
{
padding
:
10px
0
;
}
.zyx
.zyx_title
{
color
:
#333333
;
font-size
:
16px
;
font-weight
:
700
;
}
.zyx
{
margin-top
:
50px
;
font-family
:
"PingFang"
}
.zyx
img
{
width
:
100%
;
}
.Season_moneyActive
{
color
:
#fff
!important
;
background
:
#EE4454
!important
;
}
.Indepentdent
.footer
{
.Indepentdent
.footer
{
width
:
100%
;
width
:
100%
;
height
:
700px
;
height
:
700px
;
...
@@ -203,8 +373,8 @@ export default {
...
@@ -203,8 +373,8 @@ export default {
}
}
.Indepentdent
.Season_content
.Season_content_list
.Season_money
{
.Indepentdent
.Season_content
.Season_content_list
.Season_money
{
position
:
absolute
;
position
:
absolute
;
width
:
5
0px
;
width
:
6
0px
;
height
:
5
0px
;
height
:
6
0px
;
bottom
:
-25px
;
bottom
:
-25px
;
border-radius
:
50%
;
border-radius
:
50%
;
text-align
:
center
;
text-align
:
center
;
...
...
src/components/Ticket/FillItinerary.vue
View file @
ca91efbf
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
<p
class=
"time"
>
{{
getlistSigel
.
goStartHouseTime
}}
</p>
<p
class=
"time"
>
{{
getlistSigel
.
goStartHouseTime
}}
</p>
<p>
{{
getlistSigel
.
goStartAirPlace
}}
</p>
<p>
{{
getlistSigel
.
goStartAirPlace
}}
</p>
</el-col>
</el-col>
<el-col
:span=
"8"
style=
"text-align:center"
>
<el-col
:span=
"8"
style=
"text-align:center
;color:#a8a8a8
"
>
<p>
<p>
{{
getlistSigel
.
goTotalTime
}}
{{
getlistSigel
.
goTotalTime
}}
</p>
</p>
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
</div>
</div>
</div>
</div>
</el-col>
</el-col>
<el-col
class=
"coupon_left"
:span=
"9"
style=
"position:relative"
>
<el-col
class=
"coupon_left"
:span=
"9"
style=
"position:relative
;border-left:1px dashed #aaaaaa;
"
>
<div
class=
"bz"
>
返程
</div>
<div
class=
"bz"
>
返程
</div>
<div
class=
"padd"
>
<div
class=
"padd"
>
<p
style=
"font-size:16px;color:#333333;padding-top:10px"
>
{{
getlistSigel
.
backFlightTime
}}
<p
style=
"font-size:16px;color:#333333;padding-top:10px"
>
{{
getlistSigel
.
backFlightTime
}}
...
@@ -54,7 +54,7 @@
...
@@ -54,7 +54,7 @@
<p
class=
"time"
>
{{
getlistSigel
.
backStartHouseTime
}}
</p>
<p
class=
"time"
>
{{
getlistSigel
.
backStartHouseTime
}}
</p>
<p>
{{
getlistSigel
.
goStartAirPlace
}}
</p>
<p>
{{
getlistSigel
.
goStartAirPlace
}}
</p>
</el-col>
</el-col>
<el-col
:span=
"8"
style=
"text-align:center"
>
<el-col
:span=
"8"
style=
"text-align:center
;color:#a8a8a8
"
>
<p>
<p>
{{
getlistSigel
.
backTotalTime
}}
{{
getlistSigel
.
backTotalTime
}}
</p>
</p>
...
@@ -68,8 +68,8 @@
...
@@ -68,8 +68,8 @@
</div>
</div>
</div>
</div>
</el-col>
</el-col>
<el-col
class=
"w31 coupon_con"
:span=
"6"
>
<el-col
class=
"w31 coupon_con"
:span=
"6"
style=
"border-left:1px dashed #aaaaaa;"
>
<div
style=
"margin:15px 0;
border-left:1px dashed #aaaaaa;padding:0 6
px"
>
<div
style=
"margin:15px 0;
padding:0 15
px"
>
<p>
订单金额
<p>
订单金额
<span
class=
"yu"
>
余
{{
getlistSigel
.
synum
}}
</span>
<span
class=
"yu"
>
余
{{
getlistSigel
.
synum
}}
</span>
</p>
</p>
...
@@ -165,7 +165,7 @@
...
@@ -165,7 +165,7 @@
<el-form-item
label=
"出生日期"
:prop=
"'guestList.'+index+'.birthday'"
:rules=
"[
{ type: 'string', required: true, message: '请选择日期', trigger: 'change' }]">
<el-form-item
label=
"出生日期"
:prop=
"'guestList.'+index+'.birthday'"
:rules=
"[
{ type: 'string', required: true, message: '请选择日期', trigger: 'change' }]">
<el-date-picker
size=
"small"
value-format=
"yyyy-MM-dd"
type=
"date"
placeholder=
"选择日期"
v-model=
"item.birthday"
style=
"width: 100%;"
></el-date-picker>
<el-date-picker
size=
"small"
value-format=
"yyyy-MM-dd"
type=
"date"
placeholder=
"选择日期"
v-model=
"item.birthday"
style=
"width: 100%;"
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"手机号"
:prop=
"'guestList.'+index+'.mobilePhone'"
:rules=
"[
{required: true, message: '电话号码不能为空', trigger: 'blur'}]">
<el-form-item
label=
"手机号"
:prop=
"'guestList.'+index+'.mobilePhone'"
:rules=
"[
{required: true, message: '电话号码不能为空', trigger: 'blur'}
,{ required: true, trigger: 'blur', pattern: /^1[3|4|5|7|8][0-9]\d{8}$/ ,message: '请填写正确的手机号'}
]">
<el-input
size=
"small"
v-model=
"item.mobilePhone"
></el-input>
<el-input
size=
"small"
v-model=
"item.mobilePhone"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"国籍"
>
<el-form-item
label=
"国籍"
>
...
@@ -192,7 +192,7 @@
...
@@ -192,7 +192,7 @@
<el-form-item
label=
"联系人"
prop=
"contactName"
:rules=
"
{ required: true, message: '请输入联系人姓名', trigger: 'blur' }">
<el-form-item
label=
"联系人"
prop=
"contactName"
:rules=
"
{ required: true, message: '请输入联系人姓名', trigger: 'blur' }">
<el-input
size=
"small"
v-model=
"personNum.contactName"
></el-input>
<el-input
size=
"small"
v-model=
"personNum.contactName"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"手机号"
prop=
"contactMobile"
:rules=
"
{ required: true, message: '请输入联系电话', trigger: 'blur' }
">
<el-form-item
label=
"手机号"
prop=
"contactMobile"
:rules=
"
[
{ required: true, message: '请输入联系电话', trigger: 'blur' },{ required: true, trigger: 'blur', pattern: /^1[3|4|5|7|8][0-9]\d{8}$/ ,message: '请填写正确的手机号'}]
">
<el-input
size=
"small"
v-model=
"personNum.contactMobile"
></el-input>
<el-input
size=
"small"
v-model=
"personNum.contactMobile"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"邮箱"
prop=
"contactEmail"
:rules=
"[
{ required: true, message: '请输入邮箱地址', trigger: 'blur' },{ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }]">
<el-form-item
label=
"邮箱"
prop=
"contactEmail"
:rules=
"[
{ required: true, message: '请输入邮箱地址', trigger: 'blur' },{ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }]">
...
@@ -380,7 +380,6 @@ export default {
...
@@ -380,7 +380,6 @@ export default {
submitForm
(
addMsg
)
{
submitForm
(
addMsg
)
{
this
.
$refs
[
addMsg
].
validate
((
valid
)
=>
{
this
.
$refs
[
addMsg
].
validate
((
valid
)
=>
{
console
.
log
(
"valid"
,
valid
)
if
(
valid
)
{
if
(
valid
)
{
this
.
personNum
.
customerId
=
this
.
userInfo
.
accountId
;
this
.
personNum
.
customerId
=
this
.
userInfo
.
accountId
;
...
@@ -412,7 +411,15 @@ export default {
...
@@ -412,7 +411,15 @@ export default {
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
SellInfoList
=
res
.
data
.
data
;
this
.
SellInfoList
=
res
.
data
.
data
;
this
.
personNum
.
enterID
=
this
.
SellInfoList
[
0
].
EmployeeId
;
this
.
personNum
.
enterID
=
this
.
SellInfoList
[
0
].
EmployeeId
;
}
else
{
}
else
if
(
res
.
data
.
resultCode
==
10000
||
res
.
data
.
resultCode
==
10001
){
this
.
Error
(
res
.
data
.
message
);
this
.
$router
.
push
({
path
:
"/login?type=1"
,
query
:
{
path
:
this
.
$route
.
name
}
});
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
Error
(
res
.
data
.
message
);
}
}
},
},
...
@@ -442,7 +449,7 @@ export default {
...
@@ -442,7 +449,7 @@ export default {
justify-content
:
space-around
;
justify-content
:
space-around
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
}
}
.coupon_left
::before
{
/*
.coupon_left::before{
content: '';
content: '';
position: absolute;
position: absolute;
top: 0;
top: 0;
...
@@ -460,8 +467,8 @@ export default {
...
@@ -460,8 +467,8 @@ export default {
right:0;
right:0;
height:50%;
height:50%;
background:radial-gradient(circle at right bottom, #f5f5f5 15px, transparent 15px, transparent 15px)
background:radial-gradient(circle at right bottom, #f5f5f5 15px, transparent 15px, transparent 15px)
}
}
*/
.coupon_con
{
/*
.coupon_con{
position: relative;
position: relative;
}
}
.coupon_con::before{
.coupon_con::before{
...
@@ -481,7 +488,7 @@ export default {
...
@@ -481,7 +488,7 @@ export default {
right:0;
right:0;
height:50%;
height:50%;
background:radial-gradient(circle at left bottom, #f5f5f5 15px, #252525 15px, transparent 15px)
background:radial-gradient(circle at left bottom, #f5f5f5 15px, #252525 15px, transparent 15px)
}
}
*/
.w31
{
.w31
{
padding
:
0
!important
;
padding
:
0
!important
;
...
@@ -506,11 +513,12 @@ export default {
...
@@ -506,11 +513,12 @@ export default {
background
:
rgb
(
255
,
104
,
11
);
background
:
rgb
(
255
,
104
,
11
);
color
:
#fff
;
color
:
#fff
;
display
:
inline-block
;
display
:
inline-block
;
width
:
35px
;
/*
width: 35px;
height
:
35px
;
height: 35px;
*/
text-align
:
center
;
text-align
:
center
;
line-height
:
35px
;
line-height
:
35px
;
border-radius
:
50%
;
border-radius
:
50%
;
padding
:
4px
;
}
}
.tjorder
p
{
.tjorder
p
{
margin
:
0
;
margin
:
0
;
...
@@ -627,7 +635,7 @@ font-size: 14px;
...
@@ -627,7 +635,7 @@ font-size: 14px;
.ticket_list
{
.ticket_list
{
background
:
#fff
;
background
:
#fff
;
display
:
flex
;
display
:
flex
;
justify-content
:
space-
around
;
justify-content
:
space-
between
;
box-shadow
:
0px
4px
8px
0px
rgba
(
107
,
107
,
107
,
0.18
);
box-shadow
:
0px
4px
8px
0px
rgba
(
107
,
107
,
107
,
0.18
);
margin-top
:
15px
;
margin-top
:
15px
;
/* padding: 15px; */
/* padding: 15px; */
...
...
src/components/Ticket/TicketHome.vue
View file @
ca91efbf
...
@@ -6,29 +6,48 @@
...
@@ -6,29 +6,48 @@
<div
class=
"choose_w"
>
<div
class=
"choose_w"
>
<div
class=
"choose_1"
>
<div
class=
"choose_1"
>
<div
class=
"choose_back"
>
<div
class=
"choose_back"
>
<el-row
class=
"choose_form"
>
<el-row
class=
"msg"
>
<div
style=
"margin-bottom:10px"
>
<div
style=
"margin-bottom:10px"
>
<el-radio
v-model=
"choose_info.ticketType"
:label=
1
>
单程
</el-radio>
<el-radio
v-model=
"choose_info.ticketType"
:label=
1
>
单程
</el-radio>
<el-radio
v-model=
"choose_info.ticketType"
:label=
2
>
往返
</el-radio>
<el-radio
v-model=
"choose_info.ticketType"
:label=
2
>
往返
</el-radio>
</div>
</div>
<el-col
:span=
"5"
>
<el-form
ref=
"form"
:model=
"choose_info"
label-width=
"80px"
>
<div
class=
"city"
style=
"margin-bottom:15px"
>
<el-form-item
class=
"form_big"
label=
"出发地"
>
<span>
出发地
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<el-popover
<el-popover
placement=
"bottom"
placement=
"bottom"
trigger=
"click"
>
trigger=
"click"
>
<div
v-show=
"startcity"
class=
"citycompent"
>
<div
v-show=
"startcity"
class=
"citycompent"
>
<v-city
@
CityInfo=
"CityInfo"
@
CityCompClose=
"CityCompClose"
></v-city>
<v-city
@
CityInfo=
"CityInfo"
@
CityCompClose=
"CityCompClose"
></v-city>
</div>
</div>
<span
slot=
"reference"
>
<span
slot=
"reference"
>
<el-input
clearable
@
focus=
"CityCompStatus('start')"
class=
"ChooseCity"
style=
"width:65%
"
v-model=
"choose_info.departure_cityname"
placeholder=
"城市"
>
<el-input
size=
"small"
clearable
@
focus=
"CityCompStatus('start')"
class=
"ChooseCity
"
v-model=
"choose_info.departure_cityname"
placeholder=
"城市"
>
</el-input>
</el-input>
</span>
</span>
</el-popover>
</el-popover>
</div>
</el-form-item>
<div
class=
"city"
>
<el-form-item
class=
"form_big"
label=
"出发"
>
<span>
目的地
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<el-date-picker
size=
"small"
value-format=
"yyyy-MM-dd"
v-model=
"choose_info.qFlightDateStart"
type=
"date"
:picker-options=
"pickerOptions0"
placeholder=
"选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"成人"
>
<el-input-number
size=
"mini"
v-model=
"choose_info.cr"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</el-form-item>
<el-form-item
label=
"儿童"
>
<el-input-number
size=
"mini"
v-model=
"choose_info.child"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</el-form-item>
<el-form-item
label=
"婴儿"
>
<el-input-number
size=
"mini"
v-model=
"choose_info.ye"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</el-form-item>
<el-form-item
label=
"老人"
>
<el-input-number
size=
"mini"
v-model=
"choose_info.lr"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</el-form-item>
<el-form-item
class=
"form_big"
label=
"目的地"
>
<el-popover
<el-popover
placement=
"bottom"
placement=
"bottom"
trigger=
"click"
>
trigger=
"click"
>
...
@@ -36,28 +55,13 @@
...
@@ -36,28 +55,13 @@
<v-city1
@
CityInfo1=
"CityInfo1"
@
CityCompClose1=
"CityCompClose1"
></v-city1>
<v-city1
@
CityInfo1=
"CityInfo1"
@
CityCompClose1=
"CityCompClose1"
></v-city1>
</div>
</div>
<span
slot=
"reference"
>
<span
slot=
"reference"
>
<el-input
size=
"mini"
clearable
@
focus=
"CityCompStatus('end')"
class=
"ChooseCity"
style=
"width:65%"
v-model=
"choose_info.arrival_cityname"
placeholder=
"城市"
>
<el-input
size=
"mini"
clearable
@
focus=
"CityCompStatus('end')"
class=
"ChooseCity"
v-model=
"choose_info.arrival_cityname"
placeholder=
"城市"
>
</el-input>
</el-input>
</span>
</span>
</el-popover>
</el-popover>
</el-form-item>
</div>
<el-form-item
class=
"form_big"
label=
"舱位选择"
>
</el-col>
<el-select
size=
"small"
clearable
v-model=
"choose_info.freightSpace"
placeholder=
"请选择"
>
<el-col
:span=
"5"
>
<div
class=
"city"
style=
"margin-bottom:15px"
>
<span>
出发
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"choose_info.qFlightDateStart"
type=
"date"
style=
"width:75%"
:picker-options=
"pickerOptions0"
placeholder=
"选择日期"
>
</el-date-picker>
<!--
<span>
{{
startweek
}}
</span>
-->
</div>
<div
class=
"city"
style=
"display:inline-block;"
>
<span>
舱位选择
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<el-select
clearable
style=
"width:60%"
v-model=
"choose_info.freightSpace"
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
<el-option
v-for=
"item in cawei"
v-for=
"item in cawei"
...
@@ -66,34 +70,9 @@
...
@@ -66,34 +70,9 @@
:value=
"item.id"
>
:value=
"item.id"
>
</el-option>
</el-option>
</el-select>
</el-select>
</div>
</el-form-item>
<el-form-item
class=
"form_big"
label=
"航空公司"
>
</el-col>
<el-select
size=
"small"
clearable
filterable
v-model=
"choose_info.airLineID"
placeholder=
"请选择"
>
<el-col
:span=
"14"
>
<div
style=
"margin-bottom:15px"
>
<div
class=
"number"
>
<span>
成人
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<el-input-number
size=
"mini"
v-model=
"choose_info.cr"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
<div
class=
"number"
>
<span>
儿童
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<el-input-number
size=
"mini"
v-model=
"choose_info.child"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
<div
class=
"number"
>
<span>
婴儿
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<el-input-number
size=
"mini"
v-model=
"choose_info.ye"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
<div
class=
"number"
>
<span>
老人
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<el-input-number
size=
"mini"
v-model=
"choose_info.lr"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
</div>
<div>
<div
class=
"city"
style=
"width:250px;display:inline-block;margin-right:10px"
>
<span>
航空公司
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<el-select
clearable
style=
"width:160px"
filterable
v-model=
"choose_info.airLineID"
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
<el-option
v-for=
"item in airlineList"
v-for=
"item in airlineList"
...
@@ -104,11 +83,16 @@
...
@@ -104,11 +83,16 @@
<span
style=
"float: right; color: #8492a6; font-size: 13px"
>
{{
item
.
AlCode
}}
</span>
<span
style=
"float: right; color: #8492a6; font-size: 13px"
>
{{
item
.
AlCode
}}
</span>
</el-option>
</el-option>
</el-select>
</el-select>
</div>
</el-form-item>
<el-button
@
click=
"Search"
size=
"small"
>
搜索
</el-button>
<el-form-item>
</div>
<el-button
@
click=
"Search"
size=
"small"
style=
"background:rgba(238,68,84,1);color:#fff;border:none"
>
搜索
</el-button>
</el-col>
</el-form-item>
</el-form>
</el-row>
</el-row>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -130,42 +114,42 @@
...
@@ -130,42 +114,42 @@
<el-col
:span=
"18"
:offset=
"3"
style=
"height:100%"
>
<el-col
:span=
"18"
:offset=
"3"
style=
"height:100%"
>
<el-row
style=
"height:100%"
>
<el-row
style=
"height:100%"
>
<el-col
:span=
"5"
style=
"height:100%"
>
<el-col
:span=
"5"
style=
"height:100%"
>
<div
class=
"carousel_small"
@
click=
"
DepartureCity(1145
)"
>
<div
class=
"carousel_small"
@
click=
"
ArrivalCity(1145,'科伦坡'
)"
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/sllk.png"
alt=
""
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/sllk.png"
alt=
""
>
<div
class=
"info"
>
<div
class=
"info"
>
<div
class=
"table_cell"
>
<div
class=
"table_cell"
>
<p
class=
"ch"
>
斯里兰卡
</p>
<p
class=
"ch"
>
科伦坡
</p>
<p
class=
"en"
>
SRI LANKA
</p>
<p
class=
"en"
>
Colombo
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"carousel_small"
@
click=
"
DepartureCity(6708
)"
>
<div
class=
"carousel_small"
@
click=
"
ArrivalCity(893,'首尔'
)"
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/md.png"
alt=
""
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/md.png"
alt=
""
>
<div
class=
"info"
>
<div
class=
"info"
>
<div
class=
"table_cell"
>
<div
class=
"table_cell"
>
<p
class=
"ch"
>
缅甸
</p>
<p
class=
"ch"
>
首尔
</p>
<p
class=
"en"
>
MYANMAR
</p>
<p
class=
"en"
>
Seoul
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"9"
style=
"height:100%"
>
<el-col
:span=
"9"
style=
"height:100%"
>
<div
class=
"carousel_large"
@
click=
"
DepartureCity(653
)"
>
<div
class=
"carousel_large"
@
click=
"
ArrivalCity(653,'东京'
)"
>
<img
style=
"width:100%;height: 100%;"
src=
"../../assets/img/ticket/rb.png"
alt=
""
>
<img
style=
"width:100%;height: 100%;"
src=
"../../assets/img/ticket/rb.png"
alt=
""
>
<div
class=
"info"
>
<div
class=
"info"
>
<div
class=
"table_cell"
>
<div
class=
"table_cell"
>
<p
class=
"ch"
>
日本
</p>
<p
class=
"ch"
>
东京
</p>
<p
class=
"en"
>
JANAN
</p>
<p
class=
"en"
>
Tokyo
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<div
class=
"carousel_small"
@
click=
"
DepartureCity(622
)"
>
<div
class=
"carousel_small"
@
click=
"
ArrivalCity(622,'巴厘岛'
)"
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/bld.png"
alt=
""
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/bld.png"
alt=
""
>
<div
class=
"info"
>
<div
class=
"info"
>
<div
class=
"table_cell"
>
<div
class=
"table_cell"
>
...
@@ -175,7 +159,7 @@
...
@@ -175,7 +159,7 @@
</div>
</div>
</div>
</div>
<div
class=
"carousel_small"
@
click=
"
DepartureCity(421
)"
>
<div
class=
"carousel_small"
@
click=
"
ArrivalCity(421,'香港'
)"
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/xg.png"
alt=
""
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/xg.png"
alt=
""
>
<div
class=
"info"
>
<div
class=
"info"
>
<div
class=
"table_cell"
>
<div
class=
"table_cell"
>
...
@@ -187,17 +171,17 @@
...
@@ -187,17 +171,17 @@
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<div
class=
"carousel_small"
@
click=
"
DepartureCity(1221
)"
>
<div
class=
"carousel_small"
@
click=
"
ArrivalCity(1221,'伊斯坦布尔'
)"
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/teq.png"
alt=
""
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/teq.png"
alt=
""
>
<div
class=
"info"
>
<div
class=
"info"
>
<div
class=
"table_cell"
>
<div
class=
"table_cell"
>
<p
class=
"ch"
>
土耳其
</p>
<p
class=
"ch"
>
伊斯坦布尔
</p>
<p
class=
"en"
>
TuRKEY
</p>
<p
class=
"en"
>
Istanbul
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"carousel_small"
@
click=
"
DepartureCity(1319
)"
>
<div
class=
"carousel_small"
@
click=
"
ArrivalCity(1319,'雅典'
)"
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/yd.png"
alt=
""
>
<img
style=
"width:100%"
src=
"../../assets/img/ticket/yd.png"
alt=
""
>
<div
class=
"info"
>
<div
class=
"info"
>
<div
class=
"table_cell"
>
<div
class=
"table_cell"
>
...
@@ -257,24 +241,24 @@
...
@@ -257,24 +241,24 @@
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
ChooseCity
from
"@/components/Ticket/ChooseCity.vue"
import
ChooseCity
from
"@/components/Ticket/ChooseCity.vue"
;
import
ChooseCity1
from
"@/components/Ticket/ChooseCity1.vue"
import
ChooseCity1
from
"@/components/Ticket/ChooseCity1.vue"
;
import
moment
from
'moment'
import
moment
from
"moment"
;
export
default
{
export
default
{
components
:
{
components
:
{
"v-city"
:
ChooseCity
,
"v-city"
:
ChooseCity
,
"v-city1"
:
ChooseCity1
"v-city1"
:
ChooseCity1
},
},
data
()
{
data
()
{
return
{
return
{
startcity
:
false
,
//出发城市组件
startcity
:
false
,
//出发城市组件
endcity
:
false
,
endcity
:
false
,
cityStatus
:
""
,
cityStatus
:
""
,
carousel_height
:
"0px"
,
carousel_height
:
"0px"
,
bannerHeight
:
"282px"
,
bannerHeight
:
"282px"
,
Youhui
:
{
Youhui
:
{
isDiscounts
:
1
,
isDiscounts
:
1
},
},
yhList
:
[],
yhList
:
[],
...
@@ -286,13 +270,13 @@ export default {
...
@@ -286,13 +270,13 @@ export default {
qFlightDateEnd
:
""
,
qFlightDateEnd
:
""
,
flight_number
:
""
,
flight_number
:
""
,
airLineID
:
0
,
airLineID
:
0
,
ticketType
:
2
,
ticketType
:
2
,
lineId
:
0
,
lineId
:
0
,
isPayOrder
:
0
,
isPayOrder
:
0
,
departure_city
:
0
,
departure_city
:
0
,
departure_cityname
:
""
,
departure_cityname
:
""
,
arrival_city
:
0
,
arrival_city
:
0
,
arrival_cityname
:
""
,
arrival_cityname
:
""
,
freightSpace
:
0
,
freightSpace
:
0
,
airTicketScatterNum
:
0
,
airTicketScatterNum
:
0
,
cr
:
0
,
cr
:
0
,
...
@@ -316,10 +300,10 @@ export default {
...
@@ -316,10 +300,10 @@ export default {
airlineList
:
[],
airlineList
:
[],
cfd
:
[],
cfd
:
[],
pickerOptions0
:
{
pickerOptions0
:
{
disabledDate
(
time
)
{
disabledDate
(
time
)
{
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
}
}
},
}
};
};
},
},
mounted
()
{
mounted
()
{
...
@@ -331,39 +315,39 @@ export default {
...
@@ -331,39 +315,39 @@ export default {
this
.
CFD
();
this
.
CFD
();
},
},
methods
:
{
methods
:
{
// 目的地城市信息
// 目的地城市信息
CityInfo1
(
val
)
{
CityInfo1
(
val
)
{
this
.
choose_info
.
arrival_city
=
val
.
ID
;
this
.
choose_info
.
arrival_city
=
val
.
ID
;
this
.
choose_info
.
arrival_cityname
=
val
.
Name
;
this
.
choose_info
.
arrival_cityname
=
val
.
Name
;
},
},
// 目的地关闭子组件
// 目的地关闭子组件
CityCompClose1
(
val
)
{
CityCompClose1
(
val
)
{
this
.
endcity
=
false
;
this
.
endcity
=
false
;
},
},
// 城市组件状态
// 城市组件状态
CityCompStatus
(
str
)
{
CityCompStatus
(
str
)
{
this
.
startcity
=
false
;
this
.
startcity
=
false
;
this
.
endcity
=
false
;
this
.
endcity
=
false
;
if
(
str
==
"start"
)
{
if
(
str
==
"start"
)
{
this
.
startcity
=
true
;
this
.
startcity
=
true
;
}
else
{
}
else
{
this
.
endcity
=
true
;
this
.
endcity
=
true
;
}
}
},
},
// 出发地城市信息
// 出发地城市信息
CityInfo
(
val
)
{
CityInfo
(
val
)
{
this
.
choose_info
.
departure_city
=
val
.
ID
;
this
.
choose_info
.
departure_city
=
val
.
ID
;
this
.
choose_info
.
departure_cityname
=
val
.
Name
;
this
.
choose_info
.
departure_cityname
=
val
.
Name
;
},
},
// 出发地关闭子组件
// 出发地关闭子组件
CityCompClose
(
val
){
CityCompClose
(
val
)
{
this
.
startcity
=
false
;
this
.
startcity
=
false
;
},
},
ArrivalCity
(
num
,
name
)
{
DepartureCity
(
num
)
{
this
.
choose_info
.
arrival_city
=
num
;
this
.
choose_info
.
departure_city
=
num
;
this
.
choose_info
.
arrival_cityname
=
name
;
this
.
Search
();
this
.
Search
();
},
},
CFD
()
{
CFD
()
{
this
.
apipost
(
this
.
apipost
(
...
@@ -391,19 +375,30 @@ export default {
...
@@ -391,19 +375,30 @@ export default {
);
);
},
},
Search
()
{
Search
()
{
this
.
choose_info
.
departure_city
=
this
.
choose_info
.
departure_cityname
==
''
?
0
:
this
.
choose_info
.
departure_city
;
this
.
choose_info
.
arrival_city
=
this
.
choose_info
.
arrival_cityname
==
''
?
0
:
this
.
choose_info
.
arrival_city
;
this
.
choose_info
.
airTicketScatterNum
=
this
.
choose_info
.
airTicketScatterNum
=
this
.
choose_info
.
cr
+
this
.
choose_info
.
child
+
this
.
choose_info
.
ye
;
this
.
choose_info
.
cr
+
this
.
choose_info
.
child
+
this
.
choose_info
.
ye
;
sessionStorage
.
setItem
(
"ChooseInfo"
,
JSON
.
stringify
(
this
.
choose_info
));
sessionStorage
.
setItem
(
"ChooseInfo"
,
JSON
.
stringify
(
this
.
choose_info
));
this
.
$router
.
push
({
path
:
"TicketList"
});
},
GoUrl
(
item
)
{
// console.log(item)
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
`/ticket/FillItinerary/
${
item
.
id
}
`
path
:
"TicketList"
});
});
},
},
GoUrl
(
item
)
{
let
isLogin
=
this
.
$store
.
state
.
isLogin
;
if
(
isLogin
==
0
)
{
this
.
Error
(
"请先登录!"
);
this
.
$router
.
push
({
path
:
"/login?type=1"
,
query
:
{
path
:
this
.
$route
.
name
}
});
// this.$router.push({path: `/login?type=1`})
}
else
{
this
.
$router
.
push
({
path
:
`/ticket/FillItinerary/
${
item
.
id
}
`
});
}
},
JXYH
()
{
JXYH
()
{
this
.
apiJavaPost
(
this
.
apiJavaPost
(
"/api/dmc/airticket/getB2BAirticketList"
,
"/api/dmc/airticket/getB2BAirticketList"
,
...
@@ -427,102 +422,43 @@ export default {
...
@@ -427,102 +422,43 @@ export default {
@import
"//at.alicdn.com/t/font_863923_3d1f1rd9oj6.css"
;
@import
"//at.alicdn.com/t/font_863923_3d1f1rd9oj6.css"
;
@import
"../../assets/global/global.css"
;
@import
"../../assets/global/global.css"
;
@import
"../../assets/css/reset.css"
;
@import
"../../assets/css/reset.css"
;
.el-popover
{
.choose_form
.el-input__inner
{
padding
:
0
;
border-radius
:
0
;
border
:
none
;
}
}
.list_content
.goumai
{
.choose_form
.el-form-item
{
position
:
absolute
;
display
:
inline-block
;
right
:
10px
;
bottom
:
0px
;
background
:
rgba
(
238
,
68
,
84
,
1
);
color
:
#fff
;
border
:
none
;
}
}
.ticket_home
.citycompent
{
.form_big
.el-form-item__content
{
position
:
absolute
;
width
:
150px
;
top
:
36px
;
}
}
.
ticket_home
.ChooseCity
{
.
choose_form
.el-form-item__content
.el-date-editor.el-input
{
position
:
relative
;
width
:
100%
;
}
}
.choose_back
.msg
.el-input-number--mini
{
.el-popover
{
line-height
:
30px
;
padding
:
0
;
border
:
none
;
}
}
.choose_back
.msg
.el-input__icon
{
.list_content
.goumai
{
line-height
:
0
;
position
:
absolute
;
right
:
10px
;
bottom
:
0px
;
background
:
rgba
(
238
,
68
,
84
,
1
);
color
:
#fff
;
border
:
none
;
}
}
.ticket_home
.citycompent
{
.choose_back
.msg
.el-select
{
position
:
absolute
;
width
:
130px
;
top
:
36px
;
height
:
100%
;
}
.choose_back
.msg
.el-select
>
.el-input
{
width
:
100%
;
}
.choose_back
.msg
.el-button
{
width
:
77px
;
height
:
32px
;
background
:
rgba
(
238
,
68
,
84
,
1
);
border-radius
:
4px
;
color
:
#ffffff
;
border
:
none
;
}
.choose_back
.msg
.el-input-number
.el-input
{
width
:
95px
;
}
.choose_back
.msg
.number
{
width
:
170px
;
height
:
34px
;
/* line-height: 34px; */
background
:
rgba
(
255
,
255
,
255
,
1
);
border
:
1px
solid
rgba
(
216
,
218
,
220
,
1
);
border-radius
:
4px
;
padding-left
:
6px
;
box-sizing
:
border-box
;
display
:
inline-block
;
margin-right
:
20px
;
}
.choose_back
.msg
.el-input-number
{
width
:
95px
;
height
:
100%
;
}
.choose_back
.msg
{
color
:
#000000
;
font-size
:
12px
;
margin-top
:
15px
;
}
/* .choose_back .msg .city .icon-cha{
position: absolute;
right: ;
} */
.choose_back
.msg
.city
{
position
:
relative
;
/* padding:4px 0; */
width
:
80%
;
height
:
34px
;
line-height
:
34px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
border
:
1px
solid
rgba
(
216
,
218
,
220
,
1
);
border-radius
:
4px
;
padding-bottom
:
2px
;
padding-left
:
6px
;
box-sizing
:
border-box
}
}
.ticket_home
.ChooseCity
{
.choose_back
.msg
.el-input.is-active
.el-input__inner
,
.el-input__inner
:focus
{
position
:
relative
;
border-color
:
none
;
}
}
.choose_back
.msg
.el-input__inner
{
border
:
none
;
height
:
100%
;
}
.ticket_home
a
{
.ticket_home
a
{
color
:
#333333
;
color
:
#333333
;
text-decoration
:
none
;
text-decoration
:
none
;
}
}
.allyh
{
.allyh
{
...
@@ -557,7 +493,7 @@ export default {
...
@@ -557,7 +493,7 @@ export default {
}
}
.list_content
.des
{
.list_content
.des
{
font-size
:
20px
;
font-size
:
20px
;
font-family
:
MicrosoftYaHei-Bold
;
font-family
:
"PingFangR"
;
font-weight
:
bold
;
font-weight
:
bold
;
color
:
rgba
(
51
,
51
,
51
,
1
);
color
:
rgba
(
51
,
51
,
51
,
1
);
}
}
...
@@ -607,8 +543,8 @@ export default {
...
@@ -607,8 +543,8 @@ export default {
height
:
100%
;
height
:
100%
;
display
:
table
;
display
:
table
;
}
}
.banner_img
.info
.table_cell
:hover
{
.banner_img
.info
.table_cell
:hover
{
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.banner_img
.info
.table_cell
{
.banner_img
.info
.table_cell
{
display
:
table-cell
;
display
:
table-cell
;
...
...
src/components/Ticket/TicketList.vue
View file @
ca91efbf
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<el-radio
v-model=
"choose_info.ticketType"
:label=
1
>
单程
</el-radio>
<el-radio
v-model=
"choose_info.ticketType"
:label=
1
>
单程
</el-radio>
<el-radio
v-model=
"choose_info.ticketType"
:label=
2
>
往返
</el-radio>
<el-radio
v-model=
"choose_info.ticketType"
:label=
2
>
往返
</el-radio>
</div>
</div>
<el-row
class=
"msg"
style=
"margin-top: 15px;"
>
<
!--
<
el-row
class=
"msg"
style=
"margin-top: 15px;"
>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<div
class=
"city"
>
<div
class=
"city"
>
<span>
出发地
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<span>
出发地
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
...
@@ -40,7 +40,6 @@
...
@@ -40,7 +40,6 @@
style=
"width:80%"
style=
"width:80%"
placeholder=
"选择日期"
>
placeholder=
"选择日期"
>
</el-date-picker>
</el-date-picker>
<!--
<span>
{{
startweek
}}
</span>
-->
</div>
</div>
</el-col>
</el-col>
...
@@ -123,8 +122,86 @@
...
@@ -123,8 +122,86 @@
</el-col>
</el-col>
</el-row>
</el-row>
-->
<el-form
class=
"choose_form"
ref=
"form"
:model=
"choose_info"
label-width=
"100px"
>
<el-form-item
class=
"form_big"
label=
"出发地"
>
<el-popover
placement=
"bottom"
trigger=
"click"
>
<div
v-show=
"startcity"
class=
"citycompent"
>
<v-city
@
CityInfo=
"CityInfo"
@
CityCompClose=
"CityCompClose"
></v-city>
</div>
<span
slot=
"reference"
>
<el-input
size=
"small"
clearable
@
focus=
"CityCompStatus('start')"
class=
"ChooseCity"
v-model=
"choose_info.departure_cityname"
placeholder=
"城市"
>
</el-input>
</span>
</el-popover>
</el-form-item>
<el-form-item
class=
"form_big"
label=
"出发"
>
<el-date-picker
size=
"small"
value-format=
"yyyy-MM-dd"
v-model=
"choose_info.qFlightDateStart"
type=
"date"
:picker-options=
"pickerOptions0"
placeholder=
"选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"成人"
style=
"margin-left:10px"
>
<el-input-number
size=
"mini"
v-model=
"choose_info.cr"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</el-form-item>
<el-form-item
label=
"儿童"
>
<el-input-number
size=
"mini"
v-model=
"choose_info.child"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</el-form-item>
<el-form-item
label=
"婴儿"
>
<el-input-number
size=
"mini"
v-model=
"choose_info.ye"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</el-form-item>
<el-form-item
label=
"老人"
>
<el-input-number
size=
"mini"
v-model=
"choose_info.lr"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</el-form-item>
<el-form-item
class=
"form_big"
label=
"目的地"
>
<el-popover
placement=
"bottom"
trigger=
"click"
>
<div
v-show=
"endcity"
class=
"citycompent"
>
<v-city1
@
CityInfo1=
"CityInfo1"
@
CityCompClose1=
"CityCompClose1"
></v-city1>
</div>
<span
slot=
"reference"
>
<el-input
size=
"mini"
clearable
@
focus=
"CityCompStatus('end')"
class=
"ChooseCity"
v-model=
"choose_info.arrival_cityname"
placeholder=
"城市"
>
</el-input>
</span>
</el-popover>
</el-form-item>
<el-form-item
class=
"form_big"
label=
"舱位选择"
>
<el-select
size=
"small"
clearable
v-model=
"choose_info.freightSpace"
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
v-for=
"item in cawei"
:key=
"item.id"
:label=
"item.title"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"form_big"
label=
"航空公司"
style=
"margin-left:10px"
>
<el-select
size=
"small"
clearable
filterable
v-model=
"choose_info.airLineID"
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
v-for=
"item in airlineList"
:key=
"item.AlCode"
:label=
"item.AlName"
:value=
"item.value"
>
<span
style=
"float: left"
>
{{
item
.
AlName
}}
</span>
<span
style=
"float: right; color: #8492a6; font-size: 13px"
>
{{
item
.
AlCode
}}
</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
@
click=
"Search"
size=
"small"
style=
"background:rgba(238,68,84,1);color:#fff;border:none"
>
搜索
</el-button>
</el-form-item>
</el-form>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -155,9 +232,13 @@
...
@@ -155,9 +232,13 @@
trigger=
"click"
>
trigger=
"click"
>
<div
ref=
"otherdate"
class=
"otherdate"
>
<div
ref=
"otherdate"
class=
"otherdate"
>
<div
style=
"font-size:16px;padding:10px;text-align:center"
>
<div
style=
"font-size:16px;padding:10px;text-align:center"
>
<el-col
:span=
"8"
><span
@
click=
"ChangeMonth(1)"
class=
"month_circle"
>
<
</span>
</el-col>
<el-col
:span=
"8"
><span
@
click=
"ChangeMonth(1)"
class=
"month_circle"
>
<i
class=
"iconfont icon-xiangzuo"
></i>
</span>
</el-col>
<el-col
:span=
"8"
>
{{
tomonth
}}
</el-col>
<el-col
:span=
"8"
>
{{
tomonth
}}
</el-col>
<el-col
:span=
"8"
><span
@
click=
"ChangeMonth(2)"
class=
"month_circle"
>
>
</span></el-col>
<el-col
:span=
"8"
><span
@
click=
"ChangeMonth(2)"
class=
"month_circle"
>
<i
class=
"iconfont icon-arrowright1"
></i>
</span></el-col>
</div>
</div>
<div
style=
"margin-top:22px"
>
<div
style=
"margin-top:22px"
>
...
@@ -350,750 +431,713 @@
...
@@ -350,750 +431,713 @@
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
ChooseCity
from
"@/components/Ticket/ChooseCity.vue"
import
ChooseCity
from
"@/components/Ticket/ChooseCity.vue"
;
import
ChooseCity1
from
"@/components/Ticket/ChooseCity1.vue"
import
ChooseCity1
from
"@/components/Ticket/ChooseCity1.vue"
;
import
moment
from
'moment'
import
moment
from
"moment"
;
import
calendar
from
'@/components/mall/newcalendar.vue'
import
calendar
from
"@/components/mall/newcalendar.vue"
;
export
default
{
export
default
{
components
:
{
components
:
{
"v-calendar"
:
calendar
,
"v-calendar"
:
calendar
,
"v-city"
:
ChooseCity
,
"v-city"
:
ChooseCity
,
"v-city1"
:
ChooseCity1
"v-city1"
:
ChooseCity1
},
},
data
()
{
data
()
{
return
{
return
{
startcity
:
false
,
//出发城市组件
startcity
:
false
,
//出发城市组件
endcity
:
false
,
endcity
:
false
,
cityStatus
:
""
,
cityStatus
:
""
,
zero
:
0
,
classArray
:[],
today
:
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
),
datalist
:[],
datainfo
:{
qFlightDateStart
:
""
},
dateList
:[],
changeday
:
""
,
other
:
false
,
other_date
:{
flithtMonthDate
:
moment
().
format
(
"YYYY-MM"
)
},
tomonth
:
moment
().
format
(
"YYYY-MM"
),
change_month
:
moment
().
format
(
"YYYY-MM"
),
params_str
:
this
.
$route
.
query
,
cr
:
0
,
zero
:
0
,
child
:
0
,
classArray
:
[],
ye
:
0
,
today
:
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
),
datalist
:
[],
choose_info
:{
datainfo
:
{
pageIndex
:
1
,
qFlightDateStart
:
""
pageSize
:
10
,
},
id
:
0
,
dateList
:
[],
qFlightDateStart
:
null
,
changeday
:
""
,
qFlightDateEnd
:
""
,
other
:
false
,
flight_number
:
""
,
other_date
:
{
airLineID
:
0
,
flithtMonthDate
:
moment
().
format
(
"YYYY-MM"
)
ticketType
:
2
,
},
lineId
:
0
,
tomonth
:
moment
().
format
(
"YYYY-MM"
),
isPayOrder
:
0
,
change_month
:
moment
().
format
(
"YYYY-MM"
),
departure_city
:
0
,
params_str
:
this
.
$route
.
query
,
arrival_city
:
0
,
freightSpace
:
1
,
airTicketScatterNum
:
0
,
cr
:
0
,
child
:
0
,
ye
:
0
,
lr
:
0
,
timeSort
:
0
,
priceSort
:
0
,
},
cr
:
0
,
startweek
:
""
,
child
:
0
,
endweek
:
""
,
ye
:
0
,
bannerHeight
:
"282px"
,
radio
:
""
,
value10
:
""
,
cawei
:[
{
title
:
"头等舱"
,
id
:
1
},
{
title
:
"商务舱"
,
id
:
2
},
{
title
:
"经济舱"
,
id
:
3
}
],
value1
:
""
,
num1
:
""
,
input10
:
""
,
value
:
""
,
airlineList
:[],
cfd
:[],
loading
:
false
,
count
:
0
,
pickerOptions0
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
}
},
choose_info
:
{
pageIndex
:
1
,
pageSize
:
10
,
id
:
0
,
qFlightDateStart
:
null
,
qFlightDateEnd
:
""
,
flight_number
:
""
,
airLineID
:
0
,
ticketType
:
2
,
lineId
:
0
,
isPayOrder
:
0
,
departure_city
:
0
,
arrival_city
:
0
,
freightSpace
:
1
,
airTicketScatterNum
:
0
,
cr
:
0
,
child
:
0
,
ye
:
0
,
lr
:
0
,
timeSort
:
0
,
priceSort
:
0
},
startweek
:
""
,
endweek
:
""
,
bannerHeight
:
"282px"
,
radio
:
""
,
value10
:
""
,
cawei
:
[
{
title
:
"头等舱"
,
id
:
1
},
{
title
:
"商务舱"
,
id
:
2
},
{
title
:
"经济舱"
,
id
:
3
}
],
value1
:
""
,
num1
:
""
,
input10
:
""
,
value
:
""
,
airlineList
:
[],
cfd
:
[],
loading
:
false
,
count
:
0
,
pickerOptions0
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
}
}
}
};
},
mounted
()
{},
created
()
{
this
.
loading
=
true
;
this
.
choose_info
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"ChooseInfo"
));
this
.
datainfo
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"ChooseInfo"
));
this
.
choose_info
.
priceSort
=
0
;
this
.
choose_info
.
timeSort
=
0
;
if
(
!
this
.
choose_info
.
qFlightDateStart
||
this
.
choose_info
.
qFlightDateStart
==
"Invalid date"
)
{
this
.
datainfo
.
qFlightDateStart
=
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
);
}
else
{
this
.
datainfo
.
qFlightDateStart
=
moment
(
this
.
choose_info
.
qFlightDateStart
).
format
(
"YYYY-MM-DD HH:mm:ss"
);
}
this
.
Datelist
();
this
.
initAirlines
();
this
.
CFD
();
},
methods
:
{
// 目的地城市信息
CityInfo1
(
val
)
{
this
.
choose_info
.
arrival_city
=
val
.
ID
;
this
.
choose_info
.
arrival_cityname
=
val
.
Name
;
},
},
mounted
()
{
},
created
(){
this
.
loading
=
true
;
this
.
Datelist
();
this
.
OtherDate
();
this
.
initAirlines
();
this
.
CFD
();
this
.
choose_info
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"ChooseInfo"
));
this
.
choose_info
.
priceSort
=
0
;
this
.
choose_info
.
timeSort
=
0
;
if
(
!
this
.
choose_info
.
qFlightDateStart
||
this
.
choose_info
.
qFlightDateStart
==
"Invalid date"
){
this
.
datainfo
.
qFlightDateStart
=
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
);
}
else
{
this
.
datainfo
.
qFlightDateStart
=
moment
(
this
.
choose_info
.
qFlightDateStart
).
format
(
"YYYY-MM-DD HH:mm:ss"
);
}
},
methods
:
{
// 目的地城市信息
CityInfo1
(
val
){
this
.
choose_info
.
arrival_city
=
val
.
ID
;
this
.
choose_info
.
arrival_cityname
=
val
.
Name
;
},
// 目的地关闭子组件
// 目的地关闭子组件
CityCompClose1
(
val
)
{
CityCompClose1
(
val
)
{
this
.
endcity
=
false
;
this
.
endcity
=
false
;
},
},
// 城市组件状态
// 城市组件状态
CityCompStatus
(
str
){
CityCompStatus
(
str
)
{
this
.
startcity
=
false
;
this
.
startcity
=
false
;
this
.
endcity
=
false
;
this
.
endcity
=
false
;
if
(
str
==
"start"
){
if
(
str
==
"start"
)
{
this
.
startcity
=
true
;
this
.
startcity
=
true
;
}
else
{
}
else
{
this
.
endcity
=
true
;
this
.
endcity
=
true
;
}
}
},
},
// 出发地城市信息
// 出发地城市信息
CityInfo
(
val
){
CityInfo
(
val
)
{
this
.
choose_info
.
departure_city
=
val
.
ID
;
this
.
choose_info
.
departure_city
=
val
.
ID
;
this
.
choose_info
.
departure_cityname
=
val
.
Name
;
this
.
choose_info
.
departure_cityname
=
val
.
Name
;
},
},
// 出发地关闭子组件
// 出发地关闭子组件
CityCompClose
(
val
){
CityCompClose
(
val
)
{
this
.
startcity
=
false
;
this
.
startcity
=
false
;
},
},
PriceSort
(
num
){
this
.
choose_info
.
priceSort
=
num
;
this
.
choose_info
.
timeSort
=
0
;
this
.
getList
();
},
Time
(
num
){
this
.
choose_info
.
priceSort
=
0
;
this
.
choose_info
.
timeSort
=
num
;
this
.
getList
();
},
SelectChild
(
item
){
this
.
datainfo
.
qFlightDateStart
=
moment
(
item
.
date_str
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
this
.
other
=
false
;
this
.
Datelist
();
this
.
choose_info
.
qFlightDateStart
=
item
.
date_str
;
},
Purchase
(
item
){
PriceSort
(
num
)
{
this
.
choose_info
.
priceSort
=
num
;
this
.
choose_info
.
timeSort
=
0
;
this
.
getList
();
},
Time
(
num
)
{
this
.
choose_info
.
priceSort
=
0
;
this
.
choose_info
.
timeSort
=
num
;
this
.
getList
();
},
SelectChild
(
item
)
{
this
.
datainfo
.
qFlightDateStart
=
moment
(
item
.
date_str
).
format
(
"YYYY-MM-DD HH:mm:ss"
);
this
.
other
=
false
;
this
.
Datelist
();
this
.
choose_info
.
qFlightDateStart
=
item
.
date_str
;
},
let
isLogin
=
this
.
$store
.
state
.
isLogin
;
Purchase
(
item
)
{
if
(
isLogin
==
0
){
let
isLogin
=
this
.
$store
.
state
.
isLogin
;
this
.
Error
(
"请先登录!"
);
if
(
isLogin
==
0
)
{
this
.
$router
.
push
({
path
:
'/login?type=1'
,
query
:{
path
:
this
.
$route
.
name
}
})
this
.
Error
(
"请先登录!"
);
// this.$router.push({path: `/login?type=1`})
this
.
$router
.
push
({
}
else
{
path
:
"/login?type=1"
,
this
.
$store
.
commit
(
'HomePage'
,
'ticket'
)
query
:
{
path
:
this
.
$route
.
name
}
sessionStorage
.
setItem
(
"Homepage"
,
'ticket'
);
}
);
// localStorage.homePage = 'ticket';
// this.$router.push({path: `/login?type=1`})
this
.
$router
.
push
(
{
}
else
{
path
:
`/ticket/FillItinerary/
${
item
.
id
}
`
this
.
$store
.
commit
(
"HomePage"
,
"ticket"
);
})
sessionStorage
.
setItem
(
"Homepage"
,
"ticket"
);
}
// localStorage.homePage = 'ticket';
this
.
$router
.
push
({
},
path
:
`/ticket/FillItinerary/
${
item
.
id
}
`
// 出发地
});
CFD
(){
}
this
.
apipost
(
},
"dict_post_Destination_GetCityList"
,
{},
// 出发地
res
=>
{
CFD
()
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
apipost
(
this
.
cfd
=
res
.
data
.
data
;
"dict_post_Destination_GetCityList"
,
}
{},
},
res
=>
{
err
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
}
this
.
cfd
=
res
.
data
.
data
;
);
}
},
},
// 航空公司下拉框
err
=>
{}
initAirlines
()
{
);
this
.
apipost
(
},
"airline_get_GetB2BAirLineList"
,
{},
// 航空公司下拉框
res
=>
{
initAirlines
()
{
// console.log(res)
this
.
apipost
(
if
(
res
.
data
.
resultCode
==
1
)
{
"airline_get_GetB2BAirLineList"
,
this
.
airlineList
=
res
.
data
.
data
;
{},
}
res
=>
{
},
// console.log(res)
err
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
}
this
.
airlineList
=
res
.
data
.
data
;
);
}
},
Weekday
(
num
){
if
(
num
==
1
){
return
"周一"
}
if
(
num
==
2
){
return
"周二"
}
if
(
num
==
3
){
return
"周三"
}
if
(
num
==
4
){
return
"周四"
}
if
(
num
==
5
){
return
"周五"
}
if
(
num
==
6
){
return
"周六"
}
if
(
num
==
7
){
return
"周日"
}
},
},
err
=>
{}
);
},
changeEnd
(
val
){
let
num
=
moment
(
val
,
'YYYY-MM-DD'
).
format
(
'E'
);
this
.
endweek
=
this
.
Weekday
(
num
);
this
.
choose_info
.
qFlightDateEnd
=
moment
(
val
).
format
(
'YYYY-MM-DD'
);
},
changeEnd
(
val
)
{
// moment("2018-10-29",'YYYY-MM-DD').format('E')
let
num
=
moment
(
val
,
"YYYY-MM-DD"
).
format
(
"E"
);
handleChange
(){},
this
.
choose_info
.
qFlightDateEnd
=
moment
(
val
).
format
(
"YYYY-MM-DD"
);
Search
(){
},
if
(
this
.
choose_info
.
qFlightDateStart
==
null
){
// moment("2018-10-29",'YYYY-MM-DD').format('E')
this
.
choose_info
.
qFlightDateStart
=
moment
().
format
(
"YYYY-MM-DD"
);
handleChange
()
{},
this
.
datainfo
.
qFlightDateStart
=
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
);
Search
()
{
}
this
.
choose_info
.
departure_city
=
this
.
choose_info
.
departure_cityname
==
""
?
0
:
this
.
choose_info
.
departure_city
;
else
{
this
.
choose_info
.
arrival_city
=
this
.
choose_info
.
arrival_cityname
==
""
?
0
:
this
.
choose_info
.
arrival_city
;
this
.
datainfo
.
qFlightDateStart
=
moment
(
this
.
choose_info
.
qFlightDateStart
).
format
(
"YYYY-MM-DD HH:mm:ss"
);
this
.
choose_info
.
airTicketScatterNum
=
}
this
.
choose_info
.
cr
+
this
.
choose_info
.
child
+
this
.
choose_info
.
ye
;
this
.
loading
=
true
;
this
.
Datelist
();
console
.
log
(
"this.choose_info"
,
this
.
choose_info
);
sessionStorage
.
setItem
(
"ChooseInfo"
,
JSON
.
stringify
(
this
.
choose_info
));
this
.
datainfo
=
this
.
choose_info
;
if
(
this
.
choose_info
.
qFlightDateStart
==
null
)
{
this
.
choose_info
.
qFlightDateStart
=
moment
().
format
(
"YYYY-MM-DD"
);
this
.
datainfo
.
qFlightDateStart
=
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
);
}
else
{
this
.
datainfo
.
qFlightDateStart
=
moment
(
this
.
choose_info
.
qFlightDateStart
).
format
(
"YYYY-MM-DD HH:mm:ss"
);
}
this
.
loading
=
true
;
this
.
Datelist
();
sessionStorage
.
setItem
(
"ChooseInfo"
,
JSON
.
stringify
(
this
.
choose_info
));
},
OtherToggle
()
{
this
.
other
=
!
this
.
other
;
},
ChangeMonth
(
num
)
{
if
(
num
==
1
)
{
this
.
tomonth
=
moment
(
this
.
tomonth
)
.
subtract
(
1
,
"month"
)
.
format
(
"YYYY-MM"
);
this
.
other_date
.
flithtMonthDate
=
this
.
tomonth
;
}
else
{
this
.
tomonth
=
moment
(
this
.
tomonth
)
.
add
(
1
,
"month"
)
.
format
(
"YYYY-MM"
);
this
.
other_date
.
flithtMonthDate
=
this
.
tomonth
;
}
this
.
OtherDate
();
},
// 其他日期
OtherDate
()
{
this
.
apiJavaPost
(
"/api/dmc/airticket/getB2BAirticketForMonthMinPrice"
,
this
.
other_date
,
res
=>
{
let
list
=
res
.
data
.
data
;
this
.
tomonth
=
moment
(
list
[
0
].
timeStr
).
format
(
"YYYY-MM"
);
this
.
creatCalendar
(
list
);
},
},
null
);
},
AfterDate
()
{
this
.
changeday
=
moment
(
this
.
changeday
)
.
add
(
1
,
"days"
)
.
format
(
"YYYY-MM-DD HH:mm:ss"
);
this
.
datainfo
.
qFlightDateStart
=
this
.
changeday
;
this
.
choose_info
.
qFlightDateStart
=
moment
(
this
.
changeday
).
format
(
"YYYY-MM-DD"
);
this
.
Datelist
();
},
// 获取当前日期的前一天
BeforeDate
()
{
let
today
=
moment
().
format
(
"YYYY-MM-DD"
);
let
changeday
=
moment
(
this
.
changeday
).
format
(
"YYYY-MM-DD"
);
if
(
today
==
changeday
)
{
this
.
$message
.
error
(
"不能选择过去的日期!"
);
return
;
}
this
.
changeday
=
moment
(
this
.
changeday
)
.
subtract
(
1
,
"days"
)
.
format
(
"YYYY-MM-DD HH:mm:ss"
);
this
.
datainfo
.
qFlightDateStart
=
this
.
changeday
;
this
.
choose_info
.
qFlightDateStart
=
moment
(
this
.
changeday
).
format
(
"YYYY-MM-DD"
);
this
.
Datelist
();
},
// 获取点击时间
GetClickDate
(
item
)
{
this
.
datainfo
.
qFlightDateStart
=
moment
(
item
.
timeStr
).
format
(
"YYYY-MM-DD HH:mm:ss"
);
this
.
Datelist
();
this
.
choose_info
.
qFlightDateStart
=
item
.
timeStr
;
},
Datelist
()
{
this
.
other_date
=
this
.
datainfo
;
this
.
other_date
.
flithtMonthDate
=
moment
(
this
.
datainfo
.
qFlightDateStart
).
format
(
"YYYY-MM"
);
this
.
OtherDate
();
this
.
apiJavaPost
(
"/api/dmc/airticket/getB2BAirticketForMinPrice"
,
this
.
datainfo
,
res
=>
{
this
.
getList
();
OtherToggle
(){
this
.
dateList
=
res
.
data
.
data
;
this
.
other
=!
this
.
other
;
let
time
=
moment
(
this
.
choose_info
.
qFlightDateStart
).
format
(
"YYYY-MM-DD"
},
);
ChangeMonth
(
num
){
this
.
dateList
.
forEach
(
item
=>
{
if
(
num
==
1
){
if
(
item
.
timeStr
==
time
)
{
this
.
tomonth
=
moment
(
this
.
tomonth
).
subtract
(
1
,
'month'
).
format
(
'YYYY-MM'
);
item
.
active
=
"yes"
;
this
.
other_date
.
flithtMonthDate
=
this
.
tomonth
;
this
.
changeday
=
item
.
timeStr
;
}
else
{
this
.
tomonth
=
moment
(
this
.
tomonth
).
add
(
1
,
'month'
).
format
(
'YYYY-MM'
);
this
.
other_date
.
flithtMonthDate
=
this
.
tomonth
;
}
this
.
OtherDate
();
},
// 其他日期
OtherDate
(){
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketForMonthMinPrice'
,
this
.
other_date
,
res
=>
{
let
list
=
res
.
data
.
data
;
// console.log("let list",this.list)
this
.
creatCalendar
(
list
);
},
null
)
},
AfterDate
(){
this
.
changeday
=
moment
(
this
.
changeday
).
add
(
1
,
'days'
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
this
.
datainfo
.
qFlightDateStart
=
this
.
changeday
;
this
.
choose_info
.
qFlightDateStart
=
moment
(
this
.
changeday
).
format
(
'YYYY-MM-DD'
);
this
.
Datelist
();
},
// 获取当前日期的前一天
BeforeDate
(){
let
today
=
moment
().
format
(
'YYYY-MM-DD'
)
let
changeday
=
moment
(
this
.
changeday
).
format
(
'YYYY-MM-DD'
);
if
(
today
==
changeday
){
this
.
$message
.
error
(
'不能选择过去的日期!'
);
return
;
}
}
this
.
changeday
=
moment
(
this
.
changeday
).
subtract
(
1
,
'days'
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
});
this
.
datainfo
.
qFlightDateStart
=
this
.
changeday
;
this
.
choose_info
.
qFlightDateStart
=
moment
(
this
.
changeday
).
format
(
'YYYY-MM-DD'
);
this
.
Datelist
();
},
// 获取点击时间
GetClickDate
(
item
){
this
.
datainfo
.
qFlightDateStart
=
moment
(
item
.
timeStr
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
this
.
Datelist
();
this
.
choose_info
.
qFlightDateStart
=
item
.
timeStr
;
},
Datelist
(){
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketForMinPrice'
,
this
.
datainfo
,
res
=>
{
// console.log(res);
this
.
getList
();
this
.
dateList
=
res
.
data
.
data
;
let
time
=
moment
(
this
.
choose_info
.
qFlightDateStart
).
format
(
'YYYY-MM-DD'
);
this
.
dateList
.
forEach
(
item
=>
{
if
(
item
.
timeStr
==
time
){
item
.
active
=
"yes"
;
this
.
changeday
=
item
.
timeStr
;
}
})
},
null
)
},
CurrentChange
(
val
){
this
.
choose_info
.
pageIndex
=
val
;
this
.
getList
();
},
getList
(){
this
.
loading
=
true
;
this
.
choose_info
.
qFlightDateStart
=
moment
(
this
.
choose_info
.
qFlightDateStart
).
format
(
"YYYY-MM-DD"
);
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketList'
,
this
.
choose_info
,
res
=>
{
console
.
log
(
res
);
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
datalist
=
res
.
data
.
data
.
pageData
;
this
.
count
=
res
.
data
.
data
.
count
;
if
(
this
.
datalist
.
length
>
0
){
this
.
datalist
.
forEach
(
item
=>
{
item
.
synum
=
item
.
airTicketScatterNum
-
item
.
useScatterNum
;
})
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
)
},
},
creatCalendar
(
list
){
// 创建日历
null
let
dateList
=
[];
);
if
(
list
&&
list
.
length
>
0
){
},
list
.
forEach
((
x
,
index
)
=>
{
// if(parseFloat(999) > 0){
CurrentChange
(
val
)
{
let
msg
=
{
this
.
choose_info
.
pageIndex
=
val
;
dateStr
:
x
.
timeStr
,
this
.
getList
();
cDate
:
x
.
timeStr
.
replace
(
'-'
,
'年'
).
replace
(
'-'
,
'月'
),
},
price
:
x
.
price
,
getList
()
{
b2BMemberPrice
:
x
.
price
,
this
.
loading
=
true
;
b2BPrice
:
x
.
price
,
this
.
choose_info
.
qFlightDateStart
=
moment
(
b2CMemberPrice
:
x
.
price
,
this
.
choose_info
.
qFlightDateStart
id
:
index
,
).
format
(
"YYYY-MM-DD"
);
dateStrS
:
x
.
timeStr
.
substring
(
0
,
x
.
timeStr
.
length
-
3
)
this
.
apiJavaPost
(
}
"/api/dmc/airticket/getB2BAirticketList"
,
dateList
.
push
(
msg
);
this
.
choose_info
,
// }
res
=>
{
// console.log(res);
});
this
.
loading
=
false
;
}
if
(
res
.
data
.
resultCode
==
1
)
{
let
monthArray
=
[];
this
.
datalist
=
res
.
data
.
data
.
pageData
;
for
(
var
i
in
dateList
)
{
this
.
count
=
res
.
data
.
data
.
count
;
var
data
=
dateList
[
i
];
if
(
this
.
datalist
.
length
>
0
)
{
var
dateDict
=
{
'mounth'
:
data
.
dateStr
.
substring
(
0
,
data
.
dateStr
.
length
-
3
)};
this
.
datalist
.
forEach
(
item
=>
{
monthArray
.
push
(
dateDict
);
item
.
synum
=
item
.
airTicketScatterNum
-
item
.
useScatterNum
;
}
});
//数组去重,获取有几个月
var
hash
=
{};
monthArray
=
monthArray
.
reduce
(
function
(
item
,
next
)
{
hash
[
next
.
mounth
]?
''
:
hash
[
next
.
mounth
]
=
true
&&
item
.
push
(
next
);
return
item
;
},[]
)
//数据分组
let
classArray
=
[];
for
(
var
j
in
monthArray
)
{
var
newArray
=
new
Array
();
for
(
var
i
in
dateList
)
{
var
data
=
dateList
[
i
];
if
(
data
.
dateStr
.
substring
(
0
,
data
.
dateStr
.
length
-
3
)
==
monthArray
[
j
].
mounth
)
{
newArray
.
push
(
data
)
}
}
classArray
.
push
(
newArray
);
}
}
this
.
classArray
=
classArray
;
}
else
{
var
hash
=
{};
this
.
Error
(
res
.
data
.
message
);
dateList
=
dateList
.
reduce
(
}
function
(
item
,
next
)
{
hash
[
next
.
dateStrS
]?
''
:
hash
[
next
.
dateStrS
]
=
true
&&
item
.
push
(
next
);
return
item
;
},[]
)
this
.
calendarTit
=
dateList
;
this
.
$nextTick
(()
=>
{
this
.
$refs
.
child
[
0
].
getYearMonthDay
(
this
.
classArray
);
})
},
},
null
);
},
creatCalendar
(
list
)
{
// 创建日历
let
dateList
=
[];
if
(
list
&&
list
.
length
>
0
)
{
list
.
forEach
((
x
,
index
)
=>
{
// if(parseFloat(999) > 0){
let
msg
=
{
dateStr
:
x
.
timeStr
,
cDate
:
x
.
timeStr
.
replace
(
"-"
,
"年"
).
replace
(
"-"
,
"月"
),
price
:
x
.
price
,
b2BMemberPrice
:
x
.
price
,
b2BPrice
:
x
.
price
,
b2CMemberPrice
:
x
.
price
,
id
:
index
,
dateStrS
:
x
.
timeStr
.
substring
(
0
,
x
.
timeStr
.
length
-
3
)
};
dateList
.
push
(
msg
);
// }
});
}
let
monthArray
=
[];
for
(
var
i
in
dateList
)
{
var
data
=
dateList
[
i
];
var
dateDict
=
{
mounth
:
data
.
dateStr
.
substring
(
0
,
data
.
dateStr
.
length
-
3
)
};
monthArray
.
push
(
dateDict
);
}
//数组去重,获取有几个月
var
hash
=
{};
monthArray
=
monthArray
.
reduce
(
function
(
item
,
next
)
{
hash
[
next
.
mounth
]
?
""
:
(
hash
[
next
.
mounth
]
=
true
&&
item
.
push
(
next
));
return
item
;
},
[]);
//数据分组
let
classArray
=
[];
for
(
var
j
in
monthArray
)
{
var
newArray
=
new
Array
();
for
(
var
i
in
dateList
)
{
var
data
=
dateList
[
i
];
if
(
data
.
dateStr
.
substring
(
0
,
data
.
dateStr
.
length
-
3
)
==
monthArray
[
j
].
mounth
)
{
newArray
.
push
(
data
);
}
}
classArray
.
push
(
newArray
);
}
this
.
classArray
=
classArray
;
var
hash
=
{};
dateList
=
dateList
.
reduce
(
function
(
item
,
next
)
{
hash
[
next
.
dateStrS
]
?
""
:
(
hash
[
next
.
dateStrS
]
=
true
&&
item
.
push
(
next
));
return
item
;
},
[]);
this
.
calendarTit
=
dateList
;
this
.
$nextTick
(()
=>
{
this
.
$refs
.
child
[
0
].
getYearMonthDay
(
this
.
classArray
);
});
}
}
}
}
}
;
</
script
>
</
script
>
<
style
>
<
style
>
@import
'../../assets/global/font.css'
;
@import
"../../assets/global/font.css"
;
@import
'../../assets/css/reset.css'
;
@import
"../../assets/css/reset.css"
;
.TicketList
.citycompent
{
.ticket_1
.choose_form
{
position
:
absolute
;
margin-top
:
20px
;
top
:
36px
;
}
}
.
TicketList
.ChooseCity
{
.
ticket_1
.choose_form
.el-input__inner
{
position
:
relative
;
border-radius
:
0
;
}
}
.ticket_1
.choose_form
.el-form-item
{
.ticketlist_content
.time_asc
.ascending
{
display
:
inline-block
;
border-bottom-color
:
rgba
(
238
,
68
,
84
,
1
)
;
margin-bottom
:
10px
;
}
}
.ticketlist_content
.time_des
.descending
{
.ticket_1
.form_big
.el-form-item__content
{
border-top-color
:
rgba
(
238
,
68
,
84
,
1
);
width
:
170px
;
}
.ticketlist_content
.price_asc
.ascending
{
border-bottom-color
:
rgba
(
238
,
68
,
84
,
1
);
}
.ticketlist_content
.price_des
.descending
{
border-top-color
:
rgba
(
238
,
68
,
84
,
1
);
}
.caret-wrapper
.sort-caret.ascending
:hover
{
border-bottom-color
:
rgba
(
238
,
68
,
84
,
1
);
}
.sort-caret.descending
:hover
{
border-top-color
:
rgba
(
238
,
68
,
84
,
1
);
}
}
.sort_active
{
.ticket_1
.choose_form
.el-form-item__content
.el-date-editor.el-input
{
border-top-color
:
#409eff
;
width
:
100%
;
}
.sort-caret.ascending
{
border-bottom-color
:
#c0c4cc
;
top
:
5px
;
}
}
.sort-caret
{
.TicketList
.citycompent
{
width
:
0
;
position
:
absolute
;
height
:
0
;
top
:
36px
;
border
:
5px
solid
transparent
;
position
:
absolute
;
left
:
7px
;
}
.sort-caret.descending
{
border-top-color
:
#c0c4cc
;
bottom
:
7px
;
}
}
.caret-wrapper
{
.TicketList
.ChooseCity
{
display
:
inline-flex
;
position
:
relative
;
flex-direction
:
column
;
align-items
:
center
;
height
:
34px
;
width
:
24px
;
vertical-align
:
middle
;
cursor
:
pointer
;
overflow
:
initial
;
position
:
relative
;
}
.ticketlist_content
.pagination
{
margin
:
10px
0
;
}
.ticketlist_content
.el-pagination
.btn-next
{
height
:
28px
;
}
.ticketlist_content
.el-pagination
.btn-prev
{
height
:
28px
;
}
.ticket_1
.msg
.el-input__icon
{
line-height
:
0
;
}
}
.ticket_1
.msg
.el-select
{
.ticketlist_content
.time_asc
.ascending
{
width
:
180px
;
border-bottom-color
:
rgba
(
238
,
68
,
84
,
1
);
height
:
100%
;
}
.ticket_1
.msg
.el-input-number--mini
{
line-height
:
30px
;
}
.ticket_1
.msg
.el-select
>
.el-input
{
width
:
100%
;
}
}
.ticket_1
.msg
.el-button
{
.ticketlist_content
.time_des
.descending
{
width
:
77px
;
border-top-color
:
rgba
(
238
,
68
,
84
,
1
);
height
:
32px
;
background
:
rgba
(
238
,
68
,
84
,
1
);
border-radius
:
4px
;
color
:
#ffffff
;
border
:
none
;
}
}
.ticket
_1
.msg
.el-input-number
.el-input
{
.ticket
list_content
.price_asc
.ascending
{
width
:
95px
;
border-bottom-color
:
rgba
(
238
,
68
,
84
,
1
)
;
}
}
.ticket_1
.msg
.number
{
.ticketlist_content
.price_des
.descending
{
width
:
170px
;
border-top-color
:
rgba
(
238
,
68
,
84
,
1
);
height
:
34px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
border
:
1px
solid
rgba
(
216
,
218
,
220
,
1
);
border-radius
:
4px
;
padding-left
:
6px
;
box-sizing
:
border-box
;
display
:
inline-block
;
margin-right
:
20px
;
}
}
.ticket_1
.msg
.el-input-number
{
.caret-wrapper
.sort-caret.ascending
:hover
{
width
:
95px
;
border-bottom-color
:
rgba
(
238
,
68
,
84
,
1
);
height
:
100%
;
}
}
.ticket_1
.msg
{
.sort-caret.descending
:hover
{
color
:
#000000
;
border-top-color
:
rgba
(
238
,
68
,
84
,
1
);
font-size
:
12px
;
}
}
.ticket_1
.msg
.city
{
.sort_active
{
width
:
270px
;
border-top-color
:
#409eff
;
height
:
34px
;
line-height
:
34px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
border
:
1px
solid
rgba
(
216
,
218
,
220
,
1
);
border-radius
:
4px
;
padding-bottom
:
2px
;
padding-left
:
6px
;
box-sizing
:
border-box
}
}
.sort-caret.ascending
{
.ticket_1
.msg
.el-input.is-active
.el-input__inner
,
.el-input__inner
:focus
{
border-bottom-color
:
#c0c4cc
;
border-color
:
none
;
top
:
5px
;
}
}
.ticket_1
.msg
.el-input__inner
{
.sort-caret
{
border
:
none
;
width
:
0
;
height
:
100%
;
height
:
0
;
border
:
5px
solid
transparent
;
position
:
absolute
;
left
:
7px
;
}
}
.sort-caret.descending
{
border-top-color
:
#c0c4cc
;
bottom
:
7px
;
.ticketlist_content
.first
{
height
:
100%
;
overflow
:
auto
;
}
}
.caret-wrapper
{
.el-popover
{
display
:
inline-flex
;
padding
:
0
;
flex-direction
:
column
;
align-items
:
center
;
height
:
34px
;
width
:
24px
;
vertical-align
:
middle
;
cursor
:
pointer
;
overflow
:
initial
;
position
:
relative
;
}
}
.describe
.content
.list_cn
.list_circle
{
.ticketlist_content
.pagination
{
display
:
inline-block
;
margin
:
10px
0
;
width
:
5px
;
height
:
5px
;
background
:
#333333
;
border
:
2px
solid
rgba
(
255
,
255
,
255
,
1
);
border-radius
:
50%
;
margin
:
0
15px
;
}
}
li
{
.ticketlist_content
.el-pagination
.btn-next
{
list-style
:
none
;
height
:
28px
;
}
}
.describe
.content
.list_cn
{
.ticketlist_content
.el-pagination
.btn-prev
{
background
:
rgba
(
245
,
245
,
245
,
1
);
height
:
28px
;
padding
:
12px
;
box-sizing
:
border-box
;
}
}
.describe
.content
{
padding
:
2px
20px
;
box-sizing
:
border-box
;
.ticketlist_content
.first
{
height
:
100%
;
overflow
:
auto
;
}
}
.describe
.imgsrc
{
width
:
22px
;
.el-popover
{
height
:
20px
;
padding
:
0
;
border-radius
:
50%
;
}
margin
:
0
6px
;
.describe
.content
.list_cn
.list_circle
{
vertical-align
:
middle
;
display
:
inline-block
;
width
:
5px
;
height
:
5px
;
background
:
#333333
;
border
:
2px
solid
rgba
(
255
,
255
,
255
,
1
);
border-radius
:
50%
;
margin
:
0
15px
;
}
li
{
list-style
:
none
;
}
.describe
.content
.list_cn
{
background
:
rgba
(
245
,
245
,
245
,
1
);
padding
:
12px
;
box-sizing
:
border-box
;
}
.describe
.content
{
padding
:
2px
20px
;
box-sizing
:
border-box
;
}
.describe
.imgsrc
{
width
:
22px
;
height
:
20px
;
border-radius
:
50%
;
margin
:
0
6px
;
vertical-align
:
middle
;
}
}
.describe
.info
{
.describe
.info
{
height
:
35px
;
height
:
35px
;
background
:
rgba
(
238
,
68
,
84
,
1
);
background
:
rgba
(
238
,
68
,
84
,
1
);
line-height
:
35px
;
line-height
:
35px
;
color
:
#fff
;
color
:
#fff
;
font-size
:
14px
;
font-size
:
14px
;
text-align
:
center
;
text-align
:
center
;
margin
:
0
;
margin
:
0
;
}
}
::-webkit-scrollbar
{
::-webkit-scrollbar
{
display
:
none
;
display
:
none
;
}
}
.describe
{
.describe
{
width
:
350px
;
width
:
350px
;
text-align
:
left
;
text-align
:
left
;
max-height
:
350px
;
max-height
:
350px
;
font-size
:
12px
;
font-size
:
12px
;
overflow-y
:
scroll
;
overflow-y
:
scroll
;
}
}
.month_circle
:hover
{
.month_circle
:hover
{
background
:
rgba
(
238
,
68
,
84
,
1
);
background
:
rgba
(
238
,
68
,
84
,
1
);
transition
:
all
linear
0.5s
;
transition
:
all
linear
0.5s
;
}
}
.month_circle
{
.month_circle
{
width
:
22px
;
width
:
24px
;
height
:
22px
;
height
:
24px
;
display
:
inline-block
;
display
:
inline-block
;
line-height
:
22px
;
line-height
:
24px
;
color
:
#ffffff
;
color
:
#ffffff
;
font-weight
:
700
;
font-weight
:
700
;
text-align
:
center
;
text-align
:
center
;
background
:
rgba
(
210
,
210
,
210
,
1
);
background
:
rgba
(
210
,
210
,
210
,
1
);
border-radius
:
50%
;
border-radius
:
50%
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.cilcle
{
.cilcle
{
width
:
30px
;
width
:
30px
;
height
:
30px
;
height
:
30px
;
line-height
:
30px
;
line-height
:
30px
;
text-align
:
center
;
text-align
:
center
;
display
:
inline-block
;
display
:
inline-block
;
border-radius
:
50%
;
border-radius
:
50%
;
background
:
#FF6633
;
background
:
#ff6633
;
color
:
#ffffff
;
color
:
#ffffff
;
}
}
.TicketList
.el-popover
{
.TicketList
.el-popover
{
border
:
none
;
border
:
none
;
}
}
.otherdate
{
.otherdate
{
width
:
500px
;
width
:
500px
;
position
:
absolute
;
position
:
absolute
;
right
:
0
;
right
:
0
;
z-index
:
5
;
z-index
:
5
;
top
:
10px
;
top
:
10px
;
background
:
#ffffff
;
background
:
#ffffff
;
box-shadow
:
0px
4px
8px
0px
rgba
(
107
,
107
,
107
,
0.4
);
box-shadow
:
0px
4px
8px
0px
rgba
(
107
,
107
,
107
,
0.4
);
box-sizing
:
border-box
;
box-sizing
:
border-box
;
color
:
#333
;
color
:
#333
;
}
}
.active_data
{
.active_data
{
margin
:
0
;
margin
:
0
;
border-top
:
6px
solid
#EE4454
;
border-top
:
6px
solid
#ee4454
;
box-shadow
:
0px
2px
6px
3px
rgba
(
149
,
149
,
149
,
0.23
);
box-shadow
:
0px
2px
6px
3px
rgba
(
149
,
149
,
149
,
0.23
);
transform
:
rotateX
(
100px
)
transform
:
rotateX
(
100px
);
}
}
.active_data
div
{
.active_data
div
{
border
:
none
!important
;
border
:
none
!important
;
}
}
.common
{
.date_list
.common
:hover
{
width
:
2%
;
color
:
#ee4454
!important
;
}
font-weight
:
700
;
.margin
{
font-size
:
24px
;
margin-top
:
15px
;
}
cursor
:
pointer
;
.common
{
}
width
:
2%
;
.date_list
div
:nth-last-child
(
3
)
div
{
}
border
:
none
;
.margin
{
margin-top
:
15px
;
cursor
:
pointer
;
}
.date_list
div
:nth-last-child
(
3
)
div
{
border
:
none
;
}
.li
{
box-sizing
:
border-box
;
width
:
10%
;
}
.li
div
{
margin
:
10px
0
;
border-right
:
1px
solid
#dddddd
;
}
.li
p
{
margin
:
0
;
padding
:
0
;
}
.second
p
{
margin
:
0
;
padding
:
0
;
}
.date_list
>
div
{
text-align
:
center
;
}
.date_list
>
div
:hover
{
cursor
:
pointer
;
}
.date_list
{
background
:
rgba
(
248
,
248
,
248
,
1
);
border
:
1px
solid
rgba
(
221
,
221
,
221
,
1
);
margin
:
22px
0
;
display
:
flex
;
justify-content
:
space-between
;
}
.font_12
{
font-size
:
12px
;
}
.ticketlist_content
{
padding-top
:
20px
;
background
:
rgba
(
245
,
245
,
245
,
1
);
min-height
:
300px
;
}
.green
{
color
:
rgba
(
15
,
181
,
144
,
1
);
}
.second
.el-col-8
{
padding
:
0
6px
;
box-sizing
:
border-box
;
position
:
relative
;
}
.second
.num
{
position
:
absolute
;
right
:
10px
;
font-size
:
12px
;
top
:
0
;
}
.adress
{
font-size
:
12px
;
color
:
rgba
(
102
,
102
,
102
,
1
);
}
.second
.time
{
font-size
:
20px
;
font-weight
:
400
;
color
:
rgba
(
51
,
51
,
51
,
1
);
}
.list
:hover
{
transition
:
all
linear
0.5s
;
box-shadow
:
0px
0px
20px
rgba
(
191
,
191
,
191
,
1
);
}
.list
{
padding
:
10px
6px
;
box-sizing
:
border-box
;
background
:
rgba
(
255
,
255
,
255
,
1
);
margin-bottom
:
10px
;
}
.fg
{
margin
:
6px
0
;
height
:
1px
;
background
:
rgba
(
153
,
153
,
153
,
1
);
}
.list
.first
img
{
width
:
40px
;
height
:
40px
;
border-radius
:
50%
;
}
.px
{
height
:
36px
;
background
:
rgba
(
221
,
221
,
221
,
1
);
line-height
:
36px
;
}
}
.li
{
box-sizing
:
border-box
;
width
:
10%
;
}
.li
div
{
margin
:
10px
0
;
border-right
:
1px
solid
#dddddd
;
}
.li
p
{
margin
:
0
;
padding
:
0
;
}
.second
p
{
margin
:
0
;
padding
:
0
;
}
.date_list
>
div
{
text-align
:
center
;
}
.date_list
>
div
:hover
{
cursor
:
pointer
;
}
.date_list
{
background
:
rgba
(
248
,
248
,
248
,
1
);
border
:
1px
solid
rgba
(
221
,
221
,
221
,
1
);
margin
:
22px
0
;
display
:
flex
;
justify-content
:
space-between
;
}
.font_12
{
font-size
:
12px
;
}
.ticketlist_content
{
padding-top
:
20px
;
background
:
rgba
(
245
,
245
,
245
,
1
);
min-height
:
300px
;
}
.green
{
color
:
rgba
(
15
,
181
,
144
,
1
);
}
.second
.el-col-8
{
padding
:
0
6px
;
box-sizing
:
border-box
;
position
:
relative
;
}
.second
.num
{
position
:
absolute
;
right
:
10px
;
font-size
:
12px
;
top
:
0
;
}
.adress
{
font-size
:
12px
;
color
:
rgba
(
102
,
102
,
102
,
1
);
}
.second
.time
{
font-size
:
20px
;
font-weight
:
400
;
color
:
rgba
(
51
,
51
,
51
,
1
);
}
.list
:hover
{
transition
:
all
linear
0.5s
;
box-shadow
:
0px
0px
20px
rgba
(
191
,
191
,
191
,
1
);
}
.list
{
padding
:
10px
6px
;
box-sizing
:
border-box
;
background
:
rgba
(
255
,
255
,
255
,
1
);
margin-bottom
:
10px
;
}
.fg
{
margin
:
6px
0
;
height
:
1px
;
background
:
rgba
(
153
,
153
,
153
,
1
);
}
.list
.first
img
{
width
:
40px
;
height
:
40px
;
border-radius
:
50%
;
}
.px
{
height
:
36px
;
background
:
rgba
(
221
,
221
,
221
,
1
);
line-height
:
36px
;
}
</
style
>
</
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