diff --git a/src/views/bpm/processInstance/detail/PrintDialog.vue b/src/views/bpm/processInstance/detail/PrintDialog.vue index 080704ab9..527d495c4 100644 --- a/src/views/bpm/processInstance/detail/PrintDialog.vue +++ b/src/views/bpm/processInstance/detail/PrintDialog.vue @@ -14,6 +14,7 @@ import { getStrDictOptions } from '@/utils/dict' import { decodeFields } from '@/utils/formCreate' +import { registerComponent } from '@/utils/routerHelper' interface FormFieldItem { html: string @@ -58,6 +59,7 @@ const userName = computed(() => userStore.user.nickname ?? '') const printTime = ref(formatDate(new Date(), 'YYYY-MM-DD HH:mm')) const formFields = ref([]) const printDataMap = ref>({}) +const BusinessFormComponent = shallowRef() const open = async (id: string) => { loading.value = true @@ -66,6 +68,7 @@ const open = async (id: string) => { printTime.value = formatDate(new Date(), 'YYYY-MM-DD HH:mm') initPrintDataMap() await parseFormFields() + initBusinessFormComponent() } finally { loading.value = false } @@ -73,6 +76,12 @@ const open = async (id: string) => { } defineExpose({ open }) +const initBusinessFormComponent = () => { + const businessFormPath = + printData.value?.processInstance?.processDefinition?.formCustomViewPath || '' + BusinessFormComponent.value = businessFormPath ? registerComponent(businessFormPath) : undefined +} + const parseFormFields = async () => { if (!printData.value) return @@ -498,6 +507,19 @@ const printObj = ref({
+ + + +
+ +
+ +

流程节点