page.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. import React, { Component } from 'react';
  2. import './index.less';
  3. import { Icon, Radio } from 'antd';
  4. import Page from '@src/containers/Page';
  5. import CheckboxItem from '../../../components/CheckboxItem';
  6. import Button from '../../../components/Button';
  7. export default class extends Page {
  8. renderView() {
  9. const { _list = [{}, {}, {}] } = this.state;
  10. return (
  11. <div style={{ paddingTop: 50 }}>
  12. <div className="content">
  13. <div className="t-1 m-b-2 f-w-b t-s-24">购物车</div>
  14. </div>
  15. <div className="content">
  16. <div className="m-b-1 t-8">您看中的课程已构成套餐,结算有优惠</div>
  17. </div>
  18. <div className="list content">
  19. {_list.map(item => {
  20. return <OrderItem data={item} />;
  21. })}
  22. </div>
  23. <div className="footer">
  24. <div className="content">
  25. <div className="d-i-b m-t-1 m-r-2">
  26. <CheckboxItem className="v-a-m m-r-5" theme="white" checked />
  27. 全选
  28. </div>
  29. <div style={{ marginRight: 50 }} className="d-i-b m-t-1">
  30. <Button size="small" radius disabled={false}>
  31. 删除
  32. </Button>
  33. </div>
  34. <div style={{ marginTop: 15 }} className="d-i-b t-9 t-s-12 m-r-5">
  35. 优惠活动:
  36. </div>
  37. <div style={{ marginTop: 15 }} className="d-i-b t-s-12">
  38. <div>单项课程 2门9折,3门88折,4门及以上85折。</div>
  39. <div>1VS1私教 满30课时享95折优惠。</div>
  40. </div>
  41. <div className="f-r">
  42. <div className="d-i-b m-r-1 m-t-1">
  43. <div className="t-1 t-s-16 f-w-b">
  44. 实付<span className="m-l-5 t-7 t-s-20"> ¥ 15000</span>
  45. </div>
  46. <div className="t-1">
  47. 原价<span className="m-l-5 t-8 t-d-l-t">¥15200</span>
  48. <span className="m-l-5 t-8">(优惠活动-¥200)</span>
  49. </div>
  50. </div>
  51. <Button className="submit">立即付款</Button>
  52. </div>
  53. </div>
  54. </div>
  55. </div>
  56. );
  57. }
  58. }
  59. class OrderItem extends Component {
  60. render() {
  61. return (
  62. <div className="order-item">
  63. {this.renderInfo()}
  64. {this.renderDetail()}
  65. </div>
  66. );
  67. }
  68. renderInfo() {
  69. return (
  70. <div className="order-item-info">
  71. <CheckboxItem theme="white" className="select" />
  72. <Icon className="close" type="close-circle" theme="filled" />
  73. <div style={{ width: 360 }} className="d-i-b t-1 t-s-16">
  74. OG 20 套餐
  75. </div>
  76. <div style={{ width: 400 }} className="d-i-b t-8 t-s-12">
  77. 实付金额满20000元赠送
  78. </div>
  79. <div style={{ width: 120 }} className="d-i-b t-8 t-s-12 p-r">
  80. 数量
  81. <input style={{ width: 32 }} className="m-l-5 t-c" />
  82. <Icon className="up" type="caret-up" />
  83. <Icon className="down" type="caret-down" />
  84. </div>
  85. <div className="d-i-b t-7 t-s-16"> ¥ 15000</div>
  86. </div>
  87. );
  88. }
  89. renderDetail() {
  90. return (
  91. <div className="order-item-detail l-h-20">
  92. <div className="contain">
  93. <div style={{ width: 880 }} className="d-i-b t-1 t-s-12">
  94. <span className="d-i-b f-w-b m-r-5">
  95. 包含
  96. <Icon className="t-10 c-p" type="caret-up" />
  97. <Icon className="t-10 c-p" type="caret-down" />
  98. </span>
  99. <span style={{ width: 300 }} className="d-i-b nowrap">
  100. OG 20 语法 SC +OG 20 语法 SC +OG 20 语法 SC +OG 20 语法 SC +
  101. </span>
  102. </div>
  103. <div className="d-i-b t-1 t-s-12 t-d-l-t"> ¥ 123022</div>
  104. </div>
  105. <div className="contain-list m-b-5 l-h-16">
  106. <div>
  107. <div style={{ width: 360 }} className="d-i-b t-1 t-s-12">
  108. <span className="d-i-b m-r-5">OG 20 语法 SC</span>
  109. </div>
  110. <div className="d-i-b t-8 t-s-12">
  111. <span className="m-r-2">开通有效期: 3个月</span>
  112. <span className="m-l-2">使用有效期: 3个月</span>
  113. </div>
  114. </div>
  115. <div>
  116. <div style={{ width: 360 }} className="d-i-b t-1 t-s-12">
  117. <span className="d-i-b m-r-5">OG 20 语法 SC</span>
  118. </div>
  119. <div className="d-i-b t-8 t-s-12">
  120. <span className="m-r-2">开通有效期: 3个月</span>
  121. <span className="m-l-2">使用有效期: 3个月</span>
  122. </div>
  123. </div>
  124. <div>
  125. <div style={{ width: 360 }} className="d-i-b t-1 t-s-12">
  126. <span className="d-i-b m-r-5">OG 20 语法 SC</span>
  127. </div>
  128. <div className="d-i-b t-8 t-s-12">
  129. <span className="m-r-2">开通有效期: 3个月</span>
  130. <span className="m-l-2">使用有效期: 3个月</span>
  131. </div>
  132. </div>
  133. </div>
  134. <div className="service">
  135. <div className="d-i-b t-1 t-s-12">
  136. <span className="d-i-b f-w-b m-r-5">赠送服务</span>
  137. <span className="d-i-b">
  138. 机经券×1+VIP×3 月+模考×1
  139. <Icon className="m-l-5 close" type="exclamation-circle" theme="filled" />
  140. </span>
  141. </div>
  142. </div>
  143. <div className="select">
  144. <div style={{ width: 360 }} className="d-i-b t-1 t-s-12">
  145. <span className="d-i-b f-w-b m-r-5">请选择</span>
  146. </div>
  147. <div className="d-i-b t-1 t-s-12">可至「个人中心-课程」预约辅导时间。</div>
  148. </div>
  149. <div className="select-list m-b-5 l-h-16">
  150. <div>
  151. <div style={{ width: 360 }} className="d-i-b t-1 t-s-12">
  152. <span className="d-i-b m-r-5">
  153. <Radio className="m-r-5" /> OG 20 语法 SC
  154. </span>
  155. </div>
  156. <div className="d-i-b t-8 t-s-12">适合未参加过实战的考生</div>
  157. </div>
  158. <div>
  159. <div style={{ width: 360 }} className="d-i-b t-1 t-s-12">
  160. <span className="d-i-b m-r-5">
  161. <Radio className="m-r-5" /> OG 20 语法 SC
  162. </span>
  163. </div>
  164. <div className="d-i-b t-8 t-s-12">适合未参加过实战的考生</div>
  165. </div>
  166. </div>
  167. </div>
  168. );
  169. }
  170. }