money.jsx 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. import React from 'react';
  2. import { Input, Button, Form, Icon, Spin, message, } from 'antd';
  3. import './certify.less';
  4. import ajax from 'jquery/src/ajax/xhr.js'
  5. import $ from 'jquery/src/ajax';
  6. const Content = Form.create()(React.createClass({
  7. getData() {
  8. this.setState({
  9. loading: true
  10. });
  11. $.ajax({
  12. method: "get",
  13. dataType: "json",
  14. url: globalConfig.context + "/api/user/orgProcess",
  15. success: function (data) {
  16. if (data.data) {
  17. this.setState({
  18. banks:data.data.banks,
  19. bankBranch:data.data.bankBranch,
  20. bankCardNumber: data.data.bankCardNumber
  21. });
  22. } else {
  23. message.warning(data.error[0].message);
  24. };
  25. }.bind(this),
  26. }).always(function () {
  27. this.setState({
  28. loading: false
  29. });
  30. }.bind(this));
  31. },
  32. getInitialState() {
  33. return {
  34. loading: false
  35. };
  36. },
  37. handleSubmit(e) {
  38. e.preventDefault();
  39. this.props.form.validateFields((err, values) => {
  40. if (!err) {
  41. this.setState({
  42. loading: true
  43. });
  44. $.ajax({
  45. method: "POST",
  46. dataType: "json",
  47. crossDomain: false,
  48. url: globalConfig.context + "/api/user/orgNextPro",
  49. data: {
  50. validationAmount: values.validationAmount,
  51. process: 5
  52. },
  53. success: function (data) {
  54. if (!data.error.length) {
  55. message.success('审核成功!');
  56. this.props.changeStep(6);
  57. } else {
  58. if (isNaN(Number(data.error[0].message))) {
  59. message.warning(data.error[0].message);
  60. this.setState({
  61. loading: false
  62. });
  63. } else {
  64. switch (Number(data.error[0].message)) {
  65. case 1:
  66. message.warning("超过打款日期五日,无法确认提交!");
  67. this.props.changeStep(6);
  68. break;
  69. case 2:
  70. message.warning("输入错误金额次数过多!");
  71. this.props.changeStep(6);
  72. break;
  73. }
  74. };
  75. };
  76. }.bind(this),
  77. });
  78. }
  79. });
  80. },
  81. componentWillMount() {
  82. this.getData();
  83. },
  84. render() {
  85. const FormItem = Form.Item;
  86. const { getFieldDecorator } = this.props.form;
  87. const formItemLayout = {
  88. labelCol: { span: 4 },
  89. wrapperCol: { span: 12 },
  90. };
  91. const _me = this;
  92. return (
  93. <Spin spinning={this.state.loading} className="certify-spin">
  94. <Form horizontal onSubmit={this.handleSubmit} className="certify-form">
  95. <FormItem wrapperCol={{ span: 12, offset: 4 }}>
  96. <p className="certify-title">输入打款金额</p>
  97. </FormItem>
  98. <FormItem wrapperCol={{ span: 18}}>
  99. <span>
  100. 请在下方输入{this.state.banks}银行卡{this.state.bankCardNumber}收到的认证打款,
  101. 务必在收到打款5日内完成,否则将无法完成
  102. </span>
  103. </FormItem>
  104. <FormItem
  105. {...formItemLayout}
  106. label="开户银行"
  107. >
  108. <span>{this.state.banks}</span>
  109. </FormItem>
  110. <FormItem
  111. {...formItemLayout}
  112. label="开户银行支行"
  113. >
  114. <span>{this.state.bankBranch}</span>
  115. </FormItem>
  116. <FormItem
  117. {...formItemLayout}
  118. label="银行卡号"
  119. >
  120. <span>{this.state.bankCardNumber}</span>
  121. </FormItem>
  122. <FormItem
  123. {...formItemLayout}
  124. label="打款金额"
  125. extra={<span style={{ 'color': '#ea0862' }}><Icon type="exclamation-circle" /> 仅有3次输入机会,如3次输入有误,需重新认证</span>}
  126. >
  127. {getFieldDecorator('validationAmount', {
  128. rules: [{ required: true, message: '请输入金额!' }]
  129. })(
  130. <Input />
  131. )}
  132. <span className="fromItem-postfix">元</span>
  133. </FormItem>
  134. <FormItem wrapperCol={{ span: 12, offset: 4 }}>
  135. <Button className="set-submit" type="primary" htmlType="submit">确认</Button>
  136. </FormItem>
  137. </Form >
  138. </Spin >
  139. );
  140. },
  141. }));
  142. export default Content;