From 8fb7cc0325027caa4ed7574443e24f5bd7a8efb7 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 02 九月 2024 23:09:45 +0800
Subject: [PATCH] 考核结果图表bug,登录路由权限控制

---
 src/views/login.vue |   58 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 32 insertions(+), 26 deletions(-)

diff --git a/src/views/login.vue b/src/views/login.vue
index 3231e9f..ba59cc7 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -18,28 +18,28 @@
           <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
             <el-form-item prop="username">
               <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="璐﹀彿">
-                <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
+                <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon"/>
               </el-input>
             </el-form-item>
             <el-form-item prop="password">
               <el-input v-model="loginForm.password" type="password" auto-complete="off" placeholder="瀵嗙爜"
-                @keyup.enter.native="handleLogin">
-                <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
+                        @keyup.enter.native="handleLogin">
+                <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon"/>
               </el-input>
             </el-form-item>
             <el-form-item prop="code" v-if="captchaEnabled">
               <el-input v-model="loginForm.code" auto-complete="off" placeholder="楠岃瘉鐮�" style="width: 63%"
-                @keyup.enter.native="handleLogin">
-                <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
+                        @keyup.enter.native="handleLogin">
+                <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon"/>
               </el-input>
               <div class="login-code">
-                <img :src="codeUrl" @click="getCode" class="login-code-img" />
+                <img :src="codeUrl" @click="getCode" class="login-code-img"/>
               </div>
             </el-form-item>
             <el-checkbox v-model="loginForm.rememberMe" style=" margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox>
             <el-form-item style="width:100%;">
               <el-button :loading="loading" size="medium" type="primary" style="width:100%;"
-                @click.native.prevent="handleLogin">
+                         @click.native.prevent="handleLogin">
                 <span v-if="!loading">鐧� 褰�</span>
                 <span v-else>鐧� 褰� 涓�...</span>
               </el-button>
@@ -67,10 +67,10 @@
 </template>
 
 <script>
-import { getCodeImg, getInfo } from "@/api/login";
+import {getCodeImg, getInfo} from "@/api/login";
 import Cookies from "js-cookie";
-import { encrypt, decrypt } from '@/utils/jsencrypt'
-import { updateUserPwd } from "@/api/system/user";
+import {encrypt, decrypt} from '@/utils/jsencrypt'
+import {updateUserPwd} from "@/api/system/user";
 
 export default {
   //鏂板瀵硅薄銆佸彉閲�
@@ -87,8 +87,7 @@
       var regex = /(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[\W_])/;
       if (value.length < 8 || value.length > 10) {
         callback(new Error('璇疯緭鍏�8-10浣嶅ぇ鍐欏瓧姣�+灏忓啓瀛楁瘝+鏁板瓧+鐗规畩瀛楃'));
-      }
-      else if (!regex.test(value)) {
+      } else if (!regex.test(value)) {
         callback(new Error("璇疯緭鍏�8-10浣嶅ぇ鍐欏瓧姣�+灏忓啓瀛楁瘝+鏁板瓧+鐗规畩瀛楃"));
       } else {
         callback();
@@ -110,21 +109,21 @@
       confirmPassword: undefined,
       loginRules: {
         username: [
-          { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" }
+          {required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�"}
         ],
         password: [
-          { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" }
+          {required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�"}
         ],
-        code: [{ required: true, trigger: "change", message: "璇疯緭鍏ラ獙璇佺爜" }]
+        code: [{required: true, trigger: "change", message: "璇疯緭鍏ラ獙璇佺爜"}]
       },
       rules: {
         newPassword: [
-          { required: true, message: "鏂板瘑鐮佷笉鑳戒负绌�", trigger: "blur" },
-          { required: true, validator: validatePassword, trigger: "blur" }
+          {required: true, message: "鏂板瘑鐮佷笉鑳戒负绌�", trigger: "blur"},
+          {required: true, validator: validatePassword, trigger: "blur"}
         ],
         confirmPassword: [
-          { required: true, message: "纭瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
-          { required: true, validator: equalToPassword, trigger: "blur" }
+          {required: true, message: "纭瀵嗙爜涓嶈兘涓虹┖", trigger: "blur"},
+          {required: true, validator: equalToPassword, trigger: "blur"}
         ]
       },
       loading: false,
@@ -174,9 +173,9 @@
           this.loading = true;
 
           if (this.loginForm.rememberMe) {
-            Cookies.set("username", this.loginForm.username, { expires: 30 });
-            Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
-            Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
+            Cookies.set("username", this.loginForm.username, {expires: 30});
+            Cookies.set("password", encrypt(this.loginForm.password), {expires: 30});
+            Cookies.set('rememberMe', this.loginForm.rememberMe, {expires: 30});
           } else {
             Cookies.remove("username");
             Cookies.remove("password");
@@ -190,11 +189,18 @@
               if (this.loginInfo.firstLogin == 1) {
                 // this.$router.push({ path: "/" }).catch(() => { });
                 // return;
-                this.$router.push({ path: this.redirect || "/screen" }).catch(() => { });
+                if (this.loginInfo.roles.includes("admin") || this.loginInfo.roles.includes("city_leader") || this.loginInfo.roles.includes("county_leader")) {
+                  this.$router.push({path: this.redirect || "/screen"}).catch(() => {
+                  });
+                } else {
+                  this.$router.push({path: this.redirect || "/index"}).catch(() => {
+                  });
+                }
               } else {
                 localStorage.setItem('firstLogin', 0)
               }
-            }).catch(() => { })
+            }).catch(() => {
+            })
           }).catch(() => {
             this.loading = false;
             if (this.captchaEnabled) {
@@ -210,7 +216,8 @@
         // 淇敼瀹屾垚灏唂irstLogin鏀逛负1
         localStorage.setItem('firstLogin', 1)
         this.$modal.msgSuccess("淇敼鎴愬姛");
-        this.$router.push({ path: this.redirect || "/" }).catch(() => { });
+        this.$router.push({path: this.redirect || "/"}).catch(() => {
+        });
       }).catch((e) => {
         console.info(e)
       });
@@ -319,7 +326,6 @@
     animation-delay: 0.1s;
   }
 }
-
 
 
 .login-form {

--
Gitblit v1.8.0