page.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import React from 'react';
  2. import './index.less';
  3. import { DatePicker } from 'antd-mobile';
  4. import Page from '@src/containers/Page';
  5. import Assets from '@src/components/Assets';
  6. import { formatDate } from '@src/services/Tools';
  7. import { Textbook } from '../../../stores/textbook';
  8. export default class extends Page {
  9. initState() {
  10. return {
  11. date: new Date(),
  12. };
  13. }
  14. initData() {
  15. Textbook.getInfo()
  16. .then(result => {
  17. this.setState(result);
  18. });
  19. this.refreshYear(this.state.date);
  20. }
  21. refreshYear(date) {
  22. this.setState({ date });
  23. Textbook.listYear(date.getFullYear())
  24. .then(() => {
  25. this.setState({ months: [] });
  26. });
  27. }
  28. renderView() {
  29. const { library = {}, date, months = [] } = this.state;
  30. return (
  31. <div>
  32. <div className="title">最新换库</div>
  33. <div className="main">{library.startDate ? formatDate(library.startDate, 'YYYY年MM月DD日') : ''}</div>
  34. <div className="title">
  35. 历史记录
  36. <div className="date">
  37. <DatePicker value={date} mode="year" onChange={value => {
  38. this.refreshYear(value);
  39. }}>
  40. <div>
  41. {date.getFullYear()}年
  42. <Assets name="down_down3" />
  43. </div>
  44. </DatePicker>
  45. </div>
  46. </div>
  47. <div className="list">
  48. {(months || []).map(month => {
  49. return <div className="item">
  50. <div className="d">{month.value}月</div>
  51. <div className="v">
  52. {month.list.map(row => {
  53. return <span>{row}</span>;
  54. })}
  55. </div>
  56. </div>;
  57. })}
  58. </div>
  59. </div>
  60. );
  61. }
  62. }