Skip to content

Latest commit

 

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ActiveMap Reviewer — Префектура САО

Программа для массовой проверки заданий ActiveMap. Открывает задания одно за другим, показывает фотографии и поля, позволяет одним нажатием изменить статус прямо в системе.


Содержание


Что это и зачем

При проверке сотен заданий в ActiveMap приходится открывать каждое вручную, смотреть фото, переключать статус — это очень долго.

ActiveMap Reviewer делает это в 3 клика:

Запустил → Выбрал фильтры → Нажимаешь кнопки решений — статусы меняются автоматически

Возможности:

  • Загружает задания по выбранному виду работ, этапу и стадии
  • Список организаций загружается полностью (все записи), отсортирован по алфавиту
  • Показывает фотографии (с увеличением), описание, адрес, исполнителя, кастомные поля
  • Кнопки решений настраиваются: каждая несёт Этап и Стадию — оба значения уходят в систему одним нажатием
  • Горячие клавиши 1, 2, 3... для скоростной работы, Backspace — отменить последнее решение
  • Именованные пресеты кнопок решений — сохраните несколько наборов кнопок (для разных видов проверки) и переключайтесь между ними одним кликом
  • Несколько сотрудников могут работать параллельно — каждый видит актуальный список; задания, которые обработал коллега, помечаются при обновлении списка
  • Проверка не теряется при случайной перезагрузке страницы — при повторном входе предлагается продолжить с того же места
  • Работает полностью в браузере, данные идут напрямую на сервер sao.geofsm.ru

Как запустить

Способ 1 — готовая программа .exe ✅ (рекомендуется)

Не требует Python, ничего устанавливать не нужно.

  1. Перейдите в раздел Releases (справа на странице)
  2. Скачайте файл ActiveMapReviewer.exe
  3. Положите его в любую папку и запустите двойным кликом
  4. Браузер откроется автоматически на адресе http://localhost:8765

⚠️ Если Windows предупреждает об опасности — нажмите «Подробнее» → «Выполнить всё равно». Программа не содержит вирусов, предупреждение появляется для любого нового .exe без подписи.


Способ 2 — запуск через Python

Для тех, у кого уже установлен Python 3.8+.

  1. Скачайте reviewer.py и reviewer_html.html в одну папку

  2. Откройте командную строку (cmd) в этой папке

  3. Выполните:

    python reviewer.py
    
  4. Браузер откроется автоматически

