Направление работ: WebLk Код раздела: 3.1 Раздел: Профиль партнёра > Главный экран Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 22.07.26
1. Назначение
Данный раздел обеспечивает партнеру интерфейс главного экрана профиля партнерской зоны.
Партнер видит сводку по тарифу, доступу и комиссии, сведения о партнерской зоне, владельце, сотрудниках, инструментах и интеграциях.
Главный экран служит точкой перехода в соседние разделы профиля партнера и позволяет сменить активную партнерскую зону без повторного входа.
Раздел зависит от Back: 1.4 Партнеры и Back: 2.8 Настройки партнерской зоны. Ограничения по видимости и доступности отдельных действий используются только как состояние интерфейса.
2. Ключевые понятия
Главный экран профиля партнера — стартовый экран раздела WebLk 3.1, на котором партнер видит сводную информацию по текущей партнерской зоне и переходит в соседние подразделы профиля.
Партнерская зона — обособленная сущность партнера в системе, к которой относятся объекты, площадки, услуги, сотрудники, платежные и операционные настройки.
Тариф и доступ — отображаемые на главном экране параметры подключенного тарифа, срока доступа, комиссии и суммы к оплате. Подробная работа с тарифом и оплатой описывается в разделе 3.2 Продление доступа.
Соседний раздел профиля партнера — раздел WebLk профиля партнера, в который пользователь переходит из карточки или действия на главном экране.
3. Scope
Входит
S1: Просмотр главного экрана профиля партнера и переходы в соседние разделы S2: Смена партнерской зоны S3: Состояния интерфейса
Не входит
- WebLk 3.2 Продление доступа — подробная работа с тарифом, оплатой доступа, комиссией и расширением доступа
- WebLk 3.3 Основные настройки — редактирование профиля компании и основных настроек партнерской зоны
- WebLk 3.6 Сотрудники и доступ — управление сотрудниками, ролями и правами доступа
- WebLk 3.7 Интеграции — настройка внешних сервисов и интеграций
- WebLk 3.8 Инструменты — настройка инструментов партнерской зоны
- Backend/API-контракты, структура БД и техническая реализация
4. BR
Указаны в пункте 4 разделов Back: 1.4 Партнеры и 2.8 Настройки партнерской зоны. Ограничения интерфейса по правам пользователя используются точечно по правилам Back: 1.2 Организация доступа к системе.
5. Функциональные требования (UC + FR)
FR – functional requirements, что интерфейс должен уметь делать по определенному UC.
| ID | Cценарий | Функциональное требование | BR | Вес | Статус |
|---|---|---|---|---|---|
| S1: #FR3.1-1 | Партнер открывает главный экран профиля партнера | Интерфейс открывает главный экран профиля партнера в контексте текущей партнерской зоны и показывает блок тарифа, блок партнерской зоны с основной информацией, блок сотрудников, блок инструментов и блок интеграций. | 1 | Реализовано | |
| S1: #FR3.1-2 | Партнер просматривает тариф и условия доступа | Интерфейс показывает название тарифа, стоимость доступа, комиссию, период начисления, сумму к оплате, город, сферы, срок доступа и условия начисления комиссии по источникам заказа. | 1 | Не реализовано \ #OQ3.1-1 \ #OQ3.1-2 | |
| S1: #FR3.1-3 | Партнер раскрывает блок «В тариф входит» | Интерфейс раскрывает блок «В тариф входит» и показывает состав тарифа с лимитами по управлению, контенту, заказам, отчетам, объектам, площадкам, заказам и заявкам, сотрудникам. | 1 | Не реализовано \ #OQ3.1-1 \ #OQ3.1-12 | |
| S1: #FR3.1-4 | Партнер переходит к продлению доступа | Интерфейс позволяет перейти из блока тарифа или оплаты в раздел 3.2 Продление доступа для подробной работы с тарифом, оплатой доступа, комиссией и расширением доступа. | 1 | Частично \ #OQ3.1-7 | |
| S1: #FR3.1-5 | Партнер просматривает данные партнерской зоны | Интерфейс показывает карточку партнерской зоны с названием, логотипом, типом кабинета, владельцем, телефоном и email компании и владельца, а также позволяет перейти в раздел 3.3 Основные настройки. | 1 | Частично \ #OQ3.1-9 | |
| S1: #FR3.1-6 | Партнер просматривает раздел «Сотрудники и доступ» | Интерфейс показывает раздел «Сотрудники и доступ» с группами сотрудников и количеством пользователей по ролям, а также позволяет перейти в раздел 3.6 Сотрудники и доступ. | 1 | Реализовано | |
| S1: #FR3.1-7 | Партнер просматривает раздел «Инструменты» | Интерфейс показывает раздел «Инструменты» с доступными инструментами партнерской зоны, включая настройку работы виджета и телеграм-бота, а также позволяет перейти в раздел 3.8 Инструменты. | 1 | Частично \ #OQ3.1-5 \ #OQ3.1-10 | |
| S1: #FR3.1-8 | Партнер просматривает раздел «Интеграции» | Интерфейс показывает раздел «Интеграции» с внешними сервисами и визуальными признаками подключенных сервисов, а также позволяет перейти в раздел 3.7 Интеграции. | 1 | Частично \ #OQ3.1-3 | |
| S2: #FR3.1-9 | Партнер открывает список партнерских зон | Фундаментальное правило для всей платформы партнерской зоны. Интерфейс показывает доступные пользователю партнерские зоны и позволяет выбрать другую партнерскую зону для работы в кабинете. | 1 | Реализовано | |
| S2: #FR3.1-10 | Партнер меняет активную партнерскую зону | Фундаментальное правило для всей платформы партнерской зоны. Интерфейс применяет выбранную партнерскую зону как активный контекст и обновляет главный экран профиля партнера данными выбранной партнерской зоны. | 1 | Частично \ #OQ3.1-8 | |
| S2: #FR3.1-11 | Партнер выходит из кабинета из списка партнерских зон | Фундаментальное правило для всей платформы партнерской зоны. Интерфейс показывает подтверждение выхода из личного кабинета и позволяет подтвердить выход или вернуться к текущему экрану без завершения сессии. | 1 | Не реализовано \ #OQ3.1-6 | |
| S3: #FR3.1-12 | Партнер открывает главный экран в режиме только просмотра | Интерфейс показывает доступные для просмотра данные главного экрана, скрывает действие оплаты и не запускает сценарий оплаты. Подробности ограничений раскрываются в разделе 3.2 Продление доступа. | 2 | Не реализовано \ #OQ3.1-4 | |
| S3: #FR3.1-13 | Партнер открывает главный экран без доступа к отдельному подразделу | Интерфейс показывает заглушку недоступного подраздела вместо его содержимого, если пользователь не может видеть или редактировать этот подраздел. Подробности ограничений раскрываются в разделе 3.6 Сотрудники и доступ. | 2 | Не реализовано \ #OQ3.1-4 | |
| S3: #FR3.1-14 | Партнер открывает главный экран с подключенным тарифом без заполненной партнерской зоны | Интерфейс показывает подключенный тариф и оплату, карточку партнерской зоны с базовыми данными владельца, пустое состояние сотрудников с возможностью добавления сотрудников и действие настройки профиля компании. | 2 | Не реализовано \ #OQ3.1-4 | |
| S3: #FR3.1-15 | Партнер открывает главный экран на разных устройствах | Интерфейс адаптирует страницу главного экрана профиля партнера, карточки тарифа, партнерской зоны, сотрудников, инструментов, интеграций и состояния интерфейса для desktop, laptop и tablet и mobile. | 2 | Частично \ #OQ3.1-11 |
6. Открытые вопросы
| ID | Источник | Вопрос | Кому | Статус | Рекомендации |
|---|---|---|---|---|---|
| #OQ3.1-1 | Код FR3.1-2, FR3.1-3 | Требование говорит: главный экран показывает тариф, стоимость, комиссию, период, сумму к оплате, срок доступа и состав тарифа с лимитами. В коде весь блок тарифа/комиссии/лимитов — статический мок: значения захардкожены («Базовый: 10 000 ₽/мес», комиссия 1500/500 ₽, лимиты 15/15, «Безлимит»), к реальной зоне не привязан. Условия начисления комиссии тоже захардкожены (Репетиционные базы / Музыкальные классы, 100 ₽, 15%). \ useTariffMock.ts:28-74; ExtendingAccessWidget.vue:108-251,260 | Бизнес (Герман) | Open | Партнёр видит чужие цифры — это риск не только косметический. Решение: показывать реальные данные тарифа на 3.1 уже сейчас или это допустимая заглушка до 3.2. (А, рекоменд.) признать блок заглушкой и ограничить scope 3.1 «вёрсткой + переходом в 3.2», живые данные описать и внедрить в 3.2; (Б) если 3.1 должен показывать реальные цифры — завести FR на источник данных тарифа и снять мок. Данные тарифа — Back 1.4 (BR1.4-9) / 8.3.1. |
| #OQ3.1-2 | Код FR3.1-2 | Требование говорит: интерфейс показывает город и сферы. В коде ни город, ни сферы на главном экране не выводятся ни в одном из блоков. \ pages/index.vue; components/dashboard/*; ExtendingAccessWidget.vue | Бизнес (Герман) | Open | Решение: оставить их в требовании 3.1 или перенести. (А, рекоменд.) убрать город/сферы из FR3.1-2 — они относятся к настройкам зоны (3.3), а на 3.1 остаётся тариф/доступ/комиссия; (Б) если нужны на главном экране — добавить их в карточку зоны. |
| #OQ3.1-3 | Код FR3.1-8 | Требование говорит: блок «Интеграции» показывает внешние сервисы с визуальными признаками подключённых. В коде показан фиксированный набор иконок (yclients, gcalendar, appevent, telegram) без признака «подключено/не подключено» — статичная вёрстка, данные не участвуют. \ Integrations.vue:9-40 | Бизнес (Герман) | Open | Решение по составу сервисов и нужен ли индикатор подключения на 3.1. (А, рекоменд.) зафиксировать, что на 3.1 интеграции — только превью-переход в 3.7 без статуса, и снять из FR3.1-8 слова «визуальные признаки подключённых сервисов»; (Б) подключить реальный статус сервисов (data-driven индикатор). |
| #OQ3.1-4 | Код FR3.1-12, FR3.1-13, FR3.1-14 | Требование говорит: три состояния S3 — только просмотр (скрыть оплату), заглушка недоступного подраздела, пустая зона с действиями «добавить сотрудников» и «настроить профиль». В коде ни одно не реализовано: middleware обрабатывает только аутентификацию, проверок прав/режима просмотра на главном экране нет; заглушек подразделов нет; пустого состояния сотрудников нет (при пустом списке показывается «Загрузка данных…»). \ middleware/auth.global.ts:1-21; Staff.vue:10-12 | Бизнес (Герман) | Open | Все три веса 2 — подтвердить, что вне текущего релиза. (А, рекоменд.) оставить FR3.1-12/13/14 как беклог с пометкой «не в MVP 3.1»; (Б) приоритизировать хотя бы режим «только просмотр» (FR3.1-12) — он влияет на безопасность оплаты. Оговорка: права на фронте опираются на Back 1.2 / 1.4.1, где проверка доступа сейчас заглушка — реализация FR3.1-13 упрётся в это. |
| #OQ3.1-5 | Код FR3.1-7 | Проблема: карточка «Настроить телеграм бот» нефункциональна: нет обработчика клика, подзаголовок — плейсхолдер «Текст чтобы понять что это дает». \ Tools.vue:22-30 | Бизнес (Герман) | Open | Плейсхолдер-текст виден партнёру — это уже дефект вне зависимости от решения. (А, рекоменд.) скрыть нерабочую карточку до готовности функции; (Б) оставить как «скоро» с явным disabled-состоянием и без плейсхолдер-текста. Решение продукта, но текст-заглушку убрать в любом случае. |
| #OQ3.1-6 | Код FR3.1-11 | Требование говорит: выход из кабинета показывает подтверждение и позволяет подтвердить или вернуться без завершения сессии. В коде кнопка «Выход» в дропдауне зон вызывает logout() немедленно — без диалога; сессия завершается сразу, вернуться нельзя. \ ToolBar.vue:10-18,50-63; app.fsd/session/logout.ts:5-9 | Разработка | Закрывает PM | FR веса 1 задаёт поведение однозначно, продуктового выбора нет (случайный клик = потеря сессии). Закрываю сам: добавить модалку подтверждения перед logout() (подтвердить / вернуться) → тикет в Bitrix. Если продукт сознательно хочет выход в один клик — тогда правка FR3.1-11. |
| #OQ3.1-7 | Код FR3.1-4 | Требование говорит: переход в 3.2 возможен из блока тарифа или оплаты. В коде переход есть только через toggle-кнопку заголовка блока; кнопки «Продлить» и «Оплатить» в блоке тарифа/оплаты — без обработчиков (@click отсутствует), никуда не ведут. \ ExtendingAccess.vue:6-11,23-25; ExtendingAccessWidget.vue:38,71,102 | Разработка | Закрывает PM | Кнопки выглядят рабочими, но мертвы — прямое расхождение с FR3.1-4. Закрываю сам: навесить на «Продлить»/«Оплатить» переход в 3.2 → тикет в Bitrix. Если переход только через заголовок допустим — уточнить формулировку FR3.1-4 (правка BRD). |
| #OQ3.1-8 | Код FR3.1-10 | Требование говорит: смена зоны применяет её как активный контекст и обновляет главный экран данными выбранной зоны. В коде контекст меняется (setPartnerZoneId → cookie + стор), карточка зоны реактивна. Но блок «Сотрудники» грузится только onMounted и лишь при пустом списке — при переключении зоны данные остаются от прежней; тариф — мок и не меняется. Экран обновляется частично. \ useChangePartnerZoneDropdown.ts:31-34; stores/global.ts:83-86; Staff.vue:72-81 | Разработка | Закрывает PM | Показ данных чужой зоны после переключения — дефект, продуктового выбора нет. Закрываю сам: сделать загрузку сотрудников реактивной к текущей зоне (watch вместо разового onMounted); как вариант — централизованно инвалидировать сторы при смене зоны → тикет в Bitrix. Тариф не обновляется по причине мока — см. OQ3.1-1. |
| #OQ3.1-9 | Код FR3.1-5 | Проблема: «Основой телефон» (опечатка вместо «Основной») выводит телефон владельца, а не телефон компании; email компании берётся из контактной информации. Источники для «основного телефона» и владельца совпадают → несогласованность контракта данных карточки. \ Settings.vue:19,78-84,95 | Бизнес/Разработка | Open | Требование просит телефон и компании, и владельца — сейчас в оба поля идёт одно значение. (А, рекоменд.) выводить в «Основной телефон» телефон компании (контактная информация зоны), а не владельца; (Б) переименовать поле, если по продукту это действительно телефон владельца. Опечатку «Основой» исправить в любом случае — беру на себя. Состав контактов зоны — Back 1.4 (BR1.4-2). |
| #OQ3.1-10 | Код FR3.1-7 | Требование говорит: из блока «Инструменты» можно перейти в раздел 3.8. В коде перехода в 3.8 нет: заголовок блока без toggle-кнопки, единственный переход ведёт в настройку виджета, маршрута-индекса раздела 3.8 не существует. \ Tools.vue:1-6,11; pageRoutes.ts:52-57 | Бизнес/Разработка | Open | (А, рекоменд.) добавить toggle-кнопку в заголовок блока с переходом в 3.8, когда раздел появится; (Б) если 3.8 сводится к настройке виджета — синхронизировать формулировку FR3.1-7 с фактической навигацией. Зависит от того, существует ли раздел 3.8 как отдельный экран — уточнить у продукта. |
| #OQ3.1-11 | Код FR3.1-15 | Требование говорит: интерфейс адаптирует состояния (в т.ч. загрузки) главного экрана. В коде адаптив под breakpoints присутствует, но скелетоны загрузки отключены заглушкой v-if="false" (мёртвый код), реального loading/error/empty на уровне страницы нет. \ pages/index.vue:4-16 | Разработка | Закрывает PM | Адаптив (основная часть FR) есть; отключённые скелетоны — недоделка без продуктового выбора. Закрываю сам: включить скелетоны и подключить их к реальному состоянию загрузки вместо v-if="false"; если состояния загрузки для 3.1 не нужны — удалить мёртвый код → тикет в Bitrix. |
| #OQ3.1-12 | Код FR3.1-3 | Требование говорит: партнёр раскрывает блок «В тариф входит». В коде блок всегда развёрнут — механизма раскрытия/сворачивания нет; состав и лимиты захардкожены (15/15, «Безлимит»). \ ExtendingAccessWidget.vue:184-251 | Разработка | Открыт | Два слоя: поведение раскрытия и данные. Данные — мок (OQ3.1-1, продуктовое решение). Поведение: (А, рекоменд.) реализовать раскрытие/сворачивание согласно FR3.1-3; (Б) уточнить FR, что блок всегда развёрнут. Целесообразно делать вместе с переводом блока на реальные данные — связать с OQ3.1-1. |
Вопросы по сверке с кодом
BRD 3.1 v0.1 · musbooking_personal_account · commit b9a7a706/test · 2026-07-10 · якорь
pages/index.vue+components/dashboard/*+widgets.fsd/extending-accessСводка: вопросов 12 (бизнесовых 5 / программных 7) · подтверждено без вопросов 3 (FR3.1-1, FR3.1-6, FR3.1-9) · отрезано находок обратного прохода 4 Под особым вниманием: FR3.1-2 / FR3.1-3 — весь блок тарифа на моках; FR3.1-11 — выход без подтверждения; FR3.1-10 — при смене зоны экран обновляется частично.
Главный экран профиля — это pages/index.vue, который собирает пять блоков: DashboardExtendingAccess (тариф), DashboardSettings (партнёрская зона), DashboardStaff (сотрудники), DashboardTools (инструменты), DashboardIntegrations (интеграции) — pages/index.vue:20-29. Подразделы 3.2–3.8 сверялись только как точки перехода.
Бизнесовые
| № | Связано с | Что в BRD | Что в коде | Где в коде |
|---|---|---|---|---|
| Б1 | FR3.1-2, FR3.1-3 | Главный экран показывает тариф, стоимость, комиссию, период, сумму к оплате, срок доступа и состав тарифа с лимитами. | Весь блок тарифа/комиссии/лимитов — статический мок: значения захардкожены (Базовый: 10 000 ₽/мес, комиссия 1500/500 ₽, лимиты 15/15, Безлимит), к реальной зоне не привязан. Условия начисления комиссии тоже полностью захардкожены (Репетиционные базы / Музыкальные классы, 100 ₽, 15%). — нужно решение: показывать реальные данные тарифа на 3.1 уже сейчас или это допустимая заглушка до 3.2. | composables/useTariffMock.ts:28-74; widgets.fsd/extending-access/ui/ExtendingAccessWidget.vue:108-251,260 |
| Б2 | FR3.1-2 | Интерфейс показывает город и сферы. | Ни город, ни сферы на главном экране не выводятся ни в одном из блоков. — нужно решение: оставить их в требовании 3.1 или перенести (город/сферы могут жить в карточке зоны 3.3). | pages/index.vue, components/dashboard/*, widgets.fsd/extending-access/ui/ExtendingAccessWidget.vue (совпадений «город»/«сфер» нет) |
| Б3 | FR3.1-8 | Блок «Интеграции» показывает внешние сервисы с визуальными признаками подключённых сервисов. | Показан фиксированный набор иконок (yclients, gcalendar, appevent, telegram) без какого-либо признака «подключено/не подключено» — статичная вёрстка, данные не участвуют. — нужно решение по составу сервисов и нужен ли индикатор подключения на 3.1. | components/dashboard/Integrations.vue:9-40 |
| Б4 | FR3.1-12, FR3.1-13, FR3.1-14 | Состояния S3: только просмотр (скрыть оплату), заглушка недоступного подраздела, пустая зона с действиями «добавить сотрудников» и «настроить профиль». | Ни одно из трёх состояний не реализовано: middleware обрабатывает только аутентификацию, проверок прав/режима просмотра на главном экране нет; заглушек подразделов нет; пустого состояния сотрудников с действием добавления нет (при пустом списке показывается «Загрузка данных…»). Все три требования — вес 2. — подтвердить, что вне текущего релиза. | middleware/auth.global.ts:1-21; components/dashboard/Staff.vue:10-12 |
| Б5 | FR3.1-7 | Блок «Инструменты» включает настройку виджета и телеграм-бота. | Карточка «Настроить телеграм бот» нефункциональна: нет обработчика клика, подзаголовок — плейсхолдер «Текст чтобы понять что это дает». — нужно решение: держать ли нерабочую карточку на 3.1 сейчас. | components/dashboard/Tools.vue:22-30 |
Рекомендация / варианты решения
- Тариф на моках (Б1) — Вариант А (рекоменд.): признать блок тарифа заглушкой и явно ограничить scope 3.1 «вёрсткой + переходом в 3.2», а живые данные тарифа/комиссии описать и внедрить в 3.2. Вариант Б: если 3.1 должен показывать реальные цифры уже сейчас — завести отдельный FR на источник данных тарифа и снять
useTariffMock. - Город и сферы (Б2) — Вариант А (рекоменд.): убрать город/сферы из FR3.1-2 (они относятся к настройкам зоны 3.3), оставив на 3.1 только тариф/доступ/комиссию. Вариант Б: если они нужны на главном экране — добавить их в карточку зоны (
DashboardSettings). - Признак подключения интеграций (Б3) — Вариант А (рекоменд.): зафиксировать, что на 3.1 интеграции — только превью-переход в 3.7 без статуса, и снять из FR3.1-8 слова «визуальные признаки подключённых сервисов». Вариант Б: подключить реальный статус сервисов (data-driven индикатор).
- Состояния S3 (Б4) — Вариант А (рекоменд.): оставить FR3.1-12/13/14 как беклог веса 2 с пометкой «не в MVP 3.1». Вариант Б: приоритизировать хотя бы режим «только просмотр» (FR3.1-12), так как он влияет на безопасность оплаты.
- Телеграм-бот в инструментах (Б5) — Вариант А (рекоменд.): скрыть нерабочую карточку до готовности функции. Вариант Б: оставить как «скоро» с явным disabled-состоянием и без плейсхолдер-текста.
Программные
| № | Связано с | Что в BRD | Что в коде | Где в коде |
|---|---|---|---|---|
| П1 | FR3.1-11 | Выход из кабинета показывает подтверждение и позволяет подтвердить или вернуться без завершения сессии. | Кнопка «Выход» в дропдауне зон вызывает logout() немедленно — без диалога подтверждения; сессия завершается сразу, вернуться нельзя. — нужно решение: добавить confirm-диалог. | components/toolbar/ToolBar.vue:10-18,50-63; app.fsd/session/logout.ts:5-9 |
| П2 | FR3.1-4 | Переход в 3.2 возможен из блока тарифа или оплаты. | Переход в /partner-profile/extending-access есть только через toggle-кнопку заголовка блока. Кнопки «Продлить» и «Оплатить» в блоке тарифа/оплаты — без обработчиков (@click отсутствует), никуда не ведут. | components/dashboard/ExtendingAccess.vue:6-11,23-25; widgets.fsd/extending-access/ui/ExtendingAccessWidget.vue:38,71,102 |
| П3 | FR3.1-10 | Смена зоны применяет её как активный контекст и обновляет главный экран данными выбранной зоны. | Контекст меняется (setPartnerZoneId → cookie + стор). Карточка зоны реактивна (query по getPartnerZoneId). Но блок «Сотрудники» грузится только onMounted и лишь при пустом списке — при переключении зоны данные остаются от прежней; тариф — мок и не меняется. Экран обновляется частично. | features.fsd/change-partner-zone/model/useChangePartnerZoneDropdown.ts:31-34; stores/global.ts:83-86; components/dashboard/Staff.vue:72-81 |
| П4 | FR3.1-5 | Карточка зоны показывает телефон и email компании и владельца. | «Основой телефон» (опечатка вместо «Основной») выводит owner.phone, а не телефон компании; email компании берётся из contactInfo.emailAddress. Источники для «основного телефона» и владельца совпадают → несогласованность контракта данных карточки. | components/dashboard/Settings.vue:19,78-84,95 |
| П5 | FR3.1-7 | Блок «Инструменты» позволяет перейти в раздел 3.8 Инструменты. | Перехода в раздел 3.8 как таковой нет: заголовок блока без toggle-кнопки, единственный переход ведёт в /partner-profile/tools/widget-settings (настройка виджета), маршрута-индекса /partner-profile/tools (3.8) не существует. | components/dashboard/Tools.vue:1-6,11; shared.fsd/config/routes/pageRoutes.ts:52-57 |
| П6 | FR3.1-15 | Интерфейс адаптирует состояния (в т.ч. загрузки) главного экрана. | Адаптив под breakpoints присутствует, но скелетоны загрузки отключены заглушкой v-if="false" (мёртвый код), реального loading/error/empty на уровне страницы нет. | pages/index.vue:4-16 |
| П7 | FR3.1-3 | Партнёр «раскрывает» блок «В тариф входит». | Блок «В тариф входит» всегда развёрнут — механизма раскрытия/сворачивания нет; состав и лимиты захардкожены (15/15, Безлимит). | widgets.fsd/extending-access/ui/ExtendingAccessWidget.vue:184-251 |
Рекомендация / варианты решения
- Выход без подтверждения (П1) — Вариант А (рекоменд.): добавить модалку подтверждения перед
logout()(подтвердить / вернуться) — прямой пункт FR3.1-11. Вариант Б: если продукт согласен на выход в один клик — скорректировать FR3.1-11. - Кнопки тарифа/оплаты без действия (П2) — Вариант А (рекоменд.): навесить на «Продлить»/«Оплатить» переход в 3.2 (или запуск сценария оплаты), как требует FR3.1-4. Вариант Б: если переход только через заголовок допустим — уточнить формулировку FR3.1-4.
- Частичное обновление при смене зоны (П3) — Вариант А (рекоменд.): сделать загрузку сотрудников реактивной к
currentPartnerZoneId(watch вместо разовогоonMounted), а тариф перевести на данные зоны. Вариант Б: временно инвалидировать/перезагружать сторы при смене зоны централизованно. - Контракт «Основной телефон» (П4) — Вариант А (рекоменд.): выводить в «Основной телефон» телефон компании (
contactInfo), а не владельца, и исправить опечатку. Вариант Б: переименовать поле, если по продукту это действительно телефон владельца. - Переход в 3.8 (П5) — Вариант А (рекоменд.): добавить toggle-кнопку в заголовок блока «Инструменты» с переходом в раздел 3.8 (когда он появится). Вариант Б: если 3.8 сводится к настройке виджета — синхронизировать формулировку FR3.1-7 с фактической навигацией.
- Состояния загрузки (П6) — Вариант А (рекоменд.): включить и подключить скелетоны к реальному состоянию загрузки данных вместо
v-if="false". Вариант Б: убрать мёртвый скелетон-код, если состояния загрузки для 3.1 не требуются. - «В тариф входит» не сворачивается (П7) — Вариант А (рекоменд.): реализовать раскрытие/сворачивание блока согласно FR3.1-3 либо уточнить FR, что блок всегда развёрнут. Вариант Б: связать с решением по Б1 (моки → реальные данные) и заодно закрыть поведение раскрытия.