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
4421941b
Commit
4421941b
authored
Jan 14, 2020
by
黄媛媛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
83cba45d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1426 additions
and
18 deletions
+1426
-18
Costdocuments.vue
src/components/FinancialModule/Costdocuments.vue
+1373
-0
RevenueFileMan.vue
src/components/FinancialModule/ReportForm/RevenueFileMan.vue
+41
-15
index.vue
src/components/index.vue
+2
-2
config.js
src/router/config.js
+10
-1
No files found.
src/components/FinancialModule/Costdocuments.vue
0 → 100644
View file @
4421941b
<
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
}
.zhuiClass
{
}
.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
;
}
</
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-input
placeholder=
""
class=
""
v-model=
"msg.FrID"
@
keyup
.
native=
"checkInteger(msg,'FrID')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"团队编号:"
>
<el-input
v-model=
"msg.TCNUM"
class=
""
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"所属公司:"
>
<el-select
filterable
v-model=
'msg.RB_Branch_Id'
@
change=
"getDepartmentMsg.RB_Branch_Id=msg.RB_Branch_Id,msg.RB_Depart_Id='',msg.UpdateBy='',getDepartment()"
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>
<el-col
:span=
"4"
>
<el-form-item
label=
"费用部门:"
>
<el-select
filterable
v-model=
'msg.RB_Depart_Id'
@
change=
"employeeMsg.DepartmentId=msg.RB_Depart_Id,getEmployee(),msg.UpdateBy=''"
class=
""
>
<el-option
:value=
"0"
label=
"不限"
></el-option>
<el-option
v-for=
'item in DepartmentList'
:label=
'item.DepartmentName'
:value=
'item.DepartmentID'
:key=
'item.DepartmentID'
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"制单人员:"
>
<el-select
filterable
v-model=
'msg.UpdateBy'
class=
""
>
<el-option
:value=
"0"
label=
"不限"
></el-option>
<el-option
v-for=
'item in EmployeeList'
:label=
'item.EmName'
:value=
'item.EmployeeId'
:key=
'item.EmployeeId'
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"单据类型:"
>
<el-select
filterable
v-model=
'msg.Type'
class=
""
>
<el-option
key=
"-1"
value=
"-1"
label=
"不限"
></el-option>
<el-option
key=
"1"
value=
"1"
label=
"收入"
></el-option>
<el-option
key=
"2"
value=
"2"
label=
"支出"
></el-option>
</el-select>
</el-form-item>
</el-col>
<template
v-if=
"heightQueryBox"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"费用类型:"
>
<el-select
filterable
v-model=
'msg.CostTypeID'
>
<el-option
:value=
"0"
label=
"不限"
></el-option>
<el-option
v-for=
"item in GetCostTypeList"
:key=
"item.ID"
:value=
"item.ID"
:label=
"item.Name"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"账户类型:"
>
<el-select
filterable
v-model=
'msg.AccountType'
>
<el-option
value=
""
label=
"不限"
></el-option>
<el-option
v-for=
'item in AccList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"交易方式:"
>
<el-select
filterable
v-model=
'msg.TradeWay'
@
change=
"getAccountList(msg.AccountType,msg.TradeWay),msg.ClientID=''"
>
<el-option
value=
"0"
label=
"不限"
></el-option>
<el-option
v-for=
'item in BranchAccountList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"收付款账户:"
>
<el-select
filterable
v-model=
'msg.BankID'
>
<el-option
value=
""
label=
"不限"
></el-option>
<el-option
v-for=
'item in accountList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"排序:"
>
<el-select
filterable
v-model=
'msg.Sort'
>
<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-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"模板类型:"
>
<el-select
v-model=
"msg.TemplateId"
filterable
>
<el-option
value=
"0"
label=
"不限"
></el-option>
<el-option
v-for=
'item in TemplateGetList'
:label=
'item.Name'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<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=
"4"
>
<el-form-item
label=
"币种类型:"
>
<el-select
filterable
v-model=
'msg.CurrencyId'
>
<el-option
key=
"0"
value=
"0"
label=
"不限"
></el-option>
<el-option
v-for=
"item in currencyTypeList"
:key=
"item.ID"
:value=
"item.ID"
:label=
"item.Name"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"订单编号:"
>
<el-input
v-model=
"msg.OrderID"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"金额:"
>
<el-input
v-model=
"msg.sMoney"
class=
"w64d5"
></el-input>
-
<el-input
v-model=
"msg.eMoney"
class=
"w64d5"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"制单日期:"
>
<el-date-picker
class=
"h34"
@
change=
"timeAdd(1)"
v-model=
"productionDate"
type=
"daterange"
value-format=
"yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"交易日期:"
>
<el-date-picker
class=
"h34"
v-model=
"transactionDate"
@
change=
"timeAdd(3)"
type=
"daterange"
value-format=
"yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"发团日期:"
>
<el-date-picker
class=
"h34"
v-model=
"missionDate"
@
change=
"timeAdd(4)"
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"
>
<span>
<em
@
click
.
stop=
"heightQueryBox=!heightQueryBox"
>
高级查询
<i
class=
"iconfont icon-gengduo"
></i></em>
</span>
<button
class=
"hollowFixedBtn"
@
click=
"resetPageIndex(),getPageList()"
>
{{$t('pub.searchBtn')}}
</button>
<button
class=
"normalBtn"
@
click=
"method5()"
>
导出
</button>
</li>
</ul>
</div>
<div
class=
"_fnDm_content"
v-loading=
'loading'
>
<v-table
is-horizontal-resize
column-width-drag
style=
"width:100%"
:columns=
"columns"
:table-data=
"DataList"
:filter-method=
"filterMethod"
:total=
'total'
:pageSize=
'pageSize'
:pageIndex=
'pageIndex'
:handleCurrentChange=
'handleCurrentChanges'
:row-height=
'100'
@
on-custom-comp=
"customCompFunc"
@
sort-change=
"sortChange"
multiple-sort
>
<!-- 多个排序 -->
</v-table>
</div>
<el-dialog
custom-class=
'w400'
title=
"制单人转交"
:visible
.
sync=
"zhuanjiaoBox"
center
>
<
template
>
<el-form
label-width=
"100px"
>
<el-form-item
label=
"制单人转交:"
>
<el-select
v-model=
"zhuanjiaoMsg.CreateBy"
filterable
remote
reserve-keyword
:placeholder=
"$t('pub.pleaseImport')"
:remote-method=
"remoteMethod"
@
change=
"$forceUpdate()"
>
<el-option
v-for=
"item in searchList"
:key=
"item.empId"
:label=
"item.name"
:value=
"item.empId"
>
<span
style=
"float: left"
>
{{
item
.
name
}}
</span>
<span
style=
"float: right; color: #8492a6; font-size: 13px"
>
{{
item
.
postName
}}
</span>
</el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"zhuanjiaoBox=false"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"setExchange()"
>
{{
$t
(
'pub.sureBtn'
)
}}
</button>
</div>
</
template
>
</el-dialog>
</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'
// 自定义列组件
Vue
.
component
(
'table-BranchName'
,{
//查看操作按钮
template
:
`<span>{{rowData.BranchName}}</span>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
goUrl
(
path
){
// let routeData = this.$router.resolve({
// name: path,
// query: {id:this.rowData.FrID}
// });
// window.open(routeData.href, "_blank");
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 v-if="rowData.Type !== 4" 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>
<i v-if="rowData.Type === 4" 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('CapitalAllocationDetail')">
</i>
</el-tooltip>
</span>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
goUrl
(
path
){
// let routeData = this.$router.resolve({
// name: path,
// query: {id:this.rowData.FrID}
// });
// window.open(routeData.href, "_blank");
this
.
$router
.
push
({
path
:
'/'
+
path
,
query
:
{
id
:
this
.
rowData
.
FrID
,
blank
:
'y'
,
tab
:
this
.
rowData
.
FrID
+
'单据详情'
}
})
},
getExchange
(
rowData
,
index
){
this
.
MsgBus
.
$emit
(
'getRecQuery'
,
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 v-if="rowData.Type==5" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #2BB87C;
line-height: 16px;
border-radius: 4px;">
应收
</span>
<span v-if="rowData.Type==6" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #E95252;
line-height: 16px;
border-radius: 4px;">
应付
</span>
<el-tooltip class="item" effect="dark" content="追加团款" placement="top">
<span v-if="rowData.OtherType == 1" style="width: 20px;
height: 20px;
display: inline-block;
border-radius: 50%;
text-align: center;
line-height: 20px;
color: #E95252;
border: 1px solid #E95252;
font-size: 12px;" class="zhuiClass">追</span>
</el-tooltip>
</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==2 || rowData.Type==6)&&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.Type==5)&&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
){
}
}
})
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
:
`<span>{{rowData.CostTypeName}}</span>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
mounted
(){
},
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
,
userId
:
0
,
zhuanjiaoBox
:
false
,
searchList
:[],
msg
:{
pageIndex
:
1
,
pageSize
:
5
,
FrID
:
''
,
sDate
:
''
,
eDate
:
''
,
Status
:
'-1'
,
TemplateId
:
'0'
,
RB_Branch_Id
:
''
,
RB_Depart_Id
:
''
,
sTradeDate
:
''
,
eTradeDate
:
''
,
ClientType
:
''
,
RemitterName
:
''
,
ClientID
:
''
,
sMoney
:
''
,
eMoney
:
''
,
CurrencyId
:
'0'
,
CostTypeID
:
''
,
Conditon
:
''
,
TCNUM
:
''
,
TradeWay
:
''
,
Type
:
'-1'
,
AccountType
:
''
,
QEndDate
:
''
,
QStartDate
:
''
,
UpdateBy
:
''
,
Sort
:
'2'
,
EmployeeId
:
''
,
},
getCompanyMsg
:{
// 公司
RB_Group_Id
:
'0'
,
Status
:
'0'
,
},
getDepartmentMsg
:{
// 部门
RB_Group_Id
:
''
,
RB_Branch_Id
:
''
,
Status
:
0
,
ParentId
:
-
1
,
Tier
:
0
,
},
employeeMsg
:{
// 员工
GroupId
:
''
,
BranchId
:
-
1
,
DepartmentId
:
0
,
PostId
:
0
,
IsLeave
:
0
,
},
zhuanMsg
:{
AuditEmId
:
null
,
WorkFlowId
:
0
,
},
//转交信息
zhuanjiaoMsg
:{
CreateBy
:
''
,
FrIDList
:[]
},
DataList
:[],
GetFinancLogList
:[],
StatusList
:[],
ClientAccountList
:[],
ClientTypeList
:[],
accountList
:[],
BranchAccountList
:[],
DepartmentList
:[],
EmployeeList
:[],
ConditionList
:[],
CompanyList
:[],
productionDate
:[],
approvalDate
:[],
transactionDate
:[],
missionDate
:[],
currencyTypeList
:[],
GetCostTypeList
:[],
TemplateGetList
:[],
AccList
:[],
checkList
:[],
checkAllList
:[],
dateStart
:
''
,
dateEnd
:
''
,
dateArr
:
''
,
status
:
'1'
,
type
:
'1'
,
loading
:
false
,
LogLoading
:
false
,
isCkedAll
:
false
,
currentPage
:
1
,
total
:
0
,
ChineseStr
:
''
,
mathNumber
:
''
,
DepartIDs
:
''
,
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降序
// filterMultiple: true, // 筛选项是否多选
// filters: [
// {}
// //筛选项 无筛选项 传[{}]
// ],
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
:
'DetailList'
,
title
:
'费用类型'
,
width
:
150
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
result
:{},
filterMultiple
:
false
,
type
:
'datetime'
,
componentName
:
'table-CostType'
},
{
field
:
'CurrencyName'
,
title
:
'币种'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
},
{
field
:
'TradeWay'
,
title
:
'交易方式'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
componentName
:
'table-TradeWay'
},
{
field
:
'Money'
,
title
:
'应收/应付'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
},
{
field
:
'PayMoney'
,
title
:
'实收/实付'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
},
// {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
}
],
pageSize
:
5
,
pageIndex
:
1
,
heightQueryBox
:
false
}
},
created
(){
if
(
this
.
$route
.
query
.
returnCode
){
this
.
active
=
this
.
$route
.
query
.
returnCode
;
this
.
msg
.
Conditon
=
this
.
$route
.
query
.
returnCode
;
}
if
(
this
.
$route
.
query
.
pageIndex
){
this
.
msg
.
pageIndex
=
this
.
$route
.
query
.
pageIndex
;
}
if
(
this
.
$route
.
query
.
Conditon
){
this
.
msg
.
Conditon
=
this
.
$route
.
query
.
Conditon
;
this
.
active
=
parseInt
(
this
.
$route
.
query
.
Conditon
);
}
if
(
this
.
$route
.
query
.
FrID
){
this
.
msg
.
FrID
=
this
.
$route
.
query
.
FrID
;
}
if
(
this
.
$route
.
query
.
Type
){
this
.
msg
.
Type
=
this
.
$route
.
query
.
Type
+
''
;
}
if
(
this
.
$route
.
query
.
rec
){
this
.
msg
.
AccountType
=
15
;
this
.
msg
.
TradeWay
=
4
;
this
.
getAccountList
(
this
.
msg
.
AccountType
,
this
.
msg
.
TradeWay
)
this
.
msg
.
BankID
=
this
.
$route
.
query
.
BankID
;
this
.
transactionDate
[
0
]
=
this
.
$route
.
query
.
StartDate
;
this
.
transactionDate
[
1
]
=
this
.
$route
.
query
.
StartDate
;
}
if
(
this
.
$route
.
query
.
air
){
this
.
msg
.
AccountType
=
17
;
this
.
msg
.
TradeWay
=
4
;
this
.
getAccountList
(
this
.
msg
.
AccountType
,
this
.
msg
.
TradeWay
)
this
.
msg
.
BankID
=
20
;
this
.
transactionDate
[
0
]
=
this
.
$route
.
query
.
StartDate
;
this
.
transactionDate
[
1
]
=
this
.
$route
.
query
.
StartDate
;
}
},
components
:
{
"my-Bill"
:
myBill
,
"my-RVB-Bill"
:
myrbvBill
,
},
mounted
(){
let
userInfo
=
this
.
getLocalStorage
();
this
.
getCompanyMsg
.
RB_Group_Id
=
this
.
employeeMsg
.
GroupId
=
this
.
getDepartmentMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
;
//集团ID
this
.
DepartIDs
=
userInfo
.
RB_Department_Id
;
this
.
userId
=
userInfo
.
EmployeeId
;
this
.
msg
.
EmployeeId
=
userInfo
.
EmployeeId
;
this
.
financeinfo_post_GetList
();
this
.
financeinfo_post_GetCostTypeList
();
this
.
FinancialFlowTemplate_post_GetList
();
this
.
getCompanyList
();
this
.
Financial_post_GetConditionList
();
this
.
getEmployee
();
this
.
getDepartment
();
this
.
Financial_post_GetBranchAccountList
();
this
.
financeinfo_post_GetClientTypeList
();
this
.
FinancialFlowTemplate_post_GetStatusList
();
this
.
getPageList
();
this
.
AccountType_post_GetList
();
var
that
=
this
;
that
.
MsgBus
.
$on
(
'getRecQuery'
,
function
(
FrID
){
that
.
zhuanjiaoMsg
.
CreateBy
=
''
;
that
.
zhuanjiaoMsg
.
FrIDList
=
[];
that
.
zhuanjiaoMsg
.
FrIDList
.
push
(
FrID
);
that
.
zhuanjiaoBox
=
true
;
});
},
methods
:{
customCompFunc
(
params
){
},
sortChange
(
param
){
//自己写实现
//{gender:"",name:"asc"}
},
//设置转交
setExchange
(){
if
(
this
.
zhuanjiaoMsg
.
CreateBy
==
''
){
this
.
Error
(
'请选择转交人'
);
return
;
}
this
.
apipost
(
'Financial_post_SetFinanceCreateByCareOf'
,
this
.
zhuanjiaoMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
Success
(
res
.
data
.
message
);
this
.
zhuanjiaoBox
=
false
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
remoteMethod
(
query
)
{
// 转交人模糊查询
if
(
query
!==
''
||
this
.
addShow
)
{
this
.
apipost
(
"admin_Get_Chat_All_SelectEmpName"
,{
EmName
:
query
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
searchList
=
res
.
data
.
data
;
}
},
err
=>
{});
}
else
{
this
.
searchList
=
[];
}
},
// 数据筛选
filterMethod
(
filters
){
},
handleCurrentChanges
(
val
){
this
.
pageIndex
=
this
.
msg
.
pageIndex
=
val
;
this
.
getPageList
();
},
AccountType_post_GetList
(){
//获取账户类型下拉
this
.
apipost
(
'AccountType_post_GetList'
,
this
.
queryAccMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
AccList
=
res
.
data
.
data
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
getPageList
(){
// 获取列表数据
if
(
!
this
.
msg
.
ClientID
)
this
.
msg
.
ClientID
=
0
;
if
(
!
this
.
msg
.
ClientType
)
this
.
msg
.
ClientType
=
0
;
if
(
!
this
.
msg
.
CurrencyId
)
this
.
msg
.
CurrencyId
=
0
;
if
(
!
this
.
msg
.
CostTypeID
)
this
.
msg
.
CostTypeID
=
0
;
if
(
!
this
.
msg
.
TemplateId
)
this
.
msg
.
TemplateId
=
0
;
if
(
this
.
msg
.
RB_Branch_Id
===
''
)
this
.
msg
.
RB_Branch_Id
=-
1
;
if
(
!
this
.
msg
.
RB_Depart_Id
)
this
.
msg
.
RB_Depart_Id
=
0
;
if
(
!
this
.
msg
.
UpdateBy
)
this
.
msg
.
UpdateBy
=
0
;
if
(
!
this
.
msg
.
TCID
)
this
.
msg
.
TCID
=
0
;
if
(
!
this
.
msg
.
OrderID
)
this
.
msg
.
OrderID
=
0
;
if
(
!
this
.
msg
.
Status
)
this
.
msg
.
Status
=
0
;
if
(
!
this
.
msg
.
FrID
)
this
.
msg
.
FrID
=
0
;
if
(
!
this
.
msg
.
Conditon
)
this
.
msg
.
Conditon
=
1
;
if
(
!
this
.
msg
.
TradeWay
)
this
.
msg
.
TradeWay
=
0
;
if
(
!
this
.
msg
.
AccountType
)
this
.
msg
.
AccountType
=
0
;
this
.
loading
=
true
;
this
.
apipost
(
'Financial_get_GetCostTypeFinancePageList'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
pageData
;
let
userInfo
=
this
.
getLocalStorage
();
data
.
forEach
(
x
=>
{
if
((
","
+
userInfo
.
ActionMenuCode
+
","
).
indexOf
(
',Finance_CreateByCareOf,'
)
!=-
1
){
x
.
isExchange
=
true
}
else
{
x
.
isExchange
=
false
}
})
this
.
total
=
res
.
data
.
data
.
count
;
if
(
this
.
total
==
0
){
this
.
DataList
=
[];
}
else
{
data
.
forEach
(
x
=>
{
// this.columns[0].filters.push({label:x.FrID,value:x.FrID})
x
.
modelShow
=
false
;
})
this
.
DataList
=
data
;
}
this
.
loading
=
false
;
}
else
{
this
.
loading
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
}
// this.msg.TCID= this.msg.TCID==0?this.msg.TCID:'';
// this.queryInfoInit();
this
.
currentPage
=
parseInt
(
this
.
msg
.
pageIndex
);
},
err
=>
{})
},
method5
:
function
()
{
if
(
!
this
.
msg
.
ClientID
)
this
.
msg
.
ClientID
=
0
;
if
(
!
this
.
msg
.
ClientType
)
this
.
msg
.
ClientType
=
0
;
if
(
!
this
.
msg
.
CurrencyId
)
this
.
msg
.
CurrencyId
=
0
;
if
(
!
this
.
msg
.
CostTypeID
)
this
.
msg
.
CostTypeID
=
0
;
if
(
!
this
.
msg
.
TemplateId
)
this
.
msg
.
TemplateId
=
0
;
if
(
this
.
msg
.
RB_Branch_Id
===
''
)
this
.
msg
.
RB_Branch_Id
=-
1
;
if
(
!
this
.
msg
.
RB_Depart_Id
)
this
.
msg
.
RB_Depart_Id
=
0
;
if
(
!
this
.
msg
.
UpdateBy
)
this
.
msg
.
UpdateBy
=
0
;
if
(
!
this
.
msg
.
TCID
)
this
.
msg
.
TCID
=
0
;
if
(
!
this
.
msg
.
OrderID
)
this
.
msg
.
OrderID
=
0
;
if
(
!
this
.
msg
.
Status
)
this
.
msg
.
Status
=
0
;
if
(
!
this
.
msg
.
FrID
)
this
.
msg
.
FrID
=
0
;
if
(
!
this
.
msg
.
Conditon
)
this
.
msg
.
Conditon
=
1
;
if
(
!
this
.
msg
.
TradeWay
)
this
.
msg
.
TradeWay
=
0
;
if
(
!
this
.
msg
.
AccountType
)
this
.
msg
.
AccountType
=
0
;
this
.
GetLocalFile
(
"Financial_get_DownLoadCostTypeFinance"
,
this
.
msg
,
"费用单据.xls"
);
}
,
financeRemove
(
id
){
//作废
this
.
$confirm
(
'是否对申请单进行作废操作?作废后不可恢复!'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
deletFinance
(
id
)
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
});
});
},
deletFinance
(
id
){
this
.
apipost
(
'Financial_post_Cancel'
,{
ID
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
)
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
this
.
getPageList
();
},
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
=>
{})
},
mathMoney
(
n
){
// 数字转中文大写 1
this
.
ChineseStr
=
this
.
$commonUtils
.
changeMoneyToChinese
(
n
)
},
FinancialFlowTemplate_post_GetStatusList
(){
// 获取审核状态枚举
this
.
apipost
(
'FinancialFlowTemplate_post_GetStatusList'
,{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
StatusList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
financeinfo_post_GetClientTypeList
(){
// 获取对象类型
this
.
apipost
(
'financeinfo_post_GetClientTypeList'
,{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ClientTypeList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
financeinfo_post_GetClientAccountList
(
t
){
// 获取对象类型
let
msg
=
{
Type
:
t
,
ObjID
:
0
,
CardNum
:
''
}
this
.
apipost
(
'financeinfo_post_GetClientAccountList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
let
ClientAccountList
=
[];
data
.
forEach
(
x
=>
{
let
obj
=
{
ID
:
x
.
ID
,
Name
:
x
.
AccountAlias
,
Nom
:
x
.
CardNum
}
ClientAccountList
.
push
(
obj
)
})
this
.
ClientAccountList
=
ClientAccountList
;
}
},
err
=>
{})
},
getAccountList
(
i
,
t
){
//收款账户
let
accountList
=
[];
if
(
t
==
1
){
// 银行
this
.
apipost
(
'bankaccount_post_GetList'
,{
TypeId
:
i
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
data
.
forEach
(
x
=>
{
let
obj
=
{
ID
:
x
.
ID
,
Name
:
x
.
Alias
,
Nom
:
0
,
}
accountList
.
push
(
obj
)
})
this
.
accountList
=
accountList
;
}
},
err
=>
{})
}
if
(
t
==
2
){
//平台账户
let
msg
=
{
BackId
:
0
,
TypeId
:
i
,
BranchId
:
-
1
,
Alias
:
''
}
this
.
apipost
(
'BankAccount_post_GetPlatformList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
data
.
forEach
(
x
=>
{
let
obj
=
{
ID
:
x
.
ID
,
Name
:
x
.
Alias
,
Nom
:
x
.
PlatformNo
}
accountList
.
push
(
obj
)
})
this
.
accountList
=
accountList
;
}
},
err
=>
{})
}
if
(
t
==
3
){
//现金账户
let
msg
=
{
TypeId
:
i
,
BranchId
:
-
1
,
Alias
:
''
}
this
.
apipost
(
'BankAccount_post_GetCashAccountList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
data
.
forEach
(
x
=>
{
let
obj
=
{
ID
:
x
.
ID
,
Name
:
x
.
Alias
,
Nom
:
0
}
accountList
.
push
(
obj
)
})
this
.
accountList
=
accountList
}
},
err
=>
{})
}
if
(
t
==
4
){
//资金池账户
let
msg
=
{
TypeId
:
i
,
BranchId
:
-
1
,
Alias
:
''
}
this
.
apipost
(
'BankAccount_post_GetCashPoolList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
data
.
forEach
(
x
=>
{
let
obj
=
{
ID
:
x
.
ID
,
Name
:
x
.
Alias
,
Nom
:
0
}
accountList
.
push
(
obj
)
})
this
.
accountList
=
accountList
}
},
err
=>
{})
}
},
Financial_post_GetBranchAccountList
(){
//获取交易方式列表
this
.
apipost
(
'Financial_post_GetBranchAccountList'
,{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
BranchAccountList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getDepartment
(){
//部门
this
.
apipost
(
'admin_get_DepartmentGetList'
,
this
.
getDepartmentMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
DepartmentList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getEmployee
()
{
//员工
this
.
apipost
(
'admin_get_EmployeeGetList'
,
this
.
employeeMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getCompanyList
(){
//获取公司列表
this
.
apipost
(
'admin_get_BranchGetList'
,
this
.
getCompanyMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
CompanyList
=
res
.
data
.
data
;
}
else
{}
},
err
=>
{})
},
Financial_post_GetConditionList
(){
//获取财务单据枚举列表
this
.
apipost
(
'Financial_post_GetConditionList'
,{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
ConditionList
=
res
.
data
.
data
;
}
else
{}
},
err
=>
{})
},
financeinfo_post_GetList
(){
// 币种类型
this
.
apipost
(
'financeinfo_post_GetList'
,{
Name
:
''
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
currencyTypeList
=
res
.
data
.
data
;
}
else
{
}
},
err
=>
{})
},
financeinfo_post_GetCostTypeList
(){
// 费用类型
this
.
apipost
(
'financeinfo_post_GetCostTypeList'
,{
Name
:
''
,
type
:
0
,
DepartIDs
:
this
.
DepartIDs
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
GetCostTypeList
=
res
.
data
.
data
;
}
else
{
}
},
err
=>
{})
},
FinancialFlowTemplate_post_GetList
(){
// 单据类型
this
.
apipost
(
'Financial_post_GetList'
,{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
TemplateGetList
=
res
.
data
.
data
;
}
else
{
}
},
err
=>
{})
},
timeAdd
(
t
){
// 日期格式
if
(
t
==
1
){
//制单日期
if
(
!
this
.
productionDate
){
this
.
msg
.
sDate
=
''
;
this
.
msg
.
eDate
=
''
;
return
}
this
.
msg
.
sDate
=
this
.
productionDate
[
0
];
this
.
msg
.
eDate
=
this
.
productionDate
[
1
];
}
if
(
t
==
2
){
//审批日期
if
(
!
this
.
approvalDate
){
this
.
dateStart
=
''
;
this
.
dateEnd
=
''
;
return
}
this
.
dateStart
=
this
.
approvalDate
[
0
];
this
.
dateEnd
=
this
.
approvalDate
[
1
];
}
if
(
t
==
3
){
//交易日期
if
(
!
this
.
transactionDate
){
this
.
msg
.
sTradeDate
=
''
;
this
.
msg
.
eTradeDate
=
''
;
return
}
this
.
msg
.
sTradeDate
=
this
.
transactionDate
[
0
];
this
.
msg
.
eTradeDate
=
this
.
transactionDate
[
1
];
}
if
(
t
==
4
){
//发团日期
if
(
!
this
.
missionDate
){
this
.
dateStart
=
''
;
this
.
dateEnd
=
''
;
return
}
this
.
msg
.
QStartDate
=
this
.
missionDate
[
0
];
this
.
msg
.
QEndDate
=
this
.
missionDate
[
1
];
}
},
queryInfoInit
(){
// 初始化msg
let
msg
=
{
pageIndex
:
this
.
msg
.
pageIndex
,
pageSize
:
6
,
FrID
:
this
.
msg
.
FrID
==
0
?
''
:
this
.
msg
.
FrID
,
sDate
:
this
.
msg
.
sDate
,
eDate
:
this
.
msg
.
eDate
,
Status
:
this
.
msg
.
Status
,
TemplateId
:
this
.
msg
.
TemplateId
,
RB_Branch_Id
:
this
.
msg
.
RB_Branch_Id
,
RB_Depart_Id
:
this
.
msg
.
RB_Depart_Id
,
UpdateBy
:
this
.
msg
.
UpdateBy
,
sTradeDate
:
this
.
msg
.
sTradeDate
,
eTradeDate
:
this
.
msg
.
eTradeDate
,
ClientType
:
this
.
msg
.
ClientType
,
RemitterName
:
this
.
msg
.
RemitterName
,
ClientID
:
this
.
msg
.
ClientID
,
sMoney
:
this
.
msg
.
sMoney
,
eMoney
:
this
.
msg
.
eMoney
,
CurrencyId
:
this
.
msg
.
CurrencyId
,
CostTypeID
:
this
.
msg
.
CostTypeID
,
Conditon
:
this
.
msg
.
Conditon
,
TCNUM
:
this
.
msg
.
TCNUM
==
0
?
""
:
this
.
msg
.
TCNUM
,
TradeWay
:
this
.
msg
.
TradeWay
==
0
?
""
:
this
.
msg
.
TradeWay
,
Type
:
this
.
msg
.
Type
,
AccountType
:
this
.
msg
.
AccountType
==
0
?
''
:
this
.
msg
.
AccountType
,
QEndDate
:
this
.
msg
.
QEndDate
,
QStartDate
:
this
.
msg
.
QStartDate
,
OrderID
:
this
.
msg
.
OrderID
==
0
?
''
:
this
.
msg
.
OrderID
,
Sort
:
this
.
msg
.
Sort
,
EmployeeId
:
this
.
msg
.
EmployeeId
,
}
this
.
msg
=
msg
;
},
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/FinancialModule/ReportForm/RevenueFileMan.vue
View file @
4421941b
...
...
@@ -50,7 +50,7 @@
<th>
描述
</th>
<th>
状态
</th>
<th>
签名图片
</th>
<
!--
<th>
文件列表
</th>
--
>
<
th>
文件列表
</th
>
<th>
签名时间
</th>
<th>
创建人/时间
</th>
<th>
操作
</th>
...
...
@@ -60,10 +60,14 @@
<td>
{{
item
.
EmName
}}
</td>
<td>
{{
item
.
Description
}}
</td>
<td>
{{
item
.
ConfirmStatusName
}}
</td>
<td
style=
"padding:6px 0"
>
<img
style=
"width:45px;height:45px"
:src=
"item.SignImage"
alt=
""
>
</td>
<td>
<img
style=
"width:50px;height:50px"
:src=
"item.SignImage"
alt=
""
>
<p
v-for=
"(list,index1) in item.EAddressList"
:key=
"index1"
>
<a
:download=
"list.Name"
style=
"text-decoration: underline;cursor: pointer;padding-top:4px"
:href=
"list.Path"
>
{{
list
.
Name
}}
</a>
</p>
</td>
<td>
<span
v-if=
"item.ConfirmStatus==1"
></span>
<span
v-else
>
{{
item
.
UpdateDate
}}
</span>
...
...
@@ -73,7 +77,6 @@
<p>
{{
item
.
CreateDate
}}
</p>
</td>
<td>
<el-button
v-if=
"item.CreateBy==EmployeeId && item.ConfirmStatus==1"
@
click=
"SetRules(item)"
style=
"padding:4px"
type=
"primary"
icon=
"el-icon-edit"
circle
></el-button>
<el-button
v-if=
"item.ConfirmStatus==1"
@
click=
"SetPic(item)"
style=
"padding:4px"
type=
"warning"
icon=
"el-icon-star-off"
circle
></el-button>
<el-button
@
click=
"Delete(item)"
style=
"padding:4px"
type=
"danger"
icon=
"el-icon-delete"
circle
></el-button>
...
...
@@ -101,13 +104,13 @@
</el-select>
</el-form-item>
<el-form-item
label=
"描述"
>
<el-input
class=
"w220
"
v-model=
"addMsg.Description"
></el-input>
<el-input
style=
"width:400px"
type=
"textarea"
:autosize=
"
{ minRows: 2, maxRows: 4}
" v-model="addMsg.Description">
</el-input>
</el-form-item>
<div
class=
"_addUpload_box clearfix"
>
<template
v-for=
"(file,fIndex) in saveMsg"
>
<div
v-if=
"file.Type==3"
>
<div
style=
"width:100%;height:100%;overflow: hidden;"
>
<img
:src=
"file.Url?file.Url:file.Content"
@
click=
"showUpLoadFile(file)"
>
<img
:src=
"file.Url?file.Url:file.Content"
>
</div>
<span
class=
"iconfont icon-guanbi1"
@
click=
"deleteUploadFile(fIndex)"
></span>
</div>
...
...
@@ -118,7 +121,7 @@
<span
class=
"iconfont icon-guanbi1"
@
click=
"deleteUploadFile(fIndex)"
></span>
</div>
<div
v-if=
"file.Type==2"
>
<div
class=
"iconfont icon-excel"
@
click=
"showUpLoadFile(file)"
>
<div
class=
"iconfont icon-excel"
>
</div>
<span
class=
"iconfont icon-guanbi1"
@
click=
"deleteUploadFile(fIndex)"
></span>
...
...
@@ -249,7 +252,7 @@ export default {
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'financestatistics_post_DelRevenueExcelInfo'
,{
Id
:
item
.
I
D
},
res
=>
{
this
.
apipost
(
'financestatistics_post_DelRevenueExcelInfo'
,{
Id
:
item
.
I
d
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
Success
(
res
.
data
.
message
)
this
.
getList
();
...
...
@@ -313,7 +316,7 @@ export default {
let
imgUrl
=
this
.
$refs
.
canvasF
.
toDataURL
();
let
newArr
=
[];
var
fileName
=
`
${
that
.
uuid
(
10
,
10
)}
.png`
;
var
path
=
`/
assets/sign
/`
;
var
path
=
`/
RevenueFile
/`
;
newArr
.
push
(
this
.
dataURLtoFile
(
imgUrl
,
fileName
))
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
this
.
addMsgNew
.
SignImage
=
that
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
...
...
@@ -472,20 +475,39 @@ export default {
addRule
(){
this
.
ruleVisible
=
true
;
this
.
InitaddMsg
();
this
.
saveMsg
=
[];
},
SetRules
(
item
){
this
.
ruleVisible
=
true
;
this
.
addMsg
=
Object
.
assign
({},
item
);
this
.
saveMsg
=
[];
// 1 文档 2 数据 3 图片
let
typeArr
=
[
{
stringArr
:
'GIF|JPG|JPEG|PNG|BMP'
,
type
:
3
},
{
stringArr
:
'DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF'
,
type
:
1
},
]
this
.
addMsg
.
EAddressList
.
forEach
(
item
=>
{
let
ft
=
item
.
Name
.
substring
(
item
.
Name
.
lastIndexOf
(
'.'
)
+
1
,
item
.
Name
.
length
).
toUpperCase
();
let
fileTypeNumber
=
2
;
let
typeOk
=
false
;
typeArr
.
forEach
(
x
=>
{
if
(
x
.
stringArr
.
indexOf
(
ft
)
!=
'-1'
)
{
fileTypeNumber
=
x
.
type
;
typeOk
=
true
;
}
})
let
obj
=
{
Content
:
item
,
Url
:
item
,
Content
:
item
.
Path
,
Path
:
item
.
Path
,
Url
:
item
.
Path
,
Name
:
item
.
Name
,
Type
:
fileTypeNumber
,
};
this
.
saveMsg
.
push
(
obj
)
})
this
.
saveMsg
=
this
.
addMsg
.
EAddressList
;
},
RulesOk
(
formName
){
...
...
@@ -497,7 +519,11 @@ export default {
}
this
.
addMsg
.
EAddressList
=
[];
this
.
saveMsg
.
forEach
(
item
=>
{
this
.
addMsg
.
EAddressList
.
push
(
item
.
Url
)
let
obj
=
{
Path
:
item
.
Url
,
Name
:
item
.
Name
,
};
this
.
addMsg
.
EAddressList
.
push
(
obj
)
})
this
.
apipost
(
"financestatistics_post_SetRevenueExcelInfo"
,
...
...
@@ -565,6 +591,7 @@ export default {
ID
:
0
,
Type
:
fileTypeNumber
,
Url
:
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
,
Name
:
x
.
data
.
SourceFileName
})
this
.
$message
.
success
(
this
.
$t
(
'tips.scchenggong'
))
},
1
);
...
...
@@ -603,7 +630,6 @@ export default {
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
console
.
log
(
"213231"
,
this
.
dataList
)
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
}
...
...
src/components/index.vue
View file @
4421941b
...
...
@@ -1121,7 +1121,7 @@
</div>
<div
style=
"text-align:center"
>
<p
style=
"font-size:26px;color:#111111;margin:40px 0"
>
第{{tsNumber}}期投诉案例分享已经发布
</p>
<a
@
click=
"CloseTs"
target=
"_blank"
href=
"http://we.oytour.com:8110/?/question/2
1
"
style=
"font-size:18px;color:#E95252;cursor:pointer;text-decoration:underline"
>
点击查看
</a>
<a
@
click=
"CloseTs"
target=
"_blank"
href=
"http://we.oytour.com:8110/?/question/2
2
"
style=
"font-size:18px;color:#E95252;cursor:pointer;text-decoration:underline"
>
点击查看
</a>
</div>
</div>
</div>
...
...
@@ -1178,7 +1178,7 @@ export default {
articleId
:
0
,
createEmpId
:
0
,
tsState
:
false
,
tsNumber
:
1
2
,
tsNumber
:
1
3
,
saleRnkShow
:
false
,
dialogTitleNot
:
''
,
outerVisibleNot
:
false
,
...
...
src/router/config.js
View file @
4421941b
...
...
@@ -3196,7 +3196,16 @@ export default {
meta
:
{
title
:
'外币单据查询'
},
},
{
//财务 财务单据 应收团款查询
},
{
//财务 财务单据 费用单据
path
:
'/Costdocuments'
,
name
:
'Costdocuments'
,
component
:
resolve
=>
require
([
'@/components/FinancialModule/Costdocuments'
],
resolve
),
meta
:
{
title
:
'费用单据'
},
},
{
//财务 财务单据 应收团款查询
path
:
'/RecPayQueryTeam'
,
name
:
'RecPayQueryTeam'
,
component
:
resolve
=>
require
([
'@/components/FinancialModule/RecPayQueryTeam'
],
resolve
),
...
...
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