From 33e489ebfc4b86aa66cd5ed19681c3e3484e91ab Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 23 Nov 2025 10:30:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E3=80=90bpm=E3=80=91bpmn=20=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=99=A8=EF=BC=9A=E4=BF=9D=E7=95=99=E9=9D=9E=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E5=99=A8=E7=B1=BB=E5=9E=8B=E7=9A=84=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=EF=BC=8C=E9=81=BF=E5=85=8D=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E7=9B=91=E5=90=AC=E5=99=A8=E6=97=B6=E6=B8=85=E7=A9=BA=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../package/penal/listeners/ElementListeners.vue | 5 ++++- .../package/penal/listeners/UserTaskListeners.vue | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue b/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue index a161205aa..1cceb2358 100644 --- a/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue +++ b/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue @@ -291,7 +291,10 @@ const bpmnInstances = () => (window as any)?.bpmnInstances const resetListenersList = () => { bpmnElement.value = bpmnInstances().bpmnElement - otherExtensionList.value = [] + otherExtensionList.value = + bpmnElement.value.businessObject?.extensionElements?.values?.filter( + (ex) => ex.$type !== `${prefix}:ExecutionListener` + ) ?? [] // 保留非监听器类型的扩展属性,避免移除监听器时清空其他配置(如审批人等)。相关案例:https://gitee.com/yudaocode/yudao-ui-admin-vue3/issues/ICMSYC bpmnElementListeners.value = bpmnElement.value.businessObject?.extensionElements?.values?.filter( (ex) => ex.$type === `${prefix}:ExecutionListener` diff --git a/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue b/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue index 76e0c809d..d950f5bfe 100644 --- a/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue +++ b/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue @@ -342,9 +342,12 @@ const resetListenersList = () => { 'window.bpmnInstances.bpmnElementwindow.bpmnInstances.bpmnElementwindow.bpmnInstances.bpmnElementwindow.bpmnInstances.bpmnElementwindow.bpmnInstances.bpmnElementwindow.bpmnInstances.bpmnElement' ) bpmnElement.value = bpmnInstances().bpmnElement - otherExtensionList.value = [] + otherExtensionList.value = + bpmnElement.value.businessObject?.extensionElements?.values?.filter( + (ex) => ex.$type !== `${prefix}:TaskListener` + ) ?? [] // 保留非监听器类型的扩展属性,避免移除监听器时清空其他配置(如审批人等)。相关案例:https://gitee.com/yudaocode/yudao-ui-admin-vue3/issues/ICMSYC bpmnElementListeners.value = - bpmnElement.value.businessObject?.extensionElements?.values.filter( + bpmnElement.value.businessObject?.extensionElements?.values?.filter( (ex) => ex.$type === `${prefix}:TaskListener` ) ?? [] elementListenersList.value = bpmnElementListeners.value.map((listener) =>