aiccs/src/views/system/updatePassword.vue

159 lines
4.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>