index.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import React, { Component } from 'react';
  2. import './index.less';
  3. import Assets from '@src/components/Assets';
  4. import Modal from '../Modal';
  5. import Tabs from '../Tabs';
  6. import { SpecialRadioGroup } from '../Radio';
  7. import Invite from '../Invite';
  8. import Button from '../Button';
  9. export default class extends Component {
  10. constructor(props) {
  11. super(props);
  12. this.state = { tab: '2', pay: 'alipay', select: '1', auth: true };
  13. }
  14. render() {
  15. const { show, onClose } = this.props;
  16. const { tab } = this.state;
  17. return (
  18. <Modal className="vip-renew-modal" show={show} width={630} title="VIP续期" onClose={onClose}>
  19. <div className="vip-renew-wrapper">
  20. <Tabs
  21. border
  22. size="small"
  23. active={tab}
  24. width={80}
  25. tabs={[{ key: '1', title: '购买' }, { key: '2', title: '免费领取' }]}
  26. onChange={key => this.setState({ tab: key })}
  27. />
  28. {this[`renderTab${tab}`]()}
  29. </div>
  30. </Modal>
  31. );
  32. }
  33. renderTab1() {
  34. const { pay, select } = this.state;
  35. return (
  36. <div className="tab-1-layout">
  37. <div className="select-layout">
  38. <SpecialRadioGroup
  39. list={[
  40. { label: '1个月: ¥ 9999', value: '1' },
  41. { label: '3个月: ¥ 9999', value: '2' },
  42. { label: '3个月: ¥ 9999', value: '3' },
  43. ]}
  44. value={select}
  45. width={150}
  46. space={10}
  47. onChange={key => this.setState({ select: key })}
  48. />
  49. </div>
  50. <div className="pay-layout">
  51. <Tabs
  52. border
  53. size="small"
  54. active={pay}
  55. width={80}
  56. tabs={[{ key: 'alipay', title: '支付宝' }, { key: 'wechatpay', title: '微信' }]}
  57. render={item => <Assets name={item.key} />}
  58. onChange={key => this.setState({ pay: key })}
  59. />
  60. <div className="qrcode">
  61. <Assets name="qrcode" />
  62. </div>
  63. <div className="t">请使用手机微信或支付宝扫码付款</div>
  64. <div className="t">支付金额: ¥ 8888.88</div>
  65. </div>
  66. </div>
  67. );
  68. }
  69. renderTab2() {
  70. const { auth } = this.state;
  71. return (
  72. <div className="tab-2-layout">
  73. <div className="list">
  74. <div className="item">
  75. {auth && <span className="over">已完成</span>}
  76. <Assets className="icon" name="realname2" />
  77. <div className="t">
  78. <Assets name="gift" />
  79. 6个月
  80. </div>
  81. <Button size="small" radius disabled={auth}>
  82. 实名认证
  83. </Button>
  84. </div>
  85. <div className="item">
  86. <Assets className="icon" name="invite" />
  87. <div className="t">
  88. <Assets name="gift" />
  89. 7天/每位好友
  90. </div>
  91. <Button size="small" radius>
  92. 邀请好友
  93. </Button>
  94. </div>
  95. <div className="item">
  96. <Assets className="icon" name="information2" />
  97. <div className="t">
  98. <Assets name="gift" />
  99. 1个月
  100. </div>
  101. <Button size="small" radius>
  102. 完善信息
  103. </Button>
  104. </div>
  105. </div>
  106. {auth && <Invite />}
  107. </div>
  108. );
  109. }
  110. }