klg-asutk-app/docs/ДИАГНОСТИКА_ДАННЫХ.md
Yuriy 0150aba4f5 Consolidation: KLG ASUTK + PAPA integration
- Unify API: lib/api.ts uses /api/v1, inbox uses /api/inbox (rewrites)
- Remove localhost refs: openapi, inbox page
- Add rewrites: /api/inbox|tmc -> inbox-server, /api/v1 -> FastAPI
- Add stub routes: knowledge/insights, recommendations, search, log-error
- Transfer from PAPA: prompts (inspection, tmc), scripts, supabase, data/tmc-requests
- Fix inbox-server: ORDER BY created_at, package.json
- Remove redundant app/api/inbox/files route (rewrites handle it)
- knowledge/ in gitignore (large PDFs)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 17:18:31 +03:00

110 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Диагностика проблемы с отображением данных
## ✅ Текущий статус
В консоли браузера:
- ✅ Нет ошибок загрузки данных
- ⚠️ Предупреждения React Router (не критично)
- ⚠️ 404 для favicon.ico (не критично)
## 🔍 Проверка данных
### Шаг 1: Проверка через консоль браузера
Выполните в консоли браузера (не в терминале):
```javascript
// Проверка загрузки данных через API
fetch('/api/v1/aircraft', {
headers: { 'Authorization': 'Bearer dev' }
})
.then(r => {
console.log('✅ Status:', r.status);
if (!r.ok) throw new Error(`HTTP ${r.status}`);
return r.json();
})
.then(data => {
console.log('✅ Всего ВС:', data.length);
if (data.length > 0) {
const first = data[0];
console.log('✅ Первое ВС:', first.registration_number);
console.log('operator_name:', first.operator_name || '❌ ОТСУТСТВУЕТ');
console.log('serial_number:', first.serial_number || '❌ ОТСУТСТВУЕТ');
// Проверка всех ВС
const withOperator = data.filter(a => a.operator_name).length;
const withSerial = data.filter(a => a.serial_number).length;
console.log(`✅ ВС с operator_name: ${withOperator}/${data.length}`);
console.log(`✅ ВС с serial_number: ${withSerial}/${data.length}`);
// Показываем первые 3 ВС для проверки
console.log('Первые 3 ВС:');
data.slice(0, 3).forEach((a, i) => {
console.log(` ${i+1}. ${a.registration_number}: operator=${a.operator_name || 'НЕТ'}, serial=${a.serial_number || 'НЕТ'}`);
});
}
})
.catch(err => console.error('❌ Ошибка:', err));
```
### Шаг 2: Проверка Network tab
1. Откройте вкладку **Network** в DevTools
2. Обновите страницу (F5)
3. Найдите запрос `aircraft`
4. Проверьте:
- **Status**: должен быть `200 OK`
- **Response**: кликните на запрос → вкладка Response → должен быть JSON с данными
### Шаг 3: Проверка отображения в таблице
1. Перейдите на страницу "Воздушные суда"
2. Проверьте консоль - должны появиться логи (в dev режиме):
- `✅ Загружено ВС: 51`
- `✅ Первое ВС: {registration_number: "RA-12345", ...}`
3. Проверьте таблицу - должны отображаться:
- Колонка "Оператор" с названиями организаций
- Колонка "Серийный номер" с номерами
## 🐛 Если данные не отображаются
### Проблема 1: Данные приходят, но не отображаются в таблице
**Решение:**
1. Очистите кэш: `Cmd + Shift + R` (Mac) или `Ctrl + Shift + R` (Windows)
2. Проверьте консоль на ошибки рендеринга
3. Проверьте вкладку **Elements** - есть ли таблица с данными
### Проблема 2: Данные не приходят
**Решение:**
1. Проверьте Network tab - есть ли запрос к `/api/v1/aircraft`
2. Проверьте Status - должен быть `200 OK`
3. Проверьте Response - должен быть JSON массив
4. Проверьте Headers - должен быть `Authorization: Bearer dev`
### Проблема 3: Ошибка CORS
**Решение:**
1. Проверьте консоль на ошибки CORS
2. Проверьте настройки CORS в backend (должно быть `allow_origins=["*"]`)
## 📊 Ожидаемый результат
После выполнения кода в консоли должно быть:
- ✅ Status: 200
-Всего ВС: 51
-ВС с operator_name: 51/51
-ВС с serial_number: 51/51
- ✅ Первое ВС: RA-12345
- ✅ operator_name: Аэрофлот - Российские авиалинии
- ✅ serial_number: 08-001
## 🔧 Дополнительная диагностика
Если проблема сохраняется:
1. Выполните код проверки в консоли
2. Пришлите результат выполнения
3. Пришлите скриншот Network tab с запросом aircraft
4. Пришлите скриншот таблицы (если она отображается)