diff --git a/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/flowableDescriptor.json b/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/flowableDescriptor.json index c60b524a1dffd7034c1e775bb7744014672cef83..31fb7d8508f0d598df69a1cde3908f96e457ba29 100644 --- a/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/flowableDescriptor.json +++ b/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/flowableDescriptor.json @@ -1329,6 +1329,34 @@ "isAttr": true } ] + }, + { + "name": "BoundaryEventType", + "superClass": ["Element"], + "meta": { + "allowedIn": ["bpmn:BoundaryEvent"] + }, + "properties": [ + { + "name": "value", + "type": "Integer", + "isBody": true + } + ] + }, + { + "name": "TimeoutHandlerType", + "superClass": ["Element"], + "meta": { + "allowedIn": ["bpmn:BoundaryEvent"] + }, + "properties": [ + { + "name": "value", + "type": "Integer", + "isBody": true + } + ] } ], "emumerations": [] diff --git a/src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue b/src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue index c4bc7b2e5baa7d49d2f80bdcaea40ef87ddc06c8..c32c7620cf717046fc5f71220aec386f55336702 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 9d8b3f57fb96dc448412c50d93491e6948b61d57..f9cb9ac467b900384b61389ffcf80202b9875529 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 } diff --git a/src/components/bpmnProcessDesigner/package/penal/custom-config/components/BoundaryEventTimer.vue b/src/components/bpmnProcessDesigner/package/penal/custom-config/components/BoundaryEventTimer.vue index 81ba670c5d9dd031046f585da9acbb70b8e2d7b6..ca46b277a10871ebff9fa8ffe277a112d30c4f2b 100644 --- a/src/components/bpmnProcessDesigner/package/penal/custom-config/components/BoundaryEventTimer.vue +++ b/src/components/bpmnProcessDesigner/package/penal/custom-config/components/BoundaryEventTimer.vue @@ -1,13 +1,252 @@ - 定时边界事件(非中断) + 审批人超时未处理时 + + + + + + + + + + 当超过 + + updateTimeModdle()" + /> + + + + + 未处理 + + + updateTimeModdle()" + /> + - +