# Журнал командировок сотрудников ## Тип решения Статический сайт: index.html + style.css + script.js (ванильный JS, Tailwind через CDN). Публикация по постоянной ссылке. ## Задача Создать прототип журнала учёта командировок для визуализации списка поездок, статусов согласования и бюджетов. ## Кто пользуется Владелец процесса и его команда для ручного ведения и просмотра списка командировок в браузере. ## Что делает прототип 1. **Главный экран (Дашборд):** - Сверху: 4 карточки-счётчика (Всего, На согласовании, Согласовано, В поездке). - Ниже: строка поиска по ФИО или городу. - Ниже: фильтр статусов кнопками-чипсами (Все, На согласовании, Согласовано, Отказано). - Основная таблица: столбцы «Сотрудник», «Куда», «Даты» (ДД.ММ.ГГГГ), «Бюджет», «Статус», «Действия». - Кнопка «+ Добавить командировку» справа сверху. 2. **Форма (Модальное окно):** - Поля: ФИО сотрудника, Город назначения, Дата начала, Дата окончания, Бюджет (тенге), Статус (выпадающий список). - Кнопки: «Сохранить» (добавляет или обновляет запись), «Отмена». 3. **Логика работы:** - При нажатии на строку таблицы открывается форма для редактирования. - Кнопка удаления в строке вызывает подтверждение («Удалить запись?»), после чего запись исчезает, а в журнал изменений (внизу страницы или в консоли) пишется событие. - Данные сохраняются в LocalStorage браузера (не пропадают после обновления страницы F5). - Кнопка «Выгрузить в Excel» формирует CSV-файл текущей выборки. ## Демо-данные 5 записей с реалистичными данными: - Иванов А. (Алматы -> Астана, 10.10.2023, 150 000 тг, Согласовано) - Петров Б. (Шымкент -> Алматы, 12.10.2023, 80 000 тг, На согласовании) - Смирнов В. (Актобе -> Москва, 01.11.2023, 450 000 тг, В поездке) - Ахметов К. (Караганда -> Астана, 05.11.2023, 120 000 тг, Отказано) - Ли Д. (Уральск -> Атырау, 20.11.2023, 90 000 тг, На согласовании) ## Допущения - Валюта бюджета везде в тенге. - Статусы фиксированы: «На согласовании», «Согласовано», «Отказано», «В поездке», «Завершено». - Журнал изменений хранится в памяти браузера. ## Чего пока нет - Авторизации и разделения прав доступа. - Интеграции с 1С, SAP или кадровыми системами. - Отправки уведомлений в Telegram или на почту. ## Дизайн — дизайн-система 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`. Тема по умолчанию — светлая: ``; не ставь `dark` и не ставь `auto` (auto уходит в тёмную по системной теме). Переключатель темы можно оставить, но открываться страница должна светлой. Цвета, отступы и размеры — только токенами `var(--kt-ai-…)`, иконки — из `design-system/icons/kt-ai-lucide-sprite.svg`. Таблицы, списки, журналы, дашборды и формы собирай из готовых классов ДС (`design-system/COMPONENTS.md`), архетип экрана выбирай по `design-system/docs/ARCHETYPES.md`. Каркас страницы — из `design.md`, с обычными ``. Шаблон `design-system/templates/kt-ai-app-shell.html` целиком не копируй: его скрипты-загрузчики (`data-kt-ai-base-resolver`, `data-kt-ai-boot`) тянут CSS с корня сайта по абсолютному пути `/design-system/…`, а сайт публикуется в подпапке — стили не загрузятся. Подключай только файлы, которые реально лежат в `design-system/` (проверь `ls design-system`): файла `kt-ai-components.js` там нет. Свой стиль не выдумывай, Bootstrap/Tailwind/Material/Google Fonts не подключай, сырые hex-цвета не пиши. Папку `design-system/` закоммить вместе с проектом — иначе опубликованная страница останется без стилей.