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
2ef323c9
Commit
2ef323c9
authored
Mar 01, 2019
by
huangyuanyuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
11
parent
0a57a597
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
637 additions
and
63 deletions
+637
-63
Choose.vue
src/components/Ticket/Choose.vue
+34
-14
FillItinerary.vue
src/components/Ticket/FillItinerary.vue
+508
-0
TicketHome.vue
src/components/Ticket/TicketHome.vue
+3
-1
TicketList.vue
src/components/Ticket/TicketList.vue
+72
-40
head.vue
src/components/global/head.vue
+3
-1
newcalendar.vue
src/components/mall/newcalendar.vue
+8
-6
router.js
src/router.js
+8
-0
index.vue
src/views/index.vue
+1
-1
No files found.
src/components/Ticket/Choose.vue
View file @
2ef323c9
...
@@ -11,10 +11,10 @@
...
@@ -11,10 +11,10 @@
<el-select
style=
"width:80%"
v-model=
"choose_info.departure_city"
filterable
placeholder=
"请选择"
>
<el-select
style=
"width:80%"
v-model=
"choose_info.departure_city"
filterable
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
<el-option
v-for=
"item in c
awei
"
v-for=
"item in c
fd
"
:key=
"item.
id
"
:key=
"item.
ID
"
:label=
"item.
titl
e"
:label=
"item.
Nam
e"
:value=
"item.
id
"
>
:value=
"item.
ID
"
>
</el-option>
</el-option>
</el-select>
</el-select>
</div>
</div>
...
@@ -23,10 +23,10 @@
...
@@ -23,10 +23,10 @@
<el-select
style=
"width:80%"
v-model=
"choose_info.arrival_city"
filterable
placeholder=
"请选择"
>
<el-select
style=
"width:80%"
v-model=
"choose_info.arrival_city"
filterable
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
<el-option
v-for=
"item in c
awei
"
v-for=
"item in c
fd
"
:key=
"item.
id
"
:key=
"item.
ID
"
:label=
"item.
titl
e"
:label=
"item.
Nam
e"
:value=
"item.
id
"
>
:value=
"item.
ID
"
>
</el-option>
</el-option>
</el-select>
</el-select>
</div>
</div>
...
@@ -65,10 +65,14 @@
...
@@ -65,10 +65,14 @@
<span>
婴儿 |
</span>
<span>
婴儿 |
</span>
<el-input-number
size=
"mini"
v-model=
"choose_info.ye"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
<el-input-number
size=
"mini"
v-model=
"choose_info.ye"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
</div>
<el-button
@
click=
"Search"
size=
"small"
>
搜索
</el-button>
<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>
<div>
<div
class=
"city"
style=
"width:200px;display:inline-block;
margin-right:10px
"
>
<div
class=
"city"
style=
"width:200px;display:inline-block;"
>
<span>
舱位选择 |
</span>
<span>
舱位选择 |
</span>
<el-select
v-model=
"choose_info.freightSpace"
placeholder=
"请选择"
>
<el-select
v-model=
"choose_info.freightSpace"
placeholder=
"请选择"
>
<el-option
<el-option
...
@@ -79,7 +83,7 @@
...
@@ -79,7 +83,7 @@
</el-option>
</el-option>
</el-select>
</el-select>
</div>
</div>
<div
class=
"city"
style=
"width:250px;display:inline-block"
>
<div
class=
"city"
style=
"width:250px;display:inline-block
;margin:0 10px
"
>
<span>
航空公司 |
</span>
<span>
航空公司 |
</span>
<el-select
style=
"width:180px"
filterable
v-model=
"choose_info.airLineID"
placeholder=
"请选择"
>
<el-select
style=
"width:180px"
filterable
v-model=
"choose_info.airLineID"
placeholder=
"请选择"
>
<el-option
:value=
0
label=
"不限"
></el-option>
<el-option
:value=
0
label=
"不限"
></el-option>
...
@@ -87,6 +91,7 @@
...
@@ -87,6 +91,7 @@
:key=
"item.AirLineId"
></el-option>
:key=
"item.AirLineId"
></el-option>
</el-select>
</el-select>
</div>
</div>
<el-button
@
click=
"Search"
size=
"small"
>
搜索
</el-button>
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -118,6 +123,7 @@ export default {
...
@@ -118,6 +123,7 @@ export default {
cr
:
0
,
cr
:
0
,
child
:
0
,
child
:
0
,
ye
:
0
,
ye
:
0
,
lr
:
0
,
},
},
startweek
:
""
,
startweek
:
""
,
...
@@ -135,6 +141,7 @@ export default {
...
@@ -135,6 +141,7 @@ export default {
input10
:
""
,
input10
:
""
,
value
:
""
,
value
:
""
,
airlineList
:[],
airlineList
:[],
cfd
:[],
}
}
},
},
...
@@ -143,9 +150,22 @@ export default {
...
@@ -143,9 +150,22 @@ export default {
},
},
created
(){
created
(){
this
.
initAirlines
();
this
.
initAirlines
();
this
.
CFD
();
this
.
$emit
(
"ChooseInfo"
,
this
.
choose_info
)
this
.
$emit
(
"ChooseInfo"
,
this
.
choose_info
)
},
},
methods
:
{
methods
:
{
CFD
(){
this
.
apipost
(
"dict_post_Destination_GetCityList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
cfd
=
res
.
data
.
data
;
}
},
err
=>
{
}
);
},
// 航空公司下拉框
// 航空公司下拉框
initAirlines
()
{
initAirlines
()
{
this
.
apipost
(
this
.
apipost
(
...
@@ -199,13 +219,13 @@ export default {
...
@@ -199,13 +219,13 @@ export default {
handleChange
(){},
handleChange
(){},
Search
(){
Search
(){
this
.
choose_info
.
airTicketScatterNum
=
this
.
choose_info
.
cr
+
this
.
choose_info
.
child
+
this
.
choose_info
.
ye
;
this
.
choose_info
.
airTicketScatterNum
=
this
.
choose_info
.
cr
+
this
.
choose_info
.
child
+
this
.
choose_info
.
ye
;
console
.
log
(
this
.
choose_info
,
'choose_info'
);
this
.
$emit
(
"ChooseInfo"
,
this
.
choose_info
)
this
.
$emit
(
"ChooseInfo"
,
this
.
choose_info
)
sessionStorage
.
setItem
(
"ChooseInfo"
,
JSON
.
stringify
(
this
.
choose_info
));
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
'TicketList'
,
path
:
'TicketList'
query
:
this
.
choose_info
})
})
}
}
}
}
...
...
src/components/Ticket/FillItinerary.vue
0 → 100644
View file @
2ef323c9
<
template
>
<div>
<!--
<div
class=
"baner_top"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
:offset=
"2"
>
</el-col>
</el-row>
</div>
-->
<el-row
:gutter=
"20"
style=
"background:#f5f5f5"
>
<el-col
:span=
"18"
:offset=
"3"
>
<!-- 订单详情 -->
<div
class=
"ticket_list"
>
<el-col
:span=
"9"
>
<div>
<p
style=
"font-size:16px;color:#333333"
>
{{
getlistSigel
.
flightDate
}}
{{
getlistSigel
.
goStartAirPlace
}}
-
{{
getlistSigel
.
goEndAirPlace
}}
</p>
<p
style=
"font-size:12px;color:#666666"
>
<img
style=
"width:15px;height:15px;color:#000000"
src=
""
alt=
""
>
<span>
{{
getlistSigel
.
airlineName
}}
</span>
<span>
{{
getlistSigel
.
alCode
}}
</span>
</p>
<div
class=
"xcxq"
>
<div
class=
"bz"
>
去
</div>
<el-col
:span=
"8"
style=
"text-align:right"
>
<p
class=
"time"
>
{{
getlistSigel
.
goStartHouseTime
}}
</p>
<p>
{{
getlistSigel
.
goStartAirPlace
}}
</p>
</el-col>
<el-col
:span=
"8"
style=
"text-align:center"
>
<p>
{{
getlistSigel
.
goTotalTime
}}
</p>
<p
class=
"line"
></p>
<p
v-if=
"getlistSigel.goTransfer"
>
{{
getlistSigel
.
goTransfer
}}
转机
</p>
</el-col>
<el-col
:span=
"8"
style=
"text-align:left"
>
<p
class=
"time"
>
{{
getlistSigel
.
goEndHouseTime
}}
</p>
<p>
{{
getlistSigel
.
goEndAirPlace
}}
</p>
</el-col>
</div>
</div>
</el-col>
<el-col
:span=
"9"
style=
"border-right:1px dashed #AAAAAA;"
>
<div>
<p
style=
"font-size:16px;color:#333333"
>
{{
getlistSigel
.
backDate
}}
{{
getlistSigel
.
backStartAirPlace
}}
-
{{
getlistSigel
.
backEndAirPlace
}}
</p>
<p
style=
"font-size:12px;color:#666666"
>
<img
style=
"width:15px;height:15px;color:#000000"
src=
""
alt=
""
>
<span>
{{
getlistSigel
.
airlineName
}}
</span>
<span>
{{
getlistSigel
.
alCode
}}
</span>
</p>
<div
class=
"xcxq"
>
<div
class=
"bz"
>
返
</div>
<el-col
:span=
"8"
style=
"text-align:right"
>
<p
class=
"time"
>
{{
getlistSigel
.
backStartHouseTime
}}
</p>
<p>
{{
getlistSigel
.
goStartAirPlace
}}
</p>
</el-col>
<el-col
:span=
"8"
style=
"text-align:center"
>
<p>
{{
getlistSigel
.
backTotalTime
}}
</p>
<p
class=
"line"
></p>
<p
v-if=
"getlistSigel.goTransfer"
>
{{
getlistSigel
.
backTransfer
}}
转机
</p>
</el-col>
<el-col
:span=
"8"
style=
"text-align:left"
>
<p
class=
"time"
>
{{
getlistSigel
.
backEndHouseTime
}}
</p>
<p>
{{
getlistSigel
.
backEndAirPlace
}}
</p>
</el-col>
</div>
</div>
</el-col>
<el-col
class=
"w31"
:span=
"6"
>
<p>
订单金额
<span
class=
"yu"
>
余
{{
getlistSigel
.
synum
}}
</span>
</p>
<p>
<span>
票价
</span>
<span
style=
"float:right;color:#FF680B;font-size:20px"
>
¥
{{
getlistSigel
.
b2BPrice
}}
</span>
</p>
<P>
成人票:
<span
style=
"float:right;"
>
{{
personNum
.
manNum
}}
</span>
</P>
</el-col>
</div>
<!-- 填写订单 -->
<div
class=
"tx_order"
style=
"margin-top:20px"
>
<div
class=
"tx"
>
<div
style=
"margin-top:8px"
>
乘机人信息
</div>
<div
v-show=
"!personnums"
class=
"person_num"
>
<span>
成人
</span>
<span>
{{
personNum
.
manNum
}}
人
</span>
<span>
儿童
</span>
<span>
{{
personNum
.
chirdNum
}}
人
</span>
<span>
婴儿
</span>
<span>
{{
personNum
.
babyNum
}}
人
</span>
<span>
老人
</span>
<span>
{{
personNum
.
oldPeopleNum
}}
人
</span>
<el-button
@
click=
"personnums=true"
size=
"mini"
style=
"background:#EE4454;color:#fff;"
>
修改人数
</el-button>
</div>
<div
v-show=
"personnums"
>
<div
class=
"number"
style=
"margin-left:15px"
>
<span>
成人 |
</span>
<el-input-number
size=
"mini"
v-model=
"personNum.manNum"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
<div
class=
"number"
>
<span>
儿童 |
</span>
<el-input-number
size=
"mini"
v-model=
"personNum.chirdNum"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
<div
class=
"number"
>
<span>
婴儿 |
</span>
<el-input-number
size=
"mini"
v-model=
"personNum.babyNum"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
<div
class=
"number"
>
<span>
老人 |
</span>
<el-input-number
size=
"mini"
v-model=
"personNum.oldPeopleNum"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
<el-button
@
click=
"ConfirmedPersonNum"
size=
"mini"
style=
"background:#EE4454;color:#fff"
>
确认
</el-button>
<el-button
size=
"mini"
style=
"background:#EE4454;color:#fff"
>
取消
</el-button>
</div>
</div>
<el-form
:model=
"personNum"
ref=
"personNum"
label-width=
"100px"
class=
"demo-ruleForm"
>
<div
class=
"tx_list"
style=
"margin:10px 0"
v-for=
"(item,index) in personNum.guestList"
:key=
"index"
>
<el-col
:span=
"4"
>
<div
class=
"index"
>
<p>
第
<span
style=
"font-weight:700"
>
{{
index
+
1
}}
</span>
位
</p>
<!-- //1 成年 2小孩 3婴儿 4老人 -->
<p
style=
"background:#49C0A1;color:#fff"
>
<span
v-if=
"item.ageType=='1'"
>
成年
</span>
<span
v-if=
"item.ageType=='2'"
>
小孩
</span>
<span
v-if=
"item.ageType=='3'"
>
婴儿
</span>
<span
v-if=
"item.ageType=='4'"
>
老人
</span>
</p>
</div>
</el-col>
<el-col
:span=
"20"
>
<el-form-item
label=
"乘机人"
:prop=
"'guestList.'+index+'.name'"
:rules=
"[
{required: true, message: '域名不能为空', trigger: 'blur'}]">
<el-input
size=
"mini"
v-model=
"item.name"
></el-input>
</el-form-item>
<el-form-item
label=
"护照信息"
:prop=
"'guestList.'+index+'.passportNo'"
:rules=
"[
{ required: true, message: '请输入护照信息', trigger: 'blur' }]">
<el-input
size=
"mini"
v-model=
"item.passportNo"
></el-input>
</el-form-item>
<el-form-item
label=
"出生日期"
:prop=
"'guestList.'+index+'.birthday'"
:rules=
"[
{ type: 'date', required: true, message: '请选择日期', trigger: 'change' }]">
<el-date-picker
size=
"mini"
type=
"date"
placeholder=
"选择日期"
v-model=
"item.birthday"
style=
"width: 100%;"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"性别"
:prop=
"'guestList.'+index+'.sex'"
:rules=
"[
{ required: true, message: '请选择性别', trigger: 'change' }]">
<el-radio-group
v-model=
"item.sex"
>
<el-radio
label=
"男"
value=
"1"
></el-radio>
<el-radio
label=
"女"
value=
"2"
></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"国籍"
>
<el-select
size=
"mini"
v-model=
"item.nationality"
filterable
placeholder=
"请选择国籍"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"手机号"
>
<el-input
size=
"mini"
v-model=
"item.mobilePhone"
></el-input>
</el-form-item>
</el-col>
</div>
</el-form>
</div>
<!-- 联系人 -->
<div
v-show=
"!personnums"
class=
"lxr_info"
style=
"margin-top:20px;background:#fff;"
>
<p
class=
"lxr"
>
联系人信息
</p>
<el-form
style=
"width:90%"
:model=
"ruleForm"
ref=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"联系人"
prop=
"name"
:rules=
"
{ required: true, message: '请输入姓名', trigger: 'blur' }">
<el-input
size=
"mini"
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"手机号"
prop=
"name"
:rules=
"
{ required: true, message: '请输入护照信息', trigger: 'blur' }">
<el-input
size=
"mini"
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"邮箱"
prop=
"name"
:rules=
"
{ required: true, message: '请输入出生日期', trigger: 'blur' }">
<el-input
size=
"mini"
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
style=
"width:99%"
label=
"备注"
prop=
"name"
>
<el-input
size=
"mini"
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
</el-form>
</div>
</el-col>
</el-row>
<!-- 提交订单 -->
<div
class=
'tjorder'
v-show=
"!personnums"
>
<div
style=
"width:80%;margin:0 auto;color:#cccccc;position:relative"
>
<p
style=
"font-size:14px;padding:4px 50px;text-align:right;"
>
条款和限制
<span
style=
"color:#49C0A1"
>
《网上购票须知》
</span>
</p>
<p
class=
"total"
style=
"margin-top:12px"
>
<span>
总价
</span>
<span
style=
"font-size:20px;font-weight:400;color:rgba(255,255,255,1);margin:0 15px;"
>
¥480
</span>
<span
@
click=
"submitForm('personNum')"
style=
"cursor: pointer;;height:32px;background:rgba(238,68,84,1);border-radius:4px;color:#fff;padding:4px 15px"
>
同意以上协议条款,提交订单
</span>
</p>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
components
:
{
},
data
()
{
return
{
personnums
:
true
,
personNum
:{
manNum
:
0
,
chirdNum
:
0
,
babyNum
:
0
,
oldPeopleNum
:
0
,
guestList
:[],
},
AirTicketId
:
this
.
$route
.
params
.
id
,
ruleForm
:{},
getlistSigel
:{},
flightList
:[]
}
},
mounted
()
{
this
.
GetDes
();
},
methods
:
{
//获取订单详情
GetDes
(){
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketInfo'
,{
AirTicketId
:
this
.
AirTicketId
},
res
=>
{
console
.
log
(
"机票订单详情"
,
res
)
this
.
getlistSigel
=
res
.
data
.
data
;
this
.
getlistSigel
.
synum
=
this
.
getlistSigel
.
airTicketScatterNum
-
this
.
getlistSigel
.
useScatterNum
;
this
.
flightList
=
this
.
getlistSigel
.
flightList
;
},
null
)
},
// 确认订单人数
ConfirmedPersonNum
(){
if
(
this
.
personNum
.
manNum
==
0
&&
this
.
personNum
.
chirdNum
==
0
&&
this
.
personNum
.
oldPeopleNum
==
0
){
this
.
$message
.
error
(
"乘机人数至少1人!"
)
return
;
}
this
.
personNum
.
guestNum
=
this
.
personNum
.
manNum
+
this
.
personNum
.
chirdNum
+
this
.
personNum
.
oldPeopleNum
+
this
.
personNum
.
babyNum
;
this
.
personNum
.
seatNum
=
this
.
personNum
.
manNum
+
this
.
personNum
.
chirdNum
+
this
.
personNum
.
oldPeopleNum
;
this
.
personNum
.
guestList
=
[];
// 成年
for
(
let
i
=
0
;
i
<
this
.
personNum
.
manNum
;
i
++
){
let
info
=
{
ageType
:
'1'
,
//1 成年 2小孩 3婴儿 4老人
airOrderId
:
''
,
//机票订单id
airProductId
:
''
,
//机票产品id
birthday
:
''
,
//出生日期
eName
:
''
,
mobilePhone
:
''
,
name
:
""
,
nationality
:
''
,
passportNo
:
""
,
//护照号码
sex
:
''
,
}
this
.
personNum
.
guestList
.
push
(
info
);
}
console
.
log
(
this
.
personNum
.
guestList
,
'guestList'
);
// 小孩
for
(
let
i
=
0
;
i
<
this
.
personNum
.
chirdNum
;
i
++
){
let
info
=
{
ageType
:
'2'
,
//1 成年 2小孩 3婴儿 4老人
airOrderId
:
''
,
//机票订单id
airProductId
:
''
,
//机票产品id
birthday
:
''
,
//出生日期
eName
:
''
,
mobilePhone
:
''
,
name
:
""
,
nationality
:
''
,
passportNo
:
""
,
//护照号码
sex
:
''
,
}
this
.
personNum
.
guestList
.
push
(
info
);
}
// 3婴儿
for
(
let
i
=
0
;
i
<
this
.
personNum
.
babyNum
;
i
++
){
let
info
=
{
ageType
:
'3'
,
//1 成年 2小孩 3婴儿 4老人
airOrderId
:
''
,
//机票订单id
airProductId
:
''
,
//机票产品id
birthday
:
''
,
//出生日期
eName
:
''
,
mobilePhone
:
''
,
name
:
""
,
nationality
:
''
,
passportNo
:
""
,
//护照号码
sex
:
''
,
}
this
.
personNum
.
guestList
.
push
(
info
);
}
// 4老人
for
(
let
i
=
0
;
i
<
this
.
personNum
.
oldPeopleNum
;
i
++
){
let
info
=
{
ageType
:
'4'
,
//1 成年 2小孩 3婴儿 4老人
airOrderId
:
''
,
//机票订单id
airProductId
:
''
,
//机票产品id
birthday
:
''
,
//出生日期
eName
:
''
,
mobilePhone
:
''
,
name
:
""
,
nationality
:
''
,
passportNo
:
""
,
//护照号码
sex
:
''
,
}
this
.
personNum
.
guestList
.
push
(
info
);
}
// console.log(num);
console
.
log
(
this
.
personNum
);
this
.
personnums
=
false
;
},
PlaceOrder
(
formName
){
console
.
log
(
this
.
personNum
);
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
this
.
$refs
[
addMsg
].
validate
((
valid
)
=>
{
if
(
valid
)
{
//this.addNotice(_type)
}
else
{
return
false
;
}
});
},
}
}
</
script
>
<
style
>
.w31
p
{
margin
:
8px
0
;
}
.ticket_list
.yu
{
float
:
right
;
background
:
rgb
(
255
,
104
,
11
);
color
:
#fff
;
display
:
inline-block
;
width
:
35px
;
height
:
35px
;
text-align
:
center
;
line-height
:
35px
;
border-radius
:
50%
;
}
.tjorder
p
{
margin
:
0
;
}
.total
{
position
:
absolute
;
right
:
0
;
}
.tjorder
{
height
:
80px
;
background
:
rgba
(
51
,
51
,
51
,
1
);
margin
:
20px
0
;
}
.lxr_info
.el-form-item
{
display
:
inline-block
;
width
:
33%
;
margin-bottom
:
5px
;
}
.lxr
{
height
:
36px
;
background
:
rgba
(
221
,
221
,
221
,
1
);
line-height
:
36px
;
padding
:
0
6px
;
font-size
:
14px
;
}
.person_num
>
span
{
display
:
inline-block
;
width
:
100px
;
text-align
:
center
;
height
:
36px
;
line-height
:
36px
;
}
.el-form-item__error
{
top
:
80%
;
}
.tx_list
:nth-last-child
(
1
)
{
border
:
none
;
}
.tx_list
{
padding
:
10px
0
;
overflow
:
auto
;
border-bottom
:
1px
dashed
#AAAAAA
;
}
.tx_order
.index
p
{
margin
:
0
;
padding
:
4px
0
;
}
.tx_order
.index
{
margin-top
:
10px
;
width
:
59px
;
font-size
:
12px
;
text-align
:
center
;
background
:
rgba
(
255
,
255
,
255
,
1
);
border
:
1px
solid
rgba
(
73
,
192
,
161
,
1
);
}
.tx_order
.el-form-item
{
display
:
inline-block
;
width
:
30%
;
margin-bottom
:
5px
;
}
.tx_order
.tx
.number
{
display
:
inline-block
;
background
:
#fff
;
margin
:
0
6px
;
padding
:
4px
;
box-sizing
:
border-box
;
border-radius
:
4px
;
font-size
:
12px
;
}
.tx_order
{
margin
:
15px
0
;
background
:
#fff
;
}
.tx_order
.tx
{
padding
:
4px
;
box-sizing
:
border-box
;
background
:
rgba
(
221
,
221
,
221
,
1
);
display
:
flex
;
justify-content
:
flex-start
;
font-size
:
14px
;
}
.ticket_list
.time
{
color
:
#333333
;
}
.bz
{
position
:
absolute
;
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
text-align
:
center
;
color
:
#fff
;
background
:
rgba
(
73
,
192
,
161
,
1
);
}
.ticket_list
.line
{
width
:
100%
;
height
:
1px
;
background
:
rgba
(
153
,
153
,
153
,
1
);
}
.xcxq
p
{
margin
:
0
;
margin
:
4px
0
;
}
.xcxq
{
position
:
relative
;
background
:
rgba
(
245
,
245
,
245
,
1
);
overflow
:
auto
;
font-size
:
12px
;
}
.ticket_list
{
background
:
#fff
;
display
:
flex
;
justify-content
:
space-around
;
box-shadow
:
0px
4px
8px
0px
rgba
(
107
,
107
,
107
,
0.18
);
margin-top
:
15px
;
padding
:
15px
;
box-sizing
:
border-box
;
}
/* .ticket_list .left{
width:40%;
padding-right: 15px;
border-right:1px dashed #AAAAAA;
box-sizing: border-box;
}
.ticket_list .right{
box-sizing: border-box;
width:59%;
padding:0 40px;
} */
.baner_top
{
width
:
100%
;
background
:
#fff
;
height
:
50px
;
box-shadow
:
0px
1px
0px
0px
rgba
(
238
,
238
,
238
,
1
);
}
</
style
>
src/components/Ticket/TicketHome.vue
View file @
2ef323c9
...
@@ -175,7 +175,7 @@ export default {
...
@@ -175,7 +175,7 @@ export default {
methods
:
{
methods
:
{
JXYH
(){
JXYH
(){
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketList'
,
this
.
Youhui
,
res
=>
{
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketList'
,
this
.
Youhui
,
res
=>
{
console
.
log
(
"Youhui"
,
res
)
//
console.log("Youhui",res)
this
.
yhList
=
res
.
data
.
data
.
pageData
;
this
.
yhList
=
res
.
data
.
data
.
pageData
;
},
null
)
},
null
)
},
},
...
@@ -188,6 +188,8 @@ export default {
...
@@ -188,6 +188,8 @@ export default {
console
.
log
(
"ChooseInfo"
,
val
)
console
.
log
(
"ChooseInfo"
,
val
)
if
(
val
){
if
(
val
){
this
.
Choose_Info
=
val
;
this
.
Choose_Info
=
val
;
this
.
Choose_Info
.
airTicketScatterNum
=
this
.
Choose_Info
.
cr
+
this
.
Choose_Info
.
lr
+
this
.
Choose_Info
.
child
;
}
}
},
},
loadSize
(){
loadSize
(){
...
...
src/components/Ticket/TicketList.vue
View file @
2ef323c9
...
@@ -16,10 +16,10 @@
...
@@ -16,10 +16,10 @@
<el-select
style=
"width:80%"
v-model=
"choose_info.departure_city"
filterable
placeholder=
"请选择"
>
<el-select
style=
"width:80%"
v-model=
"choose_info.departure_city"
filterable
placeholder=
"请选择"
>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
<el-option
v-for=
"item in c
awei
"
v-for=
"item in c
fd
"
:key=
"item.
id
"
:key=
"item.
ID
"
:label=
"item.
titl
e"
:label=
"item.
Nam
e"
:value=
"item.
id
"
>
:value=
"item.
ID
"
>
</el-option>
</el-option>
</el-select>
</el-select>
</div>
</div>
...
@@ -28,10 +28,10 @@
...
@@ -28,10 +28,10 @@
<el-select
style=
"width:80%"
v-model=
"choose_info.arrival_city"
filterable
placeholder=
"请选择"
>
<el-select
style=
"width:80%"
v-model=
"choose_info.arrival_city"
filterable
placeholder=
"请选择"
>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
<el-option
v-for=
"item in c
awei
"
v-for=
"item in c
fd
"
:key=
"item.
id
"
:key=
"item.
ID
"
:label=
"item.
titl
e"
:label=
"item.
Nam
e"
:value=
"item.
id
"
>
:value=
"item.
ID
"
>
</el-option>
</el-option>
</el-select>
</el-select>
</div>
</div>
...
@@ -70,10 +70,14 @@
...
@@ -70,10 +70,14 @@
<span>
婴儿 |
</span>
<span>
婴儿 |
</span>
<el-input-number
size=
"mini"
v-model=
"choose_info.ye"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
<el-input-number
size=
"mini"
v-model=
"choose_info.ye"
@
change=
"handleChange"
:min=
"0"
:max=
"10"
label=
"描述文字"
></el-input-number>
</div>
</div>
<el-button
@
click=
"Search"
size=
"small"
>
搜索
</el-button>
<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>
<div>
<div
class=
"city"
style=
"width:200px;display:inline-block;
margin-right:10px
"
>
<div
class=
"city"
style=
"width:200px;display:inline-block;"
>
<span>
舱位选择 |
</span>
<span>
舱位选择 |
</span>
<el-select
v-model=
"choose_info.freightSpace"
placeholder=
"请选择"
>
<el-select
v-model=
"choose_info.freightSpace"
placeholder=
"请选择"
>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
...
@@ -85,7 +89,7 @@
...
@@ -85,7 +89,7 @@
</el-option>
</el-option>
</el-select>
</el-select>
</div>
</div>
<div
class=
"city"
style=
"width:250px;display:inline-block"
>
<div
class=
"city"
style=
"width:250px;display:inline-block
;margin:0 10px
"
>
<span>
航空公司 |
</span>
<span>
航空公司 |
</span>
<el-select
style=
"width:180px"
filterable
v-model=
"choose_info.airLineID"
placeholder=
"请选择"
>
<el-select
style=
"width:180px"
filterable
v-model=
"choose_info.airLineID"
placeholder=
"请选择"
>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
<el-option
:value=
"zero"
label=
"不限"
></el-option>
...
@@ -93,6 +97,7 @@
...
@@ -93,6 +97,7 @@
:key=
"item.AirLineId"
></el-option>
:key=
"item.AirLineId"
></el-option>
</el-select>
</el-select>
</div>
</div>
<el-button
@
click=
"Search"
size=
"small"
>
搜索
</el-button>
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -126,7 +131,7 @@
...
@@ -126,7 +131,7 @@
</div>
</div>
<div
style=
"margin-top:22px"
>
<div
style=
"margin-top:22px"
>
<v-calendar
ref=
"child
ren
"
v-for=
"(item,index) in classArray"
:key=
"index"
:dateData=
"item"
:month=
"tomonth"
:day =
"item[0].dateStr"
@
ChildrenSelect=
"ListenChildren"
>
<v-calendar
ref=
"child"
v-for=
"(item,index) in classArray"
:key=
"index"
:dateData=
"item"
:month=
"tomonth"
:day =
"item[0].dateStr"
@
ChildrenSelect=
"ListenChildren"
>
</v-calendar>
</v-calendar>
</div>
</div>
...
@@ -256,8 +261,14 @@
...
@@ -256,8 +261,14 @@
<span
v-if=
"item.freightSpace==3"
>
经济舱
</span>
<span
v-if=
"item.freightSpace==3"
>
经济舱
</span>
</p>
</p>
</el-col>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"4"
>
<el-button
style=
"color:#FF6633;border:1px solid #FF6633;margin-top:10px"
size=
"small"
>
购买
</el-button>
<p
style=
"font-size:12px;margin:10px 0;"
>
剩余机位
</p>
<p>
{{
item
.
synum
}}
</p>
</el-col>
<el-col
:span=
"4"
>
<el-button
@
click=
"Purchase(item)"
style=
"color:#FF6633;border:1px solid #FF6633;margin-top:10px"
size=
"small"
>
购买
</el-button>
</el-col>
</el-col>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -284,12 +295,14 @@ export default {
...
@@ -284,12 +295,14 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
zero
:
0
||
"0"
,
zero
:
0
,
classArray
:[],
classArray
:[],
Choose_Info
:{},
Choose_Info
:{},
today
:
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
),
today
:
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
),
datalist
:[],
datalist
:[],
datainfo
:{},
datainfo
:{
qFlightDateStart
:
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
)
},
dateList
:[],
dateList
:[],
changeday
:
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
),
changeday
:
moment
().
format
(
"YYYY-MM-DD HH:mm:ss"
),
other
:
false
,
other
:
false
,
...
@@ -312,13 +325,17 @@ export default {
...
@@ -312,13 +325,17 @@ export default {
qFlightDateEnd
:
""
,
qFlightDateEnd
:
""
,
flight_number
:
""
,
flight_number
:
""
,
airLineID
:
0
,
airLineID
:
0
,
ticketType
:
0
,
ticketType
:
2
,
lineId
:
0
,
lineId
:
0
,
isPayOrder
:
0
,
isPayOrder
:
0
,
departure_city
:
0
,
departure_city
:
0
,
arrival_city
:
0
,
arrival_city
:
0
,
freightSpace
:
1
,
freightSpace
:
1
,
airTicketScatterNum
:
0
,
airTicketScatterNum
:
0
,
cr
:
0
,
child
:
0
,
ye
:
0
,
lr
:
0
,
},
},
startweek
:
""
,
startweek
:
""
,
...
@@ -336,38 +353,45 @@ export default {
...
@@ -336,38 +353,45 @@ export default {
input10
:
""
,
input10
:
""
,
value
:
""
,
value
:
""
,
airlineList
:[],
airlineList
:[],
cfd
:[],
}
}
},
},
mounted
()
{
mounted
()
{
},
},
created
(){
created
(){
// this.getList()
this
.
choose_info
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"ChooseInfo"
));
// this.Datelist();
console
.
log
(
"this.params_str"
,
this
.
params_str
)
if
(
this
.
params_str
){
this
.
choose_info
=
this
.
params_str
;
}
if
(
this
.
params_str
.
qFlightDateStart
){
this
.
datainfo
.
qFlightDateStart
=
this
.
params_str
.
qFlightDateStart
+
" 00:00:00"
}
else
{
this
.
datainfo
.
qFlightDateStart
=
moment
().
format
(
'YYYY-MM-DD HH:mm:ss'
);
}
this
.
getList
();
this
.
getList
();
this
.
Datelist
();
this
.
Datelist
();
this
.
OtherDate
();
this
.
OtherDate
();
this
.
initAirlines
();
this
.
initAirlines
();
this
.
CFD
();
this
.
CFD
();
},
},
methods
:
{
methods
:
{
Purchase
(
item
){
let
isLogin
=
this
.
$store
.
state
.
isLogin
;
if
(
isLogin
==
0
){
this
.
$message
.
error
(
"请先登录!"
)
this
.
$router
.
push
({
path
:
'/login'
})
}
else
{
this
.
$router
.
push
({
path
:
`/FillItinerary/
${
item
.
id
}
`
})
}
},
// 出发地
// 出发地
CFD
(){
CFD
(){
this
.
apipost
(
this
.
apipost
(
"dict_post_Destination_GetCityList"
,
{},
"dict_post_Destination_GetCityList"
,
{},
res
=>
{
res
=>
{
console
.
log
(
res
)
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
cfd
=
res
.
data
.
data
;
}
}
},
},
err
=>
{
err
=>
{
...
@@ -428,7 +452,7 @@ export default {
...
@@ -428,7 +452,7 @@ export default {
Search
(){
Search
(){
this
.
getList
();
this
.
getList
();
this
.
Datelist
();
this
.
Datelist
();
sessionStorage
.
setItem
(
"ChooseInfo"
,
JSON
.
stringify
(
this
.
choose_info
));
},
},
...
@@ -454,14 +478,16 @@ export default {
...
@@ -454,14 +478,16 @@ export default {
this
.
other_date
.
flithtMonthDate
=
this
.
tomonth
;
this
.
other_date
.
flithtMonthDate
=
this
.
tomonth
;
}
}
this
.
OtherDate
();
this
.
OtherDate
();
// this.$refs.children.getYearMonthDay();
console
.
log
(
this
.
$refs
.
child
)
this
.
$refs
.
child
[
0
].
getYearMonthDay
();
},
},
// 其他日期
// 其他日期
OtherDate
(){
OtherDate
(){
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketForMonthMinPrice'
,
this
.
other_date
,
res
=>
{
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketForMonthMinPrice'
,
this
.
other_date
,
res
=>
{
let
list
=
res
.
data
.
data
;
let
list
=
res
.
data
.
data
;
this
.
creatCalendar
(
list
)
this
.
creatCalendar
(
list
);
// this.$refs.children.getYearMonthDay();
},
null
)
},
null
)
},
},
AfterDate
(){
AfterDate
(){
...
@@ -477,7 +503,7 @@ export default {
...
@@ -477,7 +503,7 @@ export default {
},
},
Datelist
(){
Datelist
(){
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
.
dateList
=
res
.
data
.
data
;
this
.
dateList
=
res
.
data
.
data
;
},
null
)
},
null
)
...
@@ -485,8 +511,14 @@ export default {
...
@@ -485,8 +511,14 @@ export default {
getList
(){
getList
(){
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketList'
,
this
.
choose_info
,
res
=>
{
this
.
apiJavaPost
(
'/api/dmc/airticket/getB2BAirticketList'
,
this
.
choose_info
,
res
=>
{
//
console.log("机票列表",res)
console
.
log
(
"机票列表"
,
res
)
this
.
datalist
=
res
.
data
.
data
.
pageData
;
this
.
datalist
=
res
.
data
.
data
.
pageData
;
if
(
this
.
datalist
.
length
>
0
){
this
.
datalist
.
forEach
(
item
=>
{
item
.
synum
=
item
.
airTicketScatterNum
-
item
.
useScatterNum
;
})
}
},
null
)
},
null
)
},
},
creatCalendar
(
list
){
// 创建日历
creatCalendar
(
list
){
// 创建日历
...
...
src/components/global/head.vue
View file @
2ef323c9
...
@@ -48,7 +48,9 @@
...
@@ -48,7 +48,9 @@
<!-- <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"
><a
href=
"javascript:void(0);"
>
机票
</a></el-menu-item>
<!-- <el-menu-item index="3"><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>
<el-menu-item index="2"><a href="javascript:void(0);">酒店</a></el-menu-item>
<el-menu-item index="2"><a href="javascript:void(0);">酒店</a></el-menu-item>
<el-menu-item index="4"><a href="javascript:void(0);">餐厅</a></el-menu-item>
<el-menu-item index="4"><a href="javascript:void(0);">餐厅</a></el-menu-item>
...
...
src/components/mall/newcalendar.vue
View file @
2ef323c9
...
@@ -69,6 +69,7 @@
...
@@ -69,6 +69,7 @@
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
moment
from
'moment'
import
bus
from
'../../plugins/event-bus'
import
bus
from
'../../plugins/event-bus'
export
default
{
export
default
{
props
:{
props
:{
...
@@ -88,7 +89,7 @@ export default {
...
@@ -88,7 +89,7 @@ export default {
},
mounted
(){
},
mounted
(){
},
created
(){
},
created
(){
this
.
getYearMonthDay
();
//
this.getYearMonthDay();
},
methods
:{
},
methods
:{
selectDate
(
index
){
selectDate
(
index
){
if
(
this
.
$data
.
daysData
[
index
].
day
==
0
)
{
if
(
this
.
$data
.
daysData
[
index
].
day
==
0
)
{
...
@@ -110,9 +111,11 @@ export default {
...
@@ -110,9 +111,11 @@ export default {
bus
.
$emit
(
'chosen-tripdate'
,
this
.
currentDay
.
substring
(
0
,
7
)
+
'-'
+
clickDay
)
bus
.
$emit
(
'chosen-tripdate'
,
this
.
currentDay
.
substring
(
0
,
7
)
+
'-'
+
clickDay
)
},
},
getYearMonthDay
(){
getYearMonthDay
(){
// console.log("day",this.day);
let
day
=
moment
(
this
.
day
).
add
(
1
,
'month'
).
format
(
'YYYY-MM-DD'
);
let
currentYear
=
this
.
currentDay
.
substring
(
0
,
4
);
//当前年份
// let day=this.day;
let
currentMonth
=
this
.
currentDay
.
substring
(
5
,
7
);
//当前月份
let
currentYear
=
day
.
substring
(
0
,
4
);
//当前年份
let
currentMonth
=
day
.
substring
(
5
,
7
);
//当前月份
// console.log("currentYear",currentYear)
// console.log("currentMonth",currentMonth)
// console.log("currentMonth",currentMonth)
let
date
=
new
Date
();
let
date
=
new
Date
();
let
strDate
=
date
.
getDate
();
let
strDate
=
date
.
getDate
();
...
@@ -136,9 +139,8 @@ export default {
...
@@ -136,9 +139,8 @@ export default {
var
dateObject
=
new
Date
(
currentDay
);
var
dateObject
=
new
Date
(
currentDay
);
var
firstDay
=
dateObject
.
getDay
();
//得到每个月1号是周几
var
firstDay
=
dateObject
.
getDay
();
//得到每个月1号是周几
for
(
var
i
in
this
.
priceData
)
{
for
(
var
i
in
this
.
priceData
)
{
var
price
=
this
.
priceData
[
i
];
let
price
=
this
.
priceData
[
i
];
var
dayIndex
=
price
.
dateStr
.
substring
(
price
.
dateStr
.
length
-
2
,
price
.
dateStr
.
length
);
var
dayIndex
=
price
.
dateStr
.
substring
(
price
.
dateStr
.
length
-
2
,
price
.
dateStr
.
length
);
// console.log(dayIndex)
var
dayDict
=
daysData
[
Number
(
dayIndex
)
-
1
];
var
dayDict
=
daysData
[
Number
(
dayIndex
)
-
1
];
dayDict
.
price
=
price
.
price
;
dayDict
.
price
=
price
.
price
;
if
(
dayIndex
<
strDate
&&
strMonth
==
currentMonth
){
if
(
dayIndex
<
strDate
&&
strMonth
==
currentMonth
){
...
...
src/router.js
View file @
2ef323c9
...
@@ -138,6 +138,14 @@ export default new Router({
...
@@ -138,6 +138,14 @@ export default new Router({
meta
:
{
meta
:
{
title
:
'机票列表'
title
:
'机票列表'
}
}
},
{
path
:
'/FillItinerary/:id'
,
name
:
'FillItinerary'
,
component
:
resolve
=>
require
([
'@/components/Ticket/FillItinerary'
],
resolve
),
meta
:
{
title
:
'行程填写'
}
}
}
]
]
}
}
...
...
src/views/index.vue
View file @
2ef323c9
...
@@ -68,7 +68,7 @@ export default {
...
@@ -68,7 +68,7 @@ export default {
path
=
'/heel'
path
=
'/heel'
}
}
if
(
index
==
'3'
){
if
(
index
==
'3'
){
path
=
'/Ticket
List
'
path
=
'/Ticket
Home
'
}
}
if
(
path
!=
""
)
{
if
(
path
!=
""
)
{
this
.
$router
.
push
({
path
});
this
.
$router
.
push
({
path
});
...
...
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