Răsfoiți Sursa

修改密码掉接口

duy 2 ani în urmă
părinte
comite
872f0fd360
1 a modificat fișierele cu 74 adăugiri și 6 ștergeri
  1. 74 6
      src/views/user/index.vue

+ 74 - 6
src/views/user/index.vue

@@ -79,22 +79,23 @@
                                         <div class="hac-card-title">修改密码</div>
                 </template>
                 <div>
-                        <el-form ref="formUserRef" :model="formUserModel" :rules="formUserRules"  label-width="auto"
+                    <el-form ref="formUserPassRef" :model="formUserPassModel" :rules="formUserPassRules"  label-width="auto"
                                         size="large" >
                                     <el-form-item label="原密码:" prop="oldPassword"  >
-                                        <el-input v-model="formUserModel.oldPassword" placeholder="请输入原密码"  autocomplete="new-password"
+                                        <el-input v-model="formUserPassModel.oldPassword" placeholder="请输入原密码"  autocomplete="new-password"
                                                 show-password type="password"/>
                                     </el-form-item>
                             
                                     <el-form-item label="新的密码:" prop="newPassword"  >
-                                        <el-input v-model="formUserModel.newPassword" placeholder="请输入新的密码"  autocomplete="new-password"
+                                        <el-input v-model="formUserPassModel.newPassword" placeholder="请输入新的密码"  autocomplete="new-password"
                                                 show-password type="password"/>
                                     </el-form-item>
                                     <el-form-item label="确认新密码:" prop="newPassword1"   >
-                                        <el-input v-model="formUserModel.newPassword1" placeholder="请输入确认新密码" autocomplete="new-password"
+                                        <el-input v-model="formUserPassModel.newPassword1" placeholder="请输入确认新密码" autocomplete="new-password"
                                                 show-password type="password"/>
                                     </el-form-item>
-                                </el-form>
+                    </el-form>
+               
                 </div>
         </HcCardItem>
      </HcCard>
@@ -153,6 +154,7 @@ const uploadError = () => {
 //基础信息表单
 const formUserRef = ref(null)
 const formUserModel = ref(userInfo.value)
+const formUserPassRef=ref(null)
 const formUserRules = {
     phone: {
         required: true,
@@ -168,13 +170,52 @@ const formUserRules = {
         trigger: "blur"
     },
 }
+const formUserPassRules = {
+    oldPassword: {
+        required: true,
+        trigger: "blur",
+        message: "请输入原始密码"
+    },
+    newPassword: {
+        required: true,
+        validator(rule, value, callback) {
+            const pass = formUserPassModel.value.newPassword1;
+            if (!value) {
+                callback(new Error("请输入新的密码"))
+            } else if (pass && value !== pass) {
+                callback(new Error("新的密码和确认新密码不一致"))
+            }
+            callback()
+        },
+        trigger: "blur"
+    },
+    newPassword1: {
+        required: true,
+        validator(rule, value, callback) {
+            const pass = formUserPassModel.value.newPassword;
+            if (!value) {
+                callback(new Error("请输入确认新密码"))
+            } else if (pass && value !== pass) {
+                callback(new Error("新的密码和确认新密码不一致"))
+            }
+            callback()
+        },
+        trigger: "blur"
+    }
+}
 const updatePasswordshow=ref(false)
 const updatePassword=()=>{
     updatePasswordshow.value=true
 }
 const submit=()=>{
     // updatePasswordshow.value=false
-    saveUserInfoData()
+    
+    if(  updatePasswordshow.value){
+        saveUpdatePassword()
+    }else{
+        saveUserInfoData()
+    }
+     updatePasswordshow.value=false
 }
 const saveUserLoading=ref(false)
 //保存用户信息
@@ -197,6 +238,33 @@ const saveUserInfoData = async () => {
         }
     }
 }
+
+const formUserPassModel = ref({oldPassword: '', newPassword: '', newPassword1: ''})
+//更新密码
+const saveUpdatePassword = async () => {
+    const res = await formValidate(formUserPassRef.value)
+    if (res) {
+        const form = formUserPassModel.value;
+        saveUserLoading.value = true
+        const {error, code} = await userApi.updatePassword({
+            oldPassword: md5(form?.oldPassword),
+            newPassword: md5(form?.newPassword),
+            newPassword1: md5(form?.newPassword1),
+            plaintextPassword: form?.newPassword
+        })
+        if (!error && code === 200) {
+            saveUserLoading.value = false
+            window?.$message?.success('密码修改成功')
+            formUserPassModel.value = {
+                oldPassword: '',
+                newPassword: '',
+                newPassword1: ''
+            }
+        } else {
+            saveUserLoading.value = false
+        }
+    }
+}
 const posotionoptions=ref([
     {label:'总经理',value:'1'}
 ])