diff --git a/ruoyi-ui/src/plugins/package/penal/task/task-components/UserTask.vue b/ruoyi-ui/src/plugins/package/penal/task/task-components/UserTask.vue
index aa1d1aa3..fbeb97b0 100644
--- a/ruoyi-ui/src/plugins/package/penal/task/task-components/UserTask.vue
+++ b/ruoyi-ui/src/plugins/package/penal/task/task-components/UserTask.vue
@@ -49,11 +49,20 @@
多实例审批方式
-
- 无
- 会签(需所有审批人同意)
- 或签(一名审批人同意即可)
-
+
+
+ 无
+ 会签(需所有审批人同意)
+ 或签(一名审批人同意即可)
+
+
+
+
+
+
+ 顺序审批:
+
+
@@ -127,15 +136,6 @@ const userTaskForm = {
// priority: ''
}
-const multiInstanceForm = {
- completionCondition: "",
- loopCardinality: "",
- extensionElements: [],
- asyncAfter: false,
- asyncBefore: false,
- exclusive: false
-}
-
export default {
name: "UserTask",
props: {
@@ -171,6 +171,7 @@ export default {
deptId: undefined
},
showMultiFlog: false,
+ isSequential: false,
multiLoopType: 'Null',
};
},
@@ -424,10 +425,14 @@ export default {
this.multiLoopType = "Null";
return;
}
- if (businessObject.loopCharacteristics.isSequential) {
- this.multiLoopType = "SequentialMultiInstance";
- } else {
- this.multiLoopType = "ParallelMultiInstance";
+ this.isSequential = businessObject.loopCharacteristics.isSequential;
+ if (businessObject.loopCharacteristics.completionCondition) {
+ if (businessObject.loopCharacteristics.completionCondition.body === "${nrOfCompletedInstances >= nrOfInstances}") {
+ this.multiLoopType = "SequentialMultiInstance";
+ } else {
+ this.multiLoopType = "ParallelMultiInstance";
+
+ }
}
},
changeMultiLoopType(type) {
@@ -436,23 +441,22 @@ export default {
window.bpmnInstances.modeling.updateProperties(this.bpmnElement, { loopCharacteristics: null });
return;
}
- // 完成条件
- let completionCondition = null;
- // 会签
- if (type === "SequentialMultiInstance") {
- this.multiLoopInstance = window.bpmnInstances.moddle.create("bpmn:MultiInstanceLoopCharacteristics", { isSequential: true });
- completionCondition = window.bpmnInstances.moddle.create("bpmn:FormalExpression", { body: '${nrOfCompletedInstances >= nrOfInstances}' });
- }
- // 或签
- if (type === "ParallelMultiInstance") {
- this.multiLoopInstance = window.bpmnInstances.moddle.create("bpmn:MultiInstanceLoopCharacteristics");
- completionCondition = window.bpmnInstances.moddle.create("bpmn:FormalExpression", { body: '${nrOfCompletedInstances > 0}' });
- }
+ this.multiLoopInstance = window.bpmnInstances.moddle.create("bpmn:MultiInstanceLoopCharacteristics", { isSequential: this.isSequential });
// 更新多实例配置
window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
loopCharacteristics: this.multiLoopInstance,
assignee: '${assignee}'
});
+ // 完成条件
+ let completionCondition = null;
+ // 会签
+ if (type === "SequentialMultiInstance") {
+ completionCondition = window.bpmnInstances.moddle.create("bpmn:FormalExpression", { body: "${nrOfCompletedInstances >= nrOfInstances}" });
+ }
+ // 或签
+ if (type === "ParallelMultiInstance") {
+ completionCondition = window.bpmnInstances.moddle.create("bpmn:FormalExpression", { body: "${nrOfCompletedInstances > 0}" });
+ }
// 更新模块属性信息
window.bpmnInstances.modeling.updateModdleProperties(this.bpmnElement, this.multiLoopInstance, {
collection: '${multiInstanceHandler.getUserIds(execution)}',
@@ -478,4 +482,11 @@ export default {
}
}
+.custom-label {
+ padding-left: 5px;
+ font-weight: 500;
+ font-size: 14px;
+ color: #606266;
+}
+