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
defed7eb
Commit
defed7eb
authored
Mar 27, 2025
by
liudong1993
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
d454769a
8e2144a4
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
768 additions
and
88 deletions
+768
-88
fill.js
src/assets/common/lang/zhCN/fill.js
+1
-1
VisaProductOrder.vue
src/components/SalesVisa/VisaProductOrder.vue
+119
-11
visaOrderList.vue
src/components/SalesVisa/components/visaOrderList.vue
+5
-1
TravelControlList.vue
...components/TravelManager/TravelList/TravelControlList.vue
+53
-3
OfferChange.vue
...mponents/TravelManager/TravelNewQuotation/OfferChange.vue
+3
-7
QuotationAduit.vue
...nents/TravelManager/TravelNewQuotation/QuotationAduit.vue
+0
-1
comChooseTrip.vue
src/components/commonPage/comChooseTrip.vue
+462
-0
tripsManager.vue
src/components/dmc/manager/tripsManager.vue
+20
-16
TravelManagerThree.vue
...ewTravelmanager/TravelGroupControl/TravelManagerThree.vue
+4
-2
TravelPrice.vue
...nents/newTravelmanager/TravelGroupControl/TravelPrice.vue
+35
-16
TravelPrice2.vue
...ents/newTravelmanager/TravelGroupControl/TravelPrice2.vue
+33
-15
TravelPrice3.vue
...ents/newTravelmanager/TravelGroupControl/TravelPrice3.vue
+33
-15
No files found.
src/assets/common/lang/zhCN/fill.js
View file @
defed7eb
...
@@ -6249,7 +6249,7 @@ export const obj = {
...
@@ -6249,7 +6249,7 @@ export const obj = {
qianzhenglb
:
'签证列表'
,
qianzhenglb
:
'签证列表'
,
xiugaisongqr
:
'修改送签日期'
,
xiugaisongqr
:
'修改送签日期'
,
xiugaichuqr
:
'修改出签日期'
,
xiugaichuqr
:
'修改出签日期'
,
xiugaijingr
:
'修改进馆日'
,
xiugaijingr
:
'修改进馆日
期
'
,
xuanzeqzlx
:
'选择签证类型'
,
xuanzeqzlx
:
'选择签证类型'
,
ouzhouqianz
:
'欧洲签证'
,
ouzhouqianz
:
'欧洲签证'
,
qingshurgjmc
:
'输入国家名称'
,
qingshurgjmc
:
'输入国家名称'
,
...
...
src/components/SalesVisa/VisaProductOrder.vue
View file @
defed7eb
...
@@ -816,13 +816,19 @@
...
@@ -816,13 +816,19 @@
<span
v-show=
"nameShow"
>
{{
visaProduct
}}
</span>
<span
v-show=
"nameShow"
>
{{
visaProduct
}}
</span>
</div>
</div>
<div
v-if=
"visaProduct.indexOf('日本')!=-1"
>
<div
v-if=
"visaProduct.indexOf('日本')!=-1"
>
<el-switch
<el-radio-group
v-model=
"SwitchStatus"
size=
"mini"
>
<el-radio-button
label=
"1"
>
{{
$t
(
'objFill.v101.administrative.yijianzhidan'
)
}}
</el-radio-button>
<el-radio-button
label=
"0"
>
{{
$t
(
'objFill.oneclickfinish'
)
}}
</el-radio-button>
<el-radio-button
label=
"2"
>
{{
$t
(
'objFill.v101.Rest.xiugaijingr'
)
}}
</el-radio-button>
<el-radio-button
label=
"3"
>
{{
$t
(
'objFill.v101.Rest.xiugaisongqr'
)
}}
</el-radio-button>
</el-radio-group>
<!--
<el-switch
v-model=
"SwitchStatus"
v-model=
"SwitchStatus"
:active-text=
"$t('objFill.v101.administrative.yijianzhidan')"
:active-text=
"$t('objFill.v101.administrative.yijianzhidan')"
in:active-text=
"$t('objFill.oneclickfinish')"
in:active-text=
"$t('objFill.oneclickfinish')"
active-value=
"1"
active-value=
"1"
inactive-value=
"0"
@
change=
"handleClear"
>
inactive-value=
"0"
@
change=
"handleClear"
>
</el-switch>
</el-switch>
-->
</div>
</div>
</div>
</div>
<div
class=
"query-box"
style=
"border:none"
>
<div
class=
"query-box"
style=
"border:none"
>
...
@@ -874,8 +880,14 @@
...
@@ -874,8 +880,14 @@
<button
class=
"hollowFixedBtn"
@
click=
"getList()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"getList()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"goUrlCb"
>
{{
$t
(
'objFill.v101.Rest.chakanchenb'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"goUrlCb"
>
{{
$t
(
'objFill.v101.Rest.chakanchenb'
)
}}
</button>
<el-button
v-if=
"IsSupperOrderEdit"
class=
"hollowFixedBtn"
<el-button
v-if=
"IsSupperOrderEdit"
class=
"hollowFixedBtn"
@
click=
"SwitchStatus==0?setCompleted():setPrepareDocument()"
@
click=
"SwitchStatus==0?setCompleted():(SwitchStatus==1?setPrepareDocument():(SwitchStatus==2?setEnterTimeOrSignOutTimeDocument(1):setEnterTimeOrSignOutTimeDocument(2)))"
:loading=
"CompletedLoading"
>
{{
SwitchStatus
==
0
?
$t
(
'objFill.oneclickfinish'
):
$t
(
'objFill.v101.administrative.yijianzhidan'
)
}}
</el-button>
:loading=
"CompletedLoading"
>
{{
SwitchStatus
==
0
?
$t
(
'objFill.oneclickfinish'
):(
SwitchStatus
==
1
?
$t
(
'objFill.v101.administrative.yijianzhidan'
):(
SwitchStatus
==
2
?
$t
(
'objFill.v101.Rest.xiugaijingr'
):
$t
(
'objFill.v101.Rest.xiugaisongqr'
)))
}}
</el-button>
<!--
<el-button
v-if=
"IsSupperOrderEdit"
class=
"hollowFixedBtn"
@
click=
"setEnterTimeOrSignOutTimeDocument(1)"
:loading=
"CompletedLoading"
>
{{
$t
(
'objFill.v101.Rest.xiugaijingr'
)
}}
</el-button>
<el-button
v-if=
"IsSupperOrderEdit"
class=
"hollowFixedBtn"
@
click=
"setEnterTimeOrSignOutTimeDocument(2)"
:loading=
"CompletedLoading"
>
{{
$t
(
'objFill.v101.Rest.xiugaisongqr'
)
}}
</el-button>
-->
</li>
</li>
</ul>
</ul>
</div>
</div>
...
@@ -905,7 +917,7 @@
...
@@ -905,7 +917,7 @@
<el-table-column
<el-table-column
type=
"selection"
type=
"selection"
:selectable=
"selectable"
:selectable=
"selectable"
:reserve-selection=
"true"
v-if=
"IsSupperOrderEdit"
/
>
:reserve-selection=
"true"
v-if=
"IsSupperOrderEdit"
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"IsSupperOrderEdit?$t('system.table_chekAll'):''"
>
<el-table-column
:label=
"IsSupperOrderEdit?$t('system.table_chekAll'):''"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
...
@@ -918,7 +930,6 @@
...
@@ -918,7 +930,6 @@
<th
width=
"6%"
>
{{
$t
(
'hotel.hotel_StarDate'
)
}}
</th>
<th
width=
"6%"
>
{{
$t
(
'hotel.hotel_StarDate'
)
}}
</th>
<th
width=
"6%"
>
{{
$t
(
'fnc.bmriqi'
)
}}
</th>
<th
width=
"6%"
>
{{
$t
(
'fnc.bmriqi'
)
}}
</th>
<th
width=
"7%"
>
{{
$t
(
'fnc.yszonge'
)
}}
</th>
<th
width=
"7%"
>
{{
$t
(
'fnc.yszonge'
)
}}
</th>
<th
width=
"7%"
>
{{
$t
(
'fnc.shishou'
)
}}
</th>
<th
width=
"7%"
>
{{
$t
(
'fnc.shishou'
)
}}
</th>
<th
width=
"5%"
>
{{
$t
(
'fnc.tuikuan'
)
}}
</th>
<th
width=
"5%"
>
{{
$t
(
'fnc.tuikuan'
)
}}
</th>
<th
width=
"5%"
>
{{
$t
(
'fnc.ptshuijin'
)
}}
</th>
<th
width=
"5%"
>
{{
$t
(
'fnc.ptshuijin'
)
}}
</th>
...
@@ -1051,7 +1062,7 @@
...
@@ -1051,7 +1062,7 @@
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
colspan=
"
9
"
class=
"groupTourOrder_remarks"
style=
"height: 40px;"
>
<td
colspan=
"
7
"
class=
"groupTourOrder_remarks"
style=
"height: 40px;"
>
<div>
<div>
<div
class=
"fz13"
>
<div
class=
"fz13"
>
<span
v-if=
"scope.row.VisaFeeNum"
class=
"mr cblack"
>
{{$t('objFill.v101.Rest.qianzhengrens')}}:
<span
v-if=
"scope.row.VisaFeeNum"
class=
"mr cblack"
>
{{$t('objFill.v101.Rest.qianzhengrens')}}:
...
@@ -1084,7 +1095,29 @@
...
@@ -1084,7 +1095,29 @@
</div>
</div>
</div>
</div>
</td>
</td>
<td
colspan=
"9"
class=
"groupTourOrder_tickets2"
style=
"height: 40px;"
>
<td
colspan=
"3"
class=
"groupTourOrder_remarks"
style=
"height: 40px;"
>
<div>
<div
style=
"display: block;width: 100%;"
>
<p
style=
"display: flex;width: 100%;"
><span
class=
"VO-remarkTitle"
>
{{$t('objFill.v101.Rest.jingguanrq')}}:{{scope.row.EnterTime}}
<el-tooltip
class=
""
effect=
"dark"
:content=
"$t('objFill.v101.Rest.xiugaijingr')"
placement=
"top"
>
<i
class=
"el-icon-edit cursor-pointer c059FF6"
@
click=
"EnterTimeOrSignOutTimeMsg.Id=scope.row.Id;EnterTimeOrSignOutTimeMsg.type=1;EnterTimeOrSignOutTimeMsg.batch=1;EnterTimeOrSignOutTimeMsg.TimeInfo=scope.row.EnterTime;showEnterTimeOrSignOutTime=true;"
></i>
</el-tooltip>
</span></p>
<p
style=
"display: flex;width: 100%;"
><span
class=
"VO-remarkTitle"
>
{{$t('visa.v_sqtime')}}:{{scope.row.SignOutTime}}
<el-tooltip
class=
""
effect=
"dark"
:content=
"$t('objFill.v101.Rest.xiugaisongqr')"
placement=
"top"
>
<i
class=
"el-icon-edit cursor-pointer c059FF6"
@
click=
"EnterTimeOrSignOutTimeMsg.Id=scope.row.Id;EnterTimeOrSignOutTimeMsg.batch=1;EnterTimeOrSignOutTimeMsg.type=2;EnterTimeOrSignOutTimeMsg.TimeInfo=scope.row.SignOutTime;showEnterTimeOrSignOutTime=true;"
></i>
</el-tooltip>
</span>
</p>
</div>
</div>
</td>
<td
colspan=
"8"
class=
"groupTourOrder_tickets2"
style=
"height: 40px;"
>
<div>
<div>
<div
class=
"row justify-sb wrap mr"
>
<div
class=
"row justify-sb wrap mr"
>
<div
class=
"row relative"
style=
"margin-top: 5px;"
>
<div
class=
"row relative"
style=
"margin-top: 5px;"
>
...
@@ -1204,6 +1237,23 @@
...
@@ -1204,6 +1237,23 @@
:multipleSelection=
"multipleSelection"
:multipleSelection=
"multipleSelection"
@
close=
"showDocumentPreparation=false"
@
close=
"showDocumentPreparation=false"
@
success=
"showDocumentPreparation=false,getList()"
></OneClickDocumentPreparation>
@
success=
"showDocumentPreparation=false,getList()"
></OneClickDocumentPreparation>
<el-dialog
:title=
"EnterTimeOrSignOutTimeMsg.type==1?$t('objFill.v101.Rest.xiugaijingr'):$t('objFill.v101.Rest.xiugaisongqr')"
:visible
.
sync=
"showEnterTimeOrSignOutTime"
width=
"30%"
:before-close=
"handleClose"
>
<span>
<el-date-picker
v-model=
"EnterTimeOrSignOutTimeMsg.TimeInfo"
type=
"date"
:placeholder=
"$t('admin.admin_choDate')"
@
change=
"getTimeInfo"
>
</el-date-picker></span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"clearEnterTimeOrSignOutTimeMsg()"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"SetEnterTimeOrSignOutTimeMsg()"
:loading=
"enterTimeOrSignOutTimeloading"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
...
@@ -1216,15 +1266,24 @@
...
@@ -1216,15 +1266,24 @@
return
{
return
{
ids
:
''
,
ids
:
''
,
showDocumentPreparation
:
false
,
showDocumentPreparation
:
false
,
SwitchStatus
:
0
,
//0 完结 1制单
SwitchStatus
:
0
,
//0 完结 1制单
,2批量修改进馆时间,3-批量修改出签时间
titleType
:
null
,
titleType
:
null
,
title
:
''
,
title
:
''
,
showTransferOrder
:
false
,
showTransferOrder
:
false
,
showEnterTimeOrSignOutTime
:
false
,
//设置进馆时间/出签时间
enterTimeOrSignOutTimeloading
:
false
,
queryObj
:
null
,
queryObj
:
null
,
cdState
:
false
,
cdState
:
false
,
IsSupperOrderEdit
:
false
,
//获取总经理副总经理超级修改权限
IsSupperOrderEdit
:
false
,
//获取总经理副总经理超级修改权限
defaultImg
:
'this.src="'
+
require
(
"../../assets/img/litheader.png"
)
+
'"'
,
defaultImg
:
'this.src="'
+
require
(
"../../assets/img/litheader.png"
)
+
'"'
,
nameShow
:
true
,
nameShow
:
true
,
EnterTimeOrSignOutTimeMsg
:{
Id
:
""
,
//多个ids (1,2,3格式)
type
:
0
,
//1-进馆时间/2送签时间
TimeInfo
:
""
,
//时间信息
batch
:
0
,
//1-单个,2-多个
},
EnterTimeOrSignOutTimeIds
:[],
msg
:
{
msg
:
{
pageIndex
:
1
,
pageIndex
:
1
,
pageSize
:
999
,
pageSize
:
999
,
...
@@ -1259,27 +1318,76 @@
...
@@ -1259,27 +1318,76 @@
}
}
},
},
methods
:
{
methods
:
{
getTimeInfo
(
e
){
this
.
EnterTimeOrSignOutTimeMsg
.
TimeInfo
=
this
.
$calendarUtils
.
formatDate2
(
this
.
EnterTimeOrSignOutTimeMsg
.
TimeInfo
)
},
handleClose
(
done
)
{
this
.
clearEnterTimeOrSignOutTimeMsg
();
done
();
},
clearEnterTimeOrSignOutTimeMsg
(){
this
.
showEnterTimeOrSignOutTime
=
false
;
this
.
EnterTimeOrSignOutTimeMsg
.
Id
=
""
;
//多个ids (1,2,3格式)
this
.
EnterTimeOrSignOutTimeMsg
.
type
=
0
;
//1-进馆时间/2送签时间
this
.
EnterTimeOrSignOutTimeMsg
.
batch
=
0
;
//1-单个,2-多个
this
.
EnterTimeOrSignOutTimeMsg
.
TimeInfo
=
""
;
//时间信息
this
.
handleClear
();
},
SetEnterTimeOrSignOutTimeMsg
(){
this
.
enterTimeOrSignOutTimeloading
=
true
;
this
.
apipost
(
'post_visa_SetVisaOrderEnterTimeOrSignOutTime'
,
this
.
EnterTimeOrSignOutTimeMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
clearEnterTimeOrSignOutTimeMsg
();
this
.
Success
(
res
.
data
.
message
)
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
his
.
enterTimeOrSignOutTimeloading
=
false
;
},
err
=>
{})
},
handleClear
(){
handleClear
(){
this
.
$refs
.
multipleTable
.
clearSelection
()
this
.
$refs
.
multipleTable
.
clearSelection
()
},
},
selectable
(
row
,
index
){
selectable
(
row
,
index
){
/// SwitchStatus 0 完结 1制单,2批量修改进馆时间,3-批量修改出签时间
console
.
log
(
"SwitchStatus 0 完结 1制单,2批量修改进馆时间,3-批量修改出签时间"
,
this
.
SwitchStatus
);
if
(
this
.
SwitchStatus
==
0
){
if
(
this
.
SwitchStatus
==
0
){
if
(
this
.
dataList
[
index
].
IsFinish
!=
1
&&
this
.
dataList
[
index
].
Income
>
0
&&
this
.
dataList
[
index
].
DueInMoney
==
0
)
{
if
(
this
.
dataList
[
index
].
IsFinish
!=
1
&&
this
.
dataList
[
index
].
Income
>
0
&&
this
.
dataList
[
index
].
DueInMoney
==
0
)
{
return
true
;
return
true
;
}
else
{
}
else
{
return
false
;
return
false
;
}
}
}
else
{
}
else
if
(
this
.
SwitchStatus
==
1
)
{
if
(
this
.
dataList
[
index
].
FinanceList
&&
this
.
dataList
[
index
].
FinanceList
.
length
>
0
&&
this
.
dataList
[
index
].
VisaOrderStatus
==
1
){
if
(
this
.
dataList
[
index
].
FinanceList
&&
this
.
dataList
[
index
].
FinanceList
.
length
>
0
&&
this
.
dataList
[
index
].
VisaOrderStatus
==
1
){
return
true
return
true
}
else
{
}
else
{
return
false
return
false
}
}
}
}
else
{
return
true
}
},
},
handleSelectionChange
(
val
)
{
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
JSON
.
parse
(
JSON
.
stringify
(
val
))
this
.
multipleSelection
=
JSON
.
parse
(
JSON
.
stringify
(
val
))
},
},
// 一键设置出签时间/进馆时间
setEnterTimeOrSignOutTimeDocument
(
type
){
let
ids
=
''
if
(
this
.
multipleSelection
&&
this
.
multipleSelection
.
length
>
0
){
ids
=
this
.
multipleSelection
.
map
(
x
=>
{
return
x
.
Id
})
}
if
(
ids
==
''
||
(
ids
&&
ids
.
length
==
0
))
{
this
.
$message
.
error
(
this
.
$t
(
'objFill.qinggouxuan'
))
return
}
this
.
EnterTimeOrSignOutTimeMsg
.
Id
=
ids
.
join
(
','
);
console
.
log
(
"this.multipleSelection"
,
this
.
EnterTimeOrSignOutTimeMsg
.
Id
);
this
.
EnterTimeOrSignOutTimeMsg
.
batch
=
2
;
this
.
EnterTimeOrSignOutTimeMsg
.
type
=
type
;
this
.
showEnterTimeOrSignOutTime
=
true
;
},
// 一键制单
// 一键制单
setPrepareDocument
(
id
){
setPrepareDocument
(
id
){
let
ids
=
''
let
ids
=
''
...
...
src/components/SalesVisa/components/visaOrderList.vue
View file @
defed7eb
...
@@ -561,7 +561,11 @@
...
@@ -561,7 +561,11 @@
</el-image>
</el-image>
</
template
>
</
template
>
</div>
</div>
<span
style=
"color:red;"
>
{{$t('objFill.v101.Rest.jingguanrq')}}:
</span>
<span
style=
"margin-right:10px;color:red;"
>
{{ scope.row.enterTime }}
</span>
<span
style=
"color:red;"
>
{{$t('visa.v_sqtime')}}:
</span>
<span
style=
"margin-right:10px;color:red;"
>
{{ scope.row.signOutTime }}
</span>
<span>
{{$t('restaurant.res_oderTime')}}:
</span>
<span>
{{$t('restaurant.res_oderTime')}}:
</span>
<span>
{{ scope.row.createTime }}
</span>
<span>
{{ scope.row.createTime }}
</span>
</div>
</div>
...
...
src/components/TravelManager/TravelList/TravelControlList.vue
View file @
defed7eb
...
@@ -685,9 +685,10 @@
...
@@ -685,9 +685,10 @@
<p
class=
"travelnowrap"
>
<p
class=
"travelnowrap"
>
<span>
{{ $t("Airticket.Air_StartTime") }}
</span>
<span>
{{ $t("Airticket.Air_StartTime") }}
</span>
<span
class=
"go_date"
>
{{ item.StartDate }}(
<font
style=
"color:red;font-weight:bold;"
>
<span
class=
"go_date"
>
{{ item.StartDate }}(
<font
style=
"color:red;font-weight:bold;"
>
{{item.StartDateWeekStr}}
</font>
)
</span>
{{item.StartDateWeekStr}}
</font>
)
</span>
<
template
v-if=
"item.RelationPriceList && item.RelationPriceList.length > 0"
>
<
template
v-if=
"item.RelationPriceList && item.RelationPriceList.length > 0"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('objFill.xilietdate')"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('objFill.xilietdate')"
placement=
"top-start"
>
<el-popover
width=
"350"
trigger=
"click"
popper-class=
"TC_HotelPop"
>
<el-popover
width=
"350"
trigger=
"click"
popper-class=
"TC_HotelPop"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<tr>
...
@@ -712,6 +713,32 @@
...
@@ -712,6 +713,32 @@
</el-popover>
</el-popover>
</el-tooltip>
</el-tooltip>
</
template
>
</
template
>
<!-- <template v-if="item.TeamPriceList && item.TeamPriceList.length > 0">
<el-tooltip class="item" effect="dark" content="合并列表">
<el-popover width="350" trigger="click" popper-class="TC_HotelPop">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="width: 100px">
{{ $t("Airticket.Air_StartTime") }}
</td>
<td style="width: 250px">{{ $t("visa.v_tuanhao") }}</td>
</tr>
<tr v-for="(rItem, rIndex) in item.TeamPriceList" :key="`d_`+index+`_t_`+rIndex">
<td>
{{ rItem.StartDate }}
</td>
<td>
({{ rItem.TCID }}){{ rItem.TCNUM }}[{{ rItem.TCState }}]
</td>
</tr>
</table>
<el-button slot="reference" circle size="mini" type="primary"
style="width: 20px; height: 20px; padding: 4px" style="">
{{ item.TeamPriceList.length }}
</el-button>
</el-popover>
</el-tooltip>
</template> -->
</p>
</p>
<p
class=
"travelnowrap flex"
v-if=
"item.OfferShouPeiFee > 0"
>
<p
class=
"travelnowrap flex"
v-if=
"item.OfferShouPeiFee > 0"
>
<span>
{{ $t("objFill.handpartscharge") }}
</span>
<span>
{{ $t("objFill.handpartscharge") }}
</span>
...
@@ -1550,6 +1577,12 @@
...
@@ -1550,6 +1577,12 @@
<el-dropdown-item
@
click
.
native=
"ckChangePrice(item,2)"
>
<el-dropdown-item
@
click
.
native=
"ckChangePrice(item,2)"
>
团队类型变更
团队类型变更
</el-dropdown-item>
</el-dropdown-item>
<!-- <el-dropdown-item @click.native="shorTripDialog(item,1)">
系列合并
</el-dropdown-item>
<el-dropdown-item @click.native="shorTripDialog(item,2)">
当团合并
</el-dropdown-item> -->
</el-dropdown-menu>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
</div>
</div>
...
@@ -1895,7 +1928,8 @@
...
@@ -1895,7 +1928,8 @@
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('objFill.tuanduilx')"
prop=
"Remark"
>
<el-form-item
:label=
"$t('objFill.tuanduilx')"
prop=
"Remark"
>
<el-select
class=
"multiple_input"
v-model=
"changePriceMsg.NewB2BPrice"
>
<el-select
class=
"multiple_input"
v-model=
"changePriceMsg.NewB2BPrice"
>
<el-option
v-for=
'item in teamList'
v-if=
"item.ID!=2"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
<el-option
v-for=
'item in teamList'
v-if=
"item.ID!=2"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -1922,6 +1956,11 @@
...
@@ -1922,6 +1956,11 @@
<price-dialog
:ConfigId=
"dialog.ConfigId"
:OfferId=
"dialog.OfferId"
ref=
"dialog"
></price-dialog>
<price-dialog
:ConfigId=
"dialog.ConfigId"
:OfferId=
"dialog.OfferId"
ref=
"dialog"
></price-dialog>
</el-dialog>
</el-dialog>
</div>
</div>
<div
v-if=
"isShowPriceTripDialog"
>
<el-dialog
:visible
.
sync=
"isShowPriceTripDialog"
width=
"1400px"
:title=
"$t('objFill.baojiaxiangqing')"
>
<comChooseTrip
:priceObj=
"priceObj"
:mergeType=
"mergeType"
ref=
"dialog"
></comChooseTrip>
</el-dialog>
</div>
<!-- 修改出团公司 -->
<!-- 修改出团公司 -->
<EditLeaveGroup
v-if=
"GroupTypeVisible"
:item=
"GroupTypeObj"
@
Cancel=
"CancelGroupType"
<EditLeaveGroup
v-if=
"GroupTypeVisible"
:item=
"GroupTypeObj"
@
Cancel=
"CancelGroupType"
@
Success=
"getControlList()"
/>
@
Success=
"getControlList()"
/>
...
@@ -1934,6 +1973,7 @@
...
@@ -1934,6 +1973,7 @@
import
priceDialog
from
"../TravelNewQuotation/priceDialog.vue"
;
import
priceDialog
from
"../TravelNewQuotation/priceDialog.vue"
;
import
EditLeaveGroup
from
"./components/EditLeaveGroup.vue"
;
import
EditLeaveGroup
from
"./components/EditLeaveGroup.vue"
;
import
DateLimit
from
"../../public/DateLimit.vue"
;
import
DateLimit
from
"../../public/DateLimit.vue"
;
import
comChooseTrip
from
"../../commonPage/comChooseTrip.vue"
;
export
default
{
export
default
{
components
:
{
components
:
{
commonBusInfo
,
commonBusInfo
,
...
@@ -1942,6 +1982,7 @@
...
@@ -1942,6 +1982,7 @@
priceDialog
,
priceDialog
,
EditLeaveGroup
,
EditLeaveGroup
,
DateLimit
,
DateLimit
,
comChooseTrip
,
},
},
provide
()
{
provide
()
{
return
{
return
{
...
@@ -2245,6 +2286,9 @@
...
@@ -2245,6 +2286,9 @@
},
},
},
},
teamList
:
[],
//团队类型列表
teamList
:
[],
//团队类型列表
isShowPriceTripDialog
:
false
,
priceObj
:
{},
mergeType
:
1
,
};
};
},
},
//监听器
//监听器
...
@@ -2256,6 +2300,12 @@
...
@@ -2256,6 +2300,12 @@
},
},
},
},
methods
:
{
methods
:
{
//显示合并团队弹窗
shorTripDialog
(
item
,
type
)
{
this
.
priceObj
=
item
;
this
.
mergeType
=
type
;
this
.
isShowPriceTripDialog
=
true
;
},
//团队类型
//团队类型
getTravelTeamList
()
{
getTravelTeamList
()
{
this
.
apipost
(
this
.
apipost
(
...
...
src/components/TravelManager/TravelNewQuotation/OfferChange.vue
View file @
defed7eb
...
@@ -80,6 +80,7 @@
...
@@ -80,6 +80,7 @@
AssistantList
:
[],
//助理OP
AssistantList
:
[],
//助理OP
PriceTeamType
:
0
,
//团队类型,
PriceTeamType
:
0
,
//团队类型,
PriceTeamTypeName
:
""
,
//团队类型,
PriceTeamTypeName
:
""
,
//团队类型,
OfferArray
:[],
},
},
pMsg
:
{
pMsg
:
{
offerId
:
0
,
offerId
:
0
,
...
@@ -127,7 +128,7 @@
...
@@ -127,7 +128,7 @@
this
.
haveData
=
false
;
this
.
haveData
=
false
;
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
apipost
(
this
.
apipost
(
"travel_get_
GetMyTravelInfo_V5
"
,
"travel_get_
PriceOfferInfo
"
,
this
.
pMsg
,
this
.
pMsg
,
res
=>
{
res
=>
{
this
.
loading
=
false
;
this
.
loading
=
false
;
...
@@ -222,9 +223,7 @@
...
@@ -222,9 +223,7 @@
this
.
postData
.
PriceTeamTypeName
=
tempData
.
PriceTeamTypeName
;
this
.
postData
.
PriceTeamTypeName
=
tempData
.
PriceTeamTypeName
;
this
.
postData
.
PriceTeamType
=
tempData
.
PriceTeamType
;
this
.
postData
.
PriceTeamType
=
tempData
.
PriceTeamType
;
if
(
tempData
.
OfferArray
)
{
if
(
tempData
.
OfferArray
)
{
tempData
.
OfferArray
.
forEach
(
item
=>
{
this
.
postData
.
OfferArray
=
tempData
.
OfferArray
;
this
.
OfferArray
.
push
(
item
)
})
}
}
this
.
haveData
=
true
;
this
.
haveData
=
true
;
}
else
{
}
else
{
...
@@ -242,9 +241,6 @@
...
@@ -242,9 +241,6 @@
if
(
this
.
$route
.
query
.
offerid
)
{
if
(
this
.
$route
.
query
.
offerid
)
{
this
.
pMsg
.
offerId
=
this
.
$route
.
query
.
offerid
;
this
.
pMsg
.
offerId
=
this
.
$route
.
query
.
offerid
;
}
}
// if (this.$route.query.BatchNum) {
// this.pMsg.BatchNum = this.$route.query.BatchNum;
// }
this
.
getPostData
();
this
.
getPostData
();
},
},
components
:
{
components
:
{
...
...
src/components/TravelManager/TravelNewQuotation/QuotationAduit.vue
View file @
defed7eb
...
@@ -255,7 +255,6 @@
...
@@ -255,7 +255,6 @@
this
.
postData
.
PriceTeamType
=
tempData
.
PriceTeamType
;
this
.
postData
.
PriceTeamType
=
tempData
.
PriceTeamType
;
if
(
tempData
.
OfferArray
)
{
if
(
tempData
.
OfferArray
)
{
this
.
postData
.
OfferArray
=
tempData
.
OfferArray
;
this
.
postData
.
OfferArray
=
tempData
.
OfferArray
;
}
}
this
.
haveData
=
true
;
this
.
haveData
=
true
;
}
else
{
}
else
{
...
...
src/components/commonPage/comChooseTrip.vue
0 → 100644
View file @
defed7eb
<
style
>
.commChooseTrip
.webSliderDiv
{
width
:
370px
;
line-height
:
0
;
height
:
244px
;
border
:
1px
solid
#ccc
;
position
:
relative
;
}
.commChooseTrip
.webSliderDiv
.web_imgUrl
{
width
:
100%
;
height
:
100%
;
}
.commChooseTrip
.webSliderDiv
.el-upload
{
width
:
100%
;
height
:
100%
;
}
.commChooseTrip
.webSliderDiv
.addIconDiv
{
position
:
absolute
;
width
:
100%
;
height
:
100%
;
top
:
0
;
background-color
:
transparent
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.commChooseTrip
.webSliderDiv
>
div
{
height
:
100%
;
}
.commChooseTrip
.myWebDiv
{
width
:
175px
!important
;
overflow
:
hidden
;
}
.commChooseTrip
.webImg_radius
{
width
:
310px
!important
;
height
:
310px
!important
;
border-radius
:
50%
;
overflow
:
hidden
;
border
:
0
!important
;
}
.b2b_imgList
{
width
:
100%
;
min-height
:
233px
;
background-color
:
#f1f1f1
;
position
:
relative
;
}
.commChooseTrip
.sectionImg
{
position
:
absolute
;
width
:
100%
;
height
:
100%
;
background-position
:
center
;
background-size
:
cover
;
}
.commChooseTrip
.title
{
word-wrap
:
break-word
;
word-break
:
normal
;
color
:
#333
;
}
.commChooseTrip
.table-striped
{
width
:
100%
;
border-spacing
:
0
;
border-collapse
:
collapse
;
}
.table-striped
tbody
{
border-bottom
:
1px
solid
#000
;
}
.commChooseTrip
.table-striped
th
,
.commChooseTrip
.table-striped
td
{
padding
:
8px
;
text-align
:
center
;
}
.commChooseTrip
.table-striped
>
tr
:nth-of-type
(
odd
)
{
background-color
:
#f9f9f9
;
}
</
style
>
<
template
>
<div
class=
"commChooseTrip"
>
<el-form>
<el-row>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('system.table_ssLine')"
label-width=
"115px;"
>
<el-select
class=
"w150"
v-model=
"queryMsg.LineId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeamList"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
></el-option>
<el-option
v-for=
"item in queryCommonData.LineList"
:label=
"item.LineName"
:value=
"item.LineID"
:key=
"item.LineID"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('active.ad_xlmc')"
label-width=
"115px;"
>
<el-select
class=
"w150"
v-model=
"queryMsg.LineteamId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
></el-option>
<el-option
v-for=
"item in queryCommonData.LineTeamList"
:label=
"item.LtName"
:value=
"item.LtID"
:key=
"item.LtID"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('visa.v_tuanhao')"
label-width=
"115px;"
>
<el-input
maxlength=
"50"
v-model=
"queryMsg.TCNUM"
class=
"w150"
:placeholder=
"$t('pub.pleaseImport')"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('Operation.Op_TeamName')"
label-width=
"115px;"
>
<el-input
maxlength=
"50"
v-model=
"queryMsg.Title"
class=
"w150"
:placeholder=
"$t('pub.pleaseImport')"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<!--出团类型-->
<el-form-item
:label=
"$t('objFill.v101.chutuanleix')"
label-width=
"115px;"
>
<el-select
class=
"w150"
v-model=
"queryMsg.QTeamType"
>
<el-option
v-for=
"item in teamList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('scen.sc_ftTime')"
label-width=
"115px;"
>
<DateLimit
:clearable=
"false"
:StartGroupDate=
"queryMsg.StartGroupDate"
:EndGroupDate=
"queryMsg.EndGroupDate"
@
change=
"(date) => (queryMsg.StartGroupDate = date)"
></DateLimit>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-button
@
click=
"resetPageIndex()"
size=
"small"
>
{{
$t
(
'pub.searchBtn'
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"saveMerage"
:loading=
"saveLoading"
>
合并
</el-button>
</el-col>
</el-row>
</el-form>
<table
style=
"width: 100%"
class=
"table-striped"
v-loading=
"queryMsg.loading"
>
<tr>
<th
width=
"50"
>
<font
style=
"cursor:pointer;"
@
click=
"isAllCheck=!isAllCheck,checkAll()"
>
{{
!
isAllCheck
?
"全选"
:
"取消全选"
}}
</font>
</th>
<th>
{{
$t
(
"objFill.v101.chufari"
)
}}
</th>
<th>
{{
$t
(
"visa.v_tuanhao"
)
}}
</th>
<th>
{{
$t
(
"scen.sc_cp"
)
}}
</th>
<th>
{{
$t
(
"system.table_ssLine"
)
}}
</th>
<th>
{{
$t
(
"active.ad_xlmc"
)
}}
</th>
<th>
{{
$t
(
"ground.tianshu"
)
}}
</th>
<th>
{{
$t
(
"Operation.Op_tradePrice"
)
}}
</th>
<th>
{{
$t
(
'Operation.Op_directPrice'
)
}}
</th>
<th>
{{
$t
(
"objFill.v101.tuanweizku"
)
}}
</th>
</tr>
<tbody
v-for=
"(item, index) in dataList"
:key=
"index"
>
<tr>
<td
rowspan=
"2"
>
<el-checkbox
v-model=
"item.Checked"
></el-checkbox>
</td>
<td>
{{
item
.
StartDate
}}
</td>
<td>
{{
item
.
TCNUM
}}
(
{{
item
.
TCID
}}
)
</td>
<td>
{{
item
.
OutBranchName
}}
</td>
<td>
{{
item
.
LineName
}}
</td>
<td>
{{
item
.
LtName
}}
</td>
<td>
{{
item
.
DayNum
}}{{
$t
(
"hotel.hotel_day"
)
}}{{
item
.
NightNum
}}{{
$t
(
"Operation.Op_night"
)
}}
</td>
<td>
{{
item
.
B2BPrice
}}
</td>
<td>
{{
item
.
B2CPrice
}}
</td>
<td>
{{
item
.
FSeat
+
item
.
CSeat
+
item
.
YSeat
-
(
item
.
SurplusFSeat
+
item
.
SurplusCSeat
+
item
.
SurplusYSeat
)
}}
</td>
</tr>
<tr>
<td
colspan=
"10"
style=
"text-align: left"
>
<span
class=
"title"
>
{{
item
.
Title
}}
</span>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td
colspan=
"10"
>
<div
class=
"noData"
v-show=
"queryMsg.noData"
>
{{
$t
(
"system.content_noData"
)
}}
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"queryMsg.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"queryMsg.pageSize"
:total=
"queryMsg.total"
>
</el-pagination>
</td>
</tr>
</tfoot>
</table>
</div>
</
template
>
<
script
>
import
DateLimit
from
"../public/DateLimit.vue"
;
export
default
{
components
:
{
DateLimit
,
},
props
:
[
"priceObj"
,
"mergeType"
],
watch
:
{
priceObj
:
{
handler
:
function
(
val
,
oldVal
)
{
console
.
log
(
"w_priceObj"
,
this
.
priceObj
);
this
.
resetPageIndex
();
},
deep
:
true
},
mergeType
:
{
handler
:
function
(
val
,
oldVal
)
{
},
deep
:
true
}
},
data
()
{
return
{
queryMsg
:
{
AirTicketId
:
0
,
ApplyMaxNum
:
-
1
,
ApplyMinNum
:
-
1
,
CreateBy
:
0
,
DayNum
:
-
1
,
EndGroupDate
:
""
,
FlightState
:
0
,
GroupState
:
[],
HotelId
:
0
,
HotelUseTime
:
""
,
IsShowUnion
:
0
,
IsWarning
:
false
,
LineId
:
0
,
LineIdList
:
[],
LineteamId
:
0
,
OnlyShowOverTeam
:
"false"
,
OutBranchId
:
-
1
,
OutBranchIds
:
[],
PlaceID
:
0
,
RateOn
:
"-1"
,
RateOnDay
:
"-1"
,
SaleBranchId
:
[],
SalePlat
:
[],
StartGroupDate
:
""
,
TCID
:
0
,
TCNUM
:
""
,
TCState
:
[
3
],
TeamMaxNum
:
-
1
,
TeamMinNum
:
-
1
,
TeamType
:
0
,
UnionCityId
:
0
,
WarningQuery
:
"-1"
,
pageIndex
:
1
,
pageSize
:
10
,
currentPage
:
1
,
total
:
0
,
noData
:
true
,
loading
:
false
,
QTeamType
:
0
,
},
queryCommonData
:
{
LineList
:
[],
LineTeamList
:
[],
},
teamList
:
[],
//团队类型列表
dataList
:
[],
//列表数据
pickerBeginDateAfter
:
{
disabledDate
:
(
time
)
=>
{
let
startTime
=
new
Date
(
this
.
queryMsg
.
StartGroupDate
);
return
startTime
.
getTime
()
>=
time
.
getTime
();
},
},
isAllCheck
:
false
,
saveLoading
:
false
,
};
},
created
()
{
var
myDate
=
new
Date
();
var
nowDate
=
myDate
.
getFullYear
()
+
"-"
+
parseInt
(
myDate
.
getMonth
()
+
1
)
+
"-"
+
myDate
.
getDate
();
this
.
queryMsg
.
StartGroupDate
=
nowDate
;
this
.
getLineList
();
},
methods
:
{
saveMerage
()
{
var
tempArray
=
[];
this
.
dataList
.
forEach
(
item
=>
{
if
(
item
.
Checked
)
{
tempArray
.
push
(
item
.
TCID
)
}
});
if
(
tempArray
&&
tempArray
.
length
==
0
)
{
this
.
Error
(
"请选择要合并的团"
)
}
this
.
apipost
(
"travel_post_TravelPirceMerge"
,
{
Ids
:
tempArray
,
},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
}
}
);
},
checkAll
()
{
if
(
this
.
dataList
&&
this
.
dataList
.
length
>
0
)
{
this
.
dataList
.
forEach
(
item
=>
{
item
.
Checked
=
this
.
isAllCheck
;
})
}
},
//获取线路列表
getLineList
()
{
this
.
apipost
(
"line_post_GetList"
,
{
LineDirection
:
2
,
},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
LineList
=
res
.
data
.
data
;
this
.
queryCommonData
.
LineTeamList
=
[];
}
}
);
},
//获取系列列表
getLineTeamList
()
{
this
.
queryMsg
.
LineteamId
=
0
;
let
msg
=
{
lineID
:
this
.
queryMsg
.
LineId
,
placeID
:
this
.
queryMsg
.
PlaceID
,
isTOOP
:
1
,
};
this
.
apipost
(
"team_post_GetList"
,
msg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
LineTeamList
=
res
.
data
.
data
;
}
});
},
//翻页
handleCurrentChange
(
val
)
{
this
.
queryMsg
.
pageIndex
=
val
;
this
.
GetList
();
},
//重新查询
resetPageIndex
()
{
this
.
queryMsg
.
pageIndex
=
1
;
this
.
queryMsg
.
currentPage
=
1
;
this
.
GetList
();
},
GetList
()
{
this
.
queryMsg
.
loading
=
true
;
this
.
apipost
(
"travel_get_GetTravelPrciePageList_V2"
,
this
.
queryMsg
,
(
res
)
=>
{
this
.
queryMsg
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempArray
=
res
.
data
.
data
.
pageData
;
this
.
queryMsg
.
total
=
res
.
data
.
data
.
count
;
this
.
queryMsg
.
noData
=
!
this
.
queryMsg
.
total
>
0
;
if
(
tempArray
&&
tempArray
.
length
>
0
)
{
tempArray
.
forEach
((
item
)
=>
{
item
.
Checked
=
false
;
});
}
this
.
dataList
=
tempArray
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
(
err
)
=>
{}
);
},
//获取选中的行程
getChooseData
()
{
var
tempArray
=
[];
this
.
dataList
.
forEach
((
item
)
=>
{
if
(
item
.
Checked
)
{
tempArray
.
push
(
item
);
}
});
return
tempArray
;
},
//清空数据
clearData
()
{
// this.dataList=[];
// this.queryMsg.pageIndex=1;
// this.queryMsg.total=0;
},
//团队类型
getTeamList
()
{
this
.
apipost
(
"travel_GetTeamTypeEnumList"
,
{},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
teamList
=
res
.
data
.
data
;
}
});
},
},
mounted
()
{
console
.
log
(
"mounted_this.priceObj"
,
this
.
priceObj
);
if
(
this
.
priceObj
)
{
if
(
this
.
priceObj
.
LineID
)
{
this
.
queryMsg
.
LineId
=
this
.
priceObj
.
LineID
;
this
.
getLineTeamList
();
}
if
(
this
.
priceObj
.
ltID
)
{
this
.
queryMsg
.
LineteamId
=
this
.
priceObj
.
ltID
;
}
if
(
this
.
priceObj
.
TeamType
)
{
this
.
queryMsg
.
QTeamType
=
this
.
priceObj
.
TeamType
;
}
this
.
resetPageIndex
();
}
this
.
getTeamList
();
},
};
</
script
>
src/components/dmc/manager/tripsManager.vue
View file @
defed7eb
...
@@ -404,6 +404,7 @@
...
@@ -404,6 +404,7 @@
font-size
:
12px
;
font-size
:
12px
;
border
:
1px
solid
#E5E5E5
;
border
:
1px
solid
#E5E5E5
;
}
}
</
style
>
</
style
>
<
template
>
<
template
>
<div>
<div>
...
@@ -415,7 +416,8 @@
...
@@ -415,7 +416,8 @@
<em>
{{
$t
(
'advmanager.v_line'
)
}}
</em>
<em>
{{
$t
(
'advmanager.v_line'
)
}}
</em>
<el-select
v-model=
"queryMsg.LineId"
class=
"w150"
:placeholder=
"$t('pub.pleaseSel')"
<el-select
v-model=
"queryMsg.LineId"
class=
"w150"
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeamList(queryMsg.LineId,true)"
filterable
>
@
change=
"getLineTeamList(queryMsg.LineId,true)"
filterable
>
<el-option
v-for=
"item in queryCommonData.LineList"
:label=
"item.LineName"
:value=
"item.LineID"
:key=
"item.LineID"
>
<el-option
v-for=
"item in queryCommonData.LineList"
:label=
"item.LineName"
:value=
"item.LineID"
:key=
"item.LineID"
>
</el-option>
</el-option>
</el-select>
</el-select>
</span>
</span>
...
@@ -440,10 +442,9 @@
...
@@ -440,10 +442,9 @@
<li>
<li>
<span>
<span>
<em>
{{
$t
(
'scen.sc_ftTime'
)
}}
</em>
<em>
{{
$t
(
'scen.sc_ftTime'
)
}}
</em>
<!--
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryMsg.StartGroupDate"
<DateLimit
:clearable=
"false"
:StartGroupDate=
"queryMsg.StartGroupDate"
:picker-options=
"pickerBeginDateBefore"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
-->
:EndGroupDate=
"queryMsg.EndGroupDate"
@
change=
"(date)=> queryMsg.StartGroupDate = date"
></DateLimit>
<DateLimit
:clearable=
"false"
:StartGroupDate=
"queryMsg.StartGroupDate"
:EndGroupDate=
"queryMsg.EndGroupDate"
@
change=
"(date)=> queryMsg.StartGroupDate = date"
></DateLimit>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryMsg.EndGroupDate"
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryMsg.EndGroupDate"
:picker-options=
"pickerBeginDateAfter"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
:picker-options=
"pickerBeginDateAfter"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</span>
</li>
</li>
...
@@ -481,10 +482,12 @@
...
@@ -481,10 +482,12 @@
</li>
</li>
</ul>
</ul>
</div>
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"queryMsg.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"queryMsg.pageSize"
:total=
"queryMsg.total"
></el-pagination>
<table
class=
"TravelControlListTable TravelQueryList"
v-loading=
"loading"
>
<table
class=
"TravelControlListTable TravelQueryList"
v-loading=
"loading"
>
<tbody
v-for=
"(outItem,i) in queryCommonData.dataList"
:key=
"i"
>
<tbody
v-for=
"(outItem,i) in queryCommonData.dataList"
:key=
"i"
>
<template
v-for=
"(item,index) in outItem.TravelPriceList"
>
<template
v-for=
"(item,index) in outItem.TravelPriceList"
>
<tr
height=
"40"
>
<tr
height=
"40"
:key=
"`a_`+index"
>
<td
align=
"center"
width=
"80"
v-if=
"index==0"
:rowspan=
"outItem.TravelPriceList.length*3"
>
<td
align=
"center"
width=
"80"
v-if=
"index==0"
:rowspan=
"outItem.TravelPriceList.length*3"
>
<label>
<label>
<input
:value=
"outItem.TCIDs"
style=
"vertical-align: middle;"
v-model=
"ArrList"
<input
:value=
"outItem.TCIDs"
style=
"vertical-align: middle;"
v-model=
"ArrList"
...
@@ -494,7 +497,7 @@
...
@@ -494,7 +497,7 @@
</td>
</td>
<td
colspan=
"5"
style=
"padding-left: 30px;"
>
{{
item
.
Title
}}
</td>
<td
colspan=
"5"
style=
"padding-left: 30px;"
>
{{
item
.
Title
}}
</td>
</tr>
</tr>
<tr>
<tr
:key=
"`b_`+index"
>
<td
width=
"20%"
>
<td
width=
"20%"
>
<div
class=
"TCL-TCNUM"
>
{{
item
.
OutBranchName
}}
</div>
<div
class=
"TCL-TCNUM"
>
{{
item
.
OutBranchName
}}
</div>
<div
class=
"TCL-TCNUM"
>
{{
item
.
TCNUM
}}
</div>
<div
class=
"TCL-TCNUM"
>
{{
item
.
TCNUM
}}
</div>
...
@@ -598,7 +601,8 @@
...
@@ -598,7 +601,8 @@
</p>
</p>
<p>
<p>
<span>
{{
$t
(
'ground.cantuan'
)
}}
</span>
<span>
{{
$t
(
'ground.cantuan'
)
}}
</span>
<span>
{{
item
.
JoinNum
+
item
.
SingleGroupNum
}}
</span>
<span
class=
"TCL-redType"
v-if=
"item.OrderLeaderGuestNum>=1"
>
+
{{
item
.
OrderLeaderGuestNum
}}
</span>
{{
$t
(
'Operation.Op_people'
)
}}
<span>
{{
item
.
JoinNum
+
item
.
SingleGroupNum
}}
</span>
<span
class=
"TCL-redType"
v-if=
"item.OrderLeaderGuestNum>=1"
>
+
{{
item
.
OrderLeaderGuestNum
}}
</span>
{{
$t
(
'Operation.Op_people'
)
}}
</p>
</p>
<p>
<p>
<span>
{{
$t
(
'MarketingActi.free'
)
}}
</span>
<span>
{{
$t
(
'MarketingActi.free'
)
}}
</span>
...
@@ -619,7 +623,7 @@
...
@@ -619,7 +623,7 @@
</div>
</div>
</td>
</td>
</tr>
</tr>
<tr
height=
"40"
>
<tr
height=
"40"
:key=
"`c_`+index"
>
<td
colspan=
"5"
style=
"padding-left: 30px;"
>
<td
colspan=
"5"
style=
"padding-left: 30px;"
>
<div>
{{
$t
(
'fnc.beizhu'
)
}}
:
{{
item
.
OPRemark
}}
</div>
<div>
{{
$t
(
'fnc.beizhu'
)
}}
:
{{
item
.
OPRemark
}}
</div>
<div
v-if=
"item.DmcRemarkLast"
>
{{
$t
(
'Operation.Op_dijieRemark'
)
}}
:
{{
item
.
DmcRemarkLast
.
DMCRemark
}}
</div>
<div
v-if=
"item.DmcRemarkLast"
>
{{
$t
(
'Operation.Op_dijieRemark'
)
}}
:
{{
item
.
DmcRemarkLast
.
DMCRemark
}}
</div>
...
@@ -771,21 +775,21 @@
...
@@ -771,21 +775,21 @@
this
.
apipost
(
"line_post_GetList"
,
{},
res
=>
{
this
.
apipost
(
"line_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
lineArr
=
res
.
data
.
data
;
let
lineArr
=
res
.
data
.
data
;
this
.
queryCommonData
.
LineList
=
[];
this
.
queryCommonData
.
LineList
=
[];
lineArr
.
forEach
(
x
=>
{
lineArr
.
forEach
(
x
=>
{
if
(
x
.
LineID
==
14
||
x
.
LineID
==
90
)
{
if
(
x
.
LineID
==
14
||
x
.
LineID
==
90
)
{
this
.
queryCommonData
.
LineList
.
push
(
x
);
this
.
queryCommonData
.
LineList
.
push
(
x
);
}
}
})
})
let
obj
=
{
let
obj
=
{
LineName
:
this
.
$t
(
'pub.unlimitedSel'
),
LineName
:
this
.
$t
(
'pub.unlimitedSel'
),
LineID
:
0
LineID
:
0
}
}
this
.
queryCommonData
.
LineList
.
unshift
(
obj
);
this
.
queryCommonData
.
LineList
.
unshift
(
obj
);
}
}
});
});
},
},
//获取系列列表
//获取系列列表
getLineTeamList
(
lineId
,
isDefault
)
{
getLineTeamList
(
lineId
,
isDefault
)
{
//查询线路名
//查询线路名
if
(
isDefault
)
{
if
(
isDefault
)
{
...
@@ -864,7 +868,7 @@
...
@@ -864,7 +868,7 @@
mounted
()
{
mounted
()
{
this
.
getLineList
();
this
.
getLineList
();
this
.
getCompanyList
();
this
.
getCompanyList
();
this
.
getLineTeamList
(
0
,
true
);
this
.
getLineTeamList
(
0
,
true
);
},
},
created
()
{
created
()
{
var
myDate
=
new
Date
();
var
myDate
=
new
Date
();
...
...
src/components/newTravelmanager/TravelGroupControl/TravelManagerThree.vue
View file @
defed7eb
...
@@ -122,7 +122,7 @@
...
@@ -122,7 +122,7 @@
@click="submitForm(2)">
@click="submitForm(2)">
{{
$t
(
'fnc.tijiao'
)
}}
</div>
{{
$t
(
'fnc.tijiao'
)
}}
</div>
<div
v-if=
"modifyType==2"
class=
"DTSaveBtn"
:class=
"
{'disClick':!isSubmit}" :loading="saveLoading"
<div
v-if=
"modifyType==2"
class=
"DTSaveBtn"
:class=
"
{'disClick':!isSubmit}" :loading="saveLoading"
@click="submitForm(3)"
:title="$t('objFill.v101.myOrdersAllType.lingcwxmb')"
>
{{
$t
(
'pub.saveBtn'
)
}}
@click="submitForm(3)" >
{{
$t
(
'pub.saveBtn'
)
}}
</div>
</div>
<div
style=
"display:none;"
v-if=
"ConfigId>0"
class=
"DTSaveBtn"
:class=
"
{'disClick':!isSubmit}" @click="goB2B()">
<div
style=
"display:none;"
v-if=
"ConfigId>0"
class=
"DTSaveBtn"
:class=
"
{'disClick':!isSubmit}" @click="goB2B()">
{{
$t
(
'sm.yulan'
)
}}
{{
$t
(
'sm.yulan'
)
}}
...
@@ -231,6 +231,7 @@
...
@@ -231,6 +231,7 @@
NotQueryCityList
:
[],
//使用系统中的经纬度城市
NotQueryCityList
:
[],
//使用系统中的经纬度城市
FeaturePageType
:
0
,
//1横版 2竖版
FeaturePageType
:
0
,
//1横版 2竖版
TeamType
:
0
,
TeamType
:
0
,
IsSplitTeam
:
0
,
//当团修改是否拆分团队(1-拆分)
},
},
//行程
//行程
FeatureData
:
{
FeatureData
:
{
...
@@ -565,7 +566,8 @@
...
@@ -565,7 +566,8 @@
}
}
basicData
.
IsUpdateHotel
=
this
.
PostConfig
.
IsUpdateHotel
;
basicData
.
IsUpdateHotel
=
this
.
PostConfig
.
IsUpdateHotel
;
basicData
.
MapUrl
=
this
.
PostConfig
.
MapUrl
basicData
.
MapUrl
=
this
.
PostConfig
.
MapUrl
;
basicData
.
IsSplitTeam
=
this
.
PostConfig
.
IsSplitTeam
;
console
.
log
(
"travel_post_SetTravelConfigInfo"
,
basicData
);
console
.
log
(
"travel_post_SetTravelConfigInfo"
,
basicData
);
this
.
isSubmit
=
false
;
this
.
isSubmit
=
false
;
this
.
apipost
(
this
.
apipost
(
...
...
src/components/newTravelmanager/TravelGroupControl/TravelPrice.vue
View file @
defed7eb
...
@@ -18,6 +18,7 @@
...
@@ -18,6 +18,7 @@
.TP_rightDate
{
.TP_rightDate
{
margin-left
:
50px
;
margin-left
:
50px
;
padding-bottom
:
10px
;
}
}
.TPDateContent
.currentInput
{
.TPDateContent
.currentInput
{
...
@@ -419,21 +420,39 @@
...
@@ -419,21 +420,39 @@
</div>
</div>
<div
class=
"TP_rightDate"
>
<div
class=
"TP_rightDate"
>
<div
class=
"TP_dateContent"
>
<div
class=
"TP_dateContent"
>
<span
class=
"TP_toLeft"
@
click=
"priceLeftMove"
>
<el-row
v-if=
"modifyTcid>0"
>
<i
class=
"iconfont icon-previewleft"
></i>
<el-col>
</span>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"勾选此项将会调整为独立团期"
placement=
"top-start"
>
<div
class=
"TP_childContent"
>
<el-checkbox
v-model=
"PostConfig.IsSplitTeam"
:true-label=
"CheckedVaule"
<span
class=
"TP_tips"
:class=
"
{'ckedSpan':item.Checked}" @click="getDateInfo(item)"
:false-label=
"UnCheckedVaule"
>
v-for="(item,index) in showPriceList" :key="index">
<font
style=
"color:red;font-weight:bold;"
>
拆分团队
</font>
{{
item
.
StartDate
}}
</el-checkbox>
<span
class=
"TP_cancel"
@
click
.
stop=
"delDateList(item)"
>
</el-tooltip>
<i
class=
"iconfont icon-quxiao"
></i>
</el-col>
</el-row>
<el-row>
<el-col>
<span
class=
"TP_toLeft"
@
click=
"priceLeftMove"
>
<i
class=
"iconfont icon-previewleft"
></i>
</span>
</span>
</span>
</el-col>
</div>
<el-col>
<span
class=
"TP_Right"
@
click=
"priceRightMove"
>
<div
class=
"TP_childContent"
>
<i
class=
"iconfont icon-arrow-right"
></i>
<span
class=
"TP_tips"
:class=
"
{'ckedSpan':item.Checked}" @click="getDateInfo(item)"
</span>
v-for="(item,index) in showPriceList" :key="index">
{{
item
.
StartDate
}}
<span
class=
"TP_cancel"
@
click
.
stop=
"delDateList(item)"
>
<i
class=
"iconfont icon-quxiao"
></i>
</span>
</span>
</div>
</el-col>
<el-col>
<span
class=
"TP_Right"
@
click=
"priceRightMove"
>
<i
class=
"iconfont icon-arrow-right"
></i>
</span>
</el-col>
</el-row>
</div>
</div>
<div
class=
"TP_DateList"
></div>
<div
class=
"TP_DateList"
></div>
</div>
</div>
...
@@ -868,7 +887,7 @@
...
@@ -868,7 +887,7 @@
{{$t('system.query_flightNum')}}/{{$t('system.query_airCompanyName')}}/{{$t('Airticket.Air_segment')}}
{{$t('system.query_flightNum')}}/{{$t('system.query_airCompanyName')}}/{{$t('Airticket.Air_segment')}}
</td>
</td>
<td
class=
"_color_666"
>
{{$t('adm.adm_time')}}/PNR
</td>
<td
class=
"_color_666"
>
{{$t('adm.adm_time')}}/PNR
</td>
<td
class=
"_color_666"
>
{{$t('visa.v_xcdays')}}
</td>
<td
class=
"_color_666"
>
{{$t('visa.v_xcdays')}}
</td>
<td
class=
"_color_666"
>
{{$t('op.TicketNum')}}/{{$t('hotel.table_UseAmount')}}
</td>
<td
class=
"_color_666"
>
{{$t('op.TicketNum')}}/{{$t('hotel.table_UseAmount')}}
</td>
<td
class=
"_color_666"
>
{{$t('op.BindTicket')}}
</td>
<td
class=
"_color_666"
>
{{$t('op.BindTicket')}}
</td>
...
@@ -886,7 +905,7 @@
...
@@ -886,7 +905,7 @@
{{fitem.AlName}} / {{fitem.DepartureName}}-{{fitem.ArrivalCityName}}
{{fitem.AlName}} / {{fitem.DepartureName}}-{{fitem.ArrivalCityName}}
</td>
</td>
<td>
{{fitem.FlightDate}} {{fitem.Departure_time}}
<td>
{{fitem.FlightDate}} {{fitem.Departure_time}}
<br/>
<br
/>
{{fitem.PNR}}
{{fitem.PNR}}
</td>
</td>
<td>
{{fitem.DayNum}}
</td>
<td>
{{fitem.DayNum}}
</td>
...
...
src/components/newTravelmanager/TravelGroupControl/TravelPrice2.vue
View file @
defed7eb
...
@@ -416,23 +416,41 @@
...
@@ -416,23 +416,41 @@
<span
class=
"TPNotice"
>
(
{{
$t
(
'sm.tipscompanyyuj'
)
}}
)
</span>
<span
class=
"TPNotice"
>
(
{{
$t
(
'sm.tipscompanyyuj'
)
}}
)
</span>
<span
class=
"TPLine"
></span>
<span
class=
"TPLine"
></span>
</div>
</div>
<div
class=
"TP_rightDate"
>
<div
class=
"TP_rightDate"
>
<div
class=
"TP_dateContent"
>
<div
class=
"TP_dateContent"
>
<span
class=
"TP_toLeft"
@
click=
"priceLeftMove"
>
<el-row
v-if=
"modifyTcid>0"
>
<i
class=
"iconfont icon-previewleft"
></i>
<el-col>
</span>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"勾选此项将会调整为独立团期"
placement=
"top-start"
>
<div
class=
"TP_childContent"
>
<el-checkbox
v-model=
"PostConfig.IsSplitTeam"
:true-label=
"CheckedVaule"
<span
class=
"TP_tips"
:class=
"
{'ckedSpan':item.Checked}" @click="getDateInfo(item)"
:false-label=
"UnCheckedVaule"
>
v-for="(item,index) in showPriceList" :key="index">
<font
style=
"color:red;font-weight:bold;"
>
拆分团队
</font>
{{
item
.
StartDate
}}
</el-checkbox>
<span
class=
"TP_cancel"
@
click
.
stop=
"delDateList(item)"
>
</el-tooltip>
<i
class=
"iconfont icon-quxiao"
></i>
</el-col>
</el-row>
<el-row>
<el-col>
<span
class=
"TP_toLeft"
@
click=
"priceLeftMove"
>
<i
class=
"iconfont icon-previewleft"
></i>
</span>
</span>
</span>
</el-col>
</div>
<el-col>
<span
class=
"TP_Right"
@
click=
"priceRightMove"
>
<div
class=
"TP_childContent"
>
<i
class=
"iconfont icon-arrow-right"
></i>
<span
class=
"TP_tips"
:class=
"
{'ckedSpan':item.Checked}" @click="getDateInfo(item)"
</span>
v-for="(item,index) in showPriceList" :key="index">
{{
item
.
StartDate
}}
<span
class=
"TP_cancel"
@
click
.
stop=
"delDateList(item)"
>
<i
class=
"iconfont icon-quxiao"
></i>
</span>
</span>
</div>
</el-col>
<el-col>
<span
class=
"TP_Right"
@
click=
"priceRightMove"
>
<i
class=
"iconfont icon-arrow-right"
></i>
</span>
</el-col>
</el-row>
</div>
</div>
<div
class=
"TP_DateList"
></div>
<div
class=
"TP_DateList"
></div>
</div>
</div>
...
...
src/components/newTravelmanager/TravelGroupControl/TravelPrice3.vue
View file @
defed7eb
...
@@ -404,21 +404,39 @@
...
@@ -404,21 +404,39 @@
</div>
</div>
<div
class=
"TP_rightDate"
>
<div
class=
"TP_rightDate"
>
<div
class=
"TP_dateContent"
>
<div
class=
"TP_dateContent"
>
<span
class=
"TP_toLeft"
@
click=
"priceLeftMove"
>
<el-row
v-if=
"modifyTcid>0"
>
<i
class=
"iconfont icon-previewleft"
></i>
<el-col>
</span>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"勾选此项将会调整为独立团期"
placement=
"top-start"
>
<div
class=
"TP_childContent"
>
<el-checkbox
v-model=
"PostConfig.IsSplitTeam"
:true-label=
"CheckedVaule"
<span
class=
"TP_tips"
:class=
"
{'ckedSpan':item.Checked}" @click="getDateInfo(item)"
:false-label=
"UnCheckedVaule"
>
v-for="(item,index) in showPriceList" :key="index">
<font
style=
"color:red;font-weight:bold;"
>
拆分团队
</font>
{{
item
.
StartDate
}}
</el-checkbox>
<span
class=
"TP_cancel"
@
click
.
stop=
"delDateList(item)"
>
</el-tooltip>
<i
class=
"iconfont icon-quxiao"
></i>
</el-col>
</el-row>
<el-row>
<el-col>
<span
class=
"TP_toLeft"
@
click=
"priceLeftMove"
>
<i
class=
"iconfont icon-previewleft"
></i>
</span>
</span>
</span>
</el-col>
</div>
<el-col>
<span
class=
"TP_Right"
@
click=
"priceRightMove"
>
<div
class=
"TP_childContent"
>
<i
class=
"iconfont icon-arrow-right"
></i>
<span
class=
"TP_tips"
:class=
"
{'ckedSpan':item.Checked}" @click="getDateInfo(item)"
</span>
v-for="(item,index) in showPriceList" :key="index">
{{
item
.
StartDate
}}
<span
class=
"TP_cancel"
@
click
.
stop=
"delDateList(item)"
>
<i
class=
"iconfont icon-quxiao"
></i>
</span>
</span>
</div>
</el-col>
<el-col>
<span
class=
"TP_Right"
@
click=
"priceRightMove"
>
<i
class=
"iconfont icon-arrow-right"
></i>
</span>
</el-col>
</el-row>
</div>
</div>
<div
class=
"TP_DateList"
></div>
<div
class=
"TP_DateList"
></div>
</div>
</div>
...
@@ -1187,7 +1205,7 @@
...
@@ -1187,7 +1205,7 @@
IsNeedAirportShuttle
:
0
,
//是否需要接送服务
IsNeedAirportShuttle
:
0
,
//是否需要接送服务
GuideNum
:
0
,
//导游人数
GuideNum
:
0
,
//导游人数
IsNewArrival
:
0
,
//是否新品
IsNewArrival
:
0
,
//是否新品
TeamId
:
0
,
//团队分组编号
TeamId
:
0
,
//团队分组编号
};
};
}
}
this
.
returnPriceList
.
push
(
objItem
);
this
.
returnPriceList
.
push
(
objItem
);
...
...
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