diff --git a/frontend/src/components/account/__tests__/BulkEditAccountModal.spec.ts b/frontend/src/components/account/__tests__/BulkEditAccountModal.spec.ts
index d094f5366d..31f6e3bd26 100644
--- a/frontend/src/components/account/__tests__/BulkEditAccountModal.spec.ts
+++ b/frontend/src/components/account/__tests__/BulkEditAccountModal.spec.ts
@@ -107,7 +107,7 @@ describe('BulkEditAccountModal', () => {
expect(mappingTab).toBeTruthy()
await mappingTab!.trigger('click')
- expect(wrapper.text()).toContain('3.1-Flash-Image passthrough')
+ expect(wrapper.text()).toContain('3.1-Flash-Image透传')
expect(wrapper.text()).toContain('3-Pro-Image→3.1')
expect(wrapper.text()).not.toContain('GPT-5.3 Codex Spark')
})
diff --git a/frontend/src/views/admin/GroupsView.vue b/frontend/src/views/admin/GroupsView.vue
index 0700f127b8..404ca0dc64 100644
--- a/frontend/src/views/admin/GroupsView.vue
+++ b/frontend/src/views/admin/GroupsView.vue
@@ -168,20 +168,40 @@
-
- ${{ row.daily_limit_usd }}/{{
- t("admin.groups.limitDay")
- }}
+
+ —
+ {{
+ formatUsd(usageMap.get(row.id)?.today_cost ?? 0)
+ }}
+
+ / {{ formatUsd(row.daily_limit_usd) }}/{{
+ t("admin.groups.limitDay")
+ }}
+
·
- ${{ row.weekly_limit_usd }}/{{
+ {{ formatUsd(row.weekly_limit_usd) }}/{{
t("admin.groups.limitWeek")
}}
@@ -200,15 +220,25 @@
class="mx-1 text-gray-300 dark:text-gray-600"
>·
- ${{ row.monthly_limit_usd }}/{{
+ {{ formatUsd(row.monthly_limit_usd) }}/{{
t("admin.groups.limitMonth")
}}
-
+
{{
t("admin.groups.subscription.noLimit")
}}
+
+ {{ t("admin.groups.usageTotal") }}
+ {{
+ usageLoading
+ ? "—"
+ : formatUsd(usageMap.get(row.id)?.total_cost ?? 0)
+ }}
+
@@ -3396,7 +3426,9 @@ const saveColumnsToStorage = () => {
};
const isColumnVisible = (key: string) => !hiddenColumns.has(key);
-const hasVisibleUsageColumn = computed(() => isColumnVisible("usage"));
+const hasVisibleUsageSummaryConsumer = computed(
+ () => isColumnVisible("usage") || isColumnVisible("billing_type"),
+);
const hasVisibleCapacityColumn = computed(() => isColumnVisible("capacity"));
const toggleColumn = (key: string) => {
@@ -3411,7 +3443,7 @@ const toggleColumn = (key: string) => {
}
saveColumnsToStorage();
- if (wasHidden && key === "usage") {
+ if (wasHidden && (key === "usage" || key === "billing_type")) {
loadUsageSummary();
}
if (wasHidden && key === "capacity") {
@@ -3571,9 +3603,12 @@ const copyAccountsGroupOptionsForEdit = computed(() => {
const groups = ref([]);
const loading = ref(false);
-const usageMap = ref