diff --git a/apps/web-antd/src/components/simple-process-design/components/simple-process-model.vue b/apps/web-antd/src/components/simple-process-design/components/simple-process-model.vue index d50bd9d12..97fe9b2a1 100644 --- a/apps/web-antd/src/components/simple-process-design/components/simple-process-model.vue +++ b/apps/web-antd/src/components/simple-process-design/components/simple-process-model.vue @@ -249,7 +249,7 @@ onMounted(() => { /> - + +import type { SimpleFlowNode } from '../consts'; + +import { provide, ref, watch } from 'vue'; + +import { useWatchNode } from '../helpers'; +import SimpleProcessModel from './simple-process-model.vue'; + +defineOptions({ name: 'SimpleProcessViewer' }); + +const props = withDefaults( + defineProps<{ + flowNode: SimpleFlowNode; + // 流程实例 + processInstance?: any; + // 流程任务 + tasks?: any[]; + }>(), + { + processInstance: undefined, + tasks: () => [] as any[], + }, +); +const approveTasks = ref(props.tasks); +const currentProcessInstance = ref(props.processInstance); +const simpleModel = useWatchNode(props); +watch( + () => props.tasks, + (newValue) => { + approveTasks.value = newValue; + }, +); +watch( + () => props.processInstance, + (newValue) => { + currentProcessInstance.value = newValue; + }, +); +// 提供给后代组件使用 +provide('tasks', approveTasks); +provide('processInstance', currentProcessInstance); + + diff --git a/apps/web-antd/src/components/simple-process-design/index.ts b/apps/web-antd/src/components/simple-process-design/index.ts index ff79ef8cf..41269eae8 100644 --- a/apps/web-antd/src/components/simple-process-design/index.ts +++ b/apps/web-antd/src/components/simple-process-design/index.ts @@ -4,4 +4,8 @@ export { default as HttpRequestSetting } from './components/nodes-config/modules export { default as SimpleProcessDesigner } from './components/simple-process-designer.vue'; +export { default as SimpleProcessViewer } from './components/simple-process-viewer.vue'; + +export type { SimpleFlowNode } from './consts'; + export { parseFormFields } from './helpers'; diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/index.vue b/apps/web-antd/src/views/bpm/processInstance/detail/index.vue index f86258ec5..cd2f220f8 100644 --- a/apps/web-antd/src/views/bpm/processInstance/detail/index.vue +++ b/apps/web-antd/src/views/bpm/processInstance/detail/index.vue @@ -346,7 +346,12 @@ onMounted(async () => { - +
-defineOptions({ name: 'ProcessInstanceSimpleViewer' }); - + + +