1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<template>
<layout-form>
<!-- <Breadcrumb slot='breadcrumb' :list='breadcrumbList'></Breadcrumb> -->
<el-form :model="extendFormData" :rules="rules" ref="form" label-width="100px" size='small'>
<el-row><Field label="旧密码" prop="oldPwd" v-model="extendFormData.oldPwd" type='password'/></el-row>
<el-row>
<el-tooltip class="item" effect="dark" content="要求:长度不少于8位,可由大小写字母、数字、特殊字符组成,最近三次内密码不能重复" placement="top">
<Field label="新密码" prop="newPwd" v-model="extendFormData.newPwd" type='password'/>
</el-tooltip>
</el-row>
<el-row>
<el-tooltip class="item" effect="dark" content="要求:长度不少于8位,可由大小写字母、数字、特殊字符组成,最近三次内密码不能重复" placement="top">
<Field label="重复密码" prop="reNewPwd" v-model="extendFormData.reNewPwd" type='password'/>
</el-tooltip>
</el-row>
<form-buttons @submit='submitForm'/>
</el-form>
</layout-form>
</template>
<script>
import form from '@/assets/mixins/form';
export default {
mixins: [form],
methods: {
afterSubmit() {
this.$message.success('修改密码成功,请重新登录');
this.$store.dispatch('logout');
this.$router.replace('/login');
},
// 替换原始的请求方法
getData() {},
},
data() {
return {
extendFormData: {
oldPwd: '',
newPwd: '',
reNewPwd: '',
},
urls: {
saveUrl: '/login/updatePwd',
},
// breadcrumbList: [
// {name: '系统管理',},
// {name: '修改密码',},
// ],
rules: {
oldPwd: [
{ required: true, message: '请输入旧密码', trigger: 'blur' },
],
newPwd: [
{ required: true, message: '请输入新密码', trigger: 'blur' },
],
reNewPwd: [
{ required: true, message: '请再次输入新密码!', trigger: 'blur' },
{ required: true, validator: (rule, val, cb)=>{
if(this.extendFormData.newPwd !== val){
return cb(new Error('重复密码与新密码不一致'))
}
cb();
}, trigger: 'blur' },
],
},
}
}
}
</script>