159 lines
4.6 KiB
Vue
159 lines
4.6 KiB
Vue
|
|
<template>
|
|||
|
|
<div class="app-container common-list-page">
|
|||
|
|
<el-form
|
|||
|
|
:model="resetForm"
|
|||
|
|
:rules="resetFormRules"
|
|||
|
|
ref="resetForm"
|
|||
|
|
status-icon
|
|||
|
|
label-width="100px"
|
|||
|
|
>
|
|||
|
|
<el-form-item label="旧密码:" prop="oldPassword">
|
|||
|
|
<el-input type="password" v-model="resetForm.oldPassword" auto-complete="off"></el-input>
|
|||
|
|
</el-form-item>
|
|||
|
|
<el-form-item label="新密码:" prop="newPassword">
|
|||
|
|
<el-input type="password" v-model="resetForm.newPassword" auto-complete="off"></el-input>
|
|||
|
|
</el-form-item>
|
|||
|
|
<el-form-item label="确认密码:" prop="newpassword1">
|
|||
|
|
<el-input type="password" v-model="resetForm.newpassword1" auto-complete="off"></el-input>
|
|||
|
|
</el-form-item>
|
|||
|
|
<el-form-item>
|
|||
|
|
<!-- <el-button type="primary" @click.native.prevent="toAmend">确认修改</el-button>-->
|
|||
|
|
<el-button type="primary" @click="toAmend">确认修改</el-button>
|
|||
|
|
</el-form-item>
|
|||
|
|
</el-form>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
<script>
|
|||
|
|
// import { mapGetters } from 'vuex'
|
|||
|
|
import { queryOlderP, updateP } from '@/api/updatePassword'
|
|||
|
|
export default {
|
|||
|
|
data() {
|
|||
|
|
// 必须包含大小写字母、数字、特殊字符长度再9-16位之间
|
|||
|
|
var valiOldPwd = (rule, value, callback) => {
|
|||
|
|
if (value === '') {
|
|||
|
|
callback(new Error('请输入旧密码'))
|
|||
|
|
} else {
|
|||
|
|
callback()
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var regex = new RegExp('^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$')
|
|||
|
|
var validatePass = (rule, value, callback) => {
|
|||
|
|
if (value === '') {
|
|||
|
|
callback(new Error('请输入新密码'))
|
|||
|
|
} else if (!regex.test(value)) {
|
|||
|
|
callback(new Error('必须包含字母、数字,长度为6-16位之间'))
|
|||
|
|
} else {
|
|||
|
|
callback()
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var validatePass2 = (rule, value, callback) => {
|
|||
|
|
if (value === '') {
|
|||
|
|
callback(new Error('请再次输入密码'))
|
|||
|
|
} else if (value !== this.resetForm.newPassword) {
|
|||
|
|
callback(new Error('两次输入密码不一致!'))
|
|||
|
|
} else {
|
|||
|
|
callback()
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return {
|
|||
|
|
user: JSON.parse(sessionStorage.getItem('user')),
|
|||
|
|
resetForm: {
|
|||
|
|
newpassword1: '',
|
|||
|
|
oldPassword: '',
|
|||
|
|
newPassword: ''
|
|||
|
|
},
|
|||
|
|
resetFormRules: {
|
|||
|
|
oldPassword: [
|
|||
|
|
{ required: true, validator: valiOldPwd, trigger: 'blur' }
|
|||
|
|
],
|
|||
|
|
newPassword: [
|
|||
|
|
{ required: true, validator: validatePass, trigger: 'blur' }
|
|||
|
|
],
|
|||
|
|
newpassword1: [
|
|||
|
|
{ required: true, validator: validatePass2, trigger: 'blur' }
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
mounted() {
|
|||
|
|
this.getList()
|
|||
|
|
// this.aaa()
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
// 查询原先密码
|
|||
|
|
getList() {
|
|||
|
|
// const data = {
|
|||
|
|
// userId: this.user.primaryKey
|
|||
|
|
// }
|
|||
|
|
// queryOlderP(data).then(res => {
|
|||
|
|
// if (res.code === 0) {
|
|||
|
|
// this.resetForm.oldPassword = res.data.password
|
|||
|
|
// }
|
|||
|
|
// })
|
|||
|
|
},
|
|||
|
|
// 修改密码
|
|||
|
|
toAmend() {
|
|||
|
|
this.$refs.resetForm.validate(valid => {
|
|||
|
|
if (valid) {
|
|||
|
|
// console.log('=================')
|
|||
|
|
const data = {
|
|||
|
|
userId: this.user.primaryKey,
|
|||
|
|
newPassword: this.resetForm.newPassword,
|
|||
|
|
oldPassword: this.resetForm.oldPassword
|
|||
|
|
}
|
|||
|
|
updateP(data).then(res => {
|
|||
|
|
if (res.code === 0) {
|
|||
|
|
const that = this
|
|||
|
|
that.$message({
|
|||
|
|
message: '修改密码成功',
|
|||
|
|
type: 'success',
|
|||
|
|
center: true,
|
|||
|
|
onClose() {
|
|||
|
|
that.dialogVisible = false
|
|||
|
|
that.getList()
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
this.$message.error(res.msg)
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
// api.materialQuery.toAmend(this.resetForm)
|
|||
|
|
// .then(res => {
|
|||
|
|
// if (res.code === 2){
|
|||
|
|
// this.$message({
|
|||
|
|
// message: res.msg,
|
|||
|
|
// type: 'error',
|
|||
|
|
// duration: '2000'
|
|||
|
|
// })
|
|||
|
|
// return false
|
|||
|
|
// }
|
|||
|
|
// if (res.code === 0) {
|
|||
|
|
// this.$message.success('修改成功,3秒后跳转到登录页!');
|
|||
|
|
// setTimeout(() => {
|
|||
|
|
// this.logout()
|
|||
|
|
// }, 3000)
|
|||
|
|
// }
|
|||
|
|
// ic
|
|||
|
|
// })
|
|||
|
|
// .catch(() => {})
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
// async logout() {
|
|||
|
|
// await this.$store.dispatch('user/logout');
|
|||
|
|
// this.$router.push(`/login`);
|
|||
|
|
// }
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
.el-form {
|
|||
|
|
width: 60%;
|
|||
|
|
margin: 50px auto 0;
|
|||
|
|
text-align: center;
|
|||
|
|
button {
|
|||
|
|
margin: 20px 0 0;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|