Step2.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <template>
  2. <div>
  3. <a-form :form="form" style="max-width: 500px; margin: 40px auto 0;">
  4. <a-alert
  5. :closable="true"
  6. message="确认转账后,资金将直接打入对方账户,无法退回。"
  7. style="margin-bottom: 24px;"
  8. />
  9. <a-form-item
  10. label="付款账户"
  11. :labelCol="labelCol"
  12. :wrapperCol="wrapperCol"
  13. class="stepFormText"
  14. >
  15. ant-design@alipay.com
  16. </a-form-item>
  17. <a-form-item
  18. label="收款账户"
  19. :labelCol="labelCol"
  20. :wrapperCol="wrapperCol"
  21. class="stepFormText"
  22. >
  23. test@example.com
  24. </a-form-item>
  25. <a-form-item
  26. label="收款人姓名"
  27. :labelCol="labelCol"
  28. :wrapperCol="wrapperCol"
  29. class="stepFormText"
  30. >
  31. Alex
  32. </a-form-item>
  33. <a-form-item
  34. label="转账金额"
  35. :labelCol="labelCol"
  36. :wrapperCol="wrapperCol"
  37. class="stepFormText"
  38. >
  39. ¥ 5,000.00
  40. </a-form-item>
  41. <a-divider />
  42. <a-form-item
  43. label="支付密码"
  44. :labelCol="labelCol"
  45. :wrapperCol="wrapperCol"
  46. class="stepFormText"
  47. >
  48. <a-input
  49. type="password"
  50. style="width: 80%;"
  51. v-decorator="['paymentPassword', { initialValue: '123456', rules: [{required: true, message: '请输入支付密码'}] }]" />
  52. </a-form-item>
  53. <a-form-item :wrapperCol="{span: 19, offset: 5}">
  54. <a-button :loading="loading" type="primary" @click="nextStep">提交</a-button>
  55. <a-button style="margin-left: 8px" @click="prevStep">上一步</a-button>
  56. </a-form-item>
  57. </a-form>
  58. </div>
  59. </template>
  60. <script>
  61. export default {
  62. name: 'Step2',
  63. data () {
  64. return {
  65. labelCol: { lg: { span: 5 }, sm: { span: 5 } },
  66. wrapperCol: { lg: { span: 19 }, sm: { span: 19 } },
  67. form: this.$form.createForm(this),
  68. loading: false,
  69. timer: 0
  70. }
  71. },
  72. methods: {
  73. nextStep () {
  74. const that = this
  75. const { form: { validateFields } } = this
  76. that.loading = true
  77. validateFields((err, values) => {
  78. if (!err) {
  79. console.log('表单 values', values)
  80. that.timer = setTimeout(function () {
  81. that.loading = false
  82. that.$emit('nextStep')
  83. }, 1500)
  84. } else {
  85. that.loading = false
  86. }
  87. })
  88. },
  89. prevStep () {
  90. this.$emit('prevStep')
  91. }
  92. },
  93. beforeDestroy () {
  94. clearTimeout(this.timer)
  95. }
  96. }
  97. </script>
  98. <style lang="less" scoped>
  99. .stepFormText {
  100. margin-bottom: 24px;
  101. .ant-form-item-label,
  102. .ant-form-item-control {
  103. line-height: 22px;
  104. }
  105. }
  106. </style>