zhurnal-ucheta-zayavok/brief.md

3.6 KiB
Raw Permalink Blame History

Журнал учёта заявок

Тип решения

Статический сайт (index.html + style.css + script.js) на ванильном JS с сохранением данных в LocalStorage браузера.

Задача

Создать инструмент для ведения журнала заявок: фиксация того, кто подал, что нужно, сроки и текущий статус.

Кто пользуется

Сотрудники, подающие заявки, и администраторы, отслеживающие их исполнение.

Что делает прототип

  • Главный экран: Отображает таблицу со списком заявок. Сверху — счетчики (Всего, В работе, Выполнено, Отклонено) и строка поиска по тексту.
  • Управление статусами: Под строкой поиска — кнопки-чипсы для фильтрации таблицы по статусам.
  • Форма: Кнопка «Добавить заявку» открывает модальное окно. В форме поля: «Кто подал», «Что нужно», «Срок» (календарь), «Статус» (выпадающий список). Эта же форма используется для редактирования.
  • Действия в строке: В каждой строке таблицы кнопки «Изменить» и «Удалить».
  • Логика удаления: При нажатии «Удалить» появляется системное подтверждение. После подтверждения запись исчезает, а в скрытый журнал изменений (доступен по кнопке «История») пишется: дата, время, действие, кто удалил (имя из сессии или «Администратор» по допущению).
  • Экспорт: Кнопка «Скачать в Excel» формирует и скачивает CSV-файл с текущим содержимым таблицы.
  • Сохранение: Все данные сохраняются в памяти браузера (LocalStorage) — не пропадают после обновления страницы.
  • Формат дат: Отображение дат строго в формате ДД.ММ.ГГГГ.

Демо-данные

5 записей с реалистичными именами (Алия К., Ержан М.) и задачами (Закупка СИЗ, Ремонт серверной, Выдача пропуска). Статусы распределены: 2 «Новая», 2 «В работе», 1 «Выполнено». Даты в диапазоне текущего месяца.

Допущения

  • Пользователь работает с одного устройства/браузера (данные не синхронизируются между разными ПК).
  • Поле «Кто удалил» в журнале заполняется фиксированным значением «Текущий пользователь», так как реальной авторизации нет.

Чего пока нет

  • Общего сервера для работы команды с разных компьютеров.
  • Интеграции с почтой Lotus и корпоративным агентом Alem.
  • Авторизации через корпоративный аккаунт.