page.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. import React, { Component } from 'react';
  2. import './index.less';
  3. import { Icon } from 'antd';
  4. import Assets from '@src/components/Assets';
  5. import Page from '@src/containers/Page';
  6. export default class extends Page {
  7. renderView() {
  8. const { _list = [{}, {}, {}] } = this.state;
  9. return (
  10. <div style={{ paddingTop: 40 }}>
  11. <div className="content">
  12. <div className="t-1 m-b-2 f-w-b t-s-24">订单详情</div>
  13. </div>
  14. <div className="content">
  15. <div className="m-b-1 t-8 m-b-2">订单编号 34310431-0514-05265</div>
  16. </div>
  17. <div className="list content">
  18. {_list.map(item => {
  19. return <OrderItem data={item} />;
  20. })}
  21. </div>
  22. <div className="gift-list content">
  23. {_list.map(item => {
  24. return <GiftItem data={item} />;
  25. })}
  26. </div>
  27. <div className="content block">
  28. <div className="t-1 t-s-18 f-w-b title">订单金额</div>
  29. <div className="t-2 t-s-12 item">
  30. <span>应付金额</span>
  31. <span>¥ 21200.0</span>
  32. </div>
  33. <div className="t-2 t-s-12 item">
  34. <span>优惠金额</span>
  35. <span>¥ 21200.0</span>
  36. </div>
  37. <div className="t-2 t-s-12 item">
  38. <span>实付金额</span>
  39. <span>¥ 21200.0</span>
  40. </div>
  41. </div>
  42. <div className="content block">
  43. <div className="t-1 t-s-18 f-w-b title">支付信息</div>
  44. <div className="t-2 t-s-12 item">
  45. <span>支付方式</span>
  46. <span>
  47. <Assets name="alipay" />
  48. {/* alipay wechatpay bank */}
  49. </span>
  50. </div>
  51. <div className="t-2 t-s-12 item">
  52. <span>付款时间</span>
  53. <span>2019-03-23 10:00:02</span>
  54. </div>
  55. </div>
  56. </div>
  57. );
  58. }
  59. }
  60. class GiftItem extends Component {
  61. render() {
  62. return (
  63. <div className="gift-item">
  64. <div className="d-i-b t-2 t-s-12 m-l-2">
  65. <Assets className="m-r-5" width={20} height={20} name="gift2" />
  66. 16小时极速问答权限
  67. </div>
  68. <div style={{ marginRight: 80 }} className="d-i-b t-2 t-s-12 f-r">
  69. 实付金额满20000元赠送
  70. </div>
  71. </div>
  72. );
  73. }
  74. }
  75. class OrderItem extends Component {
  76. constructor(props) {
  77. super(props);
  78. this.state = { open: false };
  79. }
  80. render() {
  81. return (
  82. <div className="order-item">
  83. {this.renderInfo()}
  84. {this.renderDetail()}
  85. </div>
  86. );
  87. }
  88. renderInfo() {
  89. return (
  90. <div className="order-item-info">
  91. <div style={{ width: 360 }} className="d-i-b t-1 t-s-16">
  92. OG 20 套餐
  93. </div>
  94. <div style={{ width: 530 }} className="d-i-b t-8 t-s-12">
  95. 实付金额满20000元赠送
  96. </div>
  97. <div style={{ width: 120 }} className="d-i-b t-s-12 p-r">
  98. <span className="t-8 m-r-2">数量</span>
  99. <span className="t-1">1</span>
  100. </div>
  101. <div className="d-i-b t-7 t-s-16"> ¥ 15000</div>
  102. </div>
  103. );
  104. }
  105. renderDetail() {
  106. const { open } = this.state;
  107. return (
  108. <div className="order-item-detail l-h-20">
  109. <div className="contain">
  110. <div style={{ width: 1010 }} className="d-i-b t-1 t-s-12">
  111. <span className="d-i-b f-w-b m-r-5">
  112. 包含
  113. <Icon
  114. hidden={!open}
  115. className="t-10 c-p"
  116. type="caret-up"
  117. onClick={() => this.setState({ open: !open })}
  118. />
  119. <Icon
  120. hidden={open}
  121. className="t-10 c-p"
  122. type="caret-down"
  123. onClick={() => this.setState({ open: !open })}
  124. />
  125. </span>
  126. <span hidden={open} style={{ width: 300 }} className="d-i-b nowrap">
  127. OG 20 语法 SC +OG 20 语法 SC +OG 20 语法 SC +OG 20 语法 SC +
  128. </span>
  129. </div>
  130. <div className="d-i-b t-1 t-s-12 t-d-l-t"> ¥ 123022</div>
  131. </div>
  132. <div hidden={!open} className="contain-list m-b-5 l-h-16">
  133. <div>
  134. <div style={{ width: 360 }} className="d-i-b t-1 t-s-12">
  135. <span className="d-i-b m-r-5">OG 20 语法 SC</span>
  136. </div>
  137. <div className="d-i-b t-8 t-s-12">
  138. <span className="m-r-2">开通有效期: 3个月</span>
  139. <span className="m-l-2">使用有效期: 3个月</span>
  140. </div>
  141. </div>
  142. <div>
  143. <div style={{ width: 360 }} className="d-i-b t-1 t-s-12">
  144. <span className="d-i-b m-r-5">OG 20 语法 SC</span>
  145. </div>
  146. <div className="d-i-b t-8 t-s-12">
  147. <span className="m-r-2">开通有效期: 3个月</span>
  148. <span className="m-l-2">使用有效期: 3个月</span>
  149. </div>
  150. </div>
  151. <div>
  152. <div style={{ width: 360 }} className="d-i-b t-1 t-s-12">
  153. <span className="d-i-b m-r-5">OG 20 语法 SC</span>
  154. </div>
  155. <div className="d-i-b t-8 t-s-12">
  156. <span className="m-r-2">开通有效期: 3个月</span>
  157. <span className="m-l-2">使用有效期: 3个月</span>
  158. </div>
  159. </div>
  160. </div>
  161. <div className="service">
  162. <div className="d-i-b t-1 t-s-12">
  163. <span className="d-i-b f-w-b m-r-5">赠送服务</span>
  164. <span className="d-i-b">
  165. 机经券×1+VIP×3 月+模考×1
  166. <Icon className="m-l-5 close" type="exclamation-circle" theme="filled" />
  167. </span>
  168. </div>
  169. </div>
  170. </div>
  171. );
  172. }
  173. }