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
375109dc
Commit
375109dc
authored
Mar 11, 2019
by
huangyuanyuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
884403e9
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
695 additions
and
722 deletions
+695
-722
App.vue
src/App.vue
+1
-1
AirlineTicketOrder.vue
src/components/Ticket/AirlineTicketOrder.vue
+17
-6
Choose.vue
src/components/Ticket/Choose.vue
+0
-300
EditTicketOrder.vue
src/components/Ticket/EditTicketOrder.vue
+1
-3
FillItinerary.vue
src/components/Ticket/FillItinerary.vue
+15
-8
OrderDetails.vue
src/components/Ticket/OrderDetails.vue
+22
-12
OrderPayOk.vue
src/components/Ticket/OrderPayOk.vue
+0
-77
Pay.vue
src/components/Ticket/Pay.vue
+2
-6
TicketHome.vue
src/components/Ticket/TicketHome.vue
+421
-189
TicketList.vue
src/components/Ticket/TicketList.vue
+204
-109
head.vue
src/components/global/head.vue
+2
-6
pay.vue
src/components/global/pay.vue
+0
-1
newcalendar.vue
src/components/mall/newcalendar.vue
+2
-2
main.js
src/main.js
+1
-0
index.js
src/plugins/index.js
+7
-2
No files found.
src/App.vue
View file @
375109dc
...
@@ -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_
3d1f1rd9oj6
.css'
;
@import
'//at.alicdn.com/t/font_863923_
v9ubqse9sl
.css'
;
@import
'./assets/global/global.css'
;
@import
'./assets/global/global.css'
;
body
,
html
{
body
,
html
{
padding
:
0px
;
padding
:
0px
;
...
...
src/components/Ticket/AirlineTicketOrder.vue
View file @
375109dc
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<el-form-item
label=
"订单号"
>
<el-form-item
label=
"订单号"
>
<el-input
size=
"small"
v-model=
"form.id"
placeholder=
"请输入订单号"
></el-input>
<el-input
size=
"small"
v-model=
"form.id"
placeholder=
"请输入订单号"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
开始
时间"
>
<el-form-item
label=
"
下单
时间"
>
<el-date-picker
size=
"small"
<el-date-picker
size=
"small"
v-model=
"form.time"
v-model=
"form.time"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
...
@@ -35,8 +35,9 @@
...
@@ -35,8 +35,9 @@
stripe
stripe
style=
"width: 100%;box-sizing:border-box"
>
style=
"width: 100%;box-sizing:border-box"
>
<el-table-column
<el-table-column
prop=
"id"
width=
"150"
label=
"订单ID"
>
prop=
"id"
label=
"订单ID"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
label=
"机票信息"
>
label=
"机票信息"
>
...
@@ -83,6 +84,10 @@
...
@@ -83,6 +84,10 @@
<el-table-column
<el-table-column
prop=
"refund"
prop=
"refund"
label=
"退款金额"
>
label=
"退款金额"
>
</el-table-column>
<el-table-column
prop=
"createTime"
label=
"下单时间"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
...
@@ -169,10 +174,13 @@ export default {
...
@@ -169,10 +174,13 @@ export default {
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
this
.
apiJavaPost
(
'/api/dmc/airticket/SetB2BAirtickOrderApplyForRefund'
,{
AirOrderId
:
row
.
id
},
res
=>
{
this
.
apiJavaPost
(
'/api/dmc/airticket/SetB2BAirtickOrderApplyForRefund'
,{
AirOrderId
:
row
.
id
},
res
=>
{
// console.log(res);
if
(
res
.
data
.
resultCode
==
1
){
if
(
res
.
data
.
resultCode
==
1
){
this
.
$message
.
success
(
"请求成功!"
)
this
.
$message
.
success
(
"请求成功!"
)
this
.
List
();
this
.
List
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
}
...
@@ -227,6 +235,8 @@ export default {
...
@@ -227,6 +235,8 @@ export default {
if
(
res
.
data
.
resultCode
==
1
){
if
(
res
.
data
.
resultCode
==
1
){
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
}
...
@@ -259,8 +269,9 @@ export default {
...
@@ -259,8 +269,9 @@ export default {
.AirlineTicketOrder
.changestatus
span
{
.AirlineTicketOrder
.changestatus
span
{
display
:
inline-block
;
display
:
inline-block
;
width
:
97px
;
width
:
97px
;
height
:
36px
;
height
:
34px
;
line-height
:
36px
;
font-size
:
12px
;
line-height
:
34px
;
text-align
:
center
;
text-align
:
center
;
margin
:
0
6px
;
margin
:
0
6px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
...
...
src/components/Ticket/Choose.vue
deleted
100644 → 0
View file @
884403e9
<
template
>
<div
class=
"choose_back"
>
<el-row
class=
"msg"
>
<div
style=
"margin-bottom:10px"
>
<el-radio
v-model=
"choose_info.ticketType"
:label=
1
>
单程
</el-radio>
<el-radio
v-model=
"choose_info.ticketType"
:label=
2
>
往返
</el-radio>
</div>
<el-col
:span=
"5"
>
<div
class=
"city"
style=
"margin-bottom:15px"
>
<span>
出发地 |
</span>
<el-select
style=
"width:70%"
v-model=
"choose_info.departure_city"
filterable
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
v-for=
"item in cfd"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</div>
<div
class=
"city"
>
<span>
目的地 |
</span>
<el-select
style=
"width:70%"
v-model=
"choose_info.arrival_city"
filterable
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
v-for=
"item in cfd"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</div>
</el-col>
<el-col
:span=
"6"
>
<div
class=
"city"
style=
"margin-bottom:15px"
>
<span>
出发 |
</span>
<el-date-picker
@
change=
"changeStart"
v-model=
"choose_info.qFlightDateStart"
type=
"date"
style=
"width:80%"
placeholder=
"选择日期"
>
</el-date-picker>
<!--
<span>
{{
startweek
}}
</span>
-->
</div>
<div
class=
"city"
style=
"display:inline-block;"
>
<span>
舱位选择 |
</span>
<el-select
style=
"width:70%"
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>
</div>
<!--
<div
class=
"city"
>
<span>
归期 |
</span>
<el-date-picker
@
change=
"changeEnd"
v-model=
"choose_info.qFlightDateEnd"
type=
"date"
style=
"width:80%"
placeholder=
"选择日期"
>
</el-date-picker>
</div>
-->
</el-col>
<el-col
:span=
"13"
>
<div
style=
"margin-bottom:15px"
>
<div
class=
"number"
>
<span>
成人 |
</span>
<el-input-number
size=
"mini"
v-model=
"choose_info.cr"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
<div
class=
"number"
>
<span>
儿童 |
</span>
<el-input-number
size=
"mini"
v-model=
"choose_info.child"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
<div
class=
"number"
>
<span>
婴儿 |
</span>
<el-input-number
size=
"mini"
v-model=
"choose_info.ye"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
<div
class=
"number"
>
<span>
老人 |
</span>
<el-input-number
size=
"mini"
v-model=
"choose_info.lr"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
</div>
<div>
<div
class=
"city"
style=
"width:250px;display:inline-block;margin:0 10px"
>
<span>
航空公司 |
</span>
<el-select
style=
"width:160px"
filterable
v-model=
"choose_info.airLineID"
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
v-for=
"item in airlineList"
:label=
"item.AlName"
:value=
"item.AirLineId"
:key=
"item.AirLineId"
></el-option>
</el-select>
</div>
<el-button
@
click=
"Search"
size=
"small"
>
搜索
</el-button>
</div>
</el-col>
</el-row>
</div>
</
template
>
<
script
>
import
moment
from
'moment'
export
default
{
components
:
{
},
data
()
{
return
{
choose_info
:{
pageIndex
:
1
,
pageSize
:
10
,
id
:
0
,
qFlightDateStart
:
moment
().
format
(
'YYYY-MM-DD'
),
qFlightDateEnd
:
""
,
flight_number
:
""
,
airLineID
:
0
,
ticketType
:
0
,
lineId
:
0
,
isPayOrder
:
0
,
departure_city
:
0
,
arrival_city
:
0
,
freightSpace
:
0
,
airTicketScatterNum
:
0
,
cr
:
0
,
child
:
0
,
ye
:
0
,
lr
:
0
,
},
startweek
:
""
,
endweek
:
""
,
bannerHeight
:
"282px"
,
radio
:
""
,
value10
:
""
,
cawei
:[
{
title
:
"头等舱"
,
id
:
1
},
{
title
:
"商务舱"
,
id
:
2
},
{
title
:
"经济舱"
,
id
:
3
}
],
value1
:
""
,
num1
:
""
,
input10
:
""
,
value
:
""
,
airlineList
:[],
cfd
:[],
}
},
mounted
()
{
},
created
(){
this
.
initAirlines
();
this
.
CFD
();
this
.
$emit
(
"ChooseInfo"
,
this
.
choose_info
)
},
methods
:
{
CFD
(){
this
.
apipost
(
"dict_post_Destination_GetCityList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
cfd
=
res
.
data
.
data
;
}
},
err
=>
{
}
);
},
// 航空公司下拉框
initAirlines
()
{
this
.
apipost
(
"airline_post_GetList"
,
{},
res
=>
{
// console.log(res)
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
airlineList
=
res
.
data
.
data
;
}
},
err
=>
{
}
);
},
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
"周日"
}
},
changeStart
(
val
){
let
num
=
moment
(
val
,
'YYYY-MM-DD'
).
format
(
'E'
);
this
.
startweek
=
this
.
Weekday
(
num
);
this
.
choose_info
.
qFlightDateStart
=
moment
(
val
).
format
(
'YYYY-MM-DD'
);
},
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'
);
},
// moment("2018-10-29",'YYYY-MM-DD').format('E')
handleChange
(){},
Search
(){
this
.
choose_info
.
airTicketScatterNum
=
this
.
choose_info
.
cr
+
this
.
choose_info
.
child
+
this
.
choose_info
.
ye
;
this
.
$emit
(
"ChooseInfo"
,
this
.
choose_info
)
sessionStorage
.
setItem
(
"ChooseInfo"
,
JSON
.
stringify
(
this
.
choose_info
));
this
.
$router
.
push
({
path
:
'TicketList'
})
}
}
}
</
script
>
<
style
>
.choose_back
.msg
.el-input__icon
{
line-height
:
0
;
}
.choose_back
.msg
.el-select
{
width
:
130px
;
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
:
150px
;
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
{
padding
:
4px
0
;
width
:
80%
;
height
:
36px
;
line-height
:
28px
;
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
}
.choose_back
.msg
.el-input.is-active
.el-input__inner
,
.el-input__inner
:focus
{
border-color
:
none
;
}
.choose_back
.msg
.el-input__inner
{
border
:
none
;
height
:
100%
;
}
</
style
>
\ No newline at end of file
src/components/Ticket/EditTicketOrder.vue
View file @
375109dc
...
@@ -249,7 +249,7 @@ export default {
...
@@ -249,7 +249,7 @@ export default {
//获取机票订单详情
//获取机票订单详情
GetTicketDes
(){
GetTicketDes
(){
this
.
apiJavaPost
(
'/api/dmc/airticket/GetB2BAirtickOrderInfo'
,{
AirOrderId
:
this
.
AirOrderId
},
res
=>
{
this
.
apiJavaPost
(
'/api/dmc/airticket/GetB2BAirtickOrderInfo'
,{
AirOrderId
:
this
.
AirOrderId
},
res
=>
{
console
.
log
(
"获取机票订单详情"
,
res
)
//
console.log("获取机票订单详情",res)
this
.
personNum
=
res
.
data
.
data
;
this
.
personNum
=
res
.
data
.
data
;
...
@@ -257,7 +257,6 @@ export default {
...
@@ -257,7 +257,6 @@ export default {
},
},
submitForm
(
addMsg
)
{
submitForm
(
addMsg
)
{
console
.
log
(
"this.personNum"
,
this
.
personNum
);
this
.
$refs
[
addMsg
].
validate
((
valid
)
=>
{
this
.
$refs
[
addMsg
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
personNum
.
customerId
=
this
.
userInfo
.
accountId
;
this
.
personNum
.
customerId
=
this
.
userInfo
.
accountId
;
...
@@ -270,7 +269,6 @@ export default {
...
@@ -270,7 +269,6 @@ export default {
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
this
.
$message
.
error
(
res
.
data
.
message
)
}
}
console
.
log
(
"下单"
,
res
);
},
null
)
},
null
)
...
...
src/components/Ticket/FillItinerary.vue
View file @
375109dc
...
@@ -141,8 +141,8 @@
...
@@ -141,8 +141,8 @@
</div>
</div>
<div
style=
"position:absolute;right:5px"
>
<div
style=
"position:absolute;right:5px"
>
<span>
专员:
</span>
<span>
专员:
</span>
<el-select
size=
"small"
v-model=
"personNum.enterID"
filterable
placeholder=
"请选择专员"
>
<el-select
size=
"small"
v-model=
"personNum.enterID"
filterable
placeholder=
"请选择专员"
>
<el-option
v-for=
"
(item,key) in SellInfoList"
:key=
"key
"
:label=
"item.EmName"
:value=
"item.EmployeeId"
></el-option>
<el-option
v-for=
"
item in SellInfoList"
:key=
"item.EmployeeId
"
:label=
"item.EmName"
:value=
"item.EmployeeId"
></el-option>
</el-select>
</el-select>
</div>
</div>
...
@@ -247,7 +247,7 @@ export default {
...
@@ -247,7 +247,7 @@ export default {
contactMobile
:
''
,
contactMobile
:
''
,
contactEmail
:
''
,
contactEmail
:
''
,
contactName
:
''
,
contactName
:
''
,
enterID
:
0
,
},
},
AirTicketId
:
this
.
$route
.
params
.
id
,
AirTicketId
:
this
.
$route
.
params
.
id
,
ruleForm
:{},
ruleForm
:{},
...
@@ -265,6 +265,11 @@ export default {
...
@@ -265,6 +265,11 @@ export default {
this
.
SellInfo
();
this
.
SellInfo
();
},
},
methods
:
{
methods
:
{
// selectenterID(val){
// console.log("val",val)
// // this.personNum.enterID=val;
// this.$set(this.personNum,val,this.personNum.enterID);
// },
// 国籍
// 国籍
GetCountroy
(){
GetCountroy
(){
this
.
apipost
(
this
.
apipost
(
...
@@ -272,7 +277,7 @@ export default {
...
@@ -272,7 +277,7 @@ export default {
res
=>
{
res
=>
{
// console.log(res)
// console.log(res)
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
countroylist
=
res
.
data
.
data
;
this
.
countroylist
=
res
.
data
.
data
;
}
}
},
},
err
=>
{
err
=>
{
...
@@ -396,7 +401,7 @@ export default {
...
@@ -396,7 +401,7 @@ export default {
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
this
.
$message
.
error
(
res
.
data
.
message
)
}
}
console
.
log
(
"下单"
,
res
);
//
console.log("下单",res);
},
null
)
},
null
)
...
@@ -412,10 +417,12 @@ export default {
...
@@ -412,10 +417,12 @@ export default {
this
.
apipost
(
this
.
apipost
(
"sell_get_GetCustomerToSellInfo"
,
{},
"sell_get_GetCustomerToSellInfo"
,
{},
res
=>
{
res
=>
{
console
.
log
(
res
)
//
console.log(res)
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
{
this
.
Error
(
res
.
data
.
message
);
}
}
},
},
err
=>
{
err
=>
{
...
...
src/components/Ticket/OrderDetails.vue
View file @
375109dc
...
@@ -147,8 +147,8 @@
...
@@ -147,8 +147,8 @@
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
<el-form-item
label=
"国籍"
>
<el-form-item
label=
"国籍"
>
<el-select
:disabled=
"disabled"
size=
"mini"
v-model=
"item.nationality"
filterable
placeholder=
"请选择国籍"
>
<el-select
:disabled=
"disabled"
size=
"mini"
v-model=
"item.nationality"
filterable
placeholder=
"请选择国籍"
style=
"height:28px"
>
<el-option
v-for=
"(item,key) in countroylist"
:key=
"key"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
<el-option
v-for=
"(item,key) in countroylist"
:key=
"key"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</el-select>
</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'}]">
...
@@ -208,6 +208,7 @@ export default {
...
@@ -208,6 +208,7 @@ export default {
contactMobile
:
''
,
contactMobile
:
''
,
contactEmail
:
''
,
contactEmail
:
''
,
contactName
:
''
,
contactName
:
''
,
enterID
:
0
,
},
},
AirOrderId
:
this
.
$route
.
params
.
id
,
AirOrderId
:
this
.
$route
.
params
.
id
,
...
@@ -220,7 +221,7 @@ export default {
...
@@ -220,7 +221,7 @@ export default {
SellInfoList
:[],
SellInfoList
:[],
}
}
},
},
moun
ted
()
{
crea
ted
()
{
this
.
GetDes
();
this
.
GetDes
();
this
.
GetCountroy
()
this
.
GetCountroy
()
this
.
GetTicketDes
();
this
.
GetTicketDes
();
...
@@ -245,8 +246,13 @@ export default {
...
@@ -245,8 +246,13 @@ export default {
GetDes
(){
GetDes
(){
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketInfo'
,{
AirOrderId
:
this
.
AirOrderId
},
res
=>
{
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketInfo'
,{
AirOrderId
:
this
.
AirOrderId
},
res
=>
{
// console.log("机票详情",res)
// console.log("机票详情",res)
this
.
getlistSigel
=
res
.
data
.
data
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getlistSigel
.
synum
=
this
.
getlistSigel
.
airTicketScatterNum
-
this
.
getlistSigel
.
useScatterNum
;
this
.
getlistSigel
=
res
.
data
.
data
;
this
.
getlistSigel
.
synum
=
this
.
getlistSigel
.
airTicketScatterNum
-
this
.
getlistSigel
.
useScatterNum
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
null
)
},
null
)
...
@@ -254,16 +260,17 @@ export default {
...
@@ -254,16 +260,17 @@ export default {
//获取机票订单详情
//获取机票订单详情
GetTicketDes
(){
GetTicketDes
(){
this
.
apiJavaPost
(
'/api/dmc/airticket/GetB2BAirtickOrderInfo'
,{
AirOrderId
:
this
.
AirOrderId
},
res
=>
{
this
.
apiJavaPost
(
'/api/dmc/airticket/GetB2BAirtickOrderInfo'
,{
AirOrderId
:
this
.
AirOrderId
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
personNum
=
res
.
data
.
data
;
this
.
personNum
=
res
.
data
.
data
;
console
.
log
(
"获取机票订单详情"
,
this
.
personNum
)
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
null
)
},
null
)
},
},
submitForm
(
addMsg
)
{
submitForm
(
addMsg
)
{
console
.
log
(
"this.personNum"
,
this
.
personNum
);
this
.
$refs
[
addMsg
].
validate
((
valid
)
=>
{
this
.
$refs
[
addMsg
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
personNum
.
customerId
=
this
.
userInfo
.
accountId
;
this
.
personNum
.
customerId
=
this
.
userInfo
.
accountId
;
...
@@ -276,7 +283,6 @@ export default {
...
@@ -276,7 +283,6 @@ export default {
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
this
.
$message
.
error
(
res
.
data
.
message
)
}
}
console
.
log
(
"下单"
,
res
);
},
null
)
},
null
)
...
@@ -292,10 +298,11 @@ export default {
...
@@ -292,10 +298,11 @@ export default {
this
.
apipost
(
this
.
apipost
(
"sell_get_GetCustomerToSellInfo"
,
{},
"sell_get_GetCustomerToSellInfo"
,
{},
res
=>
{
res
=>
{
console
.
log
(
res
)
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
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
}
},
},
err
=>
{
err
=>
{
...
@@ -308,6 +315,9 @@ export default {
...
@@ -308,6 +315,9 @@ export default {
}
}
</
script
>
</
script
>
<
style
>
<
style
>
.OrderDetails
.el-input--mini
.el-input__inner
{
height
:
28px
!important
;
}
.OrderDetails
.el-radio__input.is-disabled
+
span
.el-radio__label
{
.OrderDetails
.el-radio__input.is-disabled
+
span
.el-radio__label
{
color
:
#606266
;
color
:
#606266
;
}
}
...
...
src/components/Ticket/OrderPayOk.vue
deleted
100644 → 0
View file @
884403e9
<
template
>
<div>
<div
class=
"orderPay"
>
<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,点击
<a
style=
"color:#ee4454;text-decoration:underline"
>
查看订单>>
</a></p>
</div>
</div>
<div
class=
"div_2"
>
<p>
<span>
支付金额:¥12545
</span>
<span>
支付平台:支付宝
</span>
</p>
<p>
<span>
订单编号:584569846568
</span>
<span>
下单时间:2019-02-02
</span>
</p>
</div>
<el-button
size=
"mini"
style=
"background:rgba(238,68,84,1);border-radius:4px;color:#fff"
>
返回首页
</el-button>
<img
class=
"back"
src=
"../../assets/img/ticket/back.png"
alt=
""
>
</div>
</div>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
>
.orderPay
.div_2
p
span
:nth-child
(
2
)
{
float
:
right
;
}
.orderPay
.div_2
{
margin-top
:
20px
;
width
:
320px
;
}
.orderPay
.div_2
p
{
padding
:
6px
0
;
margin
:
20px
0
;
font-size
:
12px
;
color
:
#333
;
border-bottom
:
1px
solid
rgba
(
221
,
221
,
221
,
1
);
}
.orderPay
.div_1
img
{
width
:
54px
;
height
:
54px
;
position
:
absolute
;
}
.orderPay
.div_1
{
position
:
relative
;
box-sizing
:
border-box
;
}
.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
;
}
.back
{
position
:
absolute
;
width
:
384px
;
height
:
289px
;
right
:
10px
;
top
:
110px
;
}
</
style
>
src/components/Ticket/Pay.vue
View file @
375109dc
...
@@ -156,7 +156,6 @@ export default {
...
@@ -156,7 +156,6 @@ export default {
"/api/dmc/airticket/GetB2BAirtickOrderPayInfo"
,
"/api/dmc/airticket/GetB2BAirtickOrderPayInfo"
,
{
AirOrderId
:
this
.
AirOrderId
},
{
AirOrderId
:
this
.
AirOrderId
},
res
=>
{
res
=>
{
console
.
log
(
"huoqu"
,
res
);
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Commoditydetails
=
res
.
data
.
data
;
this
.
Commoditydetails
=
res
.
data
.
data
;
this
.
code
.
OrderSource
=
this
.
Commoditydetails
.
orderResourceId
;
this
.
code
.
OrderSource
=
this
.
Commoditydetails
.
orderResourceId
;
...
@@ -170,7 +169,7 @@ export default {
...
@@ -170,7 +169,7 @@ export default {
}
}
else
{
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
this
.
Error
(
res
.
data
.
message
);
}
}
},
},
null
null
...
@@ -189,11 +188,8 @@ export default {
...
@@ -189,11 +188,8 @@ export default {
this
.
codeLoading
=
false
;
this
.
codeLoading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
codeInfo
=
res
.
data
.
data
;
this
.
codeInfo
=
res
.
data
.
data
;
console
.
log
(
"codeInfo"
,
this
.
codeInfo
)
this
.
code_yxq
=
moment
(
this
.
codeInfo
.
ExpireDate
).
format
(
'x'
)
-
moment
(
this
.
codeInfo
.
NowDate
).
format
(
'x'
);
this
.
code_yxq
=
moment
(
this
.
codeInfo
.
ExpireDate
).
format
(
'x'
)
-
moment
(
this
.
codeInfo
.
NowDate
).
format
(
'x'
);
console
.
log
((
this
.
code_yxq
/
1000
));
console
.
log
(
this
.
CodeVialdTime
);
if
((
this
.
code_yxq
/
1000
)
>
this
.
CodeVialdTime
){
if
((
this
.
code_yxq
/
1000
)
>
this
.
CodeVialdTime
){
this
.
CodeVialdTime
=
(
this
.
code_yxq
/
1000
);
this
.
CodeVialdTime
=
(
this
.
code_yxq
/
1000
);
}
}
...
@@ -238,6 +234,7 @@ export default {
...
@@ -238,6 +234,7 @@ export default {
this
.
CodeVialdTime
--
;
this
.
CodeVialdTime
--
;
if
(
this
.
CodeVialdTime
<=
0
)
{
if
(
this
.
CodeVialdTime
<=
0
)
{
clearInterval
(
this
.
timer
);
clearInterval
(
this
.
timer
);
clearInterval
(
this
.
Pay_timer
);
this
.
order_exit
=
'2'
;
this
.
order_exit
=
'2'
;
this
.
order_exit_info
=
"订单支付超时,请重新下单!"
this
.
order_exit_info
=
"订单支付超时,请重新下单!"
}
}
...
@@ -253,7 +250,6 @@ export default {
...
@@ -253,7 +250,6 @@ export default {
"ticket_get_GetAirPayMoneyIsSuccess"
,
"ticket_get_GetAirPayMoneyIsSuccess"
,
{
PayOrder
:
this
.
PayOrder
},
{
PayOrder
:
this
.
PayOrder
},
res
=>
{
res
=>
{
console
.
log
(
"res支付状态"
,
res
)
// res.data.resultCode =1;
// res.data.resultCode =1;
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
clearInterval
(
this
.
Pay_timer
);
clearInterval
(
this
.
Pay_timer
);
...
...
src/components/Ticket/TicketHome.vue
View file @
375109dc
<
template
>
<
template
>
<div>
<div
class=
"ticket_home"
>
<div
class=
"banner"
:height=
"bannerHeight"
style=
"width:100%"
>
<div
class=
"banner"
:height=
"bannerHeight"
style=
"width:100%"
>
<img
src=
"../../assets/img/ticket/banner.png"
alt=
""
>
<img
src=
"../../assets/img/ticket/banner.png"
alt=
""
>
<div
class=
"choose"
>
<div
class=
"choose"
>
<div
class=
"choose_w"
>
<div
class=
"choose_w"
>
<div
class=
"choose_1"
>
<div
class=
"choose_1"
>
<v-choose
@
ChooseInfo=
"ChooseInfo"
></v-choose>
<div
class=
"choose_back"
>
<el-row
class=
"msg"
>
<div
style=
"margin-bottom:10px"
>
<el-radio
v-model=
"choose_info.ticketType"
:label=
1
>
单程
</el-radio>
<el-radio
v-model=
"choose_info.ticketType"
:label=
2
>
往返
</el-radio>
</div>
<el-col
:span=
"5"
>
<div
class=
"city"
style=
"margin-bottom:15px"
>
<span>
出发地
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<el-select
clearable
style=
"width:65%"
v-model=
"choose_info.departure_city"
filterable
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
v-for=
"item in cfd"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</div>
<div
class=
"city"
>
<span>
目的地
<i
class=
"iconfont icon-vertical_line"
></i>
</span>
<el-select
clearable
style=
"width:65%"
v-model=
"choose_info.arrival_city"
filterable
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
v-for=
"item in cfd"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</div>
</el-col>
<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%"
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
v-for=
"item in cawei"
:key=
"item.id"
:label=
"item.title"
:value=
"item.id"
>
</el-option>
</el-select>
</div>
<!--
<div
class=
"city"
>
<span>
归期 |
</span>
<el-date-picker
@
change=
"changeEnd"
v-model=
"choose_info.qFlightDateEnd"
type=
"date"
style=
"width:80%"
placeholder=
"选择日期"
>
</el-date-picker>
</div>
-->
</el-col>
<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
v-for=
"item in airlineList"
:label=
"item.AlName"
:value=
"item.AirLineId"
:key=
"item.AirLineId"
></el-option>
</el-select>
</div>
<el-button
@
click=
"Search"
size=
"small"
>
搜索
</el-button>
</div>
</el-col>
</el-row>
</div>
</div>
</div>
</div>
</div>
...
@@ -26,7 +125,7 @@
...
@@ -26,7 +125,7 @@
<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"
>
<div
class=
"carousel_small"
@
click=
"DepartureCity(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"
>
...
@@ -37,7 +136,7 @@
...
@@ -37,7 +136,7 @@
</div>
</div>
</div>
</div>
<div
class=
"carousel_small"
>
<div
class=
"carousel_small"
@
click=
"DepartureCity(6708)"
>
<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"
>
...
@@ -49,7 +148,7 @@
...
@@ -49,7 +148,7 @@
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"9"
style=
"height:100%"
>
<el-col
:span=
"9"
style=
"height:100%"
>
<div
class=
"carousel_large"
>
<div
class=
"carousel_large"
@
click=
"DepartureCity(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"
>
...
@@ -61,7 +160,7 @@
...
@@ -61,7 +160,7 @@
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<div
class=
"carousel_small"
>
<div
class=
"carousel_small"
@
click=
"DepartureCity(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"
>
...
@@ -71,7 +170,7 @@
...
@@ -71,7 +170,7 @@
</div>
</div>
</div>
</div>
<div
class=
"carousel_small"
>
<div
class=
"carousel_small"
@
click=
"DepartureCity(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"
>
...
@@ -83,7 +182,7 @@
...
@@ -83,7 +182,7 @@
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<div
class=
"carousel_small"
>
<div
class=
"carousel_small"
@
click=
"DepartureCity(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"
>
...
@@ -92,8 +191,8 @@
...
@@ -92,8 +191,8 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"carousel_small"
>
<div
class=
"carousel_small"
@
click=
"DepartureCity(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"
>
...
@@ -150,228 +249,361 @@
...
@@ -150,228 +249,361 @@
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Choose
from
'@/components/Ticket/Choose.vue
'
import
moment
from
'moment
'
export
default
{
export
default
{
components
:
{
data
()
{
"v-choose"
:
Choose
},
data
()
{
return
{
return
{
carousel_height
:
"0px"
,
carousel_height
:
"0px"
,
bannerHeight
:
"282px"
,
bannerHeight
:
"282px"
,
Choose_Info
:{},
Youhui
:
{
Youhui
:{
isDiscounts
:
1
,
isDiscounts
:
1
,
},
},
yhList
:[],
yhList
:
[],
}
choose_info
:
{
pageIndex
:
1
,
pageSize
:
10
,
id
:
0
,
qFlightDateStart
:
moment
().
format
(
"YYYY-MM-DD"
),
qFlightDateEnd
:
""
,
flight_number
:
""
,
airLineID
:
0
,
ticketType
:
0
,
lineId
:
0
,
isPayOrder
:
0
,
departure_city
:
0
,
arrival_city
:
0
,
freightSpace
:
0
,
airTicketScatterNum
:
0
,
cr
:
0
,
child
:
0
,
ye
:
0
,
lr
:
0
},
startweek
:
""
,
endweek
:
""
,
radio
:
""
,
value10
:
""
,
cawei
:
[
{
title
:
"头等舱"
,
id
:
1
},
{
title
:
"商务舱"
,
id
:
2
},
{
title
:
"经济舱"
,
id
:
3
}
],
value1
:
""
,
num1
:
""
,
input10
:
""
,
value
:
""
,
airlineList
:
[],
cfd
:
[]
};
},
},
mounted
()
{
mounted
()
{
this
.
loadSize
()
this
.
loadSize
();
},
},
created
(){
created
()
{
// this.MDD();
this
.
JXYH
();
this
.
JXYH
();
this
.
initAirlines
();
this
.
CFD
();
},
},
methods
:
{
methods
:
{
GoUrl
(
item
){
DepartureCity
(
num
)
{
// console.log(item)
this
.
choose_info
.
departure_city
=
num
;
this
.
$router
.
push
({
this
.
Search
();
path
:
`/ticket/FillItinerary/
${
item
.
id
}
`
},
})
CFD
()
{
},
this
.
apipost
(
JXYH
(){
"dict_post_Destination_GetCityList"
,
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketList'
,
this
.
Youhui
,
res
=>
{
{},
// console.log("Youhui",res)
res
=>
{
this
.
yhList
=
res
.
data
.
data
.
pageData
;
if
(
res
.
data
.
resultCode
==
1
)
{
},
null
)
this
.
cfd
=
res
.
data
.
data
;
},
}
MDD
()
{
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketList'
,
this
.
Choose_Info
,
res
=>
{
// console.log("mudidi",res)
},
null
)
},
ChooseInfo
(
val
){
// console.log("ChooseInfo",val)
if
(
val
){
this
.
Choose_Info
=
val
;
this
.
Choose_Info
.
airTicketScatterNum
=
this
.
Choose_Info
.
cr
+
this
.
Choose_Info
.
lr
+
this
.
Choose_Info
.
child
;
}
},
},
loadSize
(){
err
=>
{}
let
w
=
document
.
body
.
clientWidth
*
0.75
;
);
this
.
carousel_height
=
w
*
0.269
+
"px"
;
},
// 航空公司下拉框
}
initAirlines
()
{
this
.
apipost
(
"airline_post_GetList"
,
{},
res
=>
{
// console.log(res)
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
airlineList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
Search
()
{
this
.
choose_info
.
airTicketScatterNum
=
this
.
choose_info
.
cr
+
this
.
choose_info
.
child
+
this
.
choose_info
.
ye
;
sessionStorage
.
setItem
(
"ChooseInfo"
,
JSON
.
stringify
(
this
.
choose_info
));
this
.
$router
.
push
({
path
:
"TicketList"
});
},
GoUrl
(
item
)
{
// console.log(item)
this
.
$router
.
push
({
path
:
`/ticket/FillItinerary/
${
item
.
id
}
`
});
},
JXYH
()
{
this
.
apiJavaPost
(
"/api/dmc/airticket/getB2BAirticketList"
,
this
.
Youhui
,
res
=>
{
// console.log("Youhui",res)
this
.
yhList
=
res
.
data
.
data
.
pageData
;
},
null
);
},
loadSize
()
{
let
w
=
document
.
body
.
clientWidth
*
0.75
;
this
.
carousel_height
=
w
*
0.269
+
"px"
;
}
}
}
}
}
;
</
script
>
</
script
>
<
style
>
<
style
>
@import
'../../assets/global/font.css'
;
@import
"../../assets/global/font.css"
;
@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"
;
.allyh
{
.ticket_home
{
display
:
inline-block
;
font-family
:
'PingFang'
;
width
:
128px
;
}
.choose_back
.msg
.el-input-number--mini
{
line-height
:
30px
;
}
.choose_back
.msg
.el-input__icon
{
line-height
:
0
;
}
.choose_back
.msg
.el-select
{
width
:
130px
;
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
;
height
:
34px
;
line-height
:
34px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
border
:
1px
solid
rgba
(
51
,
51
,
51
,
1
);
border
:
1px
solid
rgba
(
216
,
218
,
220
,
1
);
margin
:
15px
0
;
border-radius
:
4px
;
font-size
:
14px
;
padding-left
:
6px
;
cursor
:
pointer
;
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
;
}
}
.
list_content
p
{
.
choose_back
.msg
.city
{
padding
:
4px
0
;
padding
:
4px
0
;
width
:
80%
;
height
:
36px
;
line-height
:
28px
;
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
}
}
.list_content
p
{
margin
:
0
;
.choose_back
.msg
.el-input.is-active
.el-input__inner
,
.el-input__inner
:focus
{
}
border-color
:
none
;
.list_content
.time
{
font-size
:
14px
;
font-family
:
MicrosoftYaHei
;
font-weight
:
400
;
color
:
#333
;
}
.list_content
.money
{
float
:
right
;
font-size
:
24px
;
font-family
:
MicrosoftYaHei-Bold
;
font-weight
:
bold
;
color
:
rgba
(
255
,
102
,
51
,
1
);
}
.list_content
.des
{
font-size
:
20px
;
font-family
:
MicrosoftYaHei-Bold
;
font-weight
:
bold
;
color
:
rgba
(
51
,
51
,
51
,
1
);
}
.jxyh
{
height
:
89px
;
background
:
rgba
(
237
,
247
,
248
,
1
);
font-weight
:
400
;
color
:
rgba
(
6
,
6
,
6
,
1
);
font-size
:
24px
;
line-height
:
89px
;
text-align
:
center
;
}
.list_content
{
width
:
100%
;
padding-left
:
120px
;
box-sizing
:
border-box
;
}
}
.yh
{
display
:
flex
;
justify-content
:
space-between
;
flex-wrap
:
wrap
;
overflow
:
auto
;
padding
:
10px
;
box-sizing
:
border-box
;
.choose_back
.msg
.el-input__inner
{
border
:
none
;
height
:
100%
;
}
}
.yh
>
div
{
margin
:
6px
0
;
width
:
45%
;
padding
:
10px
;
.allyh
{
box-sizing
:
border-box
;
display
:
inline-block
;
position
:
relative
;
width
:
128px
;
height
:
34px
;
line-height
:
34px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
border
:
1px
solid
rgba
(
51
,
51
,
51
,
1
);
margin
:
15px
0
;
font-size
:
14px
;
cursor
:
pointer
;
}
}
.yh
>
div
:hover
{
.list_content
p
{
box-shadow
:
0px
4px
8px
0px
rgba
(
107
,
107
,
107
,
0.27
);
padding
:
4px
0
;
transition
:
all
linear
0.5s
;
}
}
.yh
>
div
>
img
{
.list_content
p
{
position
:
absolute
;
margin
:
0
;
width
:
100px
;
height
:
100px
;
}
}
.banner_img
.info
{
.list_content
.time
{
position
:
absolute
;
font-size
:
14px
;
top
:
0
;
font-family
:
MicrosoftYaHei
;
width
:
100%
;
font-weight
:
400
;
height
:
100%
;
color
:
#333
;
display
:
table
;
}
}
.banner_img
.info
.table_cell
{
.list_content
.money
{
display
:
table-cell
;
float
:
right
;
vertical-align
:
middle
;
font-size
:
24px
;
text-align
:
center
;
font-family
:
MicrosoftYaHei-Bold
;
color
:
#ffffff
;
font-weight
:
bold
;
color
:
rgba
(
255
,
102
,
51
,
1
);
}
}
.carousel_large
,
.carousel_small
{
.list_content
.des
{
padding
:
0
6px
;
font-size
:
20px
;
box-sizing
:
border-box
;
font-family
:
MicrosoftYaHei-Bold
;
position
:
relative
;
font-weight
:
bold
;
color
:
rgba
(
51
,
51
,
51
,
1
);
}
.jxyh
{
height
:
89px
;
background
:
rgba
(
237
,
247
,
248
,
1
);
font-weight
:
400
;
color
:
rgba
(
6
,
6
,
6
,
1
);
font-size
:
24px
;
line-height
:
89px
;
text-align
:
center
;
}
.list_content
{
width
:
100%
;
padding-left
:
120px
;
box-sizing
:
border-box
;
}
.yh
{
display
:
flex
;
justify-content
:
space-between
;
flex-wrap
:
wrap
;
overflow
:
auto
;
padding
:
10px
;
box-sizing
:
border-box
;
}
.yh
>
div
{
margin
:
6px
0
;
width
:
45%
;
padding
:
10px
;
box-sizing
:
border-box
;
position
:
relative
;
}
}
.carousel_small
{
.yh
>
div
:hover
{
height
:
50%
;
box-shadow
:
0px
4px
8px
0px
rgba
(
107
,
107
,
107
,
0.27
);
transition
:
all
linear
0.5s
;
}
}
.carousel_large
{
.yh
>
div
>
img
{
height
:
100%
;
position
:
absolute
;
width
:
100px
;
height
:
100px
;
}
.banner_img
.info
{
position
:
absolute
;
top
:
0
;
width
:
100%
;
height
:
100%
;
display
:
table
;
}
.banner_img
.info
.table_cell
:hover
{
cursor
:
pointer
;
}
.banner_img
.info
.table_cell
{
display
:
table-cell
;
vertical-align
:
middle
;
text-align
:
center
;
color
:
#ffffff
;
}
.carousel_large
,
.carousel_small
{
padding
:
0
6px
;
box-sizing
:
border-box
;
position
:
relative
;
}
.carousel_small
{
height
:
50%
;
}
.carousel_large
{
height
:
100%
;
}
}
.el-col-5
{
.el-col-5
{
height
:
100%
;
height
:
100%
;
}
}
.banner_two
.carousel
{
.banner_two
.carousel
{
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
}
}
.banner_two
.carousel_small
{
.banner_two
.carousel_small
{
/* width: 194px;
/* width: 194px;
height: 132px; */
height: 132px; */
margin-bottom
:
10px
;
margin-bottom
:
10px
;
}
}
.banner_two
.carousel_small
img
{
.banner_two
.carousel_small
img
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
}
}
.banner_two
{
.banner_two
{
width
:
100%
;
width
:
100%
;
margin-bottom
:
15px
;
margin-bottom
:
15px
;
/* height: 461px; */
/* height: 461px; */
}
}
.banner
{
.banner
{
position
:
relative
;
position
:
relative
;
}
}
.banner
img
{
.banner
img
{
width
:
100%
;
width
:
100%
;
font-size
:
0
;
font-size
:
0
;
}
}
.choose
{
.choose
{
position
:
absolute
;
position
:
absolute
;
width
:
100%
;
width
:
100%
;
height
:
175px
;
height
:
175px
;
bottom
:
-10px
;
bottom
:
-10px
;
}
}
.choose_w
{
.choose_w
{
width
:
1350px
;
width
:
1350px
;
height
:
100%
;
height
:
100%
;
margin
:
0
auto
;
margin
:
0
auto
;
background
:
rgba
(
255
,
255
,
255
,
0.24
);
background
:
rgba
(
255
,
255
,
255
,
0.24
);
border-radius
:
4px
;
border-radius
:
4px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
padding
:
10px
;
padding
:
10px
;
box-shadow
:
0px
2px
29px
0px
rgba
(
107
,
107
,
107
,
0.27
);
box-shadow
:
0px
2px
29px
0px
rgba
(
107
,
107
,
107
,
0.27
);
}
}
.choose_1
{
.choose_1
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
margin
:
0
auto
;
margin
:
0
auto
;
border-radius
:
4px
;
border-radius
:
4px
;
padding
:
8px
;
padding
:
8px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
border-radius
:
0px
4px
4px
4px
;
border-radius
:
0px
4px
4px
4px
;
}
}
</
style
>
</
style
>
src/components/Ticket/TicketList.vue
View file @
375109dc
<
template
>
<
template
>
<div
v-loading=
"loading"
element-loading-text=
"加载中"
>
<div
style=
"min-height:100%;"
@
click=
"other=false"
v-loading=
"loading"
element-loading-text=
"加载中"
>
<div
class=
"ticket_1"
style=
"background:rgba(255,255,255,1);box-shadow:0px 4px 8px 0px rgba(107,107,107,0.18);padding-bottom:15px"
>
<div
class=
"ticket_1"
style=
"background:rgba(255,255,255,1);box-shadow:0px 4px 8px 0px rgba(107,107,107,0.18);padding-bottom:15px"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"20"
:offset=
"2"
>
<el-col
:span=
"20"
:offset=
"2"
>
<el-row
class=
"msg"
>
<div
style=
"margin-top: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-row
class=
"msg"
style=
"margin-top: 15px;"
>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<div
class=
"city"
style=
"margin-bottom:15px"
>
<div
class=
"city"
>
<span>
出发地 |
</span>
<span>
出发地 |
</span>
<el-select
style=
"width:80%"
v-model=
"choose_info.departure_city"
filterable
placeholder=
"请选择"
>
<el-select
v-model=
"choose_info.departure_city"
clearable
filterable
placeholder=
"请选择"
>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
<el-option
v-for=
"item in cfd"
v-for=
"item in cfd"
:key=
"item.ID"
:key=
"item.ID"
:label=
"item.Name"
:label=
"item.Name"
:value=
"item.ID"
>
:value=
"item.ID"
>
</el-option>
</el-option>
</el-select>
</el-select>
</div>
</div>
<div
class=
"city"
>
<span>
目的地 |
</span>
</el-col>
<el-select
style=
"width:80%"
v-model=
"choose_info.arrival_city"
filterable
placeholder=
"请选择"
>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-col
:span=
"5"
>
<el-option
<div
class=
"city"
>
v-for=
"item in cfd"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</div>
</el-col>
<el-col
:span=
"6"
>
<div
class=
"city"
style=
"margin-bottom:15px"
>
<span>
出发 |
</span>
<el-date-picker
@
change=
"changeStart"
v-model=
"choose_info.qFlightDateStart"
type=
"date"
placeholder=
"选择日期"
>
</el-date-picker>
</div>
<div
class=
"city"
style=
"display:inline-block;"
>
<span>
舱位选择 |
</span>
<span>
舱位选择 |
</span>
<el-select
style=
"width:80%"
v-model=
"choose_info.freightSpace"
placeholder=
"请选择"
>
<el-select
v-model=
"choose_info.freightSpace"
clearable
placeholder=
"请选择"
>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
<el-option
v-for=
"item in cawei"
v-for=
"item in cawei"
...
@@ -56,18 +38,10 @@
...
@@ -56,18 +38,10 @@
:value=
"item.id"
>
:value=
"item.id"
>
</el-option>
</el-option>
</el-select>
</el-select>
</div>
</div>
<!--
<div
class=
"city"
>
</el-col>
<span>
归期 |
</span>
<el-col
:span=
"11"
>
<el-date-picker
@
change=
"changeEnd"
<div
style=
"margin-bottom:15px"
>
v-model=
"choose_info.qFlightDateEnd"
type=
"date"
placeholder=
"选择日期"
>
</el-date-picker>
</div>
-->
</el-col>
<el-col
:span=
"13"
>
<div
style=
"margin-bottom:15px"
>
<div
class=
"number"
>
<div
class=
"number"
>
<span>
成人 |
</span>
<span>
成人 |
</span>
<el-input-number
size=
"mini"
v-model=
"choose_info.cr"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
<el-input-number
size=
"mini"
v-model=
"choose_info.cr"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
...
@@ -85,21 +59,54 @@
...
@@ -85,21 +59,54 @@
<el-input-number
size=
"mini"
v-model=
"choose_info.lr"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
<el-input-number
size=
"mini"
v-model=
"choose_info.lr"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
</div>
</div>
</div>
<div>
</el-col>
<div
class=
"city"
style=
"width:250px;display:inline-block;margin:0 10px"
>
<el-col
:span=
"2"
>
<el-button
@
click=
"Search"
size=
"small"
>
搜索
</el-button>
</el-col>
</el-row>
<el-row
class=
"msg"
>
<el-col
:span=
"5"
>
<div
class=
"city"
>
<span>
目的地 |
</span>
<el-select
v-model=
"choose_info.arrival_city"
clearable
filterable
placeholder=
"请选择"
>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
v-for=
"item in cfd"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</div>
</el-col>
<el-col
:span=
"5"
>
<div
class=
"city"
style=
"margin-bottom:15px"
>
<span>
出发 |
</span>
<el-date-picker
@
change=
"changeStart"
value-format=
"yyyy-MM-dd"
v-model=
"choose_info.qFlightDateStart"
type=
"date"
style=
"width:80%"
placeholder=
"选择日期"
>
</el-date-picker>
<!--
<span>
{{
startweek
}}
</span>
-->
</div>
</el-col>
<el-col
:span=
"5"
>
<div
class=
"city"
>
<span>
航空公司 |
</span>
<span>
航空公司 |
</span>
<el-select
style=
"width:68%"
filte
rable
v-model=
"choose_info.airLineID"
placeholder=
"请选择"
>
<el-select
filterable
clea
rable
v-model=
"choose_info.airLineID"
placeholder=
"请选择"
>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
v-for=
"item in airlineList"
:label=
"item.AlName"
:value=
"item.AirLineId"
<el-option
v-for=
"item in airlineList"
:label=
"item.AlName"
:value=
"item.AirLineId"
:key=
"item.AirLineId"
></el-option>
:key=
"item.AirLineId"
></el-option>
</el-select>
</el-select>
</div>
</div>
<el-button
@
click=
"Search"
size=
"small"
>
搜索
</el-button>
</el-col>
</div>
</el-col>
</el-row>
</el-row>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -112,7 +119,7 @@
...
@@ -112,7 +119,7 @@
<el-col
:span=
"20"
:offset=
"2"
>
<el-col
:span=
"20"
:offset=
"2"
>
<div
class=
"date_list"
>
<div
class=
"date_list"
>
<div
@
click=
"BeforeDate"
style=
"color:#dddddd;font-size:20px"
class=
"margin common"
>
<
</div>
<div
@
click=
"BeforeDate"
style=
"color:#dddddd;font-size:20px"
class=
"margin common"
>
<
</div>
<div
class=
"li"
:class=
"
{'active_data':index==4}" v-for="(item,index) in dateList" :key="index">
<div
@
click=
"GetClickDate(item)"
class=
"li"
:class=
"
{'active_data':index==4}" v-for="(item,index) in dateList" :key="index">
<div>
<div>
<p
class=
"font_12"
style=
"color:#FF680B"
>
¥
{{
item
.
price
}}
</p>
<p
class=
"font_12"
style=
"color:#FF680B"
>
¥
{{
item
.
price
}}
</p>
<p
class=
"font_12"
>
{{
item
.
monthTime
}}
{{
item
.
week
}}
</p>
<p
class=
"font_12"
>
{{
item
.
monthTime
}}
{{
item
.
week
}}
</p>
...
@@ -120,21 +127,22 @@
...
@@ -120,21 +127,22 @@
</div>
</div>
<div
@
click=
"AfterDate"
style=
"color:#dddddd;font-size:20px"
class=
"margin common"
>
>
</div>
<div
@
click=
"AfterDate"
style=
"color:#dddddd;font-size:20px"
class=
"margin common"
>
>
</div>
<div
class=
"font_12"
style=
"margin-top:30px;color:#FF680B;width:6%;position:relative"
>
<div
class=
"font_12"
style=
"margin-top:20px;color:#FF680B;width:6%;position:relative"
>
<span
@
click=
"OtherToggle"
style=
"cursor:pointer"
>
其他日期
</span>
<span
@
click
.
stop=
"other=!other"
style=
"cursor:pointer"
>
其他日期
</span>
<div
class=
"otherdate"
v-show=
"other"
>
<div
ref=
"otherdate"
class=
"otherdate"
v-show=
"other"
>
<div
style=
"font-size:16px;padding:10px"
>
<div
style=
"font-size:16px;padding:10px"
>
<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"
>
<
</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"
>
>
</span></el-col>
</div>
<div
style=
"margin-top:22px"
>
<v-calendar
ref=
"child"
v-for=
"(item,index) in classArray"
:key=
"index"
v-bind:dateData=
"classArray"
:day =
"tomonth"
v-on:SelectChild=
"SelectChild"
>
</v-calendar>
</div>
</div>
</div>
<div
style=
"margin-top:22px"
>
<v-calendar
ref=
"child"
v-for=
"(item,index) in classArray"
:key=
"index"
v-bind:dateData=
"classArray"
:day =
"tomonth"
v-on:SelectChild=
"SelectChild"
>
</v-calendar>
</div>
</div>
</div>
</div>
</div>
</div>
</el-col>
</el-col>
...
@@ -143,13 +151,21 @@
...
@@ -143,13 +151,21 @@
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"20"
:offset=
"2"
>
<el-col
:span=
"20"
:offset=
"2"
>
<el-row
class=
"px"
style=
"margin-bottom:10px"
>
<el-row
class=
"px"
style=
"margin-bottom:10px"
>
<el-col
:span=
"16"
style=
"color:rgba(51,51,51,1);font-size:16px;padding-left:6px"
>
</el-col>
<div
style=
"text-align:right"
>
<el-col
:span=
"8"
style=
"font-size:12px;color:rgba(102,102,102,1);float:right"
>
<span
:class=
"choose_info.timeSort==1 || choose_info.timeSort==0?'time_asc':'time_des'"
>
时间排序
<el-col
:span=
"6"
>
直飞优选
</el-col>
<span
class=
"caret-wrapper"
>
<el-col
:span=
"6"
>
时间排序
</el-col>
<!-- :class="type==1?'_active':''" -->
<el-col
:span=
"6"
>
总耗时
</el-col>
<i
@
click=
"Time(1)"
class=
"sort-caret ascending"
></i>
<el-col
:span=
"6"
>
价格
</el-col>
<i
@
click=
"Time(2)"
class=
"sort-caret descending"
></i>
</el-col>
</span>
</span>
<span
:class=
"choose_info.priceSort==1 || choose_info.priceSort==0?'price_asc':'price_des'"
style=
"margin:0 20px;"
>
价格
<span
class=
"caret-wrapper"
>
<i
@
click=
"PriceSort(1)"
class=
"sort-caret ascending"
></i>
<i
@
click=
"PriceSort(2)"
class=
"sort-caret descending"
></i>
</span>
</span>
</div>
</el-row>
</el-row>
<el-row
class=
"list"
v-for=
"(item,index) in datalist"
:key=
"index"
>
<el-row
class=
"list"
v-for=
"(item,index) in datalist"
:key=
"index"
>
...
@@ -177,7 +193,7 @@
...
@@ -177,7 +193,7 @@
<p
class=
"time"
>
{{
item
.
goStartHouseTime
}}
</p>
<p
class=
"time"
>
{{
item
.
goStartHouseTime
}}
</p>
<p
class=
"adress"
>
{{
item
.
goStartAirPlace
}}
</p>
<p
class=
"adress"
>
{{
item
.
goStartAirPlace
}}
</p>
</el-col>
</el-col>
<el-col
:span=
"6"
style=
"text-align:center"
>
<el-col
:span=
"6"
style=
"text-align:center
;padding:0 10px;box-sizing:border-box
"
>
<p
style=
"font-size:12px;color:rgba(102,102,102,1);"
>
{{
item
.
goTotalTime
}}
</p>
<p
style=
"font-size:12px;color:rgba(102,102,102,1);"
>
{{
item
.
goTotalTime
}}
</p>
<p
class=
"fg"
></p>
<p
class=
"fg"
></p>
<p
class=
"adress"
v-if=
"item.goTransfer"
><span
class=
"green"
>
{{
item
.
goTransfer
}}
</span>
转机
</p>
<p
class=
"adress"
v-if=
"item.goTransfer"
><span
class=
"green"
>
{{
item
.
goTransfer
}}
</span>
转机
</p>
...
@@ -200,7 +216,7 @@
...
@@ -200,7 +216,7 @@
<p
class=
"time"
>
{{
item
.
backStartHouseTime
}}
</p>
<p
class=
"time"
>
{{
item
.
backStartHouseTime
}}
</p>
<p
class=
"adress"
>
{{
item
.
backStartAirPlace
}}
</p>
<p
class=
"adress"
>
{{
item
.
backStartAirPlace
}}
</p>
</el-col>
</el-col>
<el-col
:span=
"6"
style=
"text-align:center"
>
<el-col
:span=
"6"
style=
"text-align:center
;padding:0 10px;box-sizing:border-box
"
>
<p
style=
"font-size:12px;color:rgba(102,102,102,1);"
>
{{
item
.
backTotalTime
}}
</p>
<p
style=
"font-size:12px;color:rgba(102,102,102,1);"
>
{{
item
.
backTotalTime
}}
</p>
<p
class=
"fg"
></p>
<p
class=
"fg"
></p>
<p
class=
"adress"
v-if=
"item.backTransfer"
><span
class=
"green"
>
{{
item
.
backTransfer
}}
</span>
转机
</p>
<p
class=
"adress"
v-if=
"item.backTransfer"
><span
class=
"green"
>
{{
item
.
backTransfer
}}
</span>
转机
</p>
...
@@ -281,7 +297,7 @@
...
@@ -281,7 +297,7 @@
</el-col>
</el-col>
</el-col>
</el-col>
</el-row>
</el-row>
<el-pagination
class=
"pagination"
style=
"text-align:right"
<el-pagination
class=
"pagination"
style=
"text-align:right
;margin:15px 0
"
@
current-change=
"CurrentChange"
@
current-change=
"CurrentChange"
background
background
layout=
"prev, pager, next"
layout=
"prev, pager, next"
...
@@ -301,18 +317,15 @@
...
@@ -301,18 +317,15 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
moment
from
'moment'
import
moment
from
'moment'
import
Choose
from
'@/components/Ticket/Choose.vue'
import
calendar
from
'@/components/mall/newcalendar.vue'
import
calendar
from
'@/components/mall/newcalendar.vue'
export
default
{
export
default
{
components
:
{
components
:
{
"v-choose"
:
Choose
,
"v-calendar"
:
calendar
"v-calendar"
:
calendar
},
},
data
()
{
data
()
{
return
{
return
{
zero
:
0
,
zero
:
0
,
classArray
:[],
classArray
:[],
Choose_Info
:{},
today
:
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
),
today
:
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
),
datalist
:[],
datalist
:[],
datainfo
:{
datainfo
:{
...
@@ -351,6 +364,8 @@ export default {
...
@@ -351,6 +364,8 @@ export default {
child
:
0
,
child
:
0
,
ye
:
0
,
ye
:
0
,
lr
:
0
,
lr
:
0
,
timeSort
:
0
,
priceSort
:
0
,
},
},
startweek
:
""
,
startweek
:
""
,
...
@@ -378,17 +393,30 @@ export default {
...
@@ -378,17 +393,30 @@ export default {
},
},
created
(){
created
(){
this
.
choose_info
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"ChooseInfo"
));
this
.
datainfo
.
qFlightDateStart
=
moment
(
this
.
choose_info
.
qFlightDateStart
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
this
.
getList
();
this
.
loading
=
true
;
// this.getList();
this
.
Datelist
();
this
.
Datelist
();
this
.
OtherDate
();
this
.
OtherDate
();
this
.
initAirlines
();
this
.
initAirlines
();
this
.
CFD
();
this
.
CFD
();
this
.
choose_info
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"ChooseInfo"
));
this
.
choose_info
.
priceSort
=
0
;
this
.
choose_info
.
timeSort
=
0
;
this
.
datainfo
.
qFlightDateStart
=
moment
(
this
.
choose_info
.
qFlightDateStart
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
},
},
methods
:
{
methods
:
{
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
){
SelectChild
(
item
){
this
.
datainfo
.
qFlightDateStart
=
moment
(
item
.
date_str
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
this
.
datainfo
.
qFlightDateStart
=
moment
(
item
.
date_str
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
this
.
other
=
false
;
this
.
other
=
false
;
...
@@ -399,7 +427,7 @@ export default {
...
@@ -399,7 +427,7 @@ export default {
Purchase
(
item
){
Purchase
(
item
){
let
isLogin
=
this
.
$store
.
state
.
isLogin
;
let
isLogin
=
this
.
$store
.
state
.
isLogin
;
if
(
isLogin
==
0
){
if
(
isLogin
==
0
){
this
.
$message
.
error
(
"请先登录!"
)
this
.
Error
(
"请先登录!"
);
this
.
$router
.
push
({
path
:
`/login?type=1`
})
this
.
$router
.
push
({
path
:
`/login?type=1`
})
}
else
{
}
else
{
this
.
$store
.
commit
(
'HomePage'
,
'ticket'
)
this
.
$store
.
commit
(
'HomePage'
,
'ticket'
)
...
@@ -488,6 +516,7 @@ export default {
...
@@ -488,6 +516,7 @@ export default {
OtherToggle
(){
OtherToggle
(){
this
.
other
=!
this
.
other
;
this
.
other
=!
this
.
other
;
},
},
ChangeMonth
(
num
){
ChangeMonth
(
num
){
if
(
num
==
1
){
if
(
num
==
1
){
...
@@ -521,14 +550,19 @@ export default {
...
@@ -521,14 +550,19 @@ export default {
this
.
choose_info
.
qFlightDateStart
=
moment
(
this
.
changeday
).
format
(
'YYYY-MM-DD'
);
this
.
choose_info
.
qFlightDateStart
=
moment
(
this
.
changeday
).
format
(
'YYYY-MM-DD'
);
this
.
Datelist
();
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
(){
Datelist
(){
this
.
loading
=
true
;
// console.log("this.datainfo",this.datainfo)
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketForMinPrice'
,
this
.
datainfo
,
res
=>
{
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketForMinPrice'
,
this
.
datainfo
,
res
=>
{
// console.log(res);
// console.log(res);
this
.
loading
=
false
;
this
.
dateList
=
res
.
data
.
data
;
this
.
dateList
=
res
.
data
.
data
;
this
.
getList
();
},
null
)
},
null
)
},
},
...
@@ -537,8 +571,11 @@ export default {
...
@@ -537,8 +571,11 @@ export default {
this
.
getList
();
this
.
getList
();
},
},
getList
(){
getList
(){
this
.
loading
=
true
;
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketList'
,
this
.
choose_info
,
res
=>
{
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
.
datalist
=
res
.
data
.
data
.
pageData
;
this
.
count
=
res
.
data
.
data
.
count
;
this
.
count
=
res
.
data
.
data
.
count
;
if
(
this
.
datalist
.
length
>
0
){
if
(
this
.
datalist
.
length
>
0
){
...
@@ -546,6 +583,10 @@ export default {
...
@@ -546,6 +583,10 @@ export default {
item
.
synum
=
item
.
airTicketScatterNum
-
item
.
useScatterNum
;
item
.
synum
=
item
.
airTicketScatterNum
-
item
.
useScatterNum
;
})
})
}
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
)
},
null
)
},
},
...
@@ -615,6 +656,54 @@ export default {
...
@@ -615,6 +656,54 @@ export default {
<
style
>
<
style
>
@import
'../../assets/global/font.css'
;
@import
'../../assets/global/font.css'
;
@import
'../../assets/css/reset.css'
;
@import
'../../assets/css/reset.css'
;
.ticketlist_content
.time_asc
.ascending
{
border-bottom-color
:
rgba
(
238
,
68
,
84
,
1
);
}
.ticketlist_content
.time_des
.descending
{
border-top-color
:
rgba
(
238
,
68
,
84
,
1
);
}
.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
{
border-top-color
:
#409eff
;
}
.sort-caret.ascending
{
border-bottom-color
:
#c0c4cc
;
top
:
5px
;
}
.sort-caret
{
width
:
0
;
height
:
0
;
border
:
5px
solid
transparent
;
position
:
absolute
;
left
:
7px
;
}
.sort-caret.descending
{
border-top-color
:
#c0c4cc
;
bottom
:
7px
;
}
.caret-wrapper
{
display
:
inline-flex
;
flex-direction
:
column
;
align-items
:
center
;
height
:
34px
;
width
:
24px
;
vertical-align
:
middle
;
cursor
:
pointer
;
overflow
:
initial
;
position
:
relative
;
}
.ticketlist_content
.pagination
{
.ticketlist_content
.pagination
{
margin
:
10px
0
;
margin
:
10px
0
;
}
}
...
@@ -629,9 +718,12 @@ export default {
...
@@ -629,9 +718,12 @@ export default {
}
}
.ticket_1
.msg
.el-select
{
.ticket_1
.msg
.el-select
{
width
:
1
3
0px
;
width
:
1
8
0px
;
height
:
100%
;
height
:
100%
;
}
}
.ticket_1
.msg
.el-input-number--mini
{
line-height
:
30px
;
}
.ticket_1
.msg
.el-select
>
.el-input
{
.ticket_1
.msg
.el-select
>
.el-input
{
width
:
100%
;
width
:
100%
;
}
}
...
@@ -664,11 +756,10 @@ export default {
...
@@ -664,11 +756,10 @@ export default {
.ticket_1
.msg
{
.ticket_1
.msg
{
color
:
#000000
;
color
:
#000000
;
font-size
:
12px
;
font-size
:
12px
;
margin-top
:
15px
;
}
}
.ticket_1
.msg
.city
{
.ticket_1
.msg
.city
{
padding
:
4px
0
;
padding
:
4px
0
;
width
:
80%
;
width
:
270px
;
height
:
36px
;
height
:
36px
;
line-height
:
28px
;
line-height
:
28px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
...
@@ -796,7 +887,7 @@ li{
...
@@ -796,7 +887,7 @@ li{
width
:
2%
;
width
:
2%
;
}
}
.margin
{
.margin
{
margin-top
:
2
5px
;
margin-top
:
1
5px
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.date_list
div
:nth-last-child
(
3
)
div
{
.date_list
div
:nth-last-child
(
3
)
div
{
...
@@ -824,6 +915,9 @@ li{
...
@@ -824,6 +915,9 @@ li{
text-align
:
center
;
text-align
:
center
;
}
}
.date_list
>
div
:hover
{
cursor
:
pointer
;
}
.date_list
{
.date_list
{
background
:
rgba
(
248
,
248
,
248
,
1
);
background
:
rgba
(
248
,
248
,
248
,
1
);
border
:
1px
solid
rgba
(
221
,
221
,
221
,
1
);
border
:
1px
solid
rgba
(
221
,
221
,
221
,
1
);
...
@@ -837,6 +931,7 @@ li{
...
@@ -837,6 +931,7 @@ li{
.ticketlist_content
{
.ticketlist_content
{
padding-top
:
20px
;
padding-top
:
20px
;
background
:
rgba
(
245
,
245
,
245
,
1
);
background
:
rgba
(
245
,
245
,
245
,
1
);
min-height
:
300px
;
}
}
.green
{
.green
{
color
:
rgba
(
15
,
181
,
144
,
1
);
color
:
rgba
(
15
,
181
,
144
,
1
);
...
@@ -848,7 +943,7 @@ li{
...
@@ -848,7 +943,7 @@ li{
}
}
.second
.num
{
.second
.num
{
position
:
absolute
;
position
:
absolute
;
right
:
30%
;
right
:
10px
;
font-size
:
12px
;
font-size
:
12px
;
top
:
0
;
top
:
0
;
}
}
...
...
src/components/global/head.vue
View file @
375109dc
...
@@ -87,7 +87,7 @@ color:rgba(51,51,51,1);
...
@@ -87,7 +87,7 @@ color:rgba(51,51,51,1);
<!-- <el-menu-item index="2-3">单团</el-menu-item>
<!-- <el-menu-item index="2-3">单团</el-menu-item>
<el-menu-item index="2-4">私人订制</el-menu-item> -->
<el-menu-item index="2-4">私人订制</el-menu-item> -->
</el-submenu>
</el-submenu>
<
!-- <el-menu-item index="3" @click="goUrl('TicketHome',true)"><a href="javascript:void(0);">机票</a></el-menu-item> --
>
<
el-menu-item
index=
"3"
@
click=
"goUrl('TicketHome',true)"
><a
href=
"javascript:void(0);"
>
机票
</a></el-menu-item
>
<!-- <el-menu-item index="5"><a href="javascript:void(0);">机票</a></el-menu-item>
<!-- <el-menu-item index="5"><a href="javascript:void(0);">机票</a></el-menu-item>
...
@@ -117,7 +117,7 @@ color:rgba(51,51,51,1);
...
@@ -117,7 +117,7 @@ color:rgba(51,51,51,1);
</el-col>
</el-col>
<el-col
:span=
"4"
:offset=
"14"
class=
"Info"
>
<el-col
:span=
"4"
:offset=
"14"
class=
"Info"
>
<div
class=
"ckxx"
>
乘客信息
</div>
<div
class=
"ckxx"
>
乘客
<br/>
信息
</div>
<div
class=
"fg"
></div>
<div
class=
"fg"
></div>
<div
class=
"zf"
>
支付
</div>
<div
class=
"zf"
>
支付
</div>
</el-col>
</el-col>
...
@@ -164,7 +164,6 @@ export default {
...
@@ -164,7 +164,6 @@ export default {
}
}
},
},
created
(){
created
(){
console
.
log
(
this
.
defaultKey
)
},
},
computed
:
{
computed
:
{
user
(){
user
(){
...
@@ -206,7 +205,6 @@ export default {
...
@@ -206,7 +205,6 @@ export default {
methods
:
{
methods
:
{
handleSelect
(
key
,
keyPath
)
{
handleSelect
(
key
,
keyPath
)
{
console
.
log
(
key
)
this
.
defaultKey
=
key
;
this
.
defaultKey
=
key
;
sessionStorage
.
setItem
(
"defaultKey"
,
this
.
defaultKey
);
sessionStorage
.
setItem
(
"defaultKey"
,
this
.
defaultKey
);
this
.
$emit
(
'forword'
,
key
)
this
.
$emit
(
'forword'
,
key
)
...
@@ -234,8 +232,6 @@ export default {
...
@@ -234,8 +232,6 @@ export default {
this
.
$store
.
commit
(
'HomePage'
,
'true'
)
this
.
$store
.
commit
(
'HomePage'
,
'true'
)
localStorage
.
removeItem
(
"userInfo"
);
localStorage
.
removeItem
(
"userInfo"
);
sessionStorage
.
setItem
(
"Homepage"
,
'true'
);
sessionStorage
.
setItem
(
"Homepage"
,
'true'
);
// localStorage.homePage = 'true';
// console.log(" this.homePage.", this.homePage)
this
.
$router
.
push
({
name
:
path
,
query
:{
'type'
:
t
}})
this
.
$router
.
push
({
name
:
path
,
query
:{
'type'
:
t
}})
},
},
goUrl
(
path
,
bl
){
goUrl
(
path
,
bl
){
...
...
src/components/global/pay.vue
View file @
375109dc
...
@@ -162,7 +162,6 @@
...
@@ -162,7 +162,6 @@
msg
.
attach
=
this
.
payType
+
'|'
+
obj
.
contactName
+
'|'
+
obj
.
orderId
+
'|'
+
obj
.
customerId
+
'|'
+
obj
.
outBranchId
msg
.
attach
=
this
.
payType
+
'|'
+
obj
.
contactName
+
'|'
+
obj
.
orderId
+
'|'
+
obj
.
customerId
+
'|'
+
obj
.
outBranchId
msg
.
total_fee
=
this
.
payMoney
msg
.
total_fee
=
this
.
payMoney
msg
.
payway
=
this
.
payWay
msg
.
payway
=
this
.
payWay
console
.
log
(
msg
)
if
(
this
.
payType
==
''
){
if
(
this
.
payType
==
''
){
this
.
$message
.
warning
(
'请选择费用类型!'
)
this
.
$message
.
warning
(
'请选择费用类型!'
)
return
return
...
...
src/components/mall/newcalendar.vue
View file @
375109dc
...
@@ -52,11 +52,11 @@
...
@@ -52,11 +52,11 @@
margin
:
10px
0
;
margin
:
10px
0
;
color
:
#ff4646
;
color
:
#ff4646
;
}
}
.dayList
:hover
{
.dayList
.yesPrice
:hover
{
background
:
#FF680B
;
background
:
#FF680B
;
color
:
#fff
!important
;
color
:
#fff
!important
;
}
}
.dayList
:hover
.price
{
.dayList
.yesPrice
:hover
.price
{
color
:
#fff
;
color
:
#fff
;
}
}
...
...
src/main.js
View file @
375109dc
...
@@ -12,6 +12,7 @@ import echarts from 'echarts'
...
@@ -12,6 +12,7 @@ import echarts from 'echarts'
import
VueLazyload
from
'vue-lazyload'
import
VueLazyload
from
'vue-lazyload'
import
htmlToPdf
from
'./assets/utils/htmlToPdf'
import
htmlToPdf
from
'./assets/utils/htmlToPdf'
import
commonUtils
from
'./assets/utils/commonUtils'
import
commonUtils
from
'./assets/utils/commonUtils'
// 使用Vue.use()方法就会调用工具方法中的install方法
// 使用Vue.use()方法就会调用工具方法中的install方法
Vue
.
use
(
htmlToPdf
)
Vue
.
use
(
htmlToPdf
)
Vue
.
use
(
VueLazyload
)
Vue
.
use
(
VueLazyload
)
...
...
src/plugins/index.js
View file @
375109dc
...
@@ -13,9 +13,12 @@ export default {
...
@@ -13,9 +13,12 @@ export default {
Vue
.
prototype
.
domainManager
=
function
()
{
Vue
.
prototype
.
domainManager
=
function
()
{
// var domainUrl = "http://test_reborn.oytour.com";//主域名
// var domainUrl = "http://test_reborn.oytour.com";//主域名
//var domainUrl = "http://reborn.oytour.com"; //主域名
//var domainUrl = "http://reborn.oytour.com"; //主域名
var
domainUrl
=
"http://192.168.2.16:8083"
//主域名
// var domainUrl = "http://192.168.2.16:8083"//主域名
// let domainUrl = "https://reborn.oytour.com"; //刘东主域名
// let domainUrl = "https://reborn.oytour.com"; //刘东主域名
// let domainUrl = "https://reborn.oytour.com";
// let domainUrl = "https://reborn.oytour.com";
var
domainUrl
=
"http://test.viitto.com"
if
(
this
.
isOnline
())
{
if
(
this
.
isOnline
())
{
if
(
window
.
location
.
host
.
indexOf
(
'viitto.com'
)
!=-
1
)
if
(
window
.
location
.
host
.
indexOf
(
'viitto.com'
)
!=-
1
)
domainUrl
=
"http://test.viitto.com"
domainUrl
=
"http://test.viitto.com"
...
@@ -27,7 +30,9 @@ export default {
...
@@ -27,7 +30,9 @@ export default {
DomainUrl
:
domainUrl
,
DomainUrl
:
domainUrl
,
//常用提交数据URL
//常用提交数据URL
PostUrl
:
domainUrl
+
"/api/common/post"
,
PostUrl
:
domainUrl
+
"/api/common/post"
,
javaUrl
:
"http://192.168.2.16:9000"
,
// javaUrl: "http://192.168.2.16:9000",
javaUrl
:
"http://47.96.12.235:9001"
,
//测试接口
LocalFileStreamDownLoadUrl
:
domainUrl
+
"/api/file/GetFileFromWebApi"
,
LocalFileStreamDownLoadUrl
:
domainUrl
+
"/api/file/GetFileFromWebApi"
,
};
};
return
obj
;
return
obj
;
...
...
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