1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00

add websockets suppor8

This commit is contained in:
MoonTestUse1
2025-01-05 02:27:24 +06:00
parent 143a8ca482
commit 7f94d3e7f8
2 changed files with 24 additions and 7 deletions

View File

@@ -84,10 +84,17 @@ def get_statistics(db: Session) -> dict:
.all()
)
# Формируем словарь статусов
by_status = {}
# Формируем словарь статусов с преобразованием в нижний регистр
by_status = {
'new': 0,
'in_progress': 0,
'completed': 0,
'rejected': 0
}
for status, count in status_counts:
by_status[status] = count
status_key = status.lower() if isinstance(status, str) else status.value.lower()
by_status[status_key] = count
# Возвращаем статистику в нужном формате
return {

View File

@@ -99,10 +99,15 @@ const fetchStatistics = async () => {
]);
console.log('StatisticsPanel: Received statistics:', statsResponse.data);
// Принудительно обновляем реактивное состояние
// Обновляем статистику
statistics.value = {
total: statsResponse.data.total,
by_status: statsResponse.data.by_status || {}
by_status: {
new: statsResponse.data.by_status?.new || 0,
in_progress: statsResponse.data.by_status?.in_progress || 0,
completed: statsResponse.data.by_status?.completed || 0,
rejected: statsResponse.data.by_status?.rejected || 0
}
};
chartData.value = chartsResponse.data;
} catch (error) {
@@ -119,10 +124,15 @@ const handleWebSocketMessage = (data: any) => {
console.log('StatisticsPanel: Old statistics:', statistics.value);
console.log('StatisticsPanel: Updating statistics:', data.statistics);
// Принудительно обновляем реактивное состояние
// Обновляем статистику
statistics.value = {
total: data.statistics.total,
by_status: data.statistics.by_status || {}
by_status: {
new: data.statistics.by_status?.new || 0,
in_progress: data.statistics.by_status?.in_progress || 0,
completed: data.statistics.by_status?.completed || 0,
rejected: data.statistics.by_status?.rejected || 0
}
};
console.log('StatisticsPanel: New statistics:', statistics.value);