| | |
| | | }); |
| | | }; |
| | | |
| | | const initXml = (xmlStr: string) => { |
| | | loading.value = true; |
| | | bpmnVisible.value = true; |
| | | nextTick(async () => { |
| | | if (modeler.value) modeler.value.destroy(); |
| | | modeler.value = new BpmnViewer({ |
| | | container: canvas.value, |
| | | additionalModules: [ |
| | | { |
| | | //禁止滚轮滚动 |
| | | zoomScroll: ['value', ''] |
| | | }, |
| | | ZoomScrollModule, |
| | | MoveCanvasModule |
| | | ] as ModuleDeclaration[] |
| | | }); |
| | | xml.value = xmlStr; |
| | | await createDiagram(xml.value); |
| | | loading.value = false; |
| | | }); |
| | | }; |
| | | |
| | | const createDiagram = async (data) => { |
| | | try { |
| | | await modeler.value.importXML(data); |
| | |
| | | } |
| | | }; |
| | | defineExpose({ |
| | | init |
| | | init, |
| | | initXml |
| | | }); |
| | | </script> |
| | | |
| | |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | cursor: pointer; |
| | | } |
| | | </style> |