|
@@ -19,9 +19,31 @@
|
19
|
19
|
<el-dropdown-item divided>
|
20
|
20
|
<span style="display:block;" @click="logout">{{ $t('navbar.logOut') }}</span>
|
21
|
21
|
</el-dropdown-item>
|
|
22
|
+ <el-dropdown-item divided>
|
|
23
|
+ <span style="display:block;" @click="showPass">修改密码</span>
|
|
24
|
+ </el-dropdown-item>
|
22
|
25
|
</el-dropdown-menu>
|
23
|
26
|
</el-dropdown>
|
24
|
27
|
</div>
|
|
28
|
+
|
|
29
|
+ <el-dialog
|
|
30
|
+ :visible.sync="dialogVisible"
|
|
31
|
+ :before-close="handleClose"
|
|
32
|
+ title="修改密码"
|
|
33
|
+ width="30%">
|
|
34
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
35
|
+ <el-form-item label="旧密码" prop="oldPass">
|
|
36
|
+ <el-input v-model="form.oldPass"/>
|
|
37
|
+ </el-form-item>
|
|
38
|
+ <el-form-item label="新密码" prop="newPass">
|
|
39
|
+ <el-input v-model="form.newPass"/>
|
|
40
|
+ </el-form-item>
|
|
41
|
+ </el-form>
|
|
42
|
+ <span slot="footer" class="dialog-footer">
|
|
43
|
+ <el-button @click="dialogVisible = false">取 消</el-button>
|
|
44
|
+ <el-button type="primary" @click="upPass('form')">确 定</el-button>
|
|
45
|
+ </span>
|
|
46
|
+ </el-dialog>
|
25
|
47
|
</div>
|
26
|
48
|
</template>
|
27
|
49
|
|
|
@@ -45,6 +67,24 @@ export default {
|
45
|
67
|
LangSelect,
|
46
|
68
|
ThemePicker
|
47
|
69
|
},
|
|
70
|
+ data() {
|
|
71
|
+ return {
|
|
72
|
+ dialogVisible: false,
|
|
73
|
+ form: {
|
|
74
|
+ oldPass: '',
|
|
75
|
+ newPass: ''
|
|
76
|
+ },
|
|
77
|
+ rules: {
|
|
78
|
+ oldPass: [
|
|
79
|
+ { required: true, message: '请输入旧密码', trigger: 'blur' }
|
|
80
|
+ ],
|
|
81
|
+ newPass: [
|
|
82
|
+ { required: true, message: '请输入新密码', trigger: 'blur' },
|
|
83
|
+ { min: 6, message: '请输入最少6位', trigger: 'blur' }
|
|
84
|
+ ]
|
|
85
|
+ }
|
|
86
|
+ }
|
|
87
|
+ },
|
48
|
88
|
computed: {
|
49
|
89
|
...mapGetters([
|
50
|
90
|
'sidebar',
|
|
@@ -61,6 +101,35 @@ export default {
|
61
|
101
|
this.$store.dispatch('LogOut').then(() => {
|
62
|
102
|
location.reload()// In order to re-instantiate the vue-router object to avoid bugs
|
63
|
103
|
})
|
|
104
|
+ },
|
|
105
|
+ handleClose(done) {
|
|
106
|
+ done()
|
|
107
|
+ },
|
|
108
|
+ showPass() {
|
|
109
|
+ this.form.oldPass = ''
|
|
110
|
+ this.form.newPass = ''
|
|
111
|
+ this.dialogVisible = true
|
|
112
|
+ },
|
|
113
|
+ upPass(formName) {
|
|
114
|
+ this.$refs[formName].validate((valid) => {
|
|
115
|
+ if (valid) {
|
|
116
|
+ this.$store.dispatch('UpdatePass', this.form).then((res) => {
|
|
117
|
+ const resCode = res.code
|
|
118
|
+ if (resCode === '0') {
|
|
119
|
+ this.$message.success(res.message || res.msg)
|
|
120
|
+ this.dialogVisible = false
|
|
121
|
+ return
|
|
122
|
+ }
|
|
123
|
+
|
|
124
|
+ this.$message.error(res.message || res.msg)
|
|
125
|
+ }).catch((err) => {
|
|
126
|
+ console.log('UpdatePass err: ', err)
|
|
127
|
+ })
|
|
128
|
+ } else {
|
|
129
|
+ console.log('error submit!!')
|
|
130
|
+ return false
|
|
131
|
+ }
|
|
132
|
+ })
|
64
|
133
|
}
|
65
|
134
|
}
|
66
|
135
|
}
|