zhurnal-ucheta-zayavok-2/brief.md

48 lines
4.6 KiB
Markdown
Raw 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.

# Журнал учёта заявок
## Тип решения
Статический сайт (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/` закоммить вместе с проектом — иначе опубликованная страница останется без стилей.