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