mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-21 02:25:56 +08:00
add 顶部栏租户下拉切换功能 ;
This commit is contained in:
parent
4bfeebef0f
commit
23b11ebeea
@ -5,8 +5,24 @@
|
||||
<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">
|
||||
<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>
|
||||
</el-select>
|
||||
|
||||
<search id="header-search" class="right-menu-item" />
|
||||
|
||||
<el-tooltip content="源码地址" effect="dark" placement="bottom">
|
||||
@ -56,8 +72,18 @@ import SizeSelect from '@/components/SizeSelect'
|
||||
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: []
|
||||
}
|
||||
},
|
||||
components: {
|
||||
Breadcrumb,
|
||||
TopNav,
|
||||
@ -92,6 +118,23 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 动态切换
|
||||
dynamicTenantEvent(tenantId) {
|
||||
dynamicTenant(tenantId).then(res => {
|
||||
this.$router.push("/index");
|
||||
});
|
||||
},
|
||||
dynamicClearEvent(tenantId) {
|
||||
dynamicClear(tenantId).then(res => {
|
||||
this.$router.push("/index");
|
||||
});
|
||||
},
|
||||
// 租户列表
|
||||
getTenantList() {
|
||||
tenantList().then(res => {
|
||||
this.tenantList = res.data;
|
||||
});
|
||||
},
|
||||
toggleSideBar() {
|
||||
this.$store.dispatch('app/toggleSideBar')
|
||||
},
|
||||
@ -111,6 +154,15 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.flex {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.align-center {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
height: 50px;
|
||||
overflow: hidden;
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<sidebar v-if="!sidebar.hide" class="sidebar-container" />
|
||||
<div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container">
|
||||
<div :class="{'fixed-header':fixedHeader}">
|
||||
<navbar />
|
||||
<navbar ref="navbar"/>
|
||||
<tags-view v-if="needTagsView" />
|
||||
</div>
|
||||
<app-main />
|
||||
@ -54,6 +54,11 @@ export default {
|
||||
return variables;
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.navbar.getTenantList();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
handleClickOutside() {
|
||||
this.$store.dispatch('app/closeSideBar', { withoutAnimation: false })
|
||||
|
||||
@ -7,6 +7,7 @@ const getters = {
|
||||
cachedViews: state => state.tagsView.cachedViews,
|
||||
token: state => state.user.token,
|
||||
avatar: state => state.user.avatar,
|
||||
userId: state => state.user.userId,
|
||||
name: state => state.user.name,
|
||||
introduction: state => state.user.introduction,
|
||||
roles: state => state.user.roles,
|
||||
|
||||
@ -7,10 +7,14 @@ const user = {
|
||||
name: '',
|
||||
avatar: '',
|
||||
roles: [],
|
||||
permissions: []
|
||||
permissions: [],
|
||||
userId: null
|
||||
},
|
||||
|
||||
mutations: {
|
||||
SET_USERID: (state, userId) => {
|
||||
state.userId = userId
|
||||
},
|
||||
SET_TOKEN: (state, token) => {
|
||||
state.token = token
|
||||
},
|
||||
@ -61,6 +65,7 @@ const user = {
|
||||
}
|
||||
commit('SET_NAME', user.userName)
|
||||
commit('SET_AVATAR', avatar)
|
||||
commit('SET_USERID', user.userId)
|
||||
resolve(res)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user