改密码退出登录

cyl/dev
wangxia 1 year ago
parent 348d7aa09e
commit 06cd26d2c8

@ -8,8 +8,9 @@
<div class="formbox">
<template>
<a-form id="components-form-demo-normal-login" hideRequiredMark :form="form1" class="login-form" @submit="phonehandleSubmit" layout="horizontal" :wrapperCol="{ span: 14 }" :labelCol="{ span: 4 }">
<a-form-item label="手机号" style="text-align: left;">
<a-input v-decorator="[
<a-form-item label="手机号" style="text-align: left">
<a-input
v-decorator="[
'tel',
{
rules: [
@ -21,14 +22,20 @@
],
validateTrigger: 'submit',
},
]" autocomplete="off" :maxLength="11" placeholder="请输入手机号">
]"
autocomplete="off"
:maxLength="11"
placeholder="请输入手机号"
>
<!-- <i slot="prefix" class="icon-shouji iconfont" style="font-size: 24px" /> -->
</a-input>
</a-form-item>
<a-form-item label="验证码" style="text-align: left">
<div class="g_flex_row_start">
<div>
<a-input style="width:240px" v-decorator="[
<a-input
style="width: 240px"
v-decorator="[
'code',
{
rules: [
@ -39,7 +46,10 @@
],
validateTrigger: 'submit',
},
]" type="text" placeholder="请输入短信验证码">
]"
type="text"
placeholder="请输入短信验证码"
>
<!-- <i slot="prefix" class="icon-duanxinyanzheng iconfont" /> -->
<!-- <span class="getrulecode" slot="suffix">
<span @click="getPhoneCode" data-mark="getcode" v-if="timedata.isfinish"></span>
@ -52,7 +62,7 @@
<span @click="getPhoneCode" data-mark="getcode" v-if="timedata.isfinish"></span>
<timmer :timedata="timedata" v-if="!timedata.isfinish" />
</a-button> -->
<div class="getrulecode sms-btn" style="line-height: 32px;">
<div class="getrulecode sms-btn" style="line-height: 32px">
<span @click="getPhoneCode" data-mark="getcode" v-if="timedata.isfinish"></span>
<timmer :timedata="timedata" v-if="!timedata.isfinish" />
</div>
@ -60,7 +70,9 @@
</div>
</a-form-item>
<a-form-item label="新密码" style="text-align: left">
<a-input @input="getpassword" v-decorator="[
<a-input
@input="getpassword"
v-decorator="[
'password',
{
rules: [
@ -71,12 +83,16 @@
],
validateTrigger: 'submit',
},
]" type="password" placeholder="请输入密码">
]"
type="password"
placeholder="请输入密码"
>
<!-- <i slot="prefix" class="iconfont icon-mima" /> -->
</a-input>
</a-form-item>
<a-form-item label="确认密码" style="text-align: left">
<a-input v-decorator="[
<a-input
v-decorator="[
'newpassword',
{
rules: [
@ -91,16 +107,17 @@
validateTrigger: 'submit',
validateFirst: true,
},
]" type="password" placeholder="请再次输入密码">
]"
type="password"
placeholder="请再次输入密码"
>
<!-- <i slot="prefix" class="iconfont icon-mima" /> -->
</a-input>
</a-form-item>
<a-form-item label class="submit" style="height: 40px;position: relative;margin-bottom: 0;">
<a-form-item label class="submit" style="height: 40px; position: relative; margin-bottom: 0">
<div class="state-box">
<a-button type="primary" class="cancel login-form-button" @click="cancel"></a-button>
<a-button
style="border: 1px solid #1890ff;"
type="primary" html-type="submit" :loading="btnLoading" class="login-form-button">确定</a-button>
<a-button style="border: 1px solid #1890ff" type="primary" html-type="submit" :loading="btnLoading" class="login-form-button">确定</a-button>
</div>
</a-form-item>
</a-form>
@ -114,13 +131,13 @@
</template>
<script>
import { getPhoneCodeApi, updatePswApi } from '../../api/login'
import timmer from './components/countback.vue'
import { getPhoneCodeApi, updatePswApi } from "../../api/login";
import timmer from "./components/countback.vue";
export default {
inject: ['reload'],
inject: ["reload","logout"],
//
name: 'updatepsw',
name: "updatepsw",
//
components: {
timmer,
@ -137,7 +154,7 @@ export default {
return {
loginway: 1,
ischecked: false,
setpassword: '', //
setpassword: "", //
form1: this.$form.createForm(this),
timedata: {
isfinish: true,
@ -145,7 +162,7 @@ export default {
timmer: null,
},
btnLoading: false,
}
};
},
//
computed: {},
@ -164,88 +181,89 @@ export default {
//
methods: {
cancel() {
this.$emit('update:loginShow', false)
this.$emit("update:loginShow", false);
},
phonehandleSubmit(e) {
e.preventDefault()
let params = new FormData()
e.preventDefault();
let params = new FormData();
this.form1.validateFields(async (err, values) => {
console.log(err)
console.log(values)
console.log(err);
console.log(values);
if (!err) {
this.btnLoading = true
params.code = values.code
params.newpassword = values.newpassword
params.password = values.password
params.tel = values.tel
console.log(params)
this.btnLoading = true;
params.code = values.code;
params.newpassword = values.newpassword;
params.password = values.password;
params.tel = values.tel;
console.log(params);
try {
const { data } = await updatePswApi(params)
console.log(data)
const { data } = await updatePswApi(params);
console.log(data);
if (data.status == 200) {
this.$message.success('密码修改成功')
this.$emit('update:loginShow', false)
this.$router.push('/login')
this.$message.success("密码修改成功");
this.$emit("update:loginShow", false);
this.logout();
this.$router.push("/login");
} else {
this.$message.warning(data.msg)
this.$message.warning(data.msg);
}
// localStorage.setItem("LOGIN_DATA", JSON.stringify(data.data));
setTimeout(() => {
this.btnLoading = false
this.btnLoading = false;
// this.reload()
}, 2000)
}, 2000);
} catch (err) {
this.btnLoading = false
console.log(err)
this.btnLoading = false;
console.log(err);
}
}
})
});
},
async getPhoneCode() {
const that = this
const that = this;
this.form1.validateFields(['tel'], async (err, values) => {
console.log(values)
this.form1.validateFields(["tel"], async (err, values) => {
console.log(values);
if (!err) {
that.timedata.isfinish = false
that.timedata.isfinish = false;
try {
const { data } = await getPhoneCodeApi({ tel: values.tel })
console.log(data)
const { data } = await getPhoneCodeApi({ tel: values.tel });
console.log(data);
if (data.status !== 200) {
this.$message.warning(data.msg)
this.$message.warning(data.msg);
}
} catch (error) {
console.log(error)
console.log(error);
}
} else {
console.log(err)
console.log(err);
}
})
});
},
checked() {
console.log(this.ischecked)
console.log(this.ischecked);
},
getpassword(e) {
this.setpassword = e.target.value
console.log(e)
this.setpassword = e.target.value;
console.log(e);
},
//
replacepassword(rule, value, callback) {
console.log(rule)
console.log(value)
console.log(rule);
console.log(value);
if (this.setpassword !== value) {
callback('两次密码不一致')
callback("两次密码不一致");
}
callback()
callback();
// console.log(callback);
},
},
}
};
</script>
<style scoped lang="less">
@ -395,7 +413,7 @@ export default {
border-left: 1px #cccccc solid;
line-height: 12px;
color: #4d575e;
span[data-mark='getcode'] {
span[data-mark="getcode"] {
padding: 0 0 0 5px;
cursor: pointer;
}
@ -424,13 +442,13 @@ export default {
letter-spacing: 1px;
}
}
.state-box{
.state-box {
position: absolute;
left: -37px;
width: 430px;
top: -15px;
}
.sms-btn{
.sms-btn {
width: 102px !important;
height: 32px !important;
border: 1px solid #1890ff !important;

Loading…
Cancel
Save