Step2.js 3.0 KB
Newer Older
1
import React from 'react';
W
WhatAKitty 已提交
2
import { connect } from 'dva';
3
import { Form, Input, Button, Alert, Divider } from 'antd';
Z
zinkey 已提交
4
import router from 'umi/router';
5
import { digitUppercase } from '@/utils/utils';
6 7
import styles from './style.less';

W
WhatAKitty 已提交
8 9 10 11 12 13 14
const formItemLayout = {
  labelCol: {
    span: 5,
  },
  wrapperCol: {
    span: 19,
  },
15
};
W
WhatAKitty 已提交
16 17 18 19 20 21 22

@Form.create()
class Step2 extends React.PureComponent {
  render() {
    const { form, data, dispatch, submitting } = this.props;
    const { getFieldDecorator, validateFields } = form;
    const onPrev = () => {
Z
zinkey 已提交
23
      router.push('/form/step-form/info');
W
WhatAKitty 已提交
24
    };
J
jim 已提交
25
    const onValidateForm = e => {
W
WhatAKitty 已提交
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
      e.preventDefault();
      validateFields((err, values) => {
        if (!err) {
          dispatch({
            type: 'form/submitStepForm',
            payload: {
              ...data,
              ...values,
            },
          });
        }
      });
    };
    return (
      <Form layout="horizontal" className={styles.stepForm}>
        <Alert
          closable
          showIcon
          message="确认转账后,资金将直接打入对方账户,无法退回。"
          style={{ marginBottom: 24 }}
        />
J
jim 已提交
47
        <Form.Item {...formItemLayout} className={styles.stepFormText} label="付款账户">
W
WhatAKitty 已提交
48 49
          {data.payAccount}
        </Form.Item>
J
jim 已提交
50
        <Form.Item {...formItemLayout} className={styles.stepFormText} label="收款账户">
W
WhatAKitty 已提交
51 52
          {data.receiverAccount}
        </Form.Item>
J
jim 已提交
53
        <Form.Item {...formItemLayout} className={styles.stepFormText} label="收款人姓名">
W
WhatAKitty 已提交
54 55
          {data.receiverName}
        </Form.Item>
J
jim 已提交
56
        <Form.Item {...formItemLayout} className={styles.stepFormText} label="转账金额">
W
WhatAKitty 已提交
57
          <span className={styles.money}>{data.amount}</span>
58
          <span className={styles.uppercase}>{digitUppercase(data.amount)}</span>
W
WhatAKitty 已提交
59 60
        </Form.Item>
        <Divider style={{ margin: '24px 0' }} />
J
jim 已提交
61
        <Form.Item {...formItemLayout} label="支付密码" required={false}>
W
WhatAKitty 已提交
62 63
          {getFieldDecorator('password', {
            initialValue: '123456',
J
jim 已提交
64 65 66 67 68 69 70
            rules: [
              {
                required: true,
                message: '需要支付密码才能进行支付',
              },
            ],
          })(<Input type="password" autoComplete="off" style={{ width: '80%' }} />)}
W
WhatAKitty 已提交
71 72 73 74 75
        </Form.Item>
        <Form.Item
          style={{ marginBottom: 8 }}
          wrapperCol={{
            xs: { span: 24, offset: 0 },
J
jim 已提交
76 77 78 79
            sm: {
              span: formItemLayout.wrapperCol.span,
              offset: formItemLayout.labelCol.span,
            },
W
WhatAKitty 已提交
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
          }}
          label=""
        >
          <Button type="primary" onClick={onValidateForm} loading={submitting}>
            提交
          </Button>
          <Button onClick={onPrev} style={{ marginLeft: 8 }}>
            上一步
          </Button>
        </Form.Item>
      </Form>
    );
  }
}

A
Andreas Cederström 已提交
95 96
export default connect(({ form, loading }) => ({
  submitting: loading.effects['form/submitStepForm'],
W
WhatAKitty 已提交
97 98
  data: form.step,
}))(Step2);