diff --git a/src/pages/flowEditor/components/nodeContent.tsx b/src/pages/flowEditor/components/nodeContent.tsx index 256f203..5c2b7ac 100644 --- a/src/pages/flowEditor/components/nodeContent.tsx +++ b/src/pages/flowEditor/components/nodeContent.tsx @@ -179,17 +179,19 @@ const renderRegularNodeHandles = (dataIns: any[], dataOuts: any[], apiIns: any[] }; const formatFooter = (data: any) => { - // TODO 这里后续需要优化 - if (isJSON(data)) { - const { duration } = JSON.parse(data); - const hours = Math.floor(duration / 3600); - const minutes = Math.floor((duration % 3600) / 60); - const seconds = Math.floor(duration % 60); - return `${hours}小时${minutes}分钟${seconds}秒`; - } - else { - const keyMap = ['intervalSeconds']; - return cronstrue.toString(data.intervalSeconds, { locale: 'zh_CN' }); + console.log('formatFooter:', data); + switch (data.type) { + case 'WAIT': + const { duration } = data.customDef; + const hours = Math.floor(duration / 3600); + const minutes = Math.floor((duration % 3600) / 60); + const seconds = Math.floor(duration % 60); + return `${hours}小时${minutes}分钟${seconds}秒`; + case 'CYCLE': + const { intervalSeconds } = data.customDef; + return cronstrue.toString(intervalSeconds, { locale: 'zh_CN' }); + default: + return '这个类型还没开发'; } }; @@ -199,7 +201,7 @@ const NodeContent = ({ data }: { data: NodeContentData }) => { const dataIns = data.parameters?.dataIns || []; const dataOuts = data.parameters?.dataOuts || []; const showFooter = data?.component?.customDef || false; - const footerData = (showFooter && data.component?.customDef) || {}; + const footerData = (showFooter && data.component) || {}; // 判断节点类型 const isStartNode = data.type === 'start'; diff --git a/src/pages/flowEditor/nodeEditors/components/WaitEditor.tsx b/src/pages/flowEditor/nodeEditors/components/WaitEditor.tsx index 3c7fda4..7f0353a 100644 --- a/src/pages/flowEditor/nodeEditors/components/WaitEditor.tsx +++ b/src/pages/flowEditor/nodeEditors/components/WaitEditor.tsx @@ -25,7 +25,7 @@ const WaitEditor: React.FC = ({ nodeData, updateNodeData }) => useEffect(() => { if (nodeData?.component?.customDef) { - const duration = JSON.parse(nodeData.component.customDef).duration; + const duration = nodeData.component.customDef.duration; setDuration({ hour: Math.floor(duration / 3600), minute: Math.floor((duration % 3600) / 60), @@ -42,7 +42,7 @@ const WaitEditor: React.FC = ({ nodeData, updateNodeData }) => time }); updateNodeData('component', { - customDef: JSON.stringify({ duration: time }), + customDef: { duration: time }, type: 'WAIT' }); };