48 lines
4.6 KiB
Markdown
48 lines
4.6 KiB
Markdown
# Журнал учёта заявок
|
||
|
||
## Тип решения
|
||
Статический сайт (index.html + style.css + script.js) на ванильном JS с хранением состояния в LocalStorage браузера.
|
||
|
||
## Задача
|
||
Создать единый экран для ведения журнала заявок: регистрация подачи, отслеживание сроков и статусов, выгрузка отчётности.
|
||
|
||
## Кто пользуется
|
||
Сотрудники, подающие заявки, и ответственные за их обработку (демонстрация в Telegram-группе).
|
||
|
||
## Что делает прототип
|
||
- Отображает таблицу всех записей с полями: Кто подал, Что нужно, Срок, Статус.
|
||
- Показывает строку поиска по тексту заявки.
|
||
- Реализует фильтрацию по статусам через кнопки-чипсы (Все, Новая, В работе, Готово).
|
||
- Выводит счётчики сверху: всего записей и количество по каждому статусу.
|
||
- Предоставляет форму (модальное окно или разворачиваемый блок) для добавления и редактирования записей.
|
||
- Кнопка «Выгрузить в Excel» скачивает текущий список в формате CSV.
|
||
- Кнопка удаления записи вызывает подтверждение («Вы уверены?»), после чего удаляет запись и фиксирует действие в журнале изменений (время, действие, пользователь).
|
||
- Статусы и сущности названы строго по заявке: «заявка», без англицизмов.
|
||
- Даты отображаются и вводятся в формате ДД.ММ.ГГГГ.
|
||
- **Критично:** Данные сохраняются в LocalStorage браузера (не пропадают после обновления страницы F5).
|
||
- **Критично:** Удаление происходит только после явного подтверждения с записью лога.
|
||
|
||
## Демо-данные
|
||
5 записей. Имена: А. Иванов, Б. Серикбаев, В. Ли. Запросы: «Настройка ПК», «Доступ в серверную», «Закупка СИЗ». Статусы: «Новая», «В работе», «Закрыта». Даты: текущая неделя.
|
||
|
||
## Допущения
|
||
- Так как владелец не указал конкретных статусов, приняты стандартные: «Новая», «В работе», «Закрыта».
|
||
- Поле «Кто подал» заполняется вручную пользователем (авторизации нет).
|
||
|
||
## Чего пока нет
|
||
- Общего сервера (данные видны только в браузере конкретного пользователя).
|
||
- Интеграции с почтой Лотус и CRM.
|
||
- Личного кабинета.
|
||
|
||
## Дизайн — дизайн-система KT AI
|
||
|
||
Весь интерфейс собирай на дизайн-системе KT AI, которая уже лежит в папке проекта `design-system/`.
|
||
Перед первой строкой вёрстки прочитай `design.md` и `design-system/AGENTS.md` и следуй им.
|
||
Подключай файлы ДС относительными путями и в этом порядке: `./design-system/kt-ai-fonts.css`,
|
||
`./design-system/kt-ai-tokens.css`, `./design-system/kt-ai-components.css`, `./design-system/kt-ai-page.css`.
|
||
Цвета, отступы и размеры — только токенами `var(--kt-ai-…)`, иконки — из `design-system/icons/kt-ai-lucide-sprite.svg`.
|
||
Для таблиц, списков, журналов, дашбордов и очередей бери шаблон `design-system/templates/kt-ai-app-shell.html`
|
||
с конфигом по `design-system/docs/PRODUCT_CONTRACT.md`; архетип экрана выбирай по `design-system/docs/ARCHETYPES.md`.
|
||
Свой стиль не выдумывай, Bootstrap/Tailwind/Material/Google Fonts не подключай, сырые hex-цвета не пиши.
|
||
Папку `design-system/` закоммить вместе с проектом — иначе опубликованная страница останется без стилей.
|