| | |
| | | <el-input type="password" v-model="params.oldPwd"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="新密码" prop="newPwd"> |
| | | <el-input type="password" v-model="params.newPwd"></el-input> |
| | | <el-input type="password" v-model="params.newPwd" show-password></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="确认密码" prop="enPwd"> |
| | | <el-input type="password" v-model="params.enPwd"></el-input> |
| | | <el-input type="password" v-model="params.enPwd" show-password></el-input> |
| | | </el-form-item> |
| | | <div class="form-footer"> |
| | | <three-btn @click="submitForm">确定</three-btn> |
| | |
| | | |
| | | <script> |
| | | import { checkUserPwd, updateUserPwd } from "@/views/login/js/api" |
| | | import getPasswordRule from "@/assets/js/tools/getPasswordRule"; |
| | | export default { |
| | | name: "PwdChange", |
| | | props: { |
| | | visible: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | name: { |
| | | type: String, |
| | | default: "" |
| | | }, |
| | | }, |
| | | data() { |
| | | let validatePass = (rule, value, callback) => { |
| | | let pwdRegex = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z]).{6,30}'); |
| | | if (pwdRegex.test(value)) { |
| | | callback(); |
| | | } else { |
| | | callback(new Error('您的密码复杂度太低(密码中必须包含字母、数字、至少6位)')); |
| | | } |
| | | }; |
| | | // 根据密码类型和长度动态生成校验规则 |
| | | let type = sessionStorage.getItem("passwordType"); |
| | | let num = sessionStorage.getItem("passwordNum"); |
| | | type = type?Number(type):5; |
| | | num = num?Number(num):8; |
| | | let passwordRule = getPasswordRule(type, num); |
| | | |
| | | let validatePass = (rule, value, callback) => { |
| | | let name = this.params.userName; |
| | | let pwdRegex = passwordRule.pattern; |
| | | let nameReg = new RegExp(name); |
| | | if (pwdRegex.test(value)) { // 校验密码规则是否正确 |
| | | callback(); |
| | | } else if(nameReg.test(value)) { // 校验密码中是否存在用户名 |
| | | callback(new Error("密码中存在用户名信息")); |
| | | } else { |
| | | callback(new Error(passwordRule.msg)); |
| | | } |
| | | }; |
| | | return { |
| | | params: { |
| | | userName: "", |
| | | oldPwd: "", |
| | | newPwd: "", |
| | | enPwd: "" |
| | |
| | | close() { |
| | | this.$emit("update:visible", false); |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.params.userName = this.name; |
| | | } |
| | | } |
| | | </script> |
| | | |
| | |
| | | .form-footer .three-btn { |
| | | margin-left: 12px; |
| | | } |
| | | /deep/ .el-input__icon.el-icon-view.el-input__clear { |
| | | color: #FFFFFF; |
| | | } |
| | | </style> |