Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
SuperMan
Commits
1addad72
Commit
1addad72
authored
Oct 08, 2024
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
合同行程调整
parent
d3c8219a
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
942 additions
and
195 deletions
+942
-195
DomesticTravelcontract.vue
src/components/DomesticTravelcontract.vue
+456
-14
TravelContractNew.vue
src/components/TravelContractNew.vue
+20
-158
onedayTripContract.vue
src/components/onedayTripContract.vue
+466
-23
No files found.
src/components/DomesticTravelcontract.vue
View file @
1addad72
...
...
@@ -886,9 +886,147 @@
(8)行程安排的娱乐活动(明确娱乐活动的时间、地点和项目内容);
《行程单》用语须准确清晰,在表明服务标准用语中不应当出现“准×星级”、“豪华”、“仅供参考”、“以××为准”、“与××同级”等不确定用语。
</div>
<div
v-if=
"IsLoad==1"
>
<
!--
<
div
v-if=
"IsLoad==1"
>
<commonTripList
@
tripData=
"tripData"
:ContractTripList=
"CtObj.ContractTripList"
:TripType=
"CtObj.TripType"
>
</commonTripList>
</div>
-->
<div
v-if=
"CtObj.ID>0&&CtObj.ContractTripList&&CtObj.ContractTripList.length==1"
v-html=
"CtObj.ContractTripList[0].TravelContent"
ref=
"TcTravel_Table"
></div>
<div
v-else
ref=
"TcTravel_Table"
>
<table
class=
"TcTravel_Table"
>
<tbody>
<tr>
<td
colspan=
"5"
contenteditable=
"true"
>
组团社:印象之旅
</td>
</tr>
<tr>
<td
colspan=
"5"
contenteditable=
"true"
>
旅游线路名称:
{{
CtObj
.
C_ProductName
}}
行程共计:
{{
CtObj
.
C_DayNum
}}
天
{{
CtObj
.
C_NightNum
}}
晚(含在途时间)
</td>
</tr>
<tr>
<td
colspan=
"5"
contenteditable=
"true"
>
出发时间:
{{
getDate
(
CtObj
.
C_StartDate
)
}}
出发地点:
{{
CtObj
.
C_StartAddress
}}
目的地:
{{
CtObj
.
touristDestination
}}
</td>
</tr>
<tr>
<td
colspan=
"5"
contenteditable=
"true"
>
结束时间:
{{
getDate
(
CtObj
.
C_EndDate
)
}}
返回地点:
{{
CtObj
.
C_ReturnAddress
}}
</td>
</tr>
<tr>
<td
colspan=
"5"
>
<div
style=
"display: flex"
>
<span>
地接社名称:
</span>
<div
contenteditable=
"true"
style=
"width: 250px"
>
株式会社 ピースインターナショナル
</div>
</div>
</td>
</tr>
<tr>
<td
style=
"width: 15%"
>
行程时间
</td>
<td
style=
"width: 50%"
>
主要景点名称(游览时间)
</td>
<td>
交通工具(标准)
</td>
<td>
酒店标准
</td>
<td>
房间标准
</td>
</tr>
<tr
v-for=
"(item, index) in tripDays"
:key=
"`td_`+index"
>
<td
contenteditable=
"true"
>
{{
getDayAddOne
(
CtObj
.
C_StartDate
,
index
)
}}
</td>
<td
contenteditable=
"true"
>
<div
v-for=
"(subItem,subIndex) in item.dayArray"
:key=
"`tdd_`+index+subIndex"
>
<span
v-if=
"subItem.type == 2"
>
{{
subItem
.
childItem
.
couponsName
}}
<span
v-if=
"
subItem.childItem.playTimeHour != null &&
subItem.childItem.playTimeHour != ''
"
>
(
{{
subItem
.
childItem
.
playTimeHour
}}
小时
</span>
<span
v-if=
"
subItem.childItem.playTimeMinutes != null &&
subItem.childItem.playTimeMinutes != ''
"
>
<template
v-if=
"
subItem.childItem.playTimeHour == null &&
subItem.childItem.playTimeHour != ''
"
>
(
</
template
>
{{ subItem.childItem.playTimeMinutes }}分钟)
</span>
</span>
<span
v-if=
"
subItem.type == 7 &&
(index == 0 || index == tripDays.length - 1)
"
>
{{ subItem.childItem.title }}
</span>
</div>
</td>
<td
contenteditable=
"true"
>
{{ item.TrifficType }}
</td>
<td
contenteditable=
"true"
>
<span
v-if=
"index != tripList.length - 1"
>
旅游酒店
</span>
<span
v-else
>
无
</span>
</td>
<td
contenteditable=
"true"
>
<span
v-if=
"index != tripList.length - 1"
>
双人间
</span>
<span
v-else
>
无
</span>
</td>
</tr>
<tr>
<td
colspan=
"5"
class=
"TC_LASTTD"
contenteditable=
"true"
>
<div>
备注:1、在主要景点的游览时间不小于此数的时间,以小时填;
<br
/>
2、交通工具不含景区观光车、索道等;
<br
/>
3、“交通工具”栏中的“标准”按各类别的标准填写。
</div>
<div>
飞机:头等舱/商务舱/经济舱;
汽车:空调大巴/空调卧铺/普通客车
</div>
<div>
火车:普通车/空调车/动车组(其中:软卧/硬卧/软座/硬座);
</div>
<div
style=
"color: red"
>
注:用房
:全程酒店均为二人一间,如您的订单产生单房,在未补单房差的情况下,我社将尽量安排您与其它客人拼房或是与同行者入住三人房,不可选择房型。敬请配合,服从调配。
</div>
<
template
v-if=
"CtObj.TeamType == 2"
>
<div>
备注:
<br
/>
注:《1》本行程交通、住宿、用餐、观光点尽量忠于原行程,若遇特殊状况:如天气、交通阻塞、路况等、观光点休假、住宿饭店调整及其它不可抗拒之现象,行程会有所变动,相应调整,本公司保有变更行程之权利。尽量忠于原行程,敬请谅解!
<br
/>
注:《2》根据人数调配车型,不可以指定车型车牌!
<br
/>
注:《3》由于停车问题,司机兼向导大多数情况下为沿途讲解,不入景区,司机兼向导最重要的是保证贵宾的行车安全,敬请谅解!如果对讲解有特别高的要求,建议加配专职导游!
<br
/>
注:《4》あいおいニッセイ同和損害保険株式会社的保险保障只针对日本以外的外国人有效,不适用于:持在留卡者及日本本国人。敬请注意!
<br
/>
【行程中的观光时间仅限参考,实际旅行过程中有时间浮动敬请贵宾谅解为谢!!!】
<br
/>
※因本行程为精品拼团游,雨雪天行驶较为困难,故建议于出发前
10 分钟⾄集合地点等候,请贵宾注意集合时间。
<br
/>
※⾏程时间由司导根据⻋程远近等情况来进⾏安排,请互相理解配合,统⼀听从司导安排!精品散拼团
请贵宾时间严守!
<br
/>
※再次提醒短途旅行,请贵宾携带小包出行,【不要带大件礼箱!】
<br
/>
【退改规则】
<br
/>
出发前 11-8 天(不含),收取损失30%。
<br
/>
出发前 3~7(不含),收取损失50%。
<br
/>
出发前 2~3 天(含),收取损失 80%。
<br
/>
出发前 1 天(含),将不退还任何费⽤,收取损失100%
<br
/>
</div>
</
template
>
</td>
</tr>
</tbody>
</table>
</div>
<div
style=
"padding:10px;background:#f9f9f9;color:red;"
>
注:用房
...
...
@@ -1139,13 +1277,13 @@
</div>
</template>
<
script
>
import
moment
from
"moment"
;
import
commonTripList
from
"./commonPage/commonTripList.vue"
;
export
default
{
data
()
{
return
{
//选中切换
cked
:
1
,
IsLoad
:
0
,
//是加载行程信息
//查询参数
msg
:
{
TCID
:
0
,
...
...
@@ -1366,12 +1504,30 @@
tripStr
:
'切换到标准行程录入'
,
//防止重复提交
isSubmit
:
true
,
startDate
:
""
,
tripDays
:
[],
trifficList
:
[],
tripList
:
[],
LineName
:
""
,
};
},
components
:
{
commonTripList
:
commonTripList
},
methods
:
{
getDate
(
date
)
{
if
(
date
&&
date
!=
""
)
{
return
moment
(
date
).
format
(
"YYYY-MM-DD"
);
}
return
""
;
},
//加一天返回
getDayAddOne
(
day
,
num
)
{
if
(
day
&&
day
!=
""
)
{
return
moment
(
day
).
add
(
num
,
"days"
).
format
(
"MM/DD"
);
}
return
""
;
},
changeSignType
()
{
if
(
this
.
CtObj
.
SignType
==
0
)
{
this
.
CtObj
.
TravelAgency_Name
=
"四川和平国际旅行社有限公司"
;
...
...
@@ -1407,6 +1563,9 @@
//提交数据
SaveMsg
()
{
if
(
this
.
isSubmit
)
{
if
(
this
.
CtObj
.
ContractTripList
&&
this
.
CtObj
.
ContractTripList
.
length
>
0
)
{
this
.
CtObj
.
ContractTripList
[
0
].
TravelContent
=
this
.
$refs
.
TcTravel_Table
.
innerHTML
;
}
this
.
isSubmit
=
false
;
this
.
apipost
(
"travelcontract_post_SetTravelContractService"
,
...
...
@@ -1416,11 +1575,14 @@
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
CtObj
.
ID
=
res
.
data
.
data
;
this
.
$router
.
push
({
name
:
'DomesticTravelcontract'
,
query
:
{
var
queryMsg
=
{
id
:
res
.
data
.
data
,
TCID
:
this
.
CtObj
.
TCID
,
OrderId
:
this
.
CtObj
.
OrderId
,
}
this
.
$router
.
push
({
name
:
'DomesticTravelcontract'
,
query
:
queryMsg
});
}
else
{
this
.
Error
(
res
.
data
.
message
);
...
...
@@ -1478,7 +1640,6 @@
delWilling
(
index
)
{
this
.
CtObj
.
ContractSelfFeeList
.
splice
(
index
,
1
);
},
//添加游客信息
addTourist
()
{
this
.
CtObj
.
ContractGuestList
.
forEach
((
x
,
index
)
=>
{
...
...
@@ -1558,13 +1719,17 @@
GetData
()
{
this
.
apipost
(
"travelcontract_get_GetTravelContractService"
,
{
ID
:
this
.
CtObj
.
ID
ID
:
this
.
CtObj
.
ID
,
TCID
:
this
.
CtObj
.
TCID
,
OrderId
:
this
.
CtObj
.
OrderId
,
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempObj
=
res
.
data
.
data
;
this
.
CtObj
.
ID
=
tempObj
.
ID
;
if
(
tempObj
.
CType
)
{
this
.
CtObj
.
CType
=
tempObj
.
CType
;
}
this
.
CtObj
.
T_ContractNum
=
tempObj
.
T_ContractNum
;
this
.
CtObj
.
Tourists_Name
=
tempObj
.
Tourists_Name
;
this
.
CtObj
.
Tourists_IDNum
=
tempObj
.
Tourists_IDNum
;
...
...
@@ -1662,9 +1827,15 @@
this
.
CtObj
.
PickUpTotalPrice
=
tempObj
.
PickUpTotalPrice
;
this
.
CtObj
.
VisaTotalPrice
=
tempObj
.
VisaTotalPrice
;
this
.
CtObj
.
GuestNum
=
tempObj
.
GuestNum
;
this
.
CtObj
.
TravelAgency_Name
=
tempObj
.
TravelAgency_Name
;
this
.
CtObj
.
TravelAgency_Address
=
tempObj
.
TravelAgency_Address
;
this
.
CtObj
.
TravelAgency_LicenseNum
=
tempObj
.
TravelAgency_LicenseNum
;
if
(
tempObj
.
TravelAgency_Name
&&
tempObj
.
TravelAgency_Name
!=
''
)
{
this
.
CtObj
.
TravelAgency_Name
=
tempObj
.
TravelAgency_Name
;
}
if
(
tempObj
.
TravelAgency_Address
&&
tempObj
.
TravelAgency_Address
!=
''
)
{
this
.
CtObj
.
TravelAgency_Address
=
tempObj
.
TravelAgency_Address
;
}
if
(
tempObj
.
TravelAgency_LicenseNum
&&
tempObj
.
TravelAgency_LicenseNum
!=
''
)
{
this
.
CtObj
.
TravelAgency_LicenseNum
=
tempObj
.
TravelAgency_LicenseNum
;
}
this
.
CtObj
.
TicketAndHotelTotalPrice
=
tempObj
.
TicketAndHotelTotalPrice
;
if
(
...
...
@@ -1730,8 +1901,16 @@
this
.
CtObj
.
ContractTripList
=
tempObj
.
ContractTripList
;
}
else
{
this
.
CtObj
.
ContractTripList
=
[];
var
tripObj
=
{
TripType
:
1
,
DayNum
:
1
,
Go
:
""
,
GoProvice
:
""
,
IsOut
:
0
,
TravelContent
:
""
};
this
.
CtObj
.
ContractTripList
.
push
(
tripObj
);
}
this
.
IsLoad
=
1
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
@@ -1749,10 +1928,273 @@
item
.
IsShow
=
0
;
this
.
$forceUpdate
();
},
//获取行程信息
GetTrip
(
TCID
)
{
this
.
tripList
=
[];
this
.
startDate
=
""
;
var
nTCID
=
0
;
if
(
TCID
)
{
nTCID
=
TCID
;
}
var
msg
=
{
configId
:
0
,
tcid
:
nTCID
,
isClick
:
1
,
//不算统计
};
//根据ID 获取行程内容
this
.
apipost
(
"b2b_get_GetB2BTravelInfoNoDes"
,
msg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
data
.
priceList
&&
res
.
data
.
data
.
priceList
.
length
>
0
)
{
this
.
startDate
=
res
.
data
.
data
.
priceList
[
0
].
startDate
;
}
this
.
tripDays
=
res
.
data
.
data
.
dayList
;
this
.
trifficList
=
res
.
data
.
data
.
trafficList
;
this
.
tripList
=
res
.
data
.
data
.
dayList
;
this
.
LineName
=
res
.
data
.
data
.
lineName
;
this
.
init
();
}
},
(
err
)
=>
{});
},
init
()
{
this
.
tripList
.
forEach
((
x
,
j
)
=>
{
let
useDinnerTypeBy
=
""
;
let
jin
=
[],
jiu
=
[],
jiu2
=
[],
jiao
=
[],
dadian
=
[],
tips
=
[],
activy
=
[],
can
=
{
breakfirst
:
"敬请自理"
,
lanuch
:
"敬请自理"
,
dinner
:
"敬请自理"
,
};
x
.
dayArray
.
forEach
((
y
,
index
)
=>
{
if
(
y
.
type
==
7
&&
y
.
childItem
.
title
!=
""
)
{
let
obj
=
{
title
:
y
.
childItem
.
title
,
content
:
y
.
childItem
.
description
,
img
:
y
.
childItem
.
imaArray
&&
y
.
childItem
.
imaArray
.
length
>
0
?
y
.
childItem
.
imaArray
[
0
].
url
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
dadian
.
push
(
obj
);
}
else
if
(
y
.
type
==
1
&&
y
.
childItem
.
subTraffic
.
length
>
0
)
{
let
title
=
""
;
y
.
childItem
.
subTraffic
.
forEach
((
z
,
i
)
=>
{
title
+=
z
.
startCityName
;
if
(
z
.
arrivalType
==
1
)
{
title
+=
"-"
;
}
else
if
(
z
.
arrivalType
==
2
)
{
title
+=
"-"
;
}
else
if
(
z
.
arrivalType
==
3
)
{
title
+=
"-"
;
}
else
{
title
+=
"-"
;
}
if
(
i
+
1
==
y
.
childItem
.
subTraffic
.
length
)
{
title
+=
z
.
arrivalCityName
;
}
});
let
obj
=
{
title
:
title
,
content
:
y
.
childItem
.
description
,
img
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
jiao
.
push
(
obj
);
}
else
if
(
y
.
type
==
2
&&
y
.
childItem
.
couponsName
!=
""
&&
y
.
childItem
.
imaArray
.
length
>
0
)
{
let
obj
=
{
title
:
y
.
childItem
.
couponsName
,
content
:
y
.
childItem
.
description
,
img
:
y
.
childItem
.
imaArray
[
0
].
url
,
ticketName
:
y
.
childItem
.
couponsTicketName
,
playTimeHour
:
y
.
childItem
.
playTimeHour
,
playTimeMinutes
:
y
.
childItem
.
playTimeHour
,
};
jin
.
push
(
obj
);
}
else
if
(
y
.
type
==
3
&&
y
.
childItem
.
hotelName
!=
""
&&
y
.
childItem
.
imaArray
.
length
>
0
)
{
let
obj
=
{
title
:
y
.
childItem
.
hotelName
,
content
:
y
.
childItem
.
description
,
img
:
y
.
childItem
.
imaArray
[
0
].
url
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
jiu
.
push
(
obj
);
}
else
if
(
y
.
type
==
4
)
{
if
(
y
.
childItem
.
useDinnerType
==
"1"
)
{
can
.
breakfirst
=
y
.
childItem
.
dinnerName
;
}
else
if
(
y
.
childItem
.
useDinnerType
==
"2"
)
{
can
.
lanuch
=
y
.
childItem
.
dinnerName
;
}
else
if
(
y
.
childItem
.
useDinnerType
==
"3"
)
{
can
.
dinner
=
y
.
childItem
.
dinnerName
;
}
}
else
if
(
y
.
type
==
5
)
{
let
obj
=
{
title
:
"自由活动"
,
content
:
y
.
childItem
.
description
,
img
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
activy
.
push
(
obj
);
}
else
if
(
y
.
type
==
6
)
{
let
obj
=
{
title
:
y
.
childItem
.
title
,
content
:
y
.
childItem
.
description
,
img
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
tips
.
push
(
obj
);
}
if
(
y
.
type
==
3
)
{
jiu2
.
push
(
y
.
childItem
.
hotelName
);
useDinnerTypeBy
=
y
.
childItem
.
useDinnerType
;
}
});
if
(
can
.
breakfirst
==
"敬请自理"
&&
useDinnerTypeBy
.
indexOf
(
"1"
)
!=
-
1
)
{
can
.
breakfirst
=
"酒店内享用早餐"
;
}
if
(
can
.
lanuch
==
"敬请自理"
&&
useDinnerTypeBy
.
indexOf
(
"2"
)
!=
-
1
)
{
can
.
lanuch
=
"酒店自助"
;
}
if
(
can
.
dinner
==
"敬请自理"
&&
useDinnerTypeBy
.
indexOf
(
"3"
)
!=
-
1
)
{
can
.
dinner
=
"酒店自助"
;
}
x
.
can
=
can
;
let
details
=
[];
x
.
tips
=
tips
;
x
.
jiu2
=
jiu2
;
if
(
jin
.
length
>
0
)
{
details
=
jin
;
}
else
if
(
jiu
.
length
>
0
)
{
details
=
jiu
;
}
else
if
(
dadian
.
length
>
0
)
{
details
=
dadian
;
}
else
if
(
jiao
.
length
>
0
)
{
if
(
j
==
this
.
tripList
.
length
-
1
)
{
let
obj
=
{
title
:
"温暖的家"
,
content
:
"感谢您参加本次行程,期待下次与您相遇"
,
img
:
""
,
};
details
.
push
(
obj
);
}
else
{
details
=
jiao
;
}
}
else
if
(
activy
.
length
>
0
)
{
details
=
activy
;
}
x
.
title
=
dadian
.
length
>
0
?
dadian
[
0
].
title
:
jiao
.
length
>
0
?
jiao
[
0
].
title
:
"集合出发"
;
x
.
details
=
details
;
if
(
x
.
details
.
length
==
0
)
{
if
(
j
==
0
)
{
let
obj
=
{
title
:
"集合出发"
,
content
:
"向着远方的目标出发起飞"
,
img
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
details
.
push
(
obj
);
}
else
if
(
j
==
this
.
tripList
.
length
-
1
)
{
let
obj
=
{
title
:
"温暖的家"
,
content
:
"感谢您参加本次行程,期待下次与您相遇"
,
img
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
details
.
push
(
obj
);
}
}
else
{
if
(
x
.
title
==
"集合出发"
)
{
x
.
details
.
forEach
((
xc
)
=>
{
if
(
xc
.
title
!==
undefined
)
x
.
title
=
xc
.
title
+
"~"
;
});
if
(
x
.
title
==
"集合出发"
)
{
if
(
j
>
0
&&
j
<
tripList
.
length
-
1
)
x
.
title
=
"自由活动"
;
}
else
{
x
.
title
=
x
.
title
.
substring
(
0
,
x
.
title
.
length
-
1
);
}
}
}
x
.
islast
=
j
+
1
==
this
.
tripList
.
length
;
this
.
$set
(
this
.
tripList
,
j
,
x
);
});
for
(
let
i
=
this
.
tripList
.
length
-
1
;
i
>=
0
;
i
--
)
{
if
(
i
==
0
)
this
.
tripList
[
i
].
can
.
breakfirst
=
"敬请自理"
;
else
{
this
.
tripList
[
i
].
can
.
breakfirst
=
this
.
tripList
[
i
-
1
].
can
.
breakfirst
;
if
(
this
.
tripList
[
i
].
lineId
!=
5
&&
this
.
tripList
[
i
].
can
.
breakfirst
==
"敬请自理"
)
this
.
tripList
[
i
].
can
.
breakfirst
=
"酒店内享用早餐"
;
}
}
this
.
trifficList
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
airportPickUp
==
1
||
x
.
airportPickUp
==
2
)
{
if
(
x
.
isUseBus
==
1
)
{
this
.
tripDays
[
index
].
TrifficType
=
"飞机+大巴"
;
}
}
if
(
x
.
airportPickUp
==
0
&&
x
.
isUseBus
==
1
)
{
this
.
tripDays
[
index
].
TrifficType
=
"大巴"
;
}
if
(
x
.
airportPickUp
==
1
||
x
.
airportPickUp
==
2
)
{
if
(
x
.
isUseBus
==
0
)
{
this
.
tripDays
[
index
].
TrifficType
=
"飞机"
;
}
}
if
(
x
.
airportPickUp
==
0
||
x
.
airportPickUp
==
0
)
{
if
(
x
.
isUseBus
==
0
)
{
this
.
tripDays
[
index
].
TrifficType
=
"无"
;
}
}
});
},
},
created
()
{
if
(
this
.
$route
.
query
.
TCID
&&
this
.
$route
.
query
.
TCID
>
0
)
{
this
.
CtObj
.
TCID
=
this
.
$route
.
query
.
TCID
;
this
.
GetTrip
(
this
.
CtObj
.
TCID
);
}
if
(
this
.
$route
.
query
.
orderID
&&
this
.
$route
.
query
.
orderID
>
0
)
{
this
.
CtObj
.
OrderId
=
this
.
$route
.
query
.
orderID
;
...
...
@@ -1761,9 +2203,9 @@
mounted
()
{
if
(
this
.
$route
.
query
.
id
&&
this
.
$route
.
query
.
id
>
0
)
{
this
.
CtObj
.
ID
=
this
.
$route
.
query
.
id
;
}
if
(
this
.
CtObj
.
ID
>
0
||
this
.
CtObj
.
TCID
>
0
)
{
this
.
GetData
();
}
else
{
this
.
IsLoad
=
1
;
}
this
.
$nextTick
(
function
()
{
//滚动监听事件
...
...
src/components/TravelContractNew.vue
View file @
1addad72
...
...
@@ -2211,7 +2211,6 @@
tcid
:
nTCID
,
isClick
:
1
,
//不算统计
};
if
(
id
!==
undefined
)
{
//根据ID 获取行程内容
this
.
apipost
(
"b2b_get_GetB2BTravelInfoNoDes"
,
...
...
@@ -2233,143 +2232,6 @@
},
(
err
)
=>
{}
);
}
else
{
var
dayList
=
[];
this
.
subConfig
.
DayList
.
forEach
((
objItem
,
objIndex
)
=>
{
var
dayItem
=
this
.
$tripUtils
.
daysArrayObj
();
dayItem
.
dayNum
=
objItem
.
dayNum
;
//每一天的数组
var
dayArray
=
[];
//子项遍历
objItem
.
dayArray
.
forEach
((
subItem
)
=>
{
switch
(
subItem
.
Type
)
{
//交通
case
"1"
:
var
subTraffiArray
=
[];
subItem
.
childItem
.
SubTraffic
.
forEach
((
subTrafficItem
)
=>
{
subTraffiArray
.
push
({
startCityName
:
subTrafficItem
.
StartCityName
,
arrivalType
:
subTrafficItem
.
ArrivalType
,
arrivalCityName
:
subTrafficItem
.
ArrivalCityName
,
});
});
var
trafficObj
=
{
type
:
subItem
.
Type
,
childItem
:
{
description
:
subItem
.
childItem
.
Description
,
subTraffic
:
subTraffiArray
,
},
};
dayArray
.
push
(
trafficObj
);
break
;
//景点
case
"2"
:
var
imgArray
=
[];
subItem
.
childItem
.
ImaArray
.
forEach
((
imgItem
)
=>
{
imgArray
.
push
({
url
:
imgItem
.
Url
,
name
:
imgItem
.
Name
,
});
});
var
scenicObj
=
{
type
:
subItem
.
Type
,
childItem
:
{
couponsName
:
subItem
.
childItem
.
CouponsName
,
couponsTicketName
:
subItem
.
childItem
.
CouponsTicketName
,
playTimeHour
:
subItem
.
childItem
.
PlayTimeHour
,
playTimeMinutes
:
subItem
.
childItem
.
PlayTimeMinutes
,
description
:
subItem
.
childItem
.
Description
,
imaArray
:
imgArray
,
},
};
dayArray
.
push
(
scenicObj
);
break
;
//酒店
case
"3"
:
var
imgArray
=
[];
subItem
.
childItem
.
ImaArray
.
forEach
((
imgItem
)
=>
{
imgArray
.
push
({
url
:
imgItem
.
Url
,
name
:
imgItem
.
Name
,
});
});
var
hotelObj
=
{
type
:
subItem
.
Type
,
childItem
:
{
hotelName
:
subItem
.
childItem
.
HotelName
,
hotelProductName
:
subItem
.
childItem
.
HotelProductName
,
useDinnerType
:
subItem
.
childItem
.
UseDinnerType
,
description
:
subItem
.
childItem
.
Description
,
imaArray
:
imgArray
,
},
};
dayArray
.
push
(
hotelObj
);
break
;
//餐厅
case
"4"
:
var
imgArray
=
[];
subItem
.
childItem
.
ImaArray
.
forEach
((
imgItem
)
=>
{
imgArray
.
push
({
url
:
imgItem
.
Url
,
name
:
imgItem
.
Name
,
});
});
var
dinnerObj
=
{
type
:
subItem
.
Type
,
childItem
:
{
dinnerName
:
subItem
.
childItem
.
DinnerName
,
mealName
:
subItem
.
childItem
.
MinnerName
,
useDinnerType
:
subItem
.
childItem
.
UseDinnerType
,
useTimeHour
:
subItem
.
childItem
.
UseTimeHour
,
useTimeMinutes
:
subItem
.
childItem
.
UseTimeMinutes
,
description
:
subItem
.
childItem
.
Description
,
descriptionText
:
subItem
.
childItem
.
Description
,
imaArray
:
imgArray
,
},
};
dayArray
.
push
(
dinnerObj
);
break
;
//自由活动
case
"5"
:
var
freedomObj
=
{
type
:
subItem
.
Type
,
childItem
:
{
description
:
subItem
.
Description
,
descriptionText
:
subItem
.
Description
,
},
};
dayArray
.
push
(
freedomObj
);
break
;
//温馨提示
case
"6"
:
var
warmObj
=
{
type
:
subItem
.
Type
,
childItem
:
{
description
:
subItem
.
Description
,
descriptionText
:
subItem
.
Description
,
},
};
dayArray
.
push
(
warmObj
);
break
;
//行程大点
case
"7"
:
var
titleObj
=
{
type
:
subItem
.
Type
,
childItem
:
{
title
:
subItem
.
childItem
.
Title
,
description
:
subItem
.
childItem
.
Description
,
},
};
dayArray
.
push
(
titleObj
);
break
;
}
});
dayItem
.
dayArray
=
dayArray
;
dayList
.
push
(
dayItem
);
});
this
.
tripList
=
dayList
;
this
.
init
();
}
},
init
()
{
this
.
tripList
.
forEach
((
x
,
j
)
=>
{
...
...
src/components/onedayTripContract.vue
View file @
1addad72
...
...
@@ -346,6 +346,7 @@
cursor
:
default
!important
;
box-shadow
:
none
!important
;
}
</
style
>
<
template
>
<div
class=
"TC-MainContent"
>
...
...
@@ -903,7 +904,8 @@
</span>
<h2>
<em>
行程信息
</em>
<input
type=
"button"
class=
"Tc_ExchangeBtn"
@
click=
"exchangeTrip()"
:value=
"tripStr"
/>
<input
type=
"button"
class=
"Tc_ExchangeBtn"
@
click=
"exchangeTrip()"
:value=
"tripStr"
style=
"display:none;"
/>
</h2>
</div>
<div
style=
"padding:10px;background:#f9f9f9;color:red;"
>
...
...
@@ -918,9 +920,148 @@
(8)行程安排的娱乐活动(明确娱乐活动的时间、地点和项目内容);
《行程单》用语须准确清晰,在表明服务标准用语中不应当出现“准×星级”、“豪华”、“仅供参考”、“以××为准”、“与××同级”等不确定用语。
</div>
<div
v-if=
"IsLoad==1"
>
<!-- <div v-if="IsLoad==1">
<commonTripList @tripData="tripData" :ContractTripList="CtObj.ContractTripList" :TripType="CtObj.TripType">
</commonTripList>
</div> -->
<div
v-if=
"CtObj.ID>0&&CtObj.ContractTripList&&CtObj.ContractTripList.length==1"
v-html=
"CtObj.ContractTripList[0].TravelContent"
ref=
"TcTravel_Table"
></div>
<div
v-else
ref=
"TcTravel_Table"
>
<table
class=
"TcTravel_Table"
>
<tbody>
<tr>
<td
colspan=
"5"
contenteditable=
"true"
>
组团社:印象之旅
</td>
</tr>
<tr>
<td
colspan=
"5"
contenteditable=
"true"
>
旅游线路名称:{{
CtObj.C_ProductName
}}
行程共计:{{ CtObj.C_DayNum }}天
{{ CtObj.C_NightNum }}晚(含在途时间)
</td>
</tr>
<tr>
<td
colspan=
"5"
contenteditable=
"true"
>
出发时间:{{
getDate(CtObj.C_StartDate)
}}
出发地点:{{
CtObj.C_StartAddress
}}
目的地:{{
CtObj.touristDestination
}}
</td>
</tr>
<tr>
<td
colspan=
"5"
contenteditable=
"true"
>
结束时间:{{
getDate(CtObj.C_EndDate)
}}
返回地点:{{ CtObj.C_ReturnAddress }}
</td>
</tr>
<tr>
<td
colspan=
"5"
>
<div
style=
"display: flex"
>
<span>
地接社名称:
</span>
<div
contenteditable=
"true"
style=
"width: 250px"
>
株式会社 ピースインターナショナル
</div>
</div>
</td>
</tr>
<tr>
<td
style=
"width: 15%"
>
行程时间
</td>
<td
style=
"width: 50%"
>
主要景点名称(游览时间)
</td>
<td>
交通工具(标准)
</td>
<td>
酒店标准
</td>
<td>
房间标准
</td>
</tr>
<tr
v-for=
"(item, index) in tripDays"
:key=
"`td_`+index"
>
<td
contenteditable=
"true"
>
{{ getDayAddOne(CtObj.C_StartDate, index) }}
</td>
<td
contenteditable=
"true"
>
<div
v-for=
"(subItem,subIndex) in item.dayArray"
:key=
"`tdd_`+index+subIndex"
>
<span
v-if=
"subItem.type == 2"
>
{{ subItem.childItem.couponsName }}
<span
v-if=
"
subItem.childItem.playTimeHour != null &&
subItem.childItem.playTimeHour != ''
"
>
({{ subItem.childItem.playTimeHour }}小时
</span>
<span
v-if=
"
subItem.childItem.playTimeMinutes != null &&
subItem.childItem.playTimeMinutes != ''
"
>
<
template
v-if=
"
subItem.childItem.playTimeHour == null &&
subItem.childItem.playTimeHour != ''
"
>
(
</
template
>
{{ subItem.childItem.playTimeMinutes }}分钟)
</span>
</span>
<span
v-if=
"
subItem.type == 7 &&
(index == 0 || index == tripDays.length - 1)
"
>
{{ subItem.childItem.title }}
</span>
</div>
</td>
<td
contenteditable=
"true"
>
{{ item.TrifficType }}
</td>
<td
contenteditable=
"true"
>
<span
v-if=
"index != tripList.length - 1"
>
旅游酒店
</span>
<span
v-else
>
无
</span>
</td>
<td
contenteditable=
"true"
>
<span
v-if=
"index != tripList.length - 1"
>
双人间
</span>
<span
v-else
>
无
</span>
</td>
</tr>
<tr>
<td
colspan=
"5"
class=
"TC_LASTTD"
contenteditable=
"true"
>
<div>
备注:1、在主要景点的游览时间不小于此数的时间,以小时填;
<br
/>
2、交通工具不含景区观光车、索道等;
<br
/>
3、“交通工具”栏中的“标准”按各类别的标准填写。
</div>
<div>
飞机:头等舱/商务舱/经济舱;
汽车:空调大巴/空调卧铺/普通客车
</div>
<div>
火车:普通车/空调车/动车组(其中:软卧/硬卧/软座/硬座);
</div>
<div
style=
"color: red"
>
注:用房
:全程酒店均为二人一间,如您的订单产生单房,在未补单房差的情况下,我社将尽量安排您与其它客人拼房或是与同行者入住三人房,不可选择房型。敬请配合,服从调配。
</div>
<
template
v-if=
"CtObj.TeamType == 2"
>
<div>
备注:
<br
/>
注:《1》本行程交通、住宿、用餐、观光点尽量忠于原行程,若遇特殊状况:如天气、交通阻塞、路况等、观光点休假、住宿饭店调整及其它不可抗拒之现象,行程会有所变动,相应调整,本公司保有变更行程之权利。尽量忠于原行程,敬请谅解!
<br
/>
注:《2》根据人数调配车型,不可以指定车型车牌!
<br
/>
注:《3》由于停车问题,司机兼向导大多数情况下为沿途讲解,不入景区,司机兼向导最重要的是保证贵宾的行车安全,敬请谅解!如果对讲解有特别高的要求,建议加配专职导游!
<br
/>
注:《4》あいおいニッセイ同和損害保険株式会社的保险保障只针对日本以外的外国人有效,不适用于:持在留卡者及日本本国人。敬请注意!
<br
/>
【行程中的观光时间仅限参考,实际旅行过程中有时间浮动敬请贵宾谅解为谢!!!】
<br
/>
※因本行程为精品拼团游,雨雪天行驶较为困难,故建议于出发前
10 分钟⾄集合地点等候,请贵宾注意集合时间。
<br
/>
※⾏程时间由司导根据⻋程远近等情况来进⾏安排,请互相理解配合,统⼀听从司导安排!精品散拼团
请贵宾时间严守!
<br
/>
※再次提醒短途旅行,请贵宾携带小包出行,【不要带大件礼箱!】
<br
/>
【退改规则】
<br
/>
出发前 11-8 天(不含),收取损失30%。
<br
/>
出发前 3~7(不含),收取损失50%。
<br
/>
出发前 2~3 天(含),收取损失 80%。
<br
/>
出发前 1 天(含),将不退还任何费⽤,收取损失100%
<br
/>
</div>
</
template
>
</td>
</tr>
</tbody>
</table>
</div>
<div
style=
"padding:10px;background:#f9f9f9;color:red;"
>
注:用房
...
...
@@ -1093,13 +1234,13 @@
</div>
</template>
<
script
>
import
moment
from
"moment"
;
import
commonTripList
from
"./commonPage/commonTripList.vue"
;
export
default
{
data
()
{
return
{
//选中切换
cked
:
1
,
IsLoad
:
0
,
//是加载行程信息
//参数
CtObj
:
{
ID
:
0
,
...
...
@@ -1273,12 +1414,30 @@
TripInfo
:
''
,
//防止重复提交
isSubmit
:
true
,
startDate
:
""
,
tripDays
:
[],
trifficList
:
[],
tripList
:
[],
LineName
:
""
,
};
},
components
:
{
commonTripList
:
commonTripList
},
methods
:
{
getDate
(
date
)
{
if
(
date
&&
date
!=
""
)
{
return
moment
(
date
).
format
(
"YYYY-MM-DD"
);
}
return
""
;
},
//加一天返回
getDayAddOne
(
day
,
num
)
{
if
(
day
&&
day
!=
""
)
{
return
moment
(
day
).
add
(
num
,
"days"
).
format
(
"MM/DD"
);
}
return
""
;
},
changeSignType
()
{
if
(
this
.
CtObj
.
SignType
==
0
)
{
this
.
CtObj
.
TravelAgency_Name
=
"四川和平国际旅行社有限公司"
;
...
...
@@ -1300,6 +1459,9 @@
//提交数据
SaveMsg
()
{
if
(
this
.
isSubmit
)
{
if
(
this
.
CtObj
.
ContractTripList
&&
this
.
CtObj
.
ContractTripList
.
length
>
0
)
{
this
.
CtObj
.
ContractTripList
[
0
].
TravelContent
=
this
.
$refs
.
TcTravel_Table
.
innerHTML
;
}
this
.
isSubmit
=
false
;
this
.
apipost
(
"travelcontract_post_SetTravelContractService"
,
...
...
@@ -1309,11 +1471,14 @@
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
CtObj
.
ID
=
res
.
data
.
data
;
this
.
$router
.
push
({
name
:
'onedayTripContract'
,
query
:
{
var
queryMsg
=
{
id
:
res
.
data
.
data
,
TCID
:
this
.
CtObj
.
TCID
,
OrderId
:
this
.
CtObj
.
OrderId
,
}
this
.
$router
.
push
({
name
:
'onedayTripContract'
,
query
:
queryMsg
});
}
else
{
this
.
Error
(
res
.
data
.
message
);
...
...
@@ -1420,13 +1585,17 @@
GetData
()
{
this
.
apipost
(
"travelcontract_get_GetTravelContractService"
,
{
ID
:
this
.
CtObj
.
ID
ID
:
this
.
CtObj
.
ID
,
TCID
:
this
.
CtObj
.
TCID
,
OrderId
:
this
.
CtObj
.
OrderId
,
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempObj
=
res
.
data
.
data
;
this
.
CtObj
.
ID
=
tempObj
.
ID
;
if
(
tempObj
.
CType
)
{
this
.
CtObj
.
CType
=
tempObj
.
CType
;
}
this
.
CtObj
.
T_ContractNum
=
tempObj
.
T_ContractNum
;
this
.
CtObj
.
Tourists_Name
=
tempObj
.
Tourists_Name
;
this
.
CtObj
.
Tourists_IDNum
=
tempObj
.
Tourists_IDNum
;
...
...
@@ -1437,18 +1606,22 @@
this
.
CtObj
.
Tourists_Fax
=
tempObj
.
Tourists_Fax
;
this
.
CtObj
.
Tourists_EmergencyLinkMan
=
tempObj
.
Tourists_EmergencyLinkMan
;
this
.
CtObj
.
Tourists_EmergencyLinkTel
=
tempObj
.
Tourists_EmergencyLinkTel
;
if
(
tempObj
.
TravelAgency_Name
&&
tempObj
.
TravelAgency_Name
!=
''
)
{
this
.
CtObj
.
TravelAgency_Name
=
tempObj
.
TravelAgency_Name
;
}
if
(
tempObj
.
TravelAgency_Address
&&
tempObj
.
TravelAgency_Address
!=
''
)
{
this
.
CtObj
.
TravelAgency_Address
=
tempObj
.
TravelAgency_Address
;
}
if
(
tempObj
.
TravelAgency_LicenseNum
&&
tempObj
.
TravelAgency_LicenseNum
!=
''
)
{
this
.
CtObj
.
TravelAgency_LicenseNum
=
tempObj
.
TravelAgency_LicenseNum
;
}
this
.
CtObj
.
TravelAgency_DealMan
=
tempObj
.
TravelAgency_DealMan
;
this
.
CtObj
.
TravelAgency_IDNum
=
tempObj
.
TravelAgency_IDNum
;
this
.
CtObj
.
TravelAgency_Tel
=
tempObj
.
TravelAgency_Tel
;
this
.
CtObj
.
TravelAgency_Fax
=
tempObj
.
TravelAgency_Fax
;
this
.
CtObj
.
TravelAgency_PostNum
=
tempObj
.
TravelAgency_PostNum
;
this
.
CtObj
.
TravelAgency_Email
=
tempObj
.
TravelAgency_Email
;
this
.
CtObj
.
TravelAgency_SignAddress
=
tempObj
.
TravelAgency_SignAddress
;
this
.
CtObj
.
TravelAgency_SignAddress
=
tempObj
.
TravelAgency_SignAddress
;
this
.
CtObj
.
Guide_Name
=
tempObj
.
Guide_Name
;
this
.
CtObj
.
Guide_Num
=
tempObj
.
Guide_Num
;
this
.
CtObj
.
Guide_Tel
=
tempObj
.
Guide_Tel
;
...
...
@@ -1545,8 +1718,6 @@
gItem
.
IsShow
=
0
;
});
}
if
(
tempObj
.
ContractGuestList
&&
tempObj
.
ContractGuestList
!=
null
&&
...
...
@@ -1574,8 +1745,16 @@
this
.
CtObj
.
ContractTripList
=
tempObj
.
ContractTripList
;
}
else
{
this
.
CtObj
.
ContractTripList
=
[];
var
tripObj
=
{
TripType
:
1
,
DayNum
:
1
,
Go
:
""
,
GoProvice
:
""
,
IsOut
:
0
,
TravelContent
:
""
};
this
.
CtObj
.
ContractTripList
.
push
(
tripObj
);
}
this
.
IsLoad
=
1
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
@@ -1607,10 +1786,273 @@
item
.
IsShow
=
0
;
this
.
$forceUpdate
();
},
//获取行程信息
GetTrip
(
TCID
)
{
this
.
tripList
=
[];
this
.
startDate
=
""
;
var
nTCID
=
0
;
if
(
TCID
)
{
nTCID
=
TCID
;
}
var
msg
=
{
configId
:
0
,
tcid
:
nTCID
,
isClick
:
1
,
//不算统计
};
//根据ID 获取行程内容
this
.
apipost
(
"b2b_get_GetB2BTravelInfoNoDes"
,
msg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
data
.
priceList
&&
res
.
data
.
data
.
priceList
.
length
>
0
)
{
this
.
startDate
=
res
.
data
.
data
.
priceList
[
0
].
startDate
;
}
this
.
tripDays
=
res
.
data
.
data
.
dayList
;
this
.
trifficList
=
res
.
data
.
data
.
trafficList
;
this
.
tripList
=
res
.
data
.
data
.
dayList
;
this
.
LineName
=
res
.
data
.
data
.
lineName
;
this
.
init
();
}
},
(
err
)
=>
{});
},
init
()
{
this
.
tripList
.
forEach
((
x
,
j
)
=>
{
let
useDinnerTypeBy
=
""
;
let
jin
=
[],
jiu
=
[],
jiu2
=
[],
jiao
=
[],
dadian
=
[],
tips
=
[],
activy
=
[],
can
=
{
breakfirst
:
"敬请自理"
,
lanuch
:
"敬请自理"
,
dinner
:
"敬请自理"
,
};
x
.
dayArray
.
forEach
((
y
,
index
)
=>
{
if
(
y
.
type
==
7
&&
y
.
childItem
.
title
!=
""
)
{
let
obj
=
{
title
:
y
.
childItem
.
title
,
content
:
y
.
childItem
.
description
,
img
:
y
.
childItem
.
imaArray
&&
y
.
childItem
.
imaArray
.
length
>
0
?
y
.
childItem
.
imaArray
[
0
].
url
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
dadian
.
push
(
obj
);
}
else
if
(
y
.
type
==
1
&&
y
.
childItem
.
subTraffic
.
length
>
0
)
{
let
title
=
""
;
y
.
childItem
.
subTraffic
.
forEach
((
z
,
i
)
=>
{
title
+=
z
.
startCityName
;
if
(
z
.
arrivalType
==
1
)
{
title
+=
"-"
;
}
else
if
(
z
.
arrivalType
==
2
)
{
title
+=
"-"
;
}
else
if
(
z
.
arrivalType
==
3
)
{
title
+=
"-"
;
}
else
{
title
+=
"-"
;
}
if
(
i
+
1
==
y
.
childItem
.
subTraffic
.
length
)
{
title
+=
z
.
arrivalCityName
;
}
});
let
obj
=
{
title
:
title
,
content
:
y
.
childItem
.
description
,
img
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
jiao
.
push
(
obj
);
}
else
if
(
y
.
type
==
2
&&
y
.
childItem
.
couponsName
!=
""
&&
y
.
childItem
.
imaArray
.
length
>
0
)
{
let
obj
=
{
title
:
y
.
childItem
.
couponsName
,
content
:
y
.
childItem
.
description
,
img
:
y
.
childItem
.
imaArray
[
0
].
url
,
ticketName
:
y
.
childItem
.
couponsTicketName
,
playTimeHour
:
y
.
childItem
.
playTimeHour
,
playTimeMinutes
:
y
.
childItem
.
playTimeHour
,
};
jin
.
push
(
obj
);
}
else
if
(
y
.
type
==
3
&&
y
.
childItem
.
hotelName
!=
""
&&
y
.
childItem
.
imaArray
.
length
>
0
)
{
let
obj
=
{
title
:
y
.
childItem
.
hotelName
,
content
:
y
.
childItem
.
description
,
img
:
y
.
childItem
.
imaArray
[
0
].
url
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
jiu
.
push
(
obj
);
}
else
if
(
y
.
type
==
4
)
{
if
(
y
.
childItem
.
useDinnerType
==
"1"
)
{
can
.
breakfirst
=
y
.
childItem
.
dinnerName
;
}
else
if
(
y
.
childItem
.
useDinnerType
==
"2"
)
{
can
.
lanuch
=
y
.
childItem
.
dinnerName
;
}
else
if
(
y
.
childItem
.
useDinnerType
==
"3"
)
{
can
.
dinner
=
y
.
childItem
.
dinnerName
;
}
}
else
if
(
y
.
type
==
5
)
{
let
obj
=
{
title
:
"自由活动"
,
content
:
y
.
childItem
.
description
,
img
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
activy
.
push
(
obj
);
}
else
if
(
y
.
type
==
6
)
{
let
obj
=
{
title
:
y
.
childItem
.
title
,
content
:
y
.
childItem
.
description
,
img
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
tips
.
push
(
obj
);
}
if
(
y
.
type
==
3
)
{
jiu2
.
push
(
y
.
childItem
.
hotelName
);
useDinnerTypeBy
=
y
.
childItem
.
useDinnerType
;
}
});
if
(
can
.
breakfirst
==
"敬请自理"
&&
useDinnerTypeBy
.
indexOf
(
"1"
)
!=
-
1
)
{
can
.
breakfirst
=
"酒店内享用早餐"
;
}
if
(
can
.
lanuch
==
"敬请自理"
&&
useDinnerTypeBy
.
indexOf
(
"2"
)
!=
-
1
)
{
can
.
lanuch
=
"酒店自助"
;
}
if
(
can
.
dinner
==
"敬请自理"
&&
useDinnerTypeBy
.
indexOf
(
"3"
)
!=
-
1
)
{
can
.
dinner
=
"酒店自助"
;
}
x
.
can
=
can
;
let
details
=
[];
x
.
tips
=
tips
;
x
.
jiu2
=
jiu2
;
if
(
jin
.
length
>
0
)
{
details
=
jin
;
}
else
if
(
jiu
.
length
>
0
)
{
details
=
jiu
;
}
else
if
(
dadian
.
length
>
0
)
{
details
=
dadian
;
}
else
if
(
jiao
.
length
>
0
)
{
if
(
j
==
this
.
tripList
.
length
-
1
)
{
let
obj
=
{
title
:
"温暖的家"
,
content
:
"感谢您参加本次行程,期待下次与您相遇"
,
img
:
""
,
};
details
.
push
(
obj
);
}
else
{
details
=
jiao
;
}
}
else
if
(
activy
.
length
>
0
)
{
details
=
activy
;
}
x
.
title
=
dadian
.
length
>
0
?
dadian
[
0
].
title
:
jiao
.
length
>
0
?
jiao
[
0
].
title
:
"集合出发"
;
x
.
details
=
details
;
if
(
x
.
details
.
length
==
0
)
{
if
(
j
==
0
)
{
let
obj
=
{
title
:
"集合出发"
,
content
:
"向着远方的目标出发起飞"
,
img
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
details
.
push
(
obj
);
}
else
if
(
j
==
this
.
tripList
.
length
-
1
)
{
let
obj
=
{
title
:
"温暖的家"
,
content
:
"感谢您参加本次行程,期待下次与您相遇"
,
img
:
""
,
ticketName
:
""
,
playTimeHour
:
null
,
playTimeMinutes
:
null
,
};
details
.
push
(
obj
);
}
}
else
{
if
(
x
.
title
==
"集合出发"
)
{
x
.
details
.
forEach
((
xc
)
=>
{
if
(
xc
.
title
!==
undefined
)
x
.
title
=
xc
.
title
+
"~"
;
});
if
(
x
.
title
==
"集合出发"
)
{
if
(
j
>
0
&&
j
<
tripList
.
length
-
1
)
x
.
title
=
"自由活动"
;
}
else
{
x
.
title
=
x
.
title
.
substring
(
0
,
x
.
title
.
length
-
1
);
}
}
}
x
.
islast
=
j
+
1
==
this
.
tripList
.
length
;
this
.
$set
(
this
.
tripList
,
j
,
x
);
});
for
(
let
i
=
this
.
tripList
.
length
-
1
;
i
>=
0
;
i
--
)
{
if
(
i
==
0
)
this
.
tripList
[
i
].
can
.
breakfirst
=
"敬请自理"
;
else
{
this
.
tripList
[
i
].
can
.
breakfirst
=
this
.
tripList
[
i
-
1
].
can
.
breakfirst
;
if
(
this
.
tripList
[
i
].
lineId
!=
5
&&
this
.
tripList
[
i
].
can
.
breakfirst
==
"敬请自理"
)
this
.
tripList
[
i
].
can
.
breakfirst
=
"酒店内享用早餐"
;
}
}
this
.
trifficList
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
airportPickUp
==
1
||
x
.
airportPickUp
==
2
)
{
if
(
x
.
isUseBus
==
1
)
{
this
.
tripDays
[
index
].
TrifficType
=
"飞机+大巴"
;
}
}
if
(
x
.
airportPickUp
==
0
&&
x
.
isUseBus
==
1
)
{
this
.
tripDays
[
index
].
TrifficType
=
"大巴"
;
}
if
(
x
.
airportPickUp
==
1
||
x
.
airportPickUp
==
2
)
{
if
(
x
.
isUseBus
==
0
)
{
this
.
tripDays
[
index
].
TrifficType
=
"飞机"
;
}
}
if
(
x
.
airportPickUp
==
0
||
x
.
airportPickUp
==
0
)
{
if
(
x
.
isUseBus
==
0
)
{
this
.
tripDays
[
index
].
TrifficType
=
"无"
;
}
}
});
},
},
created
()
{
if
(
this
.
$route
.
query
.
TCID
&&
this
.
$route
.
query
.
TCID
>
0
)
{
this
.
CtObj
.
TCID
=
this
.
$route
.
query
.
TCID
;
this
.
GetTrip
(
this
.
CtObj
.
TCID
);
}
if
(
this
.
$route
.
query
.
orderID
&&
this
.
$route
.
query
.
orderID
>
0
)
{
this
.
CtObj
.
OrderId
=
this
.
$route
.
query
.
orderID
;
...
...
@@ -1619,9 +2061,9 @@
mounted
()
{
if
(
this
.
$route
.
query
.
id
&&
this
.
$route
.
query
.
id
>
0
)
{
this
.
CtObj
.
ID
=
this
.
$route
.
query
.
id
;
}
if
(
this
.
CtObj
.
ID
>
0
||
this
.
CtObj
.
TCID
>
0
)
{
this
.
GetData
();
}
else
{
this
.
IsLoad
=
1
;
}
this
.
$nextTick
(
function
()
{
//滚动监听事件
...
...
@@ -1629,4 +2071,5 @@
});
}
};
</
script
>
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