Long 3 週間 前
コミット
edb3be6e1d

+ 9 - 6
src/views/company/companyUser/index.vue

@@ -420,8 +420,6 @@ export default {
       wxUserList: [],
       // 部门名称
       deptName: undefined,
-      // 默认密码
-      initPassword: undefined,
       // 日期范围
       dateRange: [],
       // 状态数据字典
@@ -487,6 +485,11 @@ export default {
         ],
         password: [
           { required: true, message: "员工密码不能为空", trigger: "blur" },
+          {
+            pattern: /^(?=.*[A-Za-z])(?=.*\d)(?=.*[^A-Za-z0-9]).{8,20}$/,
+            message: "密码长度为 8-20 位,必须包含字母、数字和特殊字符",
+            trigger: ["blur", "change"],
+          }
         ],
         addressId: [
           { required: true, message: "销售所属区域不能为空", trigger: "blur" },
@@ -538,9 +541,6 @@ export default {
     this.getDicts("company_user_sex").then((response) => {
       this.sexOptions = response.data;
     });
-    this.getConfigKey("sys.user.initPassword").then((response) => {
-      this.initPassword = response.msg;
-    });
     this.getDicts("sys_qw_user_status").then(response => {
           this.qwStatusOptions = response.data;
     });
@@ -695,7 +695,7 @@ export default {
         this.roleOptions = response.roles;
         this.open = true;
         this.title = "添加员工";
-        this.form.password = this.initPassword;
+        this.form.password = null;
       });
     },
     qwBind(row){
@@ -753,6 +753,9 @@ export default {
       this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
+        inputPattern: /^(?=.*[A-Za-z])(?=.*\d)(?=.*[^A-Za-z0-9]).{8,20}$/,
+        inputErrorMessage: "密码格式错误:需包含字母、数字和特殊字符,长度为 8-20 位",
+        inputPlaceholder: "8-20 位,包含字母、数字和特殊字符"
       })
         .then(({ value }) => {
           resetUserPwd(row.userId, value).then((response) => {

+ 5 - 1
src/views/company/companyUser/profile/resetPwd.vue

@@ -42,7 +42,11 @@ export default {
         ],
         newPassword: [
           { required: true, message: "新密码不能为空", trigger: "blur" },
-          { min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" }
+          {
+            pattern: /^(?=.*[A-Za-z])(?=.*\d)(?=.*[^A-Za-z0-9]).{8,20}$/,
+            message: "密码长度为 8-20 位,必须包含字母、数字和特殊字符",
+            trigger: ["blur", "change"],
+          }
         ],
         confirmPassword: [
           { required: true, message: "确认密码不能为空", trigger: "blur" },

+ 6 - 1
src/views/login.vue

@@ -82,7 +82,12 @@ export default {
           { required: true, trigger: "blur", message: "用户名不能为空" }
         ],
         password: [
-          { required: true, trigger: "blur", message: "密码不能为空" }
+          { required: true, trigger: "blur", message: "密码不能为空" },
+          {
+            pattern: /^(?=.*[A-Za-z])(?=.*\d)(?=.*[^A-Za-z0-9]).{8,20}$/,
+            message: "密码长度为8-20 位,必须包含字母、数字和特殊字符",
+            trigger: ["blur", "change"],
+          }
         ],
         code: [{ required: true, trigger: "change", message: "验证码不能为空" }]
       },