diff --git a/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue b/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue index a161205a..1cceb235 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 76e0c809..d950f5bf 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) =>