|
|
|
@@ -35,6 +35,12 @@ const PipelineNodeParameter = forwardRef(({ onFormChange }: PipelineNodeParamete |
|
|
|
const [stagingItem, setStagingItem] = useState<PipelineNodeModelSerialize>( |
|
|
|
{} as PipelineNodeModelSerialize, |
|
|
|
); |
|
|
|
const nodeId = Form.useWatch('id', form) as string; |
|
|
|
const hasTaskInfo = |
|
|
|
nodeId && |
|
|
|
!nodeId.startsWith('git-clone') && |
|
|
|
!nodeId.startsWith('dataset-export') && |
|
|
|
!nodeId.startsWith('model-export'); |
|
|
|
const [open, setOpen] = useState(false); |
|
|
|
const [menuItems, setMenuItems] = useState<MenuProps['items']>([]); |
|
|
|
|
|
|
|
@@ -348,9 +354,9 @@ const PipelineNodeParameter = forwardRef(({ onFormChange }: PipelineNodeParamete |
|
|
|
}; |
|
|
|
|
|
|
|
// 控制策略 |
|
|
|
const controlStrategyList = Object.entries(stagingItem.control_strategy ?? {}).map( |
|
|
|
([key, value]) => ({ key, value }), |
|
|
|
); |
|
|
|
// const controlStrategyList = Object.entries(stagingItem.control_strategy ?? {}).map( |
|
|
|
// ([key, value]) => ({ key, value }), |
|
|
|
// ); |
|
|
|
|
|
|
|
// 输入参数 |
|
|
|
const inParametersList = Object.entries(stagingItem.in_parameters ?? {}).map(([key, value]) => ({ |
|
|
|
@@ -422,71 +428,73 @@ const PipelineNodeParameter = forwardRef(({ onFormChange }: PipelineNodeParamete |
|
|
|
> |
|
|
|
<Input disabled /> |
|
|
|
</Form.Item> |
|
|
|
<div className={styles['pipeline-drawer__title']}> |
|
|
|
<SubAreaTitle |
|
|
|
image={require('@/assets/img/duty-message.png')} |
|
|
|
title="任务信息" |
|
|
|
></SubAreaTitle> |
|
|
|
</div> |
|
|
|
<Form.Item label="镜像" required> |
|
|
|
<div className={styles['pipeline-drawer__ref-row']}> |
|
|
|
<Form.Item name="image" noStyle rules={[{ required: true, message: '请输入镜像' }]}> |
|
|
|
<Input placeholder="请输入或选择镜像" allowClear /> |
|
|
|
{hasTaskInfo && ( |
|
|
|
<> |
|
|
|
<div className={styles['pipeline-drawer__title']}> |
|
|
|
<SubAreaTitle |
|
|
|
image={require('@/assets/img/duty-message.png')} |
|
|
|
title="任务信息" |
|
|
|
></SubAreaTitle> |
|
|
|
</div> |
|
|
|
<Form.Item label="镜像" required> |
|
|
|
<div className={styles['pipeline-drawer__ref-row']}> |
|
|
|
<Form.Item name="image" noStyle rules={[{ required: true, message: '请输入镜像' }]}> |
|
|
|
<Input placeholder="请输入或选择镜像" allowClear /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item noStyle> |
|
|
|
<Button |
|
|
|
type="link" |
|
|
|
size="small" |
|
|
|
icon={getSelectBtnIcon({ item_type: 'image' })} |
|
|
|
onClick={() => selectResource('image', { item_type: 'image' })} |
|
|
|
className={styles['pipeline-drawer__ref-row__select-button']} |
|
|
|
> |
|
|
|
选择镜像 |
|
|
|
</Button> |
|
|
|
</Form.Item> |
|
|
|
</div> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item noStyle> |
|
|
|
<Button |
|
|
|
type="link" |
|
|
|
size="small" |
|
|
|
icon={getSelectBtnIcon({ item_type: 'image' })} |
|
|
|
onClick={() => selectResource('image', { item_type: 'image' })} |
|
|
|
className={styles['pipeline-drawer__ref-row__select-button']} |
|
|
|
> |
|
|
|
选择镜像 |
|
|
|
</Button> |
|
|
|
<Form.Item |
|
|
|
name="working_directory" |
|
|
|
label={ |
|
|
|
<PropsLabel |
|
|
|
menuItems={menuItems} |
|
|
|
title="工作目录" |
|
|
|
onClick={(value) => { |
|
|
|
handleParameterClick('working_directory', value); |
|
|
|
}} |
|
|
|
/> |
|
|
|
} |
|
|
|
> |
|
|
|
<Input placeholder="请输入工作目录" allowClear /> |
|
|
|
</Form.Item> |
|
|
|
</div> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item |
|
|
|
name="working_directory" |
|
|
|
label={ |
|
|
|
<PropsLabel |
|
|
|
menuItems={menuItems} |
|
|
|
title="工作目录" |
|
|
|
onClick={(value) => { |
|
|
|
handleParameterClick('working_directory', value); |
|
|
|
}} |
|
|
|
/> |
|
|
|
} |
|
|
|
> |
|
|
|
<Input placeholder="请输入工作目录" allowClear /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item |
|
|
|
name="command" |
|
|
|
label={ |
|
|
|
<PropsLabel |
|
|
|
menuItems={menuItems} |
|
|
|
title="启动命令" |
|
|
|
onClick={(value) => { |
|
|
|
handleParameterClick('command', value); |
|
|
|
}} |
|
|
|
/> |
|
|
|
} |
|
|
|
> |
|
|
|
<TextArea placeholder="请输入启动命令" allowClear /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item |
|
|
|
label="资源规格" |
|
|
|
name="resources_standard" |
|
|
|
rules={[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: '请选择资源规格', |
|
|
|
}, |
|
|
|
]} |
|
|
|
> |
|
|
|
<ParameterSelect dataType="resource" placeholder="请选择资源规格" /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item |
|
|
|
<Form.Item |
|
|
|
name="command" |
|
|
|
label={ |
|
|
|
<PropsLabel |
|
|
|
menuItems={menuItems} |
|
|
|
title="启动命令" |
|
|
|
onClick={(value) => { |
|
|
|
handleParameterClick('command', value); |
|
|
|
}} |
|
|
|
/> |
|
|
|
} |
|
|
|
> |
|
|
|
<TextArea placeholder="请输入启动命令" allowClear /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item |
|
|
|
label="资源规格" |
|
|
|
name="resources_standard" |
|
|
|
rules={[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: '请选择资源规格', |
|
|
|
}, |
|
|
|
]} |
|
|
|
> |
|
|
|
<ParameterSelect dataType="resource" placeholder="请选择资源规格" /> |
|
|
|
</Form.Item> |
|
|
|
{/* <Form.Item |
|
|
|
name="mount_path" |
|
|
|
label={ |
|
|
|
<PropsLabel |
|
|
|
@@ -499,23 +507,23 @@ const PipelineNodeParameter = forwardRef(({ onFormChange }: PipelineNodeParamete |
|
|
|
} |
|
|
|
> |
|
|
|
<Input placeholder="请输入挂载路径" allowClear /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item |
|
|
|
name="env_variables" |
|
|
|
label={ |
|
|
|
<PropsLabel |
|
|
|
menuItems={menuItems} |
|
|
|
title="环境变量" |
|
|
|
onClick={(value) => { |
|
|
|
handleParameterClick('env_variables', value); |
|
|
|
}} |
|
|
|
/> |
|
|
|
} |
|
|
|
> |
|
|
|
<TextArea placeholder="请输入环境变量" allowClear /> |
|
|
|
</Form.Item> |
|
|
|
{/* 控制参数 */} |
|
|
|
{controlStrategyList.map((item) => ( |
|
|
|
</Form.Item> */} |
|
|
|
<Form.Item |
|
|
|
name="env_variables" |
|
|
|
label={ |
|
|
|
<PropsLabel |
|
|
|
menuItems={menuItems} |
|
|
|
title="环境变量" |
|
|
|
onClick={(value) => { |
|
|
|
handleParameterClick('env_variables', value); |
|
|
|
}} |
|
|
|
/> |
|
|
|
} |
|
|
|
> |
|
|
|
<TextArea placeholder="请输入环境变量" allowClear /> |
|
|
|
</Form.Item> |
|
|
|
{/* 控制参数 */} |
|
|
|
{/* {controlStrategyList.map((item) => ( |
|
|
|
<Form.Item |
|
|
|
key={item.key} |
|
|
|
name={['control_strategy', item.key]} |
|
|
|
@@ -525,7 +533,10 @@ const PipelineNodeParameter = forwardRef(({ onFormChange }: PipelineNodeParamete |
|
|
|
> |
|
|
|
<ParameterInput placeholder={item.value.placeholder} allowClear></ParameterInput> |
|
|
|
</Form.Item> |
|
|
|
))} |
|
|
|
))} */} |
|
|
|
</> |
|
|
|
)} |
|
|
|
|
|
|
|
{/* 输入参数 */} |
|
|
|
{inParametersList.length > 0 && ( |
|
|
|
<> |
|
|
|
|