From ab9c3cf8636dcde9278a30888c7e3418197ec978 Mon Sep 17 00:00:00 2001
From: 2910410219 <2910410219@qq.com>
Date: Thu, 2 Jul 2026 11:27:43 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A7=9F=E6=88=B7=E5=92=8C?=
=?UTF-8?q?=E4=BD=99=E9=A2=9D=E6=9F=A5=E7=9C=8B=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/system/tenant/index.ts | 9 +++++
src/layout/navBars/breadcrumb/user.vue | 48 ++++++++++++++++++++++++++
2 files changed, 57 insertions(+)
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;
+ }
+}