diff --git a/src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue b/src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue index c4bc7b2e..c32c7620 100644 --- a/src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue +++ b/src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue @@ -56,7 +56,7 @@ - + diff --git a/src/components/bpmnProcessDesigner/package/penal/custom-config/ElementCustomConfig.vue b/src/components/bpmnProcessDesigner/package/penal/custom-config/ElementCustomConfig.vue index 9d8b3f57..f9cb9ac4 100644 --- a/src/components/bpmnProcessDesigner/package/penal/custom-config/ElementCustomConfig.vue +++ b/src/components/bpmnProcessDesigner/package/penal/custom-config/ElementCustomConfig.vue @@ -11,27 +11,25 @@ defineOptions({ name: 'ElementCustomConfig' }) const props = defineProps({ id: String, - type: String + type: String, + businessObject: { + type: Object, + default: () => {} + } }) const bpmnInstances = () => (window as any)?.bpmnInstances const customConfigComponent = ref(null) watch( - () => props.type, + () => props.businessObject, () => { - if (props.type) { - const element = bpmnInstances().bpmnElement.businessObject - let elementType = props.type - if (element.eventDefinitions) { - // 处理类似共用BoundaryEvent类型的TimerEvent - elementType += element.eventDefinitions[0].$type.split(':')[1] - } - const config = CustomConfigMap[elementType] - if (config) { - customConfigComponent.value = config.componet - return + if (props.type && props.businessObject) { + let val = props.type + if (props.businessObject.eventDefinitions) { + val += props.businessObject.eventDefinitions[0]?.$type.split(':')[1] || '' } + customConfigComponent.value = CustomConfigMap[val]?.componet } }, { immediate: true }