⚠️ Не открывайте reviewer_html.html двойным кликом напрямую в браузере (адрес будет начинаться с file://) — это НЕ отдельная веб-страница, а интерфейс, которому нужен запущенный рядом reviewer.py (или .exe, Способ 1). Без него не работают ни вход, ни список заданий, ни фото, ни кнопки решений — почти всё выглядит "сломанным". Всегда запускайте через python reviewer.py или ActiveMapReviewer.exe и открывайте http://localhost:8765, который откроется сам.


Первый вход

После запуска откроется страница входа:

┌─────────────────────────────────┐
│  ПРЕФЕКТУРА САО   │  ActiveMap  │
├─────────────────────────────────┤
│                                 │
│  Логин:   [________________]    │
│  Пароль:  [________________]    │
│                                 │
│         [ Войти ]               │
└─────────────────────────────────┘

Введите логин и пароль от ActiveMap (те же, что используете на sao.geofsm.ru).

❗ Программа не хранит пароль — он используется только для получения токена сессии.


Экран настройки

После входа выберите параметры проверки:

Поле Что выбрать
Вид задания Тип работ, например «АБП и Бортовой камень (УМиК)»
Статус Нужный статус заданий, например «На утверждении»
Стадия «В работе», «Завершено» или «Все стадии»
Организация Подрядчик (опционально — для фильтрации)
Период Дата от/до (опционально)
Кнопки решений Настройте от 1 до 5 кнопок — каждая содержит Этап и Стадию

Как настроить кнопки решений

Каждая кнопка — это действие, которое вы будете применять к заданиям:

  • Название кнопки — как она будет выглядеть (например: «✅ Утверждено», «🔄 Доработка»)
  • Этап — на какой статус переключить задание в системе при нажатии
  • Стадия — «В работе» или «Завершено» (применяется одновременно с Этапом)

Пример настройки:

Кнопка Этап Стадия
✅ Утверждено Утверждено Завершено
🔄 Доработка На доработку В работе

Нажмите «Начать проверку» — загрузится список заданий.


Просмотр заданий

┌─────────────────────────────────────────────────────┐
│  Задание 12 / 91  #5814987                          │
│  ДТ\Фестивальная ул. 52, 52 к.1                     │
│  [АБП и Бортовой камень]  [В работе]  [16.06.2026]  │
├──────────────────────┬──────────────────────────────┤
│                      │  Район: Головинский           │
│   [  Фото  ]         │  Привязка: ДТ                 │
│                      │  Исполнитель: ...             │
│                      │                               │
│                      │  РЕШЕНИЕ:                     │
│                      │  [ 1. Утверждено ]            │
│                      │  [ 2. Доработка  ]            │
│                      │  [ ⏭ Пропустить ]             │
├──────────────────────┴──────────────────────────────┤
│      ← Назад               Вперёд →                 │
└─────────────────────────────────────────────────────┘

Работа с фотографиями:

  • Нажмите на миниатюру — увеличенное фото откроется в левой половине экрана, не закрывая рабочую область
  • Правая половина остаётся полностью рабочей: карточка задания, список всех фото, кнопки решений — всё видно и кликабельно, пока фото открыто
  • Можно кликать по другим миниатюрам справа, чтобы переключать фото слева, не закрывая просмотр
  • Кнопки решений (19) и пропуск (S/Ы) работают, даже когда фото открыто — решение можно принять, глядя на увеличенный снимок
  • Прокрутка мышью — зум (от 100% до 800%)
  • Перетаскивание зажатой кнопкой мыши — панорамирование
  • + / - на клавиатуре — зум
  • Escape — закрыть фото (на узких окнах фото открывается на весь экран, как раньше)

Принятие решения:

  • Нажмите нужную кнопку или клавишу 1, 2, 3...
  • Этап и Стадия автоматически изменятся в системе ActiveMap
  • Программа сразу перейдёт к следующему заданию

Навигация:

  • / — предыдущее/следующее задание
  • S или Ы — пропустить (без изменения статуса)

Горячие клавиши

Клавиша Действие
19 Кнопка решения № + автопереход к следующему заданию (работает и при открытом фото)
S / Ы Пропустить задание (без изменения статуса)
Backspace Отменить последнее решение — вернуться к тому заданию и выбрать заново
Предыдущее задание
Следующее задание
+ / = Увеличить фото
- Уменьшить фото
0 Сбросить зум фото
Escape Закрыть фото
Enter Войти (на экране входа)

Частые вопросы

❓ Программа не открывается / браузер не запускается

Откройте браузер вручную и перейдите по адресу: http://localhost:8765

❓ Написано «Задания не найдены»

Проверьте фильтры — возможно, выбранная комбинация вида работ + статус + стадия не даёт результатов. Попробуйте выбрать «Все стадии».

❓ Заданий больше 500 — не потеряются ли лишние?

Нет, начиная с v2.0.0 программа сама подгружает все страницы (500 за раз) без ограничения — предупреждение о лимите больше не появляется.

❓ Случайно обновил страницу (F5) посреди проверки — всё потерялось?

Нет. При следующем входе программа спросит «Продолжить проверку?» и восстановит список заданий, позицию и уже принятые решения. Учтите: это работает только пока вкладка браузера не закрыта — sessionStorage не переживает закрытие вкладки.

❓ Что означает бейдж «Решено другим сотрудником»?

Список заданий общий для всех, кто одновременно работает в программе. Если статус задания изменился без вашего участия (кто-то другой его обработал), после нажатия «🔄 Обновить» такое задание будет помечено этим бейджем.

❓ Статус не поменялся / ошибка отправки

Проверьте подключение к сети. Нажмите кнопку решения ещё раз — программа повторит отправку.

❓ Фотографии не загружаются

Иногда сервер отвечает медленно. Подождите несколько секунд или перейдите к следующему заданию и вернитесь обратно.

❓ Несколько сотрудников работают с одинаковыми заданиями

Так и задумано — каждый видит один и тот же список, но статусы меняются в системе сразу. Используйте фильтр по организации, чтобы разделить зоны ответственности.

❓ Можно ли вернуться к заданию, которое уже прошли?

Да. Нажмите «История» в верхней панели — там список всех решений текущей сессии, можно кликнуть на любое и изменить решение.


Сообщить об ошибке

Нашли баг или что-то работает неправильно?

  1. Нажмите кнопку 🐛 Ошибка в правом верхнем углу программы
  2. Опишите что произошло
  3. Нажмите «Отправить»

Отчёт сохранится в файл bug_reports.jsonl рядом с программой.

Также можно создать Issue на GitHub.


История версий

v2.0.1 — 06.07.2026

  • Кнопка решения без выбранного Этапа больше не пропадает молча — конкретная ошибка с её названием, подсветка в настройках
  • Пресеты теперь сохраняют набор кнопок решений, а не фильтры (перенесены в блок «Кнопки решений»)
  • Вторая запущенная копия программы больше не занимает порт 8765 незаметно — понятное сообщение вместо тихого дублирования старой/новой версии
  • Горячие клавиши не срабатывают, пока открыта модалка подтверждения; решение, не отправленное до случайной перезагрузки, больше не зависает навсегда
  • Сплит-экран фото больше не сворачивается в полноэкранный режим на окнах шире 700px

v2.0.0 — 06.07.2026

  • Увеличенное фото открывается в левой половине экрана вместо полноэкранного окна — карточка задания, список фото и кнопки решений остаются видны и рабочи справа
  • Настройки (фильтры, кнопки решений) сохраняются между запусками (localStorage)
  • Автоматическая постраничная загрузка заданий свыше 500 — без предупреждения о лимите
  • Экспорт результатов сессии в CSV
  • Кнопки решений блокируются на время отправки статуса — исключает случайную повторную отправку
  • Логирование в reviewer.log, устойчивая обработка ошибок авторизации и PATCH-запросов
  • Проверка не теряется при случайной перезагрузке страницы — предлагается восстановить сессию
  • Отмена последнего решения по Backspace
  • Именованные пресеты кнопок решений (несколько сохранённых наборов)
  • Статистика скорости («заданий/мин») на экране итогов
  • Бейдж «Решено другим сотрудником» при обновлении общего списка заданий
  • Toast-уведомления и модалка подтверждения вместо системных всплывающих окон браузера
  • Исправлены гонка авторизации, утечка токена через /debug, потеря истории при «Обновить» и ещё ряд ошибок, найденных полным аудитом (подробности — в CHANGELOG.md)

v1.2.0 — 22.06.2026

  • Кнопки решений теперь содержат Этап и Стадию — оба значения уходят в ActiveMap при нажатии
  • Список организаций загружается полностью (постраничная загрузка), отсортирован по алфавиту
  • Стадия в фильтре настройки стала обязательной

v1.1.0 — 16.06.2026

  • Новый профессиональный дизайн: тёмный топбар с золотым акцентом, брендинг Префектуры САО
  • Исправлено: фото не открывались при нажатии (ошибка в HTML-атрибуте onclick)

v1.0.0 — 15.06.2026

  • Первый стабильный релиз
  • Авторизация, фильтрация, просмотр заданий, кнопки решений, лайтбокс с зумом, баг-репорты

Полная история: CHANGELOG.md


Разработано для Префектуры Северного административного округа
ActiveMap: sao.geofsm.ru

About

Программа для проверки заданий округа из ActiveMap

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages