Направление работ: WebLk Код раздела: 6.4.1 Раздел: Отчеты > Клиенты > Карточка клиента Статус: черновик Ответственный: Панкова Л.А. Версия: 0.2 Обновлено: 20.07.26


1. Назначение

Данный раздел обеспечивает партнеру интерфейс для просмотра карточки клиента в разделе отчетов.

Партнер видит основные сведения о клиенте, партнерские данные, сообщения, блокировку, сбор, промокоды, условия оплаты и историю изменений в рамках своей партнерской зоны.

Функциональное назначение раздела — дать партнеру краткую точку просмотра клиента без перехода к управлению заказами, заявками или финансовыми отчетами.

Раздел зависит от Back: 1.3 Аккаунты и пользователи > Клиенты.

2. Ключевые понятия

Карточка клиента — экран просмотра данных клиента в разделе WebLk 6.4.1.

Основные сведения — блок с именем, контактами, признаками клиента, баллами и группами клиента.

Партнерские данные клиента — данные, которые партнер ведет по клиенту в рамках своей партнерской зоны: группы, блокировка, сообщения и другие доступные признаки.

Сообщения по клиенту — записи партнера о клиенте, отображаемые в карточке клиента.

Клиент с блокировкой — признак клиента, которому запрещено совершать заказы в текущей партнерской зоне.

История изменений — вкладка с событиями по карточке клиента.

3. Scope

Входит

S1: Открытие карточки клиента из отчета по клиентам S2: Просмотр основных сведений клиента S3: Просмотр партнерских данных клиента S4: Работа с сообщениями по клиенту S5: Просмотр вкладок карточки клиента S6: Состояния интерфейса

Не входит

  • WebLk 6.2 Отчеты > Заказы и заявки
  • WebLk 5.1 Заказы > Главный экран
  • WebLk 5.3 Заказы > Работа с заказами
  • WebLk 6.5 Отчеты > Финансовые отчеты
  • WebLk 6.6.1 Отчеты > Аналитика и глобальные данные > Новые и постоянные клиенты
  • Back 1.3.2 / 1.3.3 — характеристики клиента и группы клиентов
  • Back 3.1 / 3.2 / 3.2.2 — состав заказа, процессинг заказов и заявки
  • Back 8.2.5 — клиентские справочники
  • AdmLk 3.2 / 3.2.1 — управление клиентами и карточка клиента в админке
  • Backend/API-контракты, структура БД и техническая реализация

4. BR

Указаны в пункте 4 раздела Back: 1.3 Аккаунты и пользователи > Клиенты.

5. Функциональные требования (UC + FR)

FR – functional requirements, что интерфейс должен уметь делать по определенному UC.

IDCценарийФункциональное требованиеBRВесСтатус
S1: #FR6.4.1-1Партнер открывает карточку клиентаИнтерфейс открывает карточку выбранного клиента из отчета по клиентам и показывает данные только в контексте текущей партнерской зоны.1Реализовано
S1: #FR6.4.1-2Партнер возвращается к отчету по клиентамИнтерфейс позволяет вернуться к отчету по клиентам с сохранением предыдущего контекста просмотра, если он доступен.2Частично \ #OQ6.4.1-7
S2: #FR6.4.1-3Партнер просматривает основные сведения клиентаИнтерфейс показывает имя клиента, контакты, аватар или заменяющий элемент, признаки клиента и доступные идентификаторы.1Частично \ #OQ6.4.1-13
S2: #FR6.4.1-4Партнер просматривает баллы и группы клиентаИнтерфейс показывает баллы клиента. Группы клиента отображаются, если они есть у клиента в рамках текущей партнерской зоны.2Частично \ #OQ6.4.1-5
S3: #FR6.4.1-5Партнер просматривает дополнительные сведения клиентаИнтерфейс позволяет раскрыть блок дополнительных сведений и показывает заполненные поля без перехода к редактированию справочников.2Не реализовано \ #OQ6.4.1-6
S3: #FR6.4.1-6Партнер просматривает деятельность клиентаИнтерфейс позволяет раскрыть блок деятельности клиента и показывает доступные характеристики клиента без изменения их состава.2Не реализовано \ #OQ6.4.1-6
S3: #FR6.4.1-7Партнер видит блокировку клиентаИнтерфейс показывает признак блокировки клиента, если блокировка была применима к текущей партнерской зоне.2Реализовано
S4: #FR6.4.1-8Партнер просматривает сообщения по клиентуИнтерфейс показывает сообщения по клиенту с датой, текстом, автором и доступными данными автора.1Частично \ #OQ6.4.1-9
S4: #FR6.4.1-9Партнер добавляет сообщение по клиентуИнтерфейс позволяет ввести сообщение, выбрать доступный тип или контекст сообщения и отправить запись в карточку клиента.1Реализовано
S4: #FR6.4.1-10Партнер редактирует сообщение по клиентуИнтерфейс позволяет перейти в режим редактирования сообщения, сохранить изменения или отменить редактирование без изменения записи.2Не реализовано \ #OQ6.4.1-8
S4: #FR6.4.1-11Партнер удаляет сообщение по клиентуИнтерфейс позволяет в меню редактирования сообщения выбрать удаление сообщения.2Не реализовано \ #OQ6.4.1-8
S5: #FR6.4.1-12Партнер переключает вкладки карточки клиентаИнтерфейс позволяет переключаться между вкладками “Сообщения по клиенту”, “Информация по клиенту”, “Сбор”, “Промокоды” и “Условия оплаты” без выхода из карточки.2Частично \ #OQ6.4.1-2 \ #OQ6.4.1-14
S5: #FR6.4.1-13Партнер просматривает вкладку “Сбор”Интерфейс показывает сумму сбора и связанные данные по сбору в карточке клиента без действий с оплатой.2Частично \ #OQ6.4.1-3 \ #OQ6.4.1-10
S5: #FR6.4.1-14Партнер просматривает историю измененийИнтерфейс показывает события истории изменений с датой, автором и содержанием изменения, если такие данные доступны.2Не реализовано \ #OQ6.4.1-4
S5: #FR6.4.1-15Партнер видит связанные разделы по клиентуИнтерфейс может показывать связанные области по заказам, заявкам, сборам или финансовым данным как отдельные разделы, которые описаны в соседних BRD.2Реализовано
S6: #FR6.4.1-16Партнер открывает карточку, данные загружаютсяИнтерфейс показывает состояние загрузки для карточки клиента и не позволяет выполнять действия, пока ключевые данные не загружены.2Реализовано
S6: #FR6.4.1-17Партнер открывает карточку без части данныхИнтерфейс показывает пустое состояние в блоках, где у клиента нет сообщений, дополнительных сведений или истории изменений.2Частично \ #OQ6.4.1-12
S6: #FR6.4.1-18Партнер выполняет действие, которое завершилось ошибкойИнтерфейс показывает ошибку в текущем контексте и дает возможность повторить действие, если повтор доступен.2Частично \ #OQ6.4.1-11

6. Открытые вопросы

