From 3357b5f0f0919f7a52cd32a6d6de0acb14e0daaf Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期二, 17 十二月 2024 17:29:01 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/bpm/processInstance/detail/ProcessInstanceBpmnViewer.vue | 67 ++++++++++++++++++--------------- 1 files changed, 37 insertions(+), 30 deletions(-) diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceBpmnViewer.vue b/src/views/bpm/processInstance/detail/ProcessInstanceBpmnViewer.vue index 8912593..781263d 100644 --- a/src/views/bpm/processInstance/detail/ProcessInstanceBpmnViewer.vue +++ b/src/views/bpm/processInstance/detail/ProcessInstanceBpmnViewer.vue @@ -1,54 +1,61 @@ <template> <el-card v-loading="loading" class="box-card"> - <template #header> - <span class="el-icon-picture-outline">流程图</span> - </template> - <MyProcessViewer - key="designer" - :activityData="activityList" - :prefix="bpmnControlForm.prefix" - :processInstanceData="processInstance" - :taskData="tasks" - :value="bpmnXml" - v-bind="bpmnControlForm" - /> + <MyProcessViewer key="designer" :xml="view.bpmnXml" :view="view" class="process-viewer" /> </el-card> </template> <script lang="ts" setup> import { propTypes } from '@/utils/propTypes' import { MyProcessViewer } from '@/components/bpmnProcessDesigner/package' -import * as ActivityApi from '@/api/bpm/activity' defineOptions({ name: 'BpmProcessInstanceBpmnViewer' }) const props = defineProps({ - loading: propTypes.bool, // 是否加载中 - id: propTypes.string, // 流程实例的编号 - processInstance: propTypes.any, // 流程实例的信息 - tasks: propTypes.array, // 流程任务的数组 - bpmnXml: propTypes.string // BPMN XML + loading: propTypes.bool.def(false), // 是否加载中 + bpmnXml: propTypes.string, // BPMN XML + modelView: propTypes.object }) -const bpmnControlForm = ref({ - prefix: 'flowable' -}) -const activityList = ref([]) // 任务列表 +const view = ref({ + bpmnXml: '' +}) // BPMN 流程图数据 + /** 只有 loading 完成时,才去加载流程列表 */ watch( - () => props.loading, - async (value) => { - if (value && props.id) { - activityList.value = await ActivityApi.getActivityList({ - processInstanceId: props.id - }) + () => props.modelView, + async (newModelView) => { + // 加载最新 + if (newModelView) { + //@ts-ignore + view.value = newModelView } } ) + +/** 监听 bpmnXml */ +watch( + () => props.bpmnXml, + (value) => { + view.value.bpmnXml = value + } +) </script> -<style> +<style lang="scss" scoped> .box-card { + height: 100%; width: 100%; - margin-bottom: 20px; + margin-bottom: 0; + + :deep(.el-card__body) { + height: 100%; + padding: 0; + } + + :deep(.process-viewer) { + height: 100% !important; + min-height: 100%; + width: 100%; + overflow: auto; + } } </style> -- Gitblit v1.9.3