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