Browse Source

fix: workflow app error msg 31

master
wangxiang 2 years ago
parent
commit
2903de2aa9
No known key found for this signature in database
GPG Key ID: 1BA7946AB6B232E4
  1. 22
      src/views/workflow/task/WorkflowChartModel.vue
  2. 21
      src/views/workflow/task/WorkflowPreviewForm.vue

22
src/views/workflow/task/WorkflowChartModel.vue

@ -1,8 +1,10 @@
<template> <template>
<div id="workflowChart" v-loading="state.loading"/> <div v-loading="state.loading">
<div id="workflowChart"/>
</div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { reactive, onBeforeUnmount } from 'vue'; import { reactive, onDeactivated, onBeforeUnmount, nextTick } from 'vue';
import { loadMicroApp, MicroApp } from 'qiankun'; import { loadMicroApp, MicroApp } from 'qiankun';
import { getSubDefineProps } from '/@/qiankun/state'; import { getSubDefineProps } from '/@/qiankun/state';
import { GlStateEnum, WORKFLOW_DESIGN_APP_COMPONENTS } from '/@/enums/microAppEnum'; import { GlStateEnum, WORKFLOW_DESIGN_APP_COMPONENTS } from '/@/enums/microAppEnum';
@ -40,8 +42,16 @@
const bpmnXml = await getProcessDefFlowChart(processDefId); const bpmnXml = await getProcessDefFlowChart(processDefId);
state.bpmnData = { bpmnXml }; state.bpmnData = { bpmnXml };
} }
state.workflowRef?.setHighlightImportDiagram(state.bpmnData); // fixme: https://github.com/umijs/plugins/issues/817
if (!state.workflowDesignApp || state.workflowDesignApp.getStatus() === 'NOT_MOUNTED') { if (!state.workflowDesignApp || state.workflowDesignApp.getStatus() === 'NOT_MOUNTED') {
await nextTick(() => {
handleLoadMicroApp();
});
}
} else createMessage.error('无法打开流程图,没有关联流程图ID!');
}
function handleLoadMicroApp() {
state.loading = true; state.loading = true;
state.workflowDesignApp = loadMicroApp(Object.assign({} , apps.find(item => item.name == 'workflow-design'), { state.workflowDesignApp = loadMicroApp(Object.assign({} , apps.find(item => item.name == 'workflow-design'), {
container: '#workflowChart', container: '#workflowChart',
@ -58,8 +68,10 @@
state.loading = false; state.loading = false;
}); });
} }
} else createMessage.error('无法打开流程图,没有关联流程图ID!');
} onDeactivated(() => {
state.workflowDesignApp?.getStatus() === 'MOUNTED' && state.workflowDesignApp.unmount();
});
onBeforeUnmount(() => { onBeforeUnmount(() => {
state.workflowDesignApp?.getStatus() === 'MOUNTED' && state.workflowDesignApp.unmount(); state.workflowDesignApp?.getStatus() === 'MOUNTED' && state.workflowDesignApp.unmount();

21
src/views/workflow/task/WorkflowPreviewForm.vue

@ -1,8 +1,10 @@
<template> <template>
<div id="formPreview" v-loading="state.loading"/> <div v-loading="state.loading">
<div id="formPreview"/>
</div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { PropType, reactive, onBeforeUnmount, watch } from 'vue'; import {PropType, reactive, watch, nextTick, onDeactivated, onBeforeUnmount} from 'vue';
import { loadMicroApp, MicroApp } from 'qiankun'; import { loadMicroApp, MicroApp } from 'qiankun';
import { getSubDefineProps } from '/@/qiankun/state'; import { getSubDefineProps } from '/@/qiankun/state';
import { GlStateEnum } from '/@/enums/microAppEnum'; import { GlStateEnum } from '/@/enums/microAppEnum';
@ -93,7 +95,16 @@
const data = await getFormDefinitionJson(formJsonId); const data = await getFormDefinitionJson(formJsonId);
if (!data.json) return createMessage.error('当前数据没有json结构体'); if (!data.json) return createMessage.error('当前数据没有json结构体');
formDesignProps.options = eval('(' + data.json + ')'); formDesignProps.options = eval('(' + data.json + ')');
// fixme: https://github.com/umijs/plugins/issues/817
if (!state.formDesignApp || state.formDesignApp.getStatus() === 'NOT_MOUNTED') { if (!state.formDesignApp || state.formDesignApp.getStatus() === 'NOT_MOUNTED') {
await nextTick(() => {
handleLoadMicroApp();
});
}
} else createMessage.info('没有关联流程表单!');
}
function handleLoadMicroApp() {
state.loading = true; state.loading = true;
state.formDesignApp = loadMicroApp(Object.assign({} , apps.find(item => item.name == 'form-design'), { state.formDesignApp = loadMicroApp(Object.assign({} , apps.find(item => item.name == 'form-design'), {
container: '#formPreview', container: '#formPreview',
@ -112,8 +123,10 @@
state.loading = false; state.loading = false;
}); });
} }
} else createMessage.info('没有关联流程表单!');
} onDeactivated(() => {
state.formDesignApp?.getStatus() === 'MOUNTED' && state.formDesignApp.unmount();
});
onBeforeUnmount(() => { onBeforeUnmount(() => {
state.formDesignApp?.getStatus() === 'MOUNTED' && state.formDesignApp.unmount(); state.formDesignApp?.getStatus() === 'MOUNTED' && state.formDesignApp.unmount();

Loading…
Cancel
Save