2023-03-28 01:19:25 +08:00
|
|
|
<template>
|
2023-04-14 21:32:11 +08:00
|
|
|
<el-card v-loading="loading" class="box-card">
|
2024-11-13 09:34:21 +08:00
|
|
|
<MyProcessViewer key="designer" :xml="view.bpmnXml" :view="view" class="process-viewer" />
|
2023-03-28 01:19:25 +08:00
|
|
|
</el-card>
|
|
|
|
</template>
|
2023-06-21 19:14:34 +08:00
|
|
|
<script lang="ts" setup>
|
2023-03-28 01:19:25 +08:00
|
|
|
import { propTypes } from '@/utils/propTypes'
|
2023-04-15 18:52:35 +08:00
|
|
|
import { MyProcessViewer } from '@/components/bpmnProcessDesigner/package'
|
2023-03-28 01:19:25 +08:00
|
|
|
|
2023-06-21 19:14:34 +08:00
|
|
|
defineOptions({ name: 'BpmProcessInstanceBpmnViewer' })
|
|
|
|
|
2023-03-28 01:19:25 +08:00
|
|
|
const props = defineProps({
|
2024-10-12 19:41:38 +08:00
|
|
|
loading: propTypes.bool.def(false), // 是否加载中
|
2024-11-03 22:06:35 +08:00
|
|
|
bpmnXml: propTypes.string, // BPMN XML
|
|
|
|
modelView: propTypes.object
|
2023-03-28 01:19:25 +08:00
|
|
|
})
|
|
|
|
|
2024-10-12 19:41:38 +08:00
|
|
|
const view = ref({
|
|
|
|
bpmnXml: ''
|
|
|
|
}) // BPMN 流程图数据
|
2023-03-28 01:19:25 +08:00
|
|
|
|
2024-11-03 22:06:35 +08:00
|
|
|
|
2024-03-23 00:54:33 +08:00
|
|
|
/** 只有 loading 完成时,才去加载流程列表 */
|
|
|
|
watch(
|
2024-11-03 22:06:35 +08:00
|
|
|
() => props.modelView,
|
|
|
|
async (newModelView) => {
|
2024-11-02 09:32:35 +08:00
|
|
|
// 加载最新
|
2024-11-03 22:06:35 +08:00
|
|
|
if (newModelView) {
|
|
|
|
//@ts-ignore
|
|
|
|
view.value = newModelView
|
2024-03-23 00:54:33 +08:00
|
|
|
}
|
2023-03-28 07:51:46 +08:00
|
|
|
}
|
2024-03-23 00:54:33 +08:00
|
|
|
)
|
2024-10-12 19:41:38 +08:00
|
|
|
|
|
|
|
/** 监听 bpmnXml */
|
|
|
|
watch(
|
|
|
|
() => props.bpmnXml,
|
|
|
|
(value) => {
|
|
|
|
view.value.bpmnXml = value
|
|
|
|
}
|
|
|
|
)
|
2023-03-28 01:19:25 +08:00
|
|
|
</script>
|
|
|
|
<style>
|
|
|
|
.box-card {
|
|
|
|
width: 100%;
|
|
|
|
margin-bottom: 20px;
|
|
|
|
}
|
2024-11-13 09:34:21 +08:00
|
|
|
|
|
|
|
:deep(.process-viewer) {
|
|
|
|
height: 100% !important;
|
|
|
|
min-height: 500px;
|
|
|
|
}
|
2023-03-28 01:19:25 +08:00
|
|
|
</style>
|