1
0

page.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. import React, { Component } from 'react';
  2. import './index.less';
  3. import { Icon } from 'antd';
  4. import Page from '@src/containers/Page';
  5. import { formatDate } from '@src/services/Tools';
  6. import Modal from '../../../components/Modal';
  7. import UserAction from '../../../components/UserAction';
  8. import CheckboxItem from '../../../components/CheckboxItem';
  9. export default class extends Page {
  10. initState() {
  11. return {
  12. filterMap: {},
  13. sortMap: {},
  14. list: [
  15. {
  16. title: '比较对象对等问题',
  17. content:
  18. '从比较对象和句子结构我们能把DE排除掉,D选项中dffat和livestock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较对象和句子结构我们能把DE排除掉,D选项中fat和livest。ock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较对象和句子结构我们能把DE排除掉,D选项中fat和livestock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较?对象和句子结构我们能把?DE排除掉,D选项中fat和livestock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较对象和句子结。构我们能把DE排除掉,D选项中fat和livestock不是比较对象.',
  19. },
  20. {
  21. title: '比较对象对等问题',
  22. content:
  23. '从比较对象和句子结构我们能把DE排除掉,D选项中dffat和livestock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较对象和句子结构我们能把DE排除掉,D选项中fat和livest。ock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较对象和句子结构我们能把DE排除掉,D选项中fat和livestock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较?对象和句子结构我们能把?DE排除掉,D选项中fat和livestock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较对象和句子结。构我们能把DE排除掉,D选项中fat和livestock不是比较对象.',
  24. },
  25. {
  26. title: '比较对象对等问题',
  27. content:
  28. '从比较对象和句子结构我们能把DE排除掉,D选项中dffat和livestock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较对象和句子结构我们能把DE排除掉,D选项中fat和livest。ock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较对象和句子结构我们能把DE排除掉,D选项中fat和livestock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较?对象和句子结构我们能把?DE排除掉,D选项中fat和livestock不是比较对象,E选项中and 后面的句子太凌乱is of a kind ….is…结构出现了重大问题?从比较对象和句子结。构我们能把DE排除掉,D选项中fat和livestock不是比较对象.',
  29. },
  30. ],
  31. selectList: [],
  32. allChecked: false,
  33. showDetail: false,
  34. };
  35. }
  36. initData() {}
  37. onFilter(value) {
  38. this.search(value, false);
  39. this.initData();
  40. }
  41. onChangePage(page) {
  42. this.search({ page }, false);
  43. this.initData();
  44. }
  45. renderView() {
  46. const { list = [], sortMap, filterMap, allChecked } = this.state;
  47. const {
  48. user: { info },
  49. } = this.props;
  50. return (
  51. <div>
  52. <div className="top content t-8">
  53. 千行课堂 > 全部课程 > OG20综合刷题 > 课时3 > <span className="t-1">我的笔记</span>
  54. <div className="f-r">返回课程</div>
  55. </div>
  56. <div className="center content">
  57. <div className="t-1 t-s-20 m-b-2">OG20综合刷题——第3课时:XXXXXXX</div>
  58. <UserAction
  59. allCheckbox
  60. allChecked={allChecked}
  61. search
  62. defaultSearch={filterMap.keyword}
  63. btnList={[
  64. { title: '删除', key: 'delete' },
  65. { title: '导出', key: 'export', tag: 'vip', disabled: !info.vip },
  66. ]}
  67. sortList={[
  68. { right: true, label: '课时', key: 'ask_time', fixed: true },
  69. { right: true, label: '更新时间', key: 'create_time', fixed: true },
  70. ]}
  71. sortMap={sortMap}
  72. onSort={value => this.onSort(value)}
  73. />
  74. <div className="list">
  75. {list.map(item => {
  76. return <Note data={item} onClick={() => this.setState({ showDetail: true, article: item })} />;
  77. })}
  78. </div>
  79. </div>
  80. {this.renderModal()}
  81. </div>
  82. );
  83. }
  84. renderModal() {
  85. const { article = {} } = this.state;
  86. return [
  87. <NoteDetail
  88. show={this.state.showDetail}
  89. data={article}
  90. onClose={() => this.setState({ showDetail: false })}
  91. onPrev={() => this.prevArticle()}
  92. onNext={() => this.nextArticle()}
  93. />,
  94. ];
  95. }
  96. }
  97. class NoteDetail extends Component {
  98. render() {
  99. const { show, data, onClose, onPrev, onNext } = this.props;
  100. return (
  101. <Modal
  102. className="note-detail-modal"
  103. body={false}
  104. show={show}
  105. width={720}
  106. maskClosable
  107. close={false}
  108. onClose={onClose}
  109. title={data.title}
  110. center
  111. >
  112. <Icon type="left" className="prev" onClick={() => onPrev && onPrev()} />
  113. <Icon type="right" className="next" onClick={() => onNext && onNext()} />
  114. <div className="t-2 t-s-18 detail" dangerouslySetInnerHTML={{ __html: data.content }} />
  115. </Modal>
  116. );
  117. }
  118. }
  119. class Note extends Component {
  120. render() {
  121. const { data, onClick } = this.props;
  122. return (
  123. <div className="note-item p-t-2 b-b" onClick={() => onClick && onClick()}>
  124. <div className="t-1 t-s-14 f-w-b m-b-5">
  125. <CheckboxItem theme="white" />
  126. <span className="t-2 m-l-5 m-r-5">课时1</span>
  127. {data.title}
  128. <div className="f-r t-3 t-s-12 f-w-d">
  129. <span>{formatDate(data.updateTime, 'YYYY-MM-DD HH:mm:ss')}</span>
  130. </div>
  131. </div>
  132. <div className="t-2 m-b-2 detail" dangerouslySetInnerHTML={{ __html: data.content }} />
  133. </div>
  134. );
  135. }
  136. }