diff --git a/src/components/BpmnDesign/index.vue b/src/components/BpmnDesign/index.vue index af1bde2..1568a3e 100644 --- a/src/components/BpmnDesign/index.vue +++ b/src/components/BpmnDesign/index.vue @@ -173,13 +173,13 @@ const initDiagram = (xml?: string) => { */ const fitViewport = () => { zoom.value = bpmnModeler.value.get('canvas').zoom('fit-viewport'); - const bbox = (document.querySelector('.app-containers .viewport') as SVGGElement).getBBox(); - const currentViewBox = bpmnModeler.value.get('canvas').viewbox(); + const bbox = document.querySelector('.app-containers .viewport').getBBox(); + const currentViewBox = bpmnModeler.value.get('canvas').viewbox(); const elementMid = { x: bbox.x + bbox.width / 2 - 65, y: bbox.y + bbox.height / 2 }; - bpmnModeler.value.get('canvas').viewbox({ + bpmnModeler.value.get('canvas').viewbox({ x: elementMid.x - currentViewBox.width / 2, y: elementMid.y - currentViewBox.height / 2, width: currentViewBox.width, @@ -192,9 +192,9 @@ const fitViewport = () => { * @param zoomIn true 放大 | false 缩小 */ const zoomViewport = (zoomIn = true) => { - zoom.value = bpmnModeler.value.get('canvas').zoom(); + zoom.value = bpmnModeler.value.get('canvas').zoom(); zoom.value += zoomIn ? 0.1 : -0.1; - bpmnModeler.value.get('canvas').zoom(zoom.value); + bpmnModeler.value.get('canvas').zoom(zoom.value); }; /**