index.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. import React, { Component } from 'react';
  2. import './index.less';
  3. import { Link } from 'react-router-dom';
  4. import { Checkbox, Icon } from 'antd';
  5. import Assets from '@src/components/Assets';
  6. import Tabs from '../Tabs';
  7. import Modal from '../Modal';
  8. export class PayMModal extends Component {
  9. constructor(props) {
  10. super(props);
  11. this.state = { pay: 'alipay' };
  12. }
  13. render() {
  14. const { show, desc, onConfirm, onCancel } = this.props;
  15. const { pay } = this.state;
  16. return (
  17. <Modal
  18. className="pay-modal"
  19. show={show}
  20. width={760}
  21. title="购买 千行-CAT 模考"
  22. confirmText="支付成功"
  23. cancelText="稍后开通"
  24. onConfirm={onConfirm}
  25. onCancel={onCancel}
  26. >
  27. <div className="pay-modal-wrapper">
  28. <div className="info-layout">
  29. <div className="desc">{desc}</div>
  30. <div className="money">
  31. <div className="t-2">应付金额:</div>
  32. <div className="t-1 f-w-b t-s-24">¥ 8888.88</div>
  33. </div>
  34. </div>
  35. <div className="pay-layout">
  36. <Tabs
  37. border
  38. size="small"
  39. active={pay}
  40. width={80}
  41. tabs={[{ key: 'alipay', title: '支付宝' }, { key: 'wechatpay', title: '微信' }]}
  42. render={item => <Assets name={item.key} />}
  43. onChange={key => this.setState({ pay: key })}
  44. />
  45. <div className="pay">
  46. <div className="qrcode">
  47. <Assets name="qrcode" />
  48. </div>
  49. <div className="t">请使用手机微信或支付宝扫码付款</div>
  50. <div className="t">支付金额: ¥ 300</div>
  51. </div>
  52. </div>
  53. <div style={{ bottom: 20, left: 0 }} className="p-a t-3 t-s-14">
  54. *若在购买过程中遇到问题
  55. </div>
  56. <div style={{ bottom: 0, left: 0 }} className="p-a t-3 t-s-14">
  57. 请联系千行小助手:0193191safad 协助解决。
  58. </div>
  59. </div>
  60. </Modal>
  61. );
  62. }
  63. }
  64. export class PayMEndModal extends Component {
  65. render() {
  66. const { show, onConfirm, onCancel } = this.props;
  67. return (
  68. <Modal
  69. show={show}
  70. width={630}
  71. title="付款成功"
  72. confirmText="立即开通"
  73. cancelText="稍后开通"
  74. onConfirm={onConfirm}
  75. onCancel={onCancel}
  76. >
  77. <div className="t-2">
  78. <Icon className="t-5 m-r-5" type="check" />
  79. 您已成功购买「千行-CAT模考(6套)」服务。
  80. </div>
  81. <div className="t-2">确认邮件已发送至您的邮箱:XXXXX,请注意查收。</div>
  82. <div style={{ bottom: 10, left: 0 }} className="p-a t-3 t-s-14">
  83. *您可至“我的-工具”开通。
  84. </div>
  85. </Modal>
  86. );
  87. }
  88. }
  89. export class PayKModal extends Component {
  90. constructor(props) {
  91. super(props);
  92. this.state = { pay: 'alipay' };
  93. }
  94. render() {
  95. const { show, desc, onConfirm, onCancel } = this.props;
  96. const { pay } = this.state;
  97. return (
  98. <Modal
  99. className="pay-modal"
  100. show={show}
  101. width={760}
  102. title="购买 千行课堂"
  103. confirmText={pay === 'bank' ? '确认' : '支付成功'}
  104. onConfirm={onConfirm}
  105. onCancel={onCancel}
  106. >
  107. <div className="pay-modal-wrapper">
  108. <div className="info-layout">
  109. <div className="desc">{desc}</div>
  110. <div className="money">
  111. <div className="t-2">应付金额:</div>
  112. <div className="t-1 f-w-b t-s-24">¥ 8888.88</div>
  113. </div>
  114. </div>
  115. <div className="pay-layout">
  116. <Tabs
  117. border
  118. size="small"
  119. active={pay}
  120. width={80}
  121. tabs={[
  122. { key: 'alipay', title: '支付宝' },
  123. { key: 'wechatpay', title: '微信' },
  124. { key: 'bank', title: '银行转账' },
  125. ]}
  126. render={item => <Assets name={item.key} />}
  127. onChange={key => this.setState({ pay: key })}
  128. />
  129. <div hidden={pay === 'bank'} className="pay">
  130. <div className="qrcode">
  131. <Assets name="qrcode" />
  132. </div>
  133. <div className="t">请使用手机微信或支付宝扫码付款</div>
  134. <div className="t">支付金额: ¥ 300</div>
  135. </div>
  136. <div hidden={pay !== 'bank'} className="bank">
  137. <div className="t">汇款银行:中国工商银行上海市浦东支行</div>
  138. <div className="t">汇款账号:6100 0000 0000 000</div>
  139. </div>
  140. <div className="agree">
  141. <Checkbox className="m-r-1" />
  142. 我已阅读并同意<Link to="">千行课程购买协议</Link>
  143. </div>
  144. </div>
  145. <div style={{ bottom: 20, left: 0 }} className="p-a t-3 t-s-14">
  146. *若在购买过程中遇到问题
  147. </div>
  148. <div style={{ bottom: 0, left: 0 }} className="p-a t-3 t-s-14">
  149. 请联系千行小助手:0193191safad 协助解决。
  150. </div>
  151. </div>
  152. </Modal>
  153. );
  154. }
  155. }
  156. export class PayKBankModal extends Component {
  157. render() {
  158. const { show, onConfirm } = this.props;
  159. return (
  160. <Modal
  161. show={show}
  162. width={630}
  163. title="购买千行课堂"
  164. btnAlign="center"
  165. confirmText="好的,知道了"
  166. onConfirm={onConfirm}
  167. >
  168. <div style={{ width: 400 }} className="t-2 t-s-18 m-b-2">
  169. 汇款成功后,请添加微信号XXX或扫描二维码联系小助手,进行核实。
  170. </div>
  171. <div className="p-a" style={{ right: 0, top: 50 }}>
  172. <Assets name="qrcode" />
  173. </div>
  174. </Modal>
  175. );
  176. }
  177. }