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
4f9cd9bf
Commit
4f9cd9bf
authored
Dec 27, 2019
by
zhengke
Browse files
Options
Browse Files
Download
Plain Diff
S
parents
59462332
3979b429
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
726 additions
and
612 deletions
+726
-612
detailTwo.vue
src/components/mall/detailTwo.vue
+726
-612
No files found.
src/components/mall/detailTwo.vue
View file @
4f9cd9bf
<
style
>
@import
url('../../assets/mall/detail.css')
;
._labelClass
{
width
:
120px
;
._labelClass
{
width
:
120px
;
background-color
:
white
;
text-align
:
center
;
}
._travelLngLatInfo_box
{
._travelLngLatInfo_box
{
background-color
:
#f3f3f3
;
padding
:
20px
;
margin-top
:
15px
;
}
._travelLngLatInfo_label
{
._travelLngLatInfo_label
{
display
:
inline-block
;
width
:
20px
;
height
:
20px
;
...
...
@@ -20,10 +23,12 @@
text-align
:
center
;
line-height
:
20px
;
}
.zanding_flight
{
.zanding_flight
{
position
:
relative
;
}
.zanding_flight
span
{
.zanding_flight
span
{
position
:
absolute
;
right
:
-36px
;
top
:
10px
;
...
...
@@ -34,43 +39,72 @@
cursor
:
pointer
;
border-radius
:
50%
;
}
.template_box_two
>
div
>
div
{
zoom
:
0.89
;
.template_box_two
>
div
>
div
{
zoom
:
0.89
;
}
.TripDownLoadCommon
{
height
:
350px
;
text-align
:
center
}
.TripDownLoadCommon
>
label
{
cursor
:
pointer
;
vertical-align
:
middle
;
}
.TripDownLoadCommon
>
label
input
{
vertical-align
:
middle
;
}
.TripDownLoadCommon
.TripBtn
{
color
:
#fff
;
width
:
90px
;
height
:
30px
;
background
:
#E95252
;
border
:
1px
solid
#E95252
;
cursor
:
pointer
;
border-radius
:
15px
;
}
.TripDownLoadCommon
input
[
type
=
"checkbox"
]+
label
::before
{
content
:
"\A0"
;
display
:
inline-block
;
width
:
15px
;
height
:
15px
;
margin-right
:
5px
;
border-radius
:
4px
;
background-color
:
white
;
text-indent
:
.15em
;
line-height
:
15px
;
color
:
white
;
border
:
1px
solid
#e95252
;
}
.TripDownLoadCommon
input
[
type
=
"checkbox"
]
:checked
+
label
::before
{
content
:
"\2713"
;
background-color
:
#e95252
;
}
.TripDownLoadCommon
input
[
type
=
"checkbox"
]
{
position
:
absolute
;
clip
:
rect
(
0
,
0
,
0
,
0
);
}
.TripDownLoadCommon
input
[
type
=
"checkbox"
]
:focus
+
label
::before
{
box-shadow
:
none
;
}
.TripDownLoadCommon
input
[
type
=
"checkbox"
]
:disabled
+
label
::before
{
background-color
:
gray
;
box-shadow
:
none
;
color
:
#555
;
}
.w450
{
width
:
450px
;
}
.TripDownLoadCommon
{
height
:
350px
;
text-align
:
center
}
.TripDownLoadCommon
>
label
{
cursor
:
pointer
;
vertical-align
:
middle
;}
.TripDownLoadCommon
>
label
input
{
vertical-align
:
middle
;}
.TripDownLoadCommon
.TripBtn
{
color
:
#fff
;
width
:
90px
;
height
:
30px
;
background
:
#E95252
;
border
:
1px
solid
#E95252
;
cursor
:
pointer
;
border-radius
:
15px
;}
.TripDownLoadCommon
input
[
type
=
"checkbox"
]
+
label
::before
{
content
:
"\A0"
;
display
:
inline-block
;
width
:
15px
;
height
:
15px
;
margin-right
:
5px
;
border-radius
:
4px
;
background-color
:
white
;
text-indent
:
.15em
;
line-height
:
15px
;
color
:
white
;
border
:
1px
solid
#e95252
;
}
.TripDownLoadCommon
input
[
type
=
"checkbox"
]
:checked
+
label
::before
{
content
:
"\2713"
;
background-color
:
#e95252
;
}
.TripDownLoadCommon
input
[
type
=
"checkbox"
]
{
position
:
absolute
;
clip
:
rect
(
0
,
0
,
0
,
0
);
}
.TripDownLoadCommon
input
[
type
=
"checkbox"
]
:focus
+
label
::before
{
box-shadow
:
none
;
}
.TripDownLoadCommon
input
[
type
=
"checkbox"
]
:disabled
+
label
::before
{
background-color
:
gray
;
box-shadow
:
none
;
color
:
#555
;
}
.w450
{
width
:
450px
;}
</
style
>
<
template
>
...
...
@@ -80,8 +114,12 @@
<el-col
:span=
'12'
>
<el-breadcrumb
separator-class=
"el-icon-arrow-right"
>
<el-breadcrumb-item
:to=
"
{ path: '/heel',query:{} }">跟团游
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: '/search',query:{'keywords':'','lineId':dataList.lineId,'lineName':dataList.lineName} }">
{{
dataList
.
lineName
}}
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: '/search',query:{'keywords':'','lineId':dataList.lineId,'lineName':dataList.lineName,'lineteamId':dataList.lineteamId,'lineteamName':dataList.ltName} }">
{{
dataList
.
ltName
}}
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: '/search',query:{'keywords':'','lineId':dataList.lineId,'lineName':dataList.lineName} }">
{{
dataList
.
lineName
}}
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: '/search',query:{'keywords':'','lineId':dataList.lineId,'lineName':dataList.lineName,'lineteamId':dataList.lineteamId,'lineteamName':dataList.ltName} }">
{{
dataList
.
ltName
}}
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
dataList
.
title
}}
</el-breadcrumb-item>
</el-breadcrumb>
</el-col>
...
...
@@ -90,7 +128,8 @@
<el-col
:span=
'12'
>
<el-breadcrumb
separator-class=
"el-icon-arrow-right"
>
<el-breadcrumb-item
:to=
"
{ path: '/IndependentTravel',query:{} }">自由行
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: '/IndependentList',query:{'lineteamId':dataList.lineteamId} }">
{{
dataList
.
ltName
}}
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: '/IndependentList',query:{'lineteamId':dataList.lineteamId} }">
{{
dataList
.
ltName
}}
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
dataList
.
title
}}
</el-breadcrumb-item>
</el-breadcrumb>
</el-col>
...
...
@@ -104,7 +143,7 @@
<span
class=
"code"
>
团队编号:
{{
dataList
.
id
}}
</span>
</div>
<div
class=
"team-title"
>
{{
dataList
.
title
}}
{{
dataList
.
title
}}
</div>
<div
class=
"price-box"
>
<div
class=
"huodong"
v-if=
"toDayObj && toDayObj.discountPrice>0"
>
...
...
@@ -113,11 +152,12 @@
</div>
<div>
<span
class=
"red"
>
¥
</span>
<span
class=
"red big"
>
{{
toDayObj
?(
isLogin
!==
1
?
toDayObj
.
b2CPrice
:
toDayObj
.
b2BPrice
):
0
}}
</span>
<span
class=
"red big"
>
{{
toDayObj
?(
isLogin
!==
1
?
toDayObj
.
b2CPrice
:
toDayObj
.
b2BPrice
):
0
}}
</span>
<span>
/人起
</span>
<span
class=
"tips pointer"
>
起价说明
</span>
</span>
<!--
<span
class=
"blue split medium pointer"
>
4.9
</span>
<span
class=
"blue pointer"
>
0条点评
</span>
-->
<span
style=
'margin-left:5px'
>
{{
dataList
.
offerNumber
+
99
}}
人出游
</span>
...
...
@@ -132,21 +172,32 @@
<el-row
:gutter=
"7"
>
<template
v-if=
"VideoStr"
>
<el-col
:span=
'12'
>
<video
:src=
"VideoStr"
width=
"100%"
height=
"259"
class=
"avatar"
controls=
"controls"
>
您的浏览器不支持视频播放
</video>
<video
:src=
"VideoStr"
width=
"100%"
height=
"259"
class=
"avatar"
controls=
"controls"
>
您的浏览器不支持视频播放
</video>
</el-col>
<el-col
:span=
'12'
>
<el-col
:span=
'12'
>
<img
@
click=
"BigImgShow(0)"
v-if=
"imgCover&&imgCover[0]"
:src=
"editSrc(imgCover[0].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%"
/>
<img
@
click=
"BigImgShow(1)"
v-if=
"imgCover&&imgCover[1]"
:src=
"editSrc(imgCover[1].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%;margin-top:3px;"
/>
<img
@
click=
"BigImgShow(0)"
v-if=
"imgCover&&imgCover[0]"
:src=
"editSrc(imgCover[0].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%"
/>
<img
@
click=
"BigImgShow(1)"
v-if=
"imgCover&&imgCover[1]"
:src=
"editSrc(imgCover[1].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%;margin-top:3px;"
/>
</el-col>
<el-col
:span=
'12'
>
<img
@
click=
"BigImgShow(2)"
v-if=
"imgCover&&imgCover[2]"
:src=
"imgCover[2].Url==''?'../../assets/img/bg_c2@3x.png':editSrc(imgCover[2].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%"
/>
<img
@
click=
"BigImgShow(2)"
v-if=
"imgCover&&imgCover[2]"
:src=
"imgCover[2].Url==''?'../../assets/img/bg_c2@3x.png':editSrc(imgCover[2].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%"
/>
<div
class=
"last"
>
<img
@
click=
"BigImgShow(3)"
v-if=
"imgCover&&imgCover[3]"
:src=
"imgCover[3].Url==''?'../../assets/img/bg_c2@3x.png':editSrc(imgCover[3].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%;margin-top:3px;"
/>
<img
@
click=
"BigImgShow(3)"
v-if=
"imgCover&&imgCover[3]"
:src=
"imgCover[3].Url==''?'../../assets/img/bg_c2@3x.png':editSrc(imgCover[3].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%;margin-top:3px;"
/>
<div
class=
"tip"
@
click=
"BigImgShow(4)"
>
查看全部图片
</div>
...
...
@@ -156,22 +207,33 @@
</
template
>
<
template
v-else
>
<el-col
:span=
'12'
>
<img
@
click=
"BigImgShow(0)"
v-if=
"imgCover&&imgCover[0]"
:src=
"editSrc(imgCover[0].Url)"
style=
"height: 259px;width:100%"
/>
<img
@
click=
"BigImgShow(0)"
v-if=
"imgCover&&imgCover[0]"
:src=
"editSrc(imgCover[0].Url)"
style=
"height: 259px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 259px;width:100%"
/>
</el-col>
<el-col
:span=
'12'
>
<el-col
:span=
'12'
>
<img
@
click=
"BigImgShow(1)"
v-if=
"imgCover&&imgCover[1]"
:src=
"editSrc(imgCover[1].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%"
/>
<img
@
click=
"BigImgShow(2)"
v-if=
"imgCover&&imgCover[2]"
:src=
"editSrc(imgCover[2].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%;margin-top:3px;"
/>
<img
@
click=
"BigImgShow(1)"
v-if=
"imgCover&&imgCover[1]"
:src=
"editSrc(imgCover[1].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%"
/>
<img
@
click=
"BigImgShow(2)"
v-if=
"imgCover&&imgCover[2]"
:src=
"editSrc(imgCover[2].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%;margin-top:3px;"
/>
</el-col>
<el-col
:span=
'12'
>
<img
@
click=
"BigImgShow(3)"
v-if=
"imgCover&&imgCover[3]"
:src=
"imgCover[3].Url==''?'../../assets/img/bg_c2@3x.png':editSrc(imgCover[3].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%"
/>
<img
@
click=
"BigImgShow(3)"
v-if=
"imgCover&&imgCover[3]"
:src=
"imgCover[3].Url==''?'../../assets/img/bg_c2@3x.png':editSrc(imgCover[3].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%"
/>
<div
class=
"last"
>
<img
@
click=
"BigImgShow(4)"
v-if=
"imgCover&&imgCover[4]"
:src=
"imgCover[4].Url==''?'../../assets/img/bg_c2@3x.png':editSrc(imgCover[4].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%;margin-top:3px;"
/>
<img
@
click=
"BigImgShow(4)"
v-if=
"imgCover&&imgCover[4]"
:src=
"imgCover[4].Url==''?'../../assets/img/bg_c2@3x.png':editSrc(imgCover[4].Url)"
style=
"height: 126px;width:100%"
/>
<img
v-else
src=
"../../assets/img/bg_c2@3x.png"
style=
"height: 126px;width:100%;margin-top:3px;"
/>
<div
class=
"tip"
@
click=
"BigImgShow(4)"
>
查看全部图片
</div>
...
...
@@ -193,35 +255,38 @@
<el-col
:span=
'10'
class=
"right-team-box-col"
>
<div
class=
"right-team-box"
>
<div
class=
"title"
>
<span
class=
"item"
v-for=
"(i,index) in calendarTit"
@
click=
"selectMounth(index)"
:class=
"index===indexActive?'avtice':''"
>
<span>
{{i.dateStrS}}
</span><br/>
<span
class=
"item"
v-for=
"(i,index) in calendarTit"
@
click=
"selectMounth(index)"
:class=
"index===indexActive?'avtice':''"
:key=
"index"
>
<span>
{{i.dateStrS}}
</span><br
/>
<span
class=
"price"
>
¥{{isLogin!==1?i.price:i.b2BPrice}}起
</span>
</span>
</div>
<calendar
v-for=
"(item,index) in classArray"
:key=
"index"
:dateData=
"item"
:day =
"item[0].dateStr"
@
ChildrenSelect=
"ListenChildren"
v-if=
"index == selectMonth"
/>
<calendar
v-for=
"(item,index) in classArray"
:key=
"index"
:dateData=
"item"
:day=
"item[0].dateStr"
@
ChildrenSelect=
"ListenChildren"
v-if=
"index == selectMonth"
/>
</div>
</el-col>
</el-col>
</el-row>
<trade
:free=
"free"
:teamType=
"teamType"
:priceList=
'dataList.priceList'
:trip=
'dataList'
:numPeople=
"null"
v-if=
"dataList.priceList && dataList.priceList.length>0"
></trade>
<trade
:free=
"free"
:teamType=
"teamType"
:priceList=
'dataList.priceList'
:trip=
'dataList'
:numPeople=
"null"
v-if=
"dataList.priceList && dataList.priceList.length>0"
></trade>
<div
ref=
"nav"
>
<el-row>
<el-col
:span=
"20"
:offset=
"2"
>
<el-col
:span=
"18"
>
<ul
class=
"top-nav"
>
<ul
class=
"top-nav"
>
<li
:class=
"crtnav=='flight'?'active':''"
@
click=
"goScroll('flight')"
>
<i
class=
"iconfont icon-Pointer"
></i>
<span>
航班信息
</span>
</li>
<li
:class=
"crtnav=='tese'?'active':''"
@
click=
"goScroll('tese')"
>
<li
:class=
"crtnav=='tese'?'active':''"
@
click=
"goScroll('tese')"
>
<i
class=
"iconfont icon-Pointer"
></i>
<span>
行程特色
</span>
</li>
<li
:class=
"crtnav=='teamacitvy'?'active':''"
@
click=
"goScroll('teamacitvy')"
>
<li
:class=
"crtnav=='teamacitvy'?'active':''"
@
click=
"goScroll('teamacitvy')"
>
<i
class=
"iconfont icon-List"
></i>
{{dayTrip}}日行程
</li>
<li
:class=
"crtnav=='feiyong'?'active':''"
@
click=
"goScroll('feiyong')"
>
<li
:class=
"crtnav=='feiyong'?'active':''"
@
click=
"goScroll('feiyong')"
>
<i
class=
"iconfont icon-zifeishuoming"
></i>
费用
</li>
...
...
@@ -241,7 +306,8 @@
<i
class=
"iconfont icon-hangchenganpai"
></i>
同行备注
</li>
<li
:class=
"crtnav=='PDFDownL'?'active':''"
@
click=
"crtnav=='PDFDownL',PDFDownLoad('tonghang')"
>
<li
:class=
"crtnav=='PDFDownL'?'active':''"
@
click=
"crtnav=='PDFDownL',PDFDownLoad('tonghang')"
>
<i
class=
"iconfont icon-hangchenganpai"
></i>
PDF下载
</li>
...
...
@@ -276,7 +342,7 @@
<span>
Reference flight
</span>
</div>
<div
class=
"hangban-info"
>
<table
border=
"0"
align=
"center"
cellpadding=
"0"
cellspacing=
"0"
class=
"flight_th"
>
<table
border=
"0"
align=
"center"
cellpadding=
"0"
cellspacing=
"0"
class=
"flight_th"
>
<tbody>
<tr>
<td
width=
"170"
>
出发时间
<span>
(当地)
</span></td>
...
...
@@ -287,27 +353,32 @@
<td
width=
"18"
class=
"gap"
>
</td>
<td
width=
"80"
>
航空公司
</td>
<td
width=
"90"
>
航班编号
</td>
</tr>
</tr>
</tbody>
</table>
<div
class=
"_hangban_line"
></div>
<table
border=
"0"
align=
"center"
cellspacing=
"0"
cellpadding=
"0"
class=
"flight_list"
>
<tbody
v-if=
"showFlight && FlightList.length>0"
>
<tr
v-for=
"(flight,ftIndex) in sonData.currentPriceInfo.priceFlight"
:key=
"ftIndex"
>
<td
width=
"170"
><span
class=
"nth-day"
>
{{flight.startDate.substring(5)}}
</span>
<span
class=
"num"
>
{{flight.departureTime}}
</span></td>
<td
width=
"170"
><span
class=
"nth-day"
>
{{flight.arriveDate.substring(5)}}
</span>
<span
class=
"num"
>
{{flight.arrivalTime}}
</span></td>
<td
width=
"170"
><span
class=
"nth-day"
>
{{flight.startDate.substring(5)}}
</span>
<span
class=
"num"
>
{{flight.departureTime}}
</span></td>
<td
width=
"170"
><span
class=
"nth-day"
>
{{flight.arriveDate.substring(5)}}
</span>
<span
class=
"num"
>
{{flight.arrivalTime}}
</span></td>
<td
width=
"216"
>
{{flight.departureAirPortName}}
<span
class=
"citycode"
></span></td>
<td
width=
"18"
class=
"gap"
>
</td>
<td>
{{flight.arrivalAirPortName}}
<span
class=
"citycode"
></span></td>
<td
width=
"18"
class=
"gap"
>
</td>
<td
width=
"80"
>
{{flight.alName}}
</td>
<td
width=
"90"
class=
"zanding_flight"
>
{{flight.flightNumber}}
<span
v-if=
"flight.flightState===2"
title=
"暂定"
>
!
</span></td>
<td
width=
"80"
>
{{flight.alName}}
</td>
<td
width=
"90"
class=
"zanding_flight"
>
{{flight.flightNumber}}
<span
v-if=
"flight.flightState===2"
title=
"暂定"
>
!
</span></td>
</tr>
</tbody>
<tbody
v-else
>
<tr>
<td>
航班信息未确认
</td>
</tr>
</tr>
</tbody>
</table>
</div>
...
...
@@ -319,25 +390,31 @@
<span>
Trip characteristics
</span>
</div>
<div
class=
"nin-box"
v-if=
"showType==2"
>
<table>
<table>
<tbody>
<tr>
<td
@
click=
"showImg(feature.featureImgList),initialIndex=index"
v-for=
"(i,index) in feature.featureImgList"
:key=
"index"
v-if=
"index<3"
:style=
"{background:'url(' + i.url + ') no-repeat bottom left/100% auto'}"
>
</td>
<td
@
click=
"showImg(feature.featureImgList),initialIndex=index"
v-for=
"(i,index) in feature.featureImgList"
:key=
"index"
v-if=
"index<3"
:style=
"{background:'url(' + i.url + ') no-repeat bottom left/100% auto'}"
>
</td>
</tr>
<tr>
<td
@
click=
"showImg(feature.featureImgList),initialIndex=index"
v-for=
"(i,index) in feature.featureImgList"
:key=
"index"
v-if=
"index>2&&index<6"
:style=
"{background:'url(' + i.url + ') no-repeat bottom left/100% auto'}"
>
</td>
<td
@
click=
"showImg(feature.featureImgList),initialIndex=index"
v-for=
"(i,index) in feature.featureImgList"
:key=
"index"
v-if=
"index>2&&index<6"
:style=
"{background:'url(' + i.url + ') no-repeat bottom left/100% auto'}"
>
</td>
</tr>
<tr>
<td
@
click=
"showImg(feature.featureImgList),initialIndex=index"
v-for=
"(i,index) in feature.featureImgList"
:key=
"index"
v-if=
"index>5&&index<=8"
:style=
"{background:'url(' + i.url + ') no-repeat bottom left/100% auto'}"
>
</td>
<td
@
click=
"showImg(feature.featureImgList),initialIndex=index"
v-for=
"(i,index) in feature.featureImgList"
:key=
"index"
v-if=
"index>5&&index<=8"
:style=
"{background:'url(' + i.url + ') no-repeat bottom left/100% auto'}"
>
</td>
</tr>
</tbody>
</table>
</table>
</div>
<div
class=
"slider"
v-if=
"showType==1&&loadNone==false"
>
<!-- <el-carousel :interval="2000" height='400px' trigger="click" :style="{'background':'#ddd'}">
...
...
@@ -347,13 +424,13 @@
</el-carousel> -->
<swiper
:imgs=
'feature.featureImgList'
></swiper>
</div>
<div
class=
"zidingyi"
v-if=
"(showType==3 || showType<4)&&loadNone==false"
>
<div
class=
"zidingyi"
v-if=
"(showType==3 || showType<4)&&loadNone==false"
>
<center
v-html=
"feature.featureContent"
></center>
</div>
<div
class=
"template-box"
v-if=
"showType==4&&loadNone==false"
>
<div
class=
"template-box"
v-if=
"showType==4&&loadNone==false"
>
<div
v-html=
"feature.featureHtml"
style=
"width:1000px;margin:0 auto;"
></div>
</div>
<div
class=
"template-box template_box_two"
v-if=
"showType>4&&loadNone==false"
>
<div
class=
"template-box template_box_two"
v-if=
"showType>4&&loadNone==false"
>
<div
v-html=
"feature.featureHtml"
style=
"width:1000px;margin:0 auto;"
></div>
</div>
<div
id=
"teamacitvy"
>
</div>
...
...
@@ -369,7 +446,8 @@
<!-- <bmap :data="travelLngLat"/> -->
<GGMap
:dataList=
"travelLngLat"
></GGMap>
<div
class=
"_travelLngLatInfo_box"
>
<p
v-for=
"item in travelLngLatInfo"
><span
class=
"_travelLngLatInfo_label"
>
{{item.lable}}
</span>
: {{item.text}}
</p>
<p
v-for=
"(item,index) in travelLngLatInfo"
:key=
"index"
><span
class=
"_travelLngLatInfo_label"
>
{{item.lable}}
</span>
:
{{item.text}}
</p>
</div>
</div>
<!-- <div id="map_canvas" style="width:1000px; height:600px;"></div> -->
...
...
@@ -380,7 +458,7 @@
</span>
<span>
Scheduling
</span>
</div>
<div
v-if=
'dayList&&dayList.length>0'
>
<!-- <trip :tripList="dayList"></trip> -->
<block
:tripList=
"dayList"
:isDirect=
"isDirect"
:clickDate=
"clickDate"
></block>
...
...
@@ -402,7 +480,8 @@
<div
class=
"left"
>
自理费用
</div>
<div
class=
"right"
>
<div
v-html=
"feature.feeNonInclude"
></div>
<table
class=
"expense-table"
cellspacing=
0
cellpadding=
0
v-if=
'dataList.selfpayingList && dataList.selfpayingList.length>0'
>
<table
class=
"expense-table"
cellspacing=
0
cellpadding=
0
v-if=
'dataList.selfpayingList && dataList.selfpayingList.length>0'
>
<thead>
<th>
城市
</th>
<th>
活动
</th>
...
...
@@ -501,10 +580,10 @@
</div>
</el-col>
</el-row>
<el-row
class=
"fuben-nav"
v-if=
"changeNav&&loadNone==false"
>
<el-row
class=
"fuben-nav"
v-if=
"changeNav&&loadNone==false"
>
<el-col
:span=
"20"
:offset=
"2"
>
<el-col
:span=
"18"
>
<ul
class=
"top-nav"
>
<ul
class=
"top-nav"
>
<li
:class=
"crtnav=='flight'?'active':''"
@
click=
"goScroll('flight')"
>
<i
class=
"iconfont icon-Pointer"
></i>
<span>
航班信息
</span>
...
...
@@ -513,11 +592,11 @@
<i
class=
"iconfont icon-Pointer"
></i>
<span>
行程特色
</span>
</li>
<li
:class=
"crtnav=='teamacitvy'?'active':''"
@
click=
"goScroll('teamacitvy')"
>
<li
:class=
"crtnav=='teamacitvy'?'active':''"
@
click=
"goScroll('teamacitvy')"
>
<i
class=
"iconfont icon-List"
></i>
{{dayTrip}}日行程
</li>
<li
:class=
"crtnav=='feiyong'?'active':''"
@
click=
"goScroll('feiyong')"
>
<li
:class=
"crtnav=='feiyong'?'active':''"
@
click=
"goScroll('feiyong')"
>
<i
class=
"iconfont icon-zifeishuoming"
></i>
费用
</li>
...
...
@@ -561,50 +640,62 @@
</el-col>
</el-row>
<div
v-if=
'picIsShow'
class=
"_show_img_box"
@
click=
"picIsShow=false,picObj=[]"
>
<div
style=
"position: absolute; width: 800px; height: 600px; left: 50%; top: 50%; margin-left: -400px; margin-top: -300px;"
>
<el-carousel
:initial-index=
initialIndex
height=
"600px"
:interval=
"5000"
trigger=
"click"
>
<el-carousel-item
v-for=
"(item,index) in picObj"
:key=
"index"
>
<img
:src=
"item.Url?item.Url:item.url"
style=
"width: 100%; height: 100%;"
/>
</el-carousel-item>
</el-carousel>
</div>
</div>
<div
style=
"position: absolute; width: 800px; height: 600px; left: 50%; top: 50%; margin-left: -400px; margin-top: -300px;"
>
<el-carousel
:initial-index=
initialIndex
height=
"600px"
:interval=
"5000"
trigger=
"click"
>
<el-carousel-item
v-for=
"(item,index) in picObj"
:key=
"index"
>
<img
:src=
"item.Url?item.Url:item.url"
style=
"width: 100%; height: 100%;"
/>
</el-carousel-item>
</el-carousel>
</div>
</div>
<div
style=
"height:100px;"
></div>
<!-- <el-button class="pdfDom_btn" type="primary" size="small" @click="donwLoad()" v-if="loadNone==false">点击下载</el-button> -->
<
template
v-if=
"sonData"
>
<confirmationOrderDownLoad
ref=
"confirmationOrderDownLoad"
:sonData=
"sonData"
:TripLayer=
"TripLayer"
/>
<confirmationOrderDownLoad
ref=
"confirmationOrderDownLoad"
:sonData=
"sonData"
:TripLayer=
"TripLayer"
/>
</
template
>
<el-dialog
custom-class=
'w450'
title=
"行程下载"
:visible
.
sync=
"travelControlTripLayerShow"
center
>
<div
class=
"TripDownLoadCommon"
>
<div
class=
"TripDownLoadCommon"
>
<table
style=
"width:380px"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
colspan=
"2"
>
请选择需要的类容
请选择需要的类容
</th>
</tr>
<tbody>
<tr
height=
"36"
>
<td
width=
"50%"
><input
id=
"vshowA"
v-model=
"TripLayer.vshowA"
type=
"checkbox"
/><label
for=
"vshowA"
>
基础信息
</label></td>
<td
width=
"50%"
><input
id=
"vshowB"
v-model=
"TripLayer.vshowB"
type=
"checkbox"
/><label
for=
"vshowB"
>
航班信息
</label></td>
<td
width=
"50%"
><input
id=
"vshowA"
v-model=
"TripLayer.vshowA"
type=
"checkbox"
/><label
for=
"vshowA"
>
基础信息
</label></td>
<td
width=
"50%"
><input
id=
"vshowB"
v-model=
"TripLayer.vshowB"
type=
"checkbox"
/><label
for=
"vshowB"
>
航班信息
</label></td>
</tr>
<tr
height=
"36"
>
<td><input
id=
"vshowC"
v-model=
"TripLayer.vshowC"
type=
"checkbox"
/><label
for=
"vshowC"
>
行程特色
</label></td>
<td><input
id=
"vshowD"
v-model=
"TripLayer.vshowD"
type=
"checkbox"
/><label
for=
"vshowD"
>
行程安排
</label></td>
<td><input
id=
"vshowC"
v-model=
"TripLayer.vshowC"
type=
"checkbox"
/><label
for=
"vshowC"
>
行程特色
</label></td>
<td><input
id=
"vshowD"
v-model=
"TripLayer.vshowD"
type=
"checkbox"
/><label
for=
"vshowD"
>
行程安排
</label></td>
</tr>
<tr
height=
"36"
>
<td><input
id=
"vshowE"
v-model=
"TripLayer.vshowE"
type=
"checkbox"
/><label
for=
"vshowE"
>
费用说明
</label></td>
<td><input
id=
"vshowF"
v-model=
"TripLayer.vshowF"
type=
"checkbox"
/><label
for=
"vshowF"
>
购物说明
</label></td>
<td><input
id=
"vshowE"
v-model=
"TripLayer.vshowE"
type=
"checkbox"
/><label
for=
"vshowE"
>
费用说明
</label></td>
<td><input
id=
"vshowF"
v-model=
"TripLayer.vshowF"
type=
"checkbox"
/><label
for=
"vshowF"
>
购物说明
</label></td>
</tr>
<tr
height=
"36"
>
<td><input
id=
"vshowG"
v-model=
"TripLayer.vshowG"
type=
"checkbox"
/><label
for=
"vshowG"
>
订单须知
</label></td>
<td><input
id=
"vshowH"
v-model=
"TripLayer.vshowH"
type=
"checkbox"
/><label
for=
"vshowH"
>
签证信息
</label></td>
<td><input
id=
"vshowG"
v-model=
"TripLayer.vshowG"
type=
"checkbox"
/><label
for=
"vshowG"
>
订单须知
</label></td>
<td><input
id=
"vshowH"
v-model=
"TripLayer.vshowH"
type=
"checkbox"
/><label
for=
"vshowH"
>
签证信息
</label></td>
</tr>
<tr
height=
"36"
>
<td><input
id=
"vshowI"
v-model=
"TripLayer.vshowI"
type=
"checkbox"
/><label
for=
"vshowI"
>
同行备注
</label></td>
<td><input
id=
"vshowJ"
v-model=
"TripLayer.vshowJ"
type=
"checkbox"
/><label
for=
"vshowJ"
>
印象标识
</label></td>
<td><input
id=
"vshowI"
v-model=
"TripLayer.vshowI"
type=
"checkbox"
/><label
for=
"vshowI"
>
同行备注
</label></td>
<td><input
id=
"vshowJ"
v-model=
"TripLayer.vshowJ"
type=
"checkbox"
/><label
for=
"vshowJ"
>
印象标识
</label></td>
</tr>
<tr
height=
"36"
>
<td><input
id=
"vshowK"
v-model=
"TripLayer.vshowK"
type=
"checkbox"
/><label
for=
"vshowK"
>
景点图片
</label></td>
<td><input
id=
"vshowK"
v-model=
"TripLayer.vshowK"
type=
"checkbox"
/><label
for=
"vshowK"
>
景点图片
</label></td>
</tr>
</tbody>
<!-- <tbody>
...
...
@@ -638,14 +729,15 @@
</tbody> -->
<tr
height=
"66"
>
<td
colspan=
"2"
align=
"center"
>
<input
type=
"button"
class=
"TripBtn"
@
click=
"PDFDownLoad();"
value=
"确定"
/>
<input
type=
"button"
class=
"TripBtn"
@
click=
"PDFDownLoad();"
value=
"确定"
/>
</td>
</tr>
</table>
</div>
</el-dialog>
<viewer
style=
"display:none"
:images=
"images"
:options=
'imageOptions'
@
inited=
"inited"
class=
"viewer"
ref=
"viewer"
>
<viewer
style=
"display:none"
:images=
"images"
:options=
'imageOptions'
@
inited=
"inited"
class=
"viewer"
ref=
"viewer"
>
<img
v-for=
"(item,index) in images"
:src=
"item.Url"
:key=
"index+5000"
>
</viewer>
...
...
@@ -654,514 +746,536 @@
<
script
>
import
moment
from
'moment'
// import bmap from './map.vue'
import
calendar
from
'./calendar.vue'
import
trip
from
'../trip/waterfall/index'
import
block
from
'../trip/block/index'
import
trade
from
'../trade/order/index'
import
swiper
from
'../trip/swiper/index'
import
GGMap
from
'../global/GGMap'
import
confirmationOrderDownLoad
from
'../global/confirmationOrderDownLoad'
import
bus
from
'../../plugins/event-bus'
export
default
{
components
:
{
// bmap,
GGMap
,
calendar
,
trip
,
block
,
trade
,
swiper
,
confirmationOrderDownLoad
},
props
:[
'changeCity'
],
data
()
{
return
{
ID
:
''
,
tcid
:
''
,
pre
:
0
,
chosenTime
:
''
,
crn
:
2
,
etn
:
0
,
changeNav
:
false
,
scrollobj
:
null
,
picIsShow
:
false
,
initialIndex
:
0
,
showType
:
-
1
,
crtnav
:
'tese'
,
dayList
:[],
feature
:{},
priceList
:[],
dataList
:{},
toDayObj
:{},
calendarTit
:[],
classArray
:[],
imgCover
:[],
picObj
:[],
travelLngLat
:[],
selectMonth
:
0
,
value
:
'1'
,
dayTrip
:
''
,
input10
:
''
,
isLogin
:
1
,
oderInfoShow
:
false
,
indexActive
:
0
,
clickDate
:
''
,
travelControlTripLayerShow
:
false
,
TripLayer
:
{
vshowA
:
true
,
vshowB
:
true
,
vshowC
:
true
,
vshowD
:
true
,
vshowE
:
true
,
vshowF
:
true
,
vshowG
:
true
,
vshowH
:
true
,
vshowI
:
true
,
vshowJ
:
true
,
vshowK
:
true
,
vshowL
:
true
,
vshowM
:
true
,
vshowLLR
:
true
,
},
navs
:[
'flight'
,
'tese'
,
'teamacitvy'
,
'feiyong'
,
'gouwu'
,
'yuding'
,
'qianz'
,
'tonghang'
],
pickerOptions
:{
disabledDate
(
time
)
{
// return moment(time).format('YYYY-MM-DD')!='2018-10-18' && moment(time).format('YYYY-MM-DD')!='2018-10-28'
}
},
maxdiscountAmount
:
0
,
loadingDataList
:
false
,
htmlTitle
:
'印象之旅'
,
loadNone
:
false
,
site
:
localStorage
.
site
,
priceListIndex
:
0
,
isDirect
:
1
,
//是否是直采 0:否,1:是
abcList
:
[
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
,
'M'
,
'N'
,
'O'
,
'P'
,
'Q'
,
'R'
,
'S'
,
'T'
,
'U'
,
'V'
,
'W'
,
'X'
,
'Y'
,
'Z'
,
'AA'
,
'AB'
,
'AC'
,
'AD'
,
'AE'
,
'AF'
,
'AG'
],
travelLngLatInfo
:[],
VideoStr
:
''
,
sonData
:
null
,
showFlight
:
false
,
FlightList
:
[],
city
:
-
1
,
teamType
:
0
,
free
:
0
,
images
:[],
imageOptions
:{
navbar
:
false
,
title
:
false
},
}
},
watch
:
{
// 监听参数变化
changeCity
:
{
handler
:
function
(
val
,
oldVal
)
{
// console.log(val)
if
(
val
){
this
.
getList
()
}
},
deep
:
true
},
},
created
(){
if
(
this
.
$route
.
query
.
teamType
){
this
.
teamType
=
this
.
$route
.
query
.
teamType
;
}
this
.
ID
=
decodeURIComponent
(
this
.
$route
.
params
.
id
)
this
.
tcid
=
decodeURIComponent
(
this
.
$route
.
params
.
tcid
)
if
(
this
.
$route
.
params
.
pre
&&
this
.
$route
.
params
.
pre
==
'preview'
){
this
.
pre
=
1
}
this
.
getList
()
this
.
isLogin
=
this
.
$store
.
state
.
isLogin
;
bus
.
$on
(
'order-chosen'
,
this
.
orderChosen
)
if
(
this
.
$route
.
query
.
free
){
this
.
free
=
1
;
this
.
getAction
(
3
);
}
},
mounted
()
{
this
.
scrollobj
=
document
.
getElementsByClassName
(
'el-scrollbar__wrap'
)[
0
];
this
.
scrollobj
.
addEventListener
(
'scroll'
,
this
.
handleScroll
);
// this.initMap();
},
methods
:
{
inited
(
viewer
){
this
.
$viewer
=
viewer
},
BigImgShow
(
index
){
// if(num==1){
this
.
$viewer
.
view
(
index
)
this
.
$viewer
.
show
()
// }
import
moment
from
'moment'
// import bmap from './map.vue'
import
calendar
from
'./calendar.vue'
import
trip
from
'../trip/waterfall/index'
import
block
from
'../trip/block/index'
import
trade
from
'../trade/order/index'
import
swiper
from
'../trip/swiper/index'
import
GGMap
from
'../global/GGMap'
import
confirmationOrderDownLoad
from
'../global/confirmationOrderDownLoad'
import
bus
from
'../../plugins/event-bus'
export
default
{
components
:
{
// bmap,
GGMap
,
calendar
,
trip
,
block
,
trade
,
swiper
,
confirmationOrderDownLoad
},
props
:
[
'changeCity'
],
data
()
{
return
{
ID
:
''
,
tcid
:
''
,
pre
:
0
,
chosenTime
:
''
,
crn
:
2
,
etn
:
0
,
changeNav
:
false
,
scrollobj
:
null
,
picIsShow
:
false
,
initialIndex
:
0
,
showType
:
-
1
,
crtnav
:
'tese'
,
dayList
:
[],
feature
:
{},
priceList
:
[],
dataList
:
{},
toDayObj
:
{},
calendarTit
:
[],
classArray
:
[],
imgCover
:
[],
picObj
:
[],
travelLngLat
:
[],
selectMonth
:
0
,
value
:
'1'
,
dayTrip
:
''
,
input10
:
''
,
isLogin
:
1
,
oderInfoShow
:
false
,
indexActive
:
0
,
clickDate
:
''
,
travelControlTripLayerShow
:
false
,
TripLayer
:
{
vshowA
:
true
,
vshowB
:
true
,
vshowC
:
true
,
vshowD
:
true
,
vshowE
:
true
,
vshowF
:
true
,
vshowG
:
true
,
vshowH
:
true
,
vshowI
:
true
,
vshowJ
:
true
,
vshowK
:
true
,
vshowL
:
true
,
vshowM
:
true
,
vshowLLR
:
true
,
},
navs
:
[
'flight'
,
'tese'
,
'teamacitvy'
,
'feiyong'
,
'gouwu'
,
'yuding'
,
'qianz'
,
'tonghang'
],
pickerOptions
:
{
disabledDate
(
time
)
{
// return moment(time).format('YYYY-MM-DD')!='2018-10-18' && moment(time).format('YYYY-MM-DD')!='2018-10-28'
}
},
maxdiscountAmount
:
0
,
loadingDataList
:
false
,
htmlTitle
:
'印象之旅'
,
loadNone
:
false
,
site
:
localStorage
.
site
,
priceListIndex
:
0
,
isDirect
:
1
,
//是否是直采 0:否,1:是
abcList
:
[
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
,
'M'
,
'N'
,
'O'
,
'P'
,
'Q'
,
'R'
,
'S'
,
'T'
,
'U'
,
'V'
,
'W'
,
'X'
,
'Y'
,
'Z'
,
'AA'
,
'AB'
,
'AC'
,
'AD'
,
'AE'
,
'AF'
,
'AG'
],
travelLngLatInfo
:
[],
VideoStr
:
''
,
sonData
:
null
,
showFlight
:
false
,
FlightList
:
[],
city
:
-
1
,
teamType
:
0
,
free
:
0
,
images
:
[],
imageOptions
:
{
navbar
:
false
,
title
:
false
},
orderChosen
:
function
(
date
)
{
let
day
=
date
.
split
(
'-'
)[
0
]
+
'-'
+
date
.
split
(
'-'
)[
1
]
this
.
calendarTit
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
dateStrS
===
day
)
{
this
.
selectMonth
=
index
;
this
.
indexActive
=
index
;
setTimeout
(
function
(){
bus
.
$emit
(
'order-chosen_calendar'
,
date
)
},
500
)
}
})
},
editSrc
:
function
(
src
)
{
return
src
.
split
(
'?'
)[
0
]
},
PDFDownLoad
:
function
(
type
)
{
if
(
type
)
{
this
.
travelControlTripLayerShow
=
true
}
else
{
let
orderMsg
=
this
.
sonData
.
orderMsg
this
.
travelControlTripLayerShow
=
false
this
.
$refs
.
confirmationOrderDownLoad
.
toPDF
(
orderMsg
.
startDate
+
orderMsg
.
lineteamName
+
orderMsg
.
dayNum
+
'日游'
);
}
},
ToWord
:
function
()
{
this
.
loadingDataList
=
true
let
title
=
this
.
dataList
.
currentPriceInfo
.
startDate
+
this
.
dataList
.
ltName
+
this
.
dataList
.
dayNum
+
'日游'
let
msg
=
{
configId
:
this
.
dayList
.
id
,
cityId
:
this
.
city
,
tcid
:
this
.
tcid
,
orderId
:
0
,
FileName
:
title
,
//是否显示基础信息
isShowBase
:
1
,
//是否显示航班
isShowFlight
:
1
,
//是否显示行程特色
isShowFeature
:
1
,
//自费、费用包含、费用不含
isShowFee
:
1
,
//购物说明,购物安排
isShowShop
:
1
,
//重要提示、温馨提示 [订单须知]
isShowTip
:
1
,
//是否显示同行备注
isShowB2B
:
1
,
//是否显示行程
isShowTrip
:
1
,
//是否显示标题
isShowTitle
:
1
,
//是否显示旅客名单
isShowGuest
:
0
,
//是否显示紧急联系人
isShowMan
:
0
,
//是否显示团号
isShowTCNUM
:
0
,
//是否显示行程图片
isShowTripImage
:
1
,
//是否显示签证信息
isShowVisa
:
1
,
//isPc是否PC下载
isPc
:
1
,
//模板参数
templateId
:
this
.
showType
,
};
this
.
GetLocalFile
(
"DownLoadTripWord"
,
msg
,
title
+
".doc"
,
res
=>
{
this
.
loadingDataList
=
false
});
watch
:
{
// 监听参数变化
changeCity
:
{
handler
:
function
(
val
,
oldVal
)
{
// console.log(val)
if
(
val
)
{
this
.
getList
()
}
},
deep
:
true
},
},
donwLoad
(){
this
.
loadNone
=
true
;
this
.
loadingDataList
=
true
;
let
imgs
=
document
.
getElementsByTagName
(
'img'
);
for
(
let
i
=
0
;
i
<
imgs
.
length
;
i
++
){
document
.
getElementsByTagName
(
'img'
)[
i
].
setAttribute
(
'crossOrigin'
,
'Anonymous'
)
created
()
{
if
(
this
.
$route
.
query
.
teamType
)
{
this
.
teamType
=
this
.
$route
.
query
.
teamType
;
}
window
.
setTimeout
(
this
.
getPdf
(
'#pdfDom'
),
3000
);
},
DateDiff
(
sDate1
,
sDate2
){
//sDate1和sDate2是2002-12-18格式
var
aDate
,
oDate1
,
oDate2
,
iDays
aDate
=
sDate1
.
split
(
"-"
)
oDate1
=
new
Date
(
aDate
[
1
]
+
'-'
+
aDate
[
2
]
+
'-'
+
aDate
[
0
])
//转换为12-18-2002格式
aDate
=
sDate2
.
split
(
"-"
)
oDate2
=
new
Date
(
aDate
[
1
]
+
'-'
+
aDate
[
2
]
+
'-'
+
aDate
[
0
])
iDays
=
parseInt
(
Math
.
abs
(
oDate1
-
oDate2
)
/
1000
/
60
/
60
/
24
)
//把相差的毫秒数转换为天数
return
iDays
},
ListenChildren
(
word
){
this
.
clickDate
=
word
let
data
=
this
.
dataList
.
priceList
;
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
if
(
word
===
data
[
i
].
startDate
){
this
.
priceListIndex
=
i
;
let
msg
=
{
configId
:
data
[
i
].
configIDDes
,
cityId
:
this
.
city
,
preview
:
this
.
pre
,
tcid
:
data
[
i
].
tcid
,
teamType
:
this
.
teamType
}
bus
.
$emit
(
'chosen-tripdate'
,
word
)
this
.
getData
(
msg
)
}
this
.
ID
=
decodeURIComponent
(
this
.
$route
.
params
.
id
)
this
.
tcid
=
decodeURIComponent
(
this
.
$route
.
params
.
tcid
)
if
(
this
.
$route
.
params
.
pre
&&
this
.
$route
.
params
.
pre
==
'preview'
)
{
this
.
pre
=
1
}
this
.
getList
()
this
.
isLogin
=
this
.
$store
.
state
.
isLogin
;
bus
.
$on
(
'order-chosen'
,
this
.
orderChosen
)
if
(
this
.
$route
.
query
.
free
)
{
this
.
free
=
1
;
this
.
getAction
(
3
);
}
},
oderInfoShowF
(){
this
.
oderInfoShow
=
!
this
.
oderInfoShow
},
showImg
(
obj
){
obj
.
forEach
(
x
=>
{
x
.
Url
=
x
.
Url
.
split
(
'?'
)[
0
]
})
this
.
picObj
=
obj
this
.
picIsShow
=
true
;
mounted
()
{
this
.
scrollobj
=
document
.
getElementsByClassName
(
'el-scrollbar__wrap'
)[
0
];
this
.
scrollobj
.
addEventListener
(
'scroll'
,
this
.
handleScroll
);
// this.initMap();
},
getList
(){
this
.
apipost
(
'b2b_get_site'
,{},
res
=>
{
let
data
=
res
.
data
.
data
let
city
=
0
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
if
(
data
[
i
].
companyId
==
localStorage
.
site
)
{
city
=
data
[
i
].
cityId
this
.
city
=
city
break
methods
:
{
inited
(
viewer
)
{
this
.
$viewer
=
viewer
},
BigImgShow
(
index
)
{
// if(num==1){
this
.
$viewer
.
view
(
index
)
this
.
$viewer
.
show
()
// }
},
orderChosen
:
function
(
date
)
{
let
day
=
date
.
split
(
'-'
)[
0
]
+
'-'
+
date
.
split
(
'-'
)[
1
]
this
.
calendarTit
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
dateStrS
===
day
)
{
this
.
selectMonth
=
index
;
this
.
indexActive
=
index
;
setTimeout
(
function
()
{
bus
.
$emit
(
'order-chosen_calendar'
,
date
)
},
500
)
}
})
},
editSrc
:
function
(
src
)
{
return
src
.
split
(
'?'
)[
0
]
},
PDFDownLoad
:
function
(
type
)
{
if
(
type
)
{
this
.
travelControlTripLayerShow
=
true
}
else
{
let
orderMsg
=
this
.
sonData
.
orderMsg
this
.
travelControlTripLayerShow
=
false
this
.
$refs
.
confirmationOrderDownLoad
.
toPDF
(
orderMsg
.
startDate
+
orderMsg
.
lineteamName
+
orderMsg
.
dayNum
+
'日游'
);
}
let
msg
=
{
configId
:
this
.
ID
,
cityId
:
city
,
preview
:
this
.
pre
,
tcid
:
this
.
tcid
,
teamType
:
this
.
teamType
}
this
.
getData
(
msg
)
})
},
getData
:
function
(
msg
)
{
this
.
loadingDataList
=
true
this
.
apipost
(
'b2b_get_GetB2BTravelInfoV1'
,
msg
,
r
=>
{
if
(
r
.
data
.
resultCode
==
1
){
let
data
=
(
r
.
data
.
data
);
this
.
sonData
=
data
;
this
.
dayList
=
data
.
dayList
;
this
.
feature
=
data
.
feature
;
this
.
isDirect
=
data
.
isDirect
;
if
(
!
this
.
$route
.
query
.
free
){
this
.
getAction
(
7
,
data
.
lineId
);
},
ToWord
:
function
()
{
this
.
loadingDataList
=
true
let
title
=
this
.
dataList
.
currentPriceInfo
.
startDate
+
this
.
dataList
.
ltName
+
this
.
dataList
.
dayNum
+
'日游'
let
msg
=
{
configId
:
this
.
dayList
.
id
,
cityId
:
this
.
city
,
tcid
:
this
.
tcid
,
orderId
:
0
,
FileName
:
title
,
//是否显示基础信息
isShowBase
:
1
,
//是否显示航班
isShowFlight
:
1
,
//是否显示行程特色
isShowFeature
:
1
,
//自费、费用包含、费用不含
isShowFee
:
1
,
//购物说明,购物安排
isShowShop
:
1
,
//重要提示、温馨提示 [订单须知]
isShowTip
:
1
,
//是否显示同行备注
isShowB2B
:
1
,
//是否显示行程
isShowTrip
:
1
,
//是否显示标题
isShowTitle
:
1
,
//是否显示旅客名单
isShowGuest
:
0
,
//是否显示紧急联系人
isShowMan
:
0
,
//是否显示团号
isShowTCNUM
:
0
,
//是否显示行程图片
isShowTripImage
:
1
,
//是否显示签证信息
isShowVisa
:
1
,
//isPc是否PC下载
isPc
:
1
,
//模板参数
templateId
:
this
.
showType
,
};
this
.
GetLocalFile
(
"DownLoadTripWord"
,
msg
,
title
+
".doc"
,
res
=>
{
this
.
loadingDataList
=
false
});
},
donwLoad
()
{
this
.
loadNone
=
true
;
this
.
loadingDataList
=
true
;
let
imgs
=
document
.
getElementsByTagName
(
'img'
);
for
(
let
i
=
0
;
i
<
imgs
.
length
;
i
++
)
{
document
.
getElementsByTagName
(
'img'
)[
i
].
setAttribute
(
'crossOrigin'
,
'Anonymous'
)
}
window
.
setTimeout
(
this
.
getPdf
(
'#pdfDom'
),
3000
);
},
DateDiff
(
sDate1
,
sDate2
)
{
//sDate1和sDate2是2002-12-18格式
var
aDate
,
oDate1
,
oDate2
,
iDays
aDate
=
sDate1
.
split
(
"-"
)
oDate1
=
new
Date
(
aDate
[
1
]
+
'-'
+
aDate
[
2
]
+
'-'
+
aDate
[
0
])
//转换为12-18-2002格式
aDate
=
sDate2
.
split
(
"-"
)
oDate2
=
new
Date
(
aDate
[
1
]
+
'-'
+
aDate
[
2
]
+
'-'
+
aDate
[
0
])
iDays
=
parseInt
(
Math
.
abs
(
oDate1
-
oDate2
)
/
1000
/
60
/
60
/
24
)
//把相差的毫秒数转换为天数
return
iDays
},
ListenChildren
(
word
)
{
this
.
clickDate
=
word
let
data
=
this
.
dataList
.
priceList
;
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
if
(
word
===
data
[
i
].
startDate
)
{
this
.
priceListIndex
=
i
;
let
msg
=
{
configId
:
data
[
i
].
configIDDes
,
cityId
:
this
.
city
,
preview
:
this
.
pre
,
tcid
:
data
[
i
].
tcid
,
teamType
:
this
.
teamType
}
bus
.
$emit
(
'chosen-tripdate'
,
word
)
this
.
getData
(
msg
)
}
}
},
oderInfoShowF
()
{
this
.
oderInfoShow
=
!
this
.
oderInfoShow
},
showImg
(
obj
)
{
obj
.
forEach
(
x
=>
{
x
.
Url
=
x
.
Url
.
split
(
'?'
)[
0
]
})
this
.
picObj
=
obj
this
.
picIsShow
=
true
;
},
getList
()
{
this
.
apipost
(
'b2b_get_site'
,
{},
res
=>
{
let
data
=
res
.
data
.
data
let
city
=
0
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
if
(
data
[
i
].
companyId
==
localStorage
.
site
)
{
city
=
data
[
i
].
cityId
this
.
city
=
city
break
}
}
if
(
data
.
videoStr
)
{
let
path
=
data
.
videoStr
.
indexOf
(
'http'
)
>
-
1
?
data
.
videoStr
:
domainManager
().
ViittoFileUrl
+
data
.
videoStr
;
this
.
VideoStr
=
path
;
let
msg
=
{
configId
:
this
.
ID
,
cityId
:
city
,
preview
:
this
.
pre
,
tcid
:
this
.
tcid
,
teamType
:
this
.
teamType
}
// console.log(data.priceList[0].priceFlight)
// if(data.priceList && data.priceList.length>0){
// data.priceList[0].priceFlight.forEach((x,i)=>{
// if(i==0){
// x.dayNum = 1;
// if(x.departureTime
<
x
.
arrivalTime
){
// x.daodaDay = 1;
// }else{
// x.daodaDay = 2;
// }
// } else {
// console.log(this.DateDiff(data.priceList[0].priceFlight[0].startDate,x.startDate))
// x.dayNum = this.DateDiff(data.priceList[0].priceFlight[0].startDate,x.startDate);
// x.dayNum +=1
// if(x.departureTime
<
x
.
arrivalTime
){
// x.daodaDay = x.dayNum;
// }else{
// x.daodaDay = x.dayNum+1;
// }
// }
// })
// }
this
.
priceList
=
data
.
priceList
;
this
.
clickDate
=
data
.
currentPriceInfo
&&
data
.
currentPriceInfo
.
startDate
?
data
.
currentPriceInfo
.
startDate
:
''
;
this
.
FlightList
=
data
.
currentPriceInfo
&&
data
.
currentPriceInfo
.
priceFlight
?
data
.
currentPriceInfo
.
priceFlight
:
''
;
this
.
dataList
=
data
;
this
.
toDayObj
=
data
.
currentPriceInfo
;
this
.
imgCover
=
JSON
.
parse
(
this
.
dataList
.
imgCover
);
this
.
images
=
this
.
imgCover
;
this
.
showType
=
this
.
feature
.
featureType
;
this
.
dayTrip
=
this
.
dataList
.
dayNum
;
if
(
this
.
dataList
.
isDirect
==
1
&&
this
.
dataList
.
travelLngLat
.
length
){
this
.
travelLngLat
=
[];
//this.dataList.travelLngLat;
this
.
dataList
.
travelLngLat
.
forEach
(
x
=>
{
if
(
x
.
type
!=
2
){
this
.
travelLngLat
.
push
(
x
)
}
})
let
travelLngLatInfo
=
[];
this
.
travelLngLat
.
forEach
((
x
,
index
)
=>
{
travelLngLatInfo
.
push
(
{
this
.
getData
(
msg
)
})
},
getData
:
function
(
msg
)
{
this
.
loadingDataList
=
true
this
.
apipost
(
'b2b_get_GetB2BTravelInfoV1'
,
msg
,
r
=>
{
if
(
r
.
data
.
resultCode
==
1
)
{
let
data
=
(
r
.
data
.
data
);
this
.
sonData
=
data
;
this
.
dayList
=
data
.
dayList
;
this
.
feature
=
data
.
feature
;
this
.
isDirect
=
data
.
isDirect
;
if
(
!
this
.
$route
.
query
.
free
)
{
this
.
getAction
(
7
,
data
.
lineId
);
}
if
(
data
.
videoStr
)
{
let
path
=
data
.
videoStr
.
indexOf
(
'http'
)
>
-
1
?
data
.
videoStr
:
domainManager
()
.
ViittoFileUrl
+
data
.
videoStr
;
this
.
VideoStr
=
path
;
}
// console.log(data.priceList[0].priceFlight)
// if(data.priceList && data.priceList.length>0){
// data.priceList[0].priceFlight.forEach((x,i)=>{
// if(i==0){
// x.dayNum = 1;
// if(x.departureTime
<
x
.
arrivalTime
){
// x.daodaDay = 1;
// }else{
// x.daodaDay = 2;
// }
// } else {
// console.log(this.DateDiff(data.priceList[0].priceFlight[0].startDate,x.startDate))
// x.dayNum = this.DateDiff(data.priceList[0].priceFlight[0].startDate,x.startDate);
// x.dayNum +=1
// if(x.departureTime
<
x
.
arrivalTime
){
// x.daodaDay = x.dayNum;
// }else{
// x.daodaDay = x.dayNum+1;
// }
// }
// })
// }
this
.
priceList
=
data
.
priceList
;
this
.
clickDate
=
data
.
currentPriceInfo
&&
data
.
currentPriceInfo
.
startDate
?
data
.
currentPriceInfo
.
startDate
:
''
;
this
.
FlightList
=
data
.
currentPriceInfo
&&
data
.
currentPriceInfo
.
priceFlight
?
data
.
currentPriceInfo
.
priceFlight
:
''
;
this
.
dataList
=
data
;
this
.
toDayObj
=
data
.
currentPriceInfo
;
this
.
imgCover
=
JSON
.
parse
(
this
.
dataList
.
imgCover
);
this
.
images
=
this
.
imgCover
;
this
.
showType
=
this
.
feature
.
featureType
;
this
.
dayTrip
=
this
.
dataList
.
dayNum
;
if
(
this
.
dataList
.
isDirect
==
1
&&
this
.
dataList
.
travelLngLat
.
length
)
{
this
.
travelLngLat
=
[];
//this.dataList.travelLngLat;
this
.
dataList
.
travelLngLat
.
forEach
(
x
=>
{
if
(
x
.
type
!=
2
)
{
this
.
travelLngLat
.
push
(
x
)
}
})
let
travelLngLatInfo
=
[];
this
.
travelLngLat
.
forEach
((
x
,
index
)
=>
{
travelLngLatInfo
.
push
({
lable
:
this
.
abcList
[
index
],
text
:
x
.
name
}
)
})
this
.
travelLngLatInfo
=
travelLngLatInfo
;
}
this
.
creatCalendar
(
this
.
priceList
);
if
(
data
.
lineTeamDiscountList
&&
data
.
lineTeamDiscountList
.
length
>
0
){
data
.
lineTeamDiscountList
.
forEach
(
x
=>
{
this
.
maxdiscountAmount
=
x
.
discountAmount
>
this
.
maxdiscountAmount
?
x
.
discountAmount
:
this
.
maxdiscountAmount
})
})
})
this
.
travelLngLatInfo
=
travelLngLatInfo
;
}
this
.
creatCalendar
(
this
.
priceList
);
if
(
data
.
lineTeamDiscountList
&&
data
.
lineTeamDiscountList
.
length
>
0
)
{
data
.
lineTeamDiscountList
.
forEach
(
x
=>
{
this
.
maxdiscountAmount
=
x
.
discountAmount
>
this
.
maxdiscountAmount
?
x
.
discountAmount
:
this
.
maxdiscountAmount
})
}
this
.
htmlTitle
=
this
.
dataList
.
ltName
;
this
.
showFlight
=
true
this
.
$forceUpdate
()
// console.log("dataList",this.dataList)
}
else
{
this
.
$message
.
error
(
r
.
data
.
message
)
}
this
.
htmlTitle
=
this
.
dataList
.
ltName
;
this
.
showFlight
=
true
this
.
$forceUpdate
()
// console.log("dataList",this.dataList)
}
else
{
this
.
$message
.
error
(
r
.
data
.
message
)
this
.
loadingDataList
=
false
},
null
)
},
creatCalendar
(
list
)
{
// 创建日历
let
dateList
=
[];
if
(
list
&&
list
.
length
>
0
)
{
list
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
tcState
==
3
)
{
let
msg
=
{
dateStr
:
x
.
startDate
,
cDate
:
x
.
startDate
.
replace
(
'-'
,
'年'
).
replace
(
'-'
,
'月'
),
price
:
x
.
b2CPrice
,
b2BMemberPrice
:
x
.
b2BMemberPrice
,
b2BPrice
:
x
.
b2BPrice
,
b2CMemberPrice
:
x
.
b2CMemberPrice
,
id
:
index
,
dateStrS
:
x
.
startDate
.
substring
(
0
,
x
.
startDate
.
length
-
3
),
tcid
:
x
.
tcid
,
configIDDes
:
x
.
configIDDes
}
dateList
.
push
(
msg
);
}
});
}
this
.
loadingDataList
=
false
},
null
)
},
creatCalendar
(
list
){
// 创建日历
let
dateList
=
[];
if
(
list
&&
list
.
length
>
0
){
list
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
tcState
==
3
){
let
msg
=
{
dateStr
:
x
.
startDate
,
cDate
:
x
.
startDate
.
replace
(
'-'
,
'年'
).
replace
(
'-'
,
'月'
),
price
:
x
.
b2CPrice
,
b2BMemberPrice
:
x
.
b2BMemberPrice
,
b2BPrice
:
x
.
b2BPrice
,
b2CMemberPrice
:
x
.
b2CMemberPrice
,
id
:
index
,
dateStrS
:
x
.
startDate
.
substring
(
0
,
x
.
startDate
.
length
-
3
),
tcid
:
x
.
tcid
,
configIDDes
:
x
.
configIDDes
let
monthArray
=
[];
for
(
var
i
in
dateList
)
{
var
data
=
dateList
[
i
];
var
dateDict
=
{
'mounth'
:
data
.
dateStr
.
substring
(
0
,
data
.
dateStr
.
length
-
3
)
};
monthArray
.
push
(
dateDict
);
}
//数组去重,获取有几个月
var
hash
=
{};
monthArray
=
monthArray
.
reduce
(
function
(
item
,
next
)
{
hash
[
next
.
mounth
]
?
''
:
hash
[
next
.
mounth
]
=
true
&&
item
.
push
(
next
);
return
item
;
},
[]
)
//数据分组
let
classArray
=
[];
for
(
var
j
in
monthArray
)
{
var
newArray
=
new
Array
();
for
(
var
i
in
dateList
)
{
var
data
=
dateList
[
i
];
if
(
data
.
dateStr
.
substring
(
0
,
data
.
dateStr
.
length
-
3
)
==
monthArray
[
j
].
mounth
)
{
newArray
.
push
(
data
)
}
dateList
.
push
(
msg
);
}
});
}
let
monthArray
=
[];
for
(
var
i
in
dateList
)
{
var
data
=
dateList
[
i
];
var
dateDict
=
{
'mounth'
:
data
.
dateStr
.
substring
(
0
,
data
.
dateStr
.
length
-
3
)};
monthArray
.
push
(
dateDict
);
}
//数组去重,获取有几个月
var
hash
=
{};
monthArray
=
monthArray
.
reduce
(
function
(
item
,
next
)
{
hash
[
next
.
mounth
]?
''
:
hash
[
next
.
mounth
]
=
true
&&
item
.
push
(
next
);
return
item
;
},[]
)
//数据分组
let
classArray
=
[];
for
(
var
j
in
monthArray
)
{
var
newArray
=
new
Array
();
for
(
var
i
in
dateList
)
{
var
data
=
dateList
[
i
];
if
(
data
.
dateStr
.
substring
(
0
,
data
.
dateStr
.
length
-
3
)
==
monthArray
[
j
].
mounth
)
{
newArray
.
push
(
data
)
}
}
classArray
.
push
(
newArray
);
}
this
.
classArray
=
classArray
;
var
hash
=
{};
dateList
=
dateList
.
reduce
(
function
(
item
,
next
)
{
hash
[
next
.
dateStrS
]?
''
:
hash
[
next
.
dateStrS
]
=
true
&&
item
.
push
(
next
);
return
item
;
},[]
)
this
.
calendarTit
=
dateList
;
},
goScroll
(
id
){
this
.
scrollobj
.
scrollTop
=
document
.
getElementById
(
id
).
offsetTop
+
screen
.
availHeight
-
350
;
},
//跳转至新行程
goUrlTrip
(){
this
.
$router
.
push
({
name
:
"newTrip"
,
query
:
{
ID
:
decodeURIComponent
(
this
.
$route
.
params
.
id
),
tcid
:
decodeURIComponent
(
this
.
$route
.
params
.
tcid
)
}
})
},
handleScroll
(){
try
{
if
(
this
.
scrollobj
.
scrollTop
>
this
.
$refs
.
nav
.
offsetTop
){
this
.
changeNav
=
true
}
else
{
this
.
changeNav
=
false
classArray
.
push
(
newArray
);
}
let
current
=
''
this
.
navs
.
forEach
(
x
=>
{
let
t
=
document
.
getElementById
(
x
).
offsetTop
if
(
t
<=
this
.
scrollobj
.
scrollTop
-
200
){
current
=
x
this
.
classArray
=
classArray
;
var
hash
=
{};
dateList
=
dateList
.
reduce
(
function
(
item
,
next
)
{
hash
[
next
.
dateStrS
]
?
''
:
hash
[
next
.
dateStrS
]
=
true
&&
item
.
push
(
next
);
return
item
;
},
[]
)
this
.
calendarTit
=
dateList
;
},
goScroll
(
id
)
{
this
.
scrollobj
.
scrollTop
=
document
.
getElementById
(
id
).
offsetTop
+
screen
.
availHeight
-
350
;
},
//跳转至新行程
goUrlTrip
(){
this
.
$router
.
push
({
name
:
"newTrip"
,
query
:
{
ID
:
decodeURIComponent
(
this
.
$route
.
params
.
id
),
tcid
:
decodeURIComponent
(
this
.
$route
.
params
.
tcid
)
}
})
this
.
crtnav
=
current
}
catch
(
error
)
{
}
},
selectMounth
(
index
){
this
.
selectMonth
=
index
;
this
.
indexActive
=
index
;
},
initMap
:
function
()
{
//所有坐标
var
locations
=
new
Array
(
"31.953313,121.841581"
,
"31.15347,121.291706"
,
"31.207516,121.412556"
,
"31.122909,121.458561"
,
"31.118207,121.38715"
,
"31.041168,121.426289"
,
"30.985262,121.301319"
,
"31.057934,121.305834"
);
//地图
var
map
;
var
marker
;
var
poly
;
},
handleScroll
()
{
try
{
if
(
this
.
scrollobj
.
scrollTop
>
this
.
$refs
.
nav
.
offsetTop
)
{
this
.
changeNav
=
true
}
else
{
this
.
changeNav
=
false
}
let
current
=
''
this
.
navs
.
forEach
(
x
=>
{
let
t
=
document
.
getElementById
(
x
).
offsetTop
if
(
t
<=
this
.
scrollobj
.
scrollTop
-
200
)
{
current
=
x
}
})
this
.
crtnav
=
current
}
catch
(
error
)
{
}
},
selectMounth
(
index
)
{
this
.
selectMonth
=
index
;
this
.
indexActive
=
index
;
},
initMap
:
function
()
{
//所有坐标
var
locations
=
new
Array
(
"31.953313,121.841581"
,
"31.15347,121.291706"
,
"31.207516,121.412556"
,
"31.122909,121.458561"
,
"31.118207,121.38715"
,
"31.041168,121.426289"
,
"30.985262,121.301319"
,
"31.057934,121.305834"
);
//地图
var
map
;
var
marker
;
var
poly
;
/* 加载地图 */
var
latlng
=
new
google
.
maps
.
LatLng
(
31.253313
,
121.241581
);
var
myOptions
=
{
zoom
:
10
,
//缩放级别
center
:
latlng
,
//坐标
mapTypeId
:
google
.
maps
.
MapTypeId
.
ROADMAP
//类型:默认的普通二维图块
};
map
=
new
google
.
maps
.
Map
(
document
.
getElementById
(
"map_canvas"
),
myOptions
);
// console.log(google)
// 线条设置
// var polyOptions = {
// strokeColor: '#4a90e2', // 颜色
// strokeOpacity: 1.0, // 透明度
// strokeWeight: 2 // 宽度
// }
// poly = new google.maps.Polyline(polyOptions);
// poly.setMap(map); // 装载
/* 循环标出所有坐标 */
// for(var i=0; i
<
locations
.
length
;
i
++
){
// var loc = locations[i].split(',');
// var path = poly.getPath(); //获取线条的坐标
// path.push(new google.maps.LatLng(loc[0], loc[1])); //为线条添加标记坐标
// //生成标记图标
// marker = new google.maps.MarkerWithLabel({
// position: new google.maps.LatLng(loc[0], loc[1]),
// labelContent: `
<
div
>
//
<
img
src
=
"http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,m_fixed,h_50,w_50"
><
/img
>
//
<
p
>
新疆
-
北京
<
/p
>
//
<
/div>`, /
/
需要显示的标题的内容
// labelAnchor: 0, //当前标题基于marker左上角的偏移
// labelStyle:{ //标题的style样式
// color: "red",
// fontSize: "12px"
// },
// map: map,
// labelClass:"_labelClass", //支持直接绑定class名,将样式写在css里面
// // icon: "http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,m_fixed,h_50,w_50"
// })
// }
var
latlng
=
new
google
.
maps
.
LatLng
(
31.253313
,
121.241581
);
var
myOptions
=
{
zoom
:
10
,
//缩放级别
center
:
latlng
,
//坐标
mapTypeId
:
google
.
maps
.
MapTypeId
.
ROADMAP
//类型:默认的普通二维图块
};
map
=
new
google
.
maps
.
Map
(
document
.
getElementById
(
"map_canvas"
),
myOptions
);
// console.log(google)
// 线条设置
// var polyOptions = {
// strokeColor: '#4a90e2', // 颜色
// strokeOpacity: 1.0, // 透明度
// strokeWeight: 2 // 宽度
// }
// poly = new google.maps.Polyline(polyOptions);
// poly.setMap(map); // 装载
/* 循环标出所有坐标 */
// for(var i=0; i
<
locations
.
length
;
i
++
){
// var loc = locations[i].split(',');
// var path = poly.getPath(); //获取线条的坐标
// path.push(new google.maps.LatLng(loc[0], loc[1])); //为线条添加标记坐标
// //生成标记图标
// marker = new google.maps.MarkerWithLabel({
// position: new google.maps.LatLng(loc[0], loc[1]),
// labelContent: `
<
div
>
//
<
img
src
=
"http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,m_fixed,h_50,w_50"
><
/img
>
//
<
p
>
新疆
-
北京
<
/p
>
//
<
/div>`, /
/
需要显示的标题的内容
// labelAnchor: 0, //当前标题基于marker左上角的偏移
// labelStyle:{ //标题的style样式
// color: "red",
// fontSize: "12px"
// },
// map: map,
// labelClass:"_labelClass", //支持直接绑定class名,将样式写在css里面
// // icon: "http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,m_fixed,h_50,w_50"
// })
// }
}
}
}
}
</
script
>
</
script
>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment