Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
0284893b
authored
Oct 29, 2024
by
jason
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【功能完善】仿钉钉流程浏览功能完善
parent
c9b12c8b
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
34 additions
and
26 deletions
+34
-26
src/components/SimpleProcessDesignerV2/src/nodes/CopyTaskNode.vue
+11
-4
src/components/SimpleProcessDesignerV2/src/nodes/EndEventNode.vue
+1
-3
src/components/SimpleProcessDesignerV2/src/nodes/ExclusiveNode.vue
+2
-5
src/components/SimpleProcessDesignerV2/src/nodes/InclusiveNode.vue
+4
-3
src/components/SimpleProcessDesignerV2/src/nodes/ParallelNode.vue
+4
-4
src/components/SimpleProcessDesignerV2/src/nodes/StartUserNode.vue
+1
-3
src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue
+2
-3
src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
+9
-1
No files found.
src/components/SimpleProcessDesignerV2/src/nodes/CopyTaskNode.vue
View file @
0284893b
<
template
>
<div
class=
"node-wrapper"
>
<div
class=
"node-container"
>
<div
class=
"node-box"
:class=
"
{ 'node-config-error': !currentNode.showText }">
<div
class=
"node-box"
:class=
"[
{ 'node-config-error': !currentNode.showText }, `${useTaskStatusClass(currentNode?.activityStatus)}`]"
>
<div
class=
"node-title-container"
>
<div
class=
"node-title-icon copy-task"
><span
class=
"iconfont icon-copy"
></span></div>
<input
...
...
@@ -36,13 +39,17 @@
<!-- 传递子节点给添加节点组件。会在子节点前面添加节点 -->
<NodeHandler
v-if=
"currentNode"
v-model:child-node=
"currentNode.childNode"
/>
</div>
<CopyTaskNodeConfig
v-if=
"!readonly && currentNode"
ref=
"nodeSetting"
:flow-node=
"currentNode"
/>
<CopyTaskNodeConfig
v-if=
"!readonly && currentNode"
ref=
"nodeSetting"
:flow-node=
"currentNode"
/>
</div>
</
template
>
<
script
setup
lang=
"ts"
>
import
{
SimpleFlowNode
,
NodeType
,
NODE_DEFAULT_TEXT
}
from
'../consts'
import
NodeHandler
from
'../NodeHandler.vue'
import
{
useNodeName2
,
useWatchNode
}
from
'../node'
import
{
useNodeName2
,
useWatchNode
,
useTaskStatusClass
}
from
'../node'
import
CopyTaskNodeConfig
from
'../nodes-config/CopyTaskNodeConfig.vue'
defineOptions
({
name
:
'CopyTaskNode'
...
...
@@ -58,7 +65,7 @@ const emits = defineEmits<{
'update:flowNode'
:
[
node
:
SimpleFlowNode
|
undefined
]
}
>
()
// 是否只读
const
readonly
=
inject
<
Boolean
>
(
'readonly'
)
const
readonly
=
inject
<
Boolean
>
(
'readonly'
)
// 监控节点的变化
const
currentNode
=
useWatchNode
(
props
)
// 节点名称编辑
...
...
src/components/SimpleProcessDesignerV2/src/nodes/EndEventNode.vue
View file @
0284893b
<
template
>
<div
class=
"end-node-wrapper"
>
<div
class=
"end-node-box"
:class=
"
taskStatusClass
"
>
<div
class=
"end-node-box"
:class=
"
`$
{useTaskStatusClass(currentNode?.activityStatus)}`
">
<span
class=
"node-fixed-name"
title=
"结束"
>
结束
</span>
</div>
</div>
...
...
@@ -20,8 +20,6 @@ const props = defineProps({
})
// 监控节点变化
const
currentNode
=
useWatchNode
(
props
)
// 节点任务状态样式
const
taskStatusClass
=
useTaskStatusClass
(
currentNode
.
value
?.
activityStatus
)
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
src/components/SimpleProcessDesignerV2/src/nodes/ExclusiveNode.vue
View file @
0284893b
<
template
>
<div
class=
"branch-node-wrapper"
>
<div
class=
"branch-node-container"
>
<div
v-if=
"readonly"
class=
"branch-node-readonly"
:class=
"
taskStatusClass
"
>
<span
class=
"iconfont icon-exclusive icon-size"
></span>
<div
v-if=
"readonly"
class=
"branch-node-readonly"
:class=
"
`$
{useTaskStatusClass(currentNode?.activityStatus)}`
">
<span
class=
"iconfont icon-exclusive icon-size
condition
"
></span>
</div>
<el-button
v-else
class=
"branch-node-add"
color=
"#67c23a"
@
click=
"addCondition"
plain
>
添加条件
</el-button
...
...
@@ -122,9 +122,6 @@ const emits = defineEmits<{
// 是否只读
const
readonly
=
inject
<
Boolean
>
(
'readonly'
)
const
currentNode
=
ref
<
SimpleFlowNode
>
(
props
.
flowNode
)
// 节点状态样式
const
taskStatusClass
=
useTaskStatusClass
(
currentNode
.
value
?.
activityStatus
)
watch
(
()
=>
props
.
flowNode
,
(
newValue
)
=>
{
...
...
src/components/SimpleProcessDesignerV2/src/nodes/InclusiveNode.vue
View file @
0284893b
<
template
>
<div
class=
"branch-node-wrapper"
>
<div
class=
"branch-node-container"
>
<div
v-if=
"readonly"
class=
"branch-node-readonly"
>
<span
class=
"iconfont icon-inclusive icon-size"
></span>
<div
v-if=
"readonly"
class=
"branch-node-readonly"
:class=
"`$
{useTaskStatusClass(currentNode?.activityStatus)}`"
>
<span
class=
"iconfont icon-inclusive icon-size
inclusive
"
></span>
</div>
<el-button
v-else
class=
"branch-node-add"
color=
"#345da2"
@
click=
"addCondition"
plain
>
添加条件
</el-button>
<div
...
...
@@ -20,7 +20,7 @@
</
template
>
<div
class=
"node-wrapper"
>
<div
class=
"node-container"
>
<div
class=
"node-box"
:class=
"
{ 'node-config-error': !item.showText }
"
>
<div
class=
"node-box"
:class=
"
[{ 'node-config-error': !item.showText }, `${useTaskStatusClass(item.activityStatus)}`]
"
>
<div
class=
"branch-node-title-container"
>
<div
v-if=
"showInputs[index]"
>
<input
...
...
@@ -88,6 +88,7 @@
import
NodeHandler
from
'../NodeHandler.vue'
import
ProcessNodeTree
from
'../ProcessNodeTree.vue'
import
{
SimpleFlowNode
,
NodeType
,
NODE_DEFAULT_TEXT
}
from
'../consts'
import
{
useTaskStatusClass
}
from
'../node'
import
{
getDefaultInclusiveConditionNodeName
}
from
'../utils'
import
{
generateUUID
}
from
'@/utils'
import
ConditionNodeConfig
from
'../nodes-config/ConditionNodeConfig.vue'
...
...
src/components/SimpleProcessDesignerV2/src/nodes/ParallelNode.vue
View file @
0284893b
<
template
>
<div
class=
"branch-node-wrapper"
>
<div
class=
"branch-node-container"
>
<div
v-if=
"readonly"
class=
"branch-node-readonly"
>
<span
class=
"iconfont icon-parallel icon-size"
></span>
<div
v-if=
"readonly"
class=
"branch-node-readonly"
:class=
"`$
{useTaskStatusClass(currentNode?.activityStatus)}`"
>
<span
class=
"iconfont icon-parallel icon-size
parallel
"
></span>
</div>
<el-button
v-else
class=
"branch-node-add"
color=
"#626aef"
@
click=
"addCondition"
plain
>
添加分支
</el-button>
<div
...
...
@@ -20,7 +20,7 @@
</
template
>
<div
class=
"node-wrapper"
>
<div
class=
"node-container"
>
<div
class=
"node-box"
>
<div
class=
"node-box"
:class=
"`${useTaskStatusClass(item.activityStatus)}`"
>
<div
class=
"branch-node-title-container"
>
<div
v-if=
"showInputs[index]"
>
<input
...
...
@@ -73,8 +73,8 @@
import
NodeHandler
from
'../NodeHandler.vue'
import
ProcessNodeTree
from
'../ProcessNodeTree.vue'
import
{
SimpleFlowNode
,
NodeType
,
NODE_DEFAULT_TEXT
}
from
'../consts'
import
{
useTaskStatusClass
}
from
'../node'
import
{
generateUUID
}
from
'@/utils'
const
{
proxy
}
=
getCurrentInstance
()
as
any
defineOptions
({
name
:
'ParallelNode'
...
...
src/components/SimpleProcessDesignerV2/src/nodes/StartUserNode.vue
View file @
0284893b
...
...
@@ -3,7 +3,7 @@
<div
class=
"node-container"
>
<div
class=
"node-box"
:class=
"[
{ 'node-config-error': !currentNode.showText }, `${
taskStatusClass
}`]"
:class=
"[
{ 'node-config-error': !currentNode.showText }, `${
useTaskStatusClass(currentNode?.activityStatus)
}`]"
>
<div
class=
"node-title-container"
>
<div
class=
"node-title-icon start-user"
...
...
@@ -59,8 +59,6 @@ const emits = defineEmits<{
}
>
()
// 监控节点变化
const
currentNode
=
useWatchNode
(
props
)
// 节点任务状态样式
const
taskStatusClass
=
useTaskStatusClass
(
currentNode
.
value
?.
activityStatus
)
// 节点名称编辑
const
{
showInput
,
blurEvent
,
clickTitle
}
=
useNodeName2
(
currentNode
,
NodeType
.
START_USER_NODE
)
...
...
src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue
View file @
0284893b
...
...
@@ -3,7 +3,7 @@
<div
class=
"node-container"
>
<div
class=
"node-box"
:class=
"[
{ 'node-config-error': !currentNode.showText }, `${
taskStatusClass
}`]"
:class=
"[
{ 'node-config-error': !currentNode.showText }, `${
useTaskStatusClass(currentNode?.activityStatus)
}`]"
>
<div
class=
"node-title-container"
>
<div
class=
"node-title-icon user-task"
><span
class=
"iconfont icon-approve"
></span></div>
...
...
@@ -69,8 +69,7 @@ const emits = defineEmits<{
const
readonly
=
inject
<
Boolean
>
(
'readonly'
)
// 监控节点变化
const
currentNode
=
useWatchNode
(
props
)
// 节点状态样式
const
taskStatusClass
=
useTaskStatusClass
(
currentNode
.
value
?.
activityStatus
)
// 节点名称编辑
const
{
showInput
,
blurEvent
,
clickTitle
}
=
useNodeName2
(
currentNode
,
NodeType
.
START_USER_NODE
)
const
nodeSetting
=
ref
()
...
...
src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
View file @
0284893b
...
...
@@ -1096,7 +1096,15 @@
.icon-size
{
font-size
:
22px
;
color
:
#67c23a
;
&
.condition
{
color
:
#67c23a
;
}
&
.parallel
{
color
:
#626aef
;
}
&
.inclusive
{
color
:
#345da2
;
}
}
}
...
...
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