Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
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
罗超
confucius
Commits
42cea84a
Commit
42cea84a
authored
Apr 16, 2021
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
菜单调整 + 资产流程迁移
parent
ae099598
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
2601 additions
and
0 deletions
+2601
-0
menu-form.vue
src/components/system/menu-form.vue
+14
-0
XProcessManagement.vue
src/pages/financial/XProcessManagement.vue
+823
-0
XaddFinancialProcess.vue
src/pages/financial/XaddFinancialProcess.vue
+1754
-0
routes.js
src/router/routes.js
+10
-0
No files found.
src/components/system/menu-form.vue
View file @
42cea84a
...
...
@@ -31,6 +31,8 @@
v-model=
"objOption.Status"
/>
<div
class=
"text-grey-6 text-caption"
>
注意:关闭后,菜单将无法正常使用.
</div>
</div>
<q-select
class=
"col-6 q-pr-lg"
v-model=
"objOption.TeamType"
:options=
"TeamTypeOpts"
emit-value
map-options
label=
"项目类型"
/>
</div>
</q-card-section>
<q-separator
/>
...
...
@@ -64,6 +66,15 @@
MenuLevelOpts
:
[],
//菜单类型
MenuTypeOpts
:
[],
TeamTypeOpts
:
[
{
label
:
'教育菜单'
,
value
:
1
},
{
label
:
'资产菜单'
,
value
:
2
}],
persistent
:
true
,
objOption
:
{
MenuId
:
0
,
//菜单编号
...
...
@@ -73,6 +84,7 @@
MenuIcon
:
""
,
//菜单图标
MenuLevel
:
-
1
,
//菜单等级
MenuType
:
-
1
,
//菜单类型
TeamType
:
1
,
//项目类型
SortNum
:
0
,
//排序
Status
:
0
,
//状态(0-正常,1-禁用)
IsUserCenter
:
0
,
//是否个人中心页面
...
...
@@ -133,6 +145,7 @@
this
.
objOption
.
MenuIcon
=
res
.
Data
.
MenuIcon
;
this
.
objOption
.
MenuLevel
=
res
.
Data
.
MenuLevel
;
this
.
objOption
.
MenuType
=
res
.
Data
.
MenuType
;
this
.
objOption
.
TeamType
=
res
.
Data
.
TeamType
;
this
.
objOption
.
SortNum
=
res
.
Data
.
SortNum
;
this
.
objOption
.
Status
=
res
.
Data
.
Status
;
this
.
objOption
.
IsUserCenter
=
res
.
Data
.
IsUserCenter
;
...
...
@@ -147,6 +160,7 @@
this
.
objOption
.
MenuIcon
=
""
;
this
.
objOption
.
MenuLevel
=
-
1
;
this
.
objOption
.
MenuType
=
-
1
;
this
.
objOption
.
TeamType
=
1
;
this
.
objOption
.
SortNum
=
0
;
this
.
objOption
.
Status
=
0
;
this
.
objOption
.
IsUserCenter
=
0
;
...
...
src/pages/financial/XProcessManagement.vue
0 → 100644
View file @
42cea84a
<
style
scoped
>
@import
"css/cssReset.css"
;
.query-box
{
border
:
none
;
padding-left
:
0
}
._nav
li
{
float
:
left
;
font-size
:
14px
;
color
:
#666666
;
padding
:
15px
10px
;
background-color
:
#F1F1F1
;
cursor
:
pointer
;
position
:
relative
;
}
._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%
;
}
._content
li
{
display
:
flex
;
padding
:
0
30px
;
margin-top
:
20px
;
border
:
1px
solid
#ebebeb
;
background-color
:
white
;
}
._content
li
:hover
{
box-shadow
:
0px
0px
20px
rgba
(
191
,
191
,
191
,
1
);
transition
:
all
linear
0.5s
;
}
._content
li
>
div
{
padding
:
9px
0
}
._left
{
display
:
flex
;
flex
:
2
;
align-items
:
center
;
border-right
:
1px
dashed
#DCDFE6
;
padding-right
:
20px
!important
;
}
._left
>
div
{
padding-left
:
14px
}
._Icon
{
width
:
50px
;
height
:
50px
;
line-height
:
50px
;
text-align
:
center
;
color
:
white
;
font-weight
:
bold
;
background-color
:
#2AAEF2
;
border-radius
:
50%
;
font-size
:
22px
;
display
:
block
;
}
._t
{
color
:
#333333
;
font-size
:
14px
;
padding-bottom
:
7px
;
font-weight
:
bold
}
._s
{
color
:
#666666
;
font-size
:
12px
;
}
._cent
{
flex
:
3
;
display
:
flex
;
align-items
:
center
;
}
._cent
>
div
{
width
:
50%
;
padding-left
:
80px
;
}
._right
{
flex
:
1
;
align-items
:
center
;
display
:
flex
;
padding-left
:
20px
!important
;
border-left
:
1px
dashed
#DCDFE6
;
}
.icon-liuchengsheji
{
background-color
:
#B552E9
;
}
.icon-liuchengsheji
:hover
{
background-color
:
#c57dea
}
.eicon-liuchengshejidit
:active
{
background-color
:
#8741ab
}
._red
{
color
:
#E95252
}
._dt
{
text-decoration
:
underline
}
._cu
{
cursor
:
pointer
;
}
._none
{
opacity
:
0
;
}
._block
{
opacity
:
1
}
.InfoChangeLog
{
height
:
auto
;
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
}
.el-button
{
border-radius
:
inherit
!important
}
._log_t
{
padding
:
10px
;
}
._bdrd
{
border-radius
:
17px
;
}
._tp
{
padding
:
10px
20px
0
20px
;
font-size
:
12px
;
display
:
flex
;
align-items
:
center
;
align-items
:
flex-end
}
._bg_blue
{
background-color
:
#297BEF
}
._bg_org
{
background-color
:
#F16C3C
!important
}
._bg_greend
{
background-color
:
#32B37C
}
._bg_greendS
{
background-color
:
#1C9A65
}
._bg_gray
{
background-color
:
#666666
}
._color_blue
{
color
:
#005CAA
}
._yewu
{
color
:
white
;
padding
:
3px
13px
;
}
._qian
{
padding
:
6px
15px
;
}
._array
{
display
:
inline-block
;
background-color
:
#999999
}
._array_h
{
width
:
35px
;
height
:
3px
;
}
._array_h_left
{
top
:
14px
;
left
:
-40px
;
position
:
absolute
;
}
._array_h_right
{
top
:
14px
;
right
:
-40px
;
position
:
absolute
;
}
._array_w
{
width
:
3px
;
height
:
35px
;
}
.tri_left
{
width
:
0
;
height
:
0
;
border-top
:
6px
solid
transparent
;
border-bottom
:
6px
solid
transparent
;
border-left
:
6px
solid
#999999
;
}
.tri_down
{
width
:
0
;
height
:
0
;
border-left
:
6px
solid
transparent
;
border-right
:
6px
solid
transparent
;
border-top
:
6px
solid
#999999
;
}
.tri_right
{
width
:
0
;
height
:
0
;
border-top
:
6px
solid
transparent
;
border-bottom
:
6px
solid
transparent
;
border-right
:
6px
solid
#999999
;
}
._tag
{
display
:
inline-block
;
border-radius
:
4px
;
padding
:
2px
4px
;
margin-bottom
:
4px
;
font-size
:
12px
}
._inlineblock_cen
{
display
:
inline-block
;
text-align
:
center
}
._text_right
{
text-align
:
right
;
padding-right
:
50px
}
._tp_b
{
padding
:
0
20px
}
.height40
{
height
:
40px
;
}
._feiyong
{
padding
:
10px
;
flex-wrap
:
wrap
;
display
:
flex
;
}
._feiyong
>
span
{
display
:
inline-block
;
padding
:
4px
20px
;
color
:
white
;
font-size
:
14px
;
border-radius
:
4px
;
margin
:
0
10px
10px
0
;
}
._log_t_s
{
font-size
:
12px
;
color
:
#666666
}
.el-popover
{
text-align
:
inherit
}
._dtel
{
padding-top
:
10px
;
}
._no_liucheng
{
padding
:
20px
;
text-align
:
center
}
._liu_block
{
display
:
inline-block
;
width
:
auto
;
margin-bottom
:
20px
;
position
:
relative
;
}
.icon-xiaotuziCduan_
,
.icon-xiaotuziCduan_2
{
position
:
absolute
;
right
:
-10px
;
top
:
-10px
;
color
:
#999999
;
}
._array_h_left
.icon-xiaotuziCduan_2
{
position
:
absolute
;
left
:
-10px
;
top
:
-10px
;
right
:
initial
;
}
.text_l
{
text-align
:
left
;
margin-right
:
50px
}
.text_r
{
text-align
:
right
;
margin-left
:
50px
}
._miaoshu
{
display
:
inline-block
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
padding
:
6px
15px
;
border-radius
:
4px
;
background-color
:
#297BEF
;
color
:
white
;
font-size
:
14px
;
min-width
:
120px
;
text-align
:
center
;
max-width
:
130px
;
}
._last_ml0
{
margin-right
:
0
}
._last_mr0
{
margin-left
:
0
}
._array_h_dbox
{
position
:
absolute
;
top
:
14px
;
right
:
-5px
;
}
._array_h_dbox_l
{
right
:
inherit
;
left
:
-40px
}
._array_h_down
{
width
:
35px
;
height
:
3px
;
position
:
absolute
;
background-color
:
#999999
}
._array_h_down_
{
width
:
3px
;
height
:
20px
;
position
:
absolute
;
background-color
:
#999999
}
._array_h_down_l
{
left
:
35px
}
.icon-xiaotuziCduan_1
{
position
:
absolute
;
left
:
28px
;
top
:
10px
;
color
:
#999999
;
}
.xiaotuziCduan_1_l
{
left
:
inherit
;
right
:
-9px
;
}
._right
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
;
}
._right
i
.icon-rizhi1
{
background-color
:
#67c23a
}
._right
i
.icon-rizhi1
:hover
{
background-color
:
#85ce61
}
._right
i
.icon-rizhi1
:active
{
background-color
:
#5daf34
}
._right
i
.icon-liucheng1
{
background-color
:
#409EFF
}
._right
i
.icon-liucheng1
:hover
{
background-color
:
#66b1ff
}
._right
i
.icon-liucheng1
:active
{
background-color
:
#3a8ee6
}
._right
i
.icon-bofang
{
background-color
:
#ebb563
}
._right
i
.icon-bofang
:hover
{
background-color
:
#ebb563
}
._right
i
.icon-bofang
:active
{
background-color
:
#cf9236
}
._right
i
.icon-zanting1
{
background-color
:
#ebb563
}
._right
i
.icon-zanting1
:hover
{
background-color
:
#ebb563
}
._right
i
.icon-zanting1
:active
{
background-color
:
#cf9236
}
._right
i
.el-icon-delete
{
background-color
:
#f56c6c
}
._right
i
.el-icon-delete
:hover
{
background-color
:
#f78989
}
._right
i
.el-icon-delete
:active
{
background-color
:
#dd6161
}
._left
._Icon_box
{
width
:
50px
;
padding
:
0
}
.page_FProcessManagement
.query-box
li
:last-child
{
top
:
100px
;
}
</
style
>
<
template
>
<div
class=
"page_FProcessManagement"
>
<div
class=
'query-box'
>
<ul>
<li><input
type=
"button"
class=
"normalBtn"
value=
"新增流程"
@
click=
"gotoSub('XaddFinancialProcess',0,8)"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"resetPageIndex();getTemplateList();"
/>
</li>
</ul>
</div>
<ul
class=
"_nav clearfix"
>
<li
class=
"_active"
@
click=
"getTemplateList()"
>
流程列表
</li>
</ul>
<ul>
<el-form
class=
"_info_box clearfix"
label-width=
"110px"
>
<el-row>
<el-col
:span=
"4"
:gutter=
"35"
>
<el-form-item
label=
"流程名称"
>
<el-input
v-model=
"msg.Name"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</ul>
<ul
class=
"_content"
v-loading=
"loading"
>
<li
v-for=
"(item,index) in CTemplateList"
>
<div
class=
"_left"
>
<div
class=
"_Icon_box"
>
<span
class=
"_Icon"
>
{{
item
.
Name
.
substring
(
0
,
1
)
}}
</span>
</div>
<div>
<p
class=
"_t"
>
{{
item
.
Name
}}
</p>
<p
class=
"_s"
>
{{
item
.
DescribeInfo
}}
</p>
</div>
</div>
<div
class=
"_cent _cent_zidingyi"
>
<div>
<p
class=
"_t"
>
类型
</p>
<p
class=
"_s"
>
{{
item
.
PropertyTypeName
}}
</p>
</div>
<div>
<p
class=
"_t _cu"
v-if=
"item.FinanceFlowConnectType!=3"
>
<el-popover
popper-class=
"detailsIT_Journal"
width=
"420"
trigger=
"click"
>
<div
class=
"InfoChangeLog"
v-if=
"item.SuitableObjectNameList"
>
<div
class=
"changLog"
>
<p
class=
"_log_t"
>
适用校区
</p>
<div
class=
"_feiyong"
>
<span
class=
"_bg_greend"
v-for=
"Cose in item.SuitableObjectNameList"
>
{{
Cose
}}
</span>
</div>
<p
class=
"_log_t _log_t_s"
>
注:以上校区将会被执行你设定的流程
</p>
</div>
</div>
<div
v-else
>
<p
class=
"_no_liucheng"
>
暂无适用校区!
</p>
</div>
<span
slot=
"reference"
class=
"_dt _cu"
type=
"success"
icon=
"iconfont icon-rizhi1"
v-if=
"item.FinanceFlowConnectType!=3"
>
{{
item
.
SuitableObjectNameListlength
}}
个适用校区
</span>
</el-popover>
</p>
<P
v-if=
"item.FinanceFlowConnectType==3"
>
<span
slot=
"reference"
class=
"_t"
type=
"success"
icon=
"iconfont icon-rizhi1"
>
集团通用
</span></P>
<p
class=
"_s"
>
适用校区
</p>
</div>
<div>
<p
class=
"_t"
v-if=
"item.Status==1"
>
{{
item
.
FlowNum
==
null
?
'无'
:
item
.
FlowNum
}}
</p>
<p
class=
"_t"
v-else
>
暂未开启流程
</p>
<p
class=
"_s"
>
子流程数量
</p>
</div>
</div>
<div
class=
"_right"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"日志"
placement=
"top"
>
<el-popover
popper-class=
"detailsIT_Journal"
width=
"250"
trigger=
"click"
>
<div
class=
"InfoChangeLog"
>
<div
class=
"changLog"
>
<p
class=
"_log_t"
>
流程日志
</p>
<ul
class=
"changLogList"
v-if=
"FinanceInfoChangeLog"
>
<li
class=
"changLogList_l"
v-for=
"(log,li) in FinanceInfoChangeLog"
>
<span
style=
"background-color: #47BF8C"
class=
"_radius_green"
></span>
<p>
<span
class=
"_color_blue"
>
{{
log
.
emName
}}
</span>
<span
class=
"fr changLog_time"
>
{{
log
.
Time
}}
</span>
</p>
<p
class=
"_dtel"
>
{{
log
.
StartValue
}}
</p>
</li>
</ul>
<ul
v-else
>
<li>
暂无修改日志
</li>
</ul>
</div>
</div>
<i
slot=
"reference"
v-show=
"item.Status==1"
class=
"iconfont icon-rizhi1"
@
click=
"FinanceInfoChangeLog = item.FinanceInfoChangeLog"
></i>
</el-popover>
</el-tooltip>
<el-tooltip
popper-class=
"item _process"
effect=
"dark"
content=
"流程"
placement=
"top"
>
<el-popover
popper-class=
"detailsIT_Journal"
width=
"600"
trigger=
"click"
>
<div
class=
"InfoChangeLog"
>
<div
class=
"changLog"
>
<p
class=
"_log_t"
>
收款流程
</p>
<my-FlowChartModule
:data=
"item.Workflow_Condition"
></my-FlowChartModule>
</div>
</div>
<i
slot=
"reference"
v-show=
"item.Status==1"
class=
"iconfont icon-liucheng1"
></i>
</el-popover>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"启用"
placement=
"top"
>
<i
class=
"iconfont icon-bofang"
v-show=
"item.Status==2"
@
click=
"UpdateStatus(item.Id,item.TemplateType)"
></i>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"停用"
placement=
"top"
>
<i
class=
"iconfont icon-zanting1"
v-show=
"item.Status==1"
@
click=
"UpdateStatus(item.Id,item.TemplateType)"
></i>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"修改"
placement=
"top"
>
<i
class=
"iconfont icon-liuchengsheji"
v-show=
"item.Status==1"
@
click=
"goUrl('XaddFinancialProcess',item.Id,8)"
></i>
</el-tooltip>
</div>
</li>
</ul>
<div
class=
"noData"
v-if=
"noData"
>
{{
$t
(
'system.content_noData'
)
}}
</div>
<div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
</el-pagination>
</div>
</div>
</
template
>
<
script
>
import
myFlowChartModule
from
"./components/FlowChartModule.vue"
;
export
default
{
data
()
{
return
{
sendData
:
{},
//TemplateList:[],
CTemplateList
:
[],
FinanceInfoChangeLog
:
[],
GetCostTypeList
:
[],
total
:
0
,
currentPage
:
1
,
noData
:
true
,
loading
:
false
,
msg
:
{
pageIndex
:
1
,
pageSize
:
6
,
RB_BranchId
:
-
1
,
Name
:
''
,
CostTypeID
:
0
,
TemplateSorce
:
2
}
}
},
created
()
{
let
type
=
this
.
$route
.
query
.
type
;
if
(
this
.
$route
.
query
.
Branch_Id
>=
0
)
{
this
.
msg
.
RB_BranchId
=
this
.
$route
.
query
.
Branch_Id
;
};
},
components
:
{
"my-FlowChartModule"
:
myFlowChartModule
},
methods
:
{
handleCurrentChange
(
val
)
{
//翻页功能按钮
this
.
msg
.
pageIndex
=
val
;
this
.
getTemplateList
();
},
tips
(
msg
,
type
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
type
:
type
});
},
addTemplate
(
obj
)
{
obj
.
RB_BranchId
=
this
.
msg
.
RB_BranchId
;
this
.
apipost
(
'FinancialFlowTemplate_post_Set'
,
obj
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
'启用成功!'
)
this
.
getTemplateList
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
deletTemplate
(
id
,
text
)
{
//删除
this
.
$confirm
(
'确定删除'
+
'“'
+
text
+
'”'
+
'流程吗?删除后不可恢复!'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'FinancialFlowTemplate_post_Remove'
,
{
ID
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
)
this
.
getTemplateList
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
});
});
},
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
=>
{})
},
UpdateStatus
(
id
,
type
)
{
//启停用
this
.
apipost
(
'FinancialFlowTemplate_post_UpdateStatus'
,
{
ID
:
id
,
TemplateType
:
type
,
RB_Branch_id
:
this
.
msg
.
RB_BranchId
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
)
this
.
getTemplateList
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
getTemplateList
()
{
this
.
loading
=
true
;
let
url
=
'FinancialFlowTemplate_post_GetPageList'
this
.
apipost
(
url
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
total
=
res
.
data
.
data
.
count
;
let
data
=
res
.
data
.
data
.
pageData
;
data
.
forEach
(
x
=>
{
if
(
x
.
CoseTypeList
==
null
)
{
x
.
CoseTypeListLength
=
0
}
else
{
x
.
CoseTypeListLength
=
x
.
CoseTypeList
.
length
;
}
if
(
x
.
SuitableObjectNameList
==
null
)
{
x
.
SuitableObjectNameListlength
=
0
}
else
{
x
.
SuitableObjectNameListlength
=
x
.
SuitableObjectNameList
.
length
}
if
(
x
.
Workflow_Condition
.
AuditList
!=
null
)
{
// v-if="lc.AuditWay!=1">({{lc.AuditWay=="2"?'会签':'或签'}})
x
.
Workflow_Condition
.
AuditList
.
forEach
(
y
=>
{
if
(
y
.
AuditWay
==
1
)
{
y
.
contentTips
=
y
.
AuditDescription
}
else
{
y
.
contentTips
=
y
.
AuditWay
==
2
?
y
.
AuditDescription
+
'(会签)'
:
y
.
AuditDescription
+
'(或签)'
}
})
}
x
.
FinanceInfoChangeLog
.
forEach
(
y
=>
{
y
.
Time
=
this
.
$commonUtils
.
formatMsgTime
(
y
.
UpdateDate
)
})
});
this
.
CTemplateList
=
data
;
this
.
loading
=
false
;
if
(
data
.
length
>
0
)
{
this
.
noData
=
false
;
}
else
{
this
.
noData
=
true
;
}
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
loading
=
false
;
}
},
err
=>
{})
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
this
.
currentPage
=
1
},
gotoSub
(
path
,
id
,
isZ
,
Branch_Id
)
{
var
tempStr
=
'/financial/'
+
path
+
'?id='
+
id
+
'&isZ='
+
isZ
+
'&xingzhen=true'
;
this
.
$router
.
push
({
path
:
tempStr
});
},
goUrl
(
path
,
id
,
isZ
,
Branch_Id
)
{
this
.
$router
.
push
({
path
:
path
,
query
:{
"id"
:
id
,
"isZ"
:
isZ
,
"xingzhen"
:
true
,
"blank"
:
'y'
,
tab
:
"修改流程"
}
})
},
},
mounted
()
{
this
.
getTemplateList
();
this
.
financeinfo_post_GetCostTypeList
();
}
}
</
script
>
src/pages/financial/XaddFinancialProcess.vue
0 → 100644
View file @
42cea84a
<
style
scoped
>
@import
"./css/cssReset.css"
;
.approval_page_layer
{
position
:
fixed
;
width
:
100%
;
left
:
0
;
top
:
0
;
z-index
:
99
;
height
:
100%
;
background
:
rgba
(
0
,
0
,
0
,
.2
);
}
.approval_person_set
{
width
:
800px
;
height
:
100%
;
transition
:
right
.3s
;
background
:
#fff
;
position
:
absolute
;
top
:
0
;
right
:
-800px
;
box-shadow
:
4px
0px
10px
rgba
(
0
,
0
,
0
,
0.1
)
}
.approval_person_set_right
{
right
:
0
;
}
.approval_person_layerContent
{
padding-left
:
20px
;
overflow
:
hidden
;
}
.page_addfp
.approval_page_content
{
width
:
680px
;
min-height
:
auto
!important
;
overflow
:
hidden
;
padding
:
0
20px
;
background
:
#fff
;
border-radius
:
4px
;
}
.approval_back_btn
{
margin
:
20px
0
;
}
.approval_page_title
{
height
:
14px
;
line-height
:
14px
;
padding-left
:
15px
;
border-left
:
3px
solid
#E95252
;
margin
:
20px
0
;
}
.approval_person_content
{
padding
:
20px
30px
;
overflow
:
hidden
;
margin-bottom
:
0
;
}
.approval_person_content
>
span
{
font-size
:
12px
;
color
:
#666
;
margin-right
:
30px
;
}
.approval_person_list
{
float
:
left
;
width
:
550px
;
max-height
:
400px
;
overflow
:
auto
;
margin-bottom
:
20px
;
}
.approval_person_content
span
.approval_span_type
{
float
:
left
;
width
:
120px
;
margin-bottom
:
20px
;
color
:
#333333
;
font-size
:
14px
;
}
span
.approval_person_list_tit
{
float
:
left
;
color
:
#666666
;
font-size
:
12px
;
line-height
:
30px
;
padding-right
:
20px
;
}
.approval_person_set
.setTitle
{
height
:
48px
;
line-height
:
48px
;
background
:
#EDEEF0
;
font-size
:
16px
;
color
:
#333
;
text-indent
:
20px
;
}
.approval_person_layerContent
{
padding-left
:
20px
;
overflow
:
hidden
;
}
approval_page_title
{
height
:
14px
;
line-height
:
14px
;
padding-left
:
15px
;
border-left
:
3px
solid
#E95252
;
margin
:
20px
0
;
}
.approval_layer_info
{
padding
:
20px
0
0
20px
;
}
.normalMember
{
margin
:
10px
0
;
width
:
700px
;
max-height
:
500px
;
overflow
:
auto
}
.normalMember
li
{
display
:
inline-block
;
margin
:
10px
;
padding
:
5px
10px
;
background
:
#f8f8f8
;
border-radius
:
4px
;
text-align
:
center
;
font-size
:
14px
;
color
:
#333
;
}
.approval_page_layer_bottom
{
position
:
absolute
;
bottom
:
20px
;
padding-left
:
20px
;
}
._info_box_top
{
padding-left
:
20px
;
padding-bottom
:
20px
}
.approval_layer_info
label
,
._info_box_top
label
{
font-size
:
14px
}
.approval_process_item_delete
{
position
:
absolute
;
right
:
2px
;
top
:
-11px
;
font-size
:
5px
;
}
.approval_process_item
{
display
:
inline-block
;
margin
:
0
5px
10px
0
;
cursor
:
pointer
;
}
.approval_process_item
b
.bnotice
{
color
:
#E95252
;
}
.approval_process_item
>
span
{
padding
:
0
10px
;
min-width
:
100px
;
height
:
40px
;
line-height
:
40px
;
text-align
:
center
;
font-size
:
12px
;
background
:
#e7e6f3
;
border-radius
:
4px
;
display
:
inline-block
;
}
.padding_l88
{
padding-left
:
88px
}
.SpecialNodeSelectType
{
display
:
inline-block
;
margin-right
:
15px
;
color
:
#606266
;
}
</
style
>
<
template
>
<div
class=
"page_addfp"
>
<div
class=
"approval_page_layer_none"
:class=
"
{approval_page_layer:showlayer}" @click="closeLayer">
<div
:class=
"
{approval_person_set:true,approval_person_set_right:isTransition}" @click.stop>
<p
class=
"setTitle"
>
{{
$t
(
'fnc.sprshezhi'
)
}}
</p>
<div
class=
"approval_person_layerContent"
>
<div
class=
"approval_page_title"
>
{{
$t
(
'fnc.sprleibie'
)
}}
</div>
<div
class=
"_info_box _info_box_top"
>
<label>
{{
$t
(
'fnc.jdmiaoshu'
)
}}
</label>
<el-input
v-model=
"AuditDescription"
class=
"w200"
size=
"mini"
:placeholder=
"$t('tips.qsrmiaoshu')"
maxlength=
"6"
></el-input>
</div>
<div
v-show=
"!xingzhenState"
class=
"_info_box _info_box_top"
>
<label>
{{
$t
(
'fnc.jddongzuo'
)
}}
</label>
<el-select
filterable
v-model=
'GetNodeValue'
class=
"w200"
size=
"mini"
>
<el-option
v-for=
'item in GetNodeList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
v-if=
"(radio==1&&item.ID!=2)||(radio==2&&item.ID!=1)"
>
</el-option>
</el-select>
</div>
<div
v-show=
"xingzhenState"
class=
"_info_box _info_box_top"
>
<label>
是否签名
</label>
<el-select
filterable
v-model=
'GetNodeValue'
class=
"w200"
size=
"mini"
>
<el-option
label=
'审核人签名'
:value=
'1'
></el-option>
<el-option
label=
'申请人签名'
:value=
'2'
></el-option>
<el-option
label=
'否'
:value=
'0'
></el-option>
</el-select>
</div>
<el-row
v-show=
"GetNodeValue!=2"
>
<el-col
:span=
"10"
style=
"padding-left: 20px;"
>
<el-radio-group
v-model=
"approvalType"
@
change=
'clearValue'
>
<el-radio
:label=
"1"
>
{{
$t
(
'fnc.zhuguan'
)
}}
</el-radio>
<el-radio
:label=
"2"
>
{{
$t
(
'fnc.zdchengyuan'
)
}}
</el-radio>
<el-radio
:label=
"3"
>
{{
$t
(
'admin.admin_Post'
)
}}
</el-radio>
</el-radio-group>
</el-col>
<el-col
v-show=
"!xingzhenState"
:span=
"14"
style=
"font-size:14px;"
>
<label
class=
"SpecialNodeSelectType"
>
{{
$t
(
'fnc.tsjiedian'
)
}}
</label>
<el-select
filterable
v-model=
'SpecialNodeSelectType'
@
change=
'changeSpecialNodeSelectType'
class=
"w200"
size=
"mini"
>
<el-option
v-for=
'item in SpecialNodeSelect'
:label=
'item.name'
:value=
'item.id'
:key=
'item.id'
>
</el-option>
</el-select>
</el-col>
</el-row>
<div
v-show=
"GetNodeValue!=2"
class=
"approval_layer_info"
v-if=
"approvalType==1"
>
<div
class=
"_info_box"
>
<label>
{{
$t
(
'fnc.fqrende'
)
}}
</label>
<el-select
filterable
v-model=
'directors'
class=
"w200"
size=
"mini"
>
<el-option
v-for=
'item in levelList'
:label=
'item.name'
:value=
'item.level'
:key=
'item.level'
>
</el-option>
</el-select>
</div>
</div>
<div
class=
"approval_layer_info"
v-if=
"approvalType==2"
>
<div
class=
"normalMember"
>
<ul>
<li
v-for=
"item in showMember"
>
{{
item
.
EmployeeName
}}
</li>
</ul>
</div>
<input
type=
"button"
class=
"normalBtn"
@
click=
"getMember()"
:value=
"$t('fnc.tjchengyuan')"
/>
<div
style=
"margin: 10px 0;"
v-if=
"showMember.length>1"
>
<el-radio-group
v-model=
"AuditWay"
>
<el-radio
:label=
"2"
>
{{
$t
(
'fnc.huiquandetail'
)
}}
</el-radio>
<el-radio
:label=
"3"
>
{{
$t
(
'fnc.huoqiandetail'
)
}}
</el-radio>
</el-radio-group>
</div>
</div>
<div
class=
"approval_layer_info"
v-if=
"approvalType==3"
>
<div
class=
"normalMember"
>
<ul>
<li
v-for=
"item in showRole"
>
{{
item
.
DepartmentName
}}
</li>
</ul>
</div>
<input
type=
"button"
class=
"normalBtn"
@
click=
"outerVisible1 = true,dialogTitle = $t('fnc.xzgangwei')"
:value=
"$t('fnc.addgangweo')"
/>
<div
style=
"margin: 10px 0;"
>
<el-radio-group
v-model=
"AuditWay"
>
<el-radio
:label=
"2"
>
{{
$t
(
'fnc.huiquandetail'
)
}}
</el-radio>
<el-radio
:label=
"3"
>
{{
$t
(
'fnc.huoqiandetail'
)
}}
</el-radio>
</el-radio-group>
</div>
</div>
<div
class=
"approval_layer_info"
v-if=
"approvalType==4"
>
<div
class=
"normalMember"
>
<ul>
<li
v-for=
"item in showMember"
>
{{
item
.
DepartmentName
}}
</li>
</ul>
</div>
<div
style=
"margin: 10px 0;"
>
<el-radio-group
v-model=
"AuditWay"
>
<el-radio
:label=
"2"
>
{{
$t
(
'fnc.huiquandetail'
)
}}
</el-radio>
<el-radio
:label=
"3"
>
{{
$t
(
'fnc.huoqiandetail'
)
}}
</el-radio>
</el-radio-group>
</div>
</div>
<div
class=
"approval_layer_info"
v-if=
"approvalType==5||approvalType==6||approvalType==7||approvalType==8 || approvalType==9||approvalType==10||approvalType==11"
>
<div
style=
"margin: 10px 0;"
>
<el-radio-group
v-model=
"AuditWay"
>
<el-radio
:label=
"2"
>
{{
$t
(
'fnc.huiquandetail'
)
}}
</el-radio>
<el-radio
:label=
"3"
>
{{
$t
(
'fnc.huoqiandetail'
)
}}
</el-radio>
</el-radio-group>
</div>
</div>
</div>
<div
class=
"approval_page_layer_bottom"
>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.cancelBtn')"
@
click=
"closeLayer"
/>
<input
type=
"button"
class=
"normalBtn"
v-if=
'addBtn'
:value=
"$t('pub.sureBtn')"
@
click=
"addNode"
/>
<input
type=
"button"
class=
"normalBtn"
v-if=
'!addBtn'
:value=
"$t('fnc.xgjiedian')"
@
click=
"saveUpdateNode"
/>
</div>
</div>
</div>
<div
v-loading=
"loading"
>
<input
type=
"button"
class=
"hollowFixedBtn approval_back_btn"
:value=
"$t('pub.returnBack')"
@
click=
"goUrl('XProcessManagement')"
/>
<el-form
class=
"_add_box clearfix"
:model=
"addMsg"
ref=
"addMsg"
:rules=
"rules"
label-width=
"100px"
>
<div
class=
"approval_page_title"
>
{{
$t
(
'fnc.jcxinxi'
)
}}
</div>
<el-form-item
:label=
"$t('fnc.lcmingcheng')"
prop=
"Name"
>
<el-input
v-model=
"addMsg.Name"
class=
"w200"
size=
"small"
maxlength=
"10"
></el-input>
</el-form-item>
<el-form-item
label=
"校区"
>
<el-select
filterable
multiple
v-model=
'BranchIdS'
class=
"w200"
size=
"small"
@
change=
"disabledOption"
>
<el-option
:label=
'$t("fnc.jttongyong")'
:value=
'-1'
:key=
'-1'
>
</el-option>
<el-option
v-for=
'item in CompanyList'
:label=
'item.SName'
:value=
'item.SId'
:key=
'item.SId'
:disabled=
"item.disabled"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
v-if=
"xingzhenState"
label=
"审批类型"
>
<el-select
filterable
v-model=
'addMsg.PropertyType'
size=
"small"
class=
"w200"
>
<el-option
v-for=
'item in PropertyTypeList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</el-form-item>
<!-- 判断行政流程修改还是 -->
<div
v-show=
"!xingzhenState"
>
<el-form-item
:label=
"$t('fnc.lcleixing')"
>
<el-radio
v-model=
"radio"
v-if=
"addMsg.TemplateType!=8"
disabled=
"disabled"
:label=
"1"
>
{{
$t
(
'restaurant.res_income'
)
}}
</el-radio>
<el-radio
v-model=
"radio"
v-else
@
change=
"getCostTypeList(1),CostIdS=[],accListShow=true"
:label=
"1"
>
{{
$t
(
'restaurant.res_income'
)
}}
</el-radio>
<el-radio
v-model=
"radio"
v-if=
"addMsg.TemplateType!=8"
disabled=
"disabled"
:label=
"2"
>
{{
$t
(
'restaurant.res_outcome'
)
}}
</el-radio>
<el-radio
v-model=
"radio"
v-else
@
change=
"getCostTypeList(2),CostIdS=[],accListMsg=[],accListShow=false"
:label=
"2"
>
{{
$t
(
'restaurant.res_outcome'
)
}}
</el-radio>
<el-radio
v-model=
"radio"
v-if=
"addMsg.TemplateType!=8"
disabled=
"disabled"
:label=
"7"
>
{{
$t
(
'fnc.guazhang'
)
}}
</el-radio>
<el-radio
v-model=
"radio"
v-else
@
change=
"getCostTypeList(2),CostIdS=[],accListMsg=[],accListShow=false"
:label=
"7"
>
{{
$t
(
'fnc.guazhang'
)
}}
</el-radio>
<el-radio
v-model=
"radio"
v-if=
"addMsg.TemplateType!=8"
disabled=
"disabled"
:label=
"8"
>
折让
</el-radio>
<el-radio
v-model=
"radio"
v-else
@
change=
"getCostTypeList(2),CostIdS=[],accListMsg=[],accListShow=false"
:label=
"8"
>
折让
</el-radio>
</el-form-item>
<el-form-item
:label=
"$t('fnc.scfujian')"
>
<el-radio
v-model=
"addMsg.IsUploadPic"
:label=
"0"
>
{{
$t
(
'fnc.buqiyong'
)
}}
</el-radio>
<el-radio
v-model=
"addMsg.IsUploadPic"
:label=
"1"
>
{{
$t
(
'fnc.qiyong'
)
}}
</el-radio>
</el-form-item>
<el-form-item
:label=
"$t('ios.sfxianshi')"
>
<el-radio
@
change=
"RadioShow"
v-model=
"addMsg.IsShow"
:label=
"1"
>
{{
$t
(
'pub.yes'
)
}}
</el-radio>
<el-radio
@
change=
"RadioShow"
v-model=
"addMsg.IsShow"
:label=
"2"
>
{{
$t
(
'pub.no'
)
}}
</el-radio>
</el-form-item>
<el-form-item
v-show=
"addMsg.IsShow==2"
label=
"可显示部门"
>
<el-select
filterable
multiple
v-model=
'addMsg.ShowDepartmentList'
class=
"w200"
style=
"max-height:100px;overflow:hidden"
size=
"small"
>
<el-option
v-for=
'item in DepartmentList'
:label=
'item.DeptName'
:value=
'item.DeptId'
:key=
'item.DeptId'
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
v-show=
"addMsg.IsShow==2"
label=
"可显示人"
>
<el-select
filterable
multiple
v-model=
'addMsg.ShowEmployeeList'
class=
"w200"
style=
"max-height:100px;overflow:hidden"
size=
"small"
>
<el-option
v-for=
'item in EmployeeList'
:label=
'item.EmployeeName'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('fnc.syfeiyong')"
v-if=
"addMsg.TemplateType==8"
size=
"small"
class=
"_treeselect"
>
<treeselect
class=
"w230"
v-model=
"CostIdS"
value-consists-of=
"LEAF_PRIORITY"
:placeholder=
"$t('pub.pleaseSel')"
:multiple=
"true"
:options=
"CostTypeList"
noChildrenText=
''
:normalizer=
"normalizer"
/>
</el-form-item>
<el-form-item
:label=
"$t('fnc.syzhanghu')"
v-if=
"accListShow"
>
<el-checkbox
:indeterminate=
"isIndeterminate"
v-model=
"AccCheckAll"
@
change=
"handleCheckAllChangeAcc"
>
{{
$t
(
'system.table_chekAll'
)
}}
</el-checkbox>
<div
style=
"margin: 15px 0;"
></div>
<el-checkbox-group
v-model=
"accListMsg"
@
change=
"handleCheckedCitiesChangeAcc"
text-color=
"#409EFF"
fill=
"#409EFF"
>
<el-checkbox
:value=
"1"
:label=
"1"
:key=
"1"
>
{{
$t
(
'fnc.yinhang'
)
}}
</el-checkbox>
<el-checkbox
:value=
"2"
:label=
"2"
:key=
"2"
>
{{
$t
(
'fnc.xianjin'
)
}}
</el-checkbox>
<el-checkbox
:value=
"3"
:label=
"3"
:key=
"3"
>
{{
$t
(
'fnc.pingtai'
)
}}
</el-checkbox>
<el-checkbox
:value=
"4"
:label=
"4"
:key=
"4"
>
{{
$t
(
'fnc.zjinchi'
)
}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</div>
<el-form-item
label=
"排序"
>
<el-input
v-model=
"addMsg.Sort"
class=
"w250"
size=
"small"
maxlength=
"60"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('fnc.mbmiaoshu')"
>
<el-input
v-model=
"addMsg.DescribeInfo"
class=
"w450"
size=
"small"
maxlength=
"100"
></el-input>
</el-form-item>
<div
class=
"approval_page_title"
>
{{
$t
(
'fnc.lcshezhi'
)
}}
</div>
<div
class=
"approval_page_content"
>
<div
class=
"approval_person_content"
>
<span
class=
"approval_span_type"
>
{{
$t
(
'fnc.mrspliucheng'
)
}}
</span>
<span
style=
"float:right"
>
<el-button
@
click=
"Auditshow=true"
style=
"padding:4px"
type=
"primary"
icon=
"el-icon-edit"
circle
></el-button>
</span>
<div
class=
"approval_person_list fl"
>
<span
class=
"approval_person_list_tit"
>
{{
$t
(
'fnc.mrspiren'
)
}}
</span>
<div
class=
"padding_l88"
>
<div
class=
"approval_process_item"
draggable=
"true"
v-for=
"(item,index) in myAuditList"
@
click=
"getItemValue(item,index),AuditDescription = item.AuditDescription"
>
<span
style=
"position: relative;"
@
mouseenter=
"itemIndex=index"
@
mouseleave=
"itemIndex='-1'"
>
<i
class=
"iconfont icon-user11"
></i>
{{
item
.
AuditDescription
}}
<b
class=
"bnotice"
v-if=
"item.AuditWay!=1"
>
(
{{
item
.
AuditWay
==
"2"
?
$t
(
'fnc.huiqian'
):
$t
(
'fnc.huoqian'
)
}}
)
</b>
<em
v-if=
'index==itemIndex'
class=
"iconfont icon-guanbi approval_process_item_delete"
@
click
.
stop=
'deleteItem(item.Sort)'
></em>
</span>
<i
class=
"iconfont icon-jiantouyou"
></i>
</div>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"addAppPerson"
:value=
"$t('fnc.tianjia')"
/>
</div>
</div>
<div
class=
"approval_person_list fl"
>
<span
class=
"approval_person_list_tit"
>
{{
$t
(
'fnc.mrcsongren'
)
}}
</span>
<div
class=
"padding_l88"
>
<div
class=
"approval_process_item"
draggable=
"true"
v-for=
"(item,index) in myAuditUserList"
>
<span
style=
"position: relative;"
@
mouseenter=
"itemIndex1=index"
@
mouseleave=
"itemIndex1='-1'"
>
<i
class=
"iconfont icon-user11"
></i>
{{
item
.
emName
}}
<em
v-if=
'index==itemIndex1'
class=
"iconfont icon-guanbi approval_process_item_delete"
@
click
.
stop=
'deleteUser2(index)'
></em>
</span>
<i
class=
"iconfont icon-jiantouyou"
></i>
</div>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"addAuditUser"
:value=
"$t('fnc.tianjia')"
/>
</div>
</div>
</div>
</div>
</el-form>
<div
style=
"margin: 30px 0;"
>
<input
type=
"button"
:value=
"$t('pub.cancelBtn')"
class=
"hollowFixedBtn"
@
click=
"goUrl('XProcessManagement')"
/>
<input
type=
"button"
:value=
"$t('pub.saveBtn')"
class=
"normalBtn"
@
click=
"saveApproval"
/>
</div>
</div>
<el-dialog
custom-class=
'w700'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible"
center
>
<div
class=
"fl"
style=
"width: 300px; margin: 0 20px;"
>
<p
style=
"margin: 0 0 10px 0;"
>
{{
$t
(
'fnc.xuanze'
)
}}
:
<el-input
class=
'w200'
:placeholder=
"$t('tips.srgjzjxguolv')"
v-model=
"filterText"
>
</el-input>
</p>
<el-tree
class=
'ApprovalProcessBg'
:data=
"memberList"
show-checkbox
:filter-node-method=
"filterNode"
ref=
"tree"
:props=
"defaultProps"
:render-after-expand=
"false"
node-key=
"Id"
:check-on-click-node=
"true"
@
check-change=
"handleNodeChange"
>
</el-tree>
</div>
<div
class=
"fl"
>
<p
style=
"margin: 0 0 20px 0;"
>
{{
$t
(
'fnc.yixuan'
)
}}
:
</p>
<div
class=
"Approval_yxList"
>
<li
v-for=
"(item,index) in showMember"
>
{{
item
.
EmployeeName
}}
<i
@
click=
"mySetCheckedKeys(item.Id,index)"
class=
"el-icon-circle-close showMemberIcon"
></i>
</li>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible = false"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"outerVisible = false"
>
{{
$t
(
'pub.sureBtn'
)
}}
</button>
</div>
</el-dialog>
<el-dialog
custom-class=
'w700'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible1"
center
>
<div
class=
"fl"
style=
"width: 300px; margin: 0 20px;"
>
<p
style=
"margin: 0 0 10px 0;"
>
{{
$t
(
'fnc.xzgangwei'
)
}}
:
<el-input
class=
'w200'
:placeholder=
"$t('tips.srgjzjxguolv')"
v-model=
"filterText1"
>
</el-input>
</p>
<el-tree
class=
'ApprovalProcessBg'
:data=
"roleList"
ref=
"treeRole"
show-checkbox
:filter-node-method=
"filterNode1"
:props=
"defaultProps1"
:check-on-click-node=
"true"
:check-strictly=
"true"
@
check-change=
"checkedRole"
:default-checked-keys=
"defaultCheckedArr"
node-key=
"PostId"
>
</el-tree>
</div>
<div
class=
"fl"
>
<p
style=
"margin: 0 0 20px 0;"
>
{{
$t
(
'fnc.yixuangangwei'
)
}}
:
</p>
<div
class=
"Approval_yxList"
>
<li
v-for=
"(item,index) in showRole"
>
{{
item
.
DepartmentName
}}
<i
@
click=
"deleteRole(index)"
class=
"el-icon-circle-close showMemberIcon"
></i>
</li>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible1= false"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"outerVisible1 = false"
>
{{
$t
(
'pub.sureBtn'
)
}}
</button>
</div>
</el-dialog>
<el-dialog
custom-class=
'w700'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible2"
center
>
<div
class=
"fl"
style=
"width: 300px; margin: 0 20px;"
>
<p
style=
"margin: 0 0 10px 0;"
>
{{
$t
(
'fnc.xzcsongren'
)
}}
:
<el-input
class=
'w200'
:placeholder=
"$t('tips.srgjzjxguolv')"
v-model=
"filterText2"
>
</el-input>
</p>
<el-tree
class=
'ApprovalProcessBg'
:data=
"userList"
show-checkbox
:filter-node-method=
"filterNode2"
ref=
"treeUser"
:props=
"defaultProps2"
:render-after-expand=
"false"
:check-on-click-node=
"true"
node-key=
"Id"
@
check-change=
"handleNodeChange1"
>
</el-tree>
</div>
<div
class=
"fl"
>
<p
style=
"margin: 0 0 20px 0;"
>
{{
$t
(
'fnc.yixuan'
)
}}
:
</p>
<div
class=
"Approval_yxList"
>
<li
v-for=
"(item,index) in myAuditUserList1"
>
{{
item
.
emName
}}
<i
@
click=
"deleteUser(index)"
class=
"el-icon-circle-close showMemberIcon"
></i>
</li>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible2 = false"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"saveAuditUser"
>
{{
$t
(
'pub.sureBtn'
)
}}
</button>
</div>
</el-dialog>
<el-dialog
title=
"修改审批人"
:visible
.
sync=
"Auditshow"
width=
"400px"
>
<div>
<ul>
<li
v-for=
"(item,index) in myAuditList"
:key=
"index+500"
style=
"margin-bottom:10px"
>
<span
style=
"display:inline-block;width:90px"
>
{{
item
.
AuditDescription
}}
</span>
<el-input
v-model
.
number=
"item.Sort"
size=
"mini"
style=
"width:200px"
></el-input>
</li>
</ul>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"mini"
@
click=
"Auditshow = false"
>
取 消
</el-button>
<el-button
size=
"mini"
type=
"danger"
@
click=
"AuditSort"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getSchoolPage
}
from
'../../api/school/index'
import
{
getPostPage
,
}
from
'../../api/system/post'
import
{
getDeptPage
,
}
from
'../../api/system/dept'
import
Treeselect
from
'@riophae/vue-treeselect'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
{
queryEmployee
}
from
'../../api/users/user'
export
default
{
components
:
{
Treeselect
},
data
()
{
return
{
PropertyTypeList
:
[],
xingzhenState
:
false
,
DepartmentList
:
[],
EmployeeList
:
[],
Auditshow
:
false
,
accListShow
:
true
,
TemplateId
:
0
,
radio
:
1
,
addMsg
:
{
Id
:
0
,
Name
:
''
,
DescribeInfo
:
''
,
Sort
:
'0'
,
TemplateType
:
'8'
,
TempLateClass
:
''
,
FinancialInstitutions
:
[],
RB_BranchId
:
-
1
,
IsUploadPic
:
0
,
Workflow_Condition
:
{
Id
:
0
,
AuditList
:
[],
AuditUserList
:
[],
},
IsShow
:
1
,
ShowEmployeeList
:
[],
ShowDepartmentList
:
[],
PropertyType
:
''
,
TemplateSorce
:
2
,
},
AuditUserList
:
{
EmployeeIdName
:
''
,
EmployeeId
:
''
,
Sort
:
''
},
getPostMsg
:
{
RB_Group_Id
:
'0'
},
i
:
0
,
SpecialNodeSelect
:
[{
id
:
4
,
name
:
this
.
$t
(
'fnc.kjiedian'
)
},
{
id
:
5
,
name
:
this
.
$t
(
'fnc.cnchuangkou'
)
},
{
id
:
6
,
name
:
this
.
$t
(
'fnc.kjchuangkou'
)
}
],
accListMsg
:
[],
SpecialNodeSelectType
:
''
,
AuditDescription
:
''
,
AuditWay
:
2
,
RoleOrInitiator
:
''
,
BranchIdS
:
[],
CostIdS
:
[],
CompanyList
:
[],
CostTypeList
:
[],
myAuditList
:
[],
levelList
:
[],
showMember
:
[],
memberList
:
[],
memberSetCheckedKeys
:
[],
memberSetCheckedUserKeys
:
[],
myAuditUserList
:
[],
showRole
:
[],
roleList
:
[],
roleSetCheckedKeys
:
[],
sysUserKeys
:
[],
userList
:
[],
myAuditUserList1
:
[],
getMsg
:
[],
GetNodeList
:
[],
showlayer
:
false
,
isTransition
:
false
,
addBtn
:
true
,
outerVisible
:
false
,
outerVisible1
:
false
,
outerVisible2
:
false
,
loading
:
false
,
dialogTitle
:
''
,
approvalType
:
1
,
itemIndex
:
-
1
,
itemIndex1
:
-
1
,
GetNodeValue
:
0
,
updateItemIndex
:
-
1
,
//修改节点
directors
:
''
,
// 直接主管等级
filterText
:
""
,
filterText1
:
""
,
filterText2
:
""
,
DepartIDs
:
'0'
,
defaultCheckedArr
:
[],
defaultProps
:
{
children
:
'ChildList'
,
label
:
'EmployeeName'
,
},
defaultProps1
:
{
// children: 'ChildList',
label
:
'PostName'
,
disabled
:
"Disabled"
},
defaultProps2
:
{
children
:
'ChildList'
,
label
:
'EmployeeName'
,
},
rules
:
{
Name
:
[{
required
:
true
,
message
:
this
.
$t
(
'rule.qsrlcmingcheng'
),
trigger
:
'blur'
}],
TypeId
:
[{
required
:
true
,
message
:
this
.
$t
(
'rule.qxzzhleixing'
),
trigger
:
'change'
}],
},
tongyong
:
false
,
normalizer
(
node
)
{
return
{
id
:
node
.
ID
,
label
:
node
.
Name
,
children
:
node
.
ChildList
,
}
},
WindowList
:
[],
WindowID
:
''
,
AccCheckAll
:
false
,
AccList
:
[{
id
:
1
,
lab
:
this
.
$t
(
'fnc.yinhang'
)
},
{
id
:
2
,
lab
:
this
.
$t
(
'fnc.xianjin'
)
},
{
id
:
3
,
lab
:
this
.
$t
(
'fnc.pingtai'
)
},
{
id
:
4
,
lab
:
this
.
$t
(
'fnc.zjinchi'
)
}],
isIndeterminate
:
true
,
schoolMsg
:{
pageIndex
:
1
,
pageSize
:
99999
,
rowsPerPage
:
12
,
SName
:
""
,
Status
:
'-1'
},
//岗位msg
jobMsg
:{
pageIndex
:
1
,
pageSize
:
12
,
rowsPerPage
:
12
,
PostName
:
""
,
//岗位名称
PostId
:
0
,
//岗位编号
Status
:
"-1"
,
}
}
},
watch
:
{
filterText
(
val
)
{
this
.
$refs
.
tree
.
filter
(
val
);
},
filterText1
(
val
)
{
this
.
$refs
.
treeRole
.
filter
(
val
);
},
filterText2
(
val
)
{
this
.
$refs
.
treeUser
.
filter
(
val
);
}
},
created
()
{
let
userInfo
=
this
.
getLocalStorage
();
this
.
TemplateId
=
this
.
$route
.
query
.
id
;
this
.
getPostMsg
.
RB_Group_Id
=
userInfo
.
Group_Id
;
this
.
addMsg
.
TemplateType
=
this
.
$route
.
query
.
isZ
;
this
.
DepartIDs
=
userInfo
.
DeptId
;
if
(
this
.
$route
.
query
.
id
===
0
)
{
if
(
this
.
$route
.
query
.
Branch_Id
>=
0
)
{
this
.
BranchIdS
.
push
(
this
.
$route
.
query
.
Branch_Id
);
this
.
addMsg
.
RB_BranchId
=
this
.
$route
.
query
.
Branch_Id
;
};
}
this
.
getSchool
()
},
mounted
()
{
if
(
this
.
$route
.
query
.
xingzhen
)
{
this
.
xingzhenState
=
true
;
this
.
addMsg
.
TemplateSorce
=
2
;
this
.
CostIdS
.
push
(
'0'
)
// this.addMsg.PropertyType="";
this
.
getPropertyType
();
}
this
.
getMaxDepartmentTierList
();
if
(
this
.
TemplateId
!=
0
)
{
this
.
getList
();
}
else
{
this
.
getCostTypeList
(
1
)
}
this
.
getFinancialFlowTemplate_post_GetNodeList
();
this
.
getRole
()
this
.
getEmployeeList
();
this
.
getDepartment
();
},
methods
:
{
getSchool
()
{
getSchoolPage
(
this
.
schoolMsg
).
then
(
res
=>
{
this
.
CompanyList
=
res
.
Data
.
PageData
;
}).
catch
(()
=>
{
})
},
getPropertyType
()
{
this
.
apipost
(
"FinancialFlowTemplate_post_GetPropertyTypeList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
PropertyTypeList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//根据多公司获取部门
getDepartment
()
{
let
msg
=
{
pageIndex
:
1
,
pageSize
:
999
,
rowsPerPage
:
12
,
DeptName
:
""
,
//部门名称
DeptId
:
0
,
//部门编号
Status
:
"-1"
,
School_Id
:
0
,
DeptTier
:
0
,
ParentId
:
0
,
}
getDeptPage
(
msg
).
then
(
res
=>
{
this
.
DepartmentList
=
res
.
Data
.
PageData
;
}).
catch
(()
=>
{
})
},
RadioShow
(
val
)
{
if
(
val
==
1
)
{
this
.
addMsg
.
ShowEmployeeList
=
[];
this
.
addMsg
.
ShowDepartmentList
=
[];
}
},
getEmployeeList
()
{
queryEmployee
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
){
this
.
EmployeeList
=
res
.
Data
;
}
}).
catch
(()
=>
{
})
// this.apipost(
// 'admin_get_EmployeeGetList', {},
// res => {
// if (res.data.resultCode == 1) {
// this.EmployeeList = res.data.data
// }
// },
// err => {}
// )
},
AuditSort
()
{
let
sum
=
0
;
let
sortnum
=
0
;
for
(
let
i
=
0
;
i
<
this
.
myAuditList
.
length
;
i
++
)
{
let
id
=
this
.
myAuditList
[
i
].
Sort
;
sum
+=
i
+
1
;
sortnum
+=
this
.
myAuditList
[
i
].
Sort
;
}
if
(
sum
!=
sortnum
)
{
this
.
Error
(
"请输入连续的排序!"
)
return
;
}
this
.
myAuditList
.
sort
(
this
.
$commonUtils
.
createComprisonFunction
(
"Sort"
)
);
this
.
Auditshow
=
false
;
},
handleCheckAllChangeAcc
(
val
)
{
this
.
accListMsg
=
val
?
[
1
,
2
,
3
,
4
]
:
[];
this
.
isIndeterminate
=
false
;
},
handleCheckedCitiesChangeAcc
(
value
)
{
let
checkedCount
=
value
.
length
;
this
.
AccCheckAll
=
checkedCount
===
this
.
AccList
.
length
;
this
.
isIndeterminate
=
checkedCount
>
0
&&
checkedCount
<
this
.
AccList
.
length
;
},
changeSpecialNodeSelectType
(
i
)
{
// 设置特殊节点值
this
.
approvalType
=
i
;
},
getFinancialFlowTemplate_post_GetNodeList
()
{
this
.
apipost
(
'FinancialFlowTemplate_post_GetNodeList'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
GetNodeList
=
res
.
data
.
data
}
},
err
=>
{})
},
getList
()
{
this
.
loading
=
true
this
.
apipost
(
'FinancialFlowTemplate_post_Get'
,
{
ID
:
this
.
TemplateId
,
TemplateType
:
this
.
addMsg
.
TemplateType
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
loading
=
false
;
let
data
=
res
.
data
.
data
;
this
.
getMsg
=
data
;
this
.
addMsg
.
Id
=
data
.
Id
;
this
.
addMsg
.
Name
=
data
.
Name
;
this
.
addMsg
.
DescribeInfo
=
data
.
DescribeInfo
;
this
.
addMsg
.
Sort
=
data
.
Sort
;
this
.
addMsg
.
TempLateClass
=
data
.
TempLateClass
;
this
.
addMsg
.
IsUploadPic
=
data
.
IsUploadPic
;
this
.
addMsg
.
IsShow
=
data
.
IsShow
;
this
.
addMsg
.
ShowEmployeeList
=
data
.
ShowEmployeeList
;
this
.
addMsg
.
ShowDepartmentList
=
data
.
ShowDepartmentList
;
this
.
addMsg
.
PropertyType
=
data
.
PropertyType
;
if
(
data
.
list
&&
data
.
list
[
0
]
!==
-
1
)
{
this
.
accListMsg
=
data
.
list
;
}
if
(
data
.
TempLateClass
!=
null
)
{
this
.
radio
=
data
.
TempLateClass
;
this
.
getCostTypeList
(
data
.
TempLateClass
.
toString
())
}
if
(
data
.
Workflow_Condition
.
AuditList
)
{
data
.
Workflow_Condition
.
AuditList
.
forEach
(
x
=>
{
if
(
x
.
AuditType
==
1
)
{
x
.
AuditUserList
=
[{
EmployeeId
:
''
,
Sort
:
''
}];
}
if
(
x
.
AuditType
==
3
)
{
x
.
AuditUserList
=
[{
EmployeeId
:
''
,
Sort
:
''
}];
}
})
}
if
(
data
.
FinanceFlowConnectType
==
3
)
{
this
.
BranchIdS
.
push
(
-
1
);
}
else
{
data
.
SuitableObjectNameList
.
forEach
(
x
=>
{
this
.
BranchIdS
.
push
(
parseInt
(
x
));
})
}
let
CostIdS
=
data
.
CoseTypeList
.
length
==
0
?
[]
:
JSON
.
parse
(
JSON
.
stringify
(
data
.
CoseTypeList
));
let
arr
=
[]
CostIdS
.
forEach
(
x
=>
{
arr
.
push
(
parseInt
(
x
))
})
this
.
CostIdS
=
arr
;
this
.
myAuditList
=
data
.
Workflow_Condition
.
AuditList
==
null
?
[]
:
data
.
Workflow_Condition
.
AuditList
this
.
myAuditList
.
forEach
((
x
,
index
)
=>
{
x
.
Sort
=
index
+
1
if
(
x
.
AuditUserList
!=
null
&&
x
.
AuditType
==
2
)
{
x
.
Name
=
x
.
AuditDescription
}
})
this
.
myAuditUserList
=
data
.
Workflow_Condition
.
AuditUserList
==
null
?
[]
:
data
.
Workflow_Condition
.
AuditUserList
this
.
myAuditUserList1
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
myAuditUserList
))
this
.
myAuditUserList1
.
forEach
(
item
=>
{
this
.
sysUserKeys
.
push
(
item
.
EmployeeId
)
})
if
(
this
.
radio
!==
1
)
{
this
.
accListShow
=
false
;
}
this
.
disabledOption
();
}
else
{}
},
error
=>
{})
},
disabledOption
()
{
// 选择公司 如果选择通用则禁用其它选项
if
(
this
.
BranchIdS
.
length
==
0
)
{
this
.
CompanyList
.
forEach
(
y
=>
{
y
.
disabled
=
false
})
this
.
tongyong
=
false
}
else
{
this
.
BranchIdS
.
forEach
(
x
=>
{
if
(
x
==
-
1
)
{
this
.
BranchIdS
=
[]
this
.
BranchIdS
.
push
(
-
1
)
this
.
CompanyList
.
forEach
(
y
=>
{
y
.
disabled
=
true
})
this
.
tongyong
=
true
}
})
}
},
disabledOption2
()
{
// 选择费用类型 如果选择通用则禁用其它选项
if
(
this
.
CostIdS
.
length
==
0
)
{
this
.
CostTypeList
.
forEach
(
y
=>
{
y
.
disabled
=
false
})
}
else
{
this
.
CostIdS
.
forEach
(
x
=>
{
if
(
x
==
'0'
)
{
this
.
CostIdS
=
[]
this
.
CostIdS
.
push
(
'0'
)
this
.
CostTypeList
.
forEach
(
y
=>
{
y
.
disabled
=
true
})
}
})
}
},
saveApproval
()
{
// 保存数据
if
(
this
.
xingzhenState
)
{
if
(
!
this
.
addMsg
.
PropertyType
||
this
.
addMsg
.
PropertyType
==
''
)
{
this
.
Error
(
"请选择审批类型!"
);
return
;
}
}
if
(
this
.
accListMsg
.
length
===
0
)
{
this
.
addMsg
.
list
=
[
-
1
]
}
else
{
this
.
addMsg
.
list
=
this
.
accListMsg
}
this
.
addMsg
.
FinancialInstitutions
=
[];
if
(
this
.
BranchIdS
.
length
!=
0
)
{
//适用公司
this
.
BranchIdS
.
forEach
(
x
=>
{
if
(
x
==
-
1
)
{
let
FinancialInstitutions
=
{
ID
:
0
,
SuitableObjectId
:
''
,
Type
:
''
}
FinancialInstitutions
.
SuitableObjectId
=
0
FinancialInstitutions
.
Type
=
3
this
.
addMsg
.
FinancialInstitutions
.
push
(
FinancialInstitutions
)
}
else
{
let
FinancialInstitutions
=
{
ID
:
0
,
SuitableObjectId
:
''
,
Type
:
''
}
FinancialInstitutions
.
Type
=
1
;
FinancialInstitutions
.
SuitableObjectId
=
x
;
this
.
CompanyList
.
forEach
(
y
=>
{
if
(
x
==
y
.
SId
){
FinancialInstitutions
.
SuitableObjectIdName
=
y
.
SName
}
})
this
.
addMsg
.
FinancialInstitutions
.
push
(
FinancialInstitutions
)
}
})
}
else
{
this
.
$message
.
error
(
this
.
$t
(
'tips.qxzsygongsi'
))
return
}
if
(
this
.
CostIdS
.
length
!=
0
)
{
//适用费用
this
.
CostIdS
.
forEach
(
x
=>
{
let
FinancialInstitutions
=
{
ID
:
0
,
SuitableObjectId
:
x
,
Type
:
2
}
this
.
addMsg
.
FinancialInstitutions
.
push
(
FinancialInstitutions
)
})
}
else
{
this
.
$message
.
error
(
this
.
$t
(
'tips.qxzsyfeiyong'
))
return
}
if
(
this
.
myAuditList
.
length
!=
0
)
{
this
.
addMsg
.
Workflow_Condition
.
AuditList
=
this
.
myAuditList
}
else
{
this
.
$message
.
error
(
this
.
$t
(
'tips.qxzspiren'
))
return
}
if
(
this
.
myAuditUserList
.
length
!=
0
)
{
this
.
addMsg
.
Workflow_Condition
.
AuditUserList
=
this
.
myAuditUserList
}
//暂时为空
// this.addMsg.Workflow_Condition.AuditUserList = []
if
(
this
.
TemplateId
!=
0
)
{
this
.
addMsg
.
Workflow_Condition
.
Id
=
this
.
getMsg
.
Workflow_Condition
.
Id
}
if
(
this
.
radio
!=
''
)
{
this
.
addMsg
.
TempLateClass
=
parseInt
(
this
.
radio
)
}
else
{
this
.
$message
.
error
(
this
.
$t
(
'tips.qxzliucehng'
))
return
}
this
.
loading
=
true
;
this
.
addMsg
.
Workflow_Condition
.
AuditList
;
this
.
apipost
(
'FinancialFlowTemplate_post_Set'
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
loading
=
false
;
this
.
$message
.
success
(
this
.
$t
(
'tips.czchenggong'
))
if
(
this
.
xingzhenState
)
{
this
.
$router
.
push
({
path
:
'XProcessmanagement'
,
query
:
{
"type"
:
this
.
addMsg
.
TemplateType
,
'Branch_Id'
:
this
.
$route
.
query
.
Branch_Id
}
})
}
else
{
this
.
$router
.
push
({
path
:
'FProcessManagement'
,
query
:
{
"type"
:
this
.
addMsg
.
TemplateType
,
'Branch_Id'
:
this
.
$route
.
query
.
Branch_Id
}
})
}
}
else
{
this
.
loading
=
false
;
if
(
this
.
xingzhenState
)
{
this
.
addMsg
.
TemplateSorce
=
2
;
}
this
.
addMsg
=
{
PropertyType
:
''
,
Id
:
this
.
addMsg
.
Id
,
Name
:
this
.
addMsg
.
Name
,
DescribeInfo
:
this
.
addMsg
.
DescribeInfo
,
Sort
:
this
.
addMsg
.
Sort
,
TemplateType
:
this
.
addMsg
.
TemplateType
,
TempLateClass
:
this
.
radio
,
FinancialInstitutions
:
[],
RB_BranchId
:
this
.
$route
.
query
.
Branch_Id
,
Workflow_Condition
:
{
Id
:
this
.
addMsg
.
Workflow_Condition
.
Id
,
AuditList
:
[],
AuditUserList
:
[],
},
TemplateSorce
:
2
,
}
this
.
$message
.
error
(
res
.
data
.
message
)
return
}
},
err
=>
{})
},
deleteUser
(
index
)
{
// 删除人员
var
arr
=
[];
this
.
myAuditUserList1
.
splice
(
index
,
1
);
this
.
myAuditUserList1
.
forEach
(
x
=>
{
arr
.
push
(
x
.
EmployeeId
);
})
if
(
this
.
$refs
.
treeUser
){
this
.
$refs
.
treeUser
.
setCheckedKeys
(
arr
);
}
},
deleteUser2
(
index
){
this
.
myAuditUserList
.
splice
(
index
,
1
);
},
saveAuditUser
()
{
// 抄送人保存
if
(
this
.
myAuditUserList1
.
length
<=
10
)
{
this
.
myAuditUserList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
myAuditUserList1
))
this
.
outerVisible2
=
false
}
else
{
this
.
$message
.
error
(
this
.
$t
(
'tips.rsbncgtr'
))
return
false
;
}
},
handleNodeChange1
(
data
,
checked
)
{
//抄送人操作选中
data
.
IsCheck
=
checked
;
let
res
=
this
.
$refs
.
treeUser
.
getCheckedNodes
(
true
,
true
);
this
.
myAuditUserList1
=
[];
res
.
forEach
((
x
,
index
)
=>
{
var
obj
=
{
sort
:
index
+
1
,
emName
:
x
.
EmployeeName
,
EmployeeId
:
x
.
Id
}
this
.
myAuditUserList1
.
push
(
obj
)
})
},
addAuditUser
()
{
// 抄送人
// let _arr = this.sysUserKeys.concat(this.memberSetCheckedUserKeys)
// this.dialogTitle = this.$t('fnc.xzrenyuan');
// this.outerVisible2 = true;
// let _this = this;
// this.apipost('WorkFlow_get_GetTempLateDepartMentEmployee', {}, res => {
// if (res.data.resultCode == 1) {
// this.userList = res.data.data
// }
// }, err => {})
this
.
dialogTitle
=
this
.
$t
(
'fnc.xzrenyuan'
);
this
.
outerVisible2
=
true
;
var
arr
=
[];
if
(
this
.
myAuditUserList1
.
length
>
0
){
this
.
myAuditUserList1
.
forEach
(
x
=>
{
arr
.
push
(
x
.
EmployeeId
);
})
if
(
this
.
$refs
.
treeUser
){
this
.
$refs
.
treeUser
.
setCheckedKeys
(
arr
);
}
}
queryEmployee
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
){
this
.
userList
=
res
.
Data
;
}
}).
catch
(()
=>
{
})
},
checkedRole
(
data
,
checked
)
{
// 岗位选择+
if
(
checked
){
this
.
$refs
.
treeRole
.
setCheckedKeys
([
data
.
PostId
]);
}
let
res
=
this
.
$refs
.
treeRole
.
getCheckedNodes
(
true
,
true
);
this
.
showRole
=
[];
res
.
forEach
((
x
,
index
)
=>
{
var
obj
=
{
DepartmentName
:
x
.
PostName
,
Id
:
x
.
PostId
}
this
.
showRole
.
push
(
obj
)
})
},
deleteRole
(
index
)
{
// 删除已选岗位
this
.
showRole
.
splice
(
index
,
1
);
var
arr
=
[];
this
.
showRole
.
forEach
(
x
=>
{
arr
.
push
(
x
.
Id
);
})
if
(
this
.
$refs
.
treeRole
){
this
.
$refs
.
treeRole
.
setCheckedKeys
(
arr
);
}
},
getRole
()
{
// 选择岗位
getPostPage
(
this
.
jobMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
){
this
.
roleList
=
res
.
Data
.
PageData
;
}
}).
catch
(()
=>
{
})
},
saveUpdateNode
()
{
let
AuditList
=
{};
let
type
=
this
.
approvalType
if
(
this
.
AuditDescription
==
''
)
{
return
this
.
$message
.
error
(
this
.
$t
(
'tips.qtxjdmiaoshu'
))
}
if
(
type
==
1
)
{
AuditList
.
AuditType
=
type
;
AuditList
.
AuditWay
=
1
;
AuditList
.
AuditUserList
=
[{
EmployeeId
:
''
,
EmployeeIdName
:
''
,
Sort
:
''
}];
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
RoleOrInitiator
=
this
.
directors
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
if
(
this
.
GetNodeValue
==
2
){
this
.
directors
=
1
}
if
(
this
.
directors
==
''
)
{
return
this
.
$message
.
error
(
this
.
$t
(
'tips.qxzbmzgjibie'
))
}
this
.
levelList
.
forEach
(
x
=>
{
if
(
x
.
level
==
this
.
directors
)
{
AuditList
.
Name
=
this
.
AuditDescription
AuditList
.
AuditDescription
=
this
.
AuditDescription
}
else
return
})
this
.
myAuditList
[
this
.
updateItemIndex
]
=
AuditList
;
}
if
(
type
==
2
)
{
//指定成员
let
Au
=
this
.
showMember
;
let
Auu
=
[];
Au
.
forEach
((
item
,
index
)
=>
{
Auu
.
push
({
EmployeeId
:
item
.
Id
,
EmName
:
item
.
EmployeeName
,
Sort
:
index
+
1
})
})
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
Name
=
this
.
AuditDescription
;
AuditList
.
AuditType
=
2
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditUserList
=
Auu
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
if
(
Auu
.
length
==
0
)
{
this
.
$message
.
error
(
this
.
$t
(
'tips.cybnweikong'
))
return
}
else
if
(
Auu
.
length
>
10
)
{
this
.
$message
.
error
(
this
.
$t
(
'tips.rsbncgtr'
))
return
}
this
.
myAuditList
[
this
.
updateItemIndex
]
=
AuditList
;
}
if
(
type
==
3
)
{
//岗位
AuditList
.
AuditType
=
3
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
AuditUserList
=
[{
EmployeeId
:
''
,
Sort
:
''
}];
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
if
(
this
.
showRole
.
length
==
0
)
{
this
.
$message
.
error
(
this
.
$t
(
'tips.qxzgangwei'
))
return
}
else
{
AuditList
.
RoleOrInitiator
=
this
.
showRole
[
0
].
Id
;
AuditList
.
RoleOrInitiatorName
=
this
.
showRole
[
0
].
DepartmentName
;
AuditList
.
AduitName
=
this
.
showRole
[
0
].
DepartmentName
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
}
this
.
myAuditList
[
this
.
updateItemIndex
]
=
AuditList
;
}
if
(
type
==
4
)
{
//空节点
AuditList
.
AuditType
=
4
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
AuditUserList
=
[{
EmployeeId
:
'0'
,
Sort
:
''
}];
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
AuditList
.
RoleOrInitiator
=
0
;
AuditList
.
Name
=
''
;
AuditList
.
AduitName
=
''
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
this
.
myAuditList
[
this
.
updateItemIndex
]
=
AuditList
;
}
if
(
type
==
5
)
{
//出纳
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
5
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
[
this
.
updateItemIndex
]
=
AuditList
;
}
if
(
type
==
6
)
{
//会计
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
6
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
[
this
.
updateItemIndex
]
=
AuditList
;
}
if
(
type
==
7
)
{
//线控(当团OP所在部门的负责人)
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
7
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
[
this
.
updateItemIndex
]
=
AuditList
;
}
if
(
type
==
10
)
{
//分公司op(当团OP所在部门的负责人)
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
10
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
[
this
.
updateItemIndex
]
=
AuditList
;
}
if
(
type
==
11
)
{
//总部线控
AuditList
.
AuditType
=
11
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
[
this
.
updateItemIndex
]
=
AuditList
;
}
if
(
type
==
8
)
{
//记账负责人
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
8
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
[
this
.
updateItemIndex
]
=
AuditList
;
}
if
(
type
==
9
)
{
//收款出纳
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
9
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
[
this
.
updateItemIndex
]
=
AuditList
;
}
this
.
closeLayer
()
},
getItemValue
(
obj
,
index
)
{
this
.
SpecialNode
=
obj
.
SpecialNode
this
.
addBtn
=
false
;
this
.
updateItemIndex
=
index
;
this
.
updateItem
=
obj
;
this
.
showLayer
();
this
.
approvalType
=
obj
.
AuditType
;
this
.
GetNodeValue
=
obj
.
SpecialNode
;
if
(
obj
.
AuditType
==
1
)
{
this
.
directors
=
obj
.
RoleOrInitiator
}
if
(
obj
.
AuditType
==
2
)
{
// this.showMember = [];
this
.
memberSetCheckedKeys
=
[];
this
.
AuditWay
=
obj
.
AuditWay
;
var
arr
=
[];
obj
.
AuditUserList
.
forEach
((
item
,
index
)
=>
{
this
.
showMember
.
push
({
EmployeeName
:
item
.
EmName
,
Id
:
item
.
EmployeeId
})
arr
.
push
(
item
.
EmployeeId
);
if
(
this
.
$refs
.
tree
){
this
.
$refs
.
tree
.
setCheckedKeys
(
arr
);
}
})
}
if
(
obj
.
AuditType
==
3
)
{
this
.
AuditWay
=
obj
.
AuditWay
;
this
.
showRole
=
[];
this
.
showRole
.
push
({
DepartmentName
:
obj
.
RoleOrInitiatorName
,
Id
:
obj
.
RoleOrInitiator
})
this
.
defaultCheckedArr
.
push
(
obj
.
RoleOrInitiator
)
}
if
(
obj
.
AuditType
==
4
)
{
this
.
AuditWay
=
obj
.
AuditWay
;
this
.
showRole
=
[];
this
.
showRole
.
push
({
DepartmentName
:
obj
.
AduitName
,
Id
:
obj
.
RoleOrInitiator
})
this
.
SpecialNodeSelectType
=
obj
.
AuditType
;
}
if
(
obj
.
AuditType
==
5
||
obj
.
AuditType
==
6
||
obj
.
AuditType
==
7
||
obj
.
AuditType
==
8
||
obj
.
AuditType
==
9
||
obj
.
AuditType
==
10
||
obj
.
AuditType
==
11
)
{
this
.
AuditWay
=
obj
.
AuditWay
;
this
.
WindowID
=
obj
.
RoleOrInitiator
;
this
.
SpecialNodeSelectType
=
obj
.
AuditType
;
}
},
handleNodeChange
(
data
,
checked
)
{
data
.
IsCheck
=
checked
;
let
res
=
this
.
$refs
.
tree
.
getCheckedNodes
(
true
,
true
);
this
.
showMember
=
[];
res
.
forEach
(
x
=>
{
var
obj
=
{
EmployeeName
:
x
.
EmployeeName
,
Id
:
x
.
Id
}
this
.
showMember
.
push
(
obj
)
})
},
mySetCheckedKeys
(
id
,
index
)
{
var
arr
=
[];
this
.
showMember
.
splice
(
index
,
1
);
this
.
showMember
.
forEach
(
x
=>
{
arr
.
push
(
x
.
Id
);
})
if
(
this
.
$refs
.
tree
){
this
.
$refs
.
tree
.
setCheckedKeys
(
arr
);
}
},
getMember
()
{
// 获取指定成员列表
this
.
outerVisible
=
true
;
this
.
dialogTitle
=
this
.
$t
(
'fnc.xzrenyuan'
);
queryEmployee
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
){
this
.
memberList
=
res
.
Data
;
}
}).
catch
(()
=>
{
})
var
arr
=
[];
this
.
showMember
.
forEach
(
x
=>
{
arr
.
push
(
x
.
Id
);
})
if
(
this
.
$refs
.
tree
){
this
.
$refs
.
tree
.
setCheckedKeys
(
arr
);
}
},
deleteItem
(
sort
)
{
// 删除已添加审批人
this
.
myAuditList
.
splice
(
this
.
myAuditList
.
findIndex
(
item
=>
item
.
Sort
===
sort
),
1
)
},
addNode
()
{
// 添加节点
let
AuditList
=
{};
let
type
=
this
.
approvalType
if
(
this
.
AuditDescription
==
''
)
{
return
this
.
$message
.
error
(
'请填写节点描述!'
)
}
if
(
type
==
1
)
{
AuditList
.
AuditType
=
type
;
AuditList
.
AuditWay
=
1
;
AuditList
.
AuditUserList
=
[{
EmployeeId
:
''
,
Sort
:
''
}];
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
RoleOrInitiator
=
this
.
directors
;
AuditList
.
AuditDescription
=
''
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
if
(
this
.
GetNodeValue
==
2
){
this
.
directors
=
1
}
if
(
this
.
directors
==
''
)
{
return
this
.
$message
.
error
(
this
.
$t
(
'tips.qxzbmzgjibie'
))
}
this
.
levelList
.
forEach
(
x
=>
{
if
(
x
.
level
==
this
.
directors
)
{
AuditList
.
Name
=
this
.
AuditDescription
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
}
else
return
})
this
.
myAuditList
.
push
(
AuditList
)
}
if
(
type
==
2
)
{
let
Au
=
this
.
showMember
;
let
Auu
=
[];
Au
.
forEach
((
item
,
index
)
=>
{
Auu
.
push
({
EmployeeId
:
item
.
Id
,
EmName
:
item
.
EmployeeName
,
Sort
:
index
+
1
})
})
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
Name
=
this
.
AuditDescription
;
AuditList
.
AuditType
=
type
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditUserList
=
Auu
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
if
(
Auu
.
length
==
0
)
{
this
.
$message
.
error
(
'成员不能为空'
)
return
}
else
if
(
Auu
.
length
>
10
)
{
this
.
$message
.
error
(
'rsbncgtr'
)
return
}
this
.
myAuditList
.
push
(
AuditList
);
}
if
(
type
==
3
)
{
AuditList
.
AuditType
=
type
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditUserList
=
[{
EmployeeId
:
''
,
Sort
:
''
}];
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
if
(
this
.
showRole
.
length
==
0
)
{
this
.
$message
.
error
(
this
.
$t
(
'tips.qxzbumen'
))
return
}
else
{
AuditList
.
RoleOrInitiator
=
this
.
showRole
[
0
].
Id
;
AuditList
.
RoleOrInitiatorName
=
this
.
showRole
[
0
].
DepartmentName
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
}
this
.
myAuditList
.
push
(
AuditList
);
}
if
(
type
==
4
)
{
//空节点
AuditList
.
AuditType
=
type
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditUserList
=
[{
EmployeeId
:
'0'
,
Sort
:
''
}];
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
AuditList
.
RoleOrInitiator
=
0
;
AuditList
.
Name
=
''
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
this
.
myAuditList
.
push
(
AuditList
);
}
if
(
type
==
5
)
{
//出纳
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
5
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
.
push
(
AuditList
);
}
if
(
type
==
6
)
{
//会计
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
6
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
.
push
(
AuditList
);
}
if
(
type
==
7
)
{
//op
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
7
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
.
push
(
AuditList
);
}
if
(
type
==
10
)
{
//分公司op
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
10
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
.
push
(
AuditList
);
}
if
(
type
==
11
)
{
//总部线控
AuditList
.
AuditType
=
11
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
.
push
(
AuditList
);
}
if
(
type
==
8
)
{
//记账出纳
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
8
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
.
push
(
AuditList
);
}
if
(
type
==
9
)
{
//收款出纳
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList
.
AuditType
=
9
;
AuditList
.
RoleOrInitiator
=
''
;
AuditList
.
AuditWay
=
this
.
AuditWay
;
AuditList
.
Sort
=
this
.
myAuditList
.
length
+
1
;
AuditList
.
AuditDescription
=
this
.
AuditDescription
;
AuditList
.
SpecialNode
=
this
.
GetNodeValue
;
this
.
myAuditList
.
push
(
AuditList
);
}
this
.
closeLayer
()
},
clearValue
(
t
)
{
// 选择会计出纳窗口获取对应下拉
this
.
SpecialNodeSelectType
=
''
;
// 选择普通节点初始化 特殊节点 值
},
changeValue
(
value
)
{
},
getMaxDepartmentTierList
()
{
// 获取直接主管层级
this
.
apipost
(
'admin_get_GetMaxDepartmentTier'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
let
newList
=
[];
data
.
forEach
(
x
=>
{
let
newObj
=
{
level
:
x
,
name
:
this
.
$t
(
'tips.di'
)
+
x
+
this
.
$t
(
'tips.jizhuguan'
),
}
newList
.
push
(
newObj
)
});
this
.
levelList
=
newList
}
else
{}
},
err
=>
{})
},
getCostTypeList
(
type
)
{
// 获取费用类型
this
.
apipost
(
'Financial_post_GetTreeList'
,
{
Type
:
type
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
CostTypeList
=
res
.
data
.
data
;
this
.
CostTypeList
.
unshift
({
ChildList
:
[],
ID
:
'0'
,
Name
:
this
.
$t
(
'active.cl_tongyong'
)
})
}
else
{}
},
err
=>
{})
},
addAppPerson
()
{
// 添加默认审批人按钮
this
.
approvalType
=
1
;
this
.
addBtn
=
true
;
this
.
AuditDescription
=
''
;
this
.
showLayer
();
this
.
showMember
=
[];
this
.
showRole
=
[];
this
.
GetNodeValue
=
0
;
},
goUrl
(
path
)
{
this
.
$router
.
push
({
path
:
'/financial/'
+
path
,
query
:
{
"type"
:
this
.
addMsg
.
TemplateType
,
'Branch_Id'
:
this
.
$route
.
query
.
Branch_Id
}
})
},
showLayer
()
{
// 开启弹层
this
.
showlayer
=
true
;
this
.
isTransition
=
true
;
},
closeLayer
()
{
// 关闭弹层
let
_this
=
this
;
this
.
directors
=
''
setTimeout
(
function
()
{
_this
.
showlayer
=
false
;
},
300
)
this
.
showMember
=
[];
this
.
memberSetCheckedKeys
=
[];
// this.$refs.tree.setCheckedKeys(this.memberSetCheckedKeys);
this
.
isTransition
=
false
;
this
.
defaultCheckedArr
=
[];
this
.
WindowID
=
''
;
this
.
SpecialNodeSelectType
=
''
;
},
filterNode
(
value
,
data
)
{
if
(
!
value
)
return
true
;
return
data
.
DepartmentName
.
indexOf
(
value
)
!==
-
1
;
},
filterNode1
(
value
,
data
)
{
if
(
!
value
)
return
true
;
return
data
.
PostName
.
indexOf
(
value
)
!==
-
1
;
},
filterNode2
(
value
,
data
)
{
if
(
!
value
)
return
true
;
return
data
.
DepartmentName
.
indexOf
(
value
)
!==
-
1
;
},
}
}
</
script
>
src/router/routes.js
View file @
42cea84a
...
...
@@ -242,11 +242,21 @@ const routes = [{
component
:
()
=>
import
(
"pages/financial/FProcessManagement.vue"
)
},
{
path
:
"/financial/XProcessManagement"
,
//资产流程管理、
component
:
()
=>
import
(
"pages/financial/XProcessManagement.vue"
)
},
{
path
:
"/financial/addFinancialProcess"
,
//新增修改等级
component
:
()
=>
import
(
"pages/financial/addFinancialProcess.vue"
)
},
{
path
:
"/financial/XaddFinancialProcess"
,
//新增修改资产流程
component
:
()
=>
import
(
"pages/financial/XaddFinancialProcess.vue"
)
},
{
path
:
"/financial/accountingWork"
,
//会计窗口
component
:
()
=>
...
...
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