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/layout/components/Navbar.vue |   62 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 2 deletions(-)

diff --git a/ruoyi-ui/src/layout/components/Navbar.vue b/ruoyi-ui/src/layout/components/Navbar.vue
index 9de102c..85fb1b5 100644
--- a/ruoyi-ui/src/layout/components/Navbar.vue
+++ b/ruoyi-ui/src/layout/components/Navbar.vue
@@ -5,8 +5,25 @@
     <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>
     <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>
 
-    <div class="right-menu">
-      <template v-if="device!=='mobile'">
+    <div class="right-menu flex align-center">
+      <template v-if="device!=='mobile' ">
+        <el-select v-model="companyName"
+                   clearable
+                   filterable
+                   reserve-keyword
+                   placeholder="璇烽�夋嫨绉熸埛"
+                   v-if="userId === 1"
+                   @change="dynamicTenantEvent"
+                   @clear="dynamicClearEvent">
+          <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>
+
         <search id="header-search" class="right-menu-item" />
 
         <el-tooltip content="婧愮爜鍦板潃" effect="dark" placement="bottom">
@@ -56,8 +73,19 @@
 import Search from '@/components/HeaderSearch'
 import RuoYiGit from '@/components/RuoYi/Git'
 import RuoYiDoc from '@/components/RuoYi/Doc'
+import { tenantList } from "@/api/login";
+import { dynamicClear, dynamicTenant } from "@/api/system/tenant";
 
 export default {
+  data() {
+    return {
+      userId: this.$store.getters.userId,
+      tenantId: undefined,
+      companyName: undefined,
+      tenantList: [],
+      userList: []
+    }
+  },
   components: {
     Breadcrumb,
     TopNav,
@@ -92,6 +120,27 @@
     }
   },
   methods: {
+    // 鍔ㄦ�佸垏鎹�
+    dynamicTenantEvent(tenantId) {
+      if (this.companyName != null && this.companyName !== '') {
+        dynamicTenant(tenantId).then(res => {
+          this.$tab.closeAllPage()
+          this.$router.push('/')
+        });
+      }
+    },
+    dynamicClearEvent() {
+      dynamicClear().then(res => {
+        this.$tab.closeAllPage()
+        this.$router.push('/')
+      });
+    },
+    // 绉熸埛鍒楄〃
+    getTenantList() {
+      tenantList().then(res => {
+        this.tenantList = res.data;
+      });
+    },
     toggleSideBar() {
       this.$store.dispatch('app/toggleSideBar')
     },
@@ -111,6 +160,15 @@
 </script>
 
 <style lang="scss" scoped>
+
+.flex {
+  display: flex;
+}
+
+.align-center {
+  align-items: center;
+}
+
 .navbar {
   height: 50px;
   overflow: hidden;

--
Gitblit v1.9.3