定时器回显有问题。
This commit is contained in:
parent
c58e799c22
commit
858624816b
@ -86,58 +86,123 @@ const NodeConfig: React.FC<NodeConfigProps> = ({ nodeType, form, onValuesChange
|
|||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 渲染网关节点配置
|
||||||
|
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执行器特定配置
|
// 渲染Shell执行器特定配置
|
||||||
const renderShellExecutorConfig = () => {
|
const renderShellExecutorConfig = () => {
|
||||||
if (selectedExecutor !== 'SHELL') return null;
|
if (!nodeType.code?.includes('SHELL')) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label="脚本内容"
|
label="执行器"
|
||||||
name="script"
|
name="executor"
|
||||||
rules={[{ required: true, message: '请输入脚本内容' }]}
|
rules={[{ required: true, message: '请选择执行器' }]}
|
||||||
>
|
>
|
||||||
<Input.TextArea rows={6} placeholder="请输入脚本内容" />
|
<Select
|
||||||
</Form.Item>
|
placeholder="请选择执行器"
|
||||||
<Form.Item
|
options={nodeType.executors?.map(executor => ({
|
||||||
label="工作目录"
|
label: executor.name,
|
||||||
name="workingDirectory"
|
value: executor.code
|
||||||
>
|
}))}
|
||||||
<Input placeholder="请输入工作目录" />
|
/>
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
|
||||||
label="超时时间"
|
|
||||||
name="timeout"
|
|
||||||
rules={[{ type: 'number', min: 0, message: '超时时间必须大于0' }]}
|
|
||||||
>
|
|
||||||
<InputNumber placeholder="请输入超时时间(秒)" style={{ width: '100%' }} />
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
|
||||||
label="重试次数"
|
|
||||||
name="retryTimes"
|
|
||||||
rules={[{ type: 'number', min: 0, message: '重试次数不能为负数' }]}
|
|
||||||
>
|
|
||||||
<InputNumber placeholder="请输入重试次数" style={{ width: '100%' }} />
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
|
||||||
label="重试间隔"
|
|
||||||
name="retryInterval"
|
|
||||||
rules={[{ type: 'number', min: 0, message: '重试间隔不能为负数' }]}
|
|
||||||
>
|
|
||||||
<InputNumber placeholder="请输入重试间隔(秒)" style={{ width: '100%' }} />
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
|
||||||
label="环境变量"
|
|
||||||
name="environment"
|
|
||||||
>
|
|
||||||
<Input.TextArea placeholder="请输入环境变量" />
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
|
||||||
label="成功退出码"
|
|
||||||
name="successExitCode"
|
|
||||||
>
|
|
||||||
<Input placeholder="请输入成功退出码" />
|
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
||||||
|
{selectedExecutor === 'SHELL' && (
|
||||||
|
<>
|
||||||
|
<Form.Item
|
||||||
|
label="脚本内容"
|
||||||
|
name="script"
|
||||||
|
rules={[{ required: true, message: '请输入脚本内容' }]}
|
||||||
|
>
|
||||||
|
<Input.TextArea rows={6} placeholder="请输入脚本内容" />
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
label="工作目录"
|
||||||
|
name="workingDirectory"
|
||||||
|
>
|
||||||
|
<Input placeholder="请输入工作目录" />
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
label="超时时间"
|
||||||
|
name="timeout"
|
||||||
|
rules={[{ type: 'number', min: 0, message: '超时时间必须大于0' }]}
|
||||||
|
>
|
||||||
|
<InputNumber placeholder="请输入超时时间(秒)" style={{ width: '100%' }} />
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
label="重试次数"
|
||||||
|
name="retryTimes"
|
||||||
|
rules={[{ type: 'number', min: 0, message: '重试次数不能为负数' }]}
|
||||||
|
>
|
||||||
|
<InputNumber placeholder="请输入重试次数" style={{ width: '100%' }} />
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
label="重试间隔"
|
||||||
|
name="retryInterval"
|
||||||
|
rules={[{ type: 'number', min: 0, message: '重试间隔不能为负数' }]}
|
||||||
|
>
|
||||||
|
<InputNumber placeholder="请输入重试间隔(秒)" style={{ width: '100%' }} />
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
label="环境变量"
|
||||||
|
name="environment"
|
||||||
|
>
|
||||||
|
<Input.TextArea placeholder="请输入环境变量" />
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
label="成功退出码"
|
||||||
|
name="successExitCode"
|
||||||
|
>
|
||||||
|
<Input placeholder="请输入成功退出码" />
|
||||||
|
</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>
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user