1
0

index.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. import React, { Component } from 'react';
  2. import './index.less';
  3. import { Icon } from 'antd-mobile';
  4. import Assets from '@src/components/Assets';
  5. import Tag from '../Tag';
  6. import Money from '../Money';
  7. import Button from '../Button';
  8. export class Block extends Component {
  9. render() {
  10. const { className = '', children } = this.props;
  11. return <div className={`g-block ${className}`}>{children}</div>;
  12. }
  13. }
  14. export class TopBlock extends Component {
  15. render() {
  16. const { className = '', theme = 'default', children } = this.props;
  17. return <div className={`g-top-block ${className} ${theme}`}>{children}</div>;
  18. }
  19. }
  20. export class TagBlock extends Component {
  21. render() {
  22. const { className = '', theme = 'default', tag, children } = this.props;
  23. return (
  24. <div className={`g-tag-block ${className} ${theme}`}>
  25. <div className="g-tag-block-tag">{tag}</div>
  26. {children}
  27. </div>
  28. );
  29. }
  30. }
  31. export class LinkBlock extends Component {
  32. render() {
  33. const { className = '', theme = 'default', title, sub } = this.props;
  34. return (
  35. <div className={`g-link-block ${className} ${theme}`}>
  36. <div className="g-link-block-title">{title}</div>
  37. <div className="g-link-block-sub">{sub}</div>
  38. <div className="g-link-block-icon">
  39. <Icon type="right" size="xxs" color="#fff" />
  40. </div>
  41. </div>
  42. );
  43. }
  44. }
  45. export class CourseBlock extends Component {
  46. render() {
  47. return (
  48. <Block className="course-block">
  49. <div className="title">OG20整合刷题-语法SC</div>
  50. <div className="block-body">
  51. <Assets name="c_b" />
  52. <div className="info">
  53. <div className="teacher">
  54. 授课老师<span>李小小</span>
  55. </div>
  56. <div className="desc">
  57. 老师特别特别特别好,上课特别认真…老师特别特别特别好,上课特别认真…老师特别特别特别好,上课特别认真…老师特别特别特别好,上课特别认真…
  58. </div>
  59. <div className="division" />
  60. <div className="data">
  61. <Tag size="small">适合新手</Tag>
  62. <div className="result">
  63. 优质回答<span>89</span>
  64. </div>
  65. </div>
  66. </div>
  67. </div>
  68. </Block>
  69. );
  70. }
  71. }
  72. export class CourseCoBlock extends Component {
  73. render() {
  74. const { theme } = this.props;
  75. return (
  76. <TagBlock className="course-co-block" theme={theme} tag="语文Verbal">
  77. <div className="title">OG20基础刷题套餐</div>
  78. <div className="info">
  79. <div className="teacher">
  80. 授课老师<span>李小小</span>
  81. </div>
  82. <Tag size="small">适合新手</Tag>
  83. </div>
  84. <div className="desc">
  85. 老师特别特别特别好,上课特别认真…老师特别特别特别好,上课特别认真…老师特别特别特别好,上课特别认真…老师特别特别特别好,上课特别认真…
  86. </div>
  87. </TagBlock>
  88. );
  89. }
  90. }
  91. export class DataBlock extends Component {
  92. render() {
  93. return (
  94. <Block className="data-block">
  95. <Assets name="d_b" />
  96. <div className="info">
  97. <div className="title">OG16/17/18/19语法千行</div>
  98. <div className="desc">资料非常好,帮助复习。</div>
  99. <div className="division" />
  100. <div className="data">
  101. <div className="people">888人已购</div>
  102. <Money value="200" />
  103. </div>
  104. </div>
  105. </Block>
  106. );
  107. }
  108. }
  109. export class BuyBlock extends Component {
  110. render() {
  111. const { theme } = this.props;
  112. return (
  113. <TopBlock className="buy-block" theme={theme}>
  114. <div className="block-left">
  115. <div className="title">
  116. <Tag theme="border" radius size="small">
  117. 已到期
  118. </Tag>
  119. VIP会员
  120. </div>
  121. <div className="date">有效期:2019-11-20</div>
  122. <div className="desc">请访问千行 GMAT 官网开通使用</div>
  123. </div>
  124. <div className="block-right">
  125. <div className="btn">
  126. <Button radius>开通</Button>
  127. </div>
  128. <div className="tip">¥888/ 3个月</div>
  129. </div>
  130. </TopBlock>
  131. );
  132. }
  133. }