| @@ -51,7 +51,7 @@ function CreateHyperParameter() { | |||||
| ...rest, | ...rest, | ||||
| name, | name, | ||||
| parameters, | parameters, | ||||
| points_to_evaluate: points_to_evaluate ?? [undefined], | |||||
| points_to_evaluate: points_to_evaluate ?? [], | |||||
| }; | }; | ||||
| form.setFieldsValue(formData); | form.setFieldsValue(formData); | ||||
| @@ -138,7 +138,7 @@ function CreateHyperParameter() { | |||||
| name: '', | name: '', | ||||
| }, | }, | ||||
| ], | ], | ||||
| points_to_evaluate: [undefined], | |||||
| points_to_evaluate: [], | |||||
| }} | }} | ||||
| > | > | ||||
| <BasicConfig /> | <BasicConfig /> | ||||
| @@ -513,7 +513,6 @@ function ExecuteConfig() { | |||||
| marginRight: '3px', | marginRight: '3px', | ||||
| }} | }} | ||||
| shape="circle" | shape="circle" | ||||
| disabled={fields.length === 1} | |||||
| type="text" | type="text" | ||||
| size="middle" | size="middle" | ||||
| icon={<MinusCircleOutlined />} | icon={<MinusCircleOutlined />} | ||||
| @@ -538,6 +537,20 @@ function ExecuteConfig() { | |||||
| </div> | </div> | ||||
| </Flex> | </Flex> | ||||
| ))} | ))} | ||||
| {fields.length === 0 && ( | |||||
| <Form.Item className={styles['add-weight']}> | |||||
| <Button | |||||
| className={styles['add-weight__button']} | |||||
| color="primary" | |||||
| variant="dashed" | |||||
| onClick={() => add()} | |||||
| block | |||||
| icon={<PlusCircleOutlined />} | |||||
| > | |||||
| 添加手动运行参数 | |||||
| </Button> | |||||
| </Form.Item> | |||||
| )} | |||||
| <Form.ErrorList errors={errors} className={styles['run-parameter__error']} /> | <Form.ErrorList errors={errors} className={styles['run-parameter__error']} /> | ||||
| </div> | </div> | ||||
| </> | </> | ||||
| @@ -1,5 +1,6 @@ | |||||
| import { MinusCircleOutlined, PlusCircleOutlined } from '@ant-design/icons'; | import { MinusCircleOutlined, PlusCircleOutlined } from '@ant-design/icons'; | ||||
| import { Button, Flex, Form, Input, InputNumber } from 'antd'; | import { Button, Flex, Form, Input, InputNumber } from 'antd'; | ||||
| import React from 'react'; | |||||
| import { ParameterType, getFormOptions, parameterTooltip } from '../utils'; | import { ParameterType, getFormOptions, parameterTooltip } from '../utils'; | ||||
| import styles from './index.less'; | import styles from './index.less'; | ||||
| @@ -115,9 +116,8 @@ function ParameterRange({ type, value, onConfirm }: ParameterRangeProps) { | |||||
| <Flex align="start" style={{ width: '100%', marginBottom: '20px' }}> | <Flex align="start" style={{ width: '100%', marginBottom: '20px' }}> | ||||
| {formOptions.map((item, index) => { | {formOptions.map((item, index) => { | ||||
| return ( | return ( | ||||
| <> | |||||
| <React.Fragment key={item.name}> | |||||
| <Form.Item | <Form.Item | ||||
| key={item.name} | |||||
| name={item.name} | name={item.name} | ||||
| style={{ flex: 1, marginInlineEnd: 0 }} | style={{ flex: 1, marginInlineEnd: 0 }} | ||||
| rules={[ | rules={[ | ||||
| @@ -134,7 +134,7 @@ function ParameterRange({ type, value, onConfirm }: ParameterRangeProps) { | |||||
| {index === 0 ? '-' : ' '} | {index === 0 ? '-' : ' '} | ||||
| </span> | </span> | ||||
| )} | )} | ||||
| </> | |||||
| </React.Fragment> | |||||
| ); | ); | ||||
| })} | })} | ||||
| </Flex> | </Flex> | ||||
| @@ -11,6 +11,7 @@ | |||||
| // 增加样式权重 | // 增加样式权重 | ||||
| & &__button { | & &__button { | ||||
| width: calc(100% - 126px); | |||||
| border-color: .addAlpha(@primary-color, 0.5) []; | border-color: .addAlpha(@primary-color, 0.5) []; | ||||
| box-shadow: none !important; | box-shadow: none !important; | ||||
| &:hover { | &:hover { | ||||
| @@ -38,28 +38,28 @@ function ExperimentLog({ instanceInfo, nodes }: ExperimentLogProps) { | |||||
| }); | }); | ||||
| const tabItems = [ | const tabItems = [ | ||||
| { | |||||
| key: 'git-clone-framework', | |||||
| label: '框架代码日志', | |||||
| // icon: <KFIcon type="icon-rizhi1" />, | |||||
| children: ( | |||||
| <div className={styles['experiment-log__tabs__log']}> | |||||
| {frameworkCloneNodeStatus && ( | |||||
| <LogList | |||||
| instanceName={instanceInfo.argo_ins_name} | |||||
| instanceNamespace={instanceInfo.argo_ins_ns} | |||||
| pipelineNodeId={frameworkCloneNodeStatus.displayName} | |||||
| workflowId={frameworkCloneNodeStatus.id} | |||||
| instanceNodeStartTime={frameworkCloneNodeStatus.startedAt} | |||||
| instanceNodeStatus={frameworkCloneNodeStatus.phase as ExperimentStatus} | |||||
| ></LogList> | |||||
| )} | |||||
| </div> | |||||
| ), | |||||
| }, | |||||
| // { | |||||
| // key: 'git-clone-framework', | |||||
| // label: '框架代码日志', | |||||
| // // icon: <KFIcon type="icon-rizhi1" />, | |||||
| // children: ( | |||||
| // <div className={styles['experiment-log__tabs__log']}> | |||||
| // {frameworkCloneNodeStatus && ( | |||||
| // <LogList | |||||
| // instanceName={instanceInfo.argo_ins_name} | |||||
| // instanceNamespace={instanceInfo.argo_ins_ns} | |||||
| // pipelineNodeId={frameworkCloneNodeStatus.displayName} | |||||
| // workflowId={frameworkCloneNodeStatus.id} | |||||
| // instanceNodeStartTime={frameworkCloneNodeStatus.startedAt} | |||||
| // instanceNodeStatus={frameworkCloneNodeStatus.phase as ExperimentStatus} | |||||
| // ></LogList> | |||||
| // )} | |||||
| // </div> | |||||
| // ), | |||||
| // }, | |||||
| { | { | ||||
| key: 'git-clone-train', | key: 'git-clone-train', | ||||
| label: '训练代码日志', | |||||
| label: '系统日志', | |||||
| // icon: <KFIcon type="icon-rizhi1" />, | // icon: <KFIcon type="icon-rizhi1" />, | ||||
| children: ( | children: ( | ||||
| <div className={styles['experiment-log__tabs__log']}> | <div className={styles['experiment-log__tabs__log']}> | ||||