From f2a9cb154099a59a97de312ea2bb45d37639868b Mon Sep 17 00:00:00 2001
From: lohir <3399054449@qq.com>
Date: 星期四, 17 十月 2024 19:46:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/login/index.vue |   59 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 35 insertions(+), 24 deletions(-)

diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index a194d26..d1b9a0e 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -63,8 +63,8 @@
       :show-close="false"
     >
       <div style="margin-bottom: 10px; color: #aa1111">鎮ㄧ殑瀵嗙爜宸茬粡杩囨湡锛岃閲嶆柊璁剧疆~</div>
-      <el-form :model="updatePasswordForm">
-        <el-form-item label="鏂板瘑鐮�">
+      <el-form ref="updatePasswordForm" :model="updatePasswordForm" :rules="updatePasswordRules">
+        <el-form-item label="鏂板瘑鐮�" prop="newPassword">
           <el-input v-model="updatePasswordForm.newPassword" placeholder="搴斿寘鍚ぇ灏忓啓銆佹暟瀛�" show-password></el-input>
         </el-form-item>
         <el-form-item label="纭瀵嗙爜">
@@ -88,16 +88,15 @@
 export default {
   name: 'Login',
   data () {
-    const validateUsername = (rule, value, callback) => {
-      if (value.length < 5) {
-        callback(new Error('鐢ㄦ埛鍚嶄笉鑳藉皯浜�5涓瓧绗�'))
-      } else {
-        callback()
-      }
-    }
     const validatePassword = (rule, value, callback) => {
-      if (value.length < 5) {
-        callback(new Error('瀵嗙爜涓嶈兘灏戜簬5涓瓧绗�'))
+      if (value === '') {
+        callback(new Error('璇疯緭鍏ュ瘑鐮�'))
+      } else if (!/[A-Z]/.test(value)) {
+        callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓ぇ鍐欏瓧姣�'))
+      } else if (!/[a-z]/.test(value)) {
+        callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓皬鍐欏瓧姣�'))
+      } else if (!/[0-9]/.test(value)) {
+        callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓暟瀛�'))
       } else {
         callback()
       }
@@ -109,14 +108,19 @@
         newPassword: '',
         confirmPassword: ''
       },
+      updatePasswordRules: {
+        newPassword: [
+          { validator: validatePassword, trigger: 'blur' }
+        ]
+      },
       loginForm: {
         userName: '',
         password: '',
         remember: false
       },
       loginRules: {
-        userName: [{ required: true, trigger: 'blur'}],
-        password: [{ required: true, trigger: 'blur'}]
+        userName: [{ required: true, trigger: 'blur' }],
+        password: [{ required: true, trigger: 'blur' }]
       },
       passwordType: 'password',
       capsTooltip: false,
@@ -139,15 +143,22 @@
   },
   methods: {
     updatePassword () {
-      if (this.updatePasswordForm.newPassword !== this.updatePasswordForm.confirmPassword) {
-        this.$message.error("涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�")
-        return
-      }
-      UserApi.updatePassword(this.updatePasswordForm).then(res => {
-        if (res.code === 1) {
-          this.$message.success('瀵嗙爜淇敼鎴愬姛銆傝閲嶆柊鐧诲綍')
-          this.loginForm.password = ''
-          this.forceUpdateShow = false
+      let _this = this
+      _this.$refs.updatePasswordForm.validate(valid => {
+        if (valid) {
+          if (this.updatePasswordForm.newPassword !== this.updatePasswordForm.confirmPassword) {
+            _this.$message.error('涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�')
+            return
+          }
+          UserApi.updatePassword(this.updatePasswordForm).then(res => {
+            if (res.code === 1) {
+              _this.$message.success('瀵嗙爜淇敼鎴愬姛銆傝閲嶆柊鐧诲綍')
+              _this.loginForm.password = ''
+              _this.forceUpdateShow = false
+            }
+          })
+        } else {
+          return false
         }
       })
     },
@@ -189,6 +200,7 @@
             }
             if (result && result.code === 1) {
               _this.setUserName(_this.loginForm.userName)
+              _this.setUserInfo(result.data)
               _this.$router.push({ path: '/dashboard' })
             } else {
               _this.loading = false
@@ -205,7 +217,7 @@
         }
       })
     },
-    ...mapMutations('user', ['setUserName'])
+    ...mapMutations('user', ['setUserName', 'setUserInfo'])
   }
 }
 </script>
@@ -333,4 +345,3 @@
   }
 }
 </style>
-

--
Gitblit v1.8.0