修改密码+登录验证码bug

main
lijingyu007 10 months ago
parent d175b65daa
commit e932b79fb1
  1. 2
      .env.development
  2. 6
      .env.production
  3. 5
      src/api/system/user.js
  4. 646
      src/page/logpage/log/login.vue
  5. 94
      src/page/personalpage/home/personalcenter.vue

@ -5,8 +5,8 @@ ENV = 'development'
VUE_APP_BASE_API = '/prod-api' VUE_APP_BASE_API = '/prod-api'
# VUE_APP_BASE_TARGET = 'http://192.168.0.229:9999'
VUE_APP_BASE_TARGET = 'http://192.168.0.229:9999' VUE_APP_BASE_TARGET = 'http://192.168.0.229:9999'
# VUE_APP_BASE_TARGET = 'http://192.168.0.129:9999'
# VUE_APP_BASE_TARGET = 'http://172.16.36.180:9999' # VUE_APP_BASE_TARGET = 'http://172.16.36.180:9999'
# VUE_APP_BASE_TARGET = 'http://172.16.36.176:9998' # VUE_APP_BASE_TARGET = 'http://172.16.36.176:9998'

@ -4,10 +4,10 @@ ENV = 'production'
# KeySaas测试云平台/生产环境 # KeySaas测试云平台/生产环境
# VUE_APP_BASE_API = 'https://www.keyitest.cn/prod-api' # VUE_APP_BASE_API = 'https://www.keyitest.cn/prod-api'
# VUE_APP_BASE_API = '/test-api' # VUE_APP_BASE_API = '/test-api'
VUE_APP_BASE_API = '/test-api' VUE_APP_BASE_API = '/prod-api'
# VUE_APP_BASE_TARGET = 'https://www.keyitest.cn/prod-api' # VUE_APP_BASE_TARGET = 'https://www.keyitest.cn/prod-api'
VUE_APP_BASE_TARGET = 'https://www.keyitest.cn/test-api' # VUE_APP_BASE_TARGET = 'https://www.keyitest.cn/test-api'
# VUE_APP_BASE_TARGET = 'http://192.168.0.229:9999' VUE_APP_BASE_TARGET = 'http://192.168.0.229:9999'

@ -41,7 +41,10 @@ export function changePasswd(data) {
return request({ return request({
url: '/system/user/changePasswd', url: '/system/user/changePasswd',
method: 'post', method: 'post',
data: data data: data,
headers: {
isToken: false
},
}) })
} }

