diff --git a/src/views/workflow/model/helper/WorkflowModelDesign.vue b/src/views/workflow/model/helper/WorkflowModelDesign.vue index b797242..7ecbded 100644 --- a/src/views/workflow/model/helper/WorkflowModelDesign.vue +++ b/src/views/workflow/model/helper/WorkflowModelDesign.vue @@ -40,37 +40,40 @@ const microAppStore = useMicroAppStore(); const [registerModal, { setModalProps, closeModal, changeLoading }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => { changeLoading(); - state.workflowDesignApp = loadMicroApp(Object.assign({} , apps.find(item => item.name == 'workflow-design'), { - container: '#workflowDesign', - props: { - ...getSubDefineProps(), - [GlStateEnum.WORKFLOW_DESIGN_APP_PROPS_KEY]: workflowDesignProps - } - }), { sandbox: { experimentalStyleIsolation: true }}); - state.workflowDesignApp.mountPromise.then(async () => { - // 处理清除脏数据 - state.tag = data._tag; - const id = data.record?.id; - const workflowDesignApp: Recordable = microAppStore.getWorkflowDesignApp(WORKFLOW_DESIGN_APP_COMPONENTS.DESIGN), + // fix冲突: 延迟 100ms 后加载控制bpmn.js设计器跟model动画先后顺序,这样可以兼容非点击方式展开 + setTimeout(function () { + state.workflowDesignApp = loadMicroApp(Object.assign({} , apps.find(item => item.name == 'workflow-design'), { + container: '#workflowDesign', + props: { + ...getSubDefineProps(), + [GlStateEnum.WORKFLOW_DESIGN_APP_PROPS_KEY]: workflowDesignProps + } + }), { sandbox: { experimentalStyleIsolation: true }}); + state.workflowDesignApp.mountPromise.then(async () => { + // 处理清除脏数据 + state.tag = data._tag; + const id = data.record?.id; + const workflowDesignApp: Recordable = microAppStore.getWorkflowDesignApp(WORKFLOW_DESIGN_APP_COMPONENTS.DESIGN), workflowRef: Recordable = workflowDesignApp.getRef().$refs['workflow-design']; - workflowRef.setBpmnXml(''); - workflowRef.reset(); - // 处理设置数据 - const props: Partial = { loading: false }; - switch (state.tag) { - case 'add': - props.title = '新增流程模型'; - break; - case 'edit': - props.title = '编辑流程模型'; - const modelRepresentation = await getModel(id); - workflowRef.setModelData(modelRepresentation); - const bpmnXml = await getModelXml(id); - workflowRef.setBpmnXml(bpmnXml); - break; - } - setModalProps(props); - }); + workflowRef.setBpmnXml(''); + workflowRef.reset(); + // 处理设置数据 + const props: Partial = { loading: false }; + switch (state.tag) { + case 'add': + props.title = '新增流程模型'; + break; + case 'edit': + props.title = '编辑流程模型'; + const modelRepresentation = await getModel(id); + workflowRef.setModelData(modelRepresentation); + const bpmnXml = await getModelXml(id); + workflowRef.setBpmnXml(bpmnXml); + break; + } + setModalProps(props); + }); + }, 100); }); function handleVisibleChange(visible: boolean) { !visible && state.workflowDesignApp.unmount();