parent
670b97e616
commit
ec40bd0d14
7 changed files with 261 additions and 5 deletions
@ -0,0 +1,70 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<a-form style="max-width: 500px; margin: 40px auto 0;"> |
||||||
|
<a-form-item |
||||||
|
label="付款账户" |
||||||
|
:labelCol="{span: 5}" |
||||||
|
:wrapperCol="{span: 19}" |
||||||
|
> |
||||||
|
<a-select value="1" placeholder="ant-design@alipay.com"> |
||||||
|
<a-select-option value="1">ant-design@alipay.com</a-select-option> |
||||||
|
</a-select> |
||||||
|
</a-form-item> |
||||||
|
<a-form-item |
||||||
|
label="收款账户" |
||||||
|
:labelCol="{span: 5}" |
||||||
|
:wrapperCol="{span: 19}" |
||||||
|
> |
||||||
|
<a-input-group :compact="true" style="display: inline-block; vertical-align: middle"> |
||||||
|
<a-select defaultValue="alipay" style="width: 100px"> |
||||||
|
<a-select-option value="alipay">支付宝</a-select-option> |
||||||
|
<a-select-option value="wexinpay">微信</a-select-option> |
||||||
|
</a-select> |
||||||
|
<a-input :style="{width: 'calc(100% - 100px)'}" value="test@example.com"/> |
||||||
|
</a-input-group> |
||||||
|
</a-form-item> |
||||||
|
<a-form-item |
||||||
|
label="收款人姓名" |
||||||
|
:labelCol="{span: 5}" |
||||||
|
:wrapperCol="{span: 19}" |
||||||
|
> |
||||||
|
<a-input value="Alex" /> |
||||||
|
</a-form-item> |
||||||
|
<a-form-item |
||||||
|
label="转账金额" |
||||||
|
:labelCol="{span: 5}" |
||||||
|
:wrapperCol="{span: 19}" |
||||||
|
> |
||||||
|
<a-input prefix="¥" value="5000" /> |
||||||
|
</a-form-item> |
||||||
|
<a-form-item :wrapperCol="{span: 19, offset: 5}"> |
||||||
|
<a-button type="primary" @click="nextStep">下一步</a-button> |
||||||
|
</a-form-item> |
||||||
|
</a-form> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import AForm from 'vue-antd-ui/es/form/Form' |
||||||
|
import AFormItem from 'vue-antd-ui/es/form/FormItem' |
||||||
|
import AButton from 'vue-antd-ui/es/button/button' |
||||||
|
import ASelect from 'vue-antd-ui/es/select/index' |
||||||
|
import AInputGroup from "vue-antd-ui/es/input/Group"; |
||||||
|
import AInput from "vue-antd-ui/es/input/Input"; |
||||||
|
|
||||||
|
const ASelectOption = ASelect.Option |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'Step1', |
||||||
|
components: {AInput, AInputGroup, ASelectOption, ASelect, AButton, AFormItem, AForm}, |
||||||
|
methods: { |
||||||
|
nextStep () { |
||||||
|
this.$emit('nextStep') |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
|
||||||
|
</style> |
@ -0,0 +1,87 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<a-form style="max-width: 500px; margin: 40px auto 0;"> |
||||||
|
<a-alert |
||||||
|
:closable="true" |
||||||
|
message="确认转账后,资金将直接打入对方账户,无法退回。" |
||||||
|
style="margin-bottom: 24px;" |
||||||
|
/> |
||||||
|
<a-form-item |
||||||
|
label="付款账户" |
||||||
|
:labelCol="{span: 5}" |
||||||
|
:wrapperCol="{span: 19}" |
||||||
|
class="stepFormText" |
||||||
|
> |
||||||
|
ant-design@alipay.com |
||||||
|
</a-form-item> |
||||||
|
<a-form-item |
||||||
|
label="收款账户" |
||||||
|
:labelCol="{span: 5}" |
||||||
|
:wrapperCol="{span: 19}" |
||||||
|
class="stepFormText" |
||||||
|
> |
||||||
|
test@example.com |
||||||
|
</a-form-item> |
||||||
|
<a-form-item |
||||||
|
label="收款人姓名" |
||||||
|
:labelCol="{span: 5}" |
||||||
|
:wrapperCol="{span: 19}" |
||||||
|
class="stepFormText" |
||||||
|
> |
||||||
|
Alex |
||||||
|
</a-form-item> |
||||||
|
<a-form-item |
||||||
|
label="转账金额" |
||||||
|
:labelCol="{span: 5}" |
||||||
|
:wrapperCol="{span: 19}" |
||||||
|
class="stepFormText" |
||||||
|
> |
||||||
|
¥ 5,000.00 |
||||||
|
</a-form-item> |
||||||
|
<a-form-item :wrapperCol="{span: 19, offset: 5}"> |
||||||
|
<a-button :loading="loading" type="primary" @click="nextStep">提交</a-button> |
||||||
|
<a-button style="margin-left: 8px" @click="prevStep">上一步</a-button> |
||||||
|
</a-form-item> |
||||||
|
</a-form> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import AForm from 'vue-antd-ui/es/form/Form' |
||||||
|
import AFormItem from 'vue-antd-ui/es/form/FormItem' |
||||||
|
import AButton from 'vue-antd-ui/es/button/button' |
||||||
|
import AAlert from 'vue-antd-ui/es/alert/index' |
||||||
|
export default { |
||||||
|
name: 'Step2', |
||||||
|
components: {AAlert, AButton, AFormItem, AForm}, |
||||||
|
data () { |
||||||
|
return { |
||||||
|
loading: false |
||||||
|
} |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
nextStep () { |
||||||
|
let _this = this |
||||||
|
_this.loading = true |
||||||
|
setTimeout(function () { |
||||||
|
_this.$emit('nextStep') |
||||||
|
}, 1500) |
||||||
|
}, |
||||||
|
prevStep () { |
||||||
|
this.$emit('prevStep') |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="less" scoped> |
||||||
|
.stepFormText { |
||||||
|
margin-bottom: 24px; |
||||||
|
:global { |
||||||
|
.ant-form-item-label, |
||||||
|
.ant-form-item-control { |
||||||
|
line-height: 22px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,32 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<a-form style="max-width: 500px; margin: 40px auto 0;"> |
||||||
|
<a-form-item :wrapperCol="{span: 15, offset: 9}"> |
||||||
|
success |
||||||
|
</a-form-item> |
||||||
|
<a-form-item :wrapperCol="{span: 19, offset: 5}"> |
||||||
|
<a-button type="primary" @click="doOnceAgin">再转一笔</a-button> |
||||||
|
<a-button style="margin-left: 8px">查看账单</a-button> |
||||||
|
</a-form-item> |
||||||
|
</a-form> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import AForm from 'vue-antd-ui/es/form/Form' |
||||||
|
import AFormItem from 'vue-antd-ui/es/form/FormItem' |
||||||
|
import AButton from 'vue-antd-ui/es/button/button' |
||||||
|
export default { |
||||||
|
name: 'Step3', |
||||||
|
components: {AButton, AFormItem, AForm}, |
||||||
|
methods: { |
||||||
|
doOnceAgin () { |
||||||
|
this.$emit('finish') |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
|
||||||
|
</style> |
@ -0,0 +1,57 @@ |
|||||||
|
<template> |
||||||
|
<a-card :bordered="false"> |
||||||
|
<a-steps class="steps" :current="current"> |
||||||
|
<a-step title="填写转账信息" /> |
||||||
|
<a-step title="确认转账信息" /> |
||||||
|
<a-step title="完成" /> |
||||||
|
</a-steps> |
||||||
|
<div class="content"> |
||||||
|
<step1 v-if="current === 0" @nextStep="nextStep"></step1> |
||||||
|
<step2 v-if="current === 1" @nextStep="nextStep" @prevStep="prevStep"></step2> |
||||||
|
<step3 v-if="current === 2" @prevStep="prevStep" @finish="finish"></step3> |
||||||
|
</div> |
||||||
|
</a-card> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import ACard from 'vue-antd-ui/es/card/Card' |
||||||
|
import ASteps from 'vue-antd-ui/es/steps/index' |
||||||
|
import Step1 from './Step1' |
||||||
|
import Step2 from './Step2' |
||||||
|
import Step3 from './Step3' |
||||||
|
|
||||||
|
const AStep = ASteps.Step |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'StepForm', |
||||||
|
components: {Step1, Step2, Step3, AStep, ASteps, ACard}, |
||||||
|
data () { |
||||||
|
return { |
||||||
|
desc: '将一个冗长或用户不熟悉的表单任务分成多个步骤,指导用户完成。', |
||||||
|
current: 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
nextStep () { |
||||||
|
if (this.current < 2) { |
||||||
|
this.current += 1 |
||||||
|
} |
||||||
|
}, |
||||||
|
prevStep () { |
||||||
|
if (this.current > 0) { |
||||||
|
this.current -= 1 |
||||||
|
} |
||||||
|
}, |
||||||
|
finish () { |
||||||
|
this.current = 0 |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="less" scoped> |
||||||
|
.steps{ |
||||||
|
max-width: 750px; |
||||||
|
margin: 16px auto; |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue