Merge pull request #206 from zhanglc0618/fix/message_and_sinal_lost_data

fix: 【bpm】bpmn设计器: 消息与信号不能保存,对应issure:#202
pull/839/head
芋道源码 2025-12-07 12:00:41 +08:00 committed by GitHub
commit f48e6a29d8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 37 additions and 0 deletions

View File

@ -197,6 +197,8 @@ const addNewObject = () => {
}
}
dialogVisible.value = false
//
saveChanges()
initDataList()
}
@ -214,6 +216,8 @@ const removeObject = (type, row) => {
if (elementIndex !== -1) {
rootElements.value.splice(elementIndex, 1)
}
//
saveChanges()
//
initDataList()
message.success('移除成功')
@ -221,6 +225,39 @@ const removeObject = (type, row) => {
.catch(() => console.info('操作取消'))
}
//
const saveChanges = () => {
const modeler = bpmnInstances().modeler
if (!modeler) return
try {
// canvas
const canvas = modeler.get('canvas')
// Process
const rootElement = canvas.getRootElement()
// changed
const eventBus = modeler.get('eventBus')
if (eventBus) {
eventBus.fire('root.added', { element: rootElement })
eventBus.fire('elements.changed', { elements: [rootElement] })
}
//
const commandStack = modeler.get('commandStack')
if (commandStack && commandStack._stack) {
//
commandStack.execute('element.updateProperties', {
element: rootElement,
properties: {}
})
}
} catch (error) {
console.warn('保存更改时出错:', error)
}
}
onMounted(() => {
initDataList()
})