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
78e29940
authored
Mar 16, 2025
by
YunaiV
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/bpm' of
https://gitee.com/yudaocode/yudao-ui-admin-vue3
parents
98cf770f
9f96c617
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
41 additions
and
32 deletions
+41
-32
src/components/SimpleProcessDesignerV2/src/nodes-config/components/Condition.vue
+15
-3
src/views/bpm/model/form/ExtraSettings.vue
+18
-18
src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
+8
-11
No files found.
src/components/SimpleProcessDesignerV2/src/nodes-config/components/Condition.vue
View file @
78e29940
...
@@ -12,7 +12,10 @@
...
@@ -12,7 +12,10 @@
</el-radio>
</el-radio>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
<el-form-item
v-if=
"condition.conditionType === ConditionType.RULE && condition.conditionGroups"
label=
"条件规则"
>
<el-form-item
v-if=
"condition.conditionType === ConditionType.RULE && condition.conditionGroups"
label=
"条件规则"
>
<div
class=
"condition-group-tool"
>
<div
class=
"condition-group-tool"
>
<div
class=
"flex items-center"
>
<div
class=
"flex items-center"
>
<div
class=
"mr-4"
>
条件组关系
</div>
<div
class=
"mr-4"
>
条件组关系
</div>
...
@@ -67,14 +70,23 @@
...
@@ -67,14 +70,23 @@
trigger: 'change'
trigger: 'change'
}"
}"
>
>
<el-select
style=
"width: 160px"
v-model=
"rule.leftSide"
>
<el-select
style=
"width: 160px"
v-model=
"rule.leftSide"
clearable
>
<el-option
<el-option
v-for=
"(field, fIdx) in fieldOptions"
v-for=
"(field, fIdx) in fieldOptions"
:key=
"fIdx"
:key=
"fIdx"
:label=
"field.title"
:label=
"field.title"
:value=
"field.field"
:value=
"field.field"
:disabled=
"!field.required"
:disabled=
"!field.required"
/>
>
<el-tooltip
content=
"表单字段非必填时不能作为流程分支条件"
effect=
"dark"
placement=
"right-start"
v-if=
"!field.required"
>
<span>
{{ field.title }}
</span>
</el-tooltip>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</div>
</div>
...
...
src/views/bpm/model/form/ExtraSettings.vue
View file @
78e29940
...
@@ -147,16 +147,16 @@
...
@@ -147,16 +147,16 @@
<div
class=
"flex flex-col w-100%"
>
<div
class=
"flex flex-col w-100%"
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<el-switch
<el-switch
v-model=
"pr
eProcessNotify
Enable"
v-model=
"pr
ocessBeforeTrigger
Enable"
@
change=
"handlePreProcessNotifyEnableChange"
@
change=
"handlePreProcessNotifyEnableChange"
/>
/>
<div
class=
"ml-80px"
>
流程启动后通知
</div>
<div
class=
"ml-80px"
>
流程启动后通知
</div>
</div>
</div>
<HttpRequestSetting
<HttpRequestSetting
v-if=
"pr
eProcessNotify
Enable"
v-if=
"pr
ocessBeforeTrigger
Enable"
v-model:setting=
"modelData.pr
eProcessNotify
Setting"
v-model:setting=
"modelData.pr
ocessBeforeTrigger
Setting"
:responseEnable=
"true"
:responseEnable=
"true"
:formItemPrefix=
"'pr
eProcessNotify
Setting'"
:formItemPrefix=
"'pr
ocessBeforeTrigger
Setting'"
/>
/>
</div>
</div>
</el-form-item>
</el-form-item>
...
@@ -167,16 +167,16 @@
...
@@ -167,16 +167,16 @@
<div
class=
"flex flex-col w-100%"
>
<div
class=
"flex flex-col w-100%"
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<el-switch
<el-switch
v-model=
"p
ostProcessNotify
Enable"
v-model=
"p
rocessAfterTrigger
Enable"
@
change=
"handlePostProcessNotifyEnableChange"
@
change=
"handlePostProcessNotifyEnableChange"
/>
/>
<div
class=
"ml-80px"
>
流程启动后通知
</div>
<div
class=
"ml-80px"
>
流程启动后通知
</div>
</div>
</div>
<HttpRequestSetting
<HttpRequestSetting
v-if=
"p
ostProcessNotify
Enable"
v-if=
"p
rocessAfterTrigger
Enable"
v-model:setting=
"modelData.p
ostProcessNotify
Setting"
v-model:setting=
"modelData.p
rocessAfterTrigger
Setting"
:responseEnable=
"true"
:responseEnable=
"true"
:formItemPrefix=
"'p
ostProcessNotify
Setting'"
:formItemPrefix=
"'p
rocessAfterTrigger
Setting'"
/>
/>
</div>
</div>
</el-form-item>
</el-form-item>
...
@@ -247,32 +247,32 @@ const numberExample = computed(() => {
...
@@ -247,32 +247,32 @@ const numberExample = computed(() => {
})
})
/** 是否开启流程前置通知 */
/** 是否开启流程前置通知 */
const
pr
eProcessNotify
Enable
=
ref
(
false
)
const
pr
ocessBeforeTrigger
Enable
=
ref
(
false
)
const
handlePreProcessNotifyEnableChange
=
(
val
:
boolean
|
string
|
number
)
=>
{
const
handlePreProcessNotifyEnableChange
=
(
val
:
boolean
|
string
|
number
)
=>
{
if
(
val
)
{
if
(
val
)
{
modelData
.
value
.
pr
eProcessNotify
Setting
=
{
modelData
.
value
.
pr
ocessBeforeTrigger
Setting
=
{
url
:
''
,
url
:
''
,
header
:
[],
header
:
[],
body
:
[],
body
:
[],
response
:
[]
response
:
[]
}
}
}
else
{
}
else
{
modelData
.
value
.
pr
eProcessNotify
Setting
=
null
modelData
.
value
.
pr
ocessBeforeTrigger
Setting
=
null
}
}
}
}
/** 是否开启流程后置通知 */
/** 是否开启流程后置通知 */
const
p
ostProcessNotify
Enable
=
ref
(
false
)
const
p
rocessAfterTrigger
Enable
=
ref
(
false
)
const
handlePostProcessNotifyEnableChange
=
(
val
:
boolean
|
string
|
number
)
=>
{
const
handlePostProcessNotifyEnableChange
=
(
val
:
boolean
|
string
|
number
)
=>
{
if
(
val
)
{
if
(
val
)
{
modelData
.
value
.
p
ostProcessNotify
Setting
=
{
modelData
.
value
.
p
rocessAfterTrigger
Setting
=
{
url
:
''
,
url
:
''
,
header
:
[],
header
:
[],
body
:
[],
body
:
[],
response
:
[]
response
:
[]
}
}
}
else
{
}
else
{
modelData
.
value
.
p
ostProcessNotify
Setting
=
null
modelData
.
value
.
p
rocessAfterTrigger
Setting
=
null
}
}
}
}
...
@@ -335,11 +335,11 @@ const initData = () => {
...
@@ -335,11 +335,11 @@ const initData = () => {
summary
:
[]
summary
:
[]
}
}
}
}
if
(
modelData
.
value
.
pr
eProcessNotify
Setting
)
{
if
(
modelData
.
value
.
pr
ocessBeforeTrigger
Setting
)
{
pr
eProcessNotify
Enable
.
value
=
true
pr
ocessBeforeTrigger
Enable
.
value
=
true
}
}
if
(
modelData
.
value
.
p
ostProcessNotify
Setting
)
{
if
(
modelData
.
value
.
p
rocessAfterTrigger
Setting
)
{
p
ostProcessNotify
Enable
.
value
=
true
p
rocessAfterTrigger
Enable
.
value
=
true
}
}
}
}
defineExpose
({
initData
})
defineExpose
({
initData
})
...
...
src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
View file @
78e29940
...
@@ -749,19 +749,16 @@ const selectNextAssigneesConfirm = (id: string, userList: any[]) => {
...
@@ -749,19 +749,16 @@ const selectNextAssigneesConfirm = (id: string, userList: any[]) => {
}
}
/** 审批通过时,校验每个自选审批人的节点是否都已配置了审批人 */
/** 审批通过时,校验每个自选审批人的节点是否都已配置了审批人 */
const
validateNextAssignees
=
()
=>
{
const
validateNextAssignees
=
()
=>
{
// TODO @小北:可以考虑 Object.keys(nextAssigneesActivityNode.value).length === 0) return true;减少括号层级
if
(
Object
.
keys
(
nextAssigneesActivityNode
.
value
).
length
===
0
)
{
// 如果需要自选审批人,则校验自选审批人
return
true
if
(
Object
.
keys
(
nextAssigneesActivityNode
.
value
).
length
>
0
)
{
}
// 校验每个节点是否都已配置审批人
// 如果需要自选审批人,则校验每个节点是否都已配置审批人
for
(
const
item
of
nextAssigneesActivityNode
.
value
)
{
for
(
const
item
of
nextAssigneesActivityNode
.
value
)
{
if
(
isEmpty
(
approveReasonForm
.
nextAssignees
[
item
.
id
]))
{
if
(
isEmpty
(
approveReasonForm
.
nextAssignees
[
item
.
id
]))
{
// TODO @小北:可以打印下节点名,嘿嘿。
message
.
warning
(
'下一个节点的审批人不能为空!'
)
message
.
warning
(
'下一个节点的审批人不能为空!'
)
return
false
return
false
}
}
}
}
}
return
true
}
}
/** 处理审批通过和不通过的操作 */
/** 处理审批通过和不通过的操作 */
...
...
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