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
3979b429
Commit
3979b429
authored
Dec 27, 2019
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
c537e89e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
724 additions
and
610 deletions
+724
-610
detailTwo.vue
src/components/mall/detailTwo.vue
+724
-610
No files found.
src/components/mall/detailTwo.vue
View file @
3979b429
<
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,511 +746,533 @@
<
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
:
{}
})
},
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
:
{}
})
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