From 447a59c76ab12961bce6ae2f9ca6c5cce1905ad8 Mon Sep 17 00:00:00 2001
From: luobisheng <727299681@qq.com>
Date: 星期四, 24 十一月 2022 18:00:42 +0800
Subject: [PATCH] 修改密码

---
 src/views/layout/components/Header/updatePassword/index.vue |  136 ++++++++++++++------------------------------
 1 files changed, 44 insertions(+), 92 deletions(-)

diff --git a/src/views/layout/components/Header/updatePassword/index.vue b/src/views/layout/components/Header/updatePassword/index.vue
index bd9562e..cfe2094 100644
--- a/src/views/layout/components/Header/updatePassword/index.vue
+++ b/src/views/layout/components/Header/updatePassword/index.vue
@@ -2,116 +2,69 @@
     <div class="createUser">
         <main>
             <div class="mainContent">
-                <el-form ref="user" label-width="140px" :rules="createCarRules" autoComplete="on" :model="car"
+                <el-form ref="password" label-width="140px" :rules="passwordRules" autoComplete="on" :model="password"
                     label-position="right">
-                    <!-- 杞︾墝鍙� -->
-                    <el-form-item class="optionItem" label="褰撳墠瀵嗙爜:" prop="carNumber">
-                        <el-input v-model="car.carNumber" placeholder="璇峰~鍐欏綋鍓嶅瘑鐮�"></el-input>
+                    <el-form-item class="optionItem" label="褰撳墠瀵嗙爜:" prop="oldPassword">
+                        <el-input type="password" v-model="password.oldPassword" placeholder="璇峰~鍐欏綋鍓嶅瘑鐮�"></el-input>
                     </el-form-item>
-                    <!-- 鎵�灞為儴闂� -->
-                    <el-form-item class="optionItems" label="鏂板瘑鐮�:" prop="depart">
-                        <el-input v-model="car.depart" placeholder="璇峰~鍐欐柊瀵嗙爜"></el-input>
+                    <el-form-item class="optionItems" label="鏂板瘑鐮�:" prop="newPassword">
+                        <el-input type="password" v-model="password.newPassword" placeholder="璇峰~鍐欐柊瀵嗙爜"></el-input>
                     </el-form-item>
-                    <!-- 鎵�灞炲ぇ闃� -->
-                    <el-form-item class="optionItems" label="纭畾鏂板瘑鐮�:" prop="belong">
-                        <el-input v-model="car.belong" placeholder="璇蜂簩娆″~鍐欐柊瀵嗙爜"></el-input>
+                    <el-form-item class="optionItems" label="纭畾鏂板瘑鐮�:" prop="confirmPassword">
+                        <el-input type="password" v-model="password.confirmPassword" placeholder="璇峰啀娆″~鍐欐柊瀵嗙爜"></el-input>
                     </el-form-item>
+                  <el-form-item class="optionItems">
+                    <el-button type="primary" @click="onSubmit">鎻愪氦</el-button>
+                  </el-form-item>
                 </el-form>
             </div>
         </main>
     </div>
 </template>
 <script>
-import {validateCarNum,validatePhone,validateName} from '@/utils/validate'
+import users from "@/api/users";
+
 export default {
     data() {
-        const checkCarNum = (rule, value, callback) => {
-            if (value) {
-                if(validateCarNum(value)){
-                    callback()
-                }else{
-                    callback(new Error('璇疯緭鍏ユ纭殑瀵嗙爜'));
-                }
-            } else {
-                callback(new Error('瀵嗙爜涓嶈兘涓虹┖'));
-            }
-        }
-        const checkName = (rule, value, callback) => {
-            if (value) {
-                if(validateName(value)){
-                    callback()
-                }else{
-                    callback(new Error('璇疯緭鍏ユ纭殑瀵嗙爜'));
-                }
-            } else {
-                callback(new Error('鏂板瘑鐮佷笉鑳戒负绌�'));
-            }
-        }
-        const checkUser = (rule, value, callback) => {
-            if (value) {
-                if(validateName(value)){
-                    callback()
-                }else{
-                    callback(new Error('璇疯緭鍏ユ纭殑瀵嗙爜'));
-                }
-            } else {
-                callback(new Error('鏂板瘑鐮佷笉鑳戒负绌�'));
-            }
-        }
-        const checkPhone = (rule, value, callback) => {
-            if (value) {
-                if(validatePhone(value)){
-                    callback()
-                }else{
-                    callback(new Error('璇疯緭鍏ユ纭殑鎵嬫満鍙�'));
-                }
-            } else {
-                callback(new Error('鎵嬫満鍙风爜涓嶈兘涓虹┖'));
-            }
-        }
         return {
-            car: {
-            },
-            createCarRules: {
-                carNumber: [
-                    {
-                        required: true, trigger:'blur', validator: checkCarNum
-                    }
-                ],
-                contact: [
-                    {
-                        required: true,trigger:'blur', validator: checkPhone
-                    }
-                ],
-                // id: 0,
-                ownerName: [
-                    {
-                        required: true,trigger:'blur', validator: checkName
-                    }
-                ],
-                vehicleUser: [
-                    {
-                        required: true,trigger:'blur', validator: checkUser
-                    }
-                ]
-            },
-            teamList: [
-                {
-                    label: '澶ч槦涓�',
-                    value: 1,
-                },
-                {
-                    label: '澶ч槦浜�',
-                    value: 2,
-                },
-            ]
+          password: {
+            oldPassword: null,
+            newPassword: null,
+            confirmPassword: null
+          },
+          passwordRules: {
+            newPassword: [{ required: true, trigger: 'blur', message: '瀵嗙爜涓嶈兘涓虹┖' }],
+            oldPassword: [{ required: true, trigger: 'blur', message: '鏂板瘑鐮佷笉鑳戒负绌�' }],
+            confirmPassword: [{ required: true, trigger: 'blur', message: '鏂板瘑鐮佷笉鑳戒负绌�' }],
+          },
         }
     },
     created() {
     },
     methods: {
+      onSubmit() {
+        this.$refs.password.validate(valid => {
+          if (valid) {
+            const userName = JSON.parse(sessionStorage.getItem('name'));
+            const passwordParams = Object.assign({}, this.password);
+            delete passwordParams.confirmPassword;
+            users.updatePassword({ username: userName, ...passwordParams })
+                .then(() => {
+                  this.$message.success('淇敼瀵嗙爜鎴愬姛, 鍗冲皢閲嶆柊鐧诲綍');
+                  this.logout();
+                })
+                .catch(err => this.$message.error(err))
+          }
+        })
+      },
+      logout() {
+        users.logout()
+            .then(() => {
+              sessionStorage.clear();
+            })
+            .catch(err => this.$message.error(err))
+      }
     },
-    // props: ['info']
 }
 </script>
 <style lang="scss" scoped>
@@ -120,7 +73,6 @@
     background-color: #09152f;
 
     main {
-        // border: 1px solid #fff;
         text-align: left;
         padding: 0 55px;
         background-color: #09152f;

--
Gitblit v1.8.0