Доделал страницу с Кубсатами

This commit is contained in:
2025-11-20 10:50:27 +03:00
parent 66e1929978
commit 1d1c42a8e7
6 changed files with 171 additions and 139 deletions

View File

@@ -54,8 +54,23 @@
- Количество точек автоматически пересчитывается при удалении строк
- Таблица имеет фиксированную высоту с прокруткой и sticky заголовок
### Выделение по дате
Строки, у которых дата ГЛ попадает в выбранный диапазон дат, **выделяются зеленым цветом**. При этом все объекты остаются в таблице, независимо от фильтра по дате.
### Двухэтапная фильтрация
Фильтрация происходит в два этапа:
**Этап 1: Фильтрация по дате ГЛ**
- Если задан диапазон дат (от/до), отображаются только те точки, у которых дата ГЛ попадает в этот диапазон
- Точки без даты ГЛ исключаются, если фильтр по дате задан
- Если фильтр не задан, показываются все точки
**Этап 2: Фильтрация по количеству точек**
- Применяется к уже отфильтрованным по дате точкам
- Варианты:
- "Все" - показываются источники с любым количеством точек
- "1" - только источники с ровно 1 точкой (после фильтрации по дате)
- "2 и более" - только источники с 2 и более точками (после фильтрации по дате)
**Важно**: Фильтр по количеству точек учитывает только те точки, которые прошли фильтрацию по дате!
### Управление данными в таблице
@@ -63,10 +78,7 @@
- **Кнопка с иконкой корзины** (для каждой точки) - удаляет конкретную точку (ObjItem) из таблицы
- **Кнопка с иконкой заполненной корзины** (для первой точки источника) - удаляет все точки источника (Source) из таблицы
**Кнопка "Оставить только подходящие по дате":**
- Удаляет из таблицы все точки, которые НЕ подходят по заданному диапазону дат
- Оставляет только зеленые (выделенные) строки
- Запрашивает подтверждение перед удалением
**Важно**: Все удаления происходят только из таблицы, **БЕЗ удаления из базы данных**. Это позволяет пользователю исключить ненужные записи перед экспортом.
@@ -83,7 +95,7 @@
8. **Обратный канал, МГц** - частота источника
9. **Перенос** - из объекта Transponder
10. **Получено координат, раз** - количество точек (ObjItem), оставшихся в таблице для данного источника
11. **Дата** - пока заполняется как "-"
11. **Период получения координат** - диапазон дат ГЛ в формате "5.11.2025-15.11.2025" (от самой ранней до самой поздней даты среди точек источника). Если все точки имеют одну дату, показывается только одна дата.
12. **Зеркала** - все имена зеркал через перенос строки (из оставшихся точек)
13. **СКО, км** - не заполняется
14. **Примечание** - не заполняется
@@ -123,14 +135,13 @@ queryset = Source.objects.select_related('info').prefetch_related(
1. Откройте страницу "Кубсат" из навигационного меню
2. Выберите нужные фильтры (спутники, поляризация, частота и т.д.)
3. Опционально укажите диапазон дат для выделения подходящих точек
4. Нажмите "Применить фильтры"
5. В таблице отобразятся все точки (ObjItem) сгруппированные по источникам (Source)
6. Точки, подходящие по дате, будут выделены зеленым цветом
7. Опционально нажмите "Оставить только подходящие по дате" для быстрого удаления неподходящих точек
8. При необходимости удалите отдельные точки или целые объекты кнопками в колонке "Действия"
9. Нажмите "Экспорт в Excel" для скачивания файла с оставшимися данными
10. Форма не сбрасывается после экспорта - можно продолжить работу
3. Опционально укажите диапазон дат для фильтрации точек по дате ГЛ (Этап 1)
4. Опционально выберите количество точек (1 или 2+) - применяется к отфильтрованным по дате точкам (Этап 2)
5. Нажмите "Применить фильтры"
6. В таблице отобразятся точки (ObjItem) сгруппированные по источникам (Source)
7. При необходимости удалите отдельные точки или целые объекты кнопками в колонке "Действия"
8. Нажмите "Экспорт в Excel" для скачивания файла с оставшимися данными
9. Форма не сбрасывается после экспорта - можно продолжить работу
## Примечания
@@ -138,5 +149,6 @@ queryset = Source.objects.select_related('info').prefetch_related(
- Удаление точек/объектов из таблицы не влияет на базу данных
- Экспортируются только оставшиеся в таблице точки
- Координаты в Excel рассчитываются как инкрементальное среднее из оставшихся точек
- Фильтр по дате не скрывает объекты, а только выделяет их цветом
- Фильтр по дате скрывает неподходящие точки (не показывает их в таблице)
- Каждая строка таблицы = одна точка (ObjItem), строки группируются по источникам (Source)
- Количество точек в колонке "Кол-во точек" автоматически пересчитывается при удалении строк