|
|
|
@ -40,37 +40,40 @@
@@ -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<ModalProps> = { 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<ModalProps> = { 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(); |
|
|
|
|