Selaa lähdekoodia

修改密码问题

zouzs 13 tuntia sitten
vanhempi
commit
b060e428b9
1 muutettua tiedostoa jossa 41 lisäystä ja 25 poistoa
  1. 41 25
      src/views/childAccount/index.vue

+ 41 - 25
src/views/childAccount/index.vue

@@ -199,27 +199,12 @@ const state = reactive<State>({
         trigger: "blur"
       }
     ],
-    password: [
+    contractPassword: [
       {
-        required: true,
-        message: "请输入密码",
-        trigger: "blur"
-      }
-    ],
-    password1: [
-      {
-        required: true,
-        message: "请输入密码",
+        pattern:
+          /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,16}$/,
+        message: "输入8到16位密码,须包括大小写字母、数字和特殊符号",
         trigger: "blur"
-      },
-      {
-        validator: (rule, value, callback) => {
-          if (value !== form.value.password) {
-            callback(new Error("密码不一致"));
-          } else {
-            callback();
-          }
-        }
       }
     ]
   }
@@ -261,7 +246,8 @@ const columns: PlusColumn[] = [
     prop: "contractPassword",
     fieldProps: {
       type: "password",
-      clearable: true
+      clearable: true,
+      showPassword: true
     }
   },
   {
@@ -269,8 +255,31 @@ const columns: PlusColumn[] = [
     prop: "confirmPassword",
     fieldProps: {
       type: "password",
-      clearable: true
-    }
+      clearable: true,
+      showPassword: true
+    },
+    formItemProps: computed(() => ({
+      required:
+        form.value.contractPassword !== "" &&
+        form.value.contractPassword !== null &&
+        form.value.contractPassword !== undefined,
+      rules: [
+        {
+          required: true,
+          message: "请输入确认密码",
+          trigger: "blur"
+        },
+        {
+          validator: (rule, value, callback) => {
+            if (value !== form.value.contractPassword) {
+              callback(new Error("密码不一致"));
+            } else {
+              callback();
+            }
+          }
+        }
+      ]
+    }))
   },
   {
     label: "是否愿意客户主动电话联系",
@@ -315,8 +324,12 @@ const handleSubmit = async (values: FieldValues) => {
   if (state.isCreate) {
     try {
       let params = form.value;
-      params.contractPassword = md5(form.value.contractPassword).toUpperCase();
-      params.confirmPassword = md5(form.value.confirmPassword).toUpperCase();
+      params.contractPassword = form.value.contractPassword
+        ? md5(form.value.contractPassword).toUpperCase()
+        : "";
+      params.confirmPassword = form.value.confirmPassword
+        ? md5(form.value.confirmPassword).toUpperCase()
+        : "";
       let res = await createChildAccount(params);
       if (res.code === 0) {
         ElMessage.success("新增成功");
@@ -371,7 +384,10 @@ buttons.value = [
     onClick(params) {
       merchantUserInfoDetail(params.row.id).then(res => {
         if (res.code === 0) {
-          form.value = res.data;
+          let data = res.data;
+          data.contractPassword = "";
+          data.confirmPassword = "";
+          form.value = data;
           state.isCreate = false;
           state.dialogVisible = true;
         }