BRD Widget 5.1 Дополнительные позиции к заказу
Направление работ: Widget Код раздела: 5.1 Раздел: Дополнения к заказу и подтверждение > Дополнительные позиции к заказу Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 21.07.26
1. Назначение
Раздел описывает блок дополнительных позиций к заказу в виджете на шаге оформления.
Клиент выбирает дополнительные позиции площадки, сгруппированные по категориям, и задает их количество в пределах наличия. Стоимость выбранных позиций входит в итоговую стоимость заказа и передается в создаваемый заказ.
Документ описывает только выбор позиций и их количества. Итоговая стоимость и расчет — раздел 4; скидки, комментарий и правила — раздел 5.2; создание заказа и расчет на бэкенде — Back 3 и Back 4.
Раздел зависит от Back: 4.2 Стоимость заказа и позиций и Back: 3.1 Состав заказа.
2. Ключевые понятия
Дополнительная позиция — товар или услуга площадки (например, оборудование или дополнительная услуга), которую клиент может добавить к заказу.
Группа позиций — категория, объединяющая позиции; в блоке отображается заголовком со сворачиванием и суммой по группе.
Наличие — доступное количество позиции, которое ограничивает выбираемое клиентом количество.
3. Scope
Входит
S1: Отображение позиций, сгруппированных по категориям
S2: Изменение количества позиции в пределах наличия
S3: Отображение суммы по группе и пустого и загрузочного состояний
S4: Передача выбранных позиций в расчет и создание заказа
Не входит
- Widget: 5.2 Дополнения к заказу и подтверждение > Скидки, комментарий и правила
- Widget: 4.1 Блок данных потенциального заказа > Отображение без входа в аккаунт
- Widget: 4.2 Блок данных потенциального заказа > Отображение после входа в аккаунт
- Back: 4.2 backend-логика стоимости позиций
- Back: 3.1 backend-логика состава заказа
4. BR
Указаны в пункте 4 разделов Back: 4.2 Стоимость заказа и позиций и Back: 3.1 Состав заказа.
5. Функциональные требования (UC + FR)
FR — functional requirements, что интерфейс должен уметь делать по определенному UC.
| ID | Сценарий | Функциональное требование | BR | Вес | Статус |
|---|---|---|---|---|---|
| S1: #FR5.1-1 | Клиент открывает блок позиций | Интерфейс показывает доступные позиции, сгруппированные по категориям; группы по умолчанию раскрыты, заголовок группы можно свернуть и развернуть. | 1 | ||
| S1: #FR5.1-2 | Клиент просматривает позицию | Интерфейс показывает по каждой позиции изображение с запасным изображением, название, цену {цена} ₽ и остаток В наличии {N}. | 1 | ||
| S2: #FR5.1-3 | Клиент меняет количество позиции | Интерфейс позволяет менять количество кнопками − и +; уменьшение недоступно при количестве 0, увеличение недоступно при достижении остатка. | 1 | ||
| S2: #FR5.1-4 | Клиент убирает позицию | Интерфейс при количестве 0 считает позицию невыбранной и не включает ее в заказ. | 2 | ||
| S3: #FR5.1-5 | Клиент видит сумму по группе | Интерфейс показывает в заголовке группы сумму по выбранным позициям группы, если она больше 0. | 2 | ||
| S3: #FR5.1-6 | Позиции загружаются или отсутствуют | Интерфейс показывает состояние загрузки Загрузка позиций... и пустое состояние Нет доступных позиций. | 2 | ||
| S4: #FR5.1-7 | Клиент продолжает с выбранными позициями | Интерфейс передает выбранные позиции и их количества в расчет итоговой стоимости и в создаваемый заказ. | 1 |
6. Открытые вопросы
| ID | Источник | Вопрос | Кому | Статус |
|---|---|---|---|---|
| #OQ5.1-1 | Код | В виджете количество позиции ограничивается наличием только на клиенте (кнопка + блокируется по остатку), при создании заказа позиции передаются без повторной проверки остатка. Подтвердить, где остаток enforce-ится при создании заказа. \ features/checkout-positions/ui/CheckoutPositionItem.vue:31, widgets/order-form/model/useOrderFormStore.ts:255-294 | Разработка | Open |