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