diff --git a/frontend/src/views/usage/composables/useUsageRecordsTable.ts b/frontend/src/views/usage/composables/useUsageRecordsTable.ts index 45b70cfce..95e8f73a4 100644 --- a/frontend/src/views/usage/composables/useUsageRecordsTable.ts +++ b/frontend/src/views/usage/composables/useUsageRecordsTable.ts @@ -19,7 +19,7 @@ interface UseUsageRecordsTableOptions { searchQuery: Ref timeRangeParams: Readonly> totalRecords: Ref - refreshTimeRangeEnd: () => void + latestTimeRangeParams: () => UsageTimeRangeParams } type UsageLoadScope = 'all' | 'table' @@ -30,6 +30,9 @@ export function useUsageRecordsTable(options: UseUsageRecordsTableOptions) { const records = shallowRef([]) const summary = shallowRef(emptySummary()) const insights = shallowRef(emptyInsights()) + const tableTimeRangeParams = shallowRef({ + ...options.timeRangeParams.value, + }) const refreshingList = shallowRef(false) const diagnosticDimension = shallowRef('model') const diagnosticLoading = shallowRef(false) @@ -51,8 +54,11 @@ export function useUsageRecordsTable(options: UseUsageRecordsTableOptions) { } const globalParams = scopedParams() + if (scope === 'all') { + tableTimeRangeParams.value = { ...globalParams } + } const tableParams = { - ...globalParams, + ...tableTimeRangeParams.value, ...filterParams(), } const resultPromise = getUsageRecords({ @@ -149,8 +155,8 @@ export function useUsageRecordsTable(options: UseUsageRecordsTableOptions) { if (refreshingList.value || loading.value) return refreshingList.value = true try { - options.refreshTimeRangeEnd() - await withMinimumDuration(() => loadUsageRecords('all')) + tableTimeRangeParams.value = options.latestTimeRangeParams() + await withMinimumDuration(() => loadUsageRecords('table')) } finally { refreshingList.value = false } diff --git a/frontend/src/views/usage/composables/useUsageTimeRange.ts b/frontend/src/views/usage/composables/useUsageTimeRange.ts index be19ccb32..02001f3c3 100644 --- a/frontend/src/views/usage/composables/useUsageTimeRange.ts +++ b/frontend/src/views/usage/composables/useUsageTimeRange.ts @@ -17,10 +17,15 @@ export function useUsageTimeRange(initialRange: UsageTimeRange = 'today') { rangeEnd.value = dayjs() } + function latestTimeRangeParams() { + return buildTimeRange(timeRange.value, dayjs()) + } + return { timeRange, timeRangeParams, refreshTimeRangeEnd, + latestTimeRangeParams, } } diff --git a/frontend/src/views/usage/index.vue b/frontend/src/views/usage/index.vue index ba7a03902..e27800c9d 100644 --- a/frontend/src/views/usage/index.vue +++ b/frontend/src/views/usage/index.vue @@ -36,7 +36,8 @@ const recordViewOptions = [ { label: '成功记录', value: 'success' }, { label: '错误排查', value: 'errors' }, ] -const { timeRange, timeRangeParams, refreshTimeRangeEnd } = useUsageTimeRange() +const { timeRange, timeRangeParams, refreshTimeRangeEnd, latestTimeRangeParams } = + useUsageTimeRange() const { page, @@ -65,7 +66,7 @@ const { searchQuery, timeRangeParams, totalRecords, - refreshTimeRangeEnd, + latestTimeRangeParams, }) const { showDetailModal, selectedUsageRecord, handleViewDetail } = useUsageRecordDetail({