208 lines
6.8 KiB
Vue
208 lines
6.8 KiB
Vue
|
|
<template>
|
|||
|
|
<el-dialog
|
|||
|
|
title="修改密码"
|
|||
|
|
:visible.sync="pwdConfig"
|
|||
|
|
:append-to-body=true
|
|||
|
|
top="15%"
|
|||
|
|
width="600px"
|
|||
|
|
:before-close="handleClose" class="pwd-change">
|
|||
|
|
<table style="width: 420px;">
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td class="text-general-color" style="width:125px;">旧口令</td>
|
|||
|
|
<td>
|
|||
|
|
<span class="text-important-color">* </span><el-input size="small" v-model="pwd1" id="pwd1" placeholder="" name="pwd1" auto-complete="new-password" type="password" style="width: 240px; margin-bottom: 5px;"/>
|
|||
|
|
</td>
|
|||
|
|
<td></td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td class="text-general-color">新口令</td>
|
|||
|
|
<td>
|
|||
|
|
<span class="text-important-color">* </span><el-input size="small" v-model="pwd2" placeholder="" id="pwd2" name="pwd2" auto-complete="new-password" type="password" style="width: 240px; margin-bottom: 5px;"/>
|
|||
|
|
</td>
|
|||
|
|
<td></td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td class="text-general-color">确认口令</td>
|
|||
|
|
<td>
|
|||
|
|
<span class="text-important-color">* </span><el-input size="small" v-model="pwd3" id="pwd3" name="pwd3" placeholder="" auto-complete="new-password" type="password" style="width: 240px; margin-bottom: 5px;"/>
|
|||
|
|
</td>
|
|||
|
|
<td></td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<span slot="footer" class="dialog-footer">
|
|||
|
|
<awsui-button class="button-general-color" type="primary" @click="saveUserPwd()">确定</awsui-button>
|
|||
|
|
<awsui-button @click="clearPwd(true)">取消</awsui-button>
|
|||
|
|
</span>
|
|||
|
|
</el-dialog>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import awsuiAxios from "../../awsuiAxios";
|
|||
|
|
|
|||
|
|
export default {
|
|||
|
|
name: "PwdChange",
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
pwdConfig: false,
|
|||
|
|
pwd1:'',
|
|||
|
|
pwd2:'',
|
|||
|
|
pwd3:''
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
saveUserPwd() {
|
|||
|
|
const that = this;
|
|||
|
|
let type = 'success';
|
|||
|
|
let msg = '';
|
|||
|
|
if (that.pwd1 == '') {
|
|||
|
|
type = 'warning';
|
|||
|
|
msg = '[旧口令]不允许为空';
|
|||
|
|
} else if (that.pwd2 == '') {
|
|||
|
|
type = 'warning';
|
|||
|
|
msg = '[新口令]不允许为空';
|
|||
|
|
} else if (that.pwd3 == '') {
|
|||
|
|
type = 'warning';
|
|||
|
|
msg = '[确认口令]不允许为空';
|
|||
|
|
} else if (that.pwd1 == that.pwd2) {
|
|||
|
|
type = 'warning';
|
|||
|
|
msg = '新口令和旧口令不能相同';
|
|||
|
|
} else if (that.pwd2 != that.pwd3) {
|
|||
|
|
type = 'warning';
|
|||
|
|
msg = '新口令和确认口令不一致';
|
|||
|
|
} else if (that.pwd2.indexOf(" ") > -1) {
|
|||
|
|
type = 'warning';
|
|||
|
|
msg = '[新口令]不能包含空格';
|
|||
|
|
} else if (that.pwd3.indexOf(" ") > -1) {
|
|||
|
|
type = 'warning';
|
|||
|
|
msg = '[确认口令]不能包含空格';
|
|||
|
|
}
|
|||
|
|
if (type != 'success') {
|
|||
|
|
that.$message({
|
|||
|
|
message: msg,
|
|||
|
|
duration: 2000,
|
|||
|
|
type: type
|
|||
|
|
});
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
if (that.validateUpdateLoginpassword(that.pwd2, "新口令")) {
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
const params1 = {
|
|||
|
|
url:'jd',
|
|||
|
|
data:{
|
|||
|
|
cmd: 'CLIENT_P_PERSON_CONFIG_PW_ISRIGHT',
|
|||
|
|
oldpwd: that.pwd1
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
awsuiAxios.post(params1).then(function (msg) {
|
|||
|
|
if(msg== '-1'){
|
|||
|
|
that.$message.error("旧口令输入错误,请重新输入");
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
const params2 = {
|
|||
|
|
url:'jd',
|
|||
|
|
data:{
|
|||
|
|
cmd: "CLIENT_P_PERSON_CONFIG_PW_SAVE",
|
|||
|
|
oldpwd: that.pwd1,
|
|||
|
|
newpwd: that.pwd2
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
awsuiAxios.post(params2).then(function (ro) {
|
|||
|
|
if (ro.result == 'ok') {
|
|||
|
|
// 关闭密码框
|
|||
|
|
that.$message({
|
|||
|
|
message: ro.msg,
|
|||
|
|
type: 'success'
|
|||
|
|
});
|
|||
|
|
that.clearPwd(true);
|
|||
|
|
} else {
|
|||
|
|
that.$message.error(ro.msg);
|
|||
|
|
}
|
|||
|
|
}).catch(error=>{
|
|||
|
|
console.log(error);
|
|||
|
|
})
|
|||
|
|
}).catch(error=>{
|
|||
|
|
console.log(error);
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 校验portal/console 端口令修改;
|
|||
|
|
* 页面需要有securityMinPwdLength(aws-portal.xml安全配置minPwdLength)、securityMaxPwdLength(aws-portal.xml安全配置maxPwdLength)、isSecurityPwdComplexity(aws-portal.xml安全配置pwdComplexity)参数
|
|||
|
|
* @param {} value 输入的口令
|
|||
|
|
* @param {} value 口令的label
|
|||
|
|
* @return {Boolean}
|
|||
|
|
*/
|
|||
|
|
validateUpdateLoginpassword(value, labelName) {
|
|||
|
|
// 允许账户口令最小长度,0表示无限制
|
|||
|
|
if (securityMinPwdLength > 0) {
|
|||
|
|
// 允许账户口令最小长度
|
|||
|
|
if (value.length < securityMinPwdLength) {
|
|||
|
|
this.$message({
|
|||
|
|
message: '[' + labelName + ']不得少于' + securityMinPwdLength + '个字符',
|
|||
|
|
type: 'warning'
|
|||
|
|
});
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
// 允许账户口令最大长度,最多32位长度
|
|||
|
|
if (value.length > securityMaxPwdLength) {
|
|||
|
|
this.$message({
|
|||
|
|
message: '[' + labelName + ']不允许超过' + securityMaxPwdLength + '个字符',
|
|||
|
|
duration: 2000,
|
|||
|
|
type: 'warning'
|
|||
|
|
});
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
// 是否要求强度口令
|
|||
|
|
if (isSecurityPwdComplexity) {
|
|||
|
|
//自定义密码强度 参数判断在后台实现
|
|||
|
|
// var reg = new RegExp(pwdComplexityRegular);
|
|||
|
|
// if (!reg.test(value)) {
|
|||
|
|
// $.simpleAlert(labelName + 必须包含字母大小写和数字);
|
|||
|
|
// return true;
|
|||
|
|
// }
|
|||
|
|
}
|
|||
|
|
return false;
|
|||
|
|
},
|
|||
|
|
//判断口令长度
|
|||
|
|
checkPasswordLength(pwd1, pwd2) {
|
|||
|
|
var minLength = jQuery("#minLength").val();
|
|||
|
|
if (length2(pwd1) < minLength || length2(pwd2) < minLength) {
|
|||
|
|
$.simpleAlert("口令长度不能少于" + minLength + "位", "error", 2000);
|
|||
|
|
return false;
|
|||
|
|
} else {
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
handleClose(done) {
|
|||
|
|
this.clearPwd(false);
|
|||
|
|
done();
|
|||
|
|
},
|
|||
|
|
clearPwd(close) {
|
|||
|
|
const that = this;
|
|||
|
|
that.pwd1 = '';
|
|||
|
|
that.pwd2 = '';
|
|||
|
|
that.pwd3 = '';
|
|||
|
|
if(close) {
|
|||
|
|
that.pwdConfig = false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style scoped>
|
|||
|
|
#pwd1,#pwd2,#pwd3 {
|
|||
|
|
display: inline-block;
|
|||
|
|
}
|
|||
|
|
.pwd-change >>> .el-dialog__body {
|
|||
|
|
padding: 10px 20px;
|
|||
|
|
color: #606266;
|
|||
|
|
font-size: 14px;
|
|||
|
|
word-break: break-all;
|
|||
|
|
}
|
|||
|
|
</style>
|