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
11442a0c
Commit
11442a0c
authored
Oct 09, 2024
by
liudong1993
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
98a5b086
ab5a763b
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1425 additions
and
654 deletions
+1425
-654
DomesticTravelcontract.vue
src/components/DomesticTravelcontract.vue
+456
-14
BasicDocuments.vue
src/components/FinancialModule/BasicDocuments.vue
+1
-14
FinancialDocumentsDetail.vue
src/components/FinancialModule/FinancialDocumentsDetail.vue
+0
-14
TravelContractNew.vue
src/components/TravelContractNew.vue
+20
-158
TravelContractNewRB.vue
src/components/TravelContractNewRB.vue
+7
-4
directorOrderList.vue
src/components/TravelManager/Lxy/directorOrderList.vue
+28
-21
TravelControlList.vue
...components/TravelManager/TravelList/TravelControlList.vue
+17
-4
travelOrders.vue
src/components/TravelManager/customizedcar/travelOrders.vue
+408
-385
index.vue
src/components/index.vue
+12
-17
onedayTripContract.vue
src/components/onedayTripContract.vue
+466
-23
index.js
src/plug/index.js
+10
-0
No files found.
src/components/DomesticTravelcontract.vue
View file @
11442a0c
...
...
@@ -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/FinancialModule/BasicDocuments.vue
View file @
11442a0c
...
...
@@ -2734,20 +2734,7 @@ else if (Type==2) {
tab
:
this
.
$t
(
'objFill.djpxq'
)
}
});
// return
// let href
// let url
// if (this.isOnline()) {
// url = 'http://fcrmyx.oytour.com/#/'
// } else {
// url = 'http://localhost:8081/#/'
// }
// let data = [{
// path: 'customerOrder',
// OrderId: this.GetDetail.ReFinanceId,
// }]
// href = url + 'automaticLogin?token=' + this.getLocalStorage().token + '&data=' + JSON.stringify(data)
// window.open(href);
},
GetAuth
()
{
var
actionCode
=
this
.
$AuthCode
.
TeamShouZhi
;
...
...
src/components/FinancialModule/FinancialDocumentsDetail.vue
View file @
11442a0c
...
...
@@ -1962,20 +1962,6 @@
tab
:
this
.
$t
(
'objFill.djpxq'
)
}
});
// return
// let href
// let url
// if (this.isOnline()) {
// url = 'http://fcrmyx.oytour.com/#/'
// } else {
// url = 'http://localhost:8081/#/'
// }
// let data = [{
// path: 'customerOrder',
// OrderId: this.GetDetail.ReFinanceId,
// }]
// href = url + 'automaticLogin?token=' + this.getLocalStorage().token + '&data=' + JSON.stringify(data)
// window.open(href);
},
GetAuth
()
{
var
actionCode
=
this
.
$AuthCode
.
TeamShouZhi
;
...
...
src/components/TravelContractNew.vue
View file @
11442a0c
...
...
@@ -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/TravelContractNewRB.vue
View file @
11442a0c
...
...
@@ -389,7 +389,8 @@
<tr>
<td>
<el-form-item
label=
"公司名称"
>
<el-select
v-model=
"CtObj.SignType"
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"changeSignType"
class=
"w300"
>
<el-select
v-model=
"CtObj.SignType"
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"changeSignType"
class=
"w300"
>
<el-option
key=
"0"
label=
"四川和平国际旅行社有限公司"
:value=
"0"
>
</el-option>
<el-option
key=
"1"
label=
"(株)ピースインターナショナル"
:value=
"1"
>
...
...
@@ -471,7 +472,8 @@
<tr>
<td>
<el-form-item
label=
"旅游者同意选择下列第"
>
<el-select
:placeholder=
"$t('pub.pleaseSel')"
filterable
class=
'w150'
v-model=
"CtObj.carpoolOpinion"
>
<el-select
:placeholder=
"$t('pub.pleaseSel')"
filterable
class=
'w150'
v-model=
"CtObj.carpoolOpinion"
>
<el-option
label=
"A"
:value=
'1'
></el-option>
<el-option
label=
"B"
:value=
'2'
></el-option>
<el-option
label=
"C"
:value=
'3'
></el-option>
...
...
@@ -1444,12 +1446,13 @@
let
lineTeam
=
this
.
CtObj
.
productName
;
let
days
=
this
.
CtObj
.
dayNum
;
let
nights
=
this
.
CtObj
.
nightNum
;
var
erpUrl
=
this
.
domainManager
().
erpSiteUrl
;
this
.
msgGuest
.
forEach
(
x
=>
{
let
obj
=
{};
if
(
x
.
checked
)
{
obj
.
mobiles
=
x
.
clientCall
;
obj
.
Url
=
`
http://yx.oytour.com/#/
clientConfirm?TCID=
${
this
.
msg
.
TCID
}
&orderID=
${
this
.
msg
.
orderID
}
&guestId=
${
x
.
guestId
}
`
;
obj
.
Url
=
erpUrl
+
`clientConfirm?TCID=
${
this
.
msg
.
TCID
}
&orderID=
${
this
.
msg
.
orderID
}
&guestId=
${
x
.
guestId
}
`
;
msgObj
.
push
(
obj
);
}
})
...
...
src/components/TravelManager/Lxy/directorOrderList.vue
View file @
11442a0c
...
...
@@ -11,7 +11,8 @@
<div>
<span>
下单时间:
</span>
<el-date-picker
v-model=
"dateList"
@
change=
"msg.pageIndex=1,getList()"
size=
"small"
type=
"datetimerange"
:range-separator=
"$t('OrderList.zhi')"
value-format=
"yyyy-MM-dd HH:mm:ss"
:start-placeholder=
"$t('OrderList.star')"
:end-placeholder=
"$t('OrderList.end')"
>
:range-separator=
"$t('OrderList.zhi')"
value-format=
"yyyy-MM-dd HH:mm:ss"
:start-placeholder=
"$t('OrderList.star')"
:end-placeholder=
"$t('OrderList.end')"
>
</el-date-picker>
<span
style=
"margin-left:15px"
>
所属平台:
</span>
<el-select
class=
"w120"
@
change=
"msg.pageIndex=1,getList()"
v-model=
"msg.OrderSource"
size=
"small"
...
...
@@ -35,9 +36,10 @@
</el-option>
</el-select>
<el-input
@
clear=
"msg.pageIndex=1,getList()"
@
keyup
.
enter
.
native=
"msg.pageIndex=1,getList()"
clearable
style=
"margin-left:15px;width:300px"
class=
"input-with-select"
:placeholder=
"$t('fnc.qsrneirong')"
v-model=
"msgVal"
size=
"small"
>
<el-select
class=
"pendSelect"
@
change=
"ChangeId"
v-model=
"msgId"
slot=
"prepend"
:placeholder=
"$t('pub.pleaseSel')"
>
style=
"margin-left:15px;width:300px"
class=
"input-with-select"
:placeholder=
"$t('fnc.qsrneirong')"
v-model=
"msgVal"
size=
"small"
>
<el-select
class=
"pendSelect"
@
change=
"ChangeId"
v-model=
"msgId"
slot=
"prepend"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in option"
:key=
"item.Id"
:label=
"item.name"
:value=
"item.Id"
>
</el-option>
</el-select>
...
...
@@ -205,7 +207,7 @@
src=
"../../../assets/img/userman/edit1.png"
alt=
""
>
</span>
</div>
<div
flex=
"cross:center main:center"
>
人数:x
{{
list
.
Number
}}
</div>
<div
flex=
"cross:center main:center"
>
人数:x
{{
list
.
Number
}}
</div>
</div>
<div
style=
"width: 200px; display: flex;flex-direction:column;justify-content: center"
v-if=
"TenantId==1"
>
...
...
@@ -451,7 +453,8 @@
</el-form-item>
<
template
v-if=
"fhMsg.Type==1"
>
<el-form-item
label=
"快递公司"
prop=
"ExpressId"
>
<el-select
class=
"w200"
size=
"small"
v-model=
"fhMsg.ExpressId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-select
class=
"w200"
size=
"small"
v-model=
"fhMsg.ExpressId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in ExpressList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
...
...
@@ -498,7 +501,8 @@
<el-option
v-for=
"item in cityList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
<el-select
size=
"small"
v-model=
"shMsg.District"
style=
"width:144px"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-select
size=
"small"
v-model=
"shMsg.District"
style=
"width:144px"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in areaList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
...
...
@@ -1580,9 +1584,10 @@
ECOrderDetailId
:
list
.
Id
}]
}
// window.open('http://www.test.com:8081/#/ChoiceAddFinancialDocuments?Type=1&companyID='+companyID+'&orderObj='+JSON.stringify(orderObj))
window
.
open
(
'http://yx.oytour.com/#/ChoiceAddFinancialDocuments?Type=1&companyID='
+
companyID
+
'&orderObj='
+
JSON
.
stringify
(
orderObj
))
var
newUrl
=
this
.
domainManager
().
erpSiteUrl
+
'ChoiceAddFinancialDocuments?Type=1&companyID='
+
companyID
+
'&orderObj='
+
JSON
.
stringify
(
orderObj
)
window
.
open
(
newUrl
)
},
goPayment
(
item
,
list
)
{
//跳到erp付款单
let
currentUser
=
this
.
getLocalStorage
()
...
...
@@ -1597,19 +1602,20 @@
ECOrderDetailId
:
list
.
Id
}]
}
// window.open('http://www.test.com:8081/#/ChoiceAddFinancialDocuments?Type=2&companyID='+companyID+'&orderObj='+JSON.stringify(orderObj))
window
.
open
(
'http://yx.oytour.com/#/ChoiceAddFinancialDocuments?Type=2&companyID='
+
companyID
+
'&orderObj='
+
JSON
.
stringify
(
orderObj
))
var
newUrl
=
this
.
domainManager
().
erpSiteUrl
+
'ChoiceAddFinancialDocuments?Type=2&companyID='
+
companyID
+
'&orderObj='
+
JSON
.
stringify
(
orderObj
)
window
.
open
(
newUrl
)
},
goSF
(
item
)
{
//收入详情
// window.open('http://yx.oytour.com/#/FinancialDocumentsDetail?id=' + item.FrID +
// '&Conditon=1&tab=%E5%8D%95%E6%8D%AE%E8%AF%A6%E6%83%85')
this
.
CommonJump
(
'FinancialDocumentsDetail'
,{
id
:
item
.
FrID
})
this
.
CommonJump
(
'FinancialDocumentsDetail'
,
{
id
:
item
.
FrID
})
},
goZF
(
item
)
{
//付款详情
// window.open('http://yx.oytour.com/#/FinancialDocumentsDetail?id=' + item.FrID +
// '&Conditon=1&tab=%E5%8D%95%E6%8D%AE%E8%AF%A6%E6%83%85')
this
.
CommonJump
(
'FinancialDocumentsDetail'
,{
id
:
item
.
FrID
})
this
.
CommonJump
(
'FinancialDocumentsDetail'
,
{
id
:
item
.
FrID
})
}
},
};
...
...
@@ -1621,10 +1627,11 @@
padding-top
:
3px
;
margin-left
:
7px
;
}
.orderList
span
{
.orderList
span
{
font-size
:
13px
;
font-weight
:
normal
;
}
}
.orderList
.upload-demo
{
float
:
right
;
...
...
src/components/TravelManager/TravelList/TravelControlList.vue
View file @
11442a0c
...
...
@@ -1465,6 +1465,11 @@
},
data
()
{
return
{
pickerOptions
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
>
Date
.
now
();
}
},
GroupTypeVisible
:
false
,
GroupTypeObj
:
{},
dialog
:
{
...
...
@@ -1704,12 +1709,20 @@
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
if
(
this
.
queryMsg
.
EndGroupDate
==
null
)
{
return
false
;
if
(
this
.
queryMsg
.
StartGroupDate
){
let
endTime
=
this
.
TourDateRestrictions
()
return
time
&&
endTime
.
getTime
()
>=
time
.
getTime
();
}
else
return
false
;
}
else
{
if
(
this
.
queryMsg
.
StartGroupDate
){
let
endTime
=
this
.
TourDateRestrictions
()
return
time
&&
endTime
.
getTime
()
>=
time
.
getTime
();
}
else
{
let
endTime
=
new
Date
(
this
.
queryMsg
.
EndGroupDate
);
return
endTime
.
getTime
()
<
time
.
getTime
();
}
}
}
},
pickerBeginDateAfter
:
{
disabledDate
:
time
=>
{
...
...
src/components/TravelManager/customizedcar/travelOrders.vue
View file @
11442a0c
...
...
@@ -11,7 +11,8 @@
<div>
<span>
下单时间:
</span>
<el-date-picker
v-model=
"dateList"
@
change=
"msg.pageIndex=1,getList()"
size=
"small"
type=
"datetimerange"
:range-separator=
"$t('OrderList.zhi')"
value-format=
"yyyy-MM-dd HH:mm:ss"
:start-placeholder=
"$t('OrderList.star')"
:end-placeholder=
"$t('OrderList.end')"
>
:range-separator=
"$t('OrderList.zhi')"
value-format=
"yyyy-MM-dd HH:mm:ss"
:start-placeholder=
"$t('OrderList.star')"
:end-placeholder=
"$t('OrderList.end')"
>
</el-date-picker>
<span
style=
"margin-left:15px"
>
订单来源:
</span>
<el-select
class=
"w120"
@
change=
"msg.pageIndex=1,getList()"
v-model=
"msg.OrderSource"
size=
"small"
...
...
@@ -29,9 +30,10 @@
</el-select>
<el-input
@
clear=
"msg.pageIndex=1,getList()"
@
keyup
.
enter
.
native=
"msg.pageIndex=1,getList()"
clearable
style=
"margin-left:15px;width:300px"
class=
"input-with-select"
:placeholder=
"$t('fnc.qsrneirong')"
v-model=
"msgVal"
size=
"small"
>
<el-select
class=
"pendSelect"
@
change=
"ChangeId"
v-model=
"msgId"
slot=
"prepend"
:placeholder=
"$t('pub.pleaseSel')"
>
style=
"margin-left:15px;width:300px"
class=
"input-with-select"
:placeholder=
"$t('fnc.qsrneirong')"
v-model=
"msgVal"
size=
"small"
>
<el-select
class=
"pendSelect"
@
change=
"ChangeId"
v-model=
"msgId"
slot=
"prepend"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in option"
:key=
"item.Id"
:label=
"item.name"
:value=
"item.Id"
>
</el-option>
</el-select>
...
...
@@ -106,8 +108,10 @@
</div>
<div
flex=
"dir:left wrap:wrap"
class=
"app-order-offline"
>
<el-tag
v-if=
"item.PaymentTime==''"
style=
"margin-left:5px"
size=
"small"
type=
"warning"
>
未付款
</el-tag>
<el-tag
v-if=
"item.OrderStatus== 2 "
style=
"margin-left:5px"
size=
"small"
type=
"success"
>
待确认
</el-tag>
<el-tag
v-if=
"item.OrderStatus== 5 "
style=
"margin-left:5px"
size=
"small"
type=
"success"
>
待处理
</el-tag>
<el-tag
v-if=
"item.OrderStatus== 2 "
style=
"margin-left:5px"
size=
"small"
type=
"success"
>
待确认
</el-tag>
<el-tag
v-if=
"item.OrderStatus== 5 "
style=
"margin-left:5px"
size=
"small"
type=
"success"
>
待处理
</el-tag>
<el-tag
v-if=
"item.PaymentTime!='' && item.DeliveryTime=='' && item.ReceivingTime=='' && item.FinishTime==''"
style=
"margin-left:5px"
size=
"small"
type=
"warning"
>
已付款
</el-tag>
...
...
@@ -135,7 +139,7 @@
<div
class=
"app-order-body"
>
<div
class=
"goods-item"
style=
"width: 60%;"
>
<div
v-for=
"(list,index2) in getshangplist(item)"
:key=
"index2"
class=
"goods"
>
<div
>
<div>
<img
:src=
"list.HotelImage"
v-if=
'item.OrderType == 1'
class=
"goods-image"
/>
<img
:src=
"list.DiningImg"
v-if=
'item.OrderType == 2'
class=
"goods-image"
/>
<img
:src=
"list.TicketImg"
v-if=
'item.OrderType == 3'
class=
"goods-image"
/>
...
...
@@ -143,7 +147,8 @@
<div
class=
"goods-info"
>
<div
class=
"goods-name"
>
<div
class=
"app-ellipsis"
>
<div
class=
"vue-line-clamp"
style=
"word-break: break-all; -webkit-line-clamp: 2;font-size: 15px;font-weight: 500;"
>
<div
class=
"vue-line-clamp"
style=
"word-break: break-all; -webkit-line-clamp: 2;font-size: 15px;font-weight: 500;"
>
<span
v-if=
'item.OrderType == 1'
>
{{
list
.
HotelName
}}
</span>
<span
v-if=
'item.OrderType == 2'
>
{{
list
.
MealName
}}
</span>
<span
v-if=
'item.OrderType == 3'
>
{{
list
.
TicketName
}}
</span>
...
...
@@ -153,9 +158,10 @@
</div>
<div
style=
"margin-bottom: 5px;"
>
<span
style=
"margin-right: 10px;"
v-if=
'item.OrderType == 1'
>
房间数:x
{{
list
.
RoomNumber
}}
</span>
<span
style=
"margin-right: 10px;"
v-if=
'item.OrderType == 2 || item.OrderType == 3'
>
数量:x
{{
list
.
PeopleNumber
}}
</span>
<span
style=
"margin-right: 10px;"
v-if=
'item.OrderType == 2 || item.OrderType == 3'
>
数量:x
{{
list
.
PeopleNumber
}}
</span>
</div>
<div
style=
"margin-bottom: 5px;"
>
<span>
单价:¥
{{
list
.
Unit_Price
}}
</span></div>
<div
style=
"margin-bottom: 5px;"
>
<span>
单价:¥
{{
list
.
Unit_Price
}}
</span></div>
<div
style=
"margin-bottom: 5px;"
v-if=
'item.OrderType == 1'
>
<span>
入店时间:
{{
list
.
StartDate
}}
-
{{
list
.
EndDate
}}
...
...
@@ -172,17 +178,21 @@
</div>
<div
style=
"margin-bottom: 5px;"
v-if=
'item.OrderType == 4'
>
</div>
<div
style=
"margin-bottom: 5px;"
>
<span
style=
"margin-right: 10px;"
v-if=
'item.OrderType == 1'
>
到店时间:
{{
list
.
ArrivalTime
}}
</span>
<span
style=
"margin-right: 10px;"
v-if=
'item.OrderType == 1'
>
到店时间:
{{
list
.
ArrivalTime
}}
</span>
<span
style=
"margin-right: 10px;"
v-if=
'item.OrderType == 2'
>
就餐时间:
{{
list
.
Date
}}
</span>
<span
style=
"margin-right: 10px;"
v-if=
'item.OrderType == 3'
>
入园时间:
{{
list
.
Date
}}
</span>
<span
style=
"margin-right: 10px;"
v-if=
'item.OrderType == 4'
>
出行时间:
{{
list
.
Date
}}
{{
list
.
DepartureTime
}}
</span>
<span
style=
"margin-right: 10px;"
v-if=
'item.OrderType == 4'
>
出行时间:
{{
list
.
Date
}}
{{
list
.
DepartureTime
}}
</span>
</div>
</div>
<div
flex=
"dir:left box:mean"
style=
"width: 350px;display: flex;align-items: center;justify-content: center;"
>
<div
flex=
"dir:left box:mean"
style=
"width: 350px;display: flex;align-items: center;justify-content: center;"
>
<div
flex=
"cross:center main:center"
style=
"display: flex;flex-direction: column;align-items: flex-start;width: 55%;"
>
<span
style=
"cursor:pointer"
>
小计:¥
{{
list
.
Final_Price
}}
<span
style=
"color:#f56c6c"
v-if=
'item.Refund && item.Refund>0'
>
(实退:¥
{{
item
.
Refund
}}
)
</span>
<span
style=
"cursor:pointer"
>
小计:¥
{{
list
.
Final_Price
}}
<span
style=
"color:#f56c6c"
v-if=
'item.Refund && item.Refund>0'
>
(实退:¥
{{
item
.
Refund
}}
)
</span>
<!--
<img
v-if=
"item.PaymentTime==''"
@
click=
"EditPrice(item,1,list)"
src=
"../../../assets/img/userman/edit1.png"
alt=
""
>
-->
</span>
...
...
@@ -190,8 +200,11 @@
<img
v-if=
"item.OrderStatus!==4"
@
click=
"costBtn_t(list,item)"
src=
"../../../assets/img/userman/edit1.png"
alt=
""
>
</span>
<span
style=
"cursor:pointer"
v-if=
'item.OrderType == 4 && list.PeopleNumber && list.PeopleNumber>0'
>
成人:
{{
list
.
PeopleNumber
}}
人
</span>
<span
style=
"cursor:pointer"
v-if=
'item.OrderType == 4 && list.ChildNumber && list.ChildNumber>0'
>
儿童:
{{
list
.
ChildNumber
}}
人
</span>
<span
style=
"cursor:pointer"
v-if=
'item.OrderType == 4 && list.PeopleNumber && list.PeopleNumber>0'
>
成人:
{{
list
.
PeopleNumber
}}
人
</span>
<span
style=
"cursor:pointer"
v-if=
'item.OrderType == 4 && list.ChildNumber && list.ChildNumber>0'
>
儿童:
{{
list
.
ChildNumber
}}
人
</span>
</div>
</div>
...
...
@@ -303,7 +316,9 @@
<div
class=
"card-footer"
>
<div>
<div
flex=
"dir:left"
>
<div
class=
"address-box"
>
联系人: {{item.Consignee}}
<span
style=
'margin:0 5px'
></span>
电话:{{item.Mobile}}
<span
style=
"margin-left:15px"
v-if=
"item.CancelRemark && item.CancelRemark!=''"
>
取消备注:{{item.CancelRemark}}
</span>
</div>
<div
class=
"address-box"
>
联系人: {{item.Consignee}}
<span
style=
'margin:0 5px'
></span>
电话:{{item.Mobile}}
<span
style=
"margin-left:15px"
v-if=
"item.CancelRemark && item.CancelRemark!=''"
>
取消备注:{{item.CancelRemark}}
</span>
</div>
<!-- <button v-if="item.OrderStatus==2" @click="ExitshAdress(item)" type="button"
class="el-button el-button--text is-circle"><i class="el-icon-edit"></i></button> -->
</div>
...
...
@@ -400,7 +415,8 @@
<span>
赞羊小计:¥{{list.SmallShopsCostPrice}}
</span>
</div>
</div>
<div
flex=
"dir:left box:mean"
style=
"width: 350px;display: flex;align-items: center;justify-content: center;"
>
<div
flex=
"dir:left box:mean"
style=
"width: 350px;display: flex;align-items: center;justify-content: center;"
>
<div
flex=
"cross:center main:center"
style=
"display: flex;flex-direction: column;align-items: flex-start;width: 55%;"
>
<span
style=
"cursor:pointer"
>
小计:¥{{list.Final_Price}}
...
...
@@ -420,7 +436,7 @@
src="../../../assets/img/userman/edit1.png" alt="">
</span> -->
</div>
<div
flex=
"cross:center main:center"
>
人数:x {{list.Number}}
</div>
<div
flex=
"cross:center main:center"
>
人数:x {{list.Number}}
</div>
</div>
<div
style=
"width: 200px; display: flex;flex-direction:column;justify-content: center"
v-if=
"TenantId==1"
>
...
...
@@ -450,8 +466,7 @@
</div>
</div>
</div>
<div
class=
"billStyle"
v-if=
"(list.SFinanceList.length>0|| list.ZFinanceList.length >0) "
>
<div
class=
"billStyle"
v-if=
"(list.SFinanceList.length>0|| list.ZFinanceList.length >0) "
>
<div
class=
"billStyle_item"
style=
"border-right: 1px solid #EBEEF5"
>
收入单据:
<span
v-for=
"(item,index2) in list.SFinanceList"
:key=
"index2"
@
click=
"goSF(item)"
>
...
...
@@ -570,7 +585,8 @@
<div
class=
"card-footer"
>
<div>
<div
flex=
"dir:left"
>
<div
class=
"address-box"
>
联系人: {{item.Consignee}}
<span
style=
'margin:0 5px'
></span>
电话: {{item.Mobile}}
<div
class=
"address-box"
>
联系人: {{item.Consignee}}
<span
style=
'margin:0 5px'
></span>
电话:
{{item.Mobile}}
出发地:{{item.ShoppingAddress}}
{{item.SDGoodsList[0].CarType!=5 ?('目的地:'+item.DestinationAddress):''}}
</div>
...
...
@@ -624,7 +640,8 @@
<el-input
type=
"text"
size=
"small"
v-model=
"pendMgs.RefundMoney"
placeholder=
"退款金额"
></el-input>
</div>
<el-input
v-if=
"pendMgs.Type==2"
type=
"textarea"
size=
"small"
v-model=
"pendMgs.Remark"
placeholder=
"拒绝理由"
></el-input>
<el-input
v-if=
"pendMgs.Type==2"
type=
"textarea"
size=
"small"
v-model=
"pendMgs.Remark"
placeholder=
"拒绝理由"
>
</el-input>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"pendD = false"
>
{{$t('pub.cancelBtn')}}
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"pendingForm()"
>
确 定
</el-button>
...
...
@@ -667,7 +684,8 @@
<span
style=
"font-size:20px"
>
提示
</span>
</p>
<p
class=
"center"
style=
"padding: 10px 15px;"
>
{{hstips}}
</p>
<el-input
style=
"margin-left: 10px; width: 400px;"
size=
"small"
type=
"textarea"
v-if=
'hszMsg.Type == 1'
v-model=
"hszMsg.Remark"
></el-input>
<el-input
style=
"margin-left: 10px; width: 400px;"
size=
"small"
type=
"textarea"
v-if=
'hszMsg.Type == 1'
v-model=
"hszMsg.Remark"
></el-input>
<div
style=
"text-align:center;margin-top:20px"
>
...
...
@@ -751,7 +769,7 @@
<
script
>
export
default
{
name
:
"orderList"
,
components
:{
components
:
{
},
data
()
{
...
...
@@ -765,7 +783,7 @@
priceDig
:
false
,
costDig
:
false
,
//商品、运费成本的修改
costDig2
:
false
,
//商品、运费成本的修改
costDig_t
:
false
,
costDig_t
:
false
,
cosType
:
1
,
costMsg
:
{
Id
:
0
,
...
...
@@ -861,7 +879,7 @@
msg
:
{
pageIndex
:
1
,
pageSize
:
15
,
OrderSource
:
0
,
OrderSource
:
0
,
OrderType
:
0
,
OrderId
:
0
,
StartTime
:
''
,
...
...
@@ -936,7 +954,7 @@
CommonId
:
0
,
//公用id 给弹窗用
TenantId
:
0
,
cost_tMSg
:
{},
//成本管理
cost_tMSg
:
{},
//成本管理
}
},
created
()
{
...
...
@@ -1077,7 +1095,7 @@
this
.
pendMgs
.
Type
=
type
;
this
.
pendMgs
.
Remark
=
''
;
this
.
pendMgs
.
RefundMoney
=
item
.
PreferPrice
;
this
.
pendMgs
.
OrderType
=
item
.
OrderType
;
//来判断的否是城际专车 是的话用之前的接口
this
.
pendMgs
.
OrderType
=
item
.
OrderType
;
//来判断的否是城际专车 是的话用之前的接口
},
...
...
@@ -1085,7 +1103,7 @@
pendingForm
()
{
this
.
loading
=
true
;
let
url
=
'/api/DmcOrder/SetDmcOrderCancelAudit'
if
(
this
.
pendMgs
.
OrderType
==
5
)
{
if
(
this
.
pendMgs
.
OrderType
==
5
)
{
url
=
'/api/order/SetOrderApplyForCancelAudit'
}
this
.
lxymallapipost
(
url
,
this
.
pendMgs
,
...
...
@@ -1195,7 +1213,7 @@
this
.
hszMsg
=
{
OrderId
:
item
.
OrderId
,
Type
:
num
,
Remark
:
Remark
Remark
:
Remark
};
this
.
hszDig
=
true
;
},
...
...
@@ -1476,7 +1494,7 @@
);
});
},
OrderExit3
(
item
){
OrderExit3
(
item
)
{
let
that
=
this
;
let
text
=
''
;
if
(
item
.
OrderStatus
==
1
)
{
...
...
@@ -1609,14 +1627,14 @@
}
})
},
costBtn_t
(
list
,
item
)
{
this
.
cost_tMSg
.
OrderDetailId
=
list
.
Id
;
this
.
cost_tMSg
.
OrderType
=
item
.
OrderType
;
this
.
cost_tMSg
.
CostMoney
=
list
.
CostMoney
;
costBtn_t
(
list
,
item
)
{
this
.
cost_tMSg
.
OrderDetailId
=
list
.
Id
;
this
.
cost_tMSg
.
OrderType
=
item
.
OrderType
;
this
.
cost_tMSg
.
CostMoney
=
list
.
CostMoney
;
this
.
costDig_t
=
true
},
costForm_t
(){
//成本修改 新的
if
(
this
.
cost_tMSg
.
CostMoney
==
''
)
{
costForm_t
()
{
//成本修改 新的
if
(
this
.
cost_tMSg
.
CostMoney
==
''
)
{
this
.
Info
(
'请输入修改成本金额'
)
return
}
...
...
@@ -1762,19 +1780,20 @@
ECOrderDetailId
:
list
.
Id
}]
}
// window.open('http://www.test.com:8081/#/ChoiceAddFinancialDocuments?Type=1&companyID='+companyID+'&orderObj='+JSON.stringify(orderObj))
window
.
open
(
'http://yx.oytour.com/#/ChoiceAddFinancialDocuments?Type=1&companyID='
+
companyID
+
'&orderObj='
+
JSON
.
stringify
(
orderObj
))
var
newUrl
=
this
.
domainManager
().
erpSiteUrl
+
'ChoiceAddFinancialDocuments?Type=1&companyID='
+
companyID
+
'&orderObj='
+
JSON
.
stringify
(
orderObj
)
window
.
open
(
newUrl
);
},
getshangplist
(
item
){
getshangplist
(
item
)
{
let
List
=
[];
if
(
item
.
OrderType
==
1
)
{
if
(
item
.
OrderType
==
1
)
{
List
=
item
.
HotelList
}
else
if
(
item
.
OrderType
==
2
)
{
}
else
if
(
item
.
OrderType
==
2
)
{
List
=
item
.
DiningList
}
else
if
(
item
.
OrderType
==
3
)
{
}
else
if
(
item
.
OrderType
==
3
)
{
List
=
item
.
TicketList
}
else
if
(
item
.
OrderType
==
4
)
{
}
else
if
(
item
.
OrderType
==
4
)
{
List
=
item
.
CarList
}
return
List
...
...
@@ -1792,16 +1811,17 @@
ECOrderDetailId
:
list
.
Id
}]
}
// window.open('http://www.test.com:8081/#/ChoiceAddFinancialDocuments?Type=2&companyID='+companyID+'&orderObj='+JSON.stringify(orderObj))
window
.
open
(
'http://yx.oytour.com/#/ChoiceAddFinancialDocuments?Type=2&companyID='
+
companyID
+
'&orderObj='
+
JSON
.
stringify
(
orderObj
))
var
newUrl
=
this
.
domainManager
().
erpSiteUrl
+
'ChoiceAddFinancialDocuments?Type=2&companyID='
+
companyID
+
'&orderObj='
+
JSON
.
stringify
(
orderObj
)
window
.
open
(
newUrl
)
},
goSF
(
item
)
{
//收入详情
this
.
$router
.
push
({
name
:
'FinancialDocumentsDetail'
,
query
:
{
id
:
item
.
FrID
,
blank
:
'y'
blank
:
'y'
}
});
...
...
@@ -1812,18 +1832,18 @@
name
:
'FinancialDocumentsDetail'
,
query
:
{
id
:
item
.
FrID
,
blank
:
'y'
blank
:
'y'
}
});
},
goCommonJump
(
url
,
id
)
{
goCommonJump
(
url
,
id
)
{
this
.
$router
.
push
({
name
:
url
,
query
:
{
OrderId
:
id
,
blank
:
'y'
blank
:
'y'
}
});
...
...
@@ -2110,12 +2130,15 @@
border-radius
:
2px
;
margin-right
:
4px
;
}
.vue-line-clamp
span
{
font-size
:
16px
;
font-weight
:
bold
.vue-line-clamp
span
{
font-size
:
16px
;
font-weight
:
bold
}
.orderList
span
{
.orderList
span
{
font-size
:
13px
;
font-weight
:
normal
;
}
}
</
style
>
src/components/index.vue
View file @
11442a0c
...
...
@@ -2177,16 +2177,19 @@
testApi
()
{
var
postMsg
=
{};
var
cmd
=
""
;
cmd
=
"
ppt_trip_DeleteTripMain
"
;
cmd
=
""
;
postMsg
=
{
MainId
:
1
,
}
if
(
cmd
!=
''
)
{
this
.
apipost
(
cmd
,
postMsg
,
res
=>
{
console
.
log
(
"testApi"
,
res
);
}
);
}
},
//测试方法
testEmp
()
{
...
...
@@ -2394,16 +2397,8 @@
},
LogSetReadStatus
(
s
)
{
if
(
s
.
Type
==
7
)
{
let
url
=
""
;
if
(
!
this
.
isOnline
())
{
url
=
"http://testerp.oytour.com:8081/#/"
;
}
else
{
url
=
"http://yx.oytour.com/#/"
;
}
let
url
=
this
.
domainManager
().
erpSiteUrl
;
let
path
=
url
+
s
.
Link
;
let
routeData
=
this
.
$router
.
resolve
({
name
:
path
})
window
.
open
(
path
,
'_blank'
)
}
else
{
this
.
apipost
(
...
...
src/components/onedayTripContract.vue
View file @
11442a0c
...
...
@@ -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
>
src/plug/index.js
View file @
11442a0c
...
...
@@ -118,6 +118,7 @@ export default {
let
mallUrl
=
""
;
//商城API
let
lxymallUrl
=
''
;
//国内游api
let
crmUrl
=
""
;
//crm API
let
erpSiteUrl
=
""
;
//ERP站点
let
locationName
=
window
.
location
.
hostname
;
let
isOnline
=
0
;
//0-本地测试,1-线上
let
ocrUrl
=
"http://192.168.5.46:8888"
;
...
...
@@ -130,12 +131,14 @@ export default {
mallUrl
=
"http://192.168.5.214:8200"
;
lxymallUrl
=
"http://192.168.20.13:8088"
;
crmUrl
=
"http://192.168.5.46:5003"
erpSiteUrl
=
"http://localhost:8080/#/"
;
if
(
locationName
.
indexOf
(
'testerp.oytour'
)
!==
-
1
)
{
domainUrl
=
"http://testapi.oytour.com"
;
mallUrl
=
"https://mallapi.oytour.com"
;
lxymallUrl
=
"https://erpmallapi.oytour.com"
;
crmUrl
=
"http://testcrm.oytour.com"
;
ocrUrl
=
"http://ocr.oytour.com"
;
erpSiteUrl
=
"http://admin.oytour.com/#/"
;
isOnline
=
1
;
}
else
if
(
locationName
.
indexOf
(
'ys.oytour'
)
!==
-
1
)
{
domainUrl
=
"http://reborn.oytour.com"
;
...
...
@@ -143,6 +146,7 @@ export default {
lxymallUrl
=
"https://erpmallapi.oytour.com"
;
crmUrl
=
"http://crm.oytour.com"
;
ocrUrl
=
"http://ocr.oytour.com"
;
erpSiteUrl
=
"http://admin.oytour.com/#/"
;
isOnline
=
1
;
}
else
if
(
locationName
.
indexOf
(
'oytour'
)
!==
-
1
)
{
domainUrl
=
"http://reborn.oytour.com"
;
...
...
@@ -150,13 +154,19 @@ export default {
lxymallUrl
=
"https://erpmallapi.oytour.com"
;
crmUrl
=
"http://crm.oytour.com"
;
ocrUrl
=
"http://ocr.oytour.com"
;
erpSiteUrl
=
"http://admin.oytour.com/#/"
;
isOnline
=
1
;
}
var
userInfo
=
this
.
getLocalStorage
();
if
(
userInfo
&&
userInfo
.
ERPUrl
&&
userInfo
.
ERPUrl
!=
''
)
{
erpSiteUrl
=
userInfo
.
ERPUrl
;
}
var
obj
=
{
IsOnline
:
isOnline
,
//0-本地,1-线上
//主地址
DomainUrl
:
domainUrl
,
ocrUrl
:
ocrUrl
,
//行程下载地址
erpSiteUrl
:
erpSiteUrl
,
//ERP站点地址
//常用提交数据URL
PostUrl
:
domainUrl
+
"/api/common/post"
,
//上传文件URL
...
...
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