|
|
|
@@ -11,9 +11,15 @@ type ExperimentParameterProps = { |
|
|
|
|
|
|
|
function ExperimentParameter({ nodeData }: ExperimentParameterProps) { |
|
|
|
// 控制策略 |
|
|
|
const controlStrategyList = Object.entries(nodeData.control_strategy ?? {}).map( |
|
|
|
([key, value]) => ({ key, value }), |
|
|
|
); |
|
|
|
// const controlStrategyList = Object.entries(nodeData.control_strategy ?? {}).map( |
|
|
|
// ([key, value]) => ({ key, value }), |
|
|
|
// ); |
|
|
|
const nodeId = nodeData.id; |
|
|
|
const hasTaskInfo = |
|
|
|
nodeId && |
|
|
|
!nodeId.startsWith('git-clone') && |
|
|
|
!nodeId.startsWith('dataset-export') && |
|
|
|
!nodeId.startsWith('model-export'); |
|
|
|
|
|
|
|
// 输入参数 |
|
|
|
const inParametersList = Object.entries(nodeData.in_parameters ?? {}).map(([key, value]) => ({ |
|
|
|
@@ -74,54 +80,58 @@ function ExperimentParameter({ nodeData }: ExperimentParameterProps) { |
|
|
|
> |
|
|
|
<FormInfo /> |
|
|
|
</Form.Item> |
|
|
|
<div className={styles['experiment-parameter__title']}> |
|
|
|
<SubAreaTitle |
|
|
|
image={require('@/assets/img/duty-message.png')} |
|
|
|
title="任务信息" |
|
|
|
></SubAreaTitle> |
|
|
|
</div> |
|
|
|
<Form.Item |
|
|
|
label="镜像" |
|
|
|
name="image" |
|
|
|
rules={[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: '请输入镜像', |
|
|
|
}, |
|
|
|
]} |
|
|
|
> |
|
|
|
<FormInfo /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item label="工作目录" name="working_directory"> |
|
|
|
<FormInfo /> |
|
|
|
</Form.Item> |
|
|
|
{hasTaskInfo && ( |
|
|
|
<> |
|
|
|
<div className={styles['experiment-parameter__title']}> |
|
|
|
<SubAreaTitle |
|
|
|
image={require('@/assets/img/duty-message.png')} |
|
|
|
title="任务信息" |
|
|
|
></SubAreaTitle> |
|
|
|
</div> |
|
|
|
<Form.Item |
|
|
|
label="镜像" |
|
|
|
name="image" |
|
|
|
rules={[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: '请输入镜像', |
|
|
|
}, |
|
|
|
]} |
|
|
|
> |
|
|
|
<FormInfo /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item label="工作目录" name="working_directory"> |
|
|
|
<FormInfo /> |
|
|
|
</Form.Item> |
|
|
|
|
|
|
|
<Form.Item label="启动命令" name="command"> |
|
|
|
<FormInfo textArea /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item |
|
|
|
label="资源规格" |
|
|
|
name="resources_standard" |
|
|
|
rules={[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: '请输入资源规格', |
|
|
|
}, |
|
|
|
]} |
|
|
|
> |
|
|
|
<ParameterSelect dataType="resource" placeholder="请选择资源规格" display /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item label="挂载路径" name="mount_path"> |
|
|
|
<FormInfo /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item label="环境变量" name="env_variables"> |
|
|
|
<FormInfo textArea /> |
|
|
|
</Form.Item> |
|
|
|
{controlStrategyList.map((item) => ( |
|
|
|
<Form.Item key={item.key} name={['control_strategy', item.key]} label={item.value.label}> |
|
|
|
<FormInfo valuePropName="showValue" /> |
|
|
|
</Form.Item> |
|
|
|
))} |
|
|
|
<Form.Item label="启动命令" name="command"> |
|
|
|
<FormInfo textArea /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item |
|
|
|
label="资源规格" |
|
|
|
name="resources_standard" |
|
|
|
rules={[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: '请输入资源规格', |
|
|
|
}, |
|
|
|
]} |
|
|
|
> |
|
|
|
<ParameterSelect dataType="resource" placeholder="请选择资源规格" display /> |
|
|
|
</Form.Item> |
|
|
|
{/* <Form.Item label="挂载路径" name="mount_path"> |
|
|
|
<FormInfo /> |
|
|
|
</Form.Item> */} |
|
|
|
<Form.Item label="环境变量" name="env_variables"> |
|
|
|
<FormInfo textArea /> |
|
|
|
</Form.Item> |
|
|
|
{/* {controlStrategyList.map((item) => ( |
|
|
|
<Form.Item key={item.key} name={['control_strategy', item.key]} label={item.value.label}> |
|
|
|
<FormInfo valuePropName="showValue" /> |
|
|
|
</Form.Item> |
|
|
|
))} */} |
|
|
|
</> |
|
|
|
)} |
|
|
|
<div className={styles['experiment-parameter__title']}> |
|
|
|
<SubAreaTitle |
|
|
|
image={require('@/assets/img/duty-message.png')} |
|
|
|
|