1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
| <template>
| <div class="step1">
| <div class="step1-form">
| <BasicForm @register="register">
| <template #fac="{ model, field }">
| <a-input-group compact>
| <a-select v-model:value="model['pay']" class="pay-select">
| <a-select-option value="zfb"> 支付宝 </a-select-option>
| <a-select-option value="yl"> 银联 </a-select-option>
| </a-select>
| <a-input class="pay-input" v-model:value="model[field]" />
| </a-input-group>
| </template>
| </BasicForm>
| </div>
| <a-divider />
| <h3>说明</h3>
| <h4>转账到支付宝账户</h4>
| <p>
| 如果需要,这里可以放一些关于产品的常见问题说明。如果需要,这里可以放一些关于产品的常见问题说明。如果需要,这里可以放一些关于产品的常见问题说明。
| </p>
|
| <h4>转账到银行卡</h4>
| <p>
| 如果需要,这里可以放一些关于产品的常见问题说明。如果需要,这里可以放一些关于产品的常见问题说明。如果需要,这里可以放一些关于产品的常见问题说明。
| </p>
| </div>
| </template>
| <script lang="ts">
| import { defineComponent } from 'vue';
| import { BasicForm, useForm } from '/@/components/Form';
| import { step1Schemas } from './data';
|
| import { Select, Input, Divider } from 'ant-design-vue';
| export default defineComponent({
| components: {
| BasicForm,
| [Select.name]: Select,
| ASelectOption: Select.Option,
| [Input.name]: Input,
| [Input.Group.name]: Input.Group,
| [Divider.name]: Divider,
| },
| emits: ['next'],
| setup(_, { emit }) {
| const [register, { validate }] = useForm({
| labelWidth: 100,
| schemas: step1Schemas,
| actionColOptions: {
| span: 14,
| },
| showResetButton: false,
| submitButtonOptions: {
| text: '下一步',
| },
| submitFunc: customSubmitFunc,
| });
|
| async function customSubmitFunc() {
| try {
| const values = await validate();
| emit('next', values);
| } catch (error) {
| //
| }
| }
|
| return { register };
| },
| });
| </script>
| <style lang="less" scoped>
| .step1 {
| &-form {
| width: 450px;
| margin: 0 auto;
| }
|
| h3 {
| margin: 0 0 12px;
| color: @text-color;
| font-size: 16px;
| line-height: 32px;
| }
|
| h4 {
| margin: 0 0 4px;
| color: @text-color;
| font-size: 14px;
| line-height: 22px;
| }
|
| p {
| color: @text-color;
| }
| }
|
| .pay-select {
| width: 20%;
| }
|
| .pay-input {
| width: 70%;
| }
| </style>
|
|