IDИсточникВопросКомуСтатусРекомендацииРешение
#OQ6.4.1-1Figma / Back: 1.3Уточнить состав полей в блоках “Дополнительная информация” и “Деятельность”.ПродуктOpenВопрос стадии A, живой. Код-сторона — в OQ6.4.1-6 (блоки сейчас заглушки). Закрывается решением продукта о составе полей.Интерфейс карточки клиента поменялся (см. здесь) Поле дополнительная информация ушло. Поле деаятельность требует создания (или доработки старого) ендпоинта. На данный момент не проработана логика функционала. Решение: спроектировать логику и способ получения данных
#OQ6.4.1-2Код FR6.4.1-12Требование говорит: пять вкладок, включая «Условия оплаты». В коде реализовано 4: messages / info / forfeit / promocodes; вкладки «Условия оплаты» в наборе нет. \ widgets.fsd/client-profile/ui/InformationCard.vue:13-38Бизнес (Герман)Open(А, рекоменд.) если «Условия оплаты» нужны — завести под вкладку отдельную задачу (каркаса нет); (Б) если это задел на будущее — пометить вкладку в BRD как v-next, чтобы сверка не считала расхождением.Решение: A, нужно реализовать функционал
#OQ6.4.1-3Код FR6.4.1-13Требование говорит: вкладка «Сбор» — сумма и связанные данные, без действий с оплатой. В коде кроме списка сборов на вкладке есть поле ввода и кнопка «Начислить» (действие начисления) — противоречит «без действий». Сумма вынесена в заголовок вкладки. \ ForfeitTab.vue:45-59; InformationCard.vue:28Бизнес (Герман)Open(А, рекоменд.) убрать/скрыть ввод и кнопку в контексте карточки-просмотра (только просмотр); (Б) если начисление сбора здесь нужно — расширить FR6.4.1-13, явно разрешив действие, и доделать его (см. OQ6.4.1-10).Ршение: Нужно реализовать функционал
#OQ6.4.1-4Код FR6.4.1-14Требование говорит: вкладка «История изменений» (дата, автор, содержание). В коде её нет: в наборе вкладок отсутствует; по репозиторию «История изменений» встречается только в заказах и карточке сотрудника. \ InformationCard.vue:13-38Бизнес (Герман)Open(А) если история нужна — завести отдельную задачу (каркаса нет); (Б) если задел на будущее — пометить в BRD как v-next. Продуктовое решение о наличии вкладки.Решение: Б - это задел на будущее
#OQ6.4.1-5Код FR6.4.1-4Требование говорит: баллы и группы клиента (если есть в текущей ПЗ). В коде баллы выводятся; группы — нет: в ячейке «Группа клиентов» только кнопка «+» без обработчика, в модели ClientI поля групп нет. \ ClientCard.vue:54-61; entities.fsd/client/types.ts:17-33Бизнес/РазработкаOpenРедактирование справочников — вне scope (Back 1.3.2/1.3.3). (А, рекоменд.) выводить группы клиента текущей ПЗ read-only (нужны данные из модели/бэка), неактивную кнопку «+» убрать; (Б) если групп в ПЗ нет по данным — показывать пустое состояние вместо кнопки.UI в фигме обновился, групп в ui нет, кнопки тоже. Решение: нужно согласовать в каком ендпоинте будут приходить баллы и реализовать ui для показа баллов
#OQ6.4.1-6Код FR6.4.1-5, FR6.4.1-6Требование говорит: раскрываемые блоки «Дополнительная информация» и «Деятельность» с заполненными полями. В коде оба — статичный индикатор прогресса с захардкоженными current-step=2 / total-steps=5 (комментарий: «значение захардкожено, потому что информация бека не приходит»); блоки не раскрываются, полей нет. \ ClientCard.vue:62-80Бизнес (Продукт)OpenНе баг — прямо связано с OQ6.4.1-1 (состав полей уточняется). Рекомендация: дождаться решения по составу полей (OQ6.4.1-1), затем заменить прогресс-заглушку реальными раскрываемыми блоками. До закрытия OQ6.4.1-1 багом не считать.Решение: дождаться решения по составу полей
#OQ6.4.1-7Код FR6.4.1-2Требование говорит: возврат к отчёту с сохранением контекста. В коде явной кнопки возврата нет: заголовок UITitle без пропа to. Контекст отчёта (фильтры/страница) хранится в persist-сторе useClientReportStore → при возврате браузером сохраняется. Готовый BackTitle (router.back()) в карточке не используется. \ pages/clients/[clientId].vue:4; components/UI/layout/BackTitle.vue:34-36РазработкаOpenКонтекст технически сохраняется, но явного элемента «Назад» нет. (А, рекоменд.) использовать существующий BackTitle в шапке карточки; (Б) оставить навигацию браузером/меню и зафиксировать как осознанное UX-решение. Нужно подтверждение UX возврата.Решение: данный функционал не реализован, реализовать переход назад
#OQ6.4.1-8Код FR6.4.1-10, FR6.4.1-11Требование говорит: редактирование (режим save/cancel) и удаление сообщения (через меню). В коде мутации useUpdateClientMessageMutation и useDeleteClientMessageMutation (= archive) объявлены в entity, но в UI не используются: у ClientMessageItem нет ни меню редактирования, ни удаления — действия недоступны. \ useClientMessageQueries.ts:56-84; ClientMessageItem.vueРазработкаЗакрывает PMБэк-мутации готовы, не хватает UI. Закрываю сам: добавить в ClientMessageItem меню (редактировать → режим save/cancel; удалить → archive), подключив существующие мутации → тикет в Bitrix. Если по продукту эти действия в v0.2 не нужны — снять FR6.4.1-10/11 из scope (правка BRD).Решение: реализовать ui функцинал
#OQ6.4.1-9Код FR6.4.1-8Требование говорит: сообщения с датой, текстом, автором и данными автора. В коде дата/текст/автор показываются, но данные автора урезаны: mapClientMessageAuthor возвращает name = createdBy (id), phone = null, avatar = null (TODO: «приходит только id createdBy»). ФИО/контакты автора не выводятся. \ client-messages.ui.ts:12-20Бизнес/РазработкаOpenНужен контракт «данные автора по createdBy»; согласовать с Back. (А, рекоменд.) доработать контракт/маппинг, чтобы подтягивались имя/телефон/аватар автора; (Б, временно) пока бэк не отдаёт — показывать «Сотрудник» без телефона и не подставлять id как имя.Решение: согласовать контракт
#OQ6.4.1-10Код FR6.4.1-13Проблема: блок ввода и кнопка «Начислить» на вкладке «Сбор» неактивны: у TextField нет v-model, у кнопки нет @click. Данные партнёра в подвале захардкожены («Hendrix Studio», «+7 (922) 143-12-24»). \ ForfeitTab.vue:45-59РазработкаOpenСвязано с OQ6.4.1-3 (нужно ли действие вообще). Если «Начислить» остаётся — доделать (v-model, обработчик, реальные данные партнёра вместо хардкода); если убирается — удалить блок ввода целиком. Зависит от решения по OQ6.4.1-3.Решение: доделать функциональный блок и прокинуть данные
#OQ6.4.1-11Код FR6.4.1-18Требование говорит: показать ошибку в контексте и дать повторить. В коде ошибки загрузки отдаются только тостом (notifyError), без кнопки повтора; при ошибке загрузки клиента ClientProfile не рисует ни скелетон, ни карточку → пустой контейнер. Повтора в UI нет. \ useClientEntityQueries.ts:61-67; ClientProfile.vue:13-26РазработкаЗакрывает PMFR требует повтор, продуктового выбора нет. Закрываю сам: показывать состояние ошибки в карточке с кнопкой «Повторить» (перезапуск query); как минимум не оставлять пустой контейнер — рендерить fallback с действием повтора → тикет в Bitrix.Ошибка с получением клиента - мало вероятна, поскольку здесь может только оборваться соединение между клиентом и сервером. В этом случае пользователь может перезагрузить страницу. Кропка повтора не нужна.
#OQ6.4.1-12Код FR6.4.1-17Требование говорит: пустое состояние в блоках без данных. В коде пустые состояния есть у сообщений («Сообщений по клиенту пока нет») и промокодов, а у вкладки «Сбор» пустого состояния нет: при пустом списке v-for по forfeits ?? [] не рендерит ничего. \ ForfeitTab.vue:26; MessagesTab.vue:62РазработкаЗакрывает PMПродуктового выбора нет. Закрываю сам: добавить пустое состояние «Сборов по клиенту пока нет» на вкладку «Сбор» по аналогии с сообщениями/промокодами → тикет в Bitrix.Нужно реализовать в макетах пустое состояние
#OQ6.4.1-13Код FR6.4.1-3Проблема: аватар всегда рендерится с is-pro (захардкожено) независимо от реального статуса клиента → потенциально вводящий в заблуждение признак. Отчество (patronymic) есть в модели, но в имени не выводится (только lastName firstName). \ ClientCard.vue:20,32РазработкаЗакрывает PMХардкод признака is-pro — дефект (показывает pro всем). Закрываю сам: привязать is-pro к реальным данным клиента (или убрать до готовности контракта) → тикет в Bitrix. Оговорка: выводить ли отчество в имени — небольшое продуктовое решение, уточнить.На данный момент с бека не приходит состояние о подписке клиента. Нужно согласовать контракт
#OQ6.4.1-14Код FR6.4.1-12Проблема: вкладка «Информация по клиенту» переключается, но её содержимое — таблица на моковых данных (clientPartnerConditionsMock), не связана с бэком; проп clientId помечен TODO «если после реализации пропс не нужен — убрать». Пользователь видит статичные тестовые данные. \ ClientPartnerConditions.vue:3,11-19Бизнес/РазработкаOpenПоказ моков вместо контрактных данных. Согласовать с Back контракт данных вкладки. (А, рекоменд.) привязать таблицу «Информация по клиенту» к реальным данным бэка; (Б) убрать вкладку до готовности контракта, чтобы не показывать тестовые данные.Требуется согласовать контракт

