|
|
@ -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(); |
|
|
|