定时器回显有问题。
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执行器特定配置
|
||||
const renderShellExecutorConfig = () => {
|
||||
if (selectedExecutor !== 'SHELL') return null;
|
||||
if (!nodeType.code?.includes('SHELL')) return null;
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form.Item
|
||||
label="脚本内容"
|
||||
name="script"
|
||||
rules={[{ required: true, message: '请输入脚本内容' }]}
|
||||
label="执行器"
|
||||
name="executor"
|
||||
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="请输入成功退出码" />
|
||||
<Select
|
||||
placeholder="请选择执行器"
|
||||
options={nodeType.executors?.map(executor => ({
|
||||
label: executor.name,
|
||||
value: executor.code
|
||||
}))}
|
||||
/>
|
||||
</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()}
|
||||
<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>
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user