Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,8 @@ const addNewObject = () => {
}
}
dialogVisible.value = false
// 触发建模器更新以保存更改
saveChanges()
initDataList()
}

Expand All @@ -214,13 +216,48 @@ const removeObject = (type, row) => {
if (elementIndex !== -1) {
rootElements.value.splice(elementIndex, 1)
}
// 触发建模器更新以保存更改
saveChanges()
// 刷新列表
initDataList()
message.success('移除成功')
})
.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()
})
Expand Down