From 3a249628913ee67c1a547e47286f083b9f69f573 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Thu, 28 Sep 2023 19:14:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/helper/WorkflowModelDesign.vue | 63 ++++++++++--------- 1 file changed, 33 insertions(+), 30 deletions(-) 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();