- установка зависимостей внутри проекта выволните команду
npm install
- запуска в отладочном режиме
npm run dev
Элементы интерфейса:
- Левое навигационное меню (отображается только на определённых страницах).
▫ Возможность сворачивания/разворачивания по клику на кнопку. - Таблица заявок, содержащая следующие колонки:
- Номер
- Статус
- Результат проверки
- Дата создания
- Действие (кнопки управления)
Для каждой строки отображаются две кнопки:
- 📝 Редактировать — переход на страницу
/edit?id=<id>. - 📤 Отправить — отправка данных на сервер.
Логика отображения кнопок:
- Если в
localStorageесть данные по заявке — отображается кнопка «Отправить». - Если данных нет — «Редактировать».
Элементы интерфейса:
- Заголовок страницы
- Список товаров (запрашивается с сервера с задержкой 2 с)
- Каждая позиция содержит поля:
- Название —
readonly - Количество —
input(редактируемое поле) - Цена —
input(редактируемое поле) - Цвет —
select(с ограниченным набором опций)
- Название —
Требования к загрузке данных:
- При первом открытии страницы выполняется запрос к
/api/productsс задержкой 2 секунды. - После получения данных — сохранение в
localStorage. - При повторном открытии данные берутся из
localStorage, без запроса к серверу.
Валидация при сохранении:
- Поля
inputпринимают только цифры и точку —^\d+(\.\d+)?$. - Поля
selectпринимают только допустимые опции. - Проверка выполняется после нажатия кнопки «Сохранить».
- При ошибке — поля подсвечиваются (
border-red). - Если все поля валидны:
- данные сохраняются в
localStorage; - выполняется переход обратно на страницу
/.
- данные сохраняются в
- При нажатии кнопки «Отправить» на главной странице:
- данные заявки отправляются на сервер —
POST /api/send; - после успешного ответа
localStorageочищается; - таблица обновляется, статусы сбрасываются.
- данные заявки отправляются на сервер —

