From 960c09cdcec801dae385e5d341b96a1303cba027 Mon Sep 17 00:00:00 2001 From: ianshaw Date: Sun, 4 Jan 2026 20:10:15 -0800 Subject: [PATCH] =?UTF-8?q?fix(frontend):=20=E6=81=A2=E5=A4=8D=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=AE=B0=E5=BD=95=E5=9B=BE=E8=A1=A8=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=B9=B6=E6=B7=BB=E5=8A=A0=E8=AE=A2=E9=98=85=E5=88=86=E9=85=8D?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - UsageView: 恢复 ModelDistributionChart、TokenUsageTrend 图表和粒度选择器 - SubscriptionsView: 添加分配订阅时的用户和分组校验提示 - i18n: 添加 pleaseSelectUser/pleaseSelectGroup 翻译 --- frontend/src/i18n/locales/en.ts | 2 + frontend/src/i18n/locales/zh.ts | 2 + .../src/views/admin/SubscriptionsView.vue | 9 ++++- frontend/src/views/admin/UsageView.vue | 40 ++++++++++++++++--- 4 files changed, 46 insertions(+), 7 deletions(-) diff --git a/frontend/src/i18n/locales/en.ts b/frontend/src/i18n/locales/en.ts index ab576cc8..29328fe0 100644 --- a/frontend/src/i18n/locales/en.ts +++ b/frontend/src/i18n/locales/en.ts @@ -904,6 +904,8 @@ export default { failedToAssign: 'Failed to assign subscription', failedToExtend: 'Failed to extend subscription', failedToRevoke: 'Failed to revoke subscription', + pleaseSelectUser: 'Please select a user', + pleaseSelectGroup: 'Please select a group', revokeConfirm: "Are you sure you want to revoke the subscription for '{user}'? This action cannot be undone." }, diff --git a/frontend/src/i18n/locales/zh.ts b/frontend/src/i18n/locales/zh.ts index 4d3d00f5..cf4b91fc 100644 --- a/frontend/src/i18n/locales/zh.ts +++ b/frontend/src/i18n/locales/zh.ts @@ -981,6 +981,8 @@ export default { failedToAssign: '分配订阅失败', failedToExtend: '延长订阅失败', failedToRevoke: '撤销订阅失败', + pleaseSelectUser: '请选择用户', + pleaseSelectGroup: '请选择分组', revokeConfirm: "确定要撤销 '{user}' 的订阅吗?此操作无法撤销。" }, diff --git a/frontend/src/views/admin/SubscriptionsView.vue b/frontend/src/views/admin/SubscriptionsView.vue index dc05e57c..a0b78062 100644 --- a/frontend/src/views/admin/SubscriptionsView.vue +++ b/frontend/src/views/admin/SubscriptionsView.vue @@ -869,7 +869,14 @@ const closeAssignModal = () => { } const handleAssignSubscription = async () => { - if (!assignForm.user_id || !assignForm.group_id) return + if (!assignForm.user_id) { + appStore.showError(t('admin.subscriptions.pleaseSelectUser')) + return + } + if (!assignForm.group_id) { + appStore.showError(t('admin.subscriptions.pleaseSelectGroup')) + return + } submitting.value = true try { diff --git a/frontend/src/views/admin/UsageView.vue b/frontend/src/views/admin/UsageView.vue index 8d3fe19f..667f2a97 100644 --- a/frontend/src/views/admin/UsageView.vue +++ b/frontend/src/views/admin/UsageView.vue @@ -2,6 +2,21 @@
+ +
+
+
+ {{ t('admin.dashboard.granularity') }}: +
+