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
fb2c183d
Commit
fb2c183d
authored
Jul 12, 2021
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
系统流程修改
parent
2bea587f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
813 additions
and
359 deletions
+813
-359
backclassflow-form.vue
src/components/flow/backclassflow-form.vue
+355
-0
changeclassflow-form.vue
src/components/flow/changeclassflow-form.vue
+355
-0
process-form.vue
src/components/flow/process-form.vue
+79
-29
processSet.vue
src/pages/system/processSet.vue
+24
-330
No files found.
src/components/flow/backclassflow-form.vue
0 → 100644
View file @
fb2c183d
<
style
>
.processSet
{
width
:
350px
;
}
.processSet
.processList
{
width
:
100%
;
height
:
auto
;
}
.processSet
.processTop
{
width
:
100%
;
height
:
54px
;
background-color
:
#F1F1F1
;
color
:
#000000
;
text-align
:
center
;
line-height
:
54px
;
border-radius
:
2px
;
cursor
:
pointer
;
position
:
relative
;
}
.processSet
.processLine
{
width
:
100%
;
height
:
54px
;
background-color
:
#fff
;
color
:
#bbb6b6
;
text-align
:
center
;
line-height
:
54px
;
}
.processSet
.processLine
i
{
font-size
:
25px
;
font-weight
:
bold
;
}
.processSet
.otherList
{
background-color
:
#2961FE
!important
;
color
:
#fff
;
font-weight
:
bold
;
}
.processSet
.process_TwoList
{
display
:
flex
;
background-color
:
#2961FE
!important
;
color
:
#fff
;
font-weight
:
bold
;
align-items
:
center
;
justify-content
:
center
;
}
.processSet
.process_He
{
width
:
36px
;
height
:
36px
;
background-color
:
#3FC4FF
;
text-align
:
center
;
line-height
:
36px
;
color
:
#fff
;
border-radius
:
50%
;
}
.processSet
.process_Left
{
width
:
40%
;
height
:
100%
;
text-align
:
right
;
}
.processSet
.process_center
{
width
:
20%
;
height
:
100%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.processSet
.process_Right
{
width
:
40%
;
height
:
100%
;
text-align
:
left
;
}
.processSet
.process_OR
{
background-color
:
#F28C1D
;
}
.processSet
.addProcessBtn
{
width
:
100%
;
height
:
45px
;
text-align
:
center
;
line-height
:
45px
;
color
:
#2961FE
;
border
:
1px
dashed
#2961FE
;
border-radius
:
2px
;
cursor
:
pointer
;
}
.processSet
.process_BtnList
{
margin-top
:
30px
;
width
:
100%
;
display
:
flex
;
justify-content
:
center
;
}
.processSet
.process_BtnOne
{
width
:
90px
;
height
:
38px
;
text-align
:
center
;
line-height
:
38px
;
border-radius
:
2px
;
border
:
1px
solid
#A1AAB2
;
color
:
#000000
;
cursor
:
pointer
;
margin-right
:
50px
;
}
.processSet
.SetShouSun
{
display
:
inline-block
;
border-radius
:
2px
;
background-color
:
#8175FB
;
color
:
#fff
;
position
:
absolute
;
right
:
10px
;
width
:
60px
;
height
:
27px
;
left
:
0
;
top
:
0
;
line-height
:
27px
;
font-size
:
13px
;
}
.processSet
.operationDiv
{
position
:
absolute
;
right
:
0
;
top
:
0
;
height
:
30px
;
line-height
:
30px
;
padding-right
:
10px
;
vertical-align
:
top
;
}
.processSet
.operationDiv
i
:first-child
{
font-size
:
13px
;
}
.processSet
.operationDiv
i
:hover
{
color
:
red
;
}
.processSet
.justTwoClass
{
margin-left
:
8px
;
}
</
style
>
<
template
>
<div
class=
"processSet"
>
<div
class=
"processList"
>
<div
class=
"processTop"
>
发起人
</div>
<div
class=
"processLine"
>
<i
class=
"iconfont icon-down"
></i>
</div>
</div>
<template
v-for=
"(item,index) in flowObj.FlowNodeList"
>
<div
class=
"processList"
@
click=
"getItem(index)"
>
<template
v-if=
"item.FlowAduitList&&item.FlowAduitList.length==1"
>
<div
class=
"processTop otherList"
>
{{
item
.
FlowAduitList
[
0
].
AduitName
}}
<template
v-if=
"item.FlowAduitList&&item.FlowAduitList.length>0 && item.FlowAduitList[0].IsSpecNode==1"
>
<span
class=
"SetShouSun"
>
设定收损
</span>
</
template
>
<div
class=
"operationDiv"
>
<i
class=
"iconfont icon-shanchu"
style=
"position:relative;top:-2px;"
@
click
.
stop=
"DeleteNode(index)"
></i>
<i
style=
"margin:0 8px;"
class=
"iconfont icon-shangyi2"
v-if=
"index!=0"
@
click
.
stop=
"moveDown(index,0)"
></i>
<i
class=
"iconfont icon-xiayi"
:class=
"{'justTwoClass':index==0}"
@
click
.
stop=
"moveDown(index,1)"
v-if=
"index!=flowObj.FlowNodeList.length-1"
></i>
</div>
</div>
<div
class=
"processLine"
v-if=
"index!=flowObj.FlowNodeList.length-1"
>
<i
class=
"iconfont icon-down"
></i>
</div>
</template>
<
template
v-else
>
<div
class=
"processTop process_TwoList"
>
<div
class=
"process_Left"
>
{{
item
.
FlowAduitList
[
0
].
AduitName
}}
</div>
<div
class=
"process_center"
>
<template
v-if=
"item.FlowAduitList[0].AuditWay==2"
>
<div
class=
"process_He"
>
和
</div>
</
template
>
<
template
v-if=
"item.FlowAduitList[0].AuditWay==3"
>
<div
class=
"process_He process_OR"
>
或者
</div>
</
template
>
</div>
<div
class=
"process_Right"
>
<
template
v-for=
"(subItem,subIndex) in item.FlowAduitList"
v-if=
"subIndex>0"
>
{{
subItem
.
AduitName
}}
</
template
>
</div>
<
template
v-if=
"item.FlowAduitList&&item.FlowAduitList.length>0 && item.FlowAduitList[0].IsSpecNode==1"
>
<span
class=
"SetShouSun"
>
设定收损
</span>
</
template
>
<div
class=
"operationDiv"
>
<i
class=
"iconfont icon-shanchu"
style=
"position:relative;top:-2px;"
@
click
.
stop=
"DeleteNode(index)"
></i>
<i
style=
"margin:0 8px;"
class=
"iconfont icon-shangyi2"
v-if=
"index!=0"
@
click
.
stop=
"moveDown(index,0)"
></i>
<i
class=
"iconfont icon-xiayi"
:class=
"{'justTwoClass':index==0}"
@
click
.
stop=
"moveDown(index,1)"
v-if=
"index!=flowObj.FlowNodeList.length-1"
></i>
</div>
</div>
<div
class=
"processLine"
v-if=
"index!=flowObj.FlowNodeList.length-1"
>
<i
class=
"iconfont icon-down"
></i>
</div>
</template>
</div>
</template>
<br
/>
<div
class=
"addProcessBtn"
@
click=
"AddNode"
>
新增节点
</div>
<div
class=
"process_BtnList"
>
<!-- <div class="process_BtnOne">日志信息</div> -->
<q-btn
label=
"保存"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"setBackClassFlow"
/>
</div>
<process-form
v-if=
"isShowProcess"
:save-obj=
"processObj"
:NodeIndex=
"ChooseNodeIndex"
@
close=
"closeProcessForm"
@
success=
"refreshPage"
:authObj=
"showObj"
>
</process-form>
</div>
</template>
<
script
>
import
processForm
from
'../../components/flow/process-form'
;
import
{
queryBackClassFlow
,
saveBackClassFlow
}
from
'../../api/system/index'
export
default
{
meta
:
{
title
:
""
},
components
:
{
processForm
},
data
()
{
return
{
msg
:
{
FlowId
:
1
},
isShowProcess
:
false
,
//显示旁边弹窗
processObj
:
{},
//传递子组件
flowObj
:
{
FlowId
:
1
,
FlowName
:
"退课流程"
,
FlowNodeList
:
[],
//审核节点列表
},
//显示对象
showObj
:
{
isShowShouSun
:
1
,
//显示收损
},
ChooseNodeIndex
:
0
,
}
},
created
()
{},
mounted
()
{
this
.
getBackClassFlow
();
},
methods
:
{
//新增节点
AddNode
()
{
this
.
flowObj
.
FlowNodeList
.
push
({
FlowId
:
0
,
NodeId
:
0
,
NodeName
:
"新增节点"
,
SortNum
:
0
,
FlowAduitList
:
[{
AduitName
:
"新增节点"
,
AuditType
:
2
,
AuditWay
:
2
,
CheckId
:
0
,
FlowId
:
0
,
IsSpecNode
:
0
,
NodeId
:
8
,
PostType
:
0
,
UserId
:
0
,
}]
});
},
//删除节点
DeleteNode
(
index
)
{
this
.
$q
.
dialog
({
title
:
'提示信息'
,
message
:
'是否确定删除该流程'
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
,
}).
onOk
(()
=>
{
this
.
flowObj
.
FlowNodeList
.
splice
(
index
,
1
);
}).
onCancel
(()
=>
{
});
},
getBackClassFlow
()
{
queryBackClassFlow
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
&&
res
.
Data
)
{
this
.
flowObj
=
res
.
Data
;
}
})
},
//点开旁边
getItem
(
nodeIndex
)
{
this
.
processObj
=
this
.
flowObj
;
this
.
ChooseNodeIndex
=
nodeIndex
;
this
.
isShowProcess
=
true
;
},
//关闭
closeProcessForm
()
{
this
.
isShowProcess
=
false
},
//成功刷新
refreshPage
()
{
this
.
isShowProcess
=
false
;
this
.
getBackClassFlow
();
},
//保存退课流程
setBackClassFlow
()
{
saveBackClassFlow
(
this
.
flowObj
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'操作成功'
,
position
:
'top'
})
this
.
refreshPage
();
}
})
},
//下移下移
moveDown
(
index
,
IsUp
)
{
var
currentItem
=
this
.
flowObj
.
FlowNodeList
[
index
];
if
(
IsUp
==
0
)
{
if
(
index
>
0
)
{
var
upItem
=
this
.
flowObj
.
FlowNodeList
[
index
-
1
];
this
.
$set
(
this
.
flowObj
.
FlowNodeList
,
index
-
1
,
currentItem
);
this
.
$set
(
this
.
flowObj
.
FlowNodeList
,
index
,
upItem
);
}
}
else
{
if
(
index
!=
this
.
flowObj
.
FlowNodeList
.
length
-
1
)
{
var
downItem
=
this
.
flowObj
.
FlowNodeList
[
index
+
1
];
this
.
$set
(
this
.
flowObj
.
FlowNodeList
,
index
+
1
,
currentItem
);
this
.
$set
(
this
.
flowObj
.
FlowNodeList
,
index
,
downItem
);
}
}
}
}
}
</
script
>
src/components/flow/changeclassflow-form.vue
0 → 100644
View file @
fb2c183d
<
style
>
.changeClassProcess
{
width
:
350px
;
}
.changeClassProcess
.processList
{
width
:
100%
;
height
:
auto
;
}
.changeClassProcess
.processTop
{
width
:
100%
;
height
:
54px
;
background-color
:
#F1F1F1
;
color
:
#000000
;
text-align
:
center
;
line-height
:
54px
;
border-radius
:
2px
;
cursor
:
pointer
;
position
:
relative
;
}
.changeClassProcess
.processLine
{
width
:
100%
;
height
:
54px
;
background-color
:
#fff
;
color
:
#bbb6b6
;
text-align
:
center
;
line-height
:
54px
;
}
.changeClassProcess
.processLine
i
{
font-size
:
25px
;
font-weight
:
bold
;
}
.changeClassProcess
.otherList
{
background-color
:
#2961FE
!important
;
color
:
#fff
;
font-weight
:
bold
;
}
.changeClassProcess
.process_TwoList
{
display
:
flex
;
background-color
:
#2961FE
!important
;
color
:
#fff
;
font-weight
:
bold
;
align-items
:
center
;
justify-content
:
center
;
}
.changeClassProcess
.process_He
{
width
:
36px
;
height
:
36px
;
background-color
:
#3FC4FF
;
text-align
:
center
;
line-height
:
36px
;
color
:
#fff
;
border-radius
:
50%
;
}
.changeClassProcess
.process_Left
{
width
:
40%
;
height
:
100%
;
text-align
:
right
;
}
.changeClassProcess
.process_center
{
width
:
20%
;
height
:
100%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.changeClassProcess
.process_Right
{
width
:
40%
;
height
:
100%
;
text-align
:
left
;
}
.changeClassProcess
.process_OR
{
background-color
:
#F28C1D
;
}
.changeClassProcess
.addProcessBtn
{
width
:
100%
;
height
:
45px
;
text-align
:
center
;
line-height
:
45px
;
color
:
#2961FE
;
border
:
1px
dashed
#2961FE
;
border-radius
:
2px
;
cursor
:
pointer
;
}
.changeClassProcess
.process_BtnList
{
margin-top
:
30px
;
width
:
100%
;
display
:
flex
;
justify-content
:
center
;
}
.changeClassProcess
.process_BtnOne
{
width
:
90px
;
height
:
38px
;
text-align
:
center
;
line-height
:
38px
;
border-radius
:
2px
;
border
:
1px
solid
#A1AAB2
;
color
:
#000000
;
cursor
:
pointer
;
margin-right
:
50px
;
}
.changeClassProcess
.SetShouSun
{
display
:
inline-block
;
border-radius
:
2px
;
background-color
:
#8175FB
;
color
:
#fff
;
position
:
absolute
;
right
:
10px
;
width
:
60px
;
height
:
27px
;
left
:
0
;
top
:
0
;
line-height
:
27px
;
font-size
:
13px
;
}
.changeClassProcess
.operationDiv
{
position
:
absolute
;
right
:
0
;
top
:
0
;
height
:
30px
;
line-height
:
30px
;
padding-right
:
10px
;
vertical-align
:
top
;
}
.changeClassProcess
.operationDiv
i
:first-child
{
font-size
:
13px
;
}
.changeClassProcess
.operationDiv
i
:hover
{
color
:
red
;
}
.changeClassProcess
.justTwoClass
{
margin-left
:
8px
;
}
</
style
>
<
template
>
<div
class=
"changeClassProcess"
>
<div
class=
"processList"
>
<div
class=
"processTop"
>
发起人
</div>
<div
class=
"processLine"
>
<i
class=
"iconfont icon-down"
></i>
</div>
</div>
<template
v-for=
"(item,index) in flowObj.FlowNodeList"
>
<div
class=
"processList"
@
click=
"getItem(index)"
>
<template
v-if=
"item.FlowAduitList&&item.FlowAduitList.length==1"
>
<div
class=
"processTop otherList"
>
{{
item
.
FlowAduitList
[
0
].
AduitName
}}
<template
v-if=
"item.FlowAduitList&&item.FlowAduitList.length>0 && item.FlowAduitList[0].IsSpecNode==1"
>
<span
class=
"SetShouSun"
>
设定收损
</span>
</
template
>
<div
class=
"operationDiv"
>
<i
class=
"iconfont icon-shanchu"
style=
"position:relative;top:-2px;"
@
click
.
stop=
"DeleteNode(index)"
></i>
<i
style=
"margin:0 8px;"
class=
"iconfont icon-shangyi2"
v-if=
"index!=0"
@
click
.
stop=
"moveDown(index,0)"
></i>
<i
class=
"iconfont icon-xiayi"
:class=
"{'justTwoClass':index==0}"
@
click
.
stop=
"moveDown(index,1)"
v-if=
"index!=flowObj.FlowNodeList.length-1"
></i>
</div>
</div>
<div
class=
"processLine"
v-if=
"index!=flowObj.FlowNodeList.length-1"
>
<i
class=
"iconfont icon-down"
></i>
</div>
</template>
<
template
v-else
>
<div
class=
"processTop process_TwoList"
>
<div
class=
"process_Left"
>
{{
item
.
FlowAduitList
[
0
].
AduitName
}}
</div>
<div
class=
"process_center"
>
<template
v-if=
"item.FlowAduitList[0].AuditWay==2"
>
<div
class=
"process_He"
>
和
</div>
</
template
>
<
template
v-if=
"item.FlowAduitList[0].AuditWay==3"
>
<div
class=
"process_He process_OR"
>
或者
</div>
</
template
>
</div>
<div
class=
"process_Right"
>
<
template
v-for=
"(subItem,subIndex) in item.FlowAduitList"
v-if=
"subIndex>0"
>
{{
subItem
.
AduitName
}}
</
template
>
</div>
<
template
v-if=
"item.FlowAduitList&&item.FlowAduitList.length>0 && item.FlowAduitList[0].IsSpecNode==1"
>
<span
class=
"SetShouSun"
>
设定收损
</span>
</
template
>
<div
class=
"operationDiv"
>
<i
class=
"iconfont icon-shanchu"
style=
"position:relative;top:-2px;"
@
click
.
stop=
"DeleteNode(index)"
></i>
<i
style=
"margin:0 8px;"
class=
"iconfont icon-shangyi2"
v-if=
"index!=0"
@
click
.
stop=
"moveDown(index,0)"
></i>
<i
class=
"iconfont icon-xiayi"
:class=
"{'justTwoClass':index==0}"
@
click
.
stop=
"moveDown(index,1)"
v-if=
"index!=flowObj.FlowNodeList.length-1"
></i>
</div>
</div>
<div
class=
"processLine"
v-if=
"index!=flowObj.FlowNodeList.length-1"
>
<i
class=
"iconfont icon-down"
></i>
</div>
</template>
</div>
</template>
<br
/>
<div
class=
"addProcessBtn"
@
click=
"AddNode"
>
新增节点
</div>
<div
class=
"process_BtnList"
>
<q-btn
label=
"保存"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"setBackClassFlow"
/>
</div>
<process-form
v-if=
"isShowProcess"
:save-obj=
"processObj"
:NodeIndex=
"ChooseNodeIndex"
@
close=
"closeProcessForm"
@
success=
"refreshPage"
:authObj=
"showObj"
>
</process-form>
</div>
</template>
<
script
>
import
processForm
from
'../../components/flow/process-form'
;
import
{
queryBackClassFlow
,
saveBackClassFlow
}
from
'../../api/system/index'
export
default
{
meta
:
{
title
:
""
},
components
:
{
processForm
},
data
()
{
return
{
msg
:
{
FlowId
:
2
},
isShowProcess
:
false
,
//显示旁边弹窗
processObj
:
{},
//传递子组件
flowObj
:
{
FlowId
:
2
,
FlowName
:
"调课流程"
,
FlowNodeList
:
[],
//审核节点列表
},
//显示对象
showObj
:
{
isShowShouSun
:
0
,
//不显示收损
},
ChooseNodeIndex
:
0
,
}
},
created
()
{},
mounted
()
{
this
.
getBackClassFlow
();
},
methods
:
{
//新增节点
AddNode
()
{
this
.
flowObj
.
FlowNodeList
.
push
({
FlowId
:
0
,
NodeId
:
0
,
NodeName
:
"新增节点"
,
SortNum
:
0
,
FlowAduitList
:
[{
AduitName
:
"新增节点"
,
AuditType
:
2
,
AuditWay
:
2
,
CheckId
:
0
,
FlowId
:
0
,
IsSpecNode
:
0
,
NodeId
:
8
,
PostType
:
0
,
UserId
:
0
,
}]
});
},
//删除节点
DeleteNode
(
index
)
{
this
.
$q
.
dialog
({
title
:
'提示信息'
,
message
:
'是否确定删除该流程'
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
,
}).
onOk
(()
=>
{
this
.
flowObj
.
FlowNodeList
.
splice
(
index
,
1
);
}).
onCancel
(()
=>
{
});
},
getBackClassFlow
()
{
queryBackClassFlow
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
&&
res
.
Data
)
{
this
.
flowObj
=
res
.
Data
;
}
})
},
//点开旁边
getItem
(
nodeIndex
)
{
this
.
processObj
=
this
.
flowObj
;
this
.
ChooseNodeIndex
=
nodeIndex
;
this
.
isShowProcess
=
true
;
},
//关闭
closeProcessForm
()
{
this
.
isShowProcess
=
false
},
//成功刷新
refreshPage
()
{
this
.
isShowProcess
=
false
;
this
.
getBackClassFlow
();
},
//保存退课流程
setBackClassFlow
()
{
saveBackClassFlow
(
this
.
flowObj
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'操作成功'
,
position
:
'top'
})
this
.
refreshPage
();
}
})
},
//下移下移
moveDown
(
index
,
IsUp
)
{
var
currentItem
=
this
.
flowObj
.
FlowNodeList
[
index
];
if
(
IsUp
==
0
)
{
if
(
index
>
0
)
{
var
upItem
=
this
.
flowObj
.
FlowNodeList
[
index
-
1
];
this
.
$set
(
this
.
flowObj
.
FlowNodeList
,
index
-
1
,
currentItem
);
this
.
$set
(
this
.
flowObj
.
FlowNodeList
,
index
,
upItem
);
}
}
else
{
if
(
index
!=
this
.
flowObj
.
FlowNodeList
.
length
-
1
)
{
var
downItem
=
this
.
flowObj
.
FlowNodeList
[
index
+
1
];
this
.
$set
(
this
.
flowObj
.
FlowNodeList
,
index
+
1
,
currentItem
);
this
.
$set
(
this
.
flowObj
.
FlowNodeList
,
index
,
downItem
);
}
}
}
}
}
</
script
>
src/components/
system
/process-form.vue
→
src/components/
flow
/process-form.vue
View file @
fb2c183d
...
...
@@ -123,13 +123,15 @@
position
:
absolute
;
background-color
:
#E9EFFF
;
}
.process_InnerLineTwo
{
.process_InnerLineTwo
{
width
:
5px
;
top
:
65px
;
top
:
65px
;
height
:
12px
;
position
:
absolute
;
background-color
:
#E9EFFF
;
}
.processAddzhai
{
height
:
50px
;
border
:
1px
dashed
#2961FE
!important
;
...
...
@@ -141,13 +143,15 @@
margin
:
0
20px
;
border-radius
:
5px
!important
;
}
.ProcessShanchu
{
.ProcessShanchu
{
position
:
absolute
;
right
:
10px
;
top
:
10px
;
color
:
red
;
right
:
10px
;
top
:
10px
;
color
:
red
;
cursor
:
pointer
;
}
</
style
>
<
template
>
<q-dialog
v-model=
"persistent"
maximized
full-height
seamless
position=
"right"
@
hide=
"closeProcess"
>
...
...
@@ -159,6 +163,7 @@
<div
class=
"q-gutter-sm"
style=
"padding-top:20px;"
>
<q-radio
left-label
v-model=
"aItem.AuditType"
:val=
"2"
label=
"指定人员"
/>
<q-radio
left-label
v-model=
"aItem.AuditType"
:val=
"3"
label=
"内置角色"
/>
<q-radio
left-label
v-model=
"aItem.AuditType"
:val=
"4"
label=
"系统角色"
/>
</div>
<div
style=
"margin:10px 0;"
>
<q-select
class=
"col-6 q-pb"
v-if=
"aItem.AuditType==2"
clearable
filled
stack-label
use-input
...
...
@@ -174,23 +179,28 @@
</
template
>
</q-select>
<q-select
class=
"col-6 q-pb"
v-if=
"aItem.AuditType==3"
clearable
filled
stack-label
use-input
option-value=
"Id"
option-label=
"Name"
v-model=
"aItem.PostType"
ref=
"ManagerId"
:options=
"roleList"
label=
"选择角色"
:dense=
"false"
emit-value
map-options
@
input=
"changeType(aItem)"
>
option-value=
"Id"
option-label=
"Name"
v-model=
"aItem.PostType"
:options=
"roleList"
label=
"选择角色"
:dense=
"false"
emit-value
map-options
@
input=
"changeType(aItem)"
>
</q-select>
<q-select
class=
"col-6 q-pb"
v-if=
"aItem.AuditType==4"
clearable
filled
stack-label
use-input
option-value=
"PostId"
option-label=
"PostName"
v-model=
"aItem.PostType"
:options=
"PostList"
label=
"选择角色"
:dense=
"false"
emit-value
map-options
@
input=
"changeType(aItem)"
>
</q-select>
</div>
<q-toggle
v-if=
"saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex==0"
v-if=
"
AuthorityObj.isShowShouSun==1 &&
saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex==0"
v-model=
"saveObj.FlowNodeList[NodeIndex].FlowAduitList[0].IsSpecNode"
label=
"设定收损"
left-label
:true-value=
"1"
:false-value=
"0"
@
input=
"changeSpecNode(saveObj.FlowNodeList[NodeIndex].FlowAduitList[0])"
/>
<div
class=
"process_Warm"
v-if=
"saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex==0"
>
v-if=
"
AuthorityObj.isShowShouSun==1&&
saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex==0"
>
<i
class=
"iconfont icon-jinggao"
></i>
只能由一个人开启,一旦开启其他关闭
</div>
</div>
<i
class=
"iconfont icon-shanchu ProcessShanchu"
v-if=
"saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex>0"
@
click=
"DelAduitInfo(aIndex)"
></i>
<i
class=
"iconfont icon-shanchu ProcessShanchu"
v-if=
"saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex>0"
@
click=
"DelAduitInfo(aIndex)"
></i>
</div>
<div
class=
"process_LineTwo"
v-if=
"saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0"
...
...
@@ -204,8 +214,7 @@
</div>
<div
class=
"process_InnerLineTwo"
></div>
</div>
<!-- <a v-if="saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex>0"
@click="DelAduitInfo(aIndex)">删除</a> -->
</div>
<div
class=
"processAddzhai"
@
click=
"AddAduitInfo"
>
新增审核人
</div>
<div
class=
"process_Btn_List"
>
...
...
@@ -221,9 +230,14 @@
</template>
<
script
>
//员工列表
import
{
queryEmployee
}
from
'../../api/users/user'
//系统角色列表
import
{
getPostList
}
from
'../../api/system/post'
import
{
saveBackClassFlow
}
from
'../../api/system/index'
...
...
@@ -237,6 +251,11 @@
NodeIndex
:
{
type
:
Number
,
default
:
0
,
},
//显示设置
authObj
:
{
type
:
Object
,
default
:
null
}
},
components
:
{},
...
...
@@ -245,6 +264,7 @@
persistent
:
true
,
AllemployeeList
:
[],
//所有员工列表
EmployeeList
:
[],
//员工列表
PostList
:
[],
//系统角色列表
//固定角色列表
roleList
:
[{
Name
:
'班级老师'
,
...
...
@@ -268,16 +288,38 @@
},
{
Name
:
'或签'
,
Id
:
3
}]
}],
//权限显示对象
AuthorityObj
:
{
isShowShouSun
:
0
,
//是否收损【默认不显示】
},
}
},
created
()
{
this
.
queryPostList
();
this
.
getEmployee
();
},
mounted
()
{
this
.
initAuth
();
},
methods
:
{
//初始化权限信息
initAuth
()
{
if
(
this
.
authObj
)
{
if
(
this
.
authObj
.
isShowShouSun
!=
null
&&
this
.
authObj
.
isShowShouSun
==
1
)
{
this
.
AuthorityObj
.
isShowShouSun
=
this
.
authObj
.
isShowShouSun
;
}
}
},
queryPostList
()
{
getPostList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
PostList
=
res
.
Data
;
}
});
},
changeSpecNode
(
item
)
{
if
(
item
.
IsSpecNode
==
1
)
{
this
.
saveObj
.
FlowNodeList
.
forEach
(
item
=>
{
...
...
@@ -308,6 +350,14 @@
item
.
UserId
=
0
;
}
}
//系统角色
else
if
(
item
.
AuditType
==
4
)
{
var
chooseRole
=
this
.
PostList
.
filter
(
v
=>
v
.
PostId
==
item
.
PostType
);
if
(
chooseRole
&&
chooseRole
.
length
>
0
)
{
item
.
AduitName
=
chooseRole
[
0
].
PostName
;
item
.
UserId
=
0
;
}
}
},
//新增审核人
AddAduitInfo
()
{
...
...
@@ -319,8 +369,8 @@
AduitName
:
""
,
IsSpecNode
:
0
,
NodeId
:
0
,
PostType
:
0
,
UserId
:
0
,
PostType
:
""
,
UserId
:
""
,
});
},
//删除审核人
...
...
@@ -360,23 +410,23 @@
},
//保存退课流程
setBackClassFlow
()
{
for
(
let
i
=
0
;
i
<
this
.
saveObj
.
FlowNodeList
[
this
.
NodeIndex
].
FlowAduitList
.
length
;
i
++
)
{
if
(
this
.
saveObj
.
FlowNodeList
[
this
.
NodeIndex
].
FlowAduitList
[
i
].
AuditType
==
2
)
{
if
(
!
this
.
saveObj
.
FlowNodeList
[
this
.
NodeIndex
].
FlowAduitList
[
i
].
UserId
)
{
for
(
let
i
=
0
;
i
<
this
.
saveObj
.
FlowNodeList
[
this
.
NodeIndex
].
FlowAduitList
.
length
;
i
++
)
{
if
(
this
.
saveObj
.
FlowNodeList
[
this
.
NodeIndex
].
FlowAduitList
[
i
].
AuditType
==
2
)
{
if
(
!
this
.
saveObj
.
FlowNodeList
[
this
.
NodeIndex
].
FlowAduitList
[
i
].
UserId
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
message
:
'请选择审批人'
+
(
i
+
1
)
+
'指定人员名称'
type
:
'negative'
,
position
:
"top"
,
message
:
'请选择审批人'
+
(
i
+
1
)
+
'指定人员名称'
})
return
;
}
}
if
(
this
.
saveObj
.
FlowNodeList
[
this
.
NodeIndex
].
FlowAduitList
[
i
].
AuditType
==
3
)
{
if
(
!
this
.
saveObj
.
FlowNodeList
[
this
.
NodeIndex
].
FlowAduitList
[
i
].
PostType
)
{
if
(
this
.
saveObj
.
FlowNodeList
[
this
.
NodeIndex
].
FlowAduitList
[
i
].
AuditType
==
3
)
{
if
(
!
this
.
saveObj
.
FlowNodeList
[
this
.
NodeIndex
].
FlowAduitList
[
i
].
PostType
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
message
:
'请选择审批人'
+
(
i
+
1
)
+
'角色'
type
:
'negative'
,
position
:
"top"
,
message
:
'请选择审批人'
+
(
i
+
1
)
+
'角色'
})
return
;
}
...
...
src/pages/system/processSet.vue
View file @
fb2c183d
This diff is collapsed.
Click to expand it.
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