定时器回显有问题。

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 = () => {
if (selectedExecutor !== 'SHELL') return null;
// 渲染网关节点配置
const renderGatewayConfig = () => {
if (!nodeType.code?.includes('GATEWAY')) return null;
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
label="脚本内容"
@ -139,6 +202,8 @@ const NodeConfig: React.FC<NodeConfigProps> = ({ nodeType, form, onValuesChange
<Input placeholder="请输入成功退出码" />
</Form.Item>
</>
)}
</>
);
};
@ -151,21 +216,8 @@ const NodeConfig: React.FC<NodeConfigProps> = ({ nodeType, form, onValuesChange
>
{renderBasicFormItems()}
<Divider />
<Form.Item
label="执行器"
name="executor"
rules={[{ required: true, message: '请选择执行器' }]}
>
<Select
placeholder="请选择执行器"
options={nodeType.executors?.map(executor => ({
label: executor.name,
value: executor.code
}))}
/>
</Form.Item>
{renderGatewayConfig()}
{renderTimerConfig()}
{renderShellExecutorConfig()}
</Form>
);