vue-apps/com.actionsoft.apps.coe.pal/views/system/PwdChange.vue
shangxiaoran@qq.com 9d8f9f0e92 初始化应用
2022-06-28 01:29:37 +08:00

208 lines
6.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>