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
584f5007
Commit
584f5007
authored
Jul 23, 2019
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
e7b424b3
263c8da2
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1297 additions
and
51 deletions
+1297
-51
AirTicketApp.vue
src/components/FinancialModule/AirTicketApp.vue
+104
-0
BasicDocuments.vue
src/components/FinancialModule/BasicDocuments.vue
+4
-2
FinancialDocumentsDetail.vue
src/components/FinancialModule/FinancialDocumentsDetail.vue
+5
-1
AirTicketLoss.vue
src/components/FinancialModule/ReportForm/AirTicketLoss.vue
+127
-0
AirTicketLossDetail.vue
...onents/FinancialModule/ReportForm/AirTicketLossDetail.vue
+682
-0
leaderReimbursement.vue
src/components/LeaderManagement/leaderReimbursement.vue
+2
-2
bookDinnerStatisticsDetails.vue
src/components/Restaurant/bookDinnerStatisticsDetails.vue
+17
-12
airTicketRules.vue
src/components/Ticketing/airTicketRules.vue
+60
-15
PassengerFeedback.vue
...components/TravelManager/TravelList/PassengerFeedback.vue
+19
-3
AirticketCommission.vue
src/components/administrative/AirticketCommission.vue
+114
-0
AirticketCommissionDetail.vue
src/components/administrative/AirticketCommissionDetail.vue
+71
-0
dmcTotalTable.vue
src/components/dmc/manager/dmcTotalTable.vue
+49
-13
config.js
src/router/config.js
+43
-3
No files found.
src/components/FinancialModule/AirTicketApp.vue
0 → 100644
View file @
584f5007
<
style
>
</
style
>
<
template
>
<div
class=
"AirTicketApp"
>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th
v-for=
"(item,index) in ColNameList"
:key=
"index"
>
{{
item
}}
</th>
</tr>
<tr
v-for=
"(item,index) in Rlist"
:key=
"index"
>
<td>
{{
item
.
BranchName
}}
</td>
<td
v-for=
"(cl,index) in item.CList"
:key=
"index"
>
{{
cl
.
LossRatio
}}
<el-button
@
click=
"Edit(item,cl)"
style=
"padding:4px;margin-left:10px"
type=
"primary"
icon=
"el-icon-edit"
circle
></el-button>
</td>
</tr>
</table>
<el-dialog
title=
"修改"
:visible
.
sync=
"dialogVisible"
width=
"300px"
>
<div>
<el-form
ref=
"form"
:model=
"changeMsg"
label-width=
"80px"
>
<el-form-item
label=
"公司"
>
<span>
{{
changeMsg
.
BranchName
}}
</span>
</el-form-item>
<el-form-item
label=
"比例"
prop=
"LossRatio"
>
<el-input
@
keyup
.
native=
"checkInteger(changeMsg,'LossRatio')"
v-model=
"changeMsg.Ratio"
></el-input>
</el-form-item>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"danger"
size=
"small"
@
click=
"Ok"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
(){
return
{
loading
:
false
,
ColNameList
:[],
Rlist
:[],
dialogVisible
:
false
,
changeMsg
:{
Ratio
:
0
,
},
rules
:{
Ratio
:
[{
required
:
true
,
message
:
"请输入比例"
,
trigger
:
"blur"
}],
},
}
},
created
(){
},
methods
:{
Ok
(){
if
(
this
.
changeMsg
.
Ratio
>=
0
&&
this
.
changeMsg
.
Ratio
<=
100
){
this
.
apipost
(
'ticket_post_SetAirTicketBranchRatio'
,
this
.
changeMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
();
this
.
dialogVisible
=
false
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
loading
=
false
;
},
err
=>
{})
}
else
{
this
.
Error
(
"请输入正确的比例"
)
}
},
Edit
(
item
,
cl
){
this
.
dialogVisible
=
true
;
this
.
changeMsg
.
BranchName
=
item
.
BranchName
;
this
.
changeMsg
.
Ratio
=
cl
.
LossRatio
;
this
.
changeMsg
.
BranchId
=
cl
.
BranchId
;
this
.
changeMsg
.
LossType
=
cl
.
LossTypeCode
;
this
.
changeMsg
.
AirLossId
=
cl
.
LossConfigId
;
},
getList
(){
this
.
loading
=
true
;
this
.
apipost
(
'ticket_post_SetAirTicketLossManagement'
,{},
res
=>
{
console
.
log
(
res
)
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ColNameList
=
res
.
data
.
data
.
ColNameList
;
this
.
Rlist
=
res
.
data
.
data
.
Rlist
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
loading
=
false
;
},
err
=>
{})
},
},
mounted
(){
this
.
getList
();
}
}
</
script
>
src/components/FinancialModule/BasicDocuments.vue
View file @
584f5007
...
@@ -319,7 +319,10 @@
...
@@ -319,7 +319,10 @@
<p>
附加说明:
<span
class=
"fr"
v-if=
"GetDetail.ComplainID > 0"
@
click=
"goUrl('ComplaintsDetail', GetDetail.ComplainID,GetDetail.OrderID)"
>
<span
style=
"color:#000"
>
投诉单号:
</span>
<span
class=
"cursorpointer text-decoration"
>
{{GetDetail.ComplainID}}
</span></span></p>
<p>
附加说明:
<span
class=
"fr"
v-if=
"GetDetail.ComplainID > 0"
@
click=
"goUrl('ComplaintsDetail', GetDetail.ComplainID,GetDetail.OrderID)"
>
<span
style=
"color:#000"
>
投诉单号:
</span>
<span
class=
"cursorpointer text-decoration"
>
{{GetDetail.ComplainID}}
</span></span></p>
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;margin-top:15px;"
width=
"100%"
v-if=
"GetDetail.TCIDAndTCNUMList.length>0"
>
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;margin-top:15px;"
width=
"100%"
v-if=
"GetDetail.TCIDAndTCNUMList.length>0"
>
<tr
v-for=
"(o,ox) in GetDetail.TCIDAndTCNUMList"
class=
"_fujiashuoming_tr"
>
<tr
v-for=
"(o,ox) in GetDetail.TCIDAndTCNUMList"
class=
"_fujiashuoming_tr"
>
<td
:colspan=
"4"
>
{{o.TCNUM}}({{o.TCID}})
</td>
<td
:colspan=
"3"
>
{{o.TCNUM}}({{o.TCID}})
<span
v-if=
"GetDetail.IsShowPlanUrl === 1"
style=
"margin-left:20px;"
>
旅客意见/{{o.GuestSurveyNum}}份
</span>
</td>
<td
@
click=
"jumpPage('TravelControlList',o.TCNUM,1)"
>
<span
class=
"_jump_page _font_bold"
>
查看团队
</span>
</td>
<td
@
click=
"jumpPage('TravelControlList',o.TCNUM,1)"
>
<span
class=
"_jump_page _font_bold"
>
查看团队
</span>
</td>
<td
@
click=
"jumpPage('RegistrationList',o.TCID,7)"
>
<span
class=
"_jump_page _font_bold"
>
查看报名
</span>
</td>
<td
@
click=
"jumpPage('RegistrationList',o.TCID,7)"
>
<span
class=
"_jump_page _font_bold"
>
查看报名
</span>
</td>
<td
@
click=
"GetDetail.TCIDAndTCNUMList.length==1?jumpPage('TeamBalancePayment',o.TCID,5):jumpPage('TeamBalancePayment',o.TCID,6)"
>
<span
class=
"_jump_page _font_bold"
>
团队收支
</span>
</td>
<td
@
click=
"GetDetail.TCIDAndTCNUMList.length==1?jumpPage('TeamBalancePayment',o.TCID,5):jumpPage('TeamBalancePayment',o.TCID,6)"
>
<span
class=
"_jump_page _font_bold"
>
团队收支
</span>
</td>
...
@@ -2265,7 +2268,6 @@ export default {
...
@@ -2265,7 +2268,6 @@ export default {
this
.
GetDetail
=
data
;
this
.
GetDetail
=
data
;
this
.
showModel
=
true
this
.
showModel
=
true
this
.
FrID
=
data
.
FrID
this
.
FrID
=
data
.
FrID
console
.
log
(
this
.
GetDetail
,
'GetDetail.OrderId'
);
this
.
ChongDiMsg
.
Types
=
''
this
.
ChongDiMsg
.
Types
=
''
this
.
ChongDiMsg
.
ClientType
=
data
.
Type
===
2
?
data
.
ClientType
:
''
this
.
ChongDiMsg
.
ClientType
=
data
.
Type
===
2
?
data
.
ClientType
:
''
this
.
ChongDiMsg
.
ClientID
=
data
.
Type
===
2
?
data
.
ClientID
:
''
this
.
ChongDiMsg
.
ClientID
=
data
.
Type
===
2
?
data
.
ClientID
:
''
...
...
src/components/FinancialModule/FinancialDocumentsDetail.vue
View file @
584f5007
...
@@ -383,7 +383,10 @@
...
@@ -383,7 +383,10 @@
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;margin-top:15px;"
width=
"100%"
v-if=
"GetDetail.TCIDAndTCNUMList.length>0"
>
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;margin-top:15px;"
width=
"100%"
v-if=
"GetDetail.TCIDAndTCNUMList.length>0"
>
<tr
v-for=
"(o,ox) in GetDetail.TCIDAndTCNUMList"
class=
"_fujiashuoming_tr"
>
<tr
v-for=
"(o,ox) in GetDetail.TCIDAndTCNUMList"
class=
"_fujiashuoming_tr"
>
<td
:colspan=
"4"
v-if=
"GetDetail.Is_Merge===1"
>
单据号:
{{
o
.
FinanceId
}}
</td>
<td
:colspan=
"4"
v-if=
"GetDetail.Is_Merge===1"
>
单据号:
{{
o
.
FinanceId
}}
</td>
<td
:colspan=
"4"
>
{{
o
.
TCNUM
}}
(
{{
o
.
TCID
}}
)
</td>
<td
:colspan=
"3"
>
{{
o
.
TCNUM
}}
(
{{
o
.
TCID
}}
)
<span
v-if=
"GetDetail.IsShowPlanUrl === 1"
style=
"margin-left:20px;"
>
旅客意见/
{{
o
.
GuestSurveyNum
}}
份
</span>
</td>
<td
@
click=
"jumpPage('TravelControlList',o.TCNUM,1)"
>
<span
class=
"_jump_page _font_bold"
>
查看团队
</span>
</td>
<td
@
click=
"jumpPage('TravelControlList',o.TCNUM,1)"
>
<span
class=
"_jump_page _font_bold"
>
查看团队
</span>
</td>
<td
@
click=
"jumpPage('RegistrationList',o.TCID,7)"
>
<span
class=
"_jump_page _font_bold"
>
查看报名
</span>
</td>
<td
@
click=
"jumpPage('RegistrationList',o.TCID,7)"
>
<span
class=
"_jump_page _font_bold"
>
查看报名
</span>
</td>
<td
@
click=
"GetDetail.TCIDAndTCNUMList.length==1?jumpPage('TeamBalancePayment',o.TCID,5):jumpPage('TeamBalancePayment',o.TCID,6)"
>
<span
class=
"_jump_page _font_bold"
>
团队收支
</span>
</td>
<td
@
click=
"GetDetail.TCIDAndTCNUMList.length==1?jumpPage('TeamBalancePayment',o.TCID,5):jumpPage('TeamBalancePayment',o.TCID,6)"
>
<span
class=
"_jump_page _font_bold"
>
团队收支
</span>
</td>
...
@@ -1303,6 +1306,7 @@ export default {
...
@@ -1303,6 +1306,7 @@ export default {
this
.
FrID
=
this
.
GetDetail
.
FrID
;
this
.
FrID
=
this
.
GetDetail
.
FrID
;
this
.
SourceID
=
this
.
GetDetail
.
SourceID
;
this
.
SourceID
=
this
.
GetDetail
.
SourceID
;
this
.
Callback
=
this
.
GetDetail
.
Callback
;
this
.
Callback
=
this
.
GetDetail
.
Callback
;
// 拼接团号显示团信息
// 拼接团号显示团信息
let
str
=
''
;
let
str
=
''
;
if
(
data
.
TCIDList
.
length
>
0
){
if
(
data
.
TCIDList
.
length
>
0
){
...
...
src/components/FinancialModule/ReportForm/AirTicketLoss.vue
0 → 100644
View file @
584f5007
<
style
>
.AirClick
{
text-decoration
:
underline
;
cursor
:
pointer
;
}
</
style
>
<
template
>
<div
class=
"AirTicketApp"
>
<div
class=
"Header"
>
<el-col
:span=
"8"
style=
"margin:10px 0"
>
<el-date-picker
v-model=
"value1"
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-col>
<button
style=
"margin-top:15px"
class=
"normalBtn"
@
click=
"getList"
>
查询
</button>
<button
style=
"margin-top:15px"
class=
"hollowFixedBtn"
@
click=
"Export"
>
导出
</button>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th
v-if=
"index==0"
v-for=
"(item,index) in ColNameList"
:key=
"index"
>
{{
item
}}
</th>
<th
v-if=
"index!=0 && index!=ColNameList.length"
colspan=
"2"
v-for=
"(item,index) in ColNameList"
:key=
"index"
>
{{
item
}}
</th>
<th
v-if=
"index==ColNameList.length"
v-for=
"(item,index) in ColNameList"
:key=
"index"
>
{{
item
}}
</th>
</tr>
<tr>
<td></td>
<td
v-for=
"item in LossList"
:class=
"
{'AirClick':item.Value!='损失占比'}" @click="goToDetail(item)">
{{
item
.
Value
}}
</td>
<td>
{{
SunMoney
}}
</td>
</tr>
<tr
v-for=
"(item,index) in Rlist"
:key=
"index"
>
<td>
{{
item
.
BranchName
}}
</td>
<td
v-for=
"(cl,index) in item.LossTL"
:key=
"index"
>
{{
cl
}}
</td>
<td>
{{
item
.
TotalMoney
}}
</td>
</tr>
</table>
</div>
</
template
>
<
script
>
export
default
{
data
(){
return
{
loading
:
false
,
ColNameList
:[],
LossList
:[],
SunMoney
:
0
,
Rlist
:[],
value1
:[],
msg
:{
StartTime
:
""
,
EndTime
:
""
,
},
userInfo
:{},
}
},
created
(){
this
.
userInfo
=
this
.
getLocalStorage
();
},
methods
:{
Export
(){
let
msg
=
this
.
msg
;
msg
.
EmployeeId
=
this
.
userInfo
.
EmployeeId
;
var
fileName
=
"机票损失分摊.xls"
;
this
.
GetLocalFile
(
"financestatistics_post_OutToExcelGetCompamyAirTicketRatioList"
,
msg
,
fileName
);
},
getList
(){
if
(
this
.
value1
){
this
.
msg
.
StartTime
=
this
.
value1
[
0
];
this
.
msg
.
EndTime
=
this
.
value1
[
1
];
}
else
{
this
.
msg
.
StartTime
=
""
;
this
.
msg
.
EndTime
=
""
;
}
this
.
loading
=
true
;
this
.
apipost
(
'financestatistics_post_GetCompamyAirTicketRatioList'
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ColNameList
=
res
.
data
.
data
.
ColNameList
;
this
.
Rlist
=
res
.
data
.
data
.
Rlist
;
this
.
LossList
=
res
.
data
.
data
.
LossList
[
0
].
LossTL
;
this
.
SunMoney
=
res
.
data
.
data
.
LossList
[
0
].
TotalMoney
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
loading
=
false
;
},
err
=>
{})
},
//跳转至详情
goToDetail
(
item
){
if
(
item
.
Value
!=
'损失占比'
){
this
.
$router
.
push
({
name
:
'AirTicketLossDetail'
,
query
:
{
msg
:
JSON
.
stringify
(
item
),
blank
:
"y"
,
}
});
}
}
},
mounted
(){
//默认查询当月第一个到最后一天日期
var
now
=
new
Date
();
var
month
=
now
.
getMonth
()
+
1
;
//js获取到的是月份是 0-11 所以要加1
var
year
=
now
.
getFullYear
();
var
nextMonthFirstDay
=
new
Date
([
year
,
month
+
1
,
1
].
join
(
'-'
)).
getTime
();
var
oneDay
=
1000
*
24
*
60
*
60
;
var
monthLast
=
new
Date
(
nextMonthFirstDay
-
oneDay
).
getDate
()
if
(
month
<
10
){
month
=
'0'
+
month
;
}
var
startDate
=
[
year
,
month
,
1
].
join
(
'-'
);
var
endDate
=
[
year
,
month
,
monthLast
].
join
(
'-'
);
this
.
value1
.
push
(
startDate
,
endDate
);
this
.
getList
();
}
}
</
script
>
src/components/FinancialModule/ReportForm/AirTicketLossDetail.vue
0 → 100644
View file @
584f5007
<
style
scoped
>
.page_fnDm
{
background-color
:
white
}
.query-box
{
overflow
:
inherit
}
._nav
{
margin
:
20px
0
0
0
;
background-color
:
#f5f5f5
;}
._nav
li
{
float
:
left
;
font-size
:
14px
;
color
:
#666666
;
padding
:
15px
20px
;
cursor
:
pointer
;
position
:
relative
;
background-color
:
#f1f1f1
;
margin-right
:
5px
}
._nav
li
._active
{
background-color
:
#FFFFFF
;
color
:
#333333
}
._nav
li
._active
::after
{
content
:
""
;
width
:
20px
;
height
:
3px
;
background-color
:
#E95252
;
display
:
inline-block
;
position
:
absolute
;
bottom
:
0
;
left
:
38%
;}
.el-range-editor.el-input__inner
{
border-radius
:
0
}
.query-box
{
border
:
none
}
.hight_query
{
position
:
relative
;}
.hight_query
span
{
height
:
34px
;
line-height
:
34px
;
color
:
#E95252
}
.hight_query
span
.icon-gengduo
{
font-size
:
12px
}
.hight_query
span
em
{
text-decoration
:
underline
;
cursor
:
pointer
;}
.hight_query_box
{
position
:
absolute
;
background-color
:
white
;
z-index
:
2000
;
right
:
200px
;
width
:
800px
;}
._hqb_shadow
{
box-shadow
:
3px
2px
10px
rgb
(
204
,
203
,
203
);
border
:
1px
solid
#ececec
;}
.query-box
ul
{
overflow
:
initial
;}
.hqb_t
{
padding
:
10px
20px
;
font-size
:
16px
;
background-color
:
#E95252
;
border
:
1px
solid
#E95252
;
color
:
#fff
;
text-align
:
center
;
margin-bottom
:
15px
}
.query-box
li
:last-child
{
float
:
left
}
.query-box
>
ul
>
li
:last-child
{
float
:
right
;}
.query-box
.hight_query
ul
.el-input
{
width
:
inherit
}
.hight_query_box
ul
li
{
margin-top
:
0
;
float
:
left
;
margin-right
:
15px
}
.hight_query_box
ul
li
label
{
font-size
:
14px
}
.hight_query_box
.el-form
{
padding
:
0
20px
}
.hight_query_box
ul
li
._hqb_btn
{
float
:
right
;
margin-right
:
25px
;
padding-top
:
5px
;
position
:
inherit
}
.Receipt_box
{
padding
:
15px
;
color
:
#c94052
;
width
:
614px
;
background-color
:
rgba
(
242
,
242
,
242
,
1
);
border
:
1px
solid
rgba
(
228
,
228
,
228
,
1
)}
.Receipt_box.color_blur
{
color
:
#106BAF
;}
.Receipt_box.color_blur
.rb_stit
span
{
display
:
inline-block
;
border-bottom
:
2px
solid
#106BAF
;
padding
:
0
20px
}
.rb_tit
{
font-size
:
18px
;
text-align
:
center
}
.rb_stit
{
font-size
:
14px
;
text-align
:
center
}
.rb_stit
span
{
display
:
inline-block
;
border-bottom
:
2px
solid
#C94052
;
padding
:
0
20px
}
.rb_top_row
{
display
:
flex
;
justify-content
:
space-between
;
font-size
:
12px
;}
.rb_top_row
span
._r_name
{
color
:
#333333
}
.rb_top_row
span
._r_bold
{
font-weight
:
bold
}
.rb_top_row
._r_time
span
{
color
:
#333333
}
._r_mb5
{
margin-bottom
:
5px
;}
.Receipt_table
{
width
:
100%
;
font-size
:
14px
;
text-align
:
center
}
.Receipt_table
.th
{
font-weight
:
200
!important
}
._r_mt10
{
margin-top
:
10px
;}
._bg__
{
display
:
inline-block
;
padding
:
2px
8px
;
color
:
white
;
border-radius
:
4px
}
._bg_red
{
background-color
:
#E95252
;}
._bg_green
{
background-color
:
#2BB87C
}
.text_d
{
text-decoration
:
underline
;
cursor
:
pointer
;}
.PingFangSC
{
font-weight
:
bold
}
.Bill_par
{
position
:
relative
;}
tr
th
,
tr
td
{
text-align
:
left
;
padding-left
:
20px
;}
tr
._item_list
{
border-bottom
:
1px
solid
#E5E5E5
;
height
:
78px
;}
tr
._item_list
td
{
border-bottom
:
1px
solid
#e5e5e5
;
padding
:
10px
;}
/* tr._t_head th{border-top: 1px solid #e5e5e5;} */
tr
._item_list
td
:first-child
{
border-left
:
1px
solid
#e5e5e5
;}
tr
._item_list
td
:last-child
{
border-right
:
1px
solid
#e5e5e5
;}
._head_img
{
width
:
28px
;
height
:
28px
;
border-radius
:
50%
;
vertical-align
:
middle
;}
._btn_group
{
font-size
:
14px
;}
.icon-daiqueren
{
color
:
#4BCA81
}
.icon-yiqueren
{
color
:
#4BCA81
}
.icon-yiquxiao
{
color
:
#959595
}
.icon-shenhebohui
{
color
:
#E95252
}
.icon-icon-zancun
{
color
:
#FF9C01
}
.singeRowTable
tr
:hover
{
background-color
:
white
}
._TradeWayList
{
padding
:
5px
10px
;
background-color
:
#EEEEEE
;
border-radius
:
4px
;
margin
:
10px
0
;
width
:
230px
}
._bold
{
font-weight
:
bold
}
._bank_name
,
._bank_type
{
display
:
inline-block
;
background-color
:
#333333
;
color
:
white
;
padding
:
2px
4px
;
border-radius
:
4px
;
margin-left
:
10px
;}
._bank_name
{
margin-left
:
10px
;}
._bank_type
{
background-color
:
#2AAEF2
}
._bank_type2
{
background-color
:
#FF9C01
}
._font_init
{
color
:
#333333
;
font-size
:
12px
;
vertical-align
:
top
;}
.InfoChangeLog
{
height
:
auto
;
max-height
:
220px
;
background-color
:
#FFFFFF
;}
.changLogList
{
padding-left
:
20px
;
max-height
:
180px
;
overflow
:
auto
;}
.changLogList_l
{
border-left
:
1px
solid
#E9E9E9
;
position
:
relative
;
padding-bottom
:
10px
;
padding-left
:
20px
;
padding-top
:
10px
;}
._radius_green
{
background-color
:
#47BF8C
;
width
:
7px
;
height
:
7px
;
border-radius
:
50%
;
display
:
inline-block
;
position
:
absolute
;
left
:
-4px
;
top
:
19px
;}
.changLog_time
{
color
:
#666666
;
font-size
:
12px
;
display
:
inline-block
;
padding-right
:
10px
}
._icon_btn
i
{
width
:
30px
;
height
:
30px
;
display
:
inline-block
;
color
:
white
!important
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
30px
;
margin-right
:
10px
;
cursor
:
pointer
;
outline
:
none
;}
._icon_btn
i
.edit
{
background-color
:
#00C6FF
;
font-size
:
16px
;}
._icon_btn
i
.edit
:hover
{
background-color
:
#59daff
}
._icon_btn
i
.edit
:active
{
background-color
:
#00b8ec
}
._icon_btn
i
.icon-sousuo
{
background-color
:
#47BF8C
;}
._icon_btn
i
.icon-sousuo
:hover
{
background-color
:
#66bb97
}
._icon_btn
i
.icon-sousuo
:active
{
background-color
:
#35ab79
}
._icon_btn
i
.icon-ico_commodity_defaul
{
background-color
:
#F16C3C
;}
._icon_btn
i
.icon-ico_commodity_defaul
:hover
{
background-color
:
#e87c54
}
._icon_btn
i
.icon-ico_commodity_defaul
:active
{
background-color
:
#f76630
}
._icon_btn
i
.icon-quxiao1
{
background-color
:
#E95252
;}
._icon_btn
i
.icon-quxiao1
:hover
{
background-color
:
#ea6d6d
}
._icon_btn
i
.icon-quxiao1
:active
{
background-color
:
#e42d2d
}
._icon_btn
i
.icon-zhuanjiao1
{
background-color
:
#E6A014
;
font-size
:
16px
;}
._icon_btn
i
.icon-zhuanjiao1
:hover
{
background-color
:
rgb
(
235
,
184
,
84
)}
._icon_btn
i
.icon-zhuanjiao1
:active
{
background-color
:
rgb
(
223
,
150
,
6
)}
._tag_span
{
background-color
:
rgba
(
64
,
158
,
255
,
.1
);
display
:
inline-block
;
padding
:
0
5px
;
height
:
22px
;
line-height
:
20px
;
font-size
:
12px
;
color
:
#409eff
;
border-radius
:
4px
;
box-sizing
:
border-box
;
border
:
1px
solid
rgba
(
64
,
158
,
255
,
.2
);
white-space
:
nowrap
;
margin-bottom
:
4px
;}
._tag_span._tag_warr
{
background-color
:
rgba
(
103
,
194
,
58
,
.1
);
border-color
:
rgba
(
103
,
194
,
58
,
.2
);
color
:
#67c23a
;}
._fex_cen
{
display
:
flex
;
align-items
:
center
}
._pad5
{
padding
:
5px
10px
;}
._color_gar
{
color
:
gray
}
._TCIDAndTCNUMList
{
display
:
flex
;
}
.JumpDivTitleOne
{
margin-left
:
20px
;
font-size
:
14px
;
}
.JumpDivTitleTwo
{
margin
:
10px
0
0
20px
;
font-size
:
14px
;
}
.JumpSpan
{
margin
:
0
20px
;
}
</
style
>
<
template
>
<div
class=
"page_fnDm page_RecPayQuery"
@
keyup
.
enter=
"resetPageIndex(),getPageList()"
>
<div
class=
"query-box"
>
<el-form
class=
"_info_box clearfix"
label-width=
"110px"
>
<el-row
style=
"padding:15px 20px 0 0;"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"所属公司:"
>
<el-select
filterable
v-model=
'msg.RB_Branch_Id'
class=
""
>
<el-option
:value=
"-1"
label=
"不限"
></el-option>
<el-option
v-for=
'item in CompanyList'
:label=
'item.BName'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<template>
<el-col
:span=
"4"
>
<el-form-item
label=
"审核状态:"
>
<el-select
filterable
v-model=
'msg.Status'
class=
""
>
<el-option
key=
"-1"
value=
"-1"
label=
"不限"
></el-option>
<el-option
key=
"0"
value=
"0"
label=
"暂存"
></el-option>
<el-option
key=
"1"
value=
"1"
label=
"审核中"
></el-option>
<el-option
key=
"2"
value=
"2"
label=
"通过"
></el-option>
<el-option
key=
"3"
value=
"3"
label=
"驳回"
></el-option>
<el-option
key=
"4"
value=
"4"
label=
"作废"
></el-option>
<el-option
key=
"5"
value=
"5"
label=
"出纳暂存"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"发团日期:"
>
<el-date-picker
class=
"h34"
v-model=
"missionDate"
@
change=
"timeAdd()"
type=
"daterange"
value-format=
"yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
</
template
>
</el-row>
</el-form>
<ul
class=
"clearfix"
>
<li
class=
"hight_query"
>
<button
class=
"hollowFixedBtn"
@
click=
"resetPageIndex(),getPageList()"
>
{{$t('pub.searchBtn')}}
</button>
</li>
</ul>
<div
class=
"JumpDivTitleOne"
>
应收金额:{{SumYingShou}}
<span
class=
"JumpSpan"
>
实收金额:{{SumShiShou}}
</span>
待收金额:{{SumDaiShou}}
</div>
<div
class=
"JumpDivTitleTwo"
>
应付金额:{{SumYingFu}}
<span
class=
"JumpSpan"
>
实付金额:{{SumShiFu}}
</span>
待付金额:{{SumDaiFu}}
</div>
</div>
<div
class=
"_fnDm_content"
v-loading=
'loading'
>
<v-table
is-horizontal-resize
column-width-drag
style=
"width:100%"
:columns=
"columns"
:table-data=
"DataList"
:total=
'total'
:pageSize=
'msg.PageSize'
:pageIndex=
'msg.PageIndex'
:handleCurrentChange=
'handleCurrentChanges'
:row-height=
'100'
multiple-sort
>
<!-- 多个排序 -->
</v-table>
</div>
</div>
</template>
<
script
>
import
myBill
from
"../FinancialSubmodule/BillModule.vue"
;
import
myrbvBill
from
"../FinancialSubmodule/ReceivablesModule.vue"
;
import
myhrBill
from
"../FinancialSubmodule/MergeBillModule.vue"
;
import
Vue
from
'vue'
import
{
parse
}
from
'semver'
;
// 自定义列组件
Vue
.
component
(
'table-BranchName'
,{
//查看操作按钮
template
:
`<span>{{rowData.BranchName}}</span>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
goUrl
(
path
){
this
.
$router
.
push
({
path
:
'/'
+
path
,
query
:
{
id
:
this
.
rowData
.
FrID
,
blank
:
'y'
,
tab
:
this
.
rowData
.
FrID
+
'单据详情'
}
})
},
}
})
Vue
.
component
(
'table-operation'
,{
//查看操作按钮
template
:
`<span>
<el-tooltip class="item" effect="dark" content="查看" placement="top">
<i style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;"
class="iconfont icon-sousuo" @click="goUrl('FinancialDocumentsDetail')">
</i>
</el-tooltip>
</span>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
goUrl
(
path
){
this
.
$router
.
push
({
path
:
'/'
+
path
,
query
:
{
id
:
this
.
rowData
.
FrID
,
blank
:
'y'
,
tab
:
this
.
rowData
.
FrID
+
'单据详情'
}
})
},
}
})
Vue
.
component
(
'table-RecPay'
,{
//收支样式
template
:
`
<span>
<span v-if="rowData.Type==2" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #E95252;
line-height: 16px;
border-radius: 4px;">
支出
</span>
<span v-if="rowData.Type==1" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #2BB87C;
line-height: 16px;
border-radius: 4px;">
收入
</span>
</span>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
}
})
Vue
.
component
(
'table-BillRVB'
,{
//单据样式
template
:
`
<el-popover
popper-class="detailsIT_Journal"
placement="bottom-start"
trigger="click">
<template v-if="rowData.Type!=1&&rowData.modelShow&&(rowData.Is_Merge==0||rowData.Is_Merge==null)">
<my-Bill :ID="rowData.FrID" :width="widthSon" :color="colorSon"></my-Bill>
</template>
<template v-else-if="rowData.Type==1&&rowData.modelShow&&(rowData.Is_Merge==0||rowData.Is_Merge==null)">
<my-RVB-Bill :ID="rowData.FrID" :width="widthSon" :color="colorSon"></my-RVB-Bill>
</template>
<template v-else-if="rowData.Is_Merge==1&&rowData.modelShow">
<my-HB-Bill :ID="rowData.FrID" :width="widthSon" :color="colorSon"></my-HB-Bill>
</template>
<span slot="reference" @click="rowData.modelShow = true,conSole(rowData)" style="text-decoration: underline;cursor: pointer;font-weight: bold" >{{rowData.FrID}}</span>
</el-popover>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
components
:
{
"my-Bill"
:
myBill
,
"my-RVB-Bill"
:
myrbvBill
,
"my-HB-Bill"
:
myhrBill
,
},
data
(){
return
{
widthSon
:
'700px'
,
colorSon
:
"#f5f5f5"
,
}
},
methods
:{
conSole
(
rowData
){
console
.
log
(
rowData
)
}
}
})
Vue
.
component
(
'table-Info'
,{
//关联信息
template
:
`
<div>
<template v-if="rowData.TCIDAndTCNUMList.length>0">
<p class="_TCIDAndTCNUMList" style="display: flex;">
<span>团号:</span>
<template v-if="rowData.TCIDAndTCNUMList&&rowData.TCIDAndTCNUMList.length>0">
<p><span v-for="(i,ix) in rowData.TCIDAndTCNUMList">{{i.TCNUM}}({{i.TCID}}) <span v-if="ix!=rowData.TCIDAndTCNUMList.length-1">,</br></span></span></p>
</template>
<template v-else>
<span>无</span>
</template>
</p>
<p v-if="rowData.OrderID>0 && rowData.OrderSource==8">单号:<span class="">{{rowData.OrderID}}</span></p>
</template>
<template v-else-if="rowData.OrderSource==8 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">暂无团期信息</p>
</template>
<template v-else-if="rowData.OrderSource==4 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList" style="text-decoration: underline;cursor: pointer;" @click="goTicketPage(rowData)">机票编号:{{rowData.SourceID}}</p>
<p style="margin-top: 5px;">线路:<span>{{rowData.LineName?rowData.LineName:'机票尚未选择线路'}}</span></p>
</template>
<template v-else-if="rowData.OrderSource==9 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">国内票务期数:{{rowData.Term}}</p>
</template>
<template v-else-if="rowData.OrderSource==10 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">签证产品编号:{{rowData.SourceID}}</p>
</template>
<template v-else-if="rowData.OrderSource==0 || rowData.OrderSource==null">
<p class="_TCIDAndTCNUMList">{{ rowData.BranchName }}-{{rowData.DepartName}} </p>
</template>
<template v-else>
<p class="_TCIDAndTCNUMList">暂无</p>
</template>
</div>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
goTicketPage
(
data
)
{
// 跳转机票
this
.
$router
.
push
({
name
:
'TicketManager'
,
query
:{
id
:
data
.
SourceID
,
blank
:
'y'
,
tab
:
'票务管理'
}
})
},
}
})
Vue
.
component
(
'table-CostType'
,{
//费用类型
template
:
`
<div>
<template v-for="(s,si) in rowData.CostTypeList">
<span style="background-color: rgba(64,158,255,.1);display: inline-block;padding: 0 5px;height: 22px;line-height: 20px;font-size: 12px;color: #646464;border-radius: 4px;box-sizing: border-box;border: 1px solid rgba(64,158,255,.2);white-space: nowrap;margin-bottom: 4px;">{{s}}</span></br>
</template>
</div>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
}
})
Vue
.
component
(
'table-TradeWay'
,{
//交易方式
template
:
`
<div>
<template v-if="rowData.TradeWayList&&rowData.TradeWayList.length>0">
<div class="_TradeWayList" v-for="(tw,twIn) in rowData.TradeWayList" style="line-height: normal !important;padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;margin: 10px 0;width:230px">
<p><span style="font-weight: bold;color:#333333">{{tw.Alias}}</span><span class="_bank_name" style="height:20px;;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;margin-letf:10px">{{rowData.TradeWayList[0].TypeName}}</span><span style="height:20px;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;" :style="{'background-color':tw.AccountType=='私'?'#2AAEF2':'#FF9C01'}">{{tw.AccountType==""?'无':tw.AccountType}}</span> </p>
<p style="color:#333333">{{tw.BankNo}}</p>
</div>
</template>
<template v-else>
<div class="_pad5">
无
</div>
</template>
</div>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
}
})
Vue
.
component
(
'table-Money'
,{
//金额
template
:
`
<span>
<p style="line-height:20px">{{rowData.Type==1?'应收':'应付'}}:<span>{{rowData.Money}}</span></p>
<p style="line-height:20px">{{rowData.Type==1?'实收':'实付'}}:<span>{{rowData.PayMoney}}</span></p>
</span>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
}
})
Vue
.
component
(
'table-ClientTypeName'
,{
//付款对象
template
:
`
<span>
<span style="color: gray">{{rowData.Type==2?rowData.ClientTypeName+':':'汇款人:'}}</span><span>{{rowData.RemitterName}}</span>
</span>
`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
}
})
Vue
.
component
(
'table-StatusStr'
,{
//单据状态
template
:
`
<i v-if="rowData.Status==1" class="iconfont icon-daiqueren" style="color: #4BCA81"></i>
<i v-if="rowData.Status==4" class="iconfont icon-yiquxiao" style="color: #4BCA81"></i>
<i v-if="rowData.Status==2" class="iconfont icon-yiqueren" style="color: #959595"></i>
<i v-if="rowData.Status==3" class="iconfont icon-shenhebohui" style="color: #E95252"></i>
<i v-if="rowData.Status==0" class="iconfont icon-zancun" style="color: #FF9C01"></i>
<el-popover
popper-class="detailsIT_Journal"
width="250"
trigger="click">
<div style="height: auto;max-height: 220px;background-color: #FFFFFF;">
<div class="changLog">
<p class="_log_t">流程日志</p>
<ul style="padding-left: 20px;max-height: 180px;overflow: auto;" v-if="GetFinancLogList" v-loading='LogLoading'>
<li style="border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;" v-for="(log,li) in GetFinancLogList">
<span style="background-color: #47BF8C;width: 7px;height: 7px;border-radius: 50%;display: inline-block;position: absolute;left: -4px;top: 19px;"></span>
<p> <span class="_color_blue">{{log.EmName}}</span> <span class="fr changLog_time">{{log.UpdateDate}}</span> </p>
<p class="_dtel">{{log.StartValue}}</p>
</li>
</ul>
<ul v-else>
<li>暂无修改日志</li>
</ul>
</div>
</div>
<span slot="reference" class="text_d _font_init" @click="Financial_post_GetFinancLogList(rowData.FrID)">{{rowData.StatusStr}}</span>
</el-popover>
`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
data
(){
return
{
GetFinancLogList
:[],
}
},
methods
:{
Financial_post_GetFinancLogList
(
id
){
// 获取单据日志
if
(
this
.
checkboxShow
)
return
this
.
LogLoading
=
true
;
this
.
apipost
(
'Financial_post_GetFinancLogList'
,{
ID
:
id
,
Type
:
2
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
data
.
forEach
(
x
=>
{
x
.
UpdateDate
=
this
.
$commonUtils
.
formatMsgTime
(
x
.
UpdateDate
)
})
this
.
LogLoading
=
false
;
this
.
GetFinancLogList
=
data
;
}
},
err
=>
{})
}
}
})
export
default
{
data
(){
return
{
showID
:
false
,
active
:
1
,
msg
:{
RB_Branch_Id
:
-
1
,
Status
:
'-1'
,
QStartDate
:
''
,
QEndDate
:
''
,
PageIndex
:
1
,
PageSize
:
5
,
AirLossId
:
1
,
LossType
:
1
,
CostTypeID
:
0
,
Type
:
2
},
getCompanyMsg
:{
// 公司
RB_Group_Id
:
'0'
,
Status
:
'0'
,
},
DataList
:[],
GetFinancLogList
:[],
CompanyList
:[],
missionDate
:[],
loading
:
false
,
LogLoading
:
false
,
currentPage
:
1
,
total
:
0
,
SumYingShou
:
0
,
SumShiShou
:
0
,
SumDaiShou
:
0
,
SumYingFu
:
0
,
SumShiFu
:
0
,
SumDaiFu
:
0
,
loading2
:
false
,
tableData
:
[],
columns
:
[
{
field
:
'BranchName'
,
title
:
'所属公司'
,
width
:
80
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
componentName
:
'table-BranchName'
},
{
field
:
'FrID'
,
title
:
'单号'
,
width
:
80
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
//orderBy排序 asc 升序 desc降序
result
:[],
//筛选项默认值 单选传字符串'1' 多选数组 [1,2,2]
type
:
'select'
,
// 筛选项方式 select 下拉 check 单选、多选 text搜索 datetime时间
isFrozen
:
true
,
componentName
:
'table-BillRVB'
},
{
field
:
'custome-RecPay'
,
title
:
'单据类型'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
componentName
:
'table-RecPay'
},
{
field
:
'custome-Info'
,
title
:
'关联信息'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
result
:
''
,
filterMultiple
:
false
,
type
:
'text'
,
componentName
:
'table-Info'
},
{
field
:
'dateRange'
,
title
:
'费用类型'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
result
:{},
filterMultiple
:
false
,
type
:
'datetime'
,
componentName
:
'table-CostType'
},
{
field
:
'TradeWay'
,
title
:
'交易方式'
,
width
:
210
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
componentName
:
'table-TradeWay'
},
{
field
:
'Money'
,
title
:
'金额'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
componentName
:
'table-Money'
},
{
field
:
'ClientTypeName'
,
title
:
'付款对象'
,
width
:
180
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
componentName
:
'table-ClientTypeName'
},
{
field
:
'EmName'
,
title
:
'制单人员'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
},
{
field
:
'StatusStr'
,
title
:
'当前状态'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
},
{
field
:
'custome-operation'
,
title
:
'操作'
,
width
:
200
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
componentName
:
'table-operation'
,
isResize
:
true
}
],
}
},
created
(){
},
components
:
{
"my-Bill"
:
myBill
,
"my-RVB-Bill"
:
myrbvBill
,
},
mounted
(){
let
userInfo
=
this
.
getLocalStorage
();
this
.
getCompanyMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
;
//集团ID
let
msgList
=
JSON
.
parse
(
this
.
$route
.
query
.
msg
);
this
.
msg
.
AirLossId
=
msgList
.
AirLossId
;
this
.
msg
.
LossType
=
msgList
.
LossType
;
this
.
msg
.
CostTypeID
=
msgList
.
CostTypeID
;
this
.
msg
.
QStartDate
=
msgList
.
StartTime
;
this
.
msg
.
QEndDate
=
msgList
.
EndTime
;
this
.
missionDate
.
push
(
msgList
.
StartTime
,
msgList
.
EndTime
);
this
.
getCompanyList
();
this
.
getPageList
();
},
methods
:{
handleCurrentChanges
(
val
){
this
.
pageIndex
=
this
.
msg
.
pageIndex
=
val
;
this
.
getPageList
();
},
getPageList
(){
// 获取列表数据
if
(
this
.
missionDate
){
this
.
msg
.
QStartDate
=
this
.
missionDate
[
0
];
this
.
msg
.
QEndDate
=
this
.
missionDate
[
1
];
}
else
{
this
.
msg
.
QStartDate
=
""
;
this
.
msg
.
QEndDate
=
""
;
}
this
.
loading
=
true
;
this
.
apipost
(
'Financial_post_GetAirTicketLossDetailPageList'
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
pageData
.
list
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
SumYingShou
=
res
.
data
.
data
.
pageData
.
SumYingShou
;
this
.
SumShiShou
=
res
.
data
.
data
.
pageData
.
SumShiShou
;
this
.
SumDaiShou
=
res
.
data
.
data
.
pageData
.
SumDaiShou
;
this
.
SumYingFu
=
res
.
data
.
data
.
pageData
.
SumYingFu
;
this
.
SumShiFu
=
res
.
data
.
data
.
pageData
.
SumShiFu
;
this
.
SumDaiFu
=
res
.
data
.
data
.
pageData
.
SumDaiFu
;
if
(
this
.
total
==
0
){
this
.
DataList
=
[];
}
else
{
data
.
forEach
(
x
=>
{
x
.
modelShow
=
false
;
})
this
.
DataList
=
data
;
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
Financial_post_GetFinancLogList
(
id
){
// 获取单据日志
this
.
LogLoading
=
true
;
this
.
apipost
(
'Financial_post_GetFinancLogList'
,{
ID
:
id
,
Type
:
2
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
data
.
forEach
(
x
=>
{
x
.
UpdateDate
=
this
.
$commonUtils
.
formatMsgTime
(
x
.
UpdateDate
)
})
this
.
LogLoading
=
false
;
this
.
GetFinancLogList
=
data
;
}
},
err
=>
{})
},
getCompanyList
(){
//获取公司列表
this
.
apipost
(
'admin_get_BranchGetList'
,
this
.
getCompanyMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
CompanyList
=
res
.
data
.
data
;
}
else
{}
},
err
=>
{})
},
timeAdd
(
t
){
// 日期格式
this
.
msg
.
QStartDate
=
this
.
missionDate
[
0
];
this
.
msg
.
QEndDate
=
this
.
missionDate
[
1
];
},
handleCurrentChange
(
val
)
{
//翻页
this
.
msg
.
pageIndex
=
val
;
this
.
getPageList
();
},
resetPageIndex
(){
// 重置页码
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
},
goUrl
(
path
,
id
,
Conditon
,
pageIndex
){
this
.
$router
.
push
({
name
:
path
,
query
:{
"id"
:
id
,
"Conditon"
:
Conditon
,
"pageIndex"
:
pageIndex
,
blank
:
'y'
,
tab
:
'单据详情'
}
})
},
goEit
(
path
,
type
,
id
,
edit
,
Conditon
,
pageIndex
){
this
.
$router
.
push
({
name
:
path
,
query
:{
"type"
:
type
,
"FrID"
:
id
,
"edit"
:
edit
,
"Conditon"
:
Conditon
,
"pageIndex"
:
pageIndex
}
})
}
}
}
</
script
>
src/components/LeaderManagement/leaderReimbursement.vue
View file @
584f5007
...
@@ -393,7 +393,7 @@
...
@@ -393,7 +393,7 @@
<span
v-show=
"subItem.PayStyle==6"
>
付款团号:
{{
subItem
.
PayTypeTCNUM
}}
</span>
<span
v-show=
"subItem.PayStyle==6"
>
付款团号:
{{
subItem
.
PayTypeTCNUM
}}
</span>
</td>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"3"
>
<td
v-if=
"childIndex==0"
:rowspan=
"3"
>
{{
i
tem
.
Remarks
}}
{{
subI
tem
.
Remarks
}}
</td>
</td>
</tr>
</tr>
</
template
>
</
template
>
...
@@ -465,7 +465,7 @@
...
@@ -465,7 +465,7 @@
<span
v-show=
"subItem.PayStyle==6"
>
付款团号:
{{
subItem
.
PayTypeTCNUM
}}
</span>
<span
v-show=
"subItem.PayStyle==6"
>
付款团号:
{{
subItem
.
PayTypeTCNUM
}}
</span>
</td>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"3"
>
<td
v-if=
"childIndex==0"
:rowspan=
"3"
>
{{
i
tem
.
Remarks
}}
{{
subI
tem
.
Remarks
}}
</td>
</td>
</tr>
</tr>
</
template
>
</
template
>
...
...
src/components/Restaurant/bookDinnerStatisticsDetails.vue
View file @
584f5007
...
@@ -3,8 +3,14 @@
...
@@ -3,8 +3,14 @@
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<ul>
<ul>
<li>
<li>
<input
v-if=
"IsOperation != 1"
type=
"button"
class=
"fr normalBtn mb30"
value=
"保存"
@
click=
"saveList(1)"
/>
<template
v-if=
"IsOperation != 1"
>
<input
v-if=
"IsOperation != 1"
type=
"button"
class=
"fr normalBtn mb30"
value=
"保存草稿"
@
click=
"saveList(0)"
/>
<input
v-if=
"IsOperation != 1"
type=
"button"
class=
"fr normalBtn mb30"
value=
"保存"
@
click=
"saveList(1)"
/>
<input
v-if=
"IsOperation != 1"
type=
"button"
class=
"fr normalBtn mb30"
value=
"保存草稿"
@
click=
"saveList(0)"
/>
</
template
>
<
template
v-else
>
<span
v-if=
"IsOperation==1"
style=
"color:red;font-size:14px;"
>
已制单,不能在修改!
</span>
</
template
>
<input
type=
"button"
class=
"fr normalBtn mb30"
style=
"display:none;"
value=
"保存"
@
click=
"saveList(1)"
/>
</li>
</li>
</ul>
</ul>
</div>
</div>
...
@@ -130,7 +136,7 @@
...
@@ -130,7 +136,7 @@
<el-option
label=
'公司合团支付'
:value=
'6'
></el-option>
<el-option
label=
'公司合团支付'
:value=
'6'
></el-option>
</el-select>
</el-select>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
width=
"60"
style=
"text-align:right;"
>
<td
width=
"60"
style=
"text-align:right;"
>
...
@@ -158,7 +164,7 @@
...
@@ -158,7 +164,7 @@
订团号:
订团号:
</td>
</td>
<td
style=
"text-align:left;"
>
<td
style=
"text-align:left;"
>
<el-input
class=
'w135 tcenter'
v-model=
'subItem.ReserveNo'
></el-input>
<el-input
class=
'w135 tcenter'
v-model=
'subItem.ReserveNo'
></el-input>
</td>
</td>
</tr>
</tr>
</table>
</table>
...
@@ -185,7 +191,7 @@
...
@@ -185,7 +191,7 @@
flightTotal
:
0
,
flightTotal
:
0
,
GuestNum
:
0
,
GuestNum
:
0
,
loading
:
false
,
loading
:
false
,
IsOperation
:
''
,
IsOperation
:
''
,
};
};
},
},
methods
:
{
methods
:
{
...
@@ -222,7 +228,7 @@
...
@@ -222,7 +228,7 @@
});
});
},
},
personStrToWord
(
str
)
{
personStrToWord
(
str
)
{
if
(
str
==
1
)
if
(
str
==
1
)
return
'大人'
return
'大人'
if
(
str
==
2
)
if
(
str
==
2
)
return
'中人'
return
'中人'
...
@@ -245,10 +251,9 @@
...
@@ -245,10 +251,9 @@
item
.
DiningSummaryList
.
forEach
(
x
=>
{
item
.
DiningSummaryList
.
forEach
(
x
=>
{
x
.
DiningReserveType
=
x
.
DiningReserveType
.
toString
();
x
.
DiningReserveType
=
x
.
DiningReserveType
.
toString
();
this
.
calculationPrice
(
x
);
this
.
calculationPrice
(
x
);
var
str
=
x
.
NewDiningName
;
var
str
=
x
.
NewDiningName
;
if
(
x
.
RealName
)
if
(
x
.
RealName
)
{
{
str
=
x
.
RealName
;
str
=
x
.
RealName
;
}
}
item
.
DinnerList
.
push
({
item
.
DinnerList
.
push
({
RealName
:
str
,
RealName
:
str
,
...
@@ -331,8 +336,8 @@
...
@@ -331,8 +336,8 @@
if
(
subItem
.
NewDiningID
==
x
.
ID
)
{
if
(
subItem
.
NewDiningID
==
x
.
ID
)
{
subItem
.
Address
=
x
.
Address
;
subItem
.
Address
=
x
.
Address
;
subItem
.
Tel
=
x
.
Tel
;
subItem
.
Tel
=
x
.
Tel
;
subItem
.
PayStyle
=
x
.
PayStyle
;
subItem
.
PayStyle
=
x
.
PayStyle
;
subItem
.
PayStyleExt
=
x
.
PayStyle
;
subItem
.
PayStyleExt
=
x
.
PayStyle
;
}
}
})
})
},
},
...
...
src/components/Ticketing/airTicketRules.vue
View file @
584f5007
...
@@ -443,21 +443,39 @@
...
@@ -443,21 +443,39 @@
<div
class=
"combottomTitle"
>
{{
divTitle
}}
</div>
<div
class=
"combottomTitle"
>
{{
divTitle
}}
</div>
<div
class=
""
>
<div
class=
""
>
<el-form
:model=
"addMsg"
ref=
"addMsg"
label-width=
"130px"
>
<el-form
:model=
"addMsg"
ref=
"addMsg"
label-width=
"130px"
>
<el-col
:span=
"5"
>
<template
v-if=
"addMsg.ID==0"
>
<el-form-item
label=
"年"
>
<el-col
:span=
"5"
>
<el-select
v-model=
"addMsg.YearStr"
size=
"mini"
class=
"_month_input"
>
<el-form-item
label=
"开始月份"
>
<el-option
:key=
"DefaultValue"
label=
"请选择"
:value=
"DefaultValue"
></el-option>
<el-date-picker
v-model=
"addMsg.MonthRangeStart"
type=
"month"
value-format=
"yyyy-MM"
>
<el-option
v-for=
"item in YearList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-date-picker>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"结束月份"
>
<el-form-item
label=
"月"
>
<el-date-picker
v-model=
"addMsg.MonthRangeEnd"
type=
"month"
value-format=
"yyyy-MM"
>
<el-select
v-model=
"addMsg.MonthStr"
size=
"mini"
class=
"_month_input"
>
</el-date-picker>
<el-option
v-for=
"item in MonthList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-form-item>
</el-select>
</el-col>
</el-form-item>
</
template
>
</el-col>
<
template
v-else
>
<el-col
:span=
"5"
>
<el-form-item
label=
"年"
>
<el-select
v-model=
"addMsg.YearStr"
size=
"mini"
class=
"_month_input"
>
<el-option
:key=
"DefaultValue"
label=
"请选择"
:value=
"DefaultValue"
></el-option>
<el-option
v-for=
"item in YearList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"月"
>
<el-select
v-model=
"addMsg.MonthStr"
size=
"mini"
class=
"_month_input"
>
<el-option
:key=
"DefaultValue"
label=
"请选择"
:value=
"DefaultValue"
></el-option>
<el-option
v-for=
"item in MonthList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
</el-col>
</
template
>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"单价/人"
>
<el-form-item
label=
"单价/人"
>
<el-input
v-model=
"addMsg.UnitPrice"
maxlength=
"5"
@
keyup
.
native=
"checkPrice(addMsg,'UnitPrice')"
>
<el-input
v-model=
"addMsg.UnitPrice"
maxlength=
"5"
@
keyup
.
native=
"checkPrice(addMsg,'UnitPrice')"
>
...
@@ -491,6 +509,8 @@
...
@@ -491,6 +509,8 @@
YearStr
:
0
,
//年份
YearStr
:
0
,
//年份
MonthStr
:
0
,
//月份
MonthStr
:
0
,
//月份
UnitPrice
:
0
,
//单价每人
UnitPrice
:
0
,
//单价每人
MonthRangeStart
:
""
,
//开始月份【2019-01到2019-12】
MonthRangeEnd
:
""
,
//结束月份【2019-01到2019-12】
},
},
DefaultValue
:
0
,
//默认值
DefaultValue
:
0
,
//默认值
YearList
:
[],
YearList
:
[],
...
@@ -534,9 +554,34 @@
...
@@ -534,9 +554,34 @@
this
.
addMsg
.
YearStr
=
0
;
this
.
addMsg
.
YearStr
=
0
;
this
.
addMsg
.
MonthStr
=
0
;
this
.
addMsg
.
MonthStr
=
0
;
this
.
addMsg
.
UnitPrice
=
0
;
this
.
addMsg
.
UnitPrice
=
0
;
this
.
addMsg
.
MonthRangeEnd
=
""
;
this
.
addMsg
.
MonthRangeStart
=
""
;
},
},
//保存信息
//保存信息
SaveAirticketRules
()
{
SaveAirticketRules
()
{
if
(
this
.
addMsg
.
ID
>
0
)
{
if
(
this
.
addMsg
.
YearStr
==
0
)
{
this
.
Info
(
"请选择年份!"
);
return
;
}
if
(
this
.
addMsg
.
MonthStr
==
0
)
{
this
.
Info
(
"请选择月份!"
);
return
;
}
}
else
{
if
(
this
.
addMsg
.
MonthRangeStart
==
""
)
{
this
.
Info
(
"请选择开始月份!"
);
return
;
}
if
(
this
.
addMsg
.
MonthRangeEnd
==
""
)
{
this
.
Info
(
"请选择结束月份!"
);
return
;
}
}
if
(
this
.
addMsg
.
UnitPrice
==
0
)
{
this
.
Info
(
"请输入提成金额!"
);
return
;
}
this
.
apipost
(
this
.
apipost
(
"AirTicketRules_post_SetAirticketRule"
,
"AirTicketRules_post_SetAirticketRule"
,
this
.
addMsg
,
this
.
addMsg
,
...
...
src/components/TravelManager/TravelList/PassengerFeedback.vue
View file @
584f5007
...
@@ -69,11 +69,22 @@
...
@@ -69,11 +69,22 @@
<td>
{{
item
.
start
}}
</td>
<td>
{{
item
.
start
}}
</td>
<td>
{{
item
.
tCNUM
}}
</td>
<td>
{{
item
.
tCNUM
}}
</td>
<td>
<td>
<span
v-if=
"fields.length>0"
>
{{
(
item
.
sumScore
/
fields
.
length
).
toFixed
(
1
)
}}
</span>
<span
v-if=
"fields.length>0"
>
<span
v-else
>
{{
item
.
sumScore
}}
</span>
<span
v-if=
"item.sumScore/fields.length>3.5"
>
{{
(
item
.
sumScore
/
fields
.
length
).
toFixed
(
1
)
}}
</span>
<span
v-else
style=
"color:red"
>
{{
(
item
.
sumScore
/
fields
.
length
).
toFixed
(
1
)
}}
</span>
</span>
<span
v-else
>
<span
v-if=
"item.sumScore>3.5"
>
{{
item
.
sumScore
}}
</span>
<span
v-else
style=
"color:red"
>
{{
item
.
sumScore
}}
</span>
</span>
</td>
</td>
<td
v-for=
"(c,childIndex) in fields"
:key=
"childIndex"
>
{{
item
[
c
]?
item
[
c
]:
0
}}
</td>
<td
v-for=
"(c,childIndex) in fields"
:key=
"childIndex"
>
<span
v-if=
"item[c]&&item[c]>3.5"
>
{{
item
[
c
]?
item
[
c
]:
0
}}
</span>
<span
v-else
style=
"color:red"
>
{{
item
[
c
]?
item
[
c
]:
0
}}
</span>
</td>
<td>
<td>
<span
style=
"cursor:pointer"
@
click=
"chaKan(item)"
>
明细
</span>
<span
style=
"cursor:pointer"
@
click=
"chaKan(item)"
>
明细
</span>
...
@@ -128,6 +139,11 @@ export default {
...
@@ -128,6 +139,11 @@ export default {
}
}
}
}
},
},
created
(){
this
.
dateList
[
0
]
=
moment
().
subtract
(
6
,
"month"
).
format
(
"YYYY-MM-DD"
);
this
.
dateList
[
1
]
=
moment
().
format
(
"YYYY-MM-DD"
);
// console.log("this.dateList",this.dateList)
},
mounted
(){
mounted
(){
this
.
getLineList
();
this
.
getLineList
();
this
.
getList
();
this
.
getList
();
...
...
src/components/administrative/AirticketCommission.vue
0 → 100644
View file @
584f5007
<
style
>
.CM_look
{
padding
:
4px
!important
;
position
:
relative
;
top
:
1px
;
}
</
style
>
<
template
>
<div
class=
"flexOne"
>
<div
class=
"query-box"
>
<ul>
<li>
<input
type=
"button"
class=
"normalBtn"
@
click=
"CreateAirticketCommission()"
value=
"生成提成报表"
/>
</li>
</ul>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th>
期数
</th>
<th>
提成总金额
</th>
<th>
{{
$t
(
'admin.admin_czPerson'
)
}}
</th>
<th>
日期
</th>
<th>
{{
$t
(
'system.table_operation'
)
}}
</th>
</tr>
<tr
v-for=
"item in dataList"
>
<td>
{{
item
.
Periods
}}
</td>
<td>
{{
item
.
SumPrice
}}
</td>
<td>
{{
item
.
CreateByName
}}
</td>
<td>
{{
item
.
CreateTimeStr
}}
</td>
<td>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"查看"
placement=
"top"
>
<el-button
type=
"primary"
class=
"CM_look"
@
click=
"goUrl('AirticketCommissionDetail',item.ID)"
icon=
"iconfont icon-chakan"
circle
></el-button>
</el-tooltip>
</td>
</tr>
</table>
<!-- 分页 -->
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
'msg.PageSize'
:total=
'total'
>
</el-pagination>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
msg
:
{
PageIndex
:
1
,
PageSize
:
20
},
loading
:
false
,
//数据源
dataList
:
[],
total
:
0
,
currentPage
:
1
,
}
},
mounted
()
{
this
.
getList
();
},
methods
:
{
handleCurrentChange
(
val
)
{
this
.
msg
.
PageIndex
=
val
;
this
.
getList
();
},
goUrl
(
path
,
id
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
ID
:
id
,
blank
:
'y'
,
tab
:
'票务业绩详情'
}
});
},
//获取数据
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"AirTicketRules_post_GetAirticketCommissionPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
//生成票务提成报表
CreateAirticketCommission
()
{
this
.
apipost
(
"AirTicketRules_post_CreateAirticketCommissionService"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
();
this
.
Success
(
'报表生成成功'
)
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}
}
}
</
script
>
\ No newline at end of file
src/components/administrative/AirticketCommissionDetail.vue
0 → 100644
View file @
584f5007
<
style
>
.CM_look
{
padding
:
4px
!important
;
position
:
relative
;
top
:
1px
;
}
</
style
>
<
template
>
<div
class=
"flexOne"
>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th>
公司
</th>
<th>
部门
</th>
<th>
姓名
</th>
<th>
总人数
</th>
<th>
提成金额
</th>
<th>
期数
</th>
</tr>
<tr
v-for=
"item in dataList"
>
<td>
{{
item
.
BName
}}
</td>
<td>
{{
item
.
DName
}}
</td>
<td>
{{
item
.
UName
}}
</td>
<td>
{{
item
.
TotalPersion
}}
</td>
<td>
{{
item
.
CommissionMoney
}}
</td>
<td>
{{
item
.
Periods
}}
</td>
</tr>
</table>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
msg
:
{
MainId
:
0
},
loading
:
false
,
//数据源
dataList
:
[],
}
},
mounted
()
{
this
.
msg
.
MainId
=
this
.
$route
.
query
.
ID
;
this
.
getList
();
},
methods
:
{
//获取数据
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"AirTicketRules_post_GetAirticketCommissionDetails"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
}
}
</
script
>
src/components/dmc/manager/dmcTotalTable.vue
View file @
584f5007
...
@@ -347,7 +347,8 @@
...
@@ -347,7 +347,8 @@
<th>
金额
</th>
<th>
金额
</th>
</tr>
</tr>
<tr
v-for=
"(fnc, findex) in outItem.FinanceIds"
>
<tr
v-for=
"(fnc, findex) in outItem.FinanceIds"
>
<td
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('FinancialDocumentsDetail', fnc.FinanceId)"
>
{{
fnc
.
FinanceId
}}
</td>
<td
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('FinancialDocumentsDetail', fnc.FinanceId)"
>
{{
fnc
.
FinanceId
}}
</td>
<td>
{{
moneyFormat
(
fnc
.
OriginalMoney
)
}}
</td>
<td>
{{
moneyFormat
(
fnc
.
OriginalMoney
)
}}
</td>
</tr>
</tr>
</table>
</table>
...
@@ -459,6 +460,25 @@
...
@@ -459,6 +460,25 @@
style=
"background:green; border-color:green"
></el-button>
style=
"background:green; border-color:green"
></el-button>
</el-popover>
</el-popover>
</el-tooltip>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
" 领队/导游配置"
placement=
"top-start"
v-if=
"item.LineId==14&&outItem.PriceCommonList.length>1"
style=
"display:none;"
>
<el-popover
placement=
"bottom"
width=
"450"
trigger=
"click"
>
<table
class=
"dmcSetTable"
>
<tr>
<template
v-for=
"(hItem,hIndex) in TeamHotelList"
>
<td>
{{
hItem
.
TCNUM
}}
(
{{
hItem
.
TCID
}}
)
</td>
</
template
>
</tr>
<
template
v-if=
"TeamHotelList&&TeamHotelList.length>0"
>
<template
v-for=
"(hItem,hIndex) in TeamHotelList"
>
</
template
>
</template>
</table>
<el-button
@
click=
"GetTeamHotelList(outItem.TCIDS)"
slot=
"reference"
icon=
"iconfont icon-suo1"
type=
"primary"
style=
"background:green; border-color:green"
></el-button>
</el-popover>
</el-tooltip>
</el-button-group>
</el-button-group>
</div>
</div>
</td>
</td>
...
@@ -580,17 +600,19 @@
...
@@ -580,17 +600,19 @@
cityId
:
0
,
cityId
:
0
,
orderId
:
0
orderId
:
0
},
},
//合团团酒店列表
TeamHotelList
:
[],
LeaderList
:
[],
LeaderList
:
[],
showHotelObj
:
{
showHotelObj
:
{
showPrice
:
true
,
//是否显示价格
showPrice
:
true
,
//是否显示价格
showPay
:
true
,
//是否显示支付方式
showPay
:
true
,
//是否显示支付方式
showZhan
:
true
,
//占房时间
showZhan
:
true
,
//占房时间
showBtnList
:
true
,
//是否下载、确认按钮
showBtnList
:
true
,
//是否下载、确认按钮
ShowTaxType
:
true
,
//显示税入税别
ShowTaxType
:
true
,
//显示税入税别
ShowRebateRatio
:
true
,
//显示返佣比列
ShowRebateRatio
:
true
,
//显示返佣比列
ShowSupplier
:
true
,
//是否显示供应商
ShowSupplier
:
true
,
//是否显示供应商
showCaozuoTime
:
true
,
//操作时间
showCaozuoTime
:
true
,
//操作时间
colspanLength
:
6
//跨行
colspanLength
:
6
//跨行
},
},
pickerBeginDateBefore
:
{
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
disabledDate
:
time
=>
{
...
@@ -759,12 +781,12 @@
...
@@ -759,12 +781,12 @@
})
})
window
.
open
(
routeData
.
href
,
'_blank'
);
window
.
open
(
routeData
.
href
,
'_blank'
);
},
},
goFncUrl
:
function
(
path
,
id
)
{
goFncUrl
:
function
(
path
,
id
)
{
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
path
,
name
:
path
,
query
:
{
query
:
{
id
:
id
,
id
:
id
,
blank
:
'y'
,
blank
:
'y'
,
}
}
})
})
},
},
...
@@ -798,8 +820,8 @@
...
@@ -798,8 +820,8 @@
'flightTotal'
:
obj
.
TotalSeat
,
'flightTotal'
:
obj
.
TotalSeat
,
'GuestNum'
:
obj
.
OrderGuestNum
,
'GuestNum'
:
obj
.
OrderGuestNum
,
'NewCombinationNum'
:
outItem
.
NewCombinationNum
,
'NewCombinationNum'
:
outItem
.
NewCombinationNum
,
'LeaderName'
:
obj
.
LeaderName
,
'LeaderName'
:
obj
.
LeaderName
,
'GuideName'
:
obj
.
GuideName
,
'GuideName'
:
obj
.
GuideName
,
blank
:
'y'
,
blank
:
'y'
,
tab
:
title
tab
:
title
}
}
...
@@ -960,7 +982,19 @@
...
@@ -960,7 +982,19 @@
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
$message
.
error
(
res
.
data
.
message
);
}
}
},
err
=>
{})
},
err
=>
{})
}
},
GetTeamHotelList
(
tcids
)
{
this
.
apipost
(
'dmcstatistics_get_GetTeamHotelListService'
,
{
TCIDs
:
tcids
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
TeamHotelList
=
res
.
data
.
data
;
//console.log("TeamHotelList", this.TeamHotelList);
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
},
},
mounted
()
{
mounted
()
{
let
myDate
=
new
Date
();
let
myDate
=
new
Date
();
...
@@ -971,6 +1005,8 @@
...
@@ -971,6 +1005,8 @@
"-"
+
"-"
+
myDate
.
getDate
();
myDate
.
getDate
();
this
.
msg
.
StartDate
=
nowDate
;
this
.
msg
.
StartDate
=
nowDate
;
//this.msg.CombinationNum='JVS0723OTC-MUC';
//this.msg.CombinationNum = 'JVS0617OTC-MUA';
this
.
getLineList
();
this
.
getLineList
();
this
.
getList
();
this
.
getList
();
this
.
getCompanyList
();
this
.
getCompanyList
();
...
...
src/router/config.js
View file @
584f5007
...
@@ -326,6 +326,22 @@ export default {
...
@@ -326,6 +326,22 @@ export default {
title
:
'提成管理'
title
:
'提成管理'
},
},
},
},
{
path
:
'/AirticketCommission'
,
//票务提成
name
:
'AirticketCommission'
,
component
:
resolve
=>
require
([
'@/components/administrative/AirticketCommission'
],
resolve
),
meta
:
{
title
:
'票务提成'
},
},
{
path
:
'/AirticketCommissionDetail'
,
//票务提成详情
name
:
'AirticketCommissionDetail'
,
component
:
resolve
=>
require
([
'@/components/administrative/AirticketCommissionDetail'
],
resolve
),
meta
:
{
title
:
'票务提成详情'
},
},
{
{
path
:
'/CommissionDetail'
,
//提成详情
path
:
'/CommissionDetail'
,
//提成详情
name
:
'CommissionDetail'
,
name
:
'CommissionDetail'
,
...
@@ -1630,11 +1646,11 @@ export default {
...
@@ -1630,11 +1646,11 @@ export default {
name
:
'PassengerFeedback'
,
name
:
'PassengerFeedback'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelList/PassengerFeedback'
],
resolve
),
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelList/PassengerFeedback'
],
resolve
),
meta
:
{
meta
:
{
title
:
'
一键
调查统计'
title
:
'
意见
调查统计'
},
},
},
},
{
{
path
:
'/FeedbackChart'
,
//
一键
调查统计
path
:
'/FeedbackChart'
,
//
意见
调查统计
name
:
'FeedbackChart'
,
name
:
'FeedbackChart'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelList/FeedbackChart'
],
resolve
),
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelList/FeedbackChart'
],
resolve
),
meta
:
{
meta
:
{
...
@@ -2548,7 +2564,15 @@ export default {
...
@@ -2548,7 +2564,15 @@ export default {
meta
:
{
meta
:
{
title
:
'线控配置'
title
:
'线控配置'
},
},
},
{
//财务 资金调拨 新增
},
{
//财务 机票分摊比例
path
:
'/AirTicketApp'
,
name
:
'AirTicketApp'
,
component
:
resolve
=>
require
([
'@/components/FinancialModule/AirTicketApp'
],
resolve
),
meta
:
{
title
:
'机票分摊比例'
},
},{
//财务 资金调拨 新增
path
:
'/addCapitalAllocation'
,
path
:
'/addCapitalAllocation'
,
name
:
'addCapitalAllocation'
,
name
:
'addCapitalAllocation'
,
component
:
resolve
=>
require
([
'@/components/FinancialModule/addCapitalAllocation'
],
resolve
),
component
:
resolve
=>
require
([
'@/components/FinancialModule/addCapitalAllocation'
],
resolve
),
...
@@ -2945,6 +2969,22 @@ export default {
...
@@ -2945,6 +2969,22 @@ export default {
title
:
'年度排名统计'
title
:
'年度排名统计'
},
},
},
},
{
//财务 报表 机票损失分摊
path
:
'/AirTicketLoss'
,
name
:
'AirTicketLoss'
,
component
:
resolve
=>
require
([
'@/components/FinancialModule/ReportForm/AirTicketLoss'
],
resolve
),
meta
:
{
title
:
'机票损失分摊'
},
},
{
//财务 机票损失分摊详情
path
:
'/AirTicketLossDetail'
,
name
:
'AirTicketLossDetail'
,
component
:
resolve
=>
require
([
'@/components/FinancialModule/ReportForm/AirTicketLossDetail'
],
resolve
),
meta
:
{
title
:
'机票损失分摊详情'
},
},
{
//财务 报表 团队人数统计
{
//财务 报表 团队人数统计
path
:
'/NumberStatistics'
,
path
:
'/NumberStatistics'
,
name
:
'NumberStatistics'
,
name
:
'NumberStatistics'
,
...
...
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