page.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import React from 'react';
  2. import './index.less';
  3. import { Icon } from 'antd';
  4. import Page from '@src/containers/Page';
  5. import UserLayout from '../../../layouts/User';
  6. import UserTable from '../../../components/UserTable';
  7. import UserFilter from '../../../components/UserFilter';
  8. import UserAction from '../../../components/UserAction';
  9. import menu from '../index';
  10. import Tabs from '../../../components/Tabs';
  11. const columns = [
  12. { key: '', title: '题型' },
  13. { key: '', title: '题目ID' },
  14. { key: '', title: '内容' },
  15. { key: '', title: '耗时' },
  16. { key: '', title: '错误率' },
  17. { key: '', title: '最近做题' },
  18. { key: '', title: '' },
  19. ];
  20. export default class extends Page {
  21. initState() {
  22. return {
  23. filterMap: {},
  24. };
  25. }
  26. onFilter(value) {
  27. this.setState({ filterMap: value });
  28. }
  29. renderView() {
  30. const { config } = this.props;
  31. return <UserLayout active={config.key} menu={menu} center={this.renderTable()} />;
  32. }
  33. renderTable() {
  34. const { filterMap = {} } = this.state;
  35. return (
  36. <div className="table-layout">
  37. <Tabs
  38. type="division"
  39. theme="theme"
  40. size="small"
  41. space={2.5}
  42. width={100}
  43. active={'1'}
  44. tabs={[{ key: '1', title: '练习' }, { key: '2', title: '模考' }]}
  45. />
  46. <UserFilter
  47. search
  48. data={[
  49. {
  50. label: '123',
  51. children: [
  52. {
  53. key: 'one',
  54. default: '1',
  55. select: [{ title: '123', key: '1' }, { title: '123', key: '2' }, { title: '123', key: '2' }],
  56. },
  57. {
  58. key: 'two',
  59. be: 'one',
  60. placeholder: '全部',
  61. selectMap: [{ title: '123', key: '1' }, { title: '123', key: '2' }, { title: '123', key: '2' }],
  62. },
  63. ],
  64. },
  65. ]}
  66. filterMap={filterMap}
  67. onFilter={value => this.onFilter(value)}
  68. />
  69. <UserAction
  70. allCheckbox
  71. help
  72. btnList={[
  73. { title: '移除', key: 'remove' },
  74. { title: '组卷', key: 'group', vip: true },
  75. { title: '导出', key: 'export', vip: true },
  76. ]}
  77. right={
  78. <div className="tip">
  79. 2019-06-03 15:30 组卷50题,做对30题。<span>移除正确题目</span>
  80. <Icon type="close-circle" theme="filled" />
  81. </div>
  82. }
  83. />
  84. <UserTable select columns={columns} data={[{}]} />
  85. </div>
  86. );
  87. }
  88. }