From e55613edc63e525792d3559f84309b1f9b08801b Mon Sep 17 00:00:00 2001
From: jason <2667446@qq.com>
Date: Sat, 20 Jun 2026 21:57:40 +0800
Subject: [PATCH 1/3] =?UTF-8?q?fix=20:[bpm]=20=E8=B6=85=E6=97=B6=E6=97=B6?=
=?UTF-8?q?=E9=97=B4=E4=B8=BA=E5=A4=A9=E6=97=B6=E6=A0=BC=E5=BC=8F=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/nodes-config/ChildProcessNodeConfig.vue | 8 ++++----
.../src/nodes-config/DelayTimerNodeConfig.vue | 8 ++++----
.../src/nodes-config/UserTaskNodeConfig.vue | 8 ++++----
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/ChildProcessNodeConfig.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/ChildProcessNodeConfig.vue
index 7ec382fca..8616f7b89 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes-config/ChildProcessNodeConfig.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/ChildProcessNodeConfig.vue
@@ -529,7 +529,7 @@ const showChildProcessNodeConfig = (node: SimpleFlowNode) => {
// 固定时长
if (configForm.value.timeoutType === DelayTypeEnum.FIXED_TIME_DURATION) {
const strTimeDuration = node.childProcessSetting.timeoutSetting.timeExpression ?? ''
- let parseTime = strTimeDuration.slice(2, strTimeDuration.length - 1)
+ let parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''
let parseTimeUnit = strTimeDuration.slice(strTimeDuration.length - 1)
configForm.value.timeDuration = parseInt(parseTime)
configForm.value.timeUnit = convertTimeUnit(parseTimeUnit)
@@ -586,12 +586,12 @@ const loadFormInfo = async () => {
}
}
const getIsoTimeDuration = () => {
- let strTimeDuration = 'PT'
+ let strTimeDuration = 'P'
if (configForm.value.timeUnit === TimeUnitType.MINUTE) {
- strTimeDuration += configForm.value.timeDuration + 'M'
+ strTimeDuration += 'T' + configForm.value.timeDuration + 'M'
}
if (configForm.value.timeUnit === TimeUnitType.HOUR) {
- strTimeDuration += configForm.value.timeDuration + 'H'
+ strTimeDuration += 'T' + configForm.value.timeDuration + 'H'
}
if (configForm.value.timeUnit === TimeUnitType.DAY) {
strTimeDuration += configForm.value.timeDuration + 'D'
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/DelayTimerNodeConfig.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/DelayTimerNodeConfig.vue
index 741796d3a..599c8d0c6 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes-config/DelayTimerNodeConfig.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/DelayTimerNodeConfig.vue
@@ -152,12 +152,12 @@ const getShowText = (): string => {
return showText
}
const getIsoTimeDuration = () => {
- let strTimeDuration = 'PT'
+ let strTimeDuration = 'P'
if (configForm.value.timeUnit === TimeUnitType.MINUTE) {
- strTimeDuration += configForm.value.timeDuration + 'M'
+ strTimeDuration += 'T' + configForm.value.timeDuration + 'M'
}
if (configForm.value.timeUnit === TimeUnitType.HOUR) {
- strTimeDuration += configForm.value.timeDuration + 'H'
+ strTimeDuration += 'T' + configForm.value.timeDuration + 'H'
}
if (configForm.value.timeUnit === TimeUnitType.DAY) {
strTimeDuration += configForm.value.timeDuration + 'D'
@@ -172,7 +172,7 @@ const showDelayTimerNodeConfig = (node: SimpleFlowNode) => {
// 固定时长
if (configForm.value.delayType === DelayTypeEnum.FIXED_TIME_DURATION) {
const strTimeDuration = node.delaySetting.delayTime
- let parseTime = strTimeDuration.slice(2, strTimeDuration.length - 1)
+ let parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''
let parseTimeUnit = strTimeDuration.slice(strTimeDuration.length - 1)
configForm.value.timeDuration = parseInt(parseTime)
configForm.value.timeUnit = convertTimeUnit(parseTimeUnit)
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/UserTaskNodeConfig.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/UserTaskNodeConfig.vue
index f8ab8abf5..e1043408e 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes-config/UserTaskNodeConfig.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/UserTaskNodeConfig.vue
@@ -816,7 +816,7 @@ const showUserTaskNodeConfig = (node: SimpleFlowNode) => {
configForm.value.timeoutHandlerEnable = node.timeoutHandler?.enable
if (node.timeoutHandler?.enable && node.timeoutHandler?.timeDuration) {
const strTimeDuration = node.timeoutHandler.timeDuration
- let parseTime = strTimeDuration.slice(2, strTimeDuration.length - 1)
+ let parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''
let parseTimeUnit = strTimeDuration.slice(strTimeDuration.length - 1)
configForm.value.timeDuration = parseInt(parseTime)
timeUnit.value = convertTimeUnit(parseTimeUnit)
@@ -938,12 +938,12 @@ function useTimeoutHandler() {
if (!configForm.value.timeoutHandlerEnable) {
return undefined
}
- let strTimeDuration = 'PT'
+ let strTimeDuration = 'P'
if (timeUnit.value === TimeUnitType.MINUTE) {
- strTimeDuration += configForm.value.timeDuration + 'M'
+ strTimeDuration += 'T' + configForm.value.timeDuration + 'M'
}
if (timeUnit.value === TimeUnitType.HOUR) {
- strTimeDuration += configForm.value.timeDuration + 'H'
+ strTimeDuration += 'T' + configForm.value.timeDuration + 'H'
}
if (timeUnit.value === TimeUnitType.DAY) {
strTimeDuration += configForm.value.timeDuration + 'D'
From 026f7e9b1090adcd07ed428687a32c48b3b58229 Mon Sep 17 00:00:00 2001
From: jason <2667446@qq.com>
Date: Sat, 20 Jun 2026 22:22:16 +0800
Subject: [PATCH 2/3] =?UTF-8?q?fix:=20[bpm]=20=E5=B9=B6=E8=A1=8C=E5=88=86?=
=?UTF-8?q?=E6=94=AF=E5=90=8E=E7=9A=84=E5=AE=A1=E6=89=B9=E4=BA=BA=E8=87=AA?=
=?UTF-8?q?=E9=80=89=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D,https://t.zsxq.co?=
=?UTF-8?q?m/daxv1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../detail/ProcessInstanceOperationButton.vue | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
index 7f6134c15..ca28b22f6 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
@@ -816,7 +816,8 @@ const initNextAssigneesFormField = async () => {
isEmpty(node.candidateUsers) &&
CandidateStrategy.START_USER_SELECT === node.candidateStrategy) ||
// 情况二:当前节点是审批人自选
- CandidateStrategy.APPROVE_USER_SELECT === node.candidateStrategy
+ (isEmpty(node.candidateUsers) &&
+ CandidateStrategy.APPROVE_USER_SELECT === node.candidateStrategy)
) {
nextAssigneesActivityNode.value.push(node)
}
@@ -849,7 +850,7 @@ const validateNextAssignees = () => {
}
// 如果需要自选审批人,则校验每个节点是否都已配置审批人
for (const item of nextAssigneesActivityNode.value) {
- if (isEmpty(approveReasonForm.nextAssignees[item.id])) {
+ if (isEmpty(item.candidateUsers) && isEmpty(approveReasonForm.nextAssignees[item.id])) {
message.warning('下一个节点的审批人不能为空!')
return false
}
From 950850529d43b8cde2906cea4726f29f2c108b17 Mon Sep 17 00:00:00 2001
From: jason <2667446@qq.com>
Date: Sat, 20 Jun 2026 23:38:05 +0800
Subject: [PATCH 3/3] =?UTF-8?q?fix:=20[bpm]=20simple=20=E8=AE=BE=E8=AE=A1?=
=?UTF-8?q?=E5=99=A8=E5=AF=BC=E5=85=A5=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/SimpleProcessModel.vue | 16 +++++++++++++++-
.../detail/ProcessInstanceOperationButton.vue | 2 +-
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/components/SimpleProcessDesignerV2/src/SimpleProcessModel.vue b/src/components/SimpleProcessDesignerV2/src/SimpleProcessModel.vue
index 8e2c5e39b..f1585aa06 100644
--- a/src/components/SimpleProcessDesignerV2/src/SimpleProcessModel.vue
+++ b/src/components/SimpleProcessDesignerV2/src/SimpleProcessModel.vue
@@ -36,7 +36,11 @@
@mouseleave="stopDrag"
@mouseenter="setGrabCursor"
>
-
+