diff --git a/src/api/system/tenant/index.ts b/src/api/system/tenant/index.ts index d882c68..f984494 100644 --- a/src/api/system/tenant/index.ts +++ b/src/api/system/tenant/index.ts @@ -50,3 +50,12 @@ export function deleteTenant(ids: number[]) { data: { ids }, }); } + +// 获取租户详情(含名称和余额) +export function getTenantDetails(tenantId: number) { + return request({ + url: '/admin-go/api/v1/system/tenant/getTenantDetails', + method: 'get', + params: { tenantId }, + }); +} diff --git a/src/layout/navBars/breadcrumb/user.vue b/src/layout/navBars/breadcrumb/user.vue index 9f2f4e8..322da02 100644 --- a/src/layout/navBars/breadcrumb/user.vue +++ b/src/layout/navBars/breadcrumb/user.vue @@ -24,6 +24,12 @@ + +
+ {{ tenantInfo.tenantName }} + | + 余额: {{ tenantInfo.surplus }} +
@@ -94,6 +100,7 @@ import UserNews from '/@/layout/navBars/breadcrumb/userNews.vue'; import Search from '/@/layout/navBars/breadcrumb/search.vue'; import {logout} from "/@/api/login"; import {removeCache} from "/@/api/system/cache"; +import { getTenantDetails } from "/@/api/system/tenant"; export default defineComponent({ name: 'layoutBreadcrumbUser', @@ -112,6 +119,25 @@ export default defineComponent({ disabledI18n: 'zh-cn', disabledSize: 'large', }); + // 租户信息 + const tenantInfo = ref<{ tenantName: string; surplus: number } | null>(null); + // 获取租户信息 + const initTenantInfo = async () => { + const userInfo = Session.get('userInfo') as any; + const tenantId = userInfo?.tenantId; + if (!tenantId) return; + try { + const res: any = await getTenantDetails(tenantId); + if (res.code === 0 || res.code === 200) { + tenantInfo.value = { + tenantName: res.data.tenant.tenantName, + surplus: res.data.tenant.surplus, + }; + } + } catch (e) { + console.error('获取租户信息失败', e); + } + }; // 设置分割样式 const layoutUserFlexNum = computed(() => { let num: string | number = ''; @@ -252,6 +278,7 @@ export default defineComponent({ initI18n(); initComponentSize(); } + initTenantInfo(); }); return { userInfos, @@ -264,6 +291,7 @@ export default defineComponent({ removeCacheClick, searchRef, layoutUserFlexNum, + tenantInfo, ...toRefs(state), }; }, @@ -315,4 +343,24 @@ export default defineComponent({ top: 12px; } } +// 租户信息样式 +.layout-navbars-breadcrumb-tenant { + display: flex; + align-items: center; + gap: 6px; + padding: 0 12px; + height: 50px; + font-size: 13px; + color: var(--next-bg-topBarColor); + white-space: nowrap; + .tenant-name { + font-weight: 600; + } + .tenant-divider { + opacity: 0.4; + } + .tenant-balance { + opacity: 0.85; + } +}