diff --git a/frontend/src/composables/useStatistics.ts b/frontend/src/composables/useStatistics.ts index 05baba1..d1075cc 100644 --- a/frontend/src/composables/useStatistics.ts +++ b/frontend/src/composables/useStatistics.ts @@ -1,30 +1,30 @@ -import { ref, computed } from 'vue'; -import type { Statistics, StatisticCard } from '@/types/statistics'; +import { ref } from 'vue'; + +interface StatisticCard { + period: string; + label: string; + value: number | string; +} export function useStatistics() { - const statistics = ref(null); - - const statisticsCards = computed(() => { - if (!statistics.value) return []; - return [ - { period: 'total', label: 'Всего заявок', value: statistics.value.totalRequests }, - { period: 'resolved', label: 'Решено', value: statistics.value.resolvedRequests }, - { period: 'avgTime', label: 'Среднее время', value: statistics.value.averageResolutionTime } - ]; - }); + const statisticsCards = ref([]); const fetchStatistics = async () => { try { const response = await fetch('/api/admin/statistics?period=week'); if (!response.ok) throw new Error('Failed to fetch statistics'); - statistics.value = await response.json(); + const data = await response.json(); + statisticsCards.value = [ + { period: 'total', label: 'Всего заявок', value: data.totalRequests }, + { period: 'resolved', label: 'Решено', value: data.resolvedRequests }, + { period: 'avgTime', label: 'Среднее время', value: data.averageResolutionTime } + ]; } catch (error) { console.error('Error fetching statistics:', error); } }; return { - statistics, statisticsCards, fetchStatistics }; diff --git a/frontend/src/views/admin/DashboardView.vue b/frontend/src/views/admin/DashboardView.vue index 8938b5d..575a300 100644 --- a/frontend/src/views/admin/DashboardView.vue +++ b/frontend/src/views/admin/DashboardView.vue @@ -1,3 +1,4 @@ +```vue \ No newline at end of file + +``` \ No newline at end of file