WorkAnalysis.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { RightOutlined } from '@ant-design/icons';
  2. import { useNavigate } from '@umijs/max';
  3. import { Spin } from 'antd';
  4. import styles from './WorkAnalysis.less';
  5. function WorkAnalysis(props) {
  6. const navigate = useNavigate();
  7. const { projectId, workAnalysisRequest: data, loading, eTime } = props;
  8. const project_categorys = data?.project_categorys || [];
  9. const toDetail = (item) => {
  10. sessionStorage.workAnalysis = JSON.stringify(item);
  11. navigate(
  12. `/smart-ops/work-analysis-detail/${projectId}?typeList=${item.technologys.join(
  13. ',',
  14. )}&eTime=${eTime}`,
  15. );
  16. };
  17. return (
  18. <Spin spinning={loading}>
  19. <div style={{ height: 'calc(100vh - 580px)', overflow: 'auto' }}>
  20. {project_categorys?.map((item) => (
  21. <div className={`${styles.box} card-box`} key={item.type}>
  22. <div className={styles.title}>{item.name}</div>
  23. <ul className={styles.list}>
  24. {item.childs?.map((cItem) => (
  25. <li key={cItem.type}>
  26. <div className={styles.listTitle}>{cItem.name}</div>
  27. <div className={styles.btn} onClick={() => toDetail(cItem)}>
  28. {cItem.optimizationNumber == 0 ? (
  29. <span style={{ color: '#12CEB3' }}>暂无优化</span>
  30. ) : (
  31. <span style={{ color: '#F5A623' }}>
  32. 可优化({cItem.optimizationNumber})
  33. </span>
  34. )}
  35. <RightOutlined className={styles.icon} />
  36. {/* <Icon className={styles.icon} type="right" /> */}
  37. </div>
  38. </li>
  39. ))}
  40. </ul>
  41. </div>
  42. ))}
  43. </div>
  44. </Spin>
  45. );
  46. }
  47. export default WorkAnalysis;