9b7e125f
monkeyhouyi
属地页面
|
1
|
<template>
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
2
|
<div class="password">
|
9b7e125f
monkeyhouyi
属地页面
|
3
4
5
6
7
8
9
10
11
|
<div class="btn" @click="openDialog">
<slot></slot>
</div>
<el-dialog
title="修改密码"
:close-on-click-modal="false"
:visible.sync="visible"
lock-scroll
append-to-body
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
12
|
width="40%"
|
9b7e125f
monkeyhouyi
属地页面
|
13
|
:modal-append-to-body="false"
|
61009cfc
monkeyhouyi
2024/8/8
|
14
|
class="NCC-dialog NCC-dialog_center dialog-box"
|
9b7e125f
monkeyhouyi
属地页面
|
15
16
|
destroy-on-close
>
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
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
|
<div class="NCC-common-title mb-20">
<h4 class="bold">修改密码</h4>
</div>
<el-row>
<el-col :span="16">
<el-form
ref="dataForm"
:model="dataForm"
:rules="dataRule"
label-width="100px"
>
<el-form-item label="旧密码" prop="oldPassword">
<el-input
v-model="dataForm.oldPassword"
placeholder="旧密码"
show-password
/>
</el-form-item>
<el-form-item label="新密码" prop="password">
<el-input
v-model="dataForm.password"
placeholder="新密码"
show-password
/>
</el-form-item>
<el-form-item label="重复密码" prop="password2">
<el-input
v-model="dataForm.password2"
placeholder="重复密码"
show-password
/>
</el-form-item>
<el-form-item label="验证码" prop="code">
<el-col :span="17">
<el-input v-model="dataForm.code" placeholder="验证码">
</el-input>
</el-col>
<el-col :span="6" :offset="1" style="height: 32px">
<img
id="imgcode"
alt="点击切换验证码"
title="点击切换验证码"
:src="define.comUrl + imgUrl"
@click="changeImg"
/>
</el-col>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="dataFormSubmit()">保 存</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
|
9b7e125f
monkeyhouyi
属地页面
|
70
71
72
73
74
|
</el-dialog>
</div>
</template>
<script>
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
75
76
|
import md5 from "js-md5";
import { UpdatePassword } from "@/api/permission/userSetting";
|
9b7e125f
monkeyhouyi
属地页面
|
77
|
export default {
|
9b7e125f
monkeyhouyi
属地页面
|
78
|
data() {
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
79
80
81
82
83
84
85
86
87
88
89
90
91
|
var validatePass = (rule, value, callback) => {
if (value === "") {
callback(new Error("新密码不能为空"));
} else {
if (this.dataForm.password2 !== "") {
this.$refs.dataForm.validateField("password2");
}
callback();
}
};
var validatePass2 = (rule, value, callback) => {
if (value !== this.dataForm.password) {
callback(new Error("两次密码输入不一致"));
|
9b7e125f
monkeyhouyi
属地页面
|
92
93
94
95
96
97
|
} else {
callback();
}
};
return {
visible: false,
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
98
99
100
101
102
|
dataForm: {
oldPassword: "",
password: "",
password2: "",
code: "",
|
9b7e125f
monkeyhouyi
属地页面
|
103
|
},
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
104
105
106
|
imgUrl: "",
timestamp: "",
dataRule: {
|
9b7e125f
monkeyhouyi
属地页面
|
107
108
109
|
oldPassword: [
{ required: true, message: "旧密码不能为空", trigger: "blur" },
],
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
110
111
|
password: [
{ required: true, validator: validatePass, trigger: "blur" },
|
9b7e125f
monkeyhouyi
属地页面
|
112
|
],
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
113
114
115
|
password2: [
{ required: true, message: "重复密码不能为空", trigger: "blur" },
{ validator: validatePass2, trigger: "blur" },
|
9b7e125f
monkeyhouyi
属地页面
|
116
|
],
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
117
|
code: [{ required: true, message: "验证码不能为空", trigger: "blur" }],
|
9b7e125f
monkeyhouyi
属地页面
|
118
119
120
|
},
};
},
|
9b7e125f
monkeyhouyi
属地页面
|
121
122
123
124
125
|
created() {},
methods: {
openDialog() {
this.visible = true;
this.$nextTick(() => {
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
126
127
|
this.changeImg();
this.$refs["dataForm"].resetFields();
|
9b7e125f
monkeyhouyi
属地页面
|
128
129
|
});
},
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
130
131
|
dataFormSubmit() {
this.$refs["dataForm"].validate((valid) => {
|
9b7e125f
monkeyhouyi
属地页面
|
132
|
if (valid) {
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
let query = {
oldPassword: md5(this.dataForm.oldPassword),
password: md5(this.dataForm.password),
code: this.dataForm.code,
timestamp: this.timestamp,
};
UpdatePassword(query)
.then((res) => {
this.$message({
message: res.msg,
type: "success",
duration: 1500,
onClose: () => {
this.$store.dispatch("user/resetToken").then(() => {
this.$router.push(`/login`);
});
},
});
})
.catch(() => {
this.changeImg();
|
9b7e125f
monkeyhouyi
属地页面
|
154
|
});
|
9b7e125f
monkeyhouyi
属地页面
|
155
156
157
|
}
});
},
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
158
159
160
161
162
|
changeImg() {
let timestamp = Math.random();
this.timestamp = timestamp;
this.imgUrl = `/api/file/ImageCode/${timestamp}`;
},
|
9b7e125f
monkeyhouyi
属地页面
|
163
164
165
166
|
},
};
</script>
<style lang="scss" scoped>
|
c168f9ab
monkeyhouyi
应用类型传id,导出换名称,换密码
|
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
.password {
>>> .el-input-group__append {
padding: 0;
height: 30px;
}
#imgcode {
width: 100px;
height: 32px;
overflow: hidden;
object-fit: cover;
cursor: pointer;
margin: 0;
padding: 0;
}
}
|
9b7e125f
monkeyhouyi
属地页面
|
182
|
</style>
|