@ -1,43 +1,70 @@
<template> <template>
<div> <div>
<div class="loginframe"> <div class="loginframe">
<el-tabs v-if='newregistration==1' v-model="activeName" @tab-click="handleClick"> <el-tabs v-if="newregistration == 1" v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="密码登录" name="passwordlog"> <el-tab-pane label="密码登录" name="passwordlog">
<el-form ref="loginForm" :rules="loginRules" :model="loginForm" <el-form ref="loginForm" :rules="loginRules" :model="loginForm" status-icon label-width="0">
status-icon label-width="0">
<el-form-item prop="account" style="margin: 20px 0"> <el-form-item prop="account" style="margin: 20px 0">
<el-input v-model="loginForm.account" <el-input
v-model="loginForm.account"
auto-complete="off" auto-complete="off"
placeholder="请输入账号" placeholder="请输入账号"
@keyup.enter.native="doLogin"> @keyup.enter.native="doLogin"
<img slot="prefix" src="/assets/loginreg/account.png" alt="" style="margin-top:12px"> >
<img slot="prefix" src="/assets/loginreg/account.png" alt="" style="margin-top: 12px" />
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="password" style="margin: 21px 0"> <el-form-item prop="password" style="margin: 21px 0">
<el-input :type="passwordType" <el-input
:type="passwordType"
v-model="loginForm.password" v-model="loginForm.password"
auto-complete="off" auto-complete="off"
placeholder="请输入密码" placeholder="请输入密码"
@keyup.enter.native="doLogin"> @keyup.enter.native="doLogin"
<img slot="prefix" src="/assets/loginreg/password.png" alt="" style="margin-top:12px"> >
<i slot="suffix" style="cursor:pointer" class="el-icon-view el-input__icon" @click="showPassword"/> <img
slot="prefix"
src="/assets/loginreg/password.png"
alt=""
style="margin-top: 12px"
/>
<i
slot="suffix"
style="cursor: pointer"
class="el-icon-view el-input__icon"
@click="showPassword"
/>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item class="logbtn"> <el-form-item class="logbtn">
<el-button :loading="doloading" type="primary" @click.native.prevent="doLogin">登录</el-button> <el-button :loading="doloading" type="primary" @click.native.prevent="doLogin"
>登录</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="短信登录" name="smslogin"> <el-tab-pane label="短信登录" name="smslogin">
<el-form ref="smsloginForm" :rules="smsloginnRules" :model="smsloginForm" <el-form
status-icon label-width="0"> ref="smsloginForm"
:rules="smsloginnRules"
:model="smsloginForm"
status-icon
label-width="0"
>
<el-form-item prop="phone" style="margin: 20px 0"> <el-form-item prop="phone" style="margin: 20px 0">
<el-input v-model="smsloginForm.phone" <el-input
v-model="smsloginForm.phone"
auto-complete="off" auto-complete="off"
placeholder="请输入手机号" placeholder="请输入手机号"
@keyup.enter.native="dosmsloginLogin"> @keyup.enter.native="dosmsloginLogin"
<img slot="prefix" src="/assets/loginreg/shoujihao.png" alt="" style="margin-top:12px"> >
<img
slot="prefix"
src="/assets/loginreg/shoujihao.png"
alt=""
style="margin-top: 12px"
/>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="verify" class="verifybtn"> <el-form-item prop="verify" class="verifybtn">
@ -48,12 +75,15 @@
v-model="smsloginForm.verify" v-model="smsloginForm.verify"
auto-complete="off" auto-complete="off"
placeholder="请输入验证码" placeholder="请输入验证码"
@keyup.enter.native="dosmsloginLogin"> @keyup.enter.native="dosmsloginLogin"
<img slot="prefix" src="/assets/loginreg/yanzhengma.png" alt="" style="margin-top:12px"> >
<el-button slot="suffix" <img
@click="getVerify" slot="prefix"
src="/assets/loginreg/yanzhengma.png"
:disabled="codeVerify.disabled"> alt=""
style="margin-top: 12px"
/>
<el-button slot="suffix" @click="getVerify" :disabled="codeVerify.disabled">
<span v-show="codeVerify.show">获取验证码</span> <span v-show="codeVerify.show">获取验证码</span>
<span v-show="!codeVerify.show" class="count">{{ codeVerify.count }} s</span> <span v-show="!codeVerify.show" class="count">{{ codeVerify.count }} s</span>
</el-button> </el-button>
@ -63,27 +93,38 @@
</el-row> --> </el-row> -->
</el-form-item> </el-form-item>
<el-form-item class="logbtn"> <el-form-item class="logbtn">
<el-button :loading="smsloading" type="primary" @click.native.prevent="dosmsloginLogin">登录</el-button> <el-button :loading="smsloading" type="primary" @click.native.prevent="dosmsloginLogin"
>登录</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
<div style="display: flex; justify-content: space-between; font-size: 16px; margin-top: 10px"> <div style="display: flex; justify-content: space-between; font-size: 16px; margin-top: 10px">
<div style="color: #0066EB;cursor:pointer" @click="regnewuser">注册新用户</div> <div style="color: #0066eb; cursor: pointer" @click="regnewuser">注册新用户</div>
<div style="color: #999999;cursor:pointer" @click='goretrieve'>找回密码</div> <div style="color: #999999; cursor: pointer" @click="goretrieve">找回密码</div>
</div> </div>
</el-tabs> </el-tabs>
<!-- 新用户注册 --> <!-- 新用户注册 -->
<el-tabs v-if='newregistration==2' v-model="regactiveName" style="width: 420px;height:500px;margin-top:70px;"> <el-tabs
v-if="newregistration == 2"
v-model="regactiveName"
style="width: 420px; height: 500px; margin-top: 70px"
>
<el-tab-pane label="新用户注册" name="newreg"> <el-tab-pane label="新用户注册" name="newreg">
<el-form ref="regForm" :rules="regFormRules" :model="regForm" <el-form ref="regForm" :rules="regFormRules" :model="regForm" status-icon label-width="0">
status-icon label-width="0">
<el-form-item prop="regphone"> <el-form-item prop="regphone">
<el-input v-model="regForm.regphone" <el-input
v-model="regForm.regphone"
auto-complete="off" auto-complete="off"
placeholder="请输入手机号" placeholder="请输入手机号"
@keyup.enter.native="doregistration"> @keyup.enter.native="doregistration"
<img slot="prefix" src="/assets/loginreg/shoujihao.png" alt="" style="margin-top:12px"> >
<img
slot="prefix"
src="/assets/loginreg/shoujihao.png"
alt=""
style="margin-top: 12px"
/>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="regsterverify" class="verifybtn"> <el-form-item prop="regsterverify" class="verifybtn">
@ -92,11 +133,15 @@
v-model="regForm.regsterverify" v-model="regForm.regsterverify"
auto-complete="off" auto-complete="off"
placeholder="请输入验证码" placeholder="请输入验证码"
@keyup.enter.native="doregistration"> @keyup.enter.native="doregistration"
<img slot="prefix" src="/assets/loginreg/yanzhengma.png" alt="" style="margin-top:12px"> >
<el-button slot="suffix" <img
@click="getVerify" slot="prefix"
:disabled="regVerify.disabled"> src="/assets/loginreg/yanzhengma.png"
alt=""
style="margin-top: 12px"
/>
<el-button slot="suffix" @click="getVerify" :disabled="regVerify.disabled">
<span v-show="regVerify.show">获取验证码</span> <span v-show="regVerify.show">获取验证码</span>
<span v-show="!regVerify.show" class="count">{{ regVerify.count }} s</span> <span v-show="!regVerify.show" class="count">{{ regVerify.count }} s</span>
</el-button> </el-button>
@ -104,56 +149,107 @@
</el-form-item> </el-form-item>
<div> <div>
<el-form-item prop="regaccount" style="margin: 20px 0"> <el-form-item prop="regaccount" style="margin: 20px 0">
<el-input v-model="regForm.regaccount" <el-input
v-model="regForm.regaccount"
auto-complete="off" auto-complete="off"
placeholder="请输入用户名" placeholder="请输入用户名"
@keyup.enter.native="doregistration"> @keyup.enter.native="doregistration"
<img slot="prefix" src="/assets/loginreg/account.png" alt="" style="margin-top:12px"> >
<img
slot="prefix"
src="/assets/loginreg/account.png"
alt=""
style="margin-top: 12px"
/>
</el-input> </el-input>
</el-form-item> </el-form-item>
</div> </div>
<div> <div>
<el-form-item prop="regpassword" style="margin: 20px 0"> <el-form-item prop="regpassword" style="margin: 20px 0">
<el-input :type="passwordType" <el-input
:type="passwordType"
v-model="regForm.regpassword" v-model="regForm.regpassword"
auto-complete="off" auto-complete="off"
placeholder="请设置6-20位密码" placeholder="请设置6-20位密码"
@keyup.enter.native="doregistration"> @keyup.enter.native="doregistration"
<img slot="prefix" src="/assets/loginreg/password.png" alt="" style="margin-top:12px"> >
<i slot="suffix" style="cursor:pointer" class="el-icon-view el-input__icon" @click="showPassword"/> <img
slot="prefix"
src="/assets/loginreg/password.png"
alt=""
style="margin-top: 12px"
/>
<i
slot="suffix"
style="cursor: pointer"
class="el-icon-view el-input__icon"
@click="showPassword"
/>
</el-input> </el-input>
</el-form-item> </el-form-item>
</div> </div>
<div> <div>
<el-form-item prop="newpassword" style="margin: 20px 0"> <el-form-item prop="newpassword" style="margin: 20px 0">
<el-input :type="newpasswordType" <el-input
:type="newpasswordType"
v-model="regForm.newpassword" v-model="regForm.newpassword"
auto-complete="off" auto-complete="off"
placeholder="请输入确认密码" placeholder="请输入确认密码"
@keyup.enter.native="doregistration"> @keyup.enter.native="doregistration"
<img slot="prefix" src="/assets/loginreg/password.png" alt="" style="margin-top:12px"> >
<i slot="suffix" style="cursor:pointer" class="el-icon-view el-input__icon" @click="shownewPassword"/> <img
slot="prefix"
src="/assets/loginreg/password.png"
alt=""
style="margin-top: 12px"
/>
<i
slot="suffix"
style="cursor: pointer"
class="el-icon-view el-input__icon"
@click="shownewPassword"
/>
</el-input> </el-input>
</el-form-item> </el-form-item>
</div> </div>
<el-form-item class="logbtn"> <el-form-item class="logbtn">
<el-button :loading="regloading" type="primary" @click.native.prevent="doregistration">注册并登录</el-button> <el-button :loading="regloading" type="primary" @click.native.prevent="doregistration"
>注册并登录</el-button
>
</el-form-item> </el-form-item>
<p style='color:#0066EB;text-align:center;cursor:pointer' @click='gologin'>使用已用账号登录</p> <p style="color: #0066eb; text-align: center; cursor: pointer" @click="gologin">
使用已用账号登录
</p>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<!-- 找回密码 --> <!-- 找回密码 -->
<el-tabs v-if='newregistration==3' v-model="regactiveName" style="width: 400px;height:460px;margin-top:70px;"> <el-tabs
v-if="newregistration == 3"
v-model="regactiveName"
style="width: 400px; height: 460px; margin-top: 70px"
>
<el-tab-pane label="找回密码" name="newreg"> <el-tab-pane label="找回密码" name="newreg">
<el-form ref="retrieveForm" :rules="retrieveFormRules" :model="retrieveForm" <el-form
status-icon label-width="0"> ref="retrieveForm"
:rules="retrieveFormRules"
:model="retrieveForm"
status-icon
label-width="0"
>
<el-form-item prop="retrievephone"> <el-form-item prop="retrievephone">
<el-input v-model="retrieveForm.retrievephone" <el-input
v-model="retrieveForm.retrievephone"
auto-complete="off" auto-complete="off"
placeholder="请输入手机号" placeholder="请输入手机号"
@keyup.enter.native="doretrieve"> @keyup.enter.native="doretrieve"
<img slot="prefix" src="/assets/loginreg/shoujihao.png" alt="" style="margin-top:12px"> >
<img
slot="prefix"
src="/assets/loginreg/shoujihao.png"
alt=""
style="margin-top: 12px"
/>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="retrieveverify" class="verifybtn"> <el-form-item prop="retrieveverify" class="verifybtn">
@ -162,40 +258,74 @@
v-model="retrieveForm.retrieveverify" v-model="retrieveForm.retrieveverify"
auto-complete="off" auto-complete="off"
placeholder="请输入验证码" placeholder="请输入验证码"
@keyup.enter.native="doretrieve"> @keyup.enter.native="doretrieve"
<img slot="prefix" src="/assets/loginreg/yanzhengma.png" alt="" style="margin-top:12px"> >
<el-button slot="suffix" <img
@click="getVerify" slot="prefix"
:disabled="zhpasswordVerify.disabled"> src="/assets/loginreg/yanzhengma.png"
alt=""
style="margin-top: 12px"
/>
<el-button slot="suffix" @click="getVerify" :disabled="zhpasswordVerify.disabled">
<span v-show="zhpasswordVerify.show">获取验证码</span> <span v-show="zhpasswordVerify.show">获取验证码</span>
<span v-show="!zhpasswordVerify.show" class="count">{{zhpasswordVerify.count}} s</span> <span v-show="!zhpasswordVerify.show" class="count"
>{{ zhpasswordVerify.count }} s</span
>
</el-button> </el-button>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="retrievepassword" style="margin: 20px 0"> <el-form-item prop="retrievepassword" style="margin: 20px 0">
<el-input :type="passwordType" <el-input
:type="passwordType"
v-model="retrieveForm.retrievepassword" v-model="retrieveForm.retrievepassword"
auto-complete="off" auto-complete="off"
placeholder="请输入新密码" placeholder="请输入新密码"
@keyup.enter.native="doretrieve"> @keyup.enter.native="doretrieve"
<img slot="prefix" src="/assets/loginreg/password.png" alt="" style="margin-top:12px"> >
<i slot="suffix" style="cursor:pointer" class="el-icon-view el-input__icon" @click="showPassword"/> <img
slot="prefix"
src="/assets/loginreg/password.png"
alt=""
style="margin-top: 12px"
/>
<i
slot="suffix"
style="cursor: pointer"
class="el-icon-view el-input__icon"
@click="showPassword"
/>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="newretrievepassword" style="margin: 20px 0"> <el-form-item prop="newretrievepassword" style="margin: 20px 0">
<el-input :type="newpasswordType" <el-input
:type="newpasswordType"
v-model="retrieveForm.newretrievepassword" v-model="retrieveForm.newretrievepassword"
auto-complete="off" auto-complete="off"
placeholder="请确认新密码" placeholder="请确认新密码"
@keyup.enter.native="doretrieve"> @keyup.enter.native="doretrieve"
<img slot="prefix" src="/assets/loginreg/password.png" alt="" style="margin-top:12px"> >
<i slot="suffix" style="cursor:pointer" class="el-icon-view el-input__icon" @click="shownewPassword"/> <img
slot="prefix"
src="/assets/loginreg/password.png"
alt=""
style="margin-top: 12px"
/>
<i
slot="suffix"
style="cursor: pointer"
class="el-icon-view el-input__icon"
@click="shownewPassword"
/>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item class="logbtn"> <el-form-item class="logbtn">
<el-button :loading="retriloading" type="primary" @click.native.prevent="doretrieve">提交</el-button> <el-button :loading="retriloading" type="primary" @click.native.prevent="doretrieve"
>提交</el-button
>
</el-form-item> </el-form-item>
<p style='color:#0066EB;text-align:center;cursor:pointer' @click='gologin'>使用已用账号登录</p> <p style="color: #0066eb; text-align: center; cursor: pointer" @click="gologin">
使用已用账号登录
</p>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
@ -204,62 +334,73 @@
</template> </template>
<script> <script>
import {isMobile} from "@/util/validate"; import { isMobile } from '@/util/validate'
import {getCodeUserLogin,getCodeUserRegister,getCodeChangePasswd} from "@/api/system/login"; import { getCodeUserLogin, getCodeUserRegister, getCodeChangePasswd } from '@/api/system/login'
import {addTester,changePasswd,listUser,getUser,delUser,updateUser,exportUser,resetUserPwd,changeUserStatus,importTemplate} from "@/api/system/user"; import {
addTester,
changePasswd,
listUser,
getUser,
delUser,
updateUser,
exportUser,
resetUserPwd,
changeUserStatus,
importTemplate,
} from '@/api/system/user'
import { encrypt, decrypt } from '@/util/encrypt' import { encrypt, decrypt } from '@/util/encrypt'
export default { export default {
data() { data() {
const validatephone = (rule, value, callback) => { const validatephone = (rule, value, callback) => {
if (value === '') { if (value === '') {
return callback(new Error('请输入手机号')); return callback(new Error('请输入手机号'))
} }
if (!/^1[3456789]\d{9}$/.test(value)) { if (!/^1[3456789]\d{9}$/.test(value)) {
return callback(new Error('手机号格式不对')); return callback(new Error('手机号格式不对'))
}
callback()
} }
callback();
};
const validateaccount = (rule, value, callback) => { const validateaccount = (rule, value, callback) => {
if (value === '') { if (value === '') {
return callback(new Error('请输入用户名')); return callback(new Error('请输入用户名'))
} }
if (!/^[A-Za-z0-9]+$/.test(value)) { if (!/^[A-Za-z0-9]+$/.test(value)) {
return callback(new Error('请输入数字和字母')); return callback(new Error('请输入数字和字母'))
}
callback()
} }
callback();
};
const validatePass = (rule, value, callback) => { const validatePass = (rule, value, callback) => {
if (value === '') { if (value === '') {
return callback(new Error('请输入密码')); return callback(new Error('请输入密码'))
} }
if (!/^[a-z0-9][a-z0-9A-Z@#%^.*!~?|]{5,19}$/i.test(value)) { if (!/^[a-z0-9][a-z0-9A-Z@#%^.*!~?|]{5,19}$/i.test(value)) {
return callback(new Error('密码格式错误')); return callback(new Error('密码格式错误'))
} }
// if (this.getpasswordForm.repassword !== '') { // if (this.getpasswordForm.repassword !== '') {
// this.$refs.getpasswordForm.validateField('repassword') // this.$refs.getpasswordForm.validateField('repassword')
// } // }
return callback(); return callback()
}; }
// //
const validatePass2 = (rule, value, callback) => { const validatePass2 = (rule, value, callback) => {
if (value === '') { if (value === '') {
callback(new Error('请再次输入密码')); callback(new Error('请再次输入密码'))
} else if (value !== this.regForm.regpassword) { } else if (value !== this.regForm.regpassword) {
callback(new Error('两次输入密码不一致!')); callback(new Error('两次输入密码不一致!'))
} else { } else {
callback(); callback()
}
} }
};
// //
const validatePass3 = (rule, value, callback) => { const validatePass3 = (rule, value, callback) => {
if (value === '') { if (value === '') {
callback(new Error('请再次输入密码')); callback(new Error('请再次输入密码'))
} else if (value !== this.retrieveForm.retrievepassword) { } else if (value !== this.retrieveForm.retrievepassword) {
callback(new Error('两次输入密码不一致!')); callback(new Error('两次输入密码不一致!'))
} else { } else {
callback(); callback()
}
} }
};
return { return {
doloading: false, // doloading: false, //
smsloading: false, // smsloading: false, //
@ -272,17 +413,20 @@
checked: false, checked: false,
loginRules: { loginRules: {
account: [{ required: true, message: '请输入用户名', trigger: 'blur' }], account: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
password: [{ required: true, message: '请输入密码', trigger: 'blur' }, password: [
{ min: 6, message: '密码长度最少为6位', trigger: 'blur' }], { required: true, message: '请输入密码', trigger: 'blur' },
{ min: 6, message: '密码长度最少为6位', trigger: 'blur' },
],
}, },
passwordType: 'password', passwordType: 'password',
newpasswordType: 'password', newpasswordType: 'password',
smsloginForm: { phone: '', verify: '', uuid: '' }, // smsloginForm: { phone: '', verify: '', uuid: '' }, //
smsloginnRules: { smsloginnRules: {
phone: [{ required: true,validator:validatephone, trigger: 'change' }], phone: [{ required: true, validator: validatephone, trigger: 'blur' }],
verify: [{ required: true, message: '请输入验证码', trigger: 'change' }, verify: [
{ min: 6, max: 6, message: '验证码长度为6位', trigger: 'change' } { required: true, message: '请输入验证码', trigger: 'blur' },
] { min: 6, max: 6, message: '验证码长度为6位', trigger: 'blur' },
],
}, },
codeVerify: { show: true, count: 0, timer: null, disabled: false }, // codeVerify: { show: true, count: 0, timer: null, disabled: false }, //
regVerify: { show: true, count: 0, timer: null, disabled: false }, // regVerify: { show: true, count: 0, timer: null, disabled: false }, //
@ -290,170 +434,189 @@
// //
regForm: { regphone: '', regsterverify: '', regaccount: '', regpassword: '', newpassword: '', uuid: '' }, regForm: { regphone: '', regsterverify: '', regaccount: '', regpassword: '', newpassword: '', uuid: '' },
regFormRules: { regFormRules: {
regphone: [{ required: true,validator:validatephone, trigger: 'change' }], regphone: [{ required: true, validator: validatephone, trigger: 'blur' }],
regsterverify: [{ required: true, message: '请输入验证码', trigger: 'change' }, regsterverify: [
{ min: 6, max: 6, message: '验证码长度为6位', trigger: 'change' }], { required: true, message: '请输入验证码', trigger: 'blur' },
{ min: 6, max: 6, message: '验证码长度为6位', trigger: 'blur' },
],
regaccount: [{ required: true, validator: validateaccount, trigger: 'blur' }], regaccount: [{ required: true, validator: validateaccount, trigger: 'blur' }],
regpassword: [ { max: 20, message: '密码长度最多为20位', trigger: 'blur' },{ required: true, validator:validatePass, trigger: 'blur' }, regpassword: [
{ min: 6, message: '密码长度最少为6位', trigger: 'blur' },], { max: 20, message: '密码长度最多为20位', trigger: 'blur' },
newpassword: [{ required: true, validator:validatePass2, trigger: 'blur' }, { required: true, validator: validatePass, trigger: 'blur' },
{ min: 6, message: '密码长度最少为6位', trigger: 'blur' }], { min: 6, message: '密码长度最少为6位', trigger: 'blur' },
],
newpassword: [
{ required: true, validator: validatePass2, trigger: 'blur' },
{ min: 6, message: '密码长度最少为6位', trigger: 'blur' },
],
}, },
// //
retrieveForm:{retrievephone: '', retrieveverify: '',retrievepassword: '',newretrievepassword:'',uuid:''}, retrieveForm: {
retrievephone: '',
retrieveverify: '',
retrievepassword: '',
newretrievepassword: '',
uuid: '',
},
retrieveFormRules: { retrieveFormRules: {
retrievephone: [{ required: true, validator: validatephone, trigger: 'blur' }], retrievephone: [{ required: true, validator: validatephone, trigger: 'blur' }],
retrieveverify: [{ required: true, message: '请输入验证码', trigger: 'change' }, retrieveverify: [
{ min: 6, max: 6, message: '验证码长度为6位', trigger: 'change' }], { required: true, message: '请输入验证码', trigger: 'blur' },
retrievepassword: [ { max: 20, message: '密码长度最多为20位', trigger: 'blur' },{ required: true, validator:validatePass, trigger: 'blur' }, { min: 6, max: 6, message: '验证码长度为6位', trigger: 'blur' },
{ min: 6, message: '密码长度最少为6位', trigger: 'blur' },], ],
newretrievepassword: [{ required: true, validator:validatePass3, trigger: 'blur' }, retrievepassword: [
{ min: 6, message: '密码长度最少为6位', trigger: 'blur' }], { max: 20, message: '密码长度最多为20位', trigger: 'blur' },
{ required: true, validator: validatePass, trigger: 'blur' },
{ min: 6, message: '密码长度最少为6位', trigger: 'blur' },
],
newretrievepassword: [
{ required: true, validator: validatePass3, trigger: 'blur' },
{ min: 6, message: '密码长度最少为6位', trigger: 'blur' },
],
}, },
} }
}, },
created() { created() {},
watch: {},
},
watch:{
},
mounted() { mounted() {
let type=this.$route.query.type; let type = this.$route.query.type
if (type == 'log') { if (type == 'log') {
this.newregistration=1; this.newregistration = 1
} else if (type == 'reg') { } else if (type == 'reg') {
this.newregistration=2; this.newregistration = 2
} }
this.getlocal() this.getlocal()
}, },
methods: { methods: {
getlocal() { getlocal() {
const account = localStorage.getItem('account'); const account = localStorage.getItem('account')
const password = localStorage.getItem("password"); const password = localStorage.getItem('password')
// const rememberMe = localStorage.getItem('rememberMe') // const rememberMe = localStorage.getItem('rememberMe')
this.loginForm = { this.loginForm = {
account: account === undefined ? this.loginForm.account : account, account: account === undefined ? this.loginForm.account : account,
password: password === undefined ? this.loginForm.password : password, password: password === undefined ? this.loginForm.password : password,
// rememberMe: rememberMe === undefined ? false : Boolean(rememberMe) // rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
}; }
}, },
showPassword() {this.passwordType == ''? (this.passwordType = 'password'): (this.passwordType = '') }, showPassword() {
shownewPassword() {this.newpasswordType == ''? (this.newpasswordType = 'password'): (this.newpasswordType = '') }, this.passwordType == '' ? (this.passwordType = 'password') : (this.passwordType = '')
// tab
handleClick(tab, event){
}, },
shownewPassword() {
this.newpasswordType == '' ? (this.newpasswordType = 'password') : (this.newpasswordType = '')
},
// tab
handleClick(tab, event) {},
// //
getVerify() { getVerify() {
let phone = ''; let phone = ''
if (this.newregistration == 2) { if (this.newregistration == 2) {
phone =this.regForm.regphone; phone = this.regForm.regphone
if (!phone || !isMobile(phone)) { if (!phone || !isMobile(phone)) {
this.$message.warning('手机格式不对'); this.$message.warning('手机格式不对')
return; return
} }
this.regVerify.disabled = true; this.regVerify.disabled = true
// //
getCodeUserRegister(phone).then((res)=> { const TIME_COUNT = 60 //
if(res.code==200){ if (!this.regVerify.timer) {
this.regForm.uuid=res.uuid; this.regVerify.count = TIME_COUNT
this.$message.success('短信发送成功,请注意查收') this.regVerify.show = false
const TIME_COUNT = 60; // this.regVerify.timer = setInterval(() => {
if (!this.timer) {
this.regVerify.count = TIME_COUNT;
this.regVerify.show = false;
this.regVerify.timer =
setInterval(() => {
if (this.regVerify.count > 0 && this.regVerify.count <= TIME_COUNT) { if (this.regVerify.count > 0 && this.regVerify.count <= TIME_COUNT) {
this.regVerify.count--; this.regVerify.count--
} else { } else {
this.regVerify.disabled = false; this.regVerify.disabled = false
this.regVerify.show = true; this.regVerify.show = true
clearInterval(this.regVerify.timer); // clearInterval(this.regVerify.timer) //
this.regVerify.timer = null; this.regVerify.timer = null
} }
}, 1000); }, 1000)
} }
getCodeUserRegister(phone)
.then((res) => {
if (res.code == 200) {
this.regForm.uuid = res.uuid
this.$message.success('短信发送成功,请注意查收')
} }
}).catch((err) => { })
}); .catch((err) => {})
} else if (this.newregistration == 1) { } else if (this.newregistration == 1) {
phone =this.smsloginForm.phone; phone = this.smsloginForm.phone
if (!phone || !isMobile(phone)) { if (!phone || !isMobile(phone)) {
this.$message.warning('手机格式不对'); this.$message.warning('手机格式不对')
return; return
} }
this.codeVerify.disabled = true; this.codeVerify.disabled = true
// //
getCodeUserLogin(phone).then((res)=> { const TIME_COUNT = 60 //
if(res.code==200){ if (!this.codeVerify.timer) {
this.smsloginForm.uuid=res.uuid; this.codeVerify.count = TIME_COUNT
this.$message.success('短信发送成功,请注意查收') this.codeVerify.show = false
const TIME_COUNT = 60; // this.codeVerify.timer = setInterval(() => {
if (!this.timer) {
this.codeVerify.count = TIME_COUNT;
this.codeVerify.show = false;
this.codeVerify.timer =
setInterval(() => {
if (this.codeVerify.count > 0 && this.codeVerify.count <= TIME_COUNT) { if (this.codeVerify.count > 0 && this.codeVerify.count <= TIME_COUNT) {
this.codeVerify.count--; this.codeVerify.count--
} else { } else {
this.codeVerify.disabled = false; this.codeVerify.disabled = false
this.codeVerify.show = true; this.codeVerify.show = true
clearInterval(this.codeVerify.timer); // clearInterval(this.codeVerify.timer) //
this.codeVerify.timer = null; this.codeVerify.timer = null
} }
}, 1000); }, 1000)
} }
getCodeUserLogin(phone).then((res) => {
if (res.code == 200) {
this.smsloginForm.uuid = res.uuid
this.$message.success('短信发送成功,请注意查收')
} }
}); })
} else if (this.newregistration == 3) { } else if (this.newregistration == 3) {
phone =this.retrieveForm.retrievephone; phone = this.retrieveForm.retrievephone
if (!phone || !isMobile(phone)) { if (!phone || !isMobile(phone)) {
this.$message.warning('手机格式不对'); this.$message.warning('手机格式不对')
return; return
} }
this.zhpasswordVerify.disabled = true; this.zhpasswordVerify.disabled = true
// //
getCodeChangePasswd(phone).then((res)=> { const TIME_COUNT = 60 //
if(res.code==200){ if (!this.zhpasswordVerify.timer) {
this.retrieveForm.uuid=res.uuid; this.zhpasswordVerify.count = TIME_COUNT
this.$message.success('短信发送成功,请注意查收') this.zhpasswordVerify.show = false
const TIME_COUNT = 60; // this.zhpasswordVerify.timer = setInterval(() => {
if (!this.timer) {
this.zhpasswordVerify.count = TIME_COUNT;
this.zhpasswordVerify.show = false;
this.zhpasswordVerify.timer =
setInterval(() => {
if (this.zhpasswordVerify.count > 0 && this.zhpasswordVerify.count <= TIME_COUNT) { if (this.zhpasswordVerify.count > 0 && this.zhpasswordVerify.count <= TIME_COUNT) {
this.zhpasswordVerify.count--; this.zhpasswordVerify.count--
} else { } else {
this.zhpasswordVerify.disabled = false; this.zhpasswordVerify.disabled = false
this.zhpasswordVerify.show = true; this.zhpasswordVerify.show = true
clearInterval(this.zhpasswordVerify.timer); // clearInterval(this.zhpasswordVerify.timer) //
this.zhpasswordVerify.timer = null; this.zhpasswordVerify.timer = null
} }
}, 1000); }, 1000)
} }
getCodeChangePasswd(phone)
.then((res) => {
if (res.code == 200) {
this.retrieveForm.uuid = res.uuid
this.$message.success('短信发送成功,请注意查收')
} }
}).catch((err) => { })
}); .catch((err) => {})
} }
}, },
// //
doLogin() { doLogin() {
this.$refs.loginForm.validate((valid) => { this.$refs.loginForm.validate((valid) => {
if (valid) { if (valid) {
this.doloading = true; this.doloading = true
let data = { let data = {
username: this.loginForm.account, username: this.loginForm.account,
// password: this.loginForm.password // password: this.loginForm.password
password: encrypt(this.loginForm.password) password: encrypt(this.loginForm.password),
}; }
this.$store.dispatch("NameLogin", data).then((res) => { this.$store
.dispatch('NameLogin', data)
.then((res) => {
// if (this.loginForm.rememberMe) { // if (this.loginForm.rememberMe) {
localStorage.setItem("account", this.loginForm.account,); localStorage.setItem('account', this.loginForm.account)
// localStorage.setItem("password", this.loginForm.password); // localStorage.setItem("password", this.loginForm.password);
// Cookie.set('rememberMe', this.loginForm.rememberMe, {expires: 30}); // Cookie.set('rememberMe', this.loginForm.rememberMe, {expires: 30});
// } else { // } else {
@ -461,15 +624,15 @@
// localStorage.remove("password"); // localStorage.remove("password");
// localStorage.remove('rememberMe'); // localStorage.remove('rememberMe');
// } // }
this.$store.dispatch("GetInfo").then((userInfo)=>{ this.$store.dispatch('GetInfo').then((userInfo) => {
if (userInfo) { if (userInfo) {
this.$router.push('/') this.$router.push('/')
} }
}) })
})
}).catch(() => { .catch(() => {
this.doloading = false; this.doloading = false
}); })
// localStorage.setItem('access_token',this.token) // localStorage.setItem('access_token',this.token)
// let data=Date.parse(new Date()); // let data=Date.parse(new Date());
// localStorage.setItem('logindate',data) // localStorage.setItem('logindate',data)
@ -482,21 +645,24 @@
this.$refs.smsloginForm.validate((valid) => { this.$refs.smsloginForm.validate((valid) => {
if (valid) { if (valid) {
// smsloginForm: {phone: '', verify: '',uuid:''}, // smsloginForm: {phone: '', verify: '',uuid:''},
this.smsloading = true; this.smsloading = true
let data = { let data = {
mobile: this.smsloginForm.phone, mobile: this.smsloginForm.phone,
code: this.smsloginForm.verify, code: this.smsloginForm.verify,
uuid: this.smsloginForm.uuid, uuid: this.smsloginForm.uuid,
}; }
this.$store.dispatch("PhoneLogin", data).then(() => { this.$store
this.$store.dispatch("GetInfo").then((userInfo)=>{ .dispatch('PhoneLogin', data)
.then(() => {
this.$store.dispatch('GetInfo').then((userInfo) => {
if (userInfo) { if (userInfo) {
this.$router.push('/') this.$router.push('/')
} }
}) })
}).catch(() => { })
this.smsloading = false; .catch(() => {
}); this.smsloading = false
})
// localStorage.setItem('access_token',this.token) // localStorage.setItem('access_token',this.token)
// let data=Date.parse(new Date()); // let data=Date.parse(new Date());
// localStorage.setItem('logindate',data) // localStorage.setItem('logindate',data)
@ -506,14 +672,14 @@
}, },
// //
regnewuser() { regnewuser() {
this.newregistration=2; this.newregistration = 2
}, },
// //
doregistration() { doregistration() {
this.$refs.regForm.validate((valid) => { this.$refs.regForm.validate((valid) => {
if (valid) { if (valid) {
// regForm:{regphone: '', regsterverify: '',regaccount: '', regpassword: '',newpassword:'',uuid:''}, // regForm:{regphone: '', regsterverify: '',regaccount: '', regpassword: '',newpassword:'',uuid:''},
this.regloading = true; this.regloading = true
let data = { let data = {
phonenumber: this.regForm.regphone, phonenumber: this.regForm.regphone,
remark: this.regForm.regsterverify, remark: this.regForm.regsterverify,
@ -524,20 +690,22 @@
checkPass: this.regForm.newpassword, checkPass: this.regForm.newpassword,
} }
// return; // return;
addTester(data).then((response) => { addTester(data)
.then((response) => {
if (response.code == 200) { if (response.code == 200) {
this.$message.success("注册成功"); this.$message.success('注册成功')
this.newregistration=1; this.newregistration = 1
} }
}).catch(() => { })
this.regloading = false; .catch(() => {
}); this.regloading = false
})
} }
}) })
}, },
// //
goretrieve() { goretrieve() {
this.newregistration=3; this.newregistration = 3
}, },
// //
doretrieve() { doretrieve() {
@ -557,18 +725,17 @@
sex: this.retrieveForm.uuid, sex: this.retrieveForm.uuid,
} }
changePasswd(data).then((response) => { changePasswd(data).then((response) => {
this.$message.success("修改成功,请重新登录"); this.$message.success('修改成功,请重新登录')
setTimeout(() => { setTimeout(() => {
this.newregistration=1; this.newregistration = 1
}, 1000) }, 1000)
}); })
} }
}) })
}, },
gologin() { gologin() {
this.newregistration=1; this.newregistration = 1
} },
}, },
} }
</script> </script>
@ -585,7 +752,7 @@
.loginframe >>> .el-tabs { .loginframe >>> .el-tabs {
width: 380px; width: 380px;
height: 350px; height: 350px;
background:#FFFFFF; background: #ffffff;
margin-left: 62%; margin-left: 62%;
box-shadow: 0px 2px 13px 0px rgba(9, 39, 77, 0.28); box-shadow: 0px 2px 13px 0px rgba(9, 39, 77, 0.28);
border-radius: 8px; border-radius: 8px;
@ -605,15 +772,16 @@
color: #737373; color: #737373;
font-size: 20px; font-size: 20px;
padding: 0 52px; padding: 0 52px;
margin-bottom:10px margin-bottom: 10px;
} }
.loginframe>>>.el-tabs__item:hover,.loginframe>>>.el-tabs__item.is-active{ .loginframe >>> .el-tabs__item:hover,
.loginframe >>> .el-tabs__item.is-active {
font-weight: bold; font-weight: bold;
color: #0066EB; color: #0066eb;
font-size:20px font-size: 20px;
} }
.loginframe >>> .el-tabs__active-bar { .loginframe >>> .el-tabs__active-bar {
background-color: #0066EB; background-color: #0066eb;
} }
.logbtn >>> .el-button { .logbtn >>> .el-button {
margin-top: 20px; margin-top: 20px;
@ -622,7 +790,7 @@
height: 50px; height: 50px;
font-size: 20px; font-size: 20px;
color: rgba(255, 255, 255, 1); color: rgba(255, 255, 255, 1);
background: linear-gradient(45deg, #2978EE, #0066EB); background: linear-gradient(45deg, #2978ee, #0066eb);
border: none; border: none;
border-radius: 6px; border-radius: 6px;
} }
@ -632,11 +800,11 @@
width: 100%; width: 100%;
height: 50px; height: 50px;
font-size: 17px; font-size: 17px;
color:#0066EB; color: #0066eb;
background: transparent; background: transparent;
border: none; border: none;
border-radius: 6px; border-radius: 6px;
z-index:-1 z-index: -1;
/* 18798569999 */ /* 18798569999 */
} }
.verifybtn >>> .el-button.is-disabled:hover { .verifybtn >>> .el-button.is-disabled:hover {

@ -127,6 +127,7 @@
:rules="rules" :rules="rules"
label-width="80px" label-width="80px"
style="padding: 0 20px" style="padding: 0 20px"
class="changePassword"
> >
<el-form-item label="用户昵称" prop="nickName"> <el-form-item label="用户昵称" prop="nickName">
<el-input v-model="userinform.nickName" size="mini" /> <el-input v-model="userinform.nickName" size="mini" />
@ -145,12 +146,12 @@
</el-form-item> </el-form-item>
<el-form-item class="inforbtn" style="text-align: right"> <el-form-item class="inforbtn" style="text-align: right">
<el-button size="mini" @click="submit">保存</el-button> <el-button size="mini" @click="submit">保存</el-button>
<el-button <!-- <el-button
style="background: #ebedf0; color: #808080; border: none" style="background: #ebedf0; color: #808080; border: none"
size="mini" size="mini"
@click="close" @click="close"
>关闭</el-button >关闭</el-button
> > -->
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
@ -168,12 +169,12 @@
<el-form-item class="inforbtn" style="text-align: right"> <el-form-item class="inforbtn" style="text-align: right">
<el-button size="mini" @click="saveCom">保存</el-button> <el-button size="mini" @click="saveCom">保存</el-button>
<el-button <!-- <el-button
style="background: #ebedf0; color: #808080; border: none" style="background: #ebedf0; color: #808080; border: none"
size="mini" size="mini"
@click="passclose" @click="passclose"
>关闭</el-button >关闭</el-button
> > -->
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
@ -184,26 +185,24 @@
:rules="passrules" :rules="passrules"
label-width="80px" label-width="80px"
style="padding: 0 20px" style="padding: 0 20px"
class="changePassword"
> >
<el-form-item label="旧密码" prop="oldPassword"> <!-- <el-form-item label="旧密码" prop="oldPassword">
<el-input <el-input
v-model="passform.oldPassword" v-model="passform.oldPassword"
placeholder="请输入旧密码" placeholder="请输入旧密码"
type="password" type="password"
size="mini" size="mini"
/> />
</el-form-item> -->
<!-- uuid字段sex -->
<el-form-item label="手机号" prop="phonenumber">
<el-input v-model="passform.phonenumber" placeholder="请输入手机号" size="mini" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="手机号" prop="mobile"> <el-form-item label="验证码" prop="remark" class="passphone">
<el-input
v-model="passform.mobile"
placeholder="请输入手机号"
size="mini"
/>
</el-form-item>
<el-form-item label="验证码" prop="code">
<el-input <el-input
style="width: 390px; margin-right: 10px" style="width: 390px; margin-right: 10px"
v-model="passform.code" v-model="passform.remark"
placeholder="请输入验证码" placeholder="请输入验证码"
size="mini" size="mini"
></el-input> ></el-input>
@ -212,10 +211,10 @@
isSending ? '发送中...' : countdown > 0 ? `${countdown}秒后重试` : '发送验证码' isSending ? '发送中...' : countdown > 0 ? `${countdown}秒后重试` : '发送验证码'
}} }}
</el-button> </el-button>
</el-form-item> --> </el-form-item>
<el-form-item label="新密码" prop="newPassword"> <el-form-item label="新密码" prop="password">
<el-input <el-input
v-model="passform.newPassword" v-model="passform.password"
placeholder="请输入新密码" placeholder="请输入新密码"
type="password" type="password"
size="mini" size="mini"
@ -223,9 +222,9 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="确认密码" prop="confirmPassword"> <el-form-item label="确认密码" prop="checkPass">
<el-input <el-input
v-model="passform.confirmPassword" v-model="passform.checkPass"
placeholder="请确认密码" placeholder="请确认密码"
type="password" type="password"
size="mini" size="mini"
@ -234,12 +233,12 @@
</el-form-item> </el-form-item>
<el-form-item class="inforbtn" style="text-align: right" label-width="100px"> <el-form-item class="inforbtn" style="text-align: right" label-width="100px">
<el-button size="mini" @click="passsubmit">保存</el-button> <el-button size="mini" @click="passsubmit">保存</el-button>
<el-button <!-- <el-button
style="background: #ebedf0; color: #808080; border: none" style="background: #ebedf0; color: #808080; border: none"
size="mini" size="mini"
@click="passclose" @click="passclose"
>关闭</el-button >关闭</el-button
> > -->
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
@ -272,10 +271,11 @@ import userUpgrade from './userUpgrade'
import { updateUserProfile, updateUserPwd, getUserProfile, saveCompanyInfo } from '@/api/system/user' import { updateUserProfile, updateUserPwd, getUserProfile, saveCompanyInfo } from '@/api/system/user'
import { encrypt, decrypt } from '@/util/encrypt' import { encrypt, decrypt } from '@/util/encrypt'
import { getCodeUserLogin } from '@/api/system/login' import { getCodeUserLogin } from '@/api/system/login'
import { changePasswd } from '@/api/system/user'
export default { export default {
data() { data() {
const equalToPassword = (rule, value, callback) => { const equalToPassword = (rule, value, callback) => {
if (this.passform.newPassword !== value) { if (this.passform.password !== value) {
callback(new Error('两次输入的密码不一致')) callback(new Error('两次输入的密码不一致'))
} else { } else {
callback() callback()
@ -294,7 +294,7 @@ export default {
userGetFlag: false, userGetFlag: false,
userType: '普通用户', userType: '普通用户',
// userinform:{nickName:'',phonenumber:'',email:'',sex:''}, // userinform:{nickName:'',phonenumber:'',email:'',sex:''},
passform: { oldPassword: '', newPassword: '', confirmPassword: '' }, passform: {},
// //
rules: { rules: {
nickName: [{ required: true, message: '用户昵称不能为空', trigger: 'blur' }], nickName: [{ required: true, message: '用户昵称不能为空', trigger: 'blur' }],
@ -309,12 +309,14 @@ export default {
}, },
// //
passrules: { passrules: {
oldPassword: [{ required: true, message: '旧密码不能为空', trigger: 'blur' }], phonenumber: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
newPassword: [ remark: [{ required: true, message: '请输入验证码', trigger: 'blur' }],
// oldPassword: [{ required: true, message: '', trigger: 'blur' }],
password: [
{ required: true, message: '新密码不能为空', trigger: 'blur' }, { required: true, message: '新密码不能为空', trigger: 'blur' },
{ min: 6, max: 20, message: '长度在 6 到 20 个字符', trigger: 'blur' }, { min: 6, max: 20, message: '长度在 6 到 20 个字符', trigger: 'blur' },
], ],
confirmPassword: [ checkPass: [
{ required: true, message: '确认密码不能为空', trigger: 'blur' }, { required: true, message: '确认密码不能为空', trigger: 'blur' },
{ required: true, validator: equalToPassword, trigger: 'blur' }, { required: true, validator: equalToPassword, trigger: 'blur' },
], ],
@ -390,11 +392,21 @@ export default {
this.$refs.passform.validate((valid) => { this.$refs.passform.validate((valid) => {
if (valid) { if (valid) {
// updateUserPwd(this.passform.oldPassword, this.passform.newPassword).then(response => { // updateUserPwd(this.passform.oldPassword, this.passform.newPassword).then(response => {
updateUserPwd(encrypt(this.passform.oldPassword), encrypt(this.passform.newPassword)).then( const data = {
(response) => { phonenumber: this.passform.phonenumber,
remark: this.passform.remark,
password: encrypt(this.passform.password),
checkPass: encrypt(this.passform.checkPass),
sex: this.passform.sex,
nickName: this.$store.getters.userinform.nickName,
userName: this.$store.getters.userinform.userName,
}
changePasswd(data).then((response) => {
if (response.code == 200) {
this.$message.success('修改成功') this.$message.success('修改成功')
}, this.passform = {}
) }
})
} }
}) })
}, },
@ -415,7 +427,7 @@ export default {
}) })
}, },
sendCode() { sendCode() {
if (!/^1[34578]\d{9}$/.test(this.passform.mobile)) { if (!/^1[34578]\d{9}$/.test(this.passform.phonenumber)) {
return this.$message.error('请输入正确的手机号码') return this.$message.error('请输入正确的手机号码')
} }
if (this.countdown > 0 || this.isSending) { if (this.countdown > 0 || this.isSending) {
@ -429,10 +441,10 @@ export default {
this.isSending = false this.isSending = false
}, 100) // 使2 }, 100) // 使2
// //
getCodeUserLogin(this.passform.mobile).then((res) => { getCodeUserLogin(this.passform.phonenumber).then((res) => {
this.isSending = false this.isSending = false
if (res.code == 200) { if (res.code == 200) {
this.passform.uuid = res.uuid this.passform.sex = res.uuid
this.$message.success('短信发送成功,请注意查收') this.$message.success('短信发送成功,请注意查收')
} }
}) })
@ -450,6 +462,20 @@ export default {
} }
</script> </script>
<style scoped> <style scoped>
.changePassword >>> .el-input--mini .el-input__inner {
height: 40px;
}
.passphone >>> .el-input {
margin-right: 0 !important;
width: 476px !important;
}
.passphone >>> .el-button {
height: 40px;
border: none;
background: #0066eb;
border-radius: 0px 2px 2px 0px !important;
color: #FFFFFF;
}
.dvied { .dvied {
width: 4px; width: 4px;
height: 18px; height: 18px;
@ -481,7 +507,7 @@ export default {
.inforbtn >>> .el-button { .inforbtn >>> .el-button {
width: 90px; width: 90px;
height: 34px; height: 34px;
background: #0054a7; background: #0066EB;
border-radius: 4px; border-radius: 4px;
color: #ffffff; color: #ffffff;
} }

Loading…
Cancel
Save