定时器回显有问题。

This commit is contained in:
dengqichen 2024-12-06 13:41:14 +08:00
parent c58e799c22
commit 858624816b

View File

@ -86,11 +86,74 @@ const NodeConfig: React.FC<NodeConfigProps> = ({ nodeType, form, onValuesChange
</> </>
); );
// 渲染Shell执行器特定配置 // 渲染网关节点配置
const renderShellExecutorConfig = () => { const renderGatewayConfig = () => {
if (selectedExecutor !== 'SHELL') return null; if (!nodeType.code?.includes('GATEWAY')) return null;
return ( return (
<Form.Item
label="网关类型"
name="type"
rules={[{ required: true, message: '请选择网关类型' }]}
>
<Select
placeholder="请选择网关类型"
options={[
{ label: '并行网关', value: 'PARALLEL' },
{ label: '排他网关', value: 'EXCLUSIVE' },
{ label: '包容网关', value: 'INCLUSIVE' }
]}
/>
</Form.Item>
);
};
// 渲染定时器节点配置
const renderTimerConfig = () => {
if (!nodeType.code?.includes('TIMER')) return null;
return (
<Form.Item
label="CRON表达式"
name="cron"
tooltip="定时触发的CRON表达式"
rules={[
{
required: true,
message: '请输入CRON表达式'
},
{
pattern: /^(\d+|\*|\*\/\d+|\d+\-\d+|\d+(,\d+)*) (\d+|\*|\*\/\d+|\d+\-\d+|\d+(,\d+)*) (\d+|\*|\*\/\d+|\d+\-\d+|\d+(,\d+)*) (\d+|\*|\*\/\d+|\d+\-\d+|\d+(,\d+)*) (\d+|\*|\*\/\d+|\d+\-\d+|\d+(,\d+)*) (\d+|\*|\*\/\d+|\d+\-\d+|\d+(,\d+)*)$/,
message: '请输入有效的CRON表达式'
}
]}
>
<Input placeholder="例如: 0 0 * * * *" />
</Form.Item>
);
};
// 渲染Shell执行器特定配置
const renderShellExecutorConfig = () => {
if (!nodeType.code?.includes('SHELL')) return null;
return (
<>
<Form.Item
label="执行器"
name="executor"
rules={[{ required: true, message: '请选择执行器' }]}
>
<Select
placeholder="请选择执行器"
options={nodeType.executors?.map(executor => ({
label: executor.name,
value: executor.code
}))}
/>
</Form.Item>
{selectedExecutor === 'SHELL' && (
<> <>
<Form.Item <Form.Item
label="脚本内容" label="脚本内容"
@ -139,6 +202,8 @@ const NodeConfig: React.FC<NodeConfigProps> = ({ nodeType, form, onValuesChange
<Input placeholder="请输入成功退出码" /> <Input placeholder="请输入成功退出码" />
</Form.Item> </Form.Item>
</> </>
)}
</>
); );
}; };
@ -151,21 +216,8 @@ const NodeConfig: React.FC<NodeConfigProps> = ({ nodeType, form, onValuesChange
> >
{renderBasicFormItems()} {renderBasicFormItems()}
<Divider /> <Divider />
{renderGatewayConfig()}
<Form.Item {renderTimerConfig()}
label="执行器"
name="executor"
rules={[{ required: true, message: '请选择执行器' }]}
>
<Select
placeholder="请选择执行器"
options={nodeType.executors?.map(executor => ({
label: executor.name,
value: executor.code
}))}
/>
</Form.Item>
{renderShellExecutorConfig()} {renderShellExecutorConfig()}
</Form> </Form>
); );