提交 69a4a7df 编写于 作者: JEECG低代码平台's avatar JEECG低代码平台

重构登录注册页面为a-form-model模式

上级 649f9966
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
<a-button type="primary" @click="selectOk">确认</a-button> <a-button type="primary" @click="selectOk">确认</a-button>
</template> </template>
<a-form> <a-form-model>
<a-form-item v-if="isMultiTenant" :labelCol="{span:4}" :wrapperCol="{span:20}" style="margin-bottom:10px" :validate-status="validate_status1"> <a-form-model-item v-if="isMultiTenant" :labelCol="{span:4}" :wrapperCol="{span:20}" style="margin-bottom:10px" :validate-status="validate_status1">
<a-tooltip placement="topLeft" > <a-tooltip placement="topLeft" >
<template slot="title"> <template slot="title">
<span>您有多个租户,请选择登录租户</span> <span>您有多个租户,请选择登录租户</span>
...@@ -25,10 +25,10 @@ ...@@ -25,10 +25,10 @@
{{ d.name }} {{ d.name }}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-model-item>
<a-form-item v-if="isMultiDepart" :labelCol="{span:4}" :wrapperCol="{span:20}" style="margin-bottom:10px" :validate-status="validate_status2"> <a-form-model-item v-if="isMultiDepart" :labelCol="{span:4}" :wrapperCol="{span:20}" style="margin-bottom:10px" :validate-status="validate_status2">
<a-tooltip placement="topLeft" > <a-tooltip placement="topLeft" >
<template slot="title"> <template slot="title">
<span>您有多个部门,请选择登录部门</span> <span>您有多个部门,请选择登录部门</span>
...@@ -42,9 +42,9 @@ ...@@ -42,9 +42,9 @@
{{ d.departName }} {{ d.departName }}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-model-item>
</a-form> </a-form-model>
</a-modal> </a-modal>
</template> </template>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<a-card :bordered="false" style="width: 130%;text-align: center;margin-left:-10%"> <a-card :bordered="false" style="width: 130%;text-align: center;margin-left:-10%">
<a-steps class="steps" :current="currentTab"> <a-steps class="steps" :current="currentTab">
<a-step title="手机验证"/> <a-step title="手机验证"/>
<a-step title="密码"/> <a-step title="更改密码"/>
<a-step title="完成"/> <a-step title="完成"/>
</a-steps> </a-steps>
<div class="content"> <div class="content">
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
</template> </template>
<script> <script>
import Step1 from './Step1'
import Step2 from './Step2' import Step2 from './Step2'
import Step3 from './Step3' import Step3 from './Step3'
import Step4 from './Step4' import Step4 from './Step4'
...@@ -22,7 +21,6 @@ ...@@ -22,7 +21,6 @@
export default { export default {
name: "Alteration", name: "Alteration",
components: { components: {
Step1,
Step2, Step2,
Step3, Step3,
Step4 Step4
...@@ -63,4 +61,12 @@ ...@@ -63,4 +61,12 @@
max-width: 750px; max-width: 750px;
margin: 16px auto; margin: 16px auto;
} }
</style> /deep/ .password-retrieval-form{
\ No newline at end of file max-width: 500px;
margin: 40px auto 0;
.ant-form-explain{
text-align: left;
}
}
</style>
<template> <template>
<div> <div>
<a-form :form="form" style="max-width: 500px; margin: 40px auto 0;" @keyup.enter.native="nextStep"> <a-form-model ref="form" :model="model" :rules="validatorRules" class="password-retrieval-form" @keyup.enter.native="nextStep">
<a-form-item <a-form-model-item label="手机" required prop="phone" :labelCol="{span: 5}" :wrapperCol="{span: 19}">
label="手机" <a-row :gutter="16">
:labelCol="{span: 5}" <a-col class="gutter-row" :span="20">
:wrapperCol="{span: 19}" <a-input v-model="model.phone" type="text" autocomplete="false" placeholder="请输入手机号">
> <a-icon slot="prefix" type="phone" :style="{ color: 'rgba(0,0,0,.25)'}"/>
<a-input </a-input>
type="text" </a-col>
autocomplete="false" </a-row>
style="width:310px;margin-left:-10px" </a-form-model-item>
v-decorator="['phone',{ rules: validatorRules.phone.rule}]" <a-form-model-item v-if="show" required prop="captcha" label="验证码" :labelCol="{span: 5}" :wrapperCol="{span: 19}">
placeholder="请输入手机号"> <a-row :gutter="16">
<a-icon slot="prefix" type="phone" :style="{ color: 'rgba(0,0,0,.25)'}"/>
</a-input>
</a-form-item>
<a-form-item
label="验证码"
:labelCol="{span: 5}"
:wrapperCol="{span: 19}"
v-if="show">
<a-row :gutter="16" style="margin-left: 2px">
<a-col class="gutter-row" :span="12"> <a-col class="gutter-row" :span="12">
<a-input <a-input v-model="model.captcha" type="text" placeholder="手机短信验证码">
v-decorator="['captcha',validatorRules.captcha]" <a-icon slot="prefix" type="code" :style="{ color: 'rgba(0,0,0,.25)'}"/>
type="text"
placeholder="手机短信验证码">
</a-input> </a-input>
</a-col> </a-col>
<a-col class="gutter-row" :span="8"> <a-col class="gutter-row" :span="8">
...@@ -37,12 +26,12 @@ ...@@ -37,12 +26,12 @@
v-text="!state.smsSendBtn && '获取验证码' || (state.time+' s')"></a-button> v-text="!state.smsSendBtn && '获取验证码' || (state.time+' s')"></a-button>
</a-col> </a-col>
</a-row> </a-row>
</a-form-item> </a-form-model-item>
<a-form-item :wrapperCol="{span: 19, offset: 5}"> <a-form-model-item :wrapperCol="{span: 19, offset: 5}">
<router-link style="float: left;line-height: 40px;" :to="{ name: 'login' }">使用已有账户登录</router-link> <router-link style="float: left;line-height: 40px;" :to="{ name: 'login' }">使用已有账户登录</router-link>
<a-button type="primary" @click="nextStep" style="margin-left: 20px">下一步</a-button> <a-button type="primary" @click="nextStep" style="margin-left: 20px">下一步</a-button>
</a-form-item> </a-form-model-item>
</a-form> </a-form-model>
</div> </div>
</template> </template>
...@@ -54,7 +43,7 @@ ...@@ -54,7 +43,7 @@
props: ['userList'], props: ['userList'],
data() { data() {
return { return {
form: this.$form.createForm(this), model: {},
loading: false, loading: false,
// accountName: this.userList.username, // accountName: this.userList.username,
dropList: "0", dropList: "0",
...@@ -69,8 +58,13 @@ ...@@ -69,8 +58,13 @@
mobile: "", mobile: "",
}, },
validatorRules: { validatorRules: {
captcha: {rule: [{required: true, message: '请输入短信验证码!'}, {validator: this.validateCaptcha}]}, phone: [
phone: {rule: [{required: true, message: '请输入手机号码!'}, {validator: this.validatePhone}]}, { required: true, message: '请输入手机号码!' },
{ validator: this.validatePhone }
],
captcha: [
{ required: true, message: '请输入短信验证码!' }
]
}, },
} }
}, },
...@@ -80,67 +74,59 @@ ...@@ -80,67 +74,59 @@
nextStep() { nextStep() {
let that = this let that = this
that.loading = true that.loading = true
this.form.validateFields((err, values) => { this.$refs['form'].validate((success) => {
console.log(values); if(success==true){
if (!err) { let params = {
if (that.dropList == "0") { phone: this.model.phone,
if (values.captcha == undefined) { smscode: this.model.captcha
this.cmsFailed("请输入短信验证码!"); }
postAction("/sys/user/phoneVerification", params).then((res) => {
if (res.success) {
console.log(res);
let userList = {
username: res.result.username,
phone: params.phone,
smscode: res.result.smscode
};
setTimeout(function () {
that.$emit('nextStep', userList)
}, 0)
} else { } else {
var params = {} this.cmsFailed(res.message);
params.phone = values.phone;
params.smscode = values.captcha;
postAction("/sys/user/phoneVerification", params).then((res) => {
if (res.success) {
console.log(res);
var userList = {
username: res.result.username,
phone: values.phone,
smscode: res.result.smscode
};
setTimeout(function () {
that.$emit('nextStep', userList)
}, 0)
} else {
this.cmsFailed(res.message);
}
})
} }
} });
} }
}) })
}, },
getCaptcha(e) { getCaptcha(e) {
e.preventDefault(); e.preventDefault();
let that = this; const that = this
let phone=that.form.getFieldValue("phone") that.$refs['form'].validateField('phone', err=>{
if(!phone){ if(!err){
this.cmsFailed("手机号不能为空!"); that.state.smsSendBtn = true;
return; let interval = window.setInterval(() => {
} if (that.state.time-- <= 0) {
this.state.smsSendBtn = true; that.state.time = 60;
let interval = window.setInterval(() => { that.state.smsSendBtn = false;
if (that.state.time-- <= 0) { window.clearInterval(interval);
that.state.time = 60; }
that.state.smsSendBtn = false; }, 1000);
window.clearInterval(interval); const hide = that.$message.loading('验证码发送中..', 0);
} let smsParams = {
}, 1000); mobile: that.model.phone,
smsmode: "2"
const hide = this.$message.loading('验证码发送中..', 0); };
let smsParams = { postAction("/sys/sms", smsParams).then(res => {
mobile: phone, if (!res.success) {
smsmode: "2" setTimeout(hide, 1);
}; that.cmsFailed(res.message);
postAction("/sys/sms", smsParams).then(res => { }
if (!res.success) { setTimeout(hide, 500);
setTimeout(hide, 1); })
this.cmsFailed(res.message); }else{
that.cmsFailed(err);
} }
setTimeout(hide, 500);
}) })
}, },
cmsFailed(err) { cmsFailed(err) {
...@@ -193,4 +179,4 @@ ...@@ -193,4 +179,4 @@
width: 100%; width: 100%;
height: 40px; height: 40px;
} }
</style> </style>
\ No newline at end of file
<template> <template>
<div> <div>
<a-form :form="form" style="max-width: 500px; margin: 40px auto 0;"> <a-form-model ref="form" :model="model" :rules="validatorRules" class="password-retrieval-form">
<a-form-item
label="账号名" <a-form-model-item label="账号名" v-bind="layout">
:labelCol="{span: 5}" <a-input type="text" :value="accountName" disabled/>
:wrapperCol="{span: 19}" </a-form-model-item>
>
<a-input <a-form-model-item prop="password" label="新密码" v-bind="layout" class="stepFormText">
type="text" <a-input v-model="model.password" type="password" autocomplete="false"/>
autocomplete="false" :value="accountName" disabled> </a-form-model-item>
</a-input>
</a-form-item> <a-form-model-item prop="confirmPassword" label="确认密码" v-bind="layout" class="stepFormText">
<a-form-item <a-input v-model="model.confirmPassword" type="password" autocomplete="false"/>
label="新密码" </a-form-model-item>
:labelCol="{span: 5}"
:wrapperCol="{span: 19}" <a-form-model-item :wrapperCol="{span: 19, offset: 5}">
class="stepFormText">
<a-input
v-decorator="['password',validatorRules.password]"
type="password"
autocomplete="false">
</a-input>
</a-form-item>
<a-form-item
label="确认密码"
:labelCol="{span: 5}"
:wrapperCol="{span: 19}"
class="stepFormText">
<a-input
v-decorator="['confirmPassword',validatorRules.confirmPassword]"
type="password"
autocomplete="false">
</a-input>
</a-form-item>
<a-form-item :wrapperCol="{span: 19, offset: 5}">
<a-button style="margin-left: 8px" @click="prevStep">上一步</a-button> <a-button style="margin-left: 8px" @click="prevStep">上一步</a-button>
<a-button :loading="loading" type="primary" @click="nextStep" style="margin-left:20px">提交</a-button> <a-button :loading="loading" type="primary" @click="nextStep" style="margin-left:20px">提交</a-button>
</a-form-item> </a-form-model-item>
</a-form> </a-form-model>
</div> </div>
</template> </template>
<script> <script>
import { putAction,getAction } from '@/api/manage' import { getAction } from '@/api/manage'
export default { export default {
name: "Step3", name: "Step3",
// components: { // components: {
...@@ -51,59 +32,61 @@ ...@@ -51,59 +32,61 @@
props: ['userList'], props: ['userList'],
data () { data () {
return { return {
model:{},
layout: {
labelCol: { span: 5 },
wrapperCol: { span: 19 },
},
loading: false, loading: false,
form: this.$form.createForm(this),
accountName: this.userList.username, accountName: this.userList.username,
validatorRules: { validatorRules: {
username: {rules: [{required: true, message: '用户名不能为空!'}]}, password: [{
password: { required: true, pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!!'
rules: [{ }],
required: true, confirmPassword: [
pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$/, { required: true, message: '密码不能为空!'},
message: '密码由8位数字、大小写字母和特殊符号组成!!' { validator: this.handlePasswordCheck}
}, {validator: this.handlePasswordLevel}] ]
}, }
confirmPassword: {rules: [{required: true, message: '密码不能为空!'}, {validator: this.handlePasswordCheck}]},
},
} }
}, },
methods: { methods: {
nextStep () { nextStep () {
let that = this let that = this
that.loading = true that.loading = true
this.form.validateFields((err, values) => { that.$refs['form'].validate(success => {
if ( !err ){ if (success === true) {
var params={} let params = {
params.username=this.userList.username; username: that.userList.username,
params.password=values.password; password: that.model.password,
params.smscode=this.userList.smscode; smscode: that.userList.smscode,
params.phone= this.userList.phone; phone: that.userList.phone,
getAction("/sys/user/passwordChange", params).then((res) => {
if(res.success){
var userList = {
username: this.userList.username
} }
console.log(userList); getAction("/sys/user/passwordChange", params).then((res) => {
setTimeout(function () { if (res.success) {
that.$emit('nextStep', userList) let userList = {
}, 1500) username: that.userList.username
}else{ }
this.passwordFailed(res.message); console.log(userList);
setTimeout(function() {
that.$emit('nextStep', userList)
}, 1500)
} else {
that.passwordFailed(res.message);
that.loading = false
}
})
} else {
that.loading = false that.loading = false
} }
}) })
} else{
that.loading = false
}
})
}, },
prevStep () { prevStep () {
this.$emit('prevStep', this.userList) this.$emit('prevStep', this.userList)
}, },
handlePasswordCheck (rule, value, callback) { handlePasswordCheck (rule, value, callback) {
let password = this.form.getFieldValue('password') let password = this.model['password']
if (value && password && value.trim() !== password.trim()) { if (value && password && value.trim() !== password.trim()) {
callback(new Error('两次密码不一致')) callback(new Error('两次密码不一致'))
} }
......
<template> <template>
<div class="main user-layout-register"> <div class="main user-layout-register">
<h3><span>注册</span></h3> <h3><span>注册</span></h3>
<a-form ref="formRegister" :autoFormCreate="(form)=>{this.form = form}" id="formRegister"> <a-form-model ref="form" :model="model" :rules="validatorRules">
<a-form-item <a-form-model-item prop="username">
fieldDecoratorId="username" <a-input v-model="model.username" size="large" type="text" autocomplete="false" placeholder="请输入用户名"/>
:fieldDecoratorOptions="{rules: [{ required: false}, { validator: this.checkUsername }]}"> </a-form-model-item>
<a-input size="large" type="text" autocomplete="false" placeholder="请输入用户名"></a-input>
</a-form-item>
<a-popover placement="rightTop" trigger="click" :visible="state.passwordLevelChecked"> <a-popover placement="rightTop" trigger="click" :visible="state.passwordLevelChecked">
<template slot="content"> <template slot="content">
...@@ -18,33 +16,30 @@ ...@@ -18,33 +16,30 @@
</div> </div>
</div> </div>
</template> </template>
<a-form-item <a-form-model-item prop="password">
fieldDecoratorId="password" <a-input
:fieldDecoratorOptions="{rules: [{ required: false}, { validator: this.handlePasswordLevel }]}"> v-model="model.password"
<a-input size="large" type="password" @click="handlePasswordInputClick" autocomplete="false" placeholder="至少8位密码,区分大小写"></a-input> size="large"
</a-form-item> type="password"
@click="handlePasswordInputClick"
autocomplete="false"
placeholder="至少8位密码,区分大小写">
</a-input>
</a-form-model-item>
</a-popover> </a-popover>
<a-form-item <a-form-model-item prop="password2">
fieldDecoratorId="password2" <a-input v-model="model.password2" size="large" type="password" autocomplete="false" placeholder="确认密码"></a-input>
:fieldDecoratorOptions="{rules: [{ required: false}, { validator: this.handlePasswordCheck }]}"> </a-form-model-item>
<a-input size="large" type="password" autocomplete="false" placeholder="确认密码"></a-input> <a-form-model-item prop="mobile">
</a-form-item> <a-input v-model="model.mobile" size="large" placeholder="11 位手机号">
<!-- <a-form-item-->
<!-- fieldDecoratorId="email">-->
<!-- <a-input size="large" type="text" placeholder="邮箱"></a-input>-->
<!-- </a-form-item>-->
<a-form-item
fieldDecoratorId="mobile"
:fieldDecoratorOptions="{rules: [{ required: false}, { validator: this.handlePhoneCheck }]}">
<a-input size="large" placeholder="11 位手机号">
<a-select slot="addonBefore" size="large" defaultValue="+86"> <a-select slot="addonBefore" size="large" defaultValue="+86">
<a-select-option value="+86">+86</a-select-option> <a-select-option value="+86">+86</a-select-option>
<a-select-option value="+87">+87</a-select-option> <a-select-option value="+87">+87</a-select-option>
</a-select> </a-select>
</a-input> </a-input>
</a-form-item> </a-form-model-item>
<!--<a-input-group size="large" compact> <!--<a-input-group size="large" compact>
<a-select style="width: 20%" size="large" defaultValue="+86"> <a-select style="width: 20%" size="large" defaultValue="+86">
<a-select-option value="+86">+86</a-select-option> <a-select-option value="+86">+86</a-select-option>
...@@ -55,13 +50,11 @@ ...@@ -55,13 +50,11 @@
<a-row :gutter="16"> <a-row :gutter="16">
<a-col class="gutter-row" :span="16"> <a-col class="gutter-row" :span="16">
<a-form-item <a-form-model-item prop="captcha">
fieldDecoratorId="captcha" <a-input v-model="model.captcha" size="large" type="text" placeholder="验证码">
:fieldDecoratorOptions="{rules: [{ required: false}, { validator: this.handleCaptchaCheck }]}">
<a-input size="large" type="text" placeholder="验证码">
<a-icon slot="prefix" type="mail" :style="{ color: 'rgba(0,0,0,.25)' }"/> <a-icon slot="prefix" type="mail" :style="{ color: 'rgba(0,0,0,.25)' }"/>
</a-input> </a-input>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col class="gutter-row" :span="8"> <a-col class="gutter-row" :span="8">
<a-button <a-button
...@@ -73,7 +66,7 @@ ...@@ -73,7 +66,7 @@
</a-col> </a-col>
</a-row> </a-row>
<a-form-item> <a-form-model-item>
<a-button <a-button
size="large" size="large"
type="primary" type="primary"
...@@ -84,9 +77,9 @@ ...@@ -84,9 +77,9 @@
:disabled="registerBtn">注册 :disabled="registerBtn">注册
</a-button> </a-button>
<router-link class="login" :to="{ name: 'login' }">使用已有账户登录</router-link> <router-link class="login" :to="{ name: 'login' }">使用已有账户登录</router-link>
</a-form-item> </a-form-model-item>
</a-form> </a-form-model>
</div> </div>
</template> </template>
...@@ -120,8 +113,29 @@ ...@@ -120,8 +113,29 @@
mixins: [mixinDevice], mixins: [mixinDevice],
data() { data() {
return { return {
form: null, model: {},
validatorRules: {
username: [
{ required: false },
{ validator: this.checkUsername }
],
password: [
{ required: false},
{ validator: this.handlePasswordLevel }
],
password2: [
{ required: false },
{ validator: this.handlePasswordCheck }
],
mobile: [
{ required: false },
{ validator: this.handlePhoneCheck }
],
captcha: [
{ required: false },
{ validator: this.handleCaptchaCheck }
]
},
state: { state: {
time: 60, time: 60,
smsSendBtn: false, smsSendBtn: false,
...@@ -162,7 +176,7 @@ ...@@ -162,7 +176,7 @@
} }
}, },
handleEmailCheck(rule, value, callback) { handleEmailCheck(rule, value, callback) {
var params = { let params = {
email: value, email: value,
}; };
checkOnlyUser(params).then((res) => { checkOnlyUser(params).then((res) => {
...@@ -174,7 +188,6 @@ ...@@ -174,7 +188,6 @@
}) })
}, },
handlePasswordLevel(rule, value, callback) { handlePasswordLevel(rule, value, callback) {
let level = 0 let level = 0
let reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/; let reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/;
if (!reg.test(value)) { if (!reg.test(value)) {
...@@ -208,7 +221,7 @@ ...@@ -208,7 +221,7 @@
}, },
handlePasswordCheck(rule, value, callback) { handlePasswordCheck(rule, value, callback) {
let password = this.form.getFieldValue('password') let password = this.model['password']
//console.log('value', value) //console.log('value', value)
if (value === undefined) { if (value === undefined) {
callback(new Error('请输入密码')) callback(new Error('请输入密码'))
...@@ -252,9 +265,10 @@ ...@@ -252,9 +265,10 @@
}, },
handleSubmit() { handleSubmit() {
this.form.validateFields((err, values) => { this.$refs['form'].validate((success) => {
if (!err) { if (success==true) {
var register = { let values = this.model
let register = {
username: values.username, username: values.username,
password: values.password, password: values.password,
phone: values.mobile, phone: values.mobile,
...@@ -274,7 +288,7 @@ ...@@ -274,7 +288,7 @@
getCaptcha(e) { getCaptcha(e) {
e.preventDefault() e.preventDefault()
let that = this let that = this
this.form.validateFields(['mobile'], {force: true}, (err, values) => { this.$refs['form'].validateField(['mobile'], (err) => {
if (!err) { if (!err) {
this.state.smsSendBtn = true; this.state.smsSendBtn = true;
let interval = window.setInterval(() => { let interval = window.setInterval(() => {
...@@ -284,9 +298,9 @@ ...@@ -284,9 +298,9 @@
window.clearInterval(interval); window.clearInterval(interval);
} }
}, 1000); }, 1000);
const hide = this.$message.loading('验证码发送中..', 0); const hide = this.$message.loading('验证码发送中..', 3);
const params = { const params = {
mobile: values.mobile, mobile: this.model.mobile,
smsmode: "1" smsmode: "1"
}; };
postAction("/sys/sms", params).then((res) => { postAction("/sys/sms", params).then((res) => {
......
...@@ -21,25 +21,25 @@ ...@@ -21,25 +21,25 @@
}, },
data () { data () {
return { return {
form: {}, model: {},
} }
}, },
computed: { computed: {
email () { email () {
let v = this.form ? this.form.username || this.form.mobile : ' XXX ' let v = this.model ? this.model.username || this.model.mobile : ' XXX '
let title = `你的账户:${v} 注册成功` let title = `你的账户:${v} 注册成功`
this.username = v; this.username = v;
return title return title
} }
}, },
created () { created () {
this.form = this.$route.params this.model = this.$route.params
}, },
methods: { methods: {
goHomeHandle () { goHomeHandle () {
let params={}; let params={};
params.username=this.form.username; params.username=this.model.username;
params.password=this.form.password; params.password=this.model.password;
console.log(params); console.log(params);
this.$router.push({name:'login',params}) this.$router.push({name:'login',params})
}, },
......
...@@ -37,10 +37,10 @@ ...@@ -37,10 +37,10 @@
</a-button> </a-button>
</template> </template>
<div class="ant-modal-confirm-body-wrapper"> <div class="ant-modal-confirm-body-wrapper">
<a-form-item> <a-form-model-item>
<span>绑定手机号</span> <span>绑定手机号</span>
</a-form-item> </a-form-model-item>
<a-form-item> <a-form-model-item>
<a-input <a-input
size="large" size="large"
type="text" type="text"
...@@ -48,11 +48,11 @@ ...@@ -48,11 +48,11 @@
v-model="thirdPhone"> v-model="thirdPhone">
<a-icon slot="prefix" type="mobile" :style="{ color: 'rgba(0,0,0,.25)' }"/> <a-icon slot="prefix" type="mobile" :style="{ color: 'rgba(0,0,0,.25)' }"/>
</a-input> </a-input>
</a-form-item> </a-form-model-item>
<a-row :gutter="16"> <a-row :gutter="16">
<a-col class="gutter-row" :span="16"> <a-col class="gutter-row" :span="16">
<a-form-item> <a-form-model-item>
<a-input <a-input
size="large" size="large"
type="text" type="text"
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
v-model="thirdCaptcha"> v-model="thirdCaptcha">
<a-icon slot="prefix" type="mail" :style="{ color: 'rgba(0,0,0,.25)' }"/> <a-icon slot="prefix" type="mail" :style="{ color: 'rgba(0,0,0,.25)' }"/>
</a-input> </a-input>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col class="gutter-row" :span="8"> <a-col class="gutter-row" :span="8">
<a-button <a-button
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册