page.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import React from 'react';
  2. import './index.less';
  3. import Page from '@src/containers/Page';
  4. import { formatDate, formatSeconds } from '@src/services/Tools';
  5. import Icon from '../../../components/Icon';
  6. import { My } from '../../../stores/my';
  7. export default class extends Page {
  8. init() { }
  9. initData() {
  10. My.getStudyTotal().then(total => {
  11. this.setState({ total });
  12. });
  13. My.getStudyWeek().then(week => {
  14. this.setState({ week });
  15. });
  16. }
  17. renderView() {
  18. const { total } = this.state;
  19. return (
  20. <div>
  21. <div className="block">
  22. <div className="text">
  23. 自{formatDate(total.createTime, 'YYYY-MM-DD')},您已在千行学习<span>{total.days}</span>天
  24. </div>
  25. <div className="text">
  26. 累积<span dangerouslySetInnerHTML={{ __html: formatSeconds(total.time).replace(/([0-9]+)([msh])/g, '<span class="s">$1</span>$2') }} />
  27. </div>
  28. </div>
  29. <div className="title">本周数据</div>
  30. <div className="t-c">
  31. <div className="item">
  32. <div className="text">学习时间</div>
  33. <div className="value">
  34. <span>23</span>Hour
  35. </div>
  36. </div>
  37. <div className="item">
  38. <div className="text">同比上周</div>
  39. <div className="value">
  40. <Icon type="caret-up" theme="filled" color="#6EC64B" />
  41. <span>15</span>%
  42. </div>
  43. </div>
  44. <div className="item">
  45. <div className="text">同比全站</div>
  46. <div className="value">
  47. <Icon type="caret-down" theme="filled" color="#F36565" />
  48. <span>15</span>%
  49. </div>
  50. </div>
  51. </div>
  52. </div>
  53. );
  54. }
  55. }