From 8daa5bca5302e35aa120ca70ef95728278860e4f Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Thu, 12 May 2022 16:55:58 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=A3=20=E9=87=8D=E6=9E=84=E5=BA=95?= =?UTF-8?q?=E5=B1=82=E5=A4=9A=E7=A7=9F=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/UserController.java | 6 +-- kicc-ui/src/api/platform/core/entity/user.ts | 2 + .../api/platform/system/controller/user.ts | 4 +- .../layouts/default/setting/SettingDrawer.tsx | 9 +++++ .../setting/components/TenantSelect.vue | 39 +++++++++++++++++++ .../default/setting/components/index.ts | 1 + kicc-ui/src/locales/lang/en/layout.ts | 1 + kicc-ui/src/locales/lang/zh-CN/layout.ts | 1 + kicc-ui/src/store/modules/user.ts | 1 + 9 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 kicc-ui/src/layouts/default/setting/components/TenantSelect.vue diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java index b3a433a0..f3aab7b4 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java @@ -206,10 +206,10 @@ public class UserController { } @SysLog("用户多租户更改") - @PutMapping("/changeTenement") + @PutMapping("/changeTenant") @PreAuthorize("@pms.hasPermission('user_edit')") - public R changeTenement(String[] TenantIds) { - SecurityUtils.getUser().setTenantId(String.join(",", TenantIds)); + public R changeTenant(String[] tenantIds) { + SecurityUtils.getUser().setTenantId(String.join(",", tenantIds)); return R.ok(); } diff --git a/kicc-ui/src/api/platform/core/entity/user.ts b/kicc-ui/src/api/platform/core/entity/user.ts index b9db07f9..335e6329 100644 --- a/kicc-ui/src/api/platform/core/entity/user.ts +++ b/kicc-ui/src/api/platform/core/entity/user.ts @@ -67,6 +67,8 @@ export interface User extends CommonEntity { tenantId: string; // 指定登录后首页跳转 homePath?: string; + // 前端项目配置多租户选择集合 + tenantIds: string[]; [key: string]: any; } diff --git a/kicc-ui/src/api/platform/system/controller/user.ts b/kicc-ui/src/api/platform/system/controller/user.ts index 2162db72..e05a8ad9 100644 --- a/kicc-ui/src/api/platform/system/controller/user.ts +++ b/kicc-ui/src/api/platform/system/controller/user.ts @@ -17,7 +17,7 @@ enum Api { updatePwd = '/system_proxy/system/user/updatePwd', resetPwd='/system_proxy/system/user/resetPwd', changeStatus='/system_proxy/system/user/changeStatus', - changeTenement='/system_proxy/system/user/changeTenement' + changeTenant='/system_proxy/system/user/changeTenant' } /** 查询用户列表 */ @@ -45,4 +45,4 @@ export const resetPwd = (params: Partial) => defHttp.put({ url: Api.resetP export const changeStatus = (id: string, status: string) => defHttp.put({ url: Api.changeStatus, data: { id: id, status: status } }); /** 修改用户多租户 */ -export const changeTenement = (tenementId: string) => defHttp.put({ url: Api.changeTenement, params: { tenementId } }); +export const changeTenant = (tenantIds: string) => defHttp.put({ url: Api.changeTenant, params: { tenantIds } }); diff --git a/kicc-ui/src/layouts/default/setting/SettingDrawer.tsx b/kicc-ui/src/layouts/default/setting/SettingDrawer.tsx index 4b0b899c..bd556eea 100644 --- a/kicc-ui/src/layouts/default/setting/SettingDrawer.tsx +++ b/kicc-ui/src/layouts/default/setting/SettingDrawer.tsx @@ -8,6 +8,7 @@ import { SwitchItem, SelectItem, InputNumberItem, + TenantSelect } from './components'; import { AppDarkModeToggle } from '/@/components/Application'; import { MenuTypeEnum, TriggerEnum } from '/@/enums/menuEnum'; @@ -127,6 +128,12 @@ export default defineComponent({ ); } + function renderTenantManage() { + return ( + + ); + } + function renderMainTheme() { return ( {() => t('layout.setting.sidebarTheme')} {renderSiderTheme()} + {() => t('layout.setting.tenantManage')} + {renderTenantManage()} {() => t('layout.setting.interfaceFunction')} {renderFeatures()} {() => t('layout.setting.interfaceDisplay')} diff --git a/kicc-ui/src/layouts/default/setting/components/TenantSelect.vue b/kicc-ui/src/layouts/default/setting/components/TenantSelect.vue new file mode 100644 index 00000000..bc789766 --- /dev/null +++ b/kicc-ui/src/layouts/default/setting/components/TenantSelect.vue @@ -0,0 +1,39 @@ + + diff --git a/kicc-ui/src/layouts/default/setting/components/index.ts b/kicc-ui/src/layouts/default/setting/components/index.ts index bd248885..4c02a9c0 100644 --- a/kicc-ui/src/layouts/default/setting/components/index.ts +++ b/kicc-ui/src/layouts/default/setting/components/index.ts @@ -6,3 +6,4 @@ export const SettingFooter = createAsyncComponent(() => import('./SettingFooter. export const SwitchItem = createAsyncComponent(() => import('./SwitchItem.vue')); export const SelectItem = createAsyncComponent(() => import('./SelectItem.vue')); export const InputNumberItem = createAsyncComponent(() => import('./InputNumberItem.vue')); +export const TenantSelect = createAsyncComponent(() => import('./TenantSelect.vue')); diff --git a/kicc-ui/src/locales/lang/en/layout.ts b/kicc-ui/src/locales/lang/en/layout.ts index 443931fd..36a60790 100644 --- a/kicc-ui/src/locales/lang/en/layout.ts +++ b/kicc-ui/src/locales/lang/en/layout.ts @@ -69,6 +69,7 @@ export default { sysTheme: 'System theme', headerTheme: 'Header theme', sidebarTheme: 'Menu theme', + tenantManage: 'Tenant Manage', menuDrag: 'Drag Sidebar', menuSearch: 'Menu search', diff --git a/kicc-ui/src/locales/lang/zh-CN/layout.ts b/kicc-ui/src/locales/lang/zh-CN/layout.ts index bb82724c..f7e23015 100644 --- a/kicc-ui/src/locales/lang/zh-CN/layout.ts +++ b/kicc-ui/src/locales/lang/zh-CN/layout.ts @@ -69,6 +69,7 @@ export default { sysTheme: '系统主题', headerTheme: '顶栏主题', sidebarTheme: '菜单主题', + tenantManage: '多租户管理', menuDrag: '侧边菜单拖拽', menuSearch: '菜单搜索', diff --git a/kicc-ui/src/store/modules/user.ts b/kicc-ui/src/store/modules/user.ts index 989fc17d..2663701a 100644 --- a/kicc-ui/src/store/modules/user.ts +++ b/kicc-ui/src/store/modules/user.ts @@ -135,6 +135,7 @@ export const useUserStore = defineStore({ async getUserInfoAction(): Promise { const userInfo = await getUserInfo(); userInfo.avatar || (userInfo.avatar = defaultAvatar); + userInfo.tenantIds = String(userInfo.tenantId).split(','); // 存储用户扩展信息,便于鉴权 this.setUserInfo(userInfo); this.setRoleIds(userInfo.roleIds);