You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.tsx 2.3 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import KFIcon from '@/components/KFIcon';
  2. import { ExperimentStatusValues, experimentStatusInfo } from '@/pages/Experiment/status';
  3. import { ExperimentInstance } from '@/types';
  4. import { elapsedTime, formatDate } from '@/utils/date';
  5. import { useNavigate } from '@umijs/max';
  6. import { Button } from 'antd';
  7. import styles from './index.less';
  8. type ExperimentTableProps = {
  9. tableData: ExperimentInstance[];
  10. style?: React.CSSProperties;
  11. };
  12. function ExperimentTable({ tableData = [], style }: ExperimentTableProps) {
  13. const navgite = useNavigate();
  14. const gotoExperiment = (record: ExperimentInstance) => {
  15. navgite(`/pipeline/experimentPytorchtext/${record.workflow_id}/${record.id}`);
  16. };
  17. return (
  18. <div className={styles['experiment-table']} style={style}>
  19. <div className={styles['experiment-table__header']}>
  20. <div className={styles['experiment-table__status']}>状态</div>
  21. <div className={styles['experiment-table__duration']}>运行时长</div>
  22. <div className={styles['experiment-table__date']}>开始时间</div>
  23. <div className={styles['experiment-table__operation']}>操作</div>
  24. </div>
  25. {tableData?.map((item) => (
  26. <div className={styles['experiment-table__content']} key={item.id}>
  27. <div className={styles['experiment-table__status']} style={{ paddingLeft: '6.5px' }}>
  28. <img
  29. src={experimentStatusInfo[item.status as ExperimentStatusValues]?.icon}
  30. width={17}
  31. height={17}
  32. />
  33. </div>
  34. <div className={styles['experiment-table__duration']}>
  35. {elapsedTime(
  36. new Date(item.create_time),
  37. item.finish_time ? new Date(item.finish_time) : new Date(),
  38. )}
  39. </div>
  40. <div className={styles['experiment-table__date']}>{formatDate(item.create_time)}</div>
  41. <div className={styles['experiment-table__operation']}>
  42. <Button
  43. size="small"
  44. type="link"
  45. icon={<KFIcon type="icon-xiangqing2" font={14} />}
  46. onClick={() => gotoExperiment(item)}
  47. >
  48. 详情
  49. </Button>
  50. </div>
  51. </div>
  52. ))}
  53. </div>
  54. );
  55. }
  56. export default ExperimentTable;