Направление работ: WebLk Код раздела: 5.2.2 Раздел: Заказы > Календарь > Горизонтальное отображение Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 17.07.26
1. Назначение
Раздел обеспечивает партнеру горизонтальное недельное отображение календаря заказов.
Партнер переходит к этому отображению из раздела WebLk 5.2 «Календарь» и просматривает дни недели и площадки по вертикали, а время и продолжительность заказов — по горизонтали.
Интерфейс использует данные объектов, площадок и заказов, определенные в Back-разделах 2.1 «Объекты партнеров», 2.2 «Площадки партнеров», 3.1 «Состав заказа» и 3.2 «Процессинг заказов».
2. Ключевые понятия
Горизонтальное отображение календаря — недельное представление календаря, в котором дни и площадки расположены по вертикали, а время — по горизонтали.
Календарь заказов — экран WebLk, на котором партнер просматривает события по времени, датам, объектам и площадкам партнерской зоны.
Площадка — помещение объекта, представленное отдельной строкой внутри дня недели.
Заказ — событие календаря, размещенное на временной шкале выбранного дня и площадки.
3. Scope
Входит
S1: Горизонтальное отображение календаря
S2: Состояние загрузки и адаптивы
Не входит
- WebLk 5.2 Календарь
- WebLk 5.3.2 Карточка заказа
- WebLk 5.4.1 Работа с заявкой и ее преобразование в заказ
- WebLk 5.5.2 Карточка абонемента
4. BR
Указаны в пункте 4 разделов Back: 2.1 Объекты партнеров, 2.2 Площадки партнеров, 3.1 Состав заказа и 3.2 Процессинг заказов.
5. Функциональные требования (UC + FR)
| ID | Сценарий | Функциональное требование | BR | Вес | Статус |
|---|---|---|---|---|---|
| S1: FR5.2.2-1 | Партнер в разделе WebLk 5.2 «Календарь» выбирает «Горизонтальное отображение» | Интерфейс открывает горизонтальное отображение календаря сразу в режиме «Неделя». Горизонтальное отображение доступно только для недельного вида. | 1 | Частично OQ5.2.2-4 | |
| S1: FR5.2.2-2 | Партнер работает с горизонтальным календарем | Партнеру остаются доступны выбор объекта и площадок, переход к предыдущей и следующей неделе, выбор периода, справочная информация, дополнительные действия и справочная строка состояний событий из WebLk 5.2 «Календарь». | 1 | Частично OQ5.2.2-5 | |
| S1: FR5.2.2-3 | Партнер просматривает горизонтальный календарь | Интерфейс показывает время по горизонтальной оси, дни выбранной недели по вертикальной оси и размещает события в строках соответствующих дней и временных интервалах. | 1 | Реализовано OQ5.2.2-9 | |
| S1: FR5.2.2-4 | Партнер просматривает календарь для нескольких площадок | Интерфейс добавляет внутри каждого дня отдельную строку для каждой выбранной площадки и размещает события в строке соответствующей площадки. Для одной площадки день отображается одной строкой. | 1 | Реализовано OQ5.2.2-9 | |
| S1: FR5.2.2-5 | Партнер просматривает выбранный объект и площадки | Интерфейс показывает название объекта и название единственной выбранной площадки либо количество выбранных площадок относительно общего количества в формате «2 из 5 площадок», «3 из 5 площадок». | 2 | Реализовано OQ5.2.2-9 | |
| S1: FR5.2.2-6 | Партнер просматривает события горизонтального календаря | Интерфейс размещает каждое событие на пересечении дня, площадки и времени и показывает продолжительность события вдоль временной шкалы. Состав данных и индикаторов события соответствует WebLk 5.2 «Календарь». | 1 | Частично OQ5.2.2-6 | |
| S2: FR5.2.2-7 | Данные горизонтального календаря загружаются | Интерфейс показывает состояние загрузки с плейсхолдерами панели управления, календарной сетки, строк площадок и блоков событий до отображения данных. | 2 | Частично OQ5.2.2-7 | |
| S2: FR5.2.2-8 | Партнер открывает горизонтальный календарь на экране другого размера | Интерфейс адаптирует страницу горизонтального отображения календаря, карточки заказов, связанные блоки и календарную таблицу для desktop, laptop, tablet и mobile. | 1 | Частично OQ5.2.2-8 |
6. Открытые вопросы
Сверка с кодом: BRD 5.2.2 v0.1 · репозиторий
musbooking_personal_account· commitd6f907bf/main· 26.07.26 · якорьfeatures.fsd/order-calendarСводка: 9 вопросов (Open 8 · Подтверждено 1) · строки OQ5.2.2-1…3 — вопросы дизайна, текст не изменялся, дописаны только новые колонки Маршрутизация без сверки с гайдбуком (гайдбук не передавался).
| ID | Источник | Вопрос | Кому | Статус | Рекомендации | Итоговое решение |
|---|---|---|---|---|---|---|
| OQ5.2.2-1 | Figma, фрейм «3 и более (Минимальный размер заказа, возможно откажемся)» | Нужно ли задавать блоку заказа минимальную ширину или его ширина всегда должна точно соответствовать продолжительности заказа на временной шкале? | Продукт / Дизайн | Open | ||
| OQ5.2.2-2 | Figma, адаптив 360 | Должен ли мобильный экран горизонтального календаря иметь заголовок «Информация об объекте», как в макете, или заголовок раздела календаря? | Продукт / Дизайн | Open | ||
| OQ5.2.2-3 | Figma, адаптивы 1920 и 360 | Какие связанные блоки должны отображаться рядом с календарем или под ним: «Заявки», «Абонементы» либо оба блока, и в каком порядке? | Продукт / Дизайн | Open | ||
| OQ5.2.2-4 | Код FR5.2.2-1 | Требование говорит: горизонтальное отображение открывается сразу в режиме «Неделя» и доступно только для недельного вида. В коде ни того, ни другого: тумблер горизонтального режима скрыт только в режиме «День», то есть в режиме «Месяц» он доступен, а сам горизонтальный вид содержит отдельные ветки поведения для месяца — значит, работа в месячном режиме предусмотрена намеренно. Автоматического переключения на «Неделю» при включении горизонтального режима нет. \ features.fsd/order-calendar/ui/Core/Controls.vue:45 (скрыт только для «День»), features.fsd/order-calendar/ui/Views/Horizontal.vue:503 и :525 (ветки для месячного режима) | Бизнес | Open | (А) Признать поддержку месяца целевой (рекоменд.) и переписать FR5.2.2-1: горизонтальный режим доступен для недели и месяца, текущий период при переключении сохраняется. Ограничивать до недели сейчас означало бы выключить уже работающее поведение. (Б) Если горизонтальный месяц не задумывался — скрывать тумблер и в режиме «Месяц» и переключать на «Неделю» при включении. Перед выбором стоит посмотреть, как горизонтальный месяц выглядит на стенде: если он нечитаемый, это аргумент за вариант Б. | |
| OQ5.2.2-5 | Код FR5.2.2-2 | Требование говорит: в горизонтальном отображении партнёру остаются доступны выбор объекта и площадок, переход по неделям, выбор периода, справочная информация, дополнительные действия и строка состояний событий. В коде панель управления в горизонтальном режиме та же самая, поэтому доступно ровно то, что описано в OQ5.2-1: выбор объектов и площадок, переключатели, стрелки и выбор даты работают, а дополнительных действий нет как таковых, справка доступна только на мобильном, при этом сам горизонтальный вид на мобильном не показывается (см. OQ5.2-8) — то есть до справки в горизонтальном режиме добраться нельзя вовсе. Строка состояний событий общая с обычным календарём. \ features.fsd/order-calendar/ui/Core/Root.vue:51-52 (горизонтальный вид под общей панелью), ui/Core/Controls.vue:32-58 | Бизнес | Open | Отдельного решения не требует — закрывается вместе с OQ5.2-1 и OQ5.2-2. Стоит только учесть при постановке: сочетание «справка только на мобильном» и «горизонтальный вид только на десктопе» делает справку в этом режиме недостижимой ни на одном экране — это довод в пользу возврата справки на десктоп. | |
| OQ5.2.2-6 | Код FR5.2.2-6 | Требование говорит: состав данных и индикаторов события в горизонтальном режиме соответствует разделу 5.2. В коде так и есть — и вместе с составом наследуются пробелы: у горизонтального события тот же механизм источника и индикаторов, что и у обычного, поэтому из пяти индикаторов информации о заказе выводится только комментарий (см. OQ5.2-4). Само размещение события по времени и продолжительности реализовано. \ features.fsd/order-calendar/ui/Events/HorizontalEvent.vue:341-346 (источник — тот же механизм), features.fsd/order-calendar/ui/composables/useHorizontal.ts (размещение по шкале) | Разработка | Open | Отдельный тикет не нужен — правка по OQ5.2-4 закроет и этот пункт, если делать её в общем механизме индикаторов, а не в одном компоненте. При постановке задачи явно укажите оба компонента события — обычный и горизонтальный, — чтобы правку не сделали только в одном. | |
| OQ5.2.2-7 | Код FR5.2.2-7 | Требование говорит: при загрузке показываются плейсхолдеры панели управления, календарной сетки, строк площадок и блоков событий. В коде скелетонов ровно два и они общие для всего календаря — панель и сетка; отдельных заглушек для строк площадок и блоков событий нет, как нет и отдельного скелетона под горизонтальный режим. \ pages/orders/calendar.vue:5-13 (два общих скелетона), shared.fsd/ui/skeletons/orders/ (в наборе нет заглушек строк и событий) | Разработка | Open | Решать вместе с OQ5.2-11 родительского раздела — там та же тема состояний загрузки. Отдельно уточните у дизайна, нужны ли настолько детальные заглушки: скелетон строк площадок имеет смысл, если сетка строится долго, а при быстром ответе он только мигает. | |
| OQ5.2.2-8 | Код FR5.2.2-8 | Требование говорит: горизонтальное отображение адаптируется для desktop, laptop, tablet и mobile. В коде на мобильном горизонтальный вид не показывается вообще: он выводится только при условии «не мобильный экран», а на узких экранах вместо него подставляется отдельный мобильный недельный вид. То есть адаптация для mobile не «другая вёрстка», а отсутствие режима. \ features.fsd/order-calendar/ui/Core/Root.vue:51-52 (условие !isMobile && isHorizontal), features.fsd/order-calendar/ui/Views/MobileWeek.vue (что показывается вместо) | Бизнес | Open | (А) Признать текущее поведение целевым (рекоменд.) и переписать FR5.2.2-8: на мобильном используется отдельный недельный вид, горизонтальный режим доступен от планшета и выше. Горизонтальная шкала времени на телефоне действительно почти нечитаема. (Б) Если горизонтальный режим нужен и на телефоне — это отдельная задача на адаптив со своим макетом. Ответ также закрывает вопрос OQ5.2.2-2 про заголовок мобильного экрана: если режима на мобильном нет, вопрос снимается. | |
| OQ5.2.2-9 | Код FR5.2.2-3, FR5.2.2-4, FR5.2.2-5 | Что подтверждено: горизонтальный календарь строит время по горизонтальной оси и дни по вертикальной, размещая события в строках дней; внутри дня для каждой выбранной площадки создаётся отдельная строка, а при одной выбранной площадке день остаётся одной строкой. Подпись выбора показывает название объекта и либо название единственной площадки, либо количество в формате «2 из 5 площадок». \ features.fsd/order-calendar/ui/Views/Horizontal.vue:5 и :61-65 (шкала времени и строки дней), features.fsd/order-calendar/ui/GridHorizontal/Row.vue и SubRow.vue (строки дней и площадок), components/UI/filters/FilterTreeMenu.vue:642 и :656 (подпись «N из M площадок») | — | Подтверждено | Расхождения нет. | — |