From 45ac0f23e12ac2a45c6affe9e39d0897e4fad618 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期四, 16 二月 2023 17:06:10 +0800
Subject: [PATCH] !286 合并 多租户功能 * add 新增 ruoyi-common-tenant 多租户模块 全框架适配多租户改动 * update 优化 隐藏页面主键 * remove 移除 缓存列表功能(多租户缓存功能繁杂多样 没有办法在页面管理) * update 重构 全局缓存KEY 与 常用缓存KEY做区分 * update 重构 OssFactory 加载方式 改为每次比对配置做实例更新 * update 优化 SaTokenDao 改为 Bean 注入 便于扩展 * update 重构 项目初始化数据改为懒加载 不提供热加载 * update 重构 验证码开关使用配置文件(经调查少有动态开启需求) * update 优化 启用 sqlserver 高版本语法 简化sql脚本语法 * update 优化 DataPermissionHelper 增加 开启/关闭 忽略数据权限功能 * update 优化 连接池增加 keepaliveTime 探活参数 * update 优化 调整连接池最长生命周期 防止出现警告 * update 优化 代码生成页面模板 校验不必要的表单数据 * add 新增 StringUtils splitTo 与 splitList 方法 优化业务代码

---
 ruoyi-ui/src/views/login.vue |   31 +++++++++++++++++++++++++++++--
 1 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue
index ed8d971..2a47e85 100644
--- a/ruoyi-ui/src/views/login.vue
+++ b/ruoyi-ui/src/views/login.vue
@@ -2,6 +2,17 @@
   <div class="login">
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
       <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"
@@ -62,7 +73,7 @@
 </template>
 
 <script>
-import { getCodeImg } from "@/api/login";
+import { getCodeImg, tenantList } from "@/api/login";
 import Cookies from "js-cookie";
 import { encrypt, decrypt } from '@/utils/jsencrypt'
 
@@ -72,6 +83,7 @@
     return {
       codeUrl: "",
       loginForm: {
+        tenantId: "000000",
         username: "admin",
         password: "admin123",
         rememberMe: false,
@@ -79,6 +91,9 @@
         uuid: ""
       },
       loginRules: {
+        tenantId: [
+          { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勭鎴风紪鍙�" }
+        ],
         username: [
           { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" }
         ],
@@ -92,7 +107,9 @@
       captchaEnabled: true,
       // 娉ㄥ唽寮�鍏�
       register: false,
-      redirect: undefined
+      redirect: undefined,
+      // 绉熸埛鍒楄〃
+      tenantList:[]
     };
   },
   watch: {
@@ -105,6 +122,7 @@
   },
   created() {
     this.getCode();
+    this.getTenantList();
     this.getCookie();
   },
   methods: {
@@ -117,11 +135,18 @@
         }
       });
     },
+    getTenantList() {
+      tenantList().then(res => {
+        this.tenantList = res.data;
+      });
+    },
     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)
@@ -132,10 +157,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');

--
Gitblit v1.9.3