From 6b988bd582bfcd17fee48c476a5a6e5cc172b0d5 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期三, 12 三月 2025 10:08:33 +0800 Subject: [PATCH] dev-2 --- src/views/workflow/processDefinition/components/processPreview.vue | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 45 insertions(+), 0 deletions(-) diff --git a/src/views/workflow/processDefinition/components/processPreview.vue b/src/views/workflow/processDefinition/components/processPreview.vue new file mode 100644 index 0000000..19a95df --- /dev/null +++ b/src/views/workflow/processDefinition/components/processPreview.vue @@ -0,0 +1,45 @@ +<template> + <el-dialog v-model="data.visible" title="棰勮" width="70%" append-to-body destroy-on-close> + <div v-if="data.type === 'bpmn' && data.xmlStr"> + <BpmnViewer ref="bpmnViewerRef"></BpmnViewer> + </div> + <div v-if="data.type === 'xml' && data.xmlStr"> + <highlightjs language="xml" :code="data.xmlStr" /> + </div> + <template #footer> + <span v-if="data.type === 'xml'" class="dialog-footer"> </span> + </template> + </el-dialog> +</template> + +<script setup lang="ts"> +import BpmnViewer from '@/components/BpmnView/index.vue'; + +const data = reactive({ + visible: false, + type: '', + xmlStr: '' +}); + +const bpmnViewerRef = ref<InstanceType<typeof BpmnViewer>>(); +type PreviewType = 'xml' | 'bpmn'; +//鎵撳紑 +const openDialog = (xmlStr: string, type: PreviewType) => { + data.visible = true; + data.xmlStr = xmlStr; + data.type = type; + /** 娴佺▼鍥� */ + if (type === 'bpmn') { + /** 蹇呴』鏀惧湪nextTick 鍚﹀垯绗竴娆℃墦寮�涓虹┖ */ + nextTick(() => { + bpmnViewerRef.value?.initXml(data.xmlStr); + }); + } +}; +/** + * 瀵瑰鏆撮湶瀛愮粍浠舵柟娉� + */ +defineExpose({ + openDialog +}); +</script> -- Gitblit v1.9.3