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
a203a272
Commit
a203a272
authored
Sep 03, 2019
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
814dbfc7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1297 additions
and
1119 deletions
+1297
-1119
leaderPay2.vue
src/components/leaderPay2.vue
+1297
-1119
No files found.
src/components/leaderPay2.vue
View file @
a203a272
<
style
>
.el-dialog__header
{
background-color
:
#E95252
!important
;
padding
:
20px
40px
10px
;
}
.el-dialog__header
.el-dialog__title
{
color
:
white
;
}
.hollowFixedBtn
{
background
:
#fff
;
color
:
#E95252
;
padding
:
0
15px
;
height
:
30px
;
border
:
1px
solid
#E95252
;
cursor
:
pointer
;
border-radius
:
15px
;
margin-left
:
10px
;}
.hollowFixedBtn
:hover
{
box-shadow
:
2px
0px
4px
rgba
(
144
,
6
,
6
,
0.25
)}
.hollowFixedBtn
:active
{
border-color
:
#CD2929
;}
.normalBtn
{
color
:
#fff
;
padding
:
0
15px
;
height
:
30px
;
background
:
#E95252
;
border
:
1px
solid
#E95252
;
cursor
:
pointer
;
border-radius
:
15px
;
margin-left
:
10px
;}
.normalBtn
:hover
{
background
:
#E95252
;
box-shadow
:
2px
0px
4px
rgba
(
144
,
6
,
6
,
0.25
)}
.normalBtn
:active
{
background
:
#CD2929
;}
.leaderPayTable
{
width
:
100%
;
margin
:
10px
auto
;
text-align
:
center
;
font-size
:
12px
;
color
:
#333
;
border-collapse
:
collapse
;
background-color
:
#fff
;
border
:
1px
solid
#d1d1d1
;
}
.leaderPayTable
th
{
background
:
#e6e6e6
;
padding
:
8px
0
;
color
:
#333
;
border
:
1px
solid
#d1d1d1
;
font-weight
:
bold
;
}
.leaderPayTable
tr
td
{
background-color
:
#fff
;
padding
:
8px
0
;
height
:
32px
;
border
:
1px
solid
#d1d1d1
;
}
.leaderPayTable2
tr
td
{
border
:
1px
solid
#ccc
;
line-height
:
17px
;
height
:
25px
;
font-size
:
12px
;
background
:
#fff
;
text-align
:
center
;
padding
:
0
;
;
margin
:
0
;
}
.LeaderPrintDiv
.LeaderTitle
{
padding
:
10px
;
text-align
:
left
;
}
.leaderPayTable
.itemName
{
text-align
:
left
;
padding
:
0
10px
;
}
@media
print
{
.el-dialog__header
{
background-color
:
#E95252
!important
;
padding
:
20px
40px
10px
;
}
.el-dialog__header
.el-dialog__title
{
color
:
white
;
}
.hollowFixedBtn
{
background
:
#fff
;
color
:
#E95252
;
padding
:
0
15px
;
height
:
30px
;
border
:
1px
solid
#E95252
;
cursor
:
pointer
;
border-radius
:
15px
;
margin-left
:
10px
;
}
.hollowFixedBtn
:hover
{
box-shadow
:
2px
0px
4px
rgba
(
144
,
6
,
6
,
0.25
)
}
.hollowFixedBtn
:active
{
border-color
:
#CD2929
;
}
.normalBtn
{
color
:
#fff
;
padding
:
0
15px
;
height
:
30px
;
background
:
#E95252
;
border
:
1px
solid
#E95252
;
cursor
:
pointer
;
border-radius
:
15px
;
margin-left
:
10px
;
}
.normalBtn
:hover
{
background
:
#E95252
;
box-shadow
:
2px
0px
4px
rgba
(
144
,
6
,
6
,
0.25
)
}
.normalBtn
:active
{
background
:
#CD2929
;
}
.leaderPayTable
{
width
:
100%
;
margin
:
10px
auto
;
text-align
:
center
;
font-size
:
12px
;
color
:
#333
;
border-collapse
:
collapse
;
background-color
:
#fff
;
border
:
1px
solid
#d1d1d1
;
}
.leaderPayTable
th
{
background
:
#e6e6e6
;
padding
:
8px
0
;
color
:
#333
;
border
:
1px
solid
#d1d1d1
;
font-weight
:
bold
;
}
.leaderPayTable
tr
td
{
background-color
:
#fff
;
padding
:
8px
0
;
height
:
32px
;
border
:
1px
solid
#d1d1d1
;
}
.leaderPayTable2
tr
td
{
border
:
1px
solid
#ccc
;
line-height
:
17px
;
height
:
25px
;
font-size
:
12px
;
background
:
#fff
;
text-align
:
center
;
padding
:
0
;
;
margin
:
0
;
}
.LeaderPrintDiv
.LeaderTitle
{
padding
:
10px
;
text-align
:
left
;
}
.leaderPayTable
.itemName
{
text-align
:
left
;
padding
:
0
10px
;
}
@media
print
{
.LeaderPrintDiv
.btnListDiv
{
display
:
none
;
}
}
.comTotal
{
text-align
:
left
;
padding-left
:
30px
!important
;
}
.LeaderPrintDiv
{
width
:
100%
;
background
:
#f8f8f8
;
position
:
absolute
;
}
.LeaderPrintDiv
.childDiv
{
width
:
1000px
;
margin
:
0
auto
;
}
.LeaderPrintDiv
.childDiv
._Titles
{
font-size
:
14px
;
}
.wLeader2
.el-textarea__inner
{
height
:
130px
;
}
.LeaderPrintDiv
.btnListDiv
{
display
:
none
;
}
}
.comTotal
{
text-align
:
left
;
padding-left
:
30px
!important
;
}
.LeaderPrintDiv
{
width
:
100%
;
background
:
#f8f8f8
;
position
:
absolute
;
}
.LeaderPrintDiv
.childDiv
{
width
:
1000px
;
margin
:
0
auto
;
}
.LeaderPrintDiv
.childDiv
._Titles
{
font-size
:
14px
;
}
.wLeader2
.el-textarea__inner
{
height
:
130px
;
}
.LeaderPrintDiv
.btnListDiv
{
margin
:
20px
auto
;
text-align
:
center
;
}
.LeaderPrintDiv
.leader2Btn
{
color
:
#fff
;
padding
:
0
15px
;
height
:
30px
;
background
:
#e95252
;
border
:
1px
solid
#e95252
;
cursor
:
pointer
;
border-radius
:
15px
;
}
.cursorpointer
{
cursor
:
pointer
;}
.text-decoration
{
text-decoration
:
underline
;}
input
::-webkit-outer-spin-button
,
input
::-webkit-inner-spin-button
{
margin
:
20px
auto
;
text-align
:
center
;
}
.LeaderPrintDiv
.leader2Btn
{
color
:
#fff
;
padding
:
0
15px
;
height
:
30px
;
background
:
#e95252
;
border
:
1px
solid
#e95252
;
cursor
:
pointer
;
border-radius
:
15px
;
}
.cursorpointer
{
cursor
:
pointer
;
}
.text-decoration
{
text-decoration
:
underline
;
}
input
::-webkit-outer-spin-button
,
input
::-webkit-inner-spin-button
{
-webkit-appearance
:
none
;
}
}
input
[
type
=
"number"
]
{
input
[
type
=
"number"
]
{
-moz-appearance
:
textfield
;
}
.w150
{
}
.w150
{
width
:
150px
!important
;
}
.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
._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
;
cursor
:
pointer
;}
._bank_type
{
background-color
:
#2AAEF2
}
._bank_type2
{
background-color
:
#FF9C01
}
}
.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
._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
;
cursor
:
pointer
;
}
._bank_type
{
background-color
:
#2AAEF2
}
._bank_type2
{
background-color
:
#FF9C01
}
</
style
>
<
template
>
...
...
@@ -174,7 +379,7 @@ input[type="number"] {
<td>
{{
item
.
GuideName
}}
</td>
</tr>
<tr
v-if=
"!nav.length"
>
<td
colspan=
"10"
>
暂无数据
</td>
<td
colspan=
"10"
>
暂无数据
</td>
</tr>
</table>
<table
border=
"0"
cellspacing=
"1"
class=
"leaderPayTable leaderPayTable2"
>
...
...
@@ -186,7 +391,7 @@ input[type="number"] {
<th
width=
"180"
>
景点名称
</th>
<th
width=
""
>
门票类型
</th>
<th
width=
""
>
单价
</th>
<th
width=
""
>
付款方式
</th>
<th
width=
""
>
付款方式
</th>
<th
width=
""
>
金额小计
</th>
<th
width=
""
>
预计总金额
</th>
<th
width=
""
>
实付金额
</th>
...
...
@@ -224,14 +429,15 @@ input[type="number"] {
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.TicketPriceList.length"
>
{{
scenicTotalPrice
(
subItem
,
subItem
.
TicketPriceList
)
}}
</td>
<td
v-if=
"childIndex==0 && subIndex == 0"
:rowspan=
"item.row"
>
<td
v-if=
"childIndex==0 && subIndex == 0"
:rowspan=
"item.row"
>
{{
subItem
.
TradingTotalPrice
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.TicketPriceList.length"
>
{{
subItem
.
Remarks
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.TicketPriceList.length"
><span
class=
"cursorpointer text-decoratio"
@
click=
"godetail('ticket', subItem)"
>
明细
</span></td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.TicketPriceList.length"
><span
class=
"cursorpointer text-decoratio"
@
click=
"godetail('ticket', subItem)"
>
明细
</span></td>
</tr>
</
template
>
</template>
...
...
@@ -284,7 +490,7 @@ input[type="number"] {
<tr>
<th
width=
""
>
使用日期
</th>
<th
width=
""
>
高速公路费
</th>
<!-- <th width="">预计总金额</th>-->
<!-- <th width="">预计总金额</th>-->
<th
width=
""
>
实付金额
</th>
<th
width=
""
>
备注
</th>
<th
width=
"40"
>
操作
</th>
...
...
@@ -304,9 +510,10 @@ input[type="number"] {
<td>
{{
item2
.
Remarks
}}
</td>
<td
v-if=
"index2 ==0"
:rowspan=
"item.data.length"
><span
class=
"cursorpointer text-decoratio"
@
click=
"godetail('bus', item2)"
>
明细
</span></td>
<td
v-if=
"index2 ==0"
:rowspan=
"item.data.length"
><span
class=
"cursorpointer text-decoratio"
@
click=
"godetail('bus', item2)"
>
明细
</span></td>
</tr>
</
template
>
</
template
>
</table>
<table
border=
"0"
cellspacing=
"1"
class=
"leaderPayTable leaderPayTable2"
>
...
...
@@ -332,13 +539,13 @@ input[type="number"] {
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.DiningPriceList.length"
>
{{
item
.
UseTimeStr
}}
</td>
<td
v-if=
"childIndex==0 && subIndex == 0"
:rowspan=
"item.row"
>
<template
v-if=
"subItem.DiningName!=subItem.NewDiningName"
>
<td
v-if=
"childIndex==0 && subIndex == 0"
:rowspan=
"item.row"
>
<template
v-if=
"subItem.DiningName!=subItem.NewDiningName"
>
{{
subItem
.
NewDiningName
}}
</
template
>
<
template
v-else
>
</
template
>
<
template
v-else
>
{{
subItem
.
RealName
?
subItem
.
RealName
:
subItem
.
DiningName
}}
</
template
>
</
template
>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.DiningPriceList.length"
>
{{subItem.UseDinnerTypeStr}}
...
...
@@ -372,11 +579,12 @@ input[type="number"] {
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.DiningPriceList.length"
>
{{subItem.Remarks}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.DiningPriceList.length"
><span
class=
"cursorpointer text-decoratio"
@
click=
"godetail('dining', subItem)"
>
明细
</span></td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.DiningPriceList.length"
><span
class=
"cursorpointer text-decoratio"
@
click=
"godetail('dining', subItem)"
>
明细
</span></td>
</tr>
</template>
</template>
</table>
<table
border=
"0"
cellspacing=
"1"
class=
"leaderPayTable leaderPayTable2"
>
...
...
@@ -387,7 +595,7 @@ input[type="number"] {
<th
width=
"180"
>
使用日期
</th>
<th
width=
"180"
>
酒店名称
</th>
<th
width=
""
>
房间类型
</th>
<th
width=
""
>
预定人数
</th>
<th
width=
""
>
预定人数
</th>
<th
width=
""
>
单价/人
</th>
<th
width=
""
>
付款方式
</th>
<th
width=
"60"
>
返佣
<br
/>
类型
</th>
...
...
@@ -430,7 +638,7 @@ input[type="number"] {
<p>
{{subItem.PayStyle === 1 ? moneyFormat(childItem.UnitPrice) : 0}}
</p>
</td>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
>
<span
v-if=
"subItem.PayStyle === 1"
>
现付
</span>
<span
v-else-if=
"subItem.PayStyle === 2"
>
签单
</span>
...
...
@@ -461,7 +669,8 @@ input[type="number"] {
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
>
{{subItem.Remarks}}
</td>
<td
v-if=
"childIndex==0 && subIndex ==0"
:rowspan=
"item.row"
><span
class=
"cursorpointer text-decoration"
@
click=
"godetail('hotel', subItem)"
>
明细
</span></td>
<td
v-if=
"childIndex==0 && subIndex ==0"
:rowspan=
"item.row"
><span
class=
"cursorpointer text-decoration"
@
click=
"godetail('hotel', subItem)"
>
明细
</span></td>
</tr>
</template>
</template>
...
...
@@ -471,7 +680,7 @@ input[type="number"] {
<th>
类型
</th>
<th>
预计总金额
</th>
<th>
实付金额
</th>
<th
width=
"40"
>
操作
</th>
<th
width=
"40"
>
操作
</th>
</tr>
<tr
v-if=
"list.otherList.length > 0"
v-for=
"item in list.otherList"
>
<td>
{{getOrderType(item.OrderType)}}
</td>
...
...
@@ -480,13 +689,13 @@ input[type="number"] {
<td>
<!-- <span class="cursorpointer text-decoratio" @click="godetailAll('zifeizhiS')">明细</span> -->
</td>
</tr>
<tr
v-show=
"(totalList.ExpendTotalPrice-totalScenicPrice-totalTrafficPrice-totalDinnerPrice-totalHotelPrice)>0"
>
</tr>
<tr
v-show=
"(totalList.ExpendTotalPrice-totalScenicPrice-totalTrafficPrice-totalDinnerPrice-totalHotelPrice)>0"
>
<td>
其他费用
</td>
<td>
0
</td>
<td>
{{moneyFormat(totalList.ExpendTotalPrice-totalScenicPrice-totalTrafficPrice-totalDinnerPrice-totalHotelPrice)}}
</td>
<td>
{{moneyFormat(totalList.ExpendTotalPrice-totalScenicPrice-totalTrafficPrice-totalDinnerPrice-totalHotelPrice)}}
</td>
<td>
<!-- <span class="cursorpointer text-decoratio" @click="godetailAll('qitaF')">明细</span> -->
</td>
...
...
@@ -518,59 +727,65 @@ input[type="number"] {
<th>
单号
</th>
<th>
所属公司
</th>
<th>
单据类型
</th>
<th>
费用类型
</th>
<th>
费用类型
</th>
<th>
交易方式
</th>
<th>
金额
</th>
<th>
付款对象
</th>
<th>
制单人员
</th>
</tr>
<tr
class=
"_item_list"
v-for=
"(item,index) in zhuijiaList"
>
<tr
class=
"_item_list"
v-for=
"(item,index) in zhuijiaList"
>
<td
class=
"Bill_par"
>
<span
@
click=
"goFncUrl('FinancialDocumentsDetail', item.FrID)"
class=
"text_d PingFangSC"
>
{{item.FrID}}
</span>
<span
@
click=
"goFncUrl('FinancialDocumentsDetail', item.FrID)"
class=
"text_d PingFangSC"
>
{{item.FrID}}
</span>
</td>
<td>
{{item.BranchName}}
</td>
<td><span
class=
"_bg__"
:class=
"item.Type==1 || item.Type==5?'_bg_green':'_bg_red'"
>
{{item.TypeName}}
</span></td>
<td>
<
template
v-for=
"(s,si) in item.CostTypeList"
>
<span
class=
"_tag_span"
>
{{
s
}}
</span><br/>
</
template
>
</td>
<td
class=
"_number"
>
<
template
v-if=
"item.TradeWayList&&item.TradeWayList.length>0"
>
<div
class=
"_TradeWayList"
v-for=
"(tw,twIn) in item.TradeWayList"
>
<p
class=
"_fex_cen clearfix"
><span
class=
"_bold"
>
{{
tw
.
Alias
}}
</span><span
class=
"_bank_name"
>
{{
item
.
TradeWayList
[
0
].
TypeName
}}
</span><span
class=
"_bank_type"
:class=
"tw.AccountType=='私'?'':'_bank_type2'"
>
{{
tw
.
AccountType
==
""
?
$t
(
'fnc.no'
):
tw
.
AccountType
}}
</span>
</p>
<p>
{{
tw
.
BankNo
}}
</p>
</div>
</
template
>
<
template
v-else
>
<div
class=
"_pad5"
>
{{
$t
(
'fnc.no'
)
}}
</div>
</
template
>
</td>
<td>
<p>
{{item.Type==1 ? $t('fnc.yingshou') : $t('fnc.yingfu') }}:
<span
class=
""
>
{{moneyFormat(item.OriginalMoneyTotal)}}
</span></p>
<!-- <p>{{item.Type==1 ? $t('fnc.shishou') : $t('fnc.shifu') }}:<span class="">{{moneyFormat(item.PayMoney)}}</span></p> -->
</td>
<td>
<
template
v-if=
'item.Type===1'
>
<span
class=
"_color_gar"
>
{{
$t
(
'fnc.huikuanren'
)
}}
:
</span><span>
{{
item
.
RemitterName
}}
</span>
</
template
>
<
template
v-if=
'item.Type===2'
>
<span
class=
"_color_gar"
>
{{
$t
(
'fnc.fkduixiang'
)
}}
:
</span><span>
{{
item
.
RemitterName
}}
</span>
</
template
>
<
template
v-if=
'item.Type===4'
>
<span
class=
"_color_gar"
>
{{
$t
(
'fnc.no'
)
}}
</span>
</
template
>
</td>
<td
valign=
"middle"
>
<img
class=
"_head_img"
:src=
"item.EmPhoto"
alt=
""
>
<span>
{{item.EmName}}
</span>
</td>
<td><span
class=
"_bg__"
:class=
"item.Type==1 || item.Type==5?'_bg_green':'_bg_red'"
>
{{item.TypeName}}
</span>
</td>
<td>
<
template
v-for=
"(s,si) in item.CostTypeList"
>
<span
class=
"_tag_span"
>
{{
s
}}
</span><br
/>
</
template
>
</td>
<td
class=
"_number"
>
<
template
v-if=
"item.TradeWayList&&item.TradeWayList.length>0"
>
<div
class=
"_TradeWayList"
v-for=
"(tw,twIn) in item.TradeWayList"
>
<p
class=
"_fex_cen clearfix"
><span
class=
"_bold"
>
{{
tw
.
Alias
}}
</span><span
class=
"_bank_name"
>
{{
item
.
TradeWayList
[
0
].
TypeName
}}
</span><span
class=
"_bank_type"
:class=
"tw.AccountType=='私'?'':'_bank_type2'"
>
{{
tw
.
AccountType
==
""
?
$t
(
'fnc.no'
):
tw
.
AccountType
}}
</span>
</p>
<p>
{{
tw
.
BankNo
}}
</p>
</div>
</
template
>
<
template
v-else
>
<div
class=
"_pad5"
>
{{
$t
(
'fnc.no'
)
}}
</div>
</
template
>
</td>
<td>
<p>
{{item.Type==1 ? $t('fnc.yingshou') : $t('fnc.yingfu') }}:
<span
class=
""
>
{{moneyFormat(item.OriginalMoneyTotal)}}
</span></p>
<!-- <p>{{item.Type==1 ? $t('fnc.shishou') : $t('fnc.shifu') }}:<span class="">{{moneyFormat(item.PayMoney)}}</span></p> -->
</td>
<td>
<
template
v-if=
'item.Type===1'
>
<span
class=
"_color_gar"
>
{{
$t
(
'fnc.huikuanren'
)
}}
:
</span><span>
{{
item
.
RemitterName
}}
</span>
</
template
>
<
template
v-if=
'item.Type===2'
>
<span
class=
"_color_gar"
>
{{
$t
(
'fnc.fkduixiang'
)
}}
:
</span><span>
{{
item
.
RemitterName
}}
</span>
</
template
>
<
template
v-if=
'item.Type===4'
>
<span
class=
"_color_gar"
>
{{
$t
(
'fnc.no'
)
}}
</span>
</
template
>
</td>
<td
valign=
"middle"
>
<img
class=
"_head_img"
:src=
"item.EmPhoto"
alt=
""
>
<span>
{{item.EmName}}
</span>
</td>
</tr>
<tr
v-if=
"!zhuijiaList.length"
>
<td
colspan=
"8"
>
暂无数据
</td>
<td
colspan=
"8"
>
暂无数据
</td>
</tr>
</table>
<table
border=
"0"
cellspacing=
"1"
class=
"leaderPayTable"
v-if=
"TotalPriceData.length>0"
>
...
...
@@ -582,19 +797,19 @@ input[type="number"] {
<!-- <th>实际报账金额</th> -->
<th>
领队退款
</th>
</tr>
<tr
v-for=
"(item, index) in TotalPriceData"
v-if=
"item.PlanPrice > 0 || item.PlanTotalPrice > 0 || item.ExpendTotalPrice > 0"
>
<tr
v-for=
"(item, index) in TotalPriceData"
v-if=
"item.PlanPrice > 0 || item.PlanTotalPrice > 0 || item.ExpendTotalPrice > 0"
>
<td>
{{item.CurrencyStr}}
</td>
<td>
{{moneyFormat(item.PlanPrice)}}
</td>
<td>
{{moneyFormat(item.PlanTotalPrice)}}
</td>
<td>
{{moneyFormat(item.ExpendTotalPrice)}}
</td>
<!-- <td>{{index == 0 ? moneyFormat(AllBZPrice) : moneyFormat(item.ExpendTotalPrice)}}</td> -->
<td>
{{index == 0 ? moneyFormat(item.PlanTotalPrice - AllBZPrice): moneyFormat(item.PlanTotalPrice - item.ExpendTotalPrice)}}
</td>
<td>
{{index == 0 ? moneyFormat(item.PlanTotalPrice - AllBZPrice): moneyFormat(item.PlanTotalPrice - item.ExpendTotalPrice)}}
</td>
</tr>
<tr
v-if=
"!TotalPriceData.length"
>
<td
colspan=
"5"
>
暂无数据
</td>
<td
colspan=
"5"
>
暂无数据
</td>
</tr>
</table>
<table
class=
"leaderPayTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
...
...
@@ -608,35 +823,35 @@ input[type="number"] {
<th>
创建人
</th>
</tr>
<
template
v-for=
"(item, index) in TotalNav"
>
<tr
v-for=
"(subItem, subIndex) in item.FinanceList"
>
<td>
<span>
{{
subItem
.
FrID
}}
</span>
</td>
<td>
<span>
{{
subItem
.
Money
}}
</span>
</td>
<td>
<span>
{{
subItem
.
TypeName
}}
</span>
</td>
<td>
<span>
{{
subItem
.
RemitterName
}}
:
{{
subItem
.
AccountNumber
}}
</span>
</td>
<td>
<span>
{{
subItem
.
StatusStr
}}
</span>
</td>
<td>
<span>
{{
subItem
.
CreateDate
}}
</span>
</td>
<td>
<span>
{{
subItem
.
CreateByStr
}}
</span>
</td>
</tr>
<tr
v-for=
"(subItem, subIndex) in item.FinanceList"
>
<td>
<span>
{{
subItem
.
FrID
}}
</span>
</td>
<td>
<span>
{{
subItem
.
Money
}}
</span>
</td>
<td>
<span>
{{
subItem
.
TypeName
}}
</span>
</td>
<td>
<span>
{{
subItem
.
RemitterName
}}
:
{{
subItem
.
AccountNumber
}}
</span>
</td>
<td>
<span>
{{
subItem
.
StatusStr
}}
</span>
</td>
<td>
<span>
{{
subItem
.
CreateDate
}}
</span>
</td>
<td>
<span>
{{
subItem
.
CreateByStr
}}
</span>
</td>
</tr>
</
template
>
<tr
v-if=
"!TotalNav.FinanceList || !TotalNav.FinanceList.length"
>
<td
colspan=
"7"
>
暂无数据
</td>
<td
colspan=
"7"
>
暂无数据
</td>
</tr>
</table>
<table
class=
"leaderPayTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<table
class=
"leaderPayTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tr>
<th
width=
"140"
>
团号
</th>
<th
width=
"200"
>
实际领款
</th>
...
...
@@ -651,62 +866,40 @@ input[type="number"] {
已领款:
<span
style=
"color: red;"
>
{{moneyFormat(item.LeaderGetPrice)}}
</span>
</p>
<div
style=
"margin: 0;text-align: left"
>
财务单号:
<
template
v-for=
"(subItem, subIndex) in item.FinanceIds"
>
<p
style=
"margin: 0;text-align: left"
>
<span
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('FinancialDocumentsDetail', subItem.FinanceId)"
>
{{
subItem
.
FinanceId
}}
</span>
<span
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('Application', subItem.FinanceId)"
v-if=
"subItem.IsPublic === 4"
>
申请书
</span>
<span
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('DebitNote', subItem.FinanceId)"
>
借支单
</span>
</p>
</
template
>
<div
style=
"margin: 0;text-align: left"
>
财务单号:
<
template
v-for=
"(subItem, subIndex) in item.FinanceIds"
>
<p
style=
"margin: 0;text-align: left"
>
<span
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('FinancialDocumentsDetail', subItem.FinanceId)"
>
{{
subItem
.
FinanceId
}}
</span>
<span
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('Application', subItem.FinanceId)"
v-if=
"subItem.IsPublic === 4"
>
申请书
</span>
<span
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('DebitNote', subItem.FinanceId)"
>
借支单
</span>
</p>
</
template
>
</div>
</td>
<td>
<span
v-if=
"item.LeaderClosePrice > 0"
>
实际结算金额: {{item.LeaderClosePrice}}
</span>
<el-input
size=
"mini"
class=
"w150"
type=
"number"
v-model=
"item.LeaderGetPriceT"
></el-input>
<span
v-if=
"item.LeaderClosePrice > 0"
>
实际结算金额: {{item.LeaderClosePrice}}
</span>
<el-input
size=
"mini"
class=
"w150"
type=
"number"
v-model=
"item.LeaderGetPriceT"
></el-input>
</td>
<td>
<p
v-for=
"(subItem, subIndex) in item.FinanceCloseList"
style=
" margin: 0;"
>
<span
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('FinancialDocumentsDetail', subItem.FinanceId)"
>
{{subItem.FinanceId}}
</span>
<span
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('FinancialDocumentsDetail', subItem.FinanceId)"
>
{{subItem.FinanceId}}
</span>
</p>
</td>
<td
width=
"80"
class=
"_zhidan"
>
<input
v-if=
"TimeXiao"
type=
"button"
value=
"制单"
class=
"leader2Btn"
@
click=
"goZhiDan(item)"
>
<input
v-else-if=
"dataList.LeaderApply && dataList.LeaderApply.Status && dataList.LeaderApply.Status==2"
type=
"button"
value=
"制单"
class=
"leader2Btn"
@
click=
"goZhiDan(item)"
>
<input
v-if=
"TimeXiao"
type=
"button"
value=
"制单"
class=
"leader2Btn"
@
click=
"goZhiDan(item)"
>
<input
v-else-if=
"dataList.LeaderApply && dataList.LeaderApply.Status && dataList.LeaderApply.Status==2"
type=
"button"
value=
"制单"
class=
"leader2Btn"
@
click=
"goZhiDan(item)"
>
</td>
</tr>
<tr
v-if=
"!TotalNav && !TotalNav.length"
>
<td
colspan=
"5"
>
暂无数据
</td>
<td
colspan=
"5"
>
暂无数据
</td>
</tr>
</table>
<table
border=
"0"
cellspacing=
"1"
class=
"leaderPayTable"
v-if=
"listCost.length>0"
>
...
...
@@ -718,36 +911,27 @@ input[type="number"] {
<th>
财务单号
</th>
<th>
制单
</th>
</tr>
<tr
v-for=
"(item, index) in listCost"
>
<tr
v-for=
"(item, index) in listCost"
>
<td>
{{item.Type == 1 ? "领兼地" : "领队"}}:{{item.LeaderOrGuidName}}
</td>
<td>
{{item.PeopleNum}}
</td>
<td>
{{moneyFormat(item.UnitPrice)}}
</td>
<td>
<el-input
size=
"mini"
class=
"w150"
type=
"number"
v-model=
"item.price"
></el-input>
<el-input
size=
"mini"
class=
"w150"
type=
"number"
v-model=
"item.price"
></el-input>
</td>
<td
v-if=
"index == 0"
:rowspan=
"listCost.length"
>
<span>
已付款:{{moneyFormat(item.TotalPrice)}}
</span>
<p>
财务单号:
<span
v-for=
"(i, d) in item.FrId"
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('FinancialDocumentsDetail', i)"
>
{{i}} {{d == item.FrId.length-1 ? '' : '、'}}
</span></p>
<p>
财务单号:
<span
v-for=
"(i, d) in item.FrId"
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('FinancialDocumentsDetail', i)"
>
{{i}} {{d == item.FrId.length-1 ? '' : '、'}}
</span></p>
</td>
<td>
<input
type=
"button"
value=
"制单"
class=
"leader2Btn"
@
click=
"opendialog(item, index, item.price)"
>
<input
type=
"button"
value=
"制单"
class=
"leader2Btn"
@
click=
"opendialog(item, index, item.price)"
>
</td>
</tr>
<tr
v-if=
"!listCost.length"
>
<td
colspan=
"5"
>
暂无数据
</td>
<td
colspan=
"5"
>
暂无数据
</td>
</tr>
</table>
<table
class=
"leaderPayTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<table
class=
"leaderPayTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tr>
<th
width=
"140"
>
团号
</th>
<th
width=
"200"
>
领款金额
</th>
...
...
@@ -759,46 +943,35 @@ input[type="number"] {
<tr
v-for=
"(item, index) in TotalNav"
>
<td>
{{item.TCNUMS}}
</td>
<td>
{{item.LeaderGetPrice}}
</td>
<td>
<td>
<p
v-for=
"(f, fd) in item.FinanceIds"
>
{{f.Fee}}
</p>
</td>
<td>
<td>
<p
v-for=
"(f, fd) in item.FinanceIds"
>
{{f.Rate}}
</p>
</td>
<td>
<td>
<p
v-for=
"(f, fd) in item.FinanceIds"
>
{{Math.round(f.OriginalMoney * (f.Rate - f.Fee) * 100) / 100}}
</p>
</td>
<td
width=
"80"
class=
"_zhidan"
>
<input
type=
"button"
value=
"制单"
class=
"leader2Btn"
@
click=
"huiDuiShouYi(item, item.FinanceIds)"
>
<input
type=
"button"
value=
"制单"
class=
"leader2Btn"
@
click=
"huiDuiShouYi(item, item.FinanceIds)"
>
</td>
</tr>
<tr
v-if=
"!TotalNav && !TotalNav.length"
>
<td
colspan=
"5"
>
暂无数据
</td>
<td
colspan=
"5"
>
暂无数据
</td>
</tr>
</table>
<table
class=
"leaderPayTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<table
class=
"leaderPayTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tr>
<th
colspan=
"7"
>
稽核单据
<th
colspan=
"7"
>
稽核单据
</th>
</tr>
<tr
v-for=
"(item, index) in TotalNav"
>
<td
colspan=
"3"
>
{{item.TCNUMS}}
</td>
<td
colspan=
"3"
><el-input
size=
"mini"
class=
"w150"
type=
"number"
v-model=
"item.price"
></el-input></td>
<td
colspan=
"3"
>
<el-input
size=
"mini"
class=
"w150"
type=
"number"
v-model=
"item.price"
></el-input>
</td>
<td
colspan=
"1"
>
<input
type=
"button"
value=
"制稽核单"
class=
"leader2Btn"
@
click=
"ZhiDanJiHe(item)"
>
<input
type=
"button"
value=
"制稽核单"
class=
"leader2Btn"
@
click=
"ZhiDanJiHe(item)"
>
</td>
</tr>
<tr>
...
...
@@ -813,7 +986,8 @@ input[type="number"] {
<
template
v-for=
"(item, index) in TotalNav"
>
<tr
v-for=
"(Sitem, Sindex) in item.FinanceAuditList"
>
<td>
{{
Sindex
+
1
}}
</td>
<td><span
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('FinancialDocumentsDetail', Sitem.FinanceId)"
>
{{
Sitem
.
FinanceId
}}
</span></td>
<td><span
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('FinancialDocumentsDetail', Sitem.FinanceId)"
>
{{
Sitem
.
FinanceId
}}
</span></td>
<td>
{{
Sitem
.
CostTypeName
}}
</td>
<td>
{{
Sitem
.
CreateDate
}}
</td>
<td>
{{
Sitem
.
Remark
}}
</td>
...
...
@@ -821,9 +995,9 @@ input[type="number"] {
<td>
{{
Sitem
.
CreateByStr
}}
</td>
</tr>
</
template
>
</table>
<table
class=
"leaderPayTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<table
class=
"leaderPayTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tr>
<th
colspan=
"4"
>
意见调查表
</th>
</tr>
...
...
@@ -838,883 +1012,887 @@ input[type="number"] {
<td>
{{item.CommonReport.HouseStatistics.RealityNum}}
</td>
<td>
{{item.TotalGuestsurvey}}
</td>
<td>
<input
type=
"button"
value=
"明细"
class=
"leader2Btn"
@
click=
"goDIaoCha(item)"
>
<input
type=
"button"
value=
"明细"
class=
"leader2Btn"
@
click=
"goDIaoCha(item)"
>
</td>
</tr>
<tr
v-if=
"!TotalNav && !TotalNav.length"
>
<td
colspan=
"5"
>
暂无数据
</td>
<td
colspan=
"5"
>
暂无数据
</td>
</tr>
</table>
<
template
v-if=
"dataList.LeaderApply && dataList.LeaderApply.Status && dataList.LeaderApply.Status==1"
>
<el-input
type=
"textarea"
placeholder=
"请输入备注信息"
v-model=
"dataList.LeaderApply.AccountForReason"
class=
"wLeader2"
/>
<
template
v-if=
"dataList.LeaderApply && dataList.LeaderApply.Status && dataList.LeaderApply.Status==1"
>
<el-input
type=
"textarea"
placeholder=
"请输入备注信息"
v-model=
"dataList.LeaderApply.AccountForReason"
class=
"wLeader2"
/>
</
template
>
<div
class=
"btnListDiv"
>
<input
type=
"button"
class=
"leader2Btn"
@
click=
"AuditOrder(2)"
value=
"审核通过"
v-show=
"dataList.LeaderApply.Status==1"
>
<input
type=
"button"
class=
"leader2Btn"
@
click=
"AuditOrder(1)"
value=
"审核不通过"
v-show=
"dataList.LeaderApply.Status==1"
>
<input
type=
"button"
class=
"leader2Btn"
@
click=
"AuditOrder(2)"
value=
"审核通过"
v-show=
"dataList.LeaderApply.Status==1"
>
<input
type=
"button"
class=
"leader2Btn"
@
click=
"AuditOrder(1)"
value=
"审核不通过"
v-show=
"dataList.LeaderApply.Status==1"
>
<input
type=
"button"
class=
"leader2Btn"
value=
"打印"
@
click=
"printTable()"
>
<!-- <input type="button" class="leader2Btn" value="查看详情" @click="Lookdetails()"> -->
</div>
</div>
<a
:href=
"blankUrl"
id=
"blankLink"
target=
"_blank"
style=
"display:none"
>
1
</a>
<el-dialog
title=
"选择账户"
width=
"400px"
:visible
.
sync=
"dialogFormVisible"
center
:before-close=
"closeChangeMachie"
v-loading=
"dialogFormVisibleLoding"
>
<el-dialog
title=
"选择账户"
width=
"400px"
:visible
.
sync=
"dialogFormVisible"
center
:before-close=
"closeChangeMachie"
v-loading=
"dialogFormVisibleLoding"
>
<el-form
label-width=
"110px"
>
<el-form-item
label=
"付款类型"
>
<el-select
filterable
v-model=
'lingjiandiMsg.IsPublic'
class=
""
>
<el-option
:label=
"$t('fnc.gongzhang')"
:value=
'1'
:key=
'1'
></el-option>
<el-option
:label=
"$t('fnc.sizhang')"
:value=
'0'
:key=
'0'
></el-option>
<el-option
:label=
"$t('fnc.rmbxianjin')"
:value=
'2'
:key=
'2'
></el-option>
<el-option
:label=
"$t('fnc.wbxianjin')"
:value=
'3'
:key=
'3'
></el-option>
<el-option
:label=
"$t('fnc.zjinchi')"
:value=
'4'
:key=
'4'
></el-option>
<el-option
:label=
"$t('fnc.ptxnzhanghu')"
:value=
'5'
:key=
'5'
></el-option>
<el-option
:label=
"$t('fnc.djxnzhanghu')"
:value=
'6'
:key=
'6'
></el-option>
<el-option
:label=
"$t('fnc.szxiangdi')"
:value=
'7'
:key=
'7'
></el-option>
<el-option
label=
"原路退款"
:value=
'8'
:key=
'8'
></el-option>
<el-option
label=
"地接预支款"
:value=
'9'
:key=
'9'
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"账户"
>
<el-select
filterable
v-model=
'lingjiandiMsg.ClientID'
class=
""
>
<el-option
v-for=
'item in ClientAccountListS'
:label=
'item.AccountHolder'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"币种"
>
<el-select
filterable
v-model=
'lingjiandiMsg.CurrencyId'
class=
""
>
<el-option
v-for=
'item in currencyList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"预计付款日期"
>
<el-date-picker
clearable
class=
"w190 _border_b_1"
v-model=
"lingjiandiMsg.PayDate"
type=
"datetime"
:placeholder=
"$t('fnc.qxzrqshijian')"
align=
"right"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"付款类型"
>
<el-select
filterable
v-model=
'lingjiandiMsg.IsPublic'
class=
""
>
<el-option
:label=
"$t('fnc.gongzhang')"
:value=
'1'
:key=
'1'
></el-option>
<el-option
:label=
"$t('fnc.sizhang')"
:value=
'0'
:key=
'0'
></el-option>
<el-option
:label=
"$t('fnc.rmbxianjin')"
:value=
'2'
:key=
'2'
></el-option>
<el-option
:label=
"$t('fnc.wbxianjin')"
:value=
'3'
:key=
'3'
></el-option>
<el-option
:label=
"$t('fnc.zjinchi')"
:value=
'4'
:key=
'4'
></el-option>
<el-option
:label=
"$t('fnc.ptxnzhanghu')"
:value=
'5'
:key=
'5'
></el-option>
<el-option
:label=
"$t('fnc.djxnzhanghu')"
:value=
'6'
:key=
'6'
></el-option>
<el-option
:label=
"$t('fnc.szxiangdi')"
:value=
'7'
:key=
'7'
></el-option>
<el-option
label=
"原路退款"
:value=
'8'
:key=
'8'
></el-option>
<el-option
label=
"地接预支款"
:value=
'9'
:key=
'9'
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"账户"
>
<el-select
filterable
v-model=
'lingjiandiMsg.ClientID'
class=
""
>
<el-option
v-for=
'item in ClientAccountListS'
:label=
'item.AccountHolder'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"币种"
>
<el-select
filterable
v-model=
'lingjiandiMsg.CurrencyId'
class=
""
>
<el-option
v-for=
'item in currencyList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"预计付款日期"
>
<el-date-picker
clearable
class=
"w190 _border_b_1"
v-model=
"lingjiandiMsg.PayDate"
type=
"datetime"
:placeholder=
"$t('fnc.qxzrqshijian')"
align=
"right"
>
</el-date-picker>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"dialogFormVisible=false"
>
{{$t('pub.cancelBtn')}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"goZhiDan2"
>
{{$t('pub.sureBtn')}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"dialogFormVisible=false"
>
{{$t('pub.cancelBtn')}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"goZhiDan2"
>
{{$t('pub.sureBtn')}}
</button>
</div>
</el-dialog>
</div>
</template>
<
script
>
export
default
{
data
()
{
return
{
planPriceList
:[],
zhuijiaList
:
[],
zhuijiaMoney
:
0
,
dialogFormVisibleLoding
:
false
,
dialogFormVisibleIndex
:
0
,
lingjiandiObj
:
{},
lingjiandiMsg
:
{
IsPublic
:
""
,
ClientType
:
''
,
ClientID
:
''
,
CurrencyId
:
''
,
PayDate
:
''
,
},
isUpdate
:
false
,
loading
:
false
,
dialogFormVisible
:
false
,
msg
:
{
TCIDs
:
""
,
NewCombinationNum
:
""
},
nav
:
[],
dataList
:
{
LeaderApply
:
{
Status
:
0
}},
//合计景点
totalScenicPrice
:
0
,
//合计餐饮
totalDinnerPrice
:
0
,
//合计酒店
totalHotelPrice
:
0
,
//合计交通
totalTrafficPrice
:
0
,
allTotal
:
0
,
totalList
:
[],
isShowRemark
:
false
,
TotalPriceData
:
[],
blankUrl
:
""
,
TotalNav
:
[],
TimeXiao
:
false
,
list
:[],
OtherTotalPrice
:
0
,
SelfPayingExpendTotalPrice
:
0
,
IncomeTotalPrice
:
0
,
ExpendTotalPrice
:
0
,
busDataList
:
[],
DiningDataList
:
[],
ScenicDataList
:
[],
HotelDataList
:
[],
listCost
:
[],
BaoZhangPrice
:
{},
AllBZPrice
:
0
,
ClientAccountListS
:
[],
currencyList
:[],
};
},
methods
:
{
getOrderType
(
type
){
// 1-其他订单,2-小费收入,3-团费小计,4-自费收入,5-自费支出
if
(
type
==
1
)
return
'其他订单'
else
if
(
type
==
2
)
return
'小费收入'
else
if
(
type
==
3
)
return
'团费小计'
else
if
(
type
==
4
)
return
'自费收入'
else
if
(
type
==
5
)
return
'自费支出'
},
getzhuijiaList
(){
this
.
apipost
(
'Financial_post_GetTravelFinanceReplenishList'
,
{
TravelReplenish
:
this
.
$route
.
query
.
NewCombinationNum
?
this
.
$route
.
query
.
NewCombinationNum
:
this
.
$route
.
query
.
id
export
default
{
data
()
{
return
{
planPriceList
:
[],
zhuijiaList
:
[],
zhuijiaMoney
:
0
,
dialogFormVisibleLoding
:
false
,
dialogFormVisibleIndex
:
0
,
lingjiandiObj
:
{},
lingjiandiMsg
:
{
IsPublic
:
""
,
ClientType
:
''
,
ClientID
:
''
,
CurrencyId
:
''
,
PayDate
:
''
,
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
zhuijiaList
=
res
.
data
.
data
.
list
this
.
zhuijiaMoney
=
res
.
data
.
data
.
TotalMoney
isUpdate
:
false
,
loading
:
false
,
dialogFormVisible
:
false
,
msg
:
{
TCIDs
:
""
,
NewCombinationNum
:
""
},
nav
:
[],
dataList
:
{
LeaderApply
:
{
Status
:
0
}
},
err
=>
{}
)
},
opendialog
:
function
(
item
,
index
,
price
){
if
(
!
price
)
{
return
this
.
$message
.
error
(
'请输入金额'
)
}
this
.
lingjiandiObj
=
item
this
.
dialogFormVisible
=
true
this
.
dialogFormVisibleIndex
=
index
},
getCurrencyList
:
function
(
id
){
this
.
apipost
(
"financeinfo_post_GetList"
,
{
Name
:
""
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
let
data
=
res
.
data
.
data
;
this
.
currencyList
=
data
}
},
null
)
},
closeChangeMachie
(
done
)
{
// 弹=窗口关闭
done
();
//合计景点
totalScenicPrice
:
0
,
//合计餐饮
totalDinnerPrice
:
0
,
//合计酒店
totalHotelPrice
:
0
,
//合计交通
totalTrafficPrice
:
0
,
allTotal
:
0
,
totalList
:
[],
isShowRemark
:
false
,
TotalPriceData
:
[],
blankUrl
:
""
,
TotalNav
:
[],
TimeXiao
:
false
,
list
:
[],
OtherTotalPrice
:
0
,
SelfPayingExpendTotalPrice
:
0
,
IncomeTotalPrice
:
0
,
ExpendTotalPrice
:
0
,
busDataList
:
[],
DiningDataList
:
[],
ScenicDataList
:
[],
HotelDataList
:
[],
listCost
:
[],
BaoZhangPrice
:
{},
AllBZPrice
:
0
,
ClientAccountListS
:
[],
currencyList
:
[],
};
},
financeinfo_post_GetClientAccountList
(){
//获取付款 对象类型 新增用
let
msg
=
{
ID
:
0
,
methods
:
{
getOrderType
(
type
)
{
// 1-其他订单,2-小费收入,3-团费小计,4-自费收入,5-自费支出
if
(
type
==
1
)
return
'其他订单'
else
if
(
type
==
2
)
return
'小费收入'
else
if
(
type
==
3
)
return
'团费小计'
else
if
(
type
==
4
)
return
'自费收入'
else
if
(
type
==
5
)
return
'自费支出'
},
getzhuijiaList
()
{
this
.
apipost
(
'Financial_post_GetTravelFinanceReplenishList'
,
{
TravelReplenish
:
this
.
$route
.
query
.
NewCombinationNum
?
this
.
$route
.
query
.
NewCombinationNum
:
this
.
$route
.
query
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
zhuijiaList
=
res
.
data
.
data
.
list
this
.
zhuijiaMoney
=
res
.
data
.
data
.
TotalMoney
}
},
err
=>
{}
)
},
opendialog
:
function
(
item
,
index
,
price
)
{
if
(
!
price
)
{
return
this
.
$message
.
error
(
'请输入金额'
)
}
this
.
lingjiandiObj
=
item
this
.
dialogFormVisible
=
true
this
.
dialogFormVisibleIndex
=
index
},
getCurrencyList
:
function
(
id
)
{
this
.
apipost
(
"financeinfo_post_GetList"
,
{
Name
:
""
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
let
data
=
res
.
data
.
data
;
this
.
currencyList
=
data
}
},
null
)
},
closeChangeMachie
(
done
)
{
// 弹=窗口关闭
done
();
},
financeinfo_post_GetClientAccountList
()
{
//获取付款 对象类型 新增用
let
msg
=
{
ID
:
0
,
Type
:
7
,
ObjID
:
0
,
CardNum
:
''
}
this
.
apipost
(
'financeinfo_post_GetClientAccountList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
ObjID
:
0
,
CardNum
:
''
}
this
.
apipost
(
'financeinfo_post_GetClientAccountList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
this
.
ClientAccountListS
=
data
;
this
.
ClientAccountListS
=
data
;
}
},
err
=>
{})
},
// 全部明细
godetailAll
:
function
(
name
){
this
.
godetail
(
name
)
},
// 明细
godetail
:
function
(
name
,
obj
)
{
let
path
=
""
,
TCIDs
=
this
.
msg
.
TCIDs
,
date
=
''
;
if
(
name
==
'ticket'
)
{
path
=
'leaderPayTicketDetail'
date
=
obj
?
obj
.
UseTimeStr
:
'all'
}
else
if
(
name
===
'bus'
)
{
path
=
"CarDetails"
date
=
obj
?
obj
.
UseTime
:
'all'
;
}
else
if
(
name
===
'dining'
)
{
path
=
"DinningDetails"
date
=
obj
?
obj
.
UseTimeStr
:
'all'
;
}
else
if
(
name
===
'hotel'
)
{
path
=
'leaderPayHotelDetail'
date
=
obj
?
obj
.
CheckInDateStr
:
'all'
}
else
if
(
name
===
'qitaF'
)
{
path
=
'leaderPayQiTalDetail'
date
=
obj
?
obj
.
CheckInDateStr
:
'all'
}
let
fullPath
=
`/
${
path
}
?TCIDs=
${
TCIDs
}
&date=
${
date
}
`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
dom
.
click
();
},
// 稽核单据
ZhiDanJiHe
:
function
(
obj
){
if
(
!
obj
.
price
)
{
this
.
$message
.
error
(
'请输入金额'
)
return
}
let
userinfo
=
this
.
getLocalStorage
()
let
templateID
=
JSON
.
stringify
([
76
,
77
])
let
TCIDARR
=
[
obj
.
TCIDS
];
let
orderObj
=
{
OrderID
:
0
,
OrderSource
:
8
,
Obj
:
{},
SourceID
:
0
,
CostType
:
57
,
TCIDList
:
TCIDARR
,
Money
:
obj
.
price
,
};
let
fullPath
=
`/ChoiceAddFinancialDocuments?Type=
${
2
}
&templateID=
${
templateID
}
&companyID=
${
obj
.
OutBranchId
}
&orderObj=
${
JSON
.
stringify
(
orderObj
)}
&blank=y&tab=领队报账`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
dom
.
click
();
},
// 意见调查列表
goDIaoCha
:
function
(
obj
){
let
fullPath
=
`/investigationList?TCID=
${
obj
.
TCIDS
}
&blank=y&tab=问券调查列表`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
dom
.
click
();
},
// 汇兑收益金额制单
huiDuiShouYi
:
function
(
obj
,
list
){
if
(
obj
.
ExchangeEarningPrice
>
0
)
{
this
.
$message
.
error
(
'已有财务单据,无法制单'
)
return
}
let
money
=
0
;
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
money
=
money
+
Math
.
round
(
list
[
i
].
OriginalMoney
*
(
list
[
i
].
Rate
-
list
[
i
].
Fee
)
*
100
)
/
100
}
console
.
log
(
money
)
if
(
money
==
0
&&
!
money
)
{
this
.
$message
.
error
(
'金额小于0,无法制单'
)
return
}
else
{
},
err
=>
{})
},
// 全部明细
godetailAll
:
function
(
name
)
{
this
.
godetail
(
name
)
},
// 明细
godetail
:
function
(
name
,
obj
)
{
let
path
=
""
,
TCIDs
=
this
.
msg
.
TCIDs
,
date
=
''
;
if
(
name
==
'ticket'
)
{
path
=
'leaderPayTicketDetail'
date
=
obj
?
obj
.
UseTimeStr
:
'all'
}
else
if
(
name
===
'bus'
)
{
path
=
"CarDetails"
date
=
obj
?
obj
.
UseTime
:
'all'
;
}
else
if
(
name
===
'dining'
)
{
path
=
"DinningDetails"
date
=
obj
?
obj
.
UseTimeStr
:
'all'
;
}
else
if
(
name
===
'hotel'
)
{
path
=
'leaderPayHotelDetail'
date
=
obj
?
obj
.
CheckInDateStr
:
'all'
}
else
if
(
name
===
'qitaF'
)
{
path
=
'leaderPayQiTalDetail'
date
=
obj
?
obj
.
CheckInDateStr
:
'all'
}
let
fullPath
=
`/
${
path
}
?TCIDs=
${
TCIDs
}
&date=
${
date
}
`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
dom
.
click
();
},
// 稽核单据
ZhiDanJiHe
:
function
(
obj
)
{
if
(
!
obj
.
price
)
{
this
.
$message
.
error
(
'请输入金额'
)
return
}
let
userinfo
=
this
.
getLocalStorage
()
let
templateID
=
JSON
.
stringify
([
76
,
77
])
let
TCIDARR
=
[
obj
.
TCIDS
];
let
orderObj
=
{
OrderID
:
0
,
OrderSource
:
8
,
Obj
:
{},
SourceID
:
0
,
CostType
:
30
,
CostType
:
57
,
TCIDList
:
TCIDARR
,
Money
:
money
,
laRemark
:
"实际领款金额 * (实际领款汇率 - 出团汇率)"
,
Money
:
obj
.
price
,
};
let
fullPath
=
`/ChoiceAddFinancialDocuments?Type=
${
0
}
&companyID=
${
userinfo
.
RB_Branch_id
}
&orderObj=
${
JSON
.
stringify
(
orderObj
)}
&blank=y&tab=领队报账`
;
let
fullPath
=
`/ChoiceAddFinancialDocuments?Type=
${
2
}
&templateID=
${
templateID
}
&companyID=
${
obj
.
OutBranchId
}
&orderObj=
${
JSON
.
stringify
(
orderObj
)}
&blank=y&tab=领队报账`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
dom
.
click
();
}
},
// 保存报账金额
saveBZPrice
:
function
(){
let
HotelPrice
=
this
.
BaoZhangPrice
.
HotelPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
HotelPrice
)
:
0
let
BusPrice
=
this
.
BaoZhangPrice
.
BusPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
BusPrice
)
:
0
let
DiningPrice
=
this
.
BaoZhangPrice
.
DiningPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
DiningPrice
)
:
0
let
ScenicPrice
=
this
.
BaoZhangPrice
.
ScenicPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
ScenicPrice
)
:
0
let
msg
=
[
{
TCIDs
:
this
.
msg
.
TCIDs
,
UserType
:
1
,
TotalPrice
:
HotelPrice
},
{
TCIDs
:
this
.
msg
.
TCIDs
,
UserType
:
2
,
TotalPrice
:
DiningPrice
},
{
TCIDs
:
this
.
msg
.
TCIDs
,
UserType
:
3
,
TotalPrice
:
ScenicPrice
},
{
TCIDs
:
this
.
msg
.
TCIDs
,
UserType
:
4
,
TotalPrice
:
BusPrice
},
]
this
.
apipost
(
'dmcstatistics_get_SetLeaderReimburseLessList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
'操作成功'
)
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
},
// 意见调查列表
goDIaoCha
:
function
(
obj
)
{
let
fullPath
=
`/investigationList?TCID=
${
obj
.
TCIDS
}
&blank=y&tab=问券调查列表`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
dom
.
click
();
},
// 汇兑收益金额制单
huiDuiShouYi
:
function
(
obj
,
list
)
{
if
(
obj
.
ExchangeEarningPrice
>
0
)
{
this
.
$message
.
error
(
'已有财务单据,无法制单'
)
return
}
},
null
)
},
getAllBZPrice
:
function
(){
let
allPrice
=
this
.
TotalPriceData
[
0
].
ExpendTotalPrice
let
endPrice
=
allPrice
-
this
.
totalScenicPrice
-
this
.
totalTrafficPrice
-
this
.
totalDinnerPrice
-
this
.
totalHotelPrice
let
HotelPrice
=
this
.
BaoZhangPrice
.
HotelPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
HotelPrice
)
:
0
let
BusPrice
=
this
.
BaoZhangPrice
.
BusPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
BusPrice
)
:
0
let
DiningPrice
=
this
.
BaoZhangPrice
.
DiningPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
DiningPrice
)
:
0
let
ScenicPrice
=
this
.
BaoZhangPrice
.
ScenicPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
ScenicPrice
)
:
0
let
newPrice
=
endPrice
+
HotelPrice
+
BusPrice
+
DiningPrice
+
ScenicPrice
this
.
AllBZPrice
=
newPrice
},
getBaoZhangPrice
:
function
(){
this
.
apipost
(
'dmcstatistics_get_GetLeaderReimburseLessList'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
BaoZhangPrice
=
res
.
data
.
data
BaoZhangPrice
.
HotelPrice
=
BaoZhangPrice
.
HotelPrice
>
0
?
BaoZhangPrice
.
HotelPrice
:
this
.
totalHotelPrice
BaoZhangPrice
.
BusPrice
=
BaoZhangPrice
.
BusPrice
>
0
?
BaoZhangPrice
.
BusPrice
:
this
.
totalTrafficPrice
BaoZhangPrice
.
DiningPrice
=
BaoZhangPrice
.
DiningPrice
>
0
?
BaoZhangPrice
.
DiningPrice
:
this
.
totalDinnerPrice
BaoZhangPrice
.
ScenicPrice
=
BaoZhangPrice
.
ScenicPrice
>
0
?
BaoZhangPrice
.
ScenicPrice
:
this
.
totalScenicPrice
this
.
BaoZhangPrice
=
BaoZhangPrice
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
let
money
=
0
;
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
money
=
money
+
Math
.
round
(
list
[
i
].
OriginalMoney
*
(
list
[
i
].
Rate
-
list
[
i
].
Fee
)
*
100
)
/
100
}
},
null
)
},
goZhiDan2
:
function
()
{
if
(
!
this
.
lingjiandiMsg
.
IsPublic
)
{
this
.
$message
.
error
(
'请选择付款类型'
)
return
}
if
(
!
this
.
lingjiandiMsg
.
ClientID
)
{
this
.
$message
.
error
(
'请选择账户'
)
return
}
if
(
!
this
.
lingjiandiMsg
.
CurrencyId
)
{
this
.
$message
.
error
(
'请选择币种'
)
return
}
if
(
!
this
.
lingjiandiMsg
.
PayDate
)
{
this
.
$message
.
error
(
'请选择预计付款日期'
)
return
}
let
obj
=
this
.
lingjiandiObj
let
inputPrice
=
obj
.
price
?
parseFloat
(
obj
.
price
)
:
0
let
userinfo
=
this
.
getLocalStorage
()
if
(
inputPrice
<=
0
){
this
.
$message
.
error
(
'请输入制单金额'
)
return
}
let
list
=
this
.
listCost
let
allPrice
=
0
;
let
yizhiPrice
=
list
[
0
].
TotalPrice
;
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
allPrice
=
list
[
i
].
UnitPrice
*
list
[
i
].
PeopleNum
}
if
(
allPrice
<
inputPrice
+
yizhiPrice
){
this
.
$message
.
error
(
'金额有误'
)
return
}
// type 1 零件地 自动生成 2 领队人头费 跳转
let
BType
=
7
,
ClientID
=
this
.
lingjiandiMsg
.
ClientID
,
IsRelevanceTravel
=
1
,
TemplateId
=
71
,
RB_Branch_Id
=
userinfo
.
RB_Branch_id
,
OrderSource
=
6
;
if
(
obj
.
Type
==
2
)
{
IsRelevanceTravel
=
0
;
TemplateId
=
obj
.
OutBranchId
===
0
?
72
:
73
;
RB_Branch_Id
=
obj
.
OutBranchId
;
OrderSource
=
8
;
}
// 自动生成
let
msg
=
{
CurrencyId
:
this
.
lingjiandiMsg
.
CurrencyId
,
PayDate
:
this
.
lingjiandiMsg
.
PayDate
,
TemplateId
:
71
,
RB_Branch_Id
:
RB_Branch_Id
,
IsPublic
:
0
,
ClientType
:
BType
,
ClientID
:
ClientID
,
CostTypeID
:
180
,
WBMoney
:
obj
.
price
,
Remark
:
""
,
TCID
:
obj
.
TCIDs
,
IsRelevanceTravel
:
IsRelevanceTravel
,
OrderID
:
0
,
vorcherInos
:
[{
FrIdStr
:
''
}],
Description
:
""
,
OrderSource
:
OrderSource
,
}
this
.
dialogFormVisibleLoding
=
true
this
.
apipost
(
'Financial_post_SetFinanceInfoCommonForOut'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
obj
.
FrId
.
push
(
res
.
data
.
data
)
this
.
listCost
[
this
.
dialogFormVisibleIndex
]
=
obj
this
.
$forceUpdate
()
this
.
$message
.
success
(
"制单成功"
)
console
.
log
(
money
)
if
(
money
==
0
&&
!
money
)
{
this
.
$message
.
error
(
'金额小于0,无法制单'
)
return
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
let
userinfo
=
this
.
getLocalStorage
()
let
TCIDARR
=
[
obj
.
TCIDS
];
let
orderObj
=
{
OrderID
:
0
,
OrderSource
:
8
,
Obj
:
{},
SourceID
:
0
,
CostType
:
30
,
TCIDList
:
TCIDARR
,
Money
:
money
,
laRemark
:
"实际领款金额 * (实际领款汇率 - 出团汇率)"
,
};
let
fullPath
=
`/ChoiceAddFinancialDocuments?Type=
${
0
}
&companyID=
${
userinfo
.
RB_Branch_id
}
&orderObj=
${
JSON
.
stringify
(
orderObj
)}
&blank=y&tab=领队报账`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
dom
.
click
();
}
this
.
dialogFormVisibleLoding
=
false
this
.
dialogFormVisible
=
false
},
null
)
},
goZhiDan
:
function
(
obj
)
{
let
id
=
[
59
,
63
,
78
];
let
TCIDARR
=
[
obj
.
TCIDS
];
let
orderObj
=
{
OrderID
:
0
,
OrderSource
:
8
,
Obj
:
{},
SourceID
:
0
,
CostType
:
57
,
TCIDList
:
TCIDARR
,
Money
:
obj
.
LeaderGetPriceT
,
TCNUMS
:
obj
.
TCNUMS
};
let
fullPath
=
`/ChoiceAddFinancialDocuments?Type=
${
2
}
&templateID=
${
JSON
.
stringify
(
id
)}
&companyID=
${
obj
.
OutBranchId
}
&orderObj=
${
JSON
.
stringify
(
orderObj
)}
&blank=y&tab=领队报账`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
dom
.
click
();
},
goFncUrl
:
function
(
path
,
id
)
{
// this.$router.push({ name: path, query: { id: id, blank: "y" } });
let
fullPath
=
`/
${
path
}
?id=
${
id
}
&blank=y&tab=`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
dom
.
click
();
},
getNavT
()
{
let
_this
=
this
this
.
apipost
(
"dmcstatistics_post_GetNewHotelStaticsByTCIDs_V4"
,
{
TCIDs
:
this
.
$route
.
query
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
TotalNav
=
res
.
data
.
data
.
list
;
let
listCost
=
res
.
data
.
data
.
listCost
;
listCost
.
forEach
(
x
=>
{
x
.
price
=
0
})
TotalNav
.
forEach
(
x
=>
{
TotalNav
.
LeaderGetPriceT
=
0
;
});
this
.
TotalNav
=
TotalNav
;
this
.
listCost
=
listCost
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
//获取数据
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"dmcstatistics_post_GetNewLeaderPayStatics"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
;
this
.
dataList
.
HotelList
.
forEach
(
x
=>
{
this
.
totalHotelPrice
+=
parseFloat
(
x
.
TotalPrice
);
});
this
.
dataList
.
BusList
.
forEach
(
x
=>
{
this
.
totalTrafficPrice
+=
parseFloat
(
x
.
TotalPrice
);
});
this
.
dataList
.
ScenicList
.
forEach
(
x
=>
{
this
.
totalScenicPrice
+=
parseFloat
(
x
.
ScenicStatisticsList
[
0
].
TotalPrice
);
});
this
.
dataList
.
DiningList
.
forEach
(
x
=>
{
this
.
totalDinnerPrice
+=
parseFloat
(
x
.
DiningSummaryList
[
0
].
TotalPrice
);
});
this
.
allTotal
=
(
this
.
totalHotelPrice
+
this
.
totalTrafficPrice
+
this
.
totalScenicPrice
+
this
.
totalDinnerPrice
).
toFixed
(
2
);
this
.
isShowRemark
=
true
;
this
.
getBaoZhangPrice
()
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
//获取顶部数据
getNav
()
{
this
.
apipost
(
"dmcstatistics_post_GetNewStaticsByTCIDs"
,
{
TCIDs
:
this
.
$route
.
query
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
nav
=
res
.
data
.
data
;
let
time
=
this
.
nav
[
0
].
StartDateStr
this
.
TimeXiao
=
time
<
'2019-05-01'
?
true
:
false
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
// 获取总金额
getTotalPrice
:
function
()
{
this
.
apipost
(
"dmcstatistics_post_GetNewTotalPrice"
,
{
TCIDs
:
this
.
$route
.
query
.
id
},
res
=>
{
},
// 保存报账金额
saveBZPrice
:
function
()
{
let
HotelPrice
=
this
.
BaoZhangPrice
.
HotelPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
HotelPrice
)
:
0
let
BusPrice
=
this
.
BaoZhangPrice
.
BusPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
BusPrice
)
:
0
let
DiningPrice
=
this
.
BaoZhangPrice
.
DiningPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
DiningPrice
)
:
0
let
ScenicPrice
=
this
.
BaoZhangPrice
.
ScenicPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
ScenicPrice
)
:
0
let
msg
=
[{
TCIDs
:
this
.
msg
.
TCIDs
,
UserType
:
1
,
TotalPrice
:
HotelPrice
},
{
TCIDs
:
this
.
msg
.
TCIDs
,
UserType
:
2
,
TotalPrice
:
DiningPrice
},
{
TCIDs
:
this
.
msg
.
TCIDs
,
UserType
:
3
,
TotalPrice
:
ScenicPrice
},
{
TCIDs
:
this
.
msg
.
TCIDs
,
UserType
:
4
,
TotalPrice
:
BusPrice
},
]
this
.
apipost
(
'dmcstatistics_get_SetLeaderReimburseLessList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
TotalPriceData
=
res
.
data
.
data
;
this
.
getAllBZPrice
()
this
.
$message
.
success
(
'操作成功'
)
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{}
);
},
//获取总额
getTotal
(
obj
)
{
let
totalPrice
=
0
;
obj
.
forEach
(
x
=>
{
totalPrice
+=
x
.
UserNum
*
x
.
UnitPrice
;
});
return
totalPrice
;
},
//打印
printTable
()
{
window
.
print
();
},
//获取总额
getTotalMoney
()
{
this
.
apipost
(
"dmcstatistics_post_GetTotalPrice"
,
{
TCIDs
:
this
.
$route
.
query
.
id
},
res
=>
{
},
null
)
},
getAllBZPrice
:
function
()
{
let
allPrice
=
this
.
TotalPriceData
[
0
].
ExpendTotalPrice
let
endPrice
=
allPrice
-
this
.
totalScenicPrice
-
this
.
totalTrafficPrice
-
this
.
totalDinnerPrice
-
this
.
totalHotelPrice
let
HotelPrice
=
this
.
BaoZhangPrice
.
HotelPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
HotelPrice
)
:
0
let
BusPrice
=
this
.
BaoZhangPrice
.
BusPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
BusPrice
)
:
0
let
DiningPrice
=
this
.
BaoZhangPrice
.
DiningPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
DiningPrice
)
:
0
let
ScenicPrice
=
this
.
BaoZhangPrice
.
ScenicPrice
?
parseFloat
(
this
.
BaoZhangPrice
.
ScenicPrice
)
:
0
let
newPrice
=
endPrice
+
HotelPrice
+
BusPrice
+
DiningPrice
+
ScenicPrice
this
.
AllBZPrice
=
newPrice
},
getBaoZhangPrice
:
function
()
{
this
.
apipost
(
'dmcstatistics_get_GetLeaderReimburseLessList'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
totalList
=
res
.
data
.
data
;
let
BaoZhangPrice
=
res
.
data
.
data
BaoZhangPrice
.
HotelPrice
=
BaoZhangPrice
.
HotelPrice
>
0
?
BaoZhangPrice
.
HotelPrice
:
this
.
totalHotelPrice
BaoZhangPrice
.
BusPrice
=
BaoZhangPrice
.
BusPrice
>
0
?
BaoZhangPrice
.
BusPrice
:
this
.
totalTrafficPrice
BaoZhangPrice
.
DiningPrice
=
BaoZhangPrice
.
DiningPrice
>
0
?
BaoZhangPrice
.
DiningPrice
:
this
.
totalDinnerPrice
BaoZhangPrice
.
ScenicPrice
=
BaoZhangPrice
.
ScenicPrice
>
0
?
BaoZhangPrice
.
ScenicPrice
:
this
.
totalScenicPrice
this
.
BaoZhangPrice
=
BaoZhangPrice
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{}
);
},
//审核
AuditOrder
(
type
)
{
if
(
type
==
1
&&
(
this
.
dataList
.
LeaderApply
.
AccountForReason
==
null
||
this
.
dataList
.
LeaderApply
.
AccountForReason
==
""
)
)
{
this
.
Error
(
"请填写备注信息"
);
return
;
}
this
.
dataList
.
LeaderApply
.
Status
=
type
;
let
msg
=
this
.
dataList
.
LeaderApply
;
this
.
apipost
(
"dmcstatistics_post_AuditLeaderapply_V2"
,
msg
,
res
=>
{
},
null
)
},
goZhiDan2
:
function
()
{
if
(
!
this
.
lingjiandiMsg
.
IsPublic
)
{
this
.
$message
.
error
(
'请选择付款类型'
)
return
}
if
(
!
this
.
lingjiandiMsg
.
ClientID
)
{
this
.
$message
.
error
(
'请选择账户'
)
return
}
if
(
!
this
.
lingjiandiMsg
.
CurrencyId
)
{
this
.
$message
.
error
(
'请选择币种'
)
return
}
if
(
!
this
.
lingjiandiMsg
.
PayDate
)
{
this
.
$message
.
error
(
'请选择预计付款日期'
)
return
}
let
obj
=
this
.
lingjiandiObj
let
inputPrice
=
obj
.
price
?
parseFloat
(
obj
.
price
)
:
0
let
userinfo
=
this
.
getLocalStorage
()
if
(
inputPrice
<=
0
)
{
this
.
$message
.
error
(
'请输入制单金额'
)
return
}
let
list
=
this
.
listCost
let
allPrice
=
0
;
let
yizhiPrice
=
list
[
0
].
TotalPrice
;
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
allPrice
=
list
[
i
].
UnitPrice
*
list
[
i
].
PeopleNum
}
if
(
allPrice
<
inputPrice
+
yizhiPrice
)
{
this
.
$message
.
error
(
'金额有误'
)
return
}
// type 1 零件地 自动生成 2 领队人头费 跳转
let
BType
=
7
,
ClientID
=
this
.
lingjiandiMsg
.
ClientID
,
IsRelevanceTravel
=
1
,
TemplateId
=
71
,
RB_Branch_Id
=
userinfo
.
RB_Branch_id
,
OrderSource
=
6
;
if
(
obj
.
Type
==
2
)
{
IsRelevanceTravel
=
0
;
TemplateId
=
obj
.
OutBranchId
===
0
?
72
:
73
;
RB_Branch_Id
=
obj
.
OutBranchId
;
OrderSource
=
8
;
}
// 自动生成
let
msg
=
{
CurrencyId
:
this
.
lingjiandiMsg
.
CurrencyId
,
PayDate
:
this
.
lingjiandiMsg
.
PayDate
,
TemplateId
:
71
,
RB_Branch_Id
:
RB_Branch_Id
,
IsPublic
:
0
,
ClientType
:
BType
,
ClientID
:
ClientID
,
CostTypeID
:
180
,
WBMoney
:
obj
.
price
,
Remark
:
""
,
TCID
:
obj
.
TCIDs
,
IsRelevanceTravel
:
IsRelevanceTravel
,
OrderID
:
0
,
vorcherInos
:
[{
FrIdStr
:
''
}],
Description
:
""
,
OrderSource
:
OrderSource
,
}
this
.
dialogFormVisibleLoding
=
true
this
.
apipost
(
'Financial_post_SetFinanceInfoCommonForOut'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
obj
.
FrId
.
push
(
res
.
data
.
data
)
this
.
listCost
[
this
.
dialogFormVisibleIndex
]
=
obj
this
.
$forceUpdate
()
this
.
$message
.
success
(
"制单成功"
)
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{}
);
},
Lookdetails
()
{
console
.
log
(
this
.
$route
.
query
.
id
);
console
.
log
(
this
.
$route
.
query
.
NewCombinationNum
);
let
fullPath
=
`/leaderPay?id=
${
this
.
$route
.
query
.
id
}
&NewCombinationNum=
${
this
.
dialogFormVisibleLoding
=
false
this
.
dialogFormVisible
=
false
},
null
)
},
goZhiDan
:
function
(
obj
)
{
let
id
=
[
59
,
63
,
78
];
let
TCIDARR
=
[
obj
.
TCIDS
];
let
orderObj
=
{
OrderID
:
0
,
OrderSource
:
8
,
Obj
:
{},
SourceID
:
0
,
CostType
:
57
,
TCIDList
:
TCIDARR
,
Money
:
obj
.
LeaderGetPriceT
,
TCNUMS
:
obj
.
TCNUMS
};
let
fullPath
=
`/ChoiceAddFinancialDocuments?Type=
${
2
}
&templateID=
${
JSON
.
stringify
(
id
)}
&companyID=
${
obj
.
OutBranchId
}
&orderObj=
${
JSON
.
stringify
(
orderObj
)}
&blank=y&tab=领队报账`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
dom
.
click
();
},
goFncUrl
:
function
(
path
,
id
)
{
// this.$router.push({ name: path, query: { id: id, blank: "y" } });
let
fullPath
=
`/
${
path
}
?id=
${
id
}
&blank=y&tab=`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
dom
.
click
();
},
getNavT
()
{
let
_this
=
this
this
.
apipost
(
"dmcstatistics_post_GetNewHotelStaticsByTCIDs_V4"
,
{
TCIDs
:
this
.
$route
.
query
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
TotalNav
=
res
.
data
.
data
.
list
;
let
listCost
=
res
.
data
.
data
.
listCost
;
listCost
.
forEach
(
x
=>
{
x
.
price
=
0
})
TotalNav
.
forEach
(
x
=>
{
TotalNav
.
LeaderGetPriceT
=
0
;
});
this
.
TotalNav
=
TotalNav
;
this
.
listCost
=
listCost
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
//获取数据
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"dmcstatistics_post_GetNewLeaderPayStatics"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
;
this
.
dataList
.
HotelList
.
forEach
(
x
=>
{
this
.
totalHotelPrice
+=
parseFloat
(
x
.
TotalPrice
);
});
this
.
dataList
.
BusList
.
forEach
(
x
=>
{
this
.
totalTrafficPrice
+=
parseFloat
(
x
.
TotalPrice
);
});
this
.
dataList
.
ScenicList
.
forEach
(
x
=>
{
this
.
totalScenicPrice
+=
parseFloat
(
x
.
ScenicStatisticsList
[
0
].
TotalPrice
);
});
this
.
dataList
.
DiningList
.
forEach
(
x
=>
{
this
.
totalDinnerPrice
+=
parseFloat
(
x
.
DiningSummaryList
[
0
].
TotalPrice
);
});
this
.
allTotal
=
(
this
.
totalHotelPrice
+
this
.
totalTrafficPrice
+
this
.
totalScenicPrice
+
this
.
totalDinnerPrice
).
toFixed
(
2
);
this
.
isShowRemark
=
true
;
this
.
getBaoZhangPrice
()
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
//获取顶部数据
getNav
()
{
this
.
apipost
(
"dmcstatistics_post_GetNewStaticsByTCIDs"
,
{
TCIDs
:
this
.
$route
.
query
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
nav
=
res
.
data
.
data
;
let
time
=
this
.
nav
[
0
].
StartDateStr
this
.
TimeXiao
=
time
<
'2019-05-01'
?
true
:
false
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
// 获取总金额
getTotalPrice
:
function
()
{
this
.
apipost
(
"dmcstatistics_post_GetNewTotalPrice"
,
{
TCIDs
:
this
.
$route
.
query
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
TotalPriceData
=
res
.
data
.
data
;
this
.
getAllBZPrice
()
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
//获取总额
getTotal
(
obj
)
{
let
totalPrice
=
0
;
obj
.
forEach
(
x
=>
{
totalPrice
+=
x
.
UserNum
*
x
.
UnitPrice
;
});
return
totalPrice
;
},
//打印
printTable
()
{
window
.
print
();
},
//获取总额
getTotalMoney
()
{
this
.
apipost
(
"dmcstatistics_post_GetTotalPrice"
,
{
TCIDs
:
this
.
$route
.
query
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
totalList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
//审核
AuditOrder
(
type
)
{
if
(
type
==
1
&&
(
this
.
dataList
.
LeaderApply
.
AccountForReason
==
null
||
this
.
dataList
.
LeaderApply
.
AccountForReason
==
""
)
)
{
this
.
Error
(
"请填写备注信息"
);
return
;
}
this
.
dataList
.
LeaderApply
.
Status
=
type
;
let
msg
=
this
.
dataList
.
LeaderApply
;
this
.
apipost
(
"dmcstatistics_post_AuditLeaderapply_V2"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
Lookdetails
()
{
console
.
log
(
this
.
$route
.
query
.
id
);
console
.
log
(
this
.
$route
.
query
.
NewCombinationNum
);
let
fullPath
=
`/leaderPay?id=
${
this
.
$route
.
query
.
id
}
&NewCombinationNum=
${
this
.
$route
.
query
.
NewCombinationNum
}
&isUpdate=
${
true
}
&blank=y&tab=领队报账`
;
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
//console.log(that.$refs.blankLink.click())
dom
.
click
();
// this.$router.push({
// name: 'leaderPay',
// query: {
// id: this.$route.query.id,
// NewCombinationNum:this.$route.query.NewCombinationNum,
// isUpdate: true,
// blank: 'y',
// tab: '领队报账'
// }
// })
},
unique
(
arr
,
name
)
{
// 根据唯一标识orderId来对数组进行过滤
const
res
=
new
Map
();
//定义常量 res,值为一个Map对象实例
//返回arr数组过滤后的结果,结果为一个数组 过滤条件是,如果res中没有某个键,就设置这个键的值为1
return
arr
.
filter
((
arr
)
=>
!
res
.
has
(
arr
[
name
])
&&
res
.
set
(
arr
[
name
],
1
))
},
getnewList
()
{
this
.
loading
=
true
;
// dmcstatistics_post_GetNewPlanTotalPrice_V2
this
.
apipost
(
'dmcstatistics_post_GetNewLeaderPayStatics_V1'
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
console
.
log
(
"1131232"
,
res
);
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
list
=
res
.
data
.
data
;
// 预计金额
this
.
planPriceList
=
this
.
list
.
planPriceList
;
// 车
let
busList
=
res
.
data
.
data
.
BusList
var
busmap
=
{},
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
`http://
${
window
.
location
.
host
}
/#
${
fullPath
}
`
;
//console.log(that.$refs.blankLink.click())
dom
.
click
();
// this.$router.push({
// name: 'leaderPay',
// query: {
// id: this.$route.query.id,
// NewCombinationNum:this.$route.query.NewCombinationNum,
// isUpdate: true,
// blank: 'y',
// tab: '领队报账'
// }
// })
},
unique
(
arr
,
name
)
{
// 根据唯一标识orderId来对数组进行过滤
const
res
=
new
Map
();
//定义常量 res,值为一个Map对象实例
//返回arr数组过滤后的结果,结果为一个数组 过滤条件是,如果res中没有某个键,就设置这个键的值为1
return
arr
.
filter
((
arr
)
=>
!
res
.
has
(
arr
[
name
])
&&
res
.
set
(
arr
[
name
],
1
))
},
getnewList
()
{
this
.
loading
=
true
;
// dmcstatistics_post_GetNewPlanTotalPrice_V2
this
.
apipost
(
'dmcstatistics_post_GetNewLeaderPayStatics_V1'
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
console
.
log
(
"1131232"
,
res
);
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
list
=
res
.
data
.
data
;
// 预计金额
this
.
planPriceList
=
this
.
list
.
planPriceList
;
// 车
let
busList
=
res
.
data
.
data
.
BusList
var
busmap
=
{},
busdest
=
[];
for
(
var
i
=
0
;
i
<
busList
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
busList
.
length
;
i
++
)
{
var
ai
=
busList
[
i
];
if
(
!
busmap
[
ai
.
PlanDateStr
]){
busdest
.
push
({
PlanDateStr
:
ai
.
PlanDateStr
,
data
:
[
ai
]
});
busmap
[
ai
.
PlanDateStr
]
=
ai
;
}
else
{
for
(
var
j
=
0
;
j
<
busdest
.
length
;
j
++
){
var
dj
=
busdest
[
j
];
if
(
dj
.
PlanDateStr
==
ai
.
PlanDateStr
){
dj
.
data
.
push
(
ai
);
break
;
}
if
(
!
busmap
[
ai
.
PlanDateStr
])
{
busdest
.
push
({
PlanDateStr
:
ai
.
PlanDateStr
,
data
:
[
ai
]
});
busmap
[
ai
.
PlanDateStr
]
=
ai
;
}
else
{
for
(
var
j
=
0
;
j
<
busdest
.
length
;
j
++
)
{
var
dj
=
busdest
[
j
];
if
(
dj
.
PlanDateStr
==
ai
.
PlanDateStr
)
{
dj
.
data
.
push
(
ai
);
break
;
}
}
}
}
this
.
busDataList
=
busdest
;
// 餐
let
DiningList
=
[]
for
(
let
i
=
0
;
i
<
res
.
data
.
data
.
DiningList
.
length
;
i
++
)
{
for
(
let
o
=
0
;
o
<
res
.
data
.
data
.
DiningList
[
i
].
DiningSummaryList
.
length
;
o
++
)
{
DiningList
.
push
(
res
.
data
.
data
.
DiningList
[
i
].
DiningSummaryList
[
o
])
}
}
var
Diningmap
=
{},
this
.
busDataList
=
busdest
;
// 餐
let
DiningList
=
[]
for
(
let
i
=
0
;
i
<
res
.
data
.
data
.
DiningList
.
length
;
i
++
)
{
for
(
let
o
=
0
;
o
<
res
.
data
.
data
.
DiningList
[
i
].
DiningSummaryList
.
length
;
o
++
)
{
DiningList
.
push
(
res
.
data
.
data
.
DiningList
[
i
].
DiningSummaryList
[
o
])
}
}
var
Diningmap
=
{},
Diningdest
=
[];
for
(
var
i
=
0
;
i
<
DiningList
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
DiningList
.
length
;
i
++
)
{
var
ai
=
DiningList
[
i
];
if
(
!
Diningmap
[
ai
.
UseTimeStr
]){
if
(
!
Diningmap
[
ai
.
UseTimeStr
])
{
Diningdest
.
push
({
UseTimeStr
:
ai
.
UseTimeStr
,
DiningID
:
ai
.
DiningID
,
data
:
[
ai
]
});
Diningmap
[
ai
.
UseTimeStr
]
=
ai
;
}
else
{
let
list
=
[]
for
(
var
j
=
0
;
j
<
Diningdest
.
length
;
j
++
)
{
var
dj
=
Diningdest
[
j
];
if
(
dj
.
UseTimeStr
==
ai
.
UseTimeStr
&&
dj
.
DiningID
==
ai
.
DiningID
)
{
dj
.
data
.
push
(
ai
);
break
;
}
else
{
list
.
push
(
ai
)
}
}
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
Diningdest
.
push
({
UseTimeStr
:
ai
.
UseTimeStr
,
DiningID
:
ai
.
DiningID
,
data
:
[
ai
]
UseTimeStr
:
ai
.
UseTimeStr
,
DiningID
:
ai
.
DiningID
,
data
:
[
ai
]
});
Diningmap
[
ai
.
UseTimeStr
]
=
ai
;
}
else
{
let
list
=
[]
for
(
var
j
=
0
;
j
<
Diningdest
.
length
;
j
++
){
var
dj
=
Diningdest
[
j
];
if
(
dj
.
UseTimeStr
==
ai
.
UseTimeStr
&&
dj
.
DiningID
==
ai
.
DiningID
){
dj
.
data
.
push
(
ai
);
break
;
}
else
{
list
.
push
(
ai
)
}
}
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
Diningdest
.
push
({
UseTimeStr
:
ai
.
UseTimeStr
,
DiningID
:
ai
.
DiningID
,
data
:
[
ai
]
});
}
}
}
}
for
(
var
i
=
0
;
i
<
Diningdest
.
length
;
i
++
){
let
row
=
0
;
for
(
var
l
=
0
;
l
<
Diningdest
[
i
].
data
.
length
;
l
++
){
row
=
row
+
Diningdest
[
i
].
data
[
l
].
DiningPriceList
.
length
}
Diningdest
[
i
].
row
=
row
}
this
.
DiningDataList
=
this
.
unique
(
Diningdest
,
'DiningID'
);
// this.DiningDataList = Diningdest
//票
let
ScenicList
=
[]
for
(
let
i
=
0
;
i
<
res
.
data
.
data
.
ScenicList
.
length
;
i
++
)
{
for
(
let
o
=
0
;
o
<
res
.
data
.
data
.
ScenicList
[
i
].
ScenicStatisticsList
.
length
;
o
++
)
{
ScenicList
.
push
(
res
.
data
.
data
.
ScenicList
[
i
].
ScenicStatisticsList
[
o
])
}
}
console
.
log
(
ScenicList
)
var
Scenicmap
=
{},
Scenicdest
=
[];
for
(
var
i
=
0
;
i
<
ScenicList
.
length
;
i
++
){
for
(
var
i
=
0
;
i
<
Diningdest
.
length
;
i
++
)
{
let
row
=
0
;
for
(
var
l
=
0
;
l
<
Diningdest
[
i
].
data
.
length
;
l
++
)
{
row
=
row
+
Diningdest
[
i
].
data
[
l
].
DiningPriceList
.
length
}
Diningdest
[
i
].
row
=
row
}
this
.
DiningDataList
=
this
.
unique
(
Diningdest
,
'DiningID'
);
// this.DiningDataList = Diningdest
//票
let
ScenicList
=
[]
for
(
let
i
=
0
;
i
<
res
.
data
.
data
.
ScenicList
.
length
;
i
++
)
{
for
(
let
o
=
0
;
o
<
res
.
data
.
data
.
ScenicList
[
i
].
ScenicStatisticsList
.
length
;
o
++
)
{
ScenicList
.
push
(
res
.
data
.
data
.
ScenicList
[
i
].
ScenicStatisticsList
[
o
])
}
}
console
.
log
(
ScenicList
)
var
Scenicmap
=
{},
Scenicdest
=
[];
for
(
var
i
=
0
;
i
<
ScenicList
.
length
;
i
++
)
{
var
ai
=
ScenicList
[
i
];
if
(
!
Scenicmap
[
ai
.
UseTimeStr
])
{
Scenicdest
.
push
({
UseTimeStr
:
ai
.
UseTimeStr
,
TicketID
:
ai
.
TicketID
,
data
:
[
ai
]
});
Scenicmap
[
ai
.
UseTimeStr
]
=
ai
;
}
else
{
if
(
!
Scenicmap
[
ai
.
UseTimeStr
])
{
Scenicdest
.
push
({
UseTimeStr
:
ai
.
UseTimeStr
,
TicketID
:
ai
.
TicketID
,
data
:
[
ai
]
});
Scenicmap
[
ai
.
UseTimeStr
]
=
ai
;
}
else
{
let
list
=
[]
for
(
var
j
=
0
;
j
<
Scenicdest
.
length
;
j
++
)
{
var
dj
=
Scenicdest
[
j
];
if
(
dj
.
UseTimeStr
==
ai
.
UseTimeStr
&&
dj
.
TicketID
==
ai
.
TicketID
)
{
dj
.
data
.
push
(
ai
);
break
;
}
else
{
list
.
push
(
ai
)
}
for
(
var
j
=
0
;
j
<
Scenicdest
.
length
;
j
++
)
{
var
dj
=
Scenicdest
[
j
];
if
(
dj
.
UseTimeStr
==
ai
.
UseTimeStr
&&
dj
.
TicketID
==
ai
.
TicketID
)
{
dj
.
data
.
push
(
ai
);
break
;
}
else
{
list
.
push
(
ai
)
}
}
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
Scenicdest
.
push
({
UseTimeStr
:
ai
.
UseTimeStr
,
TicketID
:
ai
.
TicketID
,
data
:
[
ai
]
UseTimeStr
:
ai
.
UseTimeStr
,
TicketID
:
ai
.
TicketID
,
data
:
[
ai
]
});
}
}
}
for
(
var
i
=
0
;
i
<
Scenicdest
.
length
;
i
++
){
let
row
=
0
;
for
(
var
l
=
0
;
l
<
Scenicdest
[
i
].
data
.
length
;
l
++
){
row
=
row
+
Scenicdest
[
i
].
data
[
l
].
TicketPriceList
.
length
}
Scenicdest
[
i
].
row
=
row
}
this
.
ScenicDataList
=
this
.
unique
(
Scenicdest
,
'TicketID'
);
// this.ScenicDataList = Scenicdest
//酒
let
HotelList
=
[]
for
(
let
i
=
0
;
i
<
res
.
data
.
data
.
HotelOrderListReport
.
length
;
i
++
)
{
for
(
let
o
=
0
;
o
<
res
.
data
.
data
.
HotelOrderListReport
[
i
].
HotelOrderList
.
length
;
o
++
)
{
HotelList
.
push
(
res
.
data
.
data
.
HotelOrderListReport
[
i
].
HotelOrderList
[
o
])
}
}
var
Hotelmap
=
{},
Hoteldest
=
[];
for
(
var
i
=
0
;
i
<
HotelList
.
length
;
i
++
){
for
(
var
i
=
0
;
i
<
Scenicdest
.
length
;
i
++
)
{
let
row
=
0
;
for
(
var
l
=
0
;
l
<
Scenicdest
[
i
].
data
.
length
;
l
++
)
{
row
=
row
+
Scenicdest
[
i
].
data
[
l
].
TicketPriceList
.
length
}
Scenicdest
[
i
].
row
=
row
}
this
.
ScenicDataList
=
this
.
unique
(
Scenicdest
,
'TicketID'
);
// this.ScenicDataList = Scenicdest
//酒
let
HotelList
=
[]
for
(
let
i
=
0
;
i
<
res
.
data
.
data
.
HotelOrderListReport
.
length
;
i
++
)
{
for
(
let
o
=
0
;
o
<
res
.
data
.
data
.
HotelOrderListReport
[
i
].
HotelOrderList
.
length
;
o
++
)
{
HotelList
.
push
(
res
.
data
.
data
.
HotelOrderListReport
[
i
].
HotelOrderList
[
o
])
}
}
var
Hotelmap
=
{},
Hoteldest
=
[];
for
(
var
i
=
0
;
i
<
HotelList
.
length
;
i
++
)
{
var
ai
=
HotelList
[
i
];
if
(
!
Hotelmap
[
ai
.
CheckInDateStr
]){
Hoteldest
.
push
({
CheckInDateStr
:
ai
.
CheckInDateStr
,
NewHotelId
:
ai
.
NewHotelId
,
data
:
[
ai
]
});
Hotelmap
[
ai
.
CheckInDateStr
]
=
ai
;
}
else
{
for
(
var
j
=
0
;
j
<
Hoteldest
.
length
;
j
++
){
var
dj
=
Hoteldest
[
j
];
if
(
dj
.
CheckInDateStr
==
ai
.
CheckInDateStr
&&
dj
.
NewHotelId
==
ai
.
NewHotelId
){
dj
.
data
.
push
(
ai
);
break
;
}
if
(
!
Hotelmap
[
ai
.
CheckInDateStr
])
{
Hoteldest
.
push
({
CheckInDateStr
:
ai
.
CheckInDateStr
,
NewHotelId
:
ai
.
NewHotelId
,
data
:
[
ai
]
});
Hotelmap
[
ai
.
CheckInDateStr
]
=
ai
;
}
else
{
for
(
var
j
=
0
;
j
<
Hoteldest
.
length
;
j
++
)
{
var
dj
=
Hoteldest
[
j
];
if
(
dj
.
CheckInDateStr
==
ai
.
CheckInDateStr
&&
dj
.
NewHotelId
==
ai
.
NewHotelId
)
{
dj
.
data
.
push
(
ai
);
break
;
}
}
}
}
for
(
var
i
=
0
;
i
<
Hoteldest
.
length
;
i
++
)
{
let
row
=
0
;
for
(
var
l
=
0
;
l
<
Hoteldest
[
i
].
data
.
length
;
l
++
)
{
row
=
row
+
Hoteldest
[
i
].
data
[
l
].
OrderDetailsList
.
length
}
Hoteldest
[
i
].
row
=
row
}
this
.
HotelDataList
=
Hoteldest
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
for
(
var
i
=
0
;
i
<
Hoteldest
.
length
;
i
++
){
let
row
=
0
;
for
(
var
l
=
0
;
l
<
Hoteldest
[
i
].
data
.
length
;
l
++
){
row
=
row
+
Hoteldest
[
i
].
data
[
l
].
OrderDetailsList
.
length
}
Hoteldest
[
i
].
row
=
row
}
this
.
HotelDataList
=
Hoteldest
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
},
err
=>
{})
},
peopleStrToWord
(
str
)
{
if
(
str
==
'1'
)
return
'成人'
if
(
str
==
'2'
)
return
'儿童'
if
(
str
==
'3'
)
return
'小人'
},
scenicTotalPrice
(
sObj
,
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
totalPrice
+=
x
.
PeoplePrice
*
(
x
.
UsePeopleNum
-
x
.
Discount
)
*
(
1
-
x
.
DiscountPrice
/
100
)
})
if
(
sObj
.
PayStyle
!==
1
)
{
totalPrice
=
0
}
},
err
=>
{})
},
peopleStrToWord
(
str
)
{
if
(
str
==
'1'
)
return
'成人'
if
(
str
==
'2'
)
return
'儿童'
if
(
str
==
'3'
)
return
'小人'
},
scenicTotalPrice
(
sObj
,
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
totalPrice
+=
x
.
PeoplePrice
*
(
x
.
UsePeopleNum
-
x
.
Discount
)
*
(
1
-
x
.
DiscountPrice
/
100
)
})
if
(
sObj
.
PayStyle
!==
1
)
{
totalPrice
=
0
}
return
this
.
moneyFormat
(
totalPrice
)
},
busTotalPrice
(
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
item
=>
{
totalPrice
+=
(
item
.
PayType
===
1
?
Number
(
item
.
CostPrice
)
:
0
)
+
(
item
.
HighSpeedPayType
===
1
?
Number
(
item
.
HighSpeedPrice
)
:
0
)
+
Number
(
item
.
StopPrice
)
})
return
this
.
moneyFormat
(
totalPrice
)
},
diningTotalPrice
(
sObj
,
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
totalPrice
+=
x
.
PeoplePrice
*
(
x
.
PeopleNum
-
x
.
Discount
)
*
(
1
-
x
.
DiscountPrice
/
100
)
})
if
(
sObj
.
PayStyle
!==
1
)
{
totalPrice
=
0
}
return
this
.
moneyFormat
(
totalPrice
)
},
hotelTotalPrice
(
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
if
(
x
.
PayStyle
===
1
)
{
totalPrice
+=
x
.
UnitPrice
*
(
x
.
BookNum
-
x
.
HotelDiscount
)
*
(
1
-
x
.
RebateRatio
/
100
)
}
else
{
totalPrice
+=
0
return
this
.
moneyFormat
(
totalPrice
)
},
busTotalPrice
(
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
item
=>
{
totalPrice
+=
(
item
.
PayType
===
1
?
Number
(
item
.
CostPrice
)
:
0
)
+
(
item
.
HighSpeedPayType
===
1
?
Number
(
item
.
HighSpeedPrice
)
:
0
)
+
Number
(
item
.
StopPrice
)
})
return
this
.
moneyFormat
(
totalPrice
)
},
diningTotalPrice
(
sObj
,
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
totalPrice
+=
x
.
PeoplePrice
*
(
x
.
PeopleNum
-
x
.
Discount
)
*
(
1
-
x
.
DiscountPrice
/
100
)
})
if
(
sObj
.
PayStyle
!==
1
)
{
totalPrice
=
0
}
})
return
this
.
moneyFormat
(
totalPrice
)
return
this
.
moneyFormat
(
totalPrice
)
},
hotelTotalPrice
(
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
if
(
x
.
PayStyle
===
1
)
{
totalPrice
+=
x
.
UnitPrice
*
(
x
.
BookNum
-
x
.
HotelDiscount
)
*
(
1
-
x
.
RebateRatio
/
100
)
}
else
{
totalPrice
+=
0
}
})
return
this
.
moneyFormat
(
totalPrice
)
},
getzongJE
()
{
this
.
apipost
(
'dmcstatistics_post_GetNewPlanTotalPrice'
,
{
TCIDs
:
this
.
msg
.
TCIDs
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
reimburseTotalPrice
;
this
.
OtherTotalPrice
=
data
.
OtherTotalPrice
this
.
SelfPayingExpendTotalPrice
=
data
.
SelfPayingExpendTotalPrice
this
.
IncomeTotalPrice
=
data
.
IncomeTotalPrice
this
.
ExpendTotalPrice
=
data
.
ExpendTotalPrice
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
}
},
getzongJE
(){
this
.
apipost
(
'dmcstatistics_post_GetNewPlanTotalPrice'
,
{
TCIDs
:
this
.
msg
.
TCIDs
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
reimburseTotalPrice
;
this
.
OtherTotalPrice
=
data
.
OtherTotalPrice
this
.
SelfPayingExpendTotalPrice
=
data
.
SelfPayingExpendTotalPrice
this
.
IncomeTotalPrice
=
data
.
IncomeTotalPrice
this
.
ExpendTotalPrice
=
data
.
ExpendTotalPrice
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{}
)
created
()
{},
mounted
()
{
this
.
isUpdate
=
this
.
$route
.
query
.
isUpdate
;
this
.
msg
.
TCIDs
=
this
.
$route
.
query
.
id
;
this
.
getzongJE
();
this
.
getNav
()
;
this
.
getList
();
this
.
getTotalMoney
();
this
.
getTotalPrice
();
this
.
getNavT
();
this
.
getnewList
();
this
.
financeinfo_post_GetClientAccountList
()
this
.
getCurrencyList
();
this
.
getzhuijiaList
(
)
}
},
created
()
{},
mounted
()
{
this
.
isUpdate
=
this
.
$route
.
query
.
isUpdate
;
this
.
msg
.
TCIDs
=
this
.
$route
.
query
.
id
;
this
.
getzongJE
();
this
.
getNav
();
this
.
getList
();
this
.
getTotalMoney
();
this
.
getTotalPrice
();
this
.
getNavT
();
this
.
getnewList
();
this
.
financeinfo_post_GetClientAccountList
()
this
.
getCurrencyList
();
this
.
getzhuijiaList
()
}
};
};
</
script
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment