BPMLModel.vue 899 B

12345678910111213141516171819202122232425262728293031
  1. <template>
  2. <!-- 弹窗:流程模型图的预览 -->
  3. <Dialog v-model="bpmnDetailVisible" :append-to-body="true" title="流程图" width="800">
  4. <MyProcessViewer
  5. key="designer"
  6. v-model="bpmnXML"
  7. :prefix="bpmnControlForm.prefix"
  8. :value="bpmnXML as any"
  9. v-bind="bpmnControlForm"
  10. />
  11. </Dialog>
  12. </template>
  13. <script lang="ts" setup>
  14. import * as ModelApi from '@/api/bpm/model'
  15. import { MyProcessViewer } from '@/components/bpmnProcessDesigner/package'
  16. defineOptions({ name: 'BPMLModel' })
  17. /** 流程图的详情按钮操作 */
  18. const bpmnDetailVisible = ref(false)
  19. const bpmnXML = ref(null)
  20. const bpmnControlForm = ref({
  21. prefix: 'flowable'
  22. })
  23. const handleBpmnDetail = async (key: string) => {
  24. const data = await ModelApi.getModelByKey(key)
  25. bpmnXML.value = data.bpmnXml || ''
  26. bpmnDetailVisible.value = true
  27. }
  28. defineExpose({ handleBpmnDetail })
  29. </script>