diff --git a/apps/web-antd/src/views/workflow/components/approval-panel.vue b/apps/web-antd/src/views/workflow/components/approval-panel.vue index b57d2227..a1e75251 100644 --- a/apps/web-antd/src/views/workflow/components/approval-panel.vue +++ b/apps/web-antd/src/views/workflow/components/approval-panel.vue @@ -7,11 +7,13 @@ import { computed, onUnmounted, ref, watch } from 'vue'; import { Fallback, useVbenModal, VbenAvatar } from '@vben/common-ui'; import { DictEnum } from '@vben/constants'; +import { useEventListener } from '@vueuse/core'; import { Card, Divider, Modal, Popconfirm, + Skeleton, Space, TabPane, Tabs, @@ -56,11 +58,21 @@ const currentFlowInfo = ref(); * card的loading状态 */ const loading = ref(false); +const iframeLoaded = ref(false); +useEventListener('message', (event) => { + /** + * iframe通信 加载完毕后才显示表单 解决卡顿问题 + */ + if (event.data === 'mounted') { + iframeLoaded.value = true; + } +}); async function handleLoadInfo(task: TaskInfo | undefined) { try { if (!task) return null; loading.value = true; + iframeLoaded.value = false; const resp = await flowInfo(task.businessId); currentFlowInfo.value = resp; } catch (error) { @@ -153,9 +165,11 @@ function handleTermination() {
+
diff --git a/apps/web-antd/src/views/workflow/leave/leave-form.vue b/apps/web-antd/src/views/workflow/leave/leave-form.vue index f3855077..ec186d94 100644 --- a/apps/web-antd/src/views/workflow/leave/leave-form.vue +++ b/apps/web-antd/src/views/workflow/leave/leave-form.vue @@ -52,6 +52,14 @@ onMounted(async () => { await formApi.setValues(resp); const dateRange = [dayjs(resp.startDate), dayjs(resp.endDate)]; await formApi.setFieldValue('dateRange', dateRange); + + /** + * window.parent(最近的上一级父页面) + * 主要解决内嵌iframe卡顿的问题 + */ + if (readonly) { + window.parent.postMessage('mounted', '*'); + } } }); diff --git a/apps/web-antd/src/views/workflow/leave/leave-modal.vue b/apps/web-antd/src/views/workflow/leave/leave-modal.vue deleted file mode 100644 index 98928a6f..00000000 --- a/apps/web-antd/src/views/workflow/leave/leave-modal.vue +++ /dev/null @@ -1,87 +0,0 @@ - - -