feat(dashboard): add per-user drill-down for group, model, and endpoint distributions

Click on a group name, model name, or endpoint name in the distribution
tables to expand and show per-user usage breakdown (requests, tokens,
actual cost, standard cost).

Backend: new GET /admin/dashboard/user-breakdown API with group_id,
model, endpoint, endpoint_type filters.
Frontend: clickable rows with expand/collapse sub-table in all three
distribution charts.
This commit is contained in:
erio
2026-03-16 21:31:52 +08:00
parent f42c8f2abe
commit 4b41e898a4
16 changed files with 474 additions and 74 deletions

View File

@@ -246,6 +246,8 @@
:loading="chartsLoading"
:ranking-loading="rankingLoading"
:ranking-error="rankingError"
:start-date="startDate"
:end-date="endDate"
@ranking-click="goToUserUsage"
/>
<TokenUsageTrend :trend-data="trendData" :loading="chartsLoading" />

View File

@@ -18,12 +18,16 @@
:model-stats="modelStats"
:loading="chartsLoading"
:show-metric-toggle="true"
:start-date="startDate"
:end-date="endDate"
/>
<GroupDistributionChart
v-model:metric="groupDistributionMetric"
:group-stats="groupStats"
:loading="chartsLoading"
:show-metric-toggle="true"
:start-date="startDate"
:end-date="endDate"
/>
</div>
<div class="grid grid-cols-1 gap-6 lg:grid-cols-2">
@@ -37,6 +41,8 @@
:show-source-toggle="true"
:show-metric-toggle="true"
:title="t('usage.endpointDistribution')"
:start-date="startDate"
:end-date="endDate"
/>
<TokenUsageTrend :trend-data="trendData" :loading="chartsLoading" />
</div>