diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/modules/process-print.vue b/apps/web-antd/src/views/bpm/processInstance/detail/modules/process-print.vue index 25833a809..d953015c3 100644 --- a/apps/web-antd/src/views/bpm/processInstance/detail/modules/process-print.vue +++ b/apps/web-antd/src/views/bpm/processInstance/detail/modules/process-print.vue @@ -2,7 +2,7 @@ import type { BpmProcessInstanceApi } from '#/api/bpm/processInstance'; import type { SystemAreaApi } from '#/api/system/area'; -import { computed, ref } from 'vue'; +import { computed, ref, shallowRef } from 'vue'; import { useVbenModal } from '@vben/common-ui'; import { DICT_TYPE } from '@vben/constants'; @@ -19,6 +19,7 @@ import { getAreaTree } from '#/api/system/area'; import { getSimpleDeptList } from '#/api/system/dept'; import { getSimpleUserList } from '#/api/system/user'; import { decodeFields } from '#/components/form-create'; +import { registerComponent } from '#/utils'; const userStore = useUserStore(); @@ -54,6 +55,7 @@ const userName = computed(() => userStore.userInfo?.nickname ?? ''); const printTime = ref(formatDate(new Date(), 'YYYY-MM-DD HH:mm')); const formFields = ref([]); const printDataMap = ref>({}); +const BusinessFormComponent = shallowRef(); /** 打印配置 */ const printObj = ref({ @@ -93,6 +95,17 @@ async function fetchPrintData(id: string) { printTime.value = formatDate(new Date(), 'YYYY-MM-DD HH:mm'); initPrintDataMap(); await parseFormFields(); + initBusinessFormComponent(); +} + +/** 初始化业务表单组件 */ +function initBusinessFormComponent() { + const businessFormPath = + printData.value?.processInstance.processDefinition?.formCustomViewPath || + ''; + BusinessFormComponent.value = businessFormPath + ? registerComponent(businessFormPath) + : undefined; } /** 解析表单字段 */ @@ -595,6 +608,22 @@ function getPrintTemplateHTML() {
+ + + +
+ +
+ + + +
userStore.userInfo?.nickname ?? ''); const printTime = ref(formatDate(new Date(), 'YYYY-MM-DD HH:mm')); const formFields = ref([]); const printDataMap = ref>({}); +const BusinessFormComponent = shallowRef(); /** 打印配置 */ const printObj = ref({ @@ -93,6 +95,17 @@ async function fetchPrintData(id: string) { printTime.value = formatDate(new Date(), 'YYYY-MM-DD HH:mm'); initPrintDataMap(); await parseFormFields(); + initBusinessFormComponent(); +} + +/** 初始化业务表单组件 */ +function initBusinessFormComponent() { + const businessFormPath = + printData.value?.processInstance.processDefinition?.formCustomViewPath || + ''; + BusinessFormComponent.value = businessFormPath + ? registerComponent(businessFormPath) + : undefined; } /** 解析表单字段 */ @@ -595,6 +608,22 @@ function getPrintTemplateHTML() {
+ +
+ +
+ +