Вопросы по сверке с кодом

BRD 6.4.1 v0.2 · musbooking_personal_account · commit b9a7a706/test · 2026-07-09 · якорь pages/clients/[clientId].vuewidgets.fsd/client-profile/* Сводка: вопросов 13 (бизнесовых 6 / программных 7) · подтверждено без вопросов 5 (FR6.4.1-1, FR6.4.1-7, FR6.4.1-9, FR6.4.1-15, FR6.4.1-16) · отрезано находок обратного прохода 3 Под особым вниманием: FR6.4.1-1 (контекст ПЗ) — подтверждён; FR6.4.1-8 (данные автора); FR6.4.1-9 (добавление) — подтверждён; FR6.4.1-12 (состав вкладок); FR6.4.1-13 (Сбор без действий с оплатой)

Бизнесовые

Связано сЧто в BRDЧто в кодеГде в коде
Б1FR6.4.1-12Пять вкладок: «Сообщения по клиенту», «Информация по клиенту», «Сбор», «Промокоды», «Условия оплаты»Реализовано 4 вкладки: messages / info / forfeit / promocodes. Вкладки «Условия оплаты» в наборе нет — нужно решение: добавить вкладку или снять из BRD.widgets.fsd/client-profile/ui/InformationCard.vue:13-38
Б2FR6.4.1-13Вкладка «Сбор»: сумма сбора и связанные данные, «без действий с оплатой»Кроме списка сборов на вкладке есть поле ввода и кнопка «Начислить» (действие начисления сбора) — противоречит «без действий с оплатой». Сумма сбора вынесена в заголовок вкладки (Сбор: {{ client.forfeit }}). Нужно подтверждение: оставлять ли действие начисления в карточке-просмотре.widgets.fsd/client-profile/ui/tabs/ForfeitTab.vue:45-59; InformationCard.vue:28
Б3FR6.4.1-14История изменений (дата, автор, содержание)Вкладки/блока «История изменений» в карточке клиента нет: в наборе вкладок отсутствует; по репозиторию строка «История изменений» встречается только в заказах и карточке сотрудника. Нужно решение: реализовать или снять требование.widgets.fsd/client-profile/ui/InformationCard.vue:13-38 (нет в наборе вкладок)
Б4FR6.4.1-4Баллы и группы клиента (если есть в текущей ПЗ)Баллы выводятся. Группы клиента не отображаются: в ячейке «Группа клиентов» только кнопка «+» (без обработчика), в модели ClientI поля групп нет. Нужно решение: выводить группы (и убрать ли неактивную кнопку добавления — редактирование вне scope).widgets.fsd/client-profile/ui/ClientCard.vue:54-61; entities.fsd/client/types.ts:17-33
Б5FR6.4.1-5, FR6.4.1-6Раскрываемые блоки «Дополнительная информация» и «Деятельность» с заполненными полямиОба блока — статичный индикатор прогресса с захардкоженными current-step=2 / total-steps=5 (комментарий в коде: «значение захардкожено, потому что на данный момент информация бека не приходит»); блоки не раскрываются, полей нет. Ожидаемо на фоне OQ6.4.1-1 (состав полей уточняется) — фиксируем факт, не как баг.widgets.fsd/client-profile/ui/ClientCard.vue:62-80
Б6FR6.4.1-2Возврат к отчёту с сохранением контекста просмотраЯвной кнопки возврата в карточке нет: заголовок UITitle без пропа to. Контекст отчёта (фильтры/страница) хранится в persist-сторе useClientReportStore → при возврате браузером сохраняется. Готовый компонент BackTitle (router.back()) в карточке не используется. Нужно подтверждение UX возврата.pages/clients/[clientId].vue:4; components/UI/layout/BackTitle.vue:34-36

Рекомендация / варианты решения

  • Состав вкладок и история (Б1, Б3) — карточка даёт 4 из 5 вкладок и не имеет истории изменений. Вариант А (рекоменд.): подтвердить у продукта целевой набор; если «Условия оплаты» и «История изменений» нужны — завести под них отдельные задачи (каркаса сейчас нет). Вариант Б: если это задел на будущее — пометить их в BRD как v-next, чтобы сверка не считала расхождением.
  • Вкладка «Сбор» (Б2) — есть действие «Начислить», а BRD ограничивает вкладку просмотром. Вариант А (рекоменд.): убрать/скрыть ввод и кнопку в контексте карточки-отчёта (только просмотр). Вариант Б: если начисление сбора здесь нужно продукту — расширить FR6.4.1-13, явно разрешив действие, и тогда доделать его (см. П3).
  • Группы клиента (Б4) — не выводятся, вместо этого неактивная кнопка «+». Вариант А (рекоменд.): выводить группы клиента текущей ПЗ read-only, кнопку добавления убрать (редактирование справочников — вне scope, Back 1.3.2/1.3.3). Вариант Б: если групп в ПЗ нет по данным — показывать пустое состояние вместо кнопки.
  • Блоки «Доп. информация» / «Деятельность» (Б5) — заглушки с хардкодом, напрямую связаны с OQ6.4.1-1. Рекомендация: дождаться решения по составу полей, затем заменить прогресс-заглушку реальными раскрываемыми блоками. До закрытия OQ6.4.1-1 багом не считать.
  • Возврат к отчёту (Б6) — контекст технически сохраняется через стор, но нет явного элемента «Назад». Вариант А (рекоменд.): использовать существующий BackTitle в шапке карточки. Вариант Б: оставить навигацию браузером/меню и зафиксировать это как осознанное UX-решение.

Программные

Связано сЧто в BRDЧто в кодеГде в коде
П1FR6.4.1-10, FR6.4.1-11Редактирование сообщения (режим, сохранить/отменить) и удаление (через меню редактирования)Мутации useUpdateClientMessageMutation и useDeleteClientMessageMutation (= archive) объявлены в entity, но в UI не используются: у ClientMessageItem нет ни кнопки/меню редактирования, ни удаления. Действия недоступны пользователю.entities.fsd/client/model/useClientMessageQueries.ts:56-84; features.fsd/client-messages/ui/ClientMessageItem.vue (нет меню действий)
П2FR6.4.1-8Сообщения с датой, текстом, автором и доступными данными автораСписок показывает дату/текст/автора, но данные автора урезаны: mapClientMessageAuthor возвращает name = createdBy (id), phone = null, avatar = null (TODO: «приходит только id createdBy»). Реальные ФИО/контакты автора не выводятся.features.fsd/client-messages/model/client-messages.ui.ts:12-20
П3FR6.4.1-13Вкладка «Сбор» показывает данные по сборуБлок ввода и кнопка «Начислить» неактивны: у TextField нет v-model, у кнопки нет @click. Данные партнёра в подвале захардкожены («Hendrix Studio», «+7 (922) 143-12-24»).widgets.fsd/client-profile/ui/tabs/ForfeitTab.vue:45-59
П4FR6.4.1-18Показ ошибки в контексте и возможность повторить действиеОшибки загрузки отдаются только тост-уведомлением (notifyError), без кнопки повтора; при ошибке загрузки клиента ClientProfile не рисует ни скелетон, ни карточку → пустой контейнер. Повтора действия в UI нет.entities.fsd/client/model/useClientEntityQueries.ts:61-67; widgets.fsd/client-profile/ClientProfile.vue:13-26
П5FR6.4.1-17Пустые состояния блоков (нет сообщений / сведений / истории)Пустые состояния есть у сообщений («Сообщений по клиенту пока нет») и промокодов. У вкладки «Сбор» пустого состояния нет: при пустом списке v-for по forfeits ?? [] не рендерит ничего.widgets.fsd/client-profile/ui/tabs/ForfeitTab.vue:26; features.fsd/client-messages/ui/MessagesTab.vue:62
П6FR6.4.1-3Аватар/заменитель и признаки клиентаАватар всегда рендерится с is-pro (захардкожено) независимо от реального статуса клиента → потенциально вводящий в заблуждение признак. Отчество (patronymic) есть в модели, но в имени не выводится (только lastName firstName).widgets.fsd/client-profile/ui/ClientCard.vue:20,32
П7FR6.4.1-12Вкладка «Информация по клиенту»Вкладка переключается, но её содержимое — таблица на моковых данных (clientPartnerConditionsMock), не связана с бэком; проп clientId помечен TODO «если после реализации пропс не нужен — убрать». Пользователь видит статичные тестовые данные.features.fsd/client-partner-conditions/ui/ClientPartnerConditions.vue:3,11-19

Рекомендация / варианты решения

  • Редактирование/удаление сообщений (П1) — бэк-мутации готовы, не хватает UI. Вариант А (рекоменд.): добавить в ClientMessageItem меню (редактировать → режим save/cancel; удалить → archive), подключив существующие мутации. Вариант Б: если по продукту эти действия в v0.2 не нужны — снять FR6.4.1-10/11 из scope.
  • Данные автора сообщения (П2) — выводится id вместо ФИО/контактов. Вариант А (рекоменд.): доработать контракт/маппинг, чтобы по createdBy подтягивались имя/телефон/аватар автора. Вариант Б (временно): пока бэк не отдаёт — показывать «Сотрудник» без телефона и не подставлять id как имя.
  • Инертный ввод на вкладке «Сбор» (П3) — связано с Б2. Если действие «Начислить» остаётся — доделать (v-model, обработчик, реальные данные партнёра вместо хардкода); если убирается — удалить блок ввода целиком.
  • Ошибки и повтор (П4) — нет ретрая, при ошибке загрузки пустой экран. Вариант А (рекоменд.): показывать состояние ошибки в карточке с кнопкой «Повторить» (перезапуск query). Вариант Б: как минимум не оставлять пустой контейнер — рендерить fallback с действием повтора.
  • Пустое состояние «Сбор» (П5) — добавить сообщение вида «Сборов по клиенту пока нет» по аналогии с сообщениями/промокодами.
  • Хардкод признака is-pro и содержимого вкладки «Информация» (П6, П7) — общая первопричина: интерфейс показывает захардкоженные/моковые данные вместо контрактных. Рекомендация: привязать признак pro и таблицу «Информация по клиенту» к реальным данным бэка (или убрать до готовности контракта). Отдельно решить, выводить ли отчество в имени.

0 items under this folder.