From 6ed2779d15dcfe3aa349e5f773c3febfdcfa4df8 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期六, 25 三月 2023 00:17:01 +0800 Subject: [PATCH] update 全新 logo 全新背景图(设计师打造) --- ruoyi-ui/src/views/login.vue | 72 +++++++++++++++++++++++++++++------ 1 files changed, 59 insertions(+), 13 deletions(-) diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue index 147117f..3ffd2ea 100644 --- a/ruoyi-ui/src/views/login.vue +++ b/ruoyi-ui/src/views/login.vue @@ -1,9 +1,25 @@ <template> <div class="login"> <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> - <h3 class="title">RuoYi-Vue-Plus鍚庡彴绠$悊绯荤粺</h3> + <h3 class="title">RuoYi-Vue-Plus澶氱鎴风鐞嗙郴缁�</h3> + <el-form-item prop="tenantId"> + <el-select v-model="loginForm.tenantId" filterable placeholder="璇烽�夋嫨/杈撳叆鍏徃鍚嶇О" style="width: 100%"> + <el-option + v-for="item in tenantList" + :key="item.tenantId" + :label="item.companyName" + :value="item.tenantId"> + </el-option> + <svg-icon slot="prefix" icon-class="company" class="el-input__icon input-icon" /> + </el-select> + </el-form-item> <el-form-item prop="username"> - <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="璐﹀彿"> + <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" /> </el-input> </el-form-item> @@ -18,7 +34,7 @@ <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> </el-input> </el-form-item> - <el-form-item prop="code"> + <el-form-item prop="code" v-if="captchaEnabled"> <el-input v-model="loginForm.code" auto-complete="off" @@ -44,17 +60,20 @@ <span v-if="!loading">鐧� 褰�</span> <span v-else>鐧� 褰� 涓�...</span> </el-button> + <div style="float: right;" v-if="register"> + <router-link class="link-type" :to="'/register'">绔嬪嵆娉ㄥ唽</router-link> + </div> </el-form-item> </el-form> <!-- 搴曢儴 --> <div class="el-login-footer"> - <span>Copyright 漏 2018-2021 ruoyi.vip All Rights Reserved.</span> + <span>Copyright 漏 2018-2023 鐤媯鐨勭嫯瀛怢i All Rights Reserved.</span> </div> </div> </template> <script> -import { getCodeImg } from "@/api/login"; +import { getCodeImg, tenantList } from "@/api/login"; import Cookies from "js-cookie"; import { encrypt, decrypt } from '@/utils/jsencrypt' @@ -63,8 +82,8 @@ data() { return { codeUrl: "", - cookiePassword: "", loginForm: { + tenantId: "000000", username: "admin", password: "admin123", rememberMe: false, @@ -72,16 +91,25 @@ uuid: "" }, loginRules: { + tenantId: [ + { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勭鎴风紪鍙�" } + ], 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: "璇疯緭鍏ラ獙璇佺爜" }] }, loading: false, - redirect: undefined + // 楠岃瘉鐮佸紑鍏� + captchaEnabled: true, + // 娉ㄥ唽寮�鍏� + register: false, + redirect: undefined, + // 绉熸埛鍒楄〃 + tenantList:[] }; }, watch: { @@ -94,20 +122,34 @@ }, created() { this.getCode(); + this.getTenantList(); this.getCookie(); }, methods: { getCode() { getCodeImg().then(res => { - this.codeUrl = "data:image/gif;base64," + res.img; - this.loginForm.uuid = res.uuid; + this.captchaEnabled = res.data.captchaEnabled === undefined ? true : res.data.captchaEnabled; + if (this.captchaEnabled) { + this.codeUrl = "data:image/gif;base64," + res.data.img; + this.loginForm.uuid = res.data.uuid; + } + }); + }, + getTenantList() { + tenantList().then(res => { + this.tenantList = res.data; + if (this.tenantList != null && this.tenantList.length !== 0) { + this.loginForm.tenantId = this.tenantList[0].tenantId; + } }); }, getCookie() { + const tenantId = Cookies.get("tenantId"); const username = Cookies.get("username"); const password = Cookies.get("password"); const rememberMe = Cookies.get('rememberMe') this.loginForm = { + tenantId: tenantId === undefined ? this.loginForm.tenantId : tenantId, username: username === undefined ? this.loginForm.username : username, password: password === undefined ? this.loginForm.password : decrypt(password), rememberMe: rememberMe === undefined ? false : Boolean(rememberMe) @@ -118,10 +160,12 @@ if (valid) { this.loading = true; if (this.loginForm.rememberMe) { + Cookies.set("tenantId", this.loginForm.tenantId, { 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("tenantId"); Cookies.remove("username"); Cookies.remove("password"); Cookies.remove('rememberMe'); @@ -130,7 +174,9 @@ this.$router.push({ path: this.redirect || "/" }).catch(()=>{}); }).catch(() => { this.loading = false; - this.getCode(); + if (this.captchaEnabled) { + this.getCode(); + } }); } }); -- Gitblit v1.9.3