Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
罗超
SuperMan
Commits
4ebdae75
Commit
4ebdae75
authored
Mar 19, 2020
by
黄媛媛
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
58ae9559
7560ccc6
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
775 additions
and
74 deletions
+775
-74
newTripCommon.vue
src/components/commonPage/newTripCommon.vue
+162
-0
confirmationOrderDownLoad.vue
src/components/confirmationOrderDownLoad.vue
+24
-15
newConfimationOrder.vue
src/components/newConfimationOrder.vue
+534
-56
lineManagement.vue
src/components/systemManagement/lineManagement.vue
+55
-3
No files found.
src/components/commonPage/newTripCommon.vue
0 → 100644
View file @
4ebdae75
<
style
>
.newTripOneImg
img
{
width
:
100%
;
}
.newTripHalfImg
{
display
:
inline-block
;
width
:
49%
;
height
:
300px
;
}
.newTripHalfImg
img
{
width
:
100%
;
height
:
100%
;
}
.threeTripLeft
{
float
:
left
;
width
:
60%
;
height
:
600px
;
}
.threeTripLeft
img
{
width
:
100%
;
height
:
100%
;
}
.threeTripRight
{
float
:
right
;
width
:
39%
;
}
.threeRightTop
{
width
:
100%
;
height
:
230px
;
}
.threeRightBtm
{
width
:
100%
;
height
:
359px
;
margin-top
:
10px
;
}
.threeRightTop
img
,
.threeRightBtm
img
{
width
:
100%
;
height
:
100%
;
}
.clearfix
:after
{
content
:
"\0020"
;
display
:
block
;
height
:
0
;
clear
:
both
;}
.fourTripTop
{
width
:
100%
;
height
:
450px
;
}
.fourTripImg
img
{
width
:
100%
;
height
:
100%
;
}
.fourBtmOne
{
width
:
32%
;
float
:
left
;
margin-top
:
11px
;
height
:
260px
;
margin-right
:
11px
;
}
.fourBtmOne
:nth-child
(
2
)
{
width
:
34%
;
}
.fourBtmOne
:last-child
{
margin-right
:
0
;
}
.fiveTripLeft
{
float
:
left
;
width
:
35%
;
height
:
530px
;
}
.fiveRight
{
float
:
right
;
width
:
64%
;
}
.fiveTripImg
img
{
width
:
100%
;
height
:
100%
;
}
.fiveRightItem
{
display
:
inline-block
;
width
:
49%
;
margin-right
:
4px
;
height
:
260px
;
margin-bottom
:
10px
;
}
.fiveRightItem
:nth-child
(
2
)
{
margin-right
:
0
;
}
</
style
>
<
template
>
<div
class=
"newTripImgContent"
>
<div
class=
"newTripOneImg"
v-if=
"day.length==1"
>
<img
:src=
"day[0].img"
alt=
""
/>
</div>
<div
class=
"newTripTwoImg"
v-if=
"day.length==2"
>
<div
class=
"newTripHalfImg"
>
<img
:src=
"day[0].img"
alt=
""
>
</div>
<div
class=
"newTripHalfImg"
style=
"margin-left:5px;"
>
<img
:src=
"day[1].img"
alt=
""
>
</div>
</div>
<div
class=
"threeTripImg clearfix"
v-if=
"day.length==3"
>
<div
class=
"threeTripLeft"
>
<img
:src=
"day[0].img"
alt=
""
/>
</div>
<div
class=
"threeTripRight"
>
<div
class=
"threeRightTop"
>
<img
:src=
"day[1].img"
alt=
""
/>
</div>
<div
class=
"threeRightBtm"
>
<img
:src=
"day[2].img"
alt=
""
/>
</div>
</div>
</div>
<div
class=
"fourTripImg"
v-if=
"day.length==4"
>
<div
class=
"fourTripTop"
>
<img
:src=
"day[0].img"
alt=
""
/>
</div>
<div
class=
"fourBtmContent clearfix"
>
<div
class=
"fourBtmOne"
>
<img
:src=
"day[1].img"
alt=
""
/>
</div>
<div
class=
"fourBtmOne"
>
<img
:src=
"day[2].img"
alt=
""
/>
</div>
<div
class=
"fourBtmOne"
>
<img
:src=
"day[3].img"
alt=
""
/>
</div>
</div>
</div>
<div
class=
"fiveTripImg clearfix"
v-if=
"day.length==5"
>
<div
class=
"fiveTripLeft"
>
<img
:src=
"day[0].img"
alt=
""
/>
</div>
<div
class=
"fiveRight"
>
<div
class=
"fiveRightItem"
>
<img
:src=
"day[1].img"
alt=
""
/>
</div>
<div
class=
"fiveRightItem"
>
<img
:src=
"day[2].img"
alt=
""
/>
</div>
<div
class=
"fiveRightItem"
>
<img
:src=
"day[3].img"
alt=
""
/>
</div>
<div
class=
"fiveRightItem"
>
<img
:src=
"day[4].img"
alt=
""
/>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
day
:{}
},
methods
:
{
},
mounted
()
{
console
.
log
(
this
.
day
,
'dayyyyy'
);
}
};
</
script
>
src/components/confirmationOrderDownLoad.vue
View file @
4ebdae75
...
...
@@ -51,7 +51,7 @@
@
click=
"gernalFeature(0)"
/>
<input
type=
"button"
style=
"width: auto !important;"
class=
"travelControlTripBtn"
value=
"下载电脑版WORD"
@
click=
"gernalFeature(1)"
/>
-->
<input
type=
"button"
value=
"新版行程"
class=
"travelControlTripBtn"
style=
"display:none;
"
@
click=
"goUrlView()"
/>
<input
v-if=
"CurrentUserInfo.RB_Branch_id==49"
type=
"button"
value=
"新版行程"
class=
"travelControlTripBtn
"
@
click=
"goUrlView()"
/>
<a
class=
"travelControlTripBtn"
v-if=
"priceList.length>0&& priceList[0].wordPath!=''"
style=
"display:inline-block;text-decoration:none;
width:135px;text-align:center;line-height:30px;font-size:13px;position:relative;top:2px;"
:href=
"domainManager().ViittoFileUrl+priceList[0].wordPath"
>
下载WORD行程
</a>
...
...
@@ -679,6 +679,7 @@
export
default
{
data
()
{
return
{
CurrentUserInfo
:{},
//当前用户信息
Typevalue
:
-
1
,
titleList
:[],
listMsg
:{
...
...
@@ -743,6 +744,7 @@
}
},
mounted
()
{
this
.
CurrentUserInfo
=
this
.
getLocalStorage
();;
this
.
orderId
=
this
.
$route
.
query
.
orderId
;
this
.
isopOperation
=
this
.
$route
.
query
.
isopOperation
;
this
.
getWxCode
();
...
...
@@ -1387,12 +1389,6 @@
for
(
let
i
=
0
;
i
<
imgs
.
length
;
i
++
)
{
document
.
getElementsByTagName
(
'img'
)[
i
].
removeAttribute
(
'crossOrigin'
)
}
// let imgList = document.getElementById("gernalCanvas").getElementsByTagName("img")
// for (let i = 0; i
<
imgList
.
length
;
i
++
)
{
// if (imgList[i].src.indexOf('http') !== -1 && imgList[i].src.indexOf('icon') === -1 && imgList[i].src.indexOf('_bg_') === -1 && imgList[i].src.indexOf('_top_') === -1 && imgList[i].src.indexOf('_title') === -1) {
// imgList[i].src = this.compressImg(imgList[i].src, "filt", imgList[i].clientWidth, '')
// }
// }
})
},
err
=>
{})
},
...
...
@@ -1659,14 +1655,27 @@
let
routeData
=
this
.
$router
.
resolve
({
name
:
'newConfimationOrder'
,
query
:
{
// configId: item.ID,
// cityId: cityId,
// tcid: item.TCID,
// orderId: 0,
// vshowL: false,
// vshowM: false,
// vshowTCNUM: true,
// isClick: 1 //不计算点击
configId
:
this
.
$route
.
query
.
configId
,
cityId
:
this
.
$route
.
query
.
cityId
,
tcid
:
this
.
$route
.
query
.
tcid
,
orderId
:
this
.
$route
.
query
.
orderId
,
isClick
:
1
,
//不计算点击
vshowA
:
this
.
vshowA
,
vshowB
:
this
.
vshowB
,
vshowC
:
this
.
vshowC
,
vshowD
:
this
.
vshowD
,
vshowE
:
this
.
vshowE
,
vshowF
:
this
.
vshowF
,
vshowG
:
this
.
vshowG
,
vshowH
:
this
.
vshowH
,
vshowI
:
this
.
vshowI
,
vshowJ
:
this
.
vshowJ
,
vshowK
:
this
.
vshowK
,
vshowL
:
this
.
vshowL
,
vshowM
:
this
.
vshowM
,
vshowLLR
:
this
.
vshowLLR
,
vshowTCNUM
:
this
.
vshowTCNUM
,
vshowO
:
this
.
vshowO
,
}
});
window
.
open
(
routeData
.
href
,
"_blank"
);
...
...
src/components/newConfimationOrder.vue
View file @
4ebdae75
<
style
>
.newTrip_Main
{
display
:
block
!important
;
width
:
11
23
px
;
width
:
11
66
px
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
background
:
#fff
;
...
...
@@ -11,67 +11,210 @@
height
:
auto
!important
;
font-family
:
'PingFang SC Regular'
;
}
.newTripCom_Img
{
.newTrip
_Main
.newTrip
Com_Img
{
width
:
100%
;
}
.newTripCom_Img
img
{
.newTrip
_Main
.newTrip
Com_Img
img
{
width
:
100%
;
}
.newCenterContent
{
.new
Trip_Main
.new
CenterContent
{
width
:
100%
;
height
:
auto
;
color
:
#111111
;
}
.newTripTitle
{
.newTrip
_Main
.newTrip
Title
{
font-size
:
30px
;
margin-bottom
:
10px
;
width
:
100%
;
text-align
:
center
;
font-weight
:
bold
;
margin-top
:
20px
;
}
.newTripCankao
{
.newTrip
_Main
.newTrip
Cankao
{
width
:
100%
;
font-size
:
20px
;
text-align
:
center
;
}
.newtripComTitle
{
.new
Trip_Main
.new
tripComTitle
{
font-weight
:
bold
;
}
.newTripStartInfo
{
.newTrip
_Main
.newTrip
StartInfo
{
font-size
:
20px
;
margin-top
:
20px
;
}
.newTripStartInfo
>
div
{
.newTrip
_Main
.newTrip
StartInfo
>
div
{
margin-bottom
:
20px
;
}
.newtripList
>
div
{
.new
Trip_Main
.new
tripList
>
div
{
margin-bottom
:
20px
;
}
.newTripDay
{
.newTrip
_Main
.newTrip
Day
{
font-size
:
20px
;
}
.newTripFly
{
.newTrip
_Main
.newTrip
Fly
{
font-size
:
25px
;
font-weight
:
bold
;
}
.newTripTable
{
.newTrip
_Main
.newTrip
Table
{
font-size
:
20px
;
}
.newTripTable
tr
td
{
.newTrip
_Main
.newTrip
Table
tr
td
{
vertical-align
:
top
;
}
.newTripTable
span
{
.newTrip
_Main
.newTrip
Table
span
{
font-weight
:
bold
;
}
.
tripLeftCan
,
.tripRightCan
{
.
newTrip_Main
.tripLeftCan
,
.newTrip_Main
.tripRightCan
{
display
:
inline-block
;
max-width
:
265px
;
}
.newTrip_Main
.newTripDateTime
{
font-size
:
15px
;
}
.newTrip_Main
.warmTipsTitle
{
display
:
inline-block
;
width
:
100px
;
vertical-align
:
top
;
margin-top
:
20px
;
}
.newTrip_Main
.warmTipsContent
{
display
:
inline-block
;
width
:
90%
;
}
.newTrip_Main
.newTripDay
div
{
margin-bottom
:
20px
;
}
.newTrip_Main
.newTripTutle
{
font-weight
:
bold
;
margin-bottom
:
10px
!important
;
}
.newTripImgList
{
width
:
100%
;
}
.newTripFeiyong
{
width
:
100%
;
height
:
100%
;
}
.newTripFeiyongtitle
{
text-align
:
center
;
font-size
:
18px
;
color
:
#333
;
padding-top
:
30px
;
padding-bottom
:
30px
;
}
.newTripLine
{
width
:
32px
;
height
:
2px
;
background
:
#e73e6d
;
margin
:
12px
auto
;
}
.newTripEnglish
{
font-family
:
arial
;
font-size
:
12px
;
color
:
#ccc
;
}
.newTripExpense
{
margin
:
0
auto
;
width
:
100%
;
}
.newTripleft
{
display
:
inline-block
;
text-align
:
left
;
font-size
:
18px
;
font-family
:
Arial
;
vertical-align
:
top
;
margin-bottom
:
15px
;
}
.newTripRight
{
width
:
100%
;
overflow
:
hidden
;
font-size
:
14px
;
line-height
:
25px
;
color
:
#000000
;
vertical-align
:
top
;
font-family
:
'微软雅黑'
;
}
.newTripFeiyongtitle
h2
{
font-size
:
18px
;
}
.newTripflightInfo
{
background-color
:
#f7f7f7
;
padding
:
20px
15px
15px
15px
;
width
:
100%
;
margin-bottom
:
10px
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
.newTripflightInfo
.flight_th
{
font-size
:
20px
;
font-weight
:
700
;
width
:
100%
;
color
:
#000000
;
}
._hangban_line
{
height
:
1px
;
background-color
:
#929292
;
margin-top
:
8px
;
margin-bottom
:
13px
;
}
.newTripflight_list
{
width
:
100%
;
}
.newTripflight_list
td
{
font-size
:
15px
;
height
:
34px
;
vertical-align
:
middle
;
background-color
:
#eaeaea
;
}
.newTrip_Main
.newTripcollection
{
margin-bottom
:
40px
;
width
:
100%
;
}
.newTrip_Main
.newTripCollectuion
{
width
:
400px
;
height
:
80px
;
border-bottom
:
1px
solid
#ddd
;
margin-left
:
60px
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
color
:
#666
;
}
.newTrip_Main
.newTripCollectuion
>
div
{
width
:
130px
;
float
:
left
;
padding-top
:
25px
;
}
.newTrip_Main
.newTripCollectuion
span
{
font-size
:
18px
;
color
:
#000
;
width
:
270px
;
display
:
inline-block
;
float
:
left
;
padding-top
:
25px
;
}
.newTrip_Main
.newTripCollectuion
img
{
vertical-align
:
sub
;
margin-right
:
12px
;
}
.newTripDownbtn
{
color
:
#fff
;
width
:
90px
;
height
:
30px
;
background
:
#E95252
;
border
:
1px
solid
#E95252
;
cursor
:
pointer
;
border-radius
:
15px
;
margin-left
:
10px
;
margin
:
20px
0
;
}
</
style
>
<
template
>
<div
class=
"newTrip_Main"
>
<div>
<input
type=
"button"
value=
"行程下载"
class=
"newTripDownbtn"
@
click=
"toPDF_V3(orderMsg.startDate + orderMsg.lineteamName+orderMsg.dayNum+'日游')"
/>
</div>
<div
class=
"newTripCom_Img"
>
<img
src=
"../assets/img/trip/japanTop.pn
g"
alt=
""
/>
<img
:src=
"lineTripFeatureTopB
g"
alt=
""
/>
</div>
<div
class=
"newCenterContent"
>
<div
class=
"newTripTitle"
>
...
...
@@ -84,59 +227,335 @@
<div><span
class=
"newtripComTitle"
>
返回日期:
</span>
{{
orderMsg
.
endDate
}}
</div>
<div><span
class=
"newtripComTitle"
>
行程天数:
</span>
{{
orderMsg
.
dayNum
}}
</div>
</div>
<div
class=
"newFeature"
>
<div
v-if=
'vshowL'
class=
"newTripFeiyongtitle"
>
<h2>
集合地点
&
联系人
</h2>
<div
class=
"newTripLine"
></div>
<div
class=
"newTripEnglish"
>
Collection place
&
Contacts
</div>
</div>
<div
class=
"newtripList"
>
<div
class=
"newTripFly"
>
DAY 01
</div>
<div
class=
"newTripFly"
>
西安
<i
class=
"iconfont icon-Shape1"
></i>
东京成田 参考航班 HU7927 08:15---14:25
</div>
<div
class=
"newTripDay"
>
05:15 从西安咸阳机场出发,乘坐海南航空航班飞往日本成田国际机场。抵达后导游接机。
</div>
<div
class=
"newTripDay"
>
14:35 入住酒店休息,养精蓄锐,开启美好旅程。(方便游玩,本日晚餐自理)
<table
v-if=
'vshowL'
class=
"newTripcollection"
>
<tr>
<td>
<div
class=
"newTripCollectuion clearfix"
>
<div><img
src=
"../assets/img/TravelControlTripIcon9.png"
/>
本团领队
</div>
<span>
{{
orderTripdiff
!=
null
?
orderTripdiff
.
leaderInfo
:
orderMsg
.
leaderName
+
(
orderMsg
.
leaderMobile
!=
null
?
"/"
+
orderMsg
.
leaderMobile
:
""
)
}}
</span>
</div>
</td>
<td>
<div
class=
"newTripCollectuion clearfix"
>
<div><img
src=
"../assets/img/TravelControlTripIcon10.png"
/>
集合时间
</div>
<span>
{{
orderTripdiff
!=
null
?
orderTripdiff
.
gatheringTime
:
orderMsg
.
gatheringTime
}}
</span>
</div>
</td>
</tr>
<tr>
<td>
<div
class=
"newTripCollectuion clearfix"
>
<div><img
src=
"../assets/img/TravelControlTripIcon11.png"
/>
机场服务
</div>
<span>
{{
orderTripdiff
!=
null
?
orderTripdiff
.
airportService
:
orderMsg
.
airportServicePerson
+
"/"
+
orderMsg
.
airportServicePhone
}}
</span>
</div>
</td>
<td>
<div
class=
"newTripCollectuion clearfix"
>
<div><img
src=
"../assets/img/TravelControlTripIcon12.png"
/>
集合标识
</div>
<span>
{{
orderTripdiff
!=
null
?
orderTripdiff
.
gatherIdent
:
orderMsg
.
bName
}}
</span>
</div>
</td>
</tr>
<tr>
<td>
<div
class=
"newTripCollectuion clearfix"
>
<div><img
src=
"../assets/img/TravelControlTripIcon13.png"
/>
紧急联系人
</div>
<template>
<span
v-if=
'vshowLLR'
>
<template
v-if=
"orderTripdiff!=null&&orderTripdiff.emergencyContact!=''"
>
{{
orderTripdiff
.
emergencyContact
}}
</
template
>
<
template
v-else-if=
"orderMsg.branchManager!=''&&orderMsg.mobilePhone!=''"
>
{{
orderMsg
.
branchManager
+
"/"
+
orderMsg
.
mobilePhone
}}
</
template
>
<
template
v-else-if=
"orderMsg.sellName!=''&&orderMsg.sellTel!=''"
>
{{
orderMsg
.
sellName
+
"/"
+
orderMsg
.
sellTel
}}
</
template
>
</span>
<span
v-else
></span>
</template>
</div>
</td>
<td>
<div
class=
"newTripCollectuion clearfix"
>
<div><img
src=
"../assets/img/TravelControlTripIcon14.png"
/>
集合地点
</div>
<span>
{{orderTripdiff!=null? orderTripdiff.gatheringAddress :
orderMsg.gatheringAddress}}
</span>
</div>
</td>
</tr>
</table>
<div
v-if=
'vshowB'
class=
"newTripFeiyongtitle"
>
<h2>
航班信息
</h2>
<div
class=
"newTripLine"
></div>
<div
class=
"newTripEnglish"
>
Flight situation
</div>
</div>
<div
v-if=
'vshowB'
class=
"newTripflightInfo"
>
<table
border=
"0"
align=
"center"
cellpadding=
"0"
cellspacing=
"0"
class=
"flight_th"
>
<tbody>
<tr>
<td
width=
"140"
>
出发时间
<span>
(当地)
</span></td>
<td
width=
"160"
>
抵达时间
<span>
(当地)
</span></td>
<td
width=
"160"
>
起飞机场
</td>
<td
width=
"18"
class=
"gap"
>
</td>
<td
width=
"160"
>
抵达机场
</td>
<td
width=
"18"
class=
"gap"
>
</td>
<td
width=
"140"
>
航空公司
</td>
<td
width=
"90"
>
航班编号
</td>
<td
width=
"18"
class=
"gap"
>
</td>
<td
width=
"100"
>
经停城市
</td>
</tr>
</tbody>
</table>
<div
class=
"_hangban_line"
></div>
<table
border=
"0"
align=
"center"
cellspacing=
"0"
cellpadding=
"0"
class=
"newTripflight_list"
>
<tbody
v-if=
"orderTripdiff&&orderTripdiff.travelOrderFlightList&& orderTripdiff.travelOrderFlightList.length>0"
>
<tr
v-for=
"(flight,ftIndex) in orderTripdiff.travelOrderFlightList"
:key=
"ftIndex"
>
<td
width=
"140"
><span
class=
"nth-day"
>
{{flight.startDate.substring(5)}}
</span>
<span
class=
"num"
>
{{flight.departureTime}}
</span></td>
<td
width=
"160"
><span
class=
"nth-day"
>
{{flight.arriveDate.substring(5)}}
</span>
<span
class=
"num"
>
{{flight.arrivalTime}}
</span></td>
<td
width=
"160"
>
{{flight.departureAirPortName}}
<span
class=
"citycode"
></span></td>
<td
width=
"18"
class=
"gap"
>
</td>
<td
width=
"160"
>
{{flight.arrivalAirPortName}}
<span
class=
"citycode"
></span></td>
<td
width=
"18"
class=
"gap"
>
</td>
<td
width=
"140"
>
{{flight.alName}}
</td>
<td
width=
"110"
>
{{flight.flightNumber}}({{(flight.flightState==1)?"OK":"暂定"}})
</td>
<td
width=
"18"
class=
"gap"
>
</td>
<td
width=
"100"
>
{{flight.stopoverAirPortName}}
</td>
</tr>
</tbody>
<tbody
v-else-if=
"priceList.length>0&&priceList[0].priceFlight&&priceList[0].priceFlight.length>0"
>
<tr
v-for=
"(flight,ftIndex) in priceList[0].priceFlight"
:key=
"ftIndex"
>
<td
width=
"140"
><span
class=
"nth-day"
>
{{flight.startDate.substring(5)}}
</span>
<span
class=
"num"
>
{{flight.departureTime}}
</span></td>
<td
width=
"160"
><span
class=
"nth-day"
>
{{flight.arriveDate.substring(5)}}
</span>
<span
class=
"num"
>
{{flight.arrivalTime}}
</span></td>
<td
width=
"160"
>
{{flight.departureAirPortName}}
<span
class=
"citycode"
></span></td>
<td
width=
"18"
class=
"gap"
>
</td>
<td
width=
"160"
>
{{flight.arrivalAirPortName}}
<span
class=
"citycode"
></span></td>
<td
width=
"18"
class=
"gap"
>
</td>
<td
width=
"140"
>
{{flight.alName}}
</td>
<td
width=
"110"
>
{{flight.flightNumber}}({{(flight.flightState==1)?"OK":"暂定"}})
</td>
<td
width=
"18"
class=
"gap"
>
</td>
<td
width=
"100"
>
{{flight.stopoverAirPortName}}
</td>
</tr>
</tbody>
<tbody
v-else
>
<tr>
<td>
航班信息未确认
</td>
</tr>
</tbody>
</table>
</div>
<div
class=
"newFeature"
v-html=
"feature.featureHtml"
></div>
<div
class=
"newtripList"
v-for=
"(item,index) in tripList"
:key=
"index"
>
<div
class=
"newTripFly"
>
DAY {{item.dayNum}}
</div>
<div
class=
"newTripDateTime"
>
{{item.dateTime}}
</div>
<!-- <div class="newTripFly">西安 <i class="iconfont icon-Shape1"></i> 东京成田 参考航班 HU7927 08:15---14:25</div> -->
<div
class=
"newTripFly"
>
{{item.title}}
</div>
<div
class=
"newTripDay"
>
特别提示:因天气原因富士山下雪封路,巴士可能只能上到一合目或二合目,如一合目封山替换为平和公园敬请谅解!
<div
class=
"newTripDay"
style=
"margin-bottom:0;"
v-for=
"(subItem,subIndex) in item.details"
:key=
"subIndex"
>
<div
class=
"newTripTutle"
>
{{subItem.title}}
</div>
<div>
{{subItem.content}}
</div>
</div>
<div
class=
"newTripDay"
>
富士山:被日本人民誉为“圣岳”,是日本民族的象征。整个山体呈圆锥状,一眼望去,恰似一把悬空倒挂
的扇子,日本诗人曾用“玉扇倒悬东海天”、“富士白雪映朝阳”等诗句赞美它。富士山由山脚到山顶分为
十合,由山脚下出发到半山腰称为五合目,利用巴士可上到2305 米的五合目,这里的景色一年四季随季节
变化而不同,日出日落,气候变化,都会令富士山瞬间呈现不同的身影,千姿百态!
<div
class=
"warmTipsTitle"
>
温馨提示:
</div><div
class=
"warmTipsContent"
v-html=
"item.tips[0].content"
></div>
</div>
<div>
<table
class=
"newTripTable"
>
<tr>
<td
style=
"width:50%"
><span>
酒店:
</span>
成田ANA 皇冠假日酒店或同级
</td>
<td
style=
"width:25%"
>
<td
style=
"width:45%"
>
<span>
酒店:
</span>
<
template
v-if=
'item.jiu2.length>0'
>
<span
v-for=
"(t,k) in item.jiu2"
style=
"cursor: pointer"
:key=
"k"
>
{{
k
==
item
.
jiu2
.
length
-
1
?
(
t
.
newTitle
!=
''
&&
t
.
newTitle
!=
t
.
name
?
t
.
newTitle
:
t
.
name
)
:
(
t
.
newTitle
!=
''
&&
t
.
newTitle
!=
t
.
name
?
t
.
newTitle
:
t
.
name
)
+
' / '
}}
</span>
</
template
>
{{getHotelSuffix(item)}}
</td>
<td
style=
"width:30%"
>
<div
class=
"tripLeftCan"
style=
"vertical-align:top;"
>
<span>
用餐:
</span>
</div>
<div
class=
"tripRightCan"
>
<!-- <div>无</div> -->
<div>
早
(温泉餐)
</div>
<div>
中
(温泉餐)
</div>
<div>
晚
(温泉餐)
</div>
<div>
早
({{item.can.breakfirst}})
</div>
<div>
中
({{item.can.lanuch}})
</div>
<div>
晚
({{item.can.dinner}})
</div>
</div>
</td>
<td
style=
"width:25%"
><span>
交通:
</span>
飞机、酒店/机场班车
</td>
</tr>
</table>
</div>
<div
class=
""
>
<div
class=
"newTripImgList"
>
<newTripCommon
:day=
"item.details"
></newTripCommon>
</div>
</div>
</div>
<div
class=
"newTripFeiyong"
>
<div
id=
"pdf_4"
>
<div
v-if=
'vshowE'
class=
"newTripFeiyongtitle"
>
<h2>
费用
</h2>
<div
class=
"newTripLine"
></div>
<div
class=
"newTripEnglish"
>
Expense
</div>
</div>
<div
v-if=
'vshowE'
class=
"newTripExpense"
>
<div
class=
"newTripleft"
>
费用包含
</div>
<div
class=
"newTripRight"
>
<div
v-html=
"feature.feeInclude"
></div>
</div>
<div
class=
"newTripleft"
style=
"margin: 15px 0 15px 0;"
>
费用不包含
</div>
<div
class=
"newTripRight"
>
<div
v-html=
"feature.feeNonInclude"
></div>
</div>
</div>
<div
class=
"newTripExpense"
v-if=
'dataList.selfpayingList && dataList.selfpayingList.length>0&&vshowE'
>
<div
class=
"newTripleft"
>
自理费用
</div>
<div
class=
"newTripRight"
>
<table
class=
"expense-table"
cellspacing=
0
cellpadding=
0
>
<thead>
<th>
城市
</th>
<th>
活动
</th>
<th>
参考价格
</th>
<th>
说明
</th>
</thead>
<tbody>
<tr
v-for=
"(item,i) in dataList.selfpayingList"
:key=
"i"
>
<td>
{{item.cityName}}
</td>
<td>
{{item.itemName}}
</td>
<td>
约{{item.estimatedCost}}
</td>
<td>
{{item.explain}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div
v-if=
'vshowF'
class=
"newTripFeiyongtitle"
>
<h2>
购物说明
</h2>
<div
class=
"newTripLine"
></div>
<div
class=
"newTripEnglish"
>
Expense
</div>
</div>
<div
v-if=
'vshowF'
class=
"newTripExpense"
>
<div
class=
"newTripleft"
>
<!-- 购物协议 -->
</div>
<div
class=
"newTripRight"
>
<div
v-html=
"feature.shopRemark"
></div>
</div>
</div>
<div
class=
"expense"
v-if=
"dataList.shopList && dataList.shopList.length>0&&vshowF"
>
<div
class=
"left"
>
购物安排
</div>
<div
class=
"right"
>
<table
class=
"expense-table autowidth"
cellspacing=
0
cellpadding=
0
>
<thead>
<th>
城市
</th>
<th>
购物店名称
</th>
<th>
预计停留时间
</th>
</thead>
<tbody>
<tr
v-for=
"(item,i) in dataList.shopList"
:key=
"i"
>
<td>
{{item.cityName}}
</td>
<td>
{{item.shopName}}
</td>
<td>
{{item.visitTime}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div
id=
"pdf_5"
>
<div
v-if=
'vshowG'
class=
"newTripFeiyongtitle"
>
<h2>
订单须知
</h2>
<div
class=
"newTripLine"
></div>
<div
class=
"newTripEnglish"
>
Tips
</div>
</div>
<div
class=
"newTripExpense"
v-if=
"feature.importantTip!=''&&vshowG"
>
<div
class=
"newTripleft"
>
重要提示
</div>
<div
class=
"newTripRight"
>
<div
v-html=
"feature.importantTip"
></div>
</div>
</div>
<div
v-if=
'vshowG'
class=
"newTripExpense"
>
<div
class=
"newTripleft"
>
温馨提示
</div>
<div
class=
"newTripRight"
>
<div
v-html=
"feature.warmTip"
></div>
</div>
</div>
</div>
<div
id=
"pdf_6"
>
<div
v-if=
'vshowH'
class=
"newTripFeiyongtitle"
>
<h2>
签证
</h2>
<div
class=
"newTripLine"
></div>
<div
class=
"newTripEnglish"
>
Visa
</div>
</div>
<div
v-if=
'vshowH'
class=
"newTripExpense"
>
<div
class=
"newTripleft"
>
签证须知
</div>
<div
class=
"newTripRight"
>
<div
v-html=
"feature.visaRemark"
></div>
</div>
</div>
<div
v-if=
'vshowI'
class=
"newTripFeiyongtitle"
>
<h2>
同行备注
</h2>
<div
class=
"newTripLine"
></div>
<div
class=
"newTripEnglish"
>
Remark
</div>
</div>
<div
v-if=
'vshowI'
class=
"newTripExpense"
>
<div
class=
"newTripleft"
></div>
<div
class=
"newTripRight"
>
<div
v-html=
"feature.b2BRemark"
></div>
</div>
</div>
<div
v-if=
'vshowM'
class=
"newTripFeiyongtitle"
>
<h2>
旅客信息
</h2>
<div
class=
"newTripLine"
></div>
<div
class=
"newTripEnglish"
>
Passenger information
</div>
</div>
<table
v-if=
'vshowM'
class=
"Passenger-table"
border=
"0"
cellspacing=
"2"
cellpadding=
"2"
>
<tr>
<td
width=
"16.6%"
class=
"thClass"
>
姓名
</td>
<td
width=
"16.6%"
class=
"thClass"
>
英文姓名
</td>
<td
width=
"16.6%"
class=
"thClass"
>
性别
</td>
<td
width=
"16.6%"
class=
"thClass"
>
护照号
</td>
<td
width=
"16.6%"
class=
"thClass"
>
有效期
</td>
<td
width=
"16.6%"
class=
"thClass"
>
联系电话
</td>
</tr>
<tr
v-for=
"(item,i) in orderMsg.guestList"
:key=
"i"
>
<td>
{{item.name}}
</td>
<td>
{{item.eName}}
</td>
<td>
{{item.sex}}
</td>
<td>
{{item.passportNo}}
</td>
<td>
{{item.passportExpiry}}
</td>
<td>
{{item.mobilePhone}}
</td>
</tr>
</table>
</div>
</div>
<
!--
<
div
class=
"newTripCom_Img"
>
<img
src=
"../assets/img/trip/japanBtm.pn
g"
alt=
""
/>
</div>
-->
<div
class=
"newTripCom_Img"
>
<img
:src=
"lineTripFeatureBottomB
g"
alt=
""
/>
</div>
</div>
</template>
<
script
>
import
oneday
from
'./commonPage/oneday
'
import
newTripCommon
from
'./commonPage/newTripCommon
'
export
default
{
data
()
{
return
{
...
...
@@ -177,19 +596,61 @@
orderTripdiff
:
{},
title
:
''
,
isDirect
:
1
,
//是否是直采 0:否,1:是
isClick
:
this
.
$route
.
query
.
isClick
===
undefined
?
0
:
1
//不算统计
isClick
:
this
.
$route
.
query
.
isClick
===
undefined
?
0
:
1
,
//不算统计
//顶部图片
lineTripFeatureTopBg
:
''
,
//底部图片
lineTripFeatureBottomBg
:
''
,
//航空公司下拉
airLineList
:
[],
vshowA
:
this
.
$route
.
query
.
vshowA
===
undefined
?
true
:
this
.
$route
.
query
.
vshowA
===
'true'
,
vshowB
:
this
.
$route
.
query
.
vshowB
===
undefined
?
true
:
this
.
$route
.
query
.
vshowB
===
'true'
,
vshowC
:
this
.
$route
.
query
.
vshowC
===
undefined
?
true
:
this
.
$route
.
query
.
vshowC
===
'true'
,
vshowD
:
this
.
$route
.
query
.
vshowD
===
undefined
?
true
:
this
.
$route
.
query
.
vshowD
===
'true'
,
vshowE
:
this
.
$route
.
query
.
vshowE
===
undefined
?
true
:
this
.
$route
.
query
.
vshowE
===
'true'
,
vshowF
:
this
.
$route
.
query
.
vshowF
===
undefined
?
true
:
this
.
$route
.
query
.
vshowF
===
'true'
,
vshowG
:
this
.
$route
.
query
.
vshowG
===
undefined
?
true
:
this
.
$route
.
query
.
vshowG
===
'true'
,
vshowH
:
this
.
$route
.
query
.
vshowH
===
undefined
?
true
:
this
.
$route
.
query
.
vshowH
===
'true'
,
vshowI
:
this
.
$route
.
query
.
vshowI
===
undefined
?
true
:
this
.
$route
.
query
.
vshowI
===
'true'
,
vshowJ
:
this
.
$route
.
query
.
vshowJ
===
undefined
?
true
:
this
.
$route
.
query
.
vshowJ
===
'true'
,
vshowK
:
this
.
$route
.
query
.
vshowK
===
undefined
?
true
:
this
.
$route
.
query
.
vshowK
===
'true'
,
vshowL
:
this
.
$route
.
query
.
vshowL
===
undefined
?
true
:
this
.
$route
.
query
.
vshowL
===
'true'
,
vshowM
:
this
.
$route
.
query
.
vshowM
===
undefined
?
true
:
this
.
$route
.
query
.
vshowM
===
'true'
,
vshowLLR
:
this
.
$route
.
query
.
vshowLLR
===
undefined
?
true
:
this
.
$route
.
query
.
vshowLLR
===
'true'
,
vshowTCNUM
:
this
.
$route
.
query
.
vshowTCNUM
===
undefined
?
false
:
this
.
$route
.
query
.
vshowTCNUM
===
'true'
,
vshowO
:
this
.
$route
.
query
.
vshowO
===
undefined
?
true
:
this
.
$route
.
query
.
vshowO
===
'true'
,
}
},
mounted
()
{
// this.orderId = this.$route.query.orderId;
// this.isopOperation = this.$route.query.isopOperation;
this
.
orderId
=
0
;
this
.
isopOperation
=
this
.
orderId
=
this
.
$route
.
query
.
orderId
;
this
.
isopOperation
=
this
.
$route
.
query
.
isopOperation
;
// this.getWxCode();
this
.
init
();
this
.
initAirlines
()
this
.
getDataList
();
},
methods
:
{
getHotelSuffix
(
item
)
{
let
suffix
=
""
;
if
(
item
.
jiu2
.
length
>
1
)
{
if
(
this
.
isDirect
===
1
)
{
suffix
=
"或同級"
}
}
else
{
if
(
item
.
jiu2
.
length
==
1
&&
item
.
jiu2
[
0
].
name
!=
'温馨的家'
&&
item
.
jiu2
[
0
].
name
!=
'机场附近酒店'
)
{
if
(
item
.
jiu2
[
0
].
status
==
1
)
{
suffix
=
"【保证入住】"
}
else
{
if
(
this
.
isDirect
===
1
)
{
suffix
=
"或同級"
}
}
}
}
return
suffix
;
},
// 获取标题
getDataList
(){
this
.
apiJavaPost
(
'/api/rssarticle/getArticleList'
,
this
.
listMsg
,
res
=>
{
...
...
@@ -223,6 +684,18 @@
this
.
ToWord_V2
(
this
.
orderMsg
.
startDate
+
this
.
orderMsg
.
lineteamName
+
this
.
orderMsg
.
dayNum
+
'日游'
,
isPc
)
}
},
//初始化航空公司下拉
initAirlines
:
function
()
{
this
.
apipost
(
'airline_post_GetList'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
airLineList
=
res
.
data
.
data
}
},
err
=>
{}
)
},
airLineSelectChange
:
function
(
airLineId
,
item
,
type
)
{
item
.
airLineID
=
airLineId
this
.
airLineList
.
forEach
(
x
=>
{
...
...
@@ -369,15 +842,17 @@
},
init
()
{
this
.
apipost
(
'b2b_get_GetB2BTravelInfoNoDes'
,
{
configId
:
5799
,
cityId
:
262
,
tcid
:
8953
,
orderId
:
0
,
configId
:
this
.
$route
.
query
.
configId
,
cityId
:
this
.
$route
.
query
.
cityId
,
tcid
:
this
.
$route
.
query
.
tcid
,
orderId
:
this
.
$route
.
query
.
orderId
,
isClick
:
1
//不算统计
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
(
res
.
data
.
data
);
// console.log(res,'resss');
console
.
log
(
res
,
'resssssss'
);
this
.
lineTripFeatureTopBg
=
data
.
lineTripFeatureTopBg
;
this
.
lineTripFeatureBottomBg
=
data
.
lineTripFeatureBottomBg
;
this
.
orderTripdiff
=
data
.
orderTripdiff
;
this
.
orderMsg
=
data
.
orderMsg
;
if
(
this
.
orderTripdiff
&&
this
.
orderTripdiff
.
flightInfoJson
)
{
...
...
@@ -442,7 +917,7 @@
}
this
.
editForm
.
travelOrderFlightList
.
forEach
(
fItem
=>
{
fItem
.
airportNameList
=
[];
this
.
airLineSelectChange
(
fItem
.
airLineID
,
fItem
);
this
.
airLineSelectChange
(
fItem
.
airLineID
,
fItem
);
});
}
...
...
@@ -695,10 +1170,13 @@
this
.
$set
(
this
.
tripList
,
j
,
x
)
x
.
dateTime
=
this
.
setDate
(
j
);
//
console.log(this.tripList,'triplistttt');
console
.
log
(
this
.
tripList
,
'triplistttt'
);
})
},
},
components
:
{
newTripCommon
},
}
</
script
>
src/components/systemManagement/lineManagement.vue
View file @
4ebdae75
...
...
@@ -609,7 +609,38 @@
</div>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"行程顶部图片"
>
<div
class=
"TFimgList"
>
<img
v-if=
"!addMsg.TripFeatureTopBg"
src=
"../../assets/img/bg_c3@3x.png"
>
<img
v-else
:src=
'addMsg.TripFeatureTopBg'
>
<div
class=
"TFIMGzhe"
>
<div
class=
"TFreupload"
>
<el-upload
:http-request=
"uploadTripFeatureTopBg"
:multiple=
"false"
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action=
""
>
<i
class=
"iconfont icon-Edit"
></i>
</el-upload>
</div>
</div>
</div>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"行程底部图片"
>
<div
class=
"TFimgList"
>
<img
v-if=
"!addMsg.TripFeatureBottomBg"
src=
"../../assets/img/bg_c3@3x.png"
>
<img
v-else
:src=
'addMsg.TripFeatureBottomBg'
>
<div
class=
"TFIMGzhe"
>
<div
class=
"TFreupload"
>
<el-upload
:http-request=
"uploadTripFeatureBottomBg"
:multiple=
"false"
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action=
""
>
<i
class=
"iconfont icon-Edit"
></i>
</el-upload>
</div>
</div>
</div>
</el-form-item>
</el-col>
<div
class=
"LM_Btcontent"
>
<input
type=
"button"
class=
"normalBtn"
@
click=
"submitForm('addMsg')"
:value=
"$t('pub.saveBtn')"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"isShowDIv=false"
:value=
"$t('pub.cancelBtn')"
/>
...
...
@@ -717,6 +748,8 @@
BroadsideImage
:
''
,
AppLineIcon
:
""
,
RebateMoney
:
0
,
//人头返佣
TripFeatureTopBg
:
""
,
//行程特色顶部图片
TripFeatureBottomBg
:
""
,
//行程特色顶部图片
},
departCompany
:
""
,
departDepartment
:
""
,
...
...
@@ -780,9 +813,27 @@
this
.
fileList
=
fileList
.
slice
(
-
1
);
},
handleChange2
(
file
,
fileList
)
{
this
.
fileList2
=
fileList
.
slice
(
-
1
);
},
//行程特色顶部图片
uploadTripFeatureTopBg
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
path
=
"/Upload/DMC/Icon/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
let
url
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
this
.
addMsg
.
TripFeatureTopBg
=
url
;
});
},
uploadTripFeatureBottomBg
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
path
=
"/Upload/DMC/Icon/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
let
url
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
this
.
addMsg
.
TripFeatureBottomBg
=
url
;
});
},
uploadTest3
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
...
...
@@ -891,7 +942,6 @@
},
updateData
(
index
)
{
//修改线路信息
this
.
lineCountryArr
=
[];
var
getInfo
=
this
.
DataList
[
index
];
this
.
addMsg
.
lineName
=
getInfo
.
lineName
;
...
...
@@ -913,6 +963,8 @@
this
.
addMsg
.
BroadsideImage
=
getInfo
.
broadsideImage
;
this
.
addMsg
.
AppLineIcon
=
getInfo
.
appLineIcon
;
this
.
addMsg
.
RebateMoney
=
getInfo
.
rebateMoney
;
this
.
addMsg
.
TripFeatureTopBg
=
getInfo
.
tripFeatureTopBg
;
this
.
addMsg
.
TripFeatureBottomBg
=
getInfo
.
tripFeatureBottomBg
;
},
deletelist
(
lineID
)
{
var
that
=
this
;
...
...
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