page.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. import React from 'react';
  2. import './index.less';
  3. import { Icon } from 'antd';
  4. import Page from '@src/containers/Page';
  5. import Assets from '@src/components/Assets';
  6. import Footer from '../../../components/Footer';
  7. import { Contact } from '../../../components/Other';
  8. import Tabs from '../../../components/Tabs';
  9. import Button from '../../../components/Button';
  10. export default class extends Page {
  11. initState() {
  12. return {
  13. tab: '1',
  14. key: '1',
  15. };
  16. }
  17. onChangeTab(tab) {
  18. this.setState({ tab });
  19. }
  20. onChangeItem(key) {
  21. this.setState({ key });
  22. }
  23. renderView() {
  24. return (
  25. <div>
  26. <div className="top content">
  27. <Tabs type="text" active={'2'} tabs={[{ title: '在线课程', key: '1' }, { title: '1v1私教', key: '2' }]} />
  28. <div className="f-r">
  29. <span className="t-2 m-r-1">优惠活动:2门9折,3门88折,4门及以上85折。</span>
  30. <Assets name="cart" />
  31. <span className="t-2">( 1 )</span>
  32. </div>
  33. </div>
  34. {this.renderDetail()}
  35. <Contact />
  36. <Footer />
  37. </div>
  38. );
  39. }
  40. renderDetail() {
  41. const { tab, key } = this.state;
  42. return [
  43. <div className="center">
  44. <div className="content">
  45. <Assets className="m-b-2" width={1140} name="s" />
  46. <div className="item-list">
  47. <div className={`item ${key === '1' ? 'active' : ''}`} onClick={() => this.onChangeItem('1')}>
  48. <Assets name="xinshoufudao" />
  49. <div className="t-1 t-s-20 f-w-b">新手辅导</div>
  50. <div className="t-2">GMAT 全面了解,定制学习计划</div>
  51. </div>
  52. <div className={`item ${key === '2' ? 'active' : ''}`} onClick={() => this.onChangeItem('2')}>
  53. <Assets name="zhenduanfudao" />
  54. <div className="t-1 t-s-20 f-w-b">诊断辅导</div>
  55. <div className="t-2">复习效果不理想,制定突破计划</div>
  56. </div>
  57. <div className={`item ${key === '3' ? 'active' : ''}`} onClick={() => this.onChangeItem('3')}>
  58. <Assets name="xitongshouke" />
  59. <div className="t-1 t-s-20 f-w-b">系统授课</div>
  60. <div className="t-2">全面知识体系讲解,提升实战能力</div>
  61. </div>
  62. <div className={`item ${key === '4' ? 'active' : ''}`} onClick={() => this.onChangeItem('4')}>
  63. <Assets name="dayi" />
  64. <div className="t-1 t-s-20 f-w-b">答疑课</div>
  65. <div className="t-2">GMAT 全面了解,定制学习计划</div>
  66. </div>
  67. </div>
  68. <div className="item-detail">
  69. <div className="left">
  70. <Assets name="" />
  71. </div>
  72. <div className="right">
  73. <div className="t-1 t-s-16 m-b-2">
  74. 针对 0G20 的集中训练针对 0G20 的集中训练针对 0G20 的集中训练针对 0G20 的集中训练。针对 0G20
  75. 的集中训练针对 0G20 的集中训练针对 0G20 的集,中训练针对 0G20 的集中训练针 对 0G20 的集中训练针对。 0G20
  76. 的集中训练针对 0,G20 的集中训练针对 0G20 的集中训练针对 0G20 的集中训。练针对 0G20 的集中训练针对 0G20
  77. 的集中训练针对 0G20 的集中训练。针对 0G20 的集中训练针对 0G20 的集中训练针对 0G20 的集中训练针对 0G20
  78. 的集中训练。
  79. </div>
  80. <div className="m-b-5">
  81. <div style={{ width: 120 }} className="d-i-b t-2">
  82. 适合人群
  83. </div>
  84. <div className="d-i-b t-1">刚接触GMAT考试的考 ⽣生或需要科学备考计划 的考⽣生</div>
  85. </div>
  86. <div className="m-b-5">
  87. <div style={{ width: 120 }} className="d-i-b t-2">
  88. 课时数
  89. </div>
  90. <div className="d-i-b t-1">1课时,时⻓长1-1.5⼩小时</div>
  91. </div>
  92. <div className="m-b-5">
  93. <div style={{ width: 120 }} className="d-i-b t-2">
  94. 授课流程
  95. </div>
  96. <div className="d-i-b t-1">购买课时 → 收集信息 → 预约时间 → 正式辅导</div>
  97. </div>
  98. <div className="m-b-5">
  99. <div style={{ width: 120 }} className="d-i-b t-2">
  100. 课程有效期
  101. </div>
  102. <div className="d-i-b t-1">30天</div>
  103. </div>
  104. <div className="m-b-5 input">
  105. <div style={{ width: 120 }} className="d-i-b t-2">
  106. 购买课时
  107. </div>
  108. <div className="d-i-b t-1">
  109. <input style={{ width: 32 }} className="m-l-5 t-c" />
  110. <Icon className="up" type="caret-up" />
  111. <Icon className="down" type="caret-down" />
  112. </div>
  113. </div>
  114. <div className="m-b-5">
  115. <div style={{ width: 120 }} className="d-i-b t-2">
  116. 课程总价
  117. </div>
  118. <div className="d-i-b t-7 t-s-20 f-w-b"> ¥ 15000</div>
  119. </div>
  120. <div className="action">
  121. <Button className="m-r-1" radius size="lager">
  122. 立即购买
  123. </Button>
  124. <Button theme="default" radius size="lager">
  125. <Assets name="add" />
  126. </Button>
  127. </div>
  128. </div>
  129. </div>
  130. </div>
  131. </div>,
  132. <div className="bottom">
  133. <div className="content">
  134. <Tabs
  135. type="full"
  136. border
  137. active={tab}
  138. tabs={[
  139. { title: '老师资料', key: '1' },
  140. { title: '咨询方式', key: '2' },
  141. { title: 'FAQs', key: '3' },
  142. { title: '学员评价', key: '4' },
  143. ]}
  144. />
  145. {this[`renderTab${tab}`]()}
  146. </div>
  147. </div>,
  148. ];
  149. }
  150. renderTab1() {
  151. return <div />;
  152. }
  153. renderTab2() {
  154. return <div />;
  155. }
  156. renderTab3() {
  157. return <div />;
  158. }
  159. renderTab4() {
  160. return <div />;
  161. }
  162. }