index.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import React from 'react';
  2. import { Tooltip } from 'antd';
  3. import './index.less';
  4. import Assets from '@src/components/Assets';
  5. import Module from '../Module';
  6. import ProgressButton from '../ProgressButton';
  7. function Panel(props) {
  8. const { style, message, data = {}, col = 3, title, onClick } = props;
  9. return (
  10. <Module style={style} className="panel">
  11. <div className="header">
  12. <span>{title}</span>
  13. <Tooltip title={message} trigger='click'><Assets name="QA" svg /></Tooltip>
  14. </div>
  15. <div className="body">
  16. <div className="chart-info">
  17. <div className="chart" />
  18. <div className="info">
  19. {(data.info || []).map(row => {
  20. return <div className="item">
  21. <div className="title">{row.title}</div>
  22. <div className="data">
  23. <span className="text">{row.number}</span>{row.unit}
  24. </div>
  25. </div>;
  26. })}
  27. </div>
  28. </div>
  29. <div className={`list col-${col}`}>
  30. {(data.children || []).map(item => {
  31. return (
  32. <ProgressButton className="item" progress={item.progress} onClick={() => {
  33. if (onClick) onClick(item);
  34. }}>
  35. {item.title}
  36. </ProgressButton>
  37. );
  38. })}
  39. </div>
  40. </div>
  41. </Module>
  42. );
  43. }
  44. Panel.propTypes = {};
  45. export default Panel;