<template>
|
<el-dialog
|
:visible.sync="dialogVisible"
|
width="25%"
|
:show-close="false"
|
:close-on-click-modal="false"
|
>
|
<span slot="title" style="display: flex;justify-content: start;font-size: 18px;margin-bottom: 40px">
|
修改初始密码
|
</span>
|
<el-form :model="setPasswordData" label-width="100px" :rules="rules" ref="ruleForm">
|
<el-row>
|
<el-form-item label="原密码" prop="oldPassword">
|
<el-input v-model="setPasswordData.oldPassword" placeholder="请输入原密码" type="password"></el-input>
|
</el-form-item>
|
</el-row>
|
<el-row>
|
<el-form-item label="新密码" prop="newPassword">
|
<el-input v-model="setPasswordData.newPassword" placeholder="请输入新密码" id="newkey" type="password"></el-input>
|
</el-form-item>
|
</el-row>
|
</el-form>
|
<span slot="footer">
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
<el-button type="primary" @click="onSubmit" :loading="isloading">保 存</el-button>
|
</span>
|
</el-dialog>
|
</template>
|
|
<script>
|
import * as homeApi from '../api/home';
|
|
export default {
|
name: "init_password",
|
components: {},
|
props: {
|
username: {
|
type: String
|
}
|
},
|
data() {
|
var validatePass2 = (rule, value, callback) => {
|
if (value === "") {
|
callback(new Error("请再次输入密码"));
|
} else if (value !== this.setPasswordData.newPassword) {
|
callback(new Error("两次输入密码不一致!"));
|
} else {
|
callback();
|
}
|
};
|
return {
|
rules: {
|
oldPassword: [{required: true, message: "请输入原密码", trigger: 'blur'}],
|
newPassword: [
|
{
|
required: true,
|
message: "请输入新密码",
|
trigger: 'blur'
|
},
|
{
|
pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
|
message: '密码由8位数字、大小写字母和特殊符号组成!',
|
}],
|
},
|
setPasswordData: {
|
newPassword: '',
|
oldPassword: '',
|
userName: ''
|
},
|
isloading: false,
|
dialogVisible: false
|
}
|
},
|
methods: {
|
initDialogData() {
|
if (this.$refs.ruleForm) this.$refs.ruleForm.resetFields()
|
},
|
|
onSubmit() {
|
this.setPasswordData.userName = this.username
|
this.$refs.ruleForm.validate((valid) => {
|
if (valid) {
|
this.isloading = true
|
homeApi.update_password(this.setPasswordData)
|
.then((res) => {
|
if (res.success) {
|
this.$message.success(res.message);
|
this.$emit('reLogin')
|
this.dialogVisible = false
|
} else {
|
this.$message.warning(res.message);
|
}
|
})
|
.catch(err => {
|
this.$message.error(err.message);
|
})
|
.finally(() => {
|
this.isloading = false
|
})
|
} else {
|
return false;
|
}
|
});
|
},
|
resetForm(formName) {
|
// this.$refs[formName].resetFields();
|
|
``
|
},
|
|
}
|
}
|
</script>
|
|
<style scoped>
|
|
</style>
|