Направление работ: WebLk Код раздела: 3.4.7 Раздел: Профиль партнёра > Настройки правил работы > Работа с заявками Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 07.08.26
1. Назначение
Данный раздел обеспечивает партнёру просмотр настроек работы с заявками в текущей партнёрской зоне.
Персональная настройка работы с заявками осуществляется менеджером в сервисном кабинете в разделе AdmLk 2.3.1 «Настройки > Сервисные параметры > Работа с заказами».
Партнёр просматривает сроки обработки и автоотклонения заявок, количество продлений работы и доступные сферы.
Состав настроек определяется в Back: 2.8 «Настройки партнёрской зоны». Применение настроек при обработке заявок относится к Back: 3.2.2 «Заявки».
2. Ключевые понятия
Работа с заявками — настройки партнёрской зоны, определяющие сроки обработки заявок днём и ночью, срок автоотклонения необработанных заявок, срок автоотклонения заявок в работе, количество продлений работы и доступные сферы.
Заявка — запрос клиента на бронирование, который партнёр принимает в работу, подтверждает либо отклоняет в пределах настроенных сроков.
Партнерская зона - сущность для хранения всей связанной информации по площадкам и услугам представленных в интерфейсах платформы.
Менеджер сервисного кабинета — сотрудник сервиса, которому доступно изменение настроек работы с заявками партнёрской зоны.
Доступные сферы — перечень сфер, для которых применяются показанные настройки работы с заявками.
3. Scope
Входит
S1: Просмотр настроек работы с заявками
S2: Адаптивы
Не входит
- AdmLk 2.3.1 «Настройки > Сервисные параметры > Работа с заказами»
- WebLk 3.4.4 «Правила отмены»
- WebLk 3.4.5 «Параметры оплаты»
- WebLk 3.4.6 «Работа со сборами»
- WebLk 5.4.1 «Работа с заявкой и её преобразование в заказ»
4. BR
Указаны в пункте 4 раздела Back: 2.8 «Настройки партнёрской зоны».
5. Функциональные требования (UC + FR)
| ID | Сценарий | Функциональное требование | BR | Вес | Статус |
|---|---|---|---|---|---|
| S1: FR3.4.7-1 | Пользователь открывает настройки работы с заявками | Интерфейс открывает страницу «Настройки кабинета» на вкладке «Заявки» и показывает блок «Работа с заявками». Интерфейс также показывает соседние вкладки «Платежная информация», «Сборы» и «Правила и условия». | 1 | Частично \ #OQ3.4.7-1 | |
| S1: FR3.4.7-2 | Пользователь просматривает текущие настройки | В блоке «Работа с заявками» интерфейс показывает текущие значения параметров «Срок обработки днем», «Срок обработки ночью», «Автоотклонения необработанных», «Срок автоотклонения заявок в работе», «Кол-во продлений работы» и «Доступные сферы». Для сроков интерфейс показывает значения в часах, для количества продлений — целое число, для доступных сфер — названия выбранных сфер. | 1 | Частично \ #OQ3.4.7-2, #OQ3.4.7-16 | |
| S2: FR3.4.7-3 | Пользователь открывает раздел на устройстве с поддерживаемым размером экрана | Интерфейс адаптирует страницу настроек работы с заявками, карточки и связанные блоки для desktop, laptop, tablet и mobile. | 1 | Частично \ #OQ3.4.7-15 |
6. Открытые вопросы
| ID | Источник | Вопрос | Кому | Статус | Рекомендации | Итоговое решение |
|---|---|---|---|---|---|---|
| OQ3.4.7-1 | Код FR3.4.7-1 | Требование говорит: интерфейс открывает страницу «Настройки кабинета» на вкладке «Заявки» и показывает рядом вкладки «Платежная информация», «Сборы» и «Правила и условия». В коде страница «Настройки кабинета» есть, блок «Работа с заявками» на вкладке «Заявки» тоже есть, но открыть раздел сразу на этой вкладке нечем: ряд дополнительных вкладок всегда стартует с первой, а обработчик переключения вкладок пустой — ни ссылки, ни параметра адреса на конкретную вкладку не предусмотрено, менеджер каждый раз переключается вручную. Первая соседняя вкладка называется «Параметры платежей», а не «Платежная информация»; «Сборы» и «Правила отмены» на месте. \ pages/partner-profile/settings/partner-zone.vue:7 (заголовок страницы), :19-25 (доп. вкладки всегда открываются на первой), :291 (пустой обработчик переключения), plugins/settingsRegistry.client.ts:38-72 (состав и порядок вкладок), :40 («Параметры платежей»), :65-71 (вкладка «Заявки») | Бизнес (Герман) | Open | (А, рекоменд.) Признать состав вкладок в коде целевым и поправить FR3.4.7-1 — «Параметры платежей» вместо «Платежная информация». (Б) Если название из BRD целевое, переименовать вкладку в реестре настроек — правка в одну строку. Отдельно нужно решение бизнеса, требуется ли прямая ссылка на вкладку «Заявки»: сегодня раздел всегда открывается на «Параметрах платежей». | |
| OQ3.4.7-2 | Код FR3.4.7-2, бывшее FR3.4.7-5 (удалено) | Требование говорит: и в блоке, и в панели показываются шесть параметров — «Срок обработки днем», «Срок обработки ночью», «Срок автоотклонения необработанных заявок», «Срок автоотклонения заявок в работе», «Количество продлений работы с заявками» и «Доступные сферы». В коде параметров четыре: «Автоотклонение днем», «Автоотклонение ночью», «Автоотклонение в работе», «Кол-во продлений работы с заявками». Отдельного «срока обработки» нет вообще — дневной и ночной параметры названы сроками автоотклонения, то есть три параметра BRD (обработка днём, обработка ночью, автоотклонение необработанных) свёрнуты в два. «Доступных сфер» нет ни в блоке, ни в панели (см. OQ3.4.7-10). Формат совпадает: сроки показываются в часах, продления — целым числом. Дополнительно подписи блока и панели разные для одного и того же параметра: «Автоотклонение днем» в блоке и «Срок автоотклонения заявок поступивших днем» в панели. \ components/Settings/Tab/RequestsTab.vue:14, :20, :26, :32-34 (четыре подписи блока), components/Settings/Forms/RequestsForm.vue:6, :15, :24, :33 (четыре подписи панели), shared.fsd/api-contracts/partner-zones/partnerZones.schema.ts:270-277 (в контракте те же четыре числа) | Бизнес (Герман) | Closed | (А, рекоменд.) Бизнесу зафиксировать, сколько параметров нужно на самом деле. Если «срок обработки» и «срок автоотклонения необработанных» — один и тот же таймер, привести BRD к четырём параметрам. (Б) Если это разные сроки, нужен пятый параметр в модели партнёрской зоны (Back 2.8) и в контракте — до этого FR3.4.7-2 и бывшее FR3.4.7-5 (удалено) нереализуемы, а бывшее FR3.4.7-8 (удалено) не к чему применить. В любом варианте свести подписи блока и панели к одному словарю. | ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-3 | Код FR3.4.7-2, бывшее FR3.4.7-5 (удалено) | Требование говорит: параметр называется «Срок автоотклонения заявок в работе» — по истечении срока заявка, взятая в работу, отклоняется. В коде этот же параметр хранится в поле «срок автоподтверждения» (AutoConfirmationTimeout), в блоке подписан «Автоотклонение в работе», а подсказка в панели утверждает обратное: «Заявки в работе будут автоматически подтверждены через указанное время». Что произойдёт с заявкой по истечении срока — отклонение или подтверждение — из кабинета понять нельзя, а от этого зависит и бронь, и деньги клиента. \ components/Settings/Tab/RequestsTab.vue:26-29 (подпись блока), components/Settings/Forms/RequestsForm.vue:22-29 (подпись и подсказка панели), shared.fsd/api-contracts/partner-zones/partnerZones.schema.ts:274 (имя поля в контракте) | Бизнес/Разработка | Closed | Продуктового выбора нет: одно поле не может означать и отклонение, и подтверждение. Рекомендация: разработке подтвердить фактическое поведение по Back 3.2.2 «Заявки», затем привести к нему подпись и подсказку, а если поле действительно про отклонение — переименовать его в контракте. Пока противоречие не снято, менеджер настраивает срок, не понимая последствий. | выполнить рекомендацию ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-4 | Код бывшее FR3.4.7-3 (удалено) | Требование говорит: партнёру панель открывается только на чтение — просмотреть и закрыть, без изменения и сохранения; редактирует только менеджер сервисного кабинета. В коде режима просмотра нет: клик по блоку у любого пользователя открывает ту же редактируемую панель с кнопкой «Сохранить». Ни одной проверки роли или разрешения на странице настроек, во вкладке и в форме за обход не найдено. Технически перевести панель в просмотр тоже нечем — у счётчика вообще нет признака блокировки, а поле ввода в нём не readonly. \ components/Settings/Tab/RequestsTab.vue:7-11 (клик по блоку всегда открывает редактирование), :112-114, components/Settings/Forms/RequestsForm.vue:40-58 (кнопки «Отменить» и «Сохранить» без условий), components/UI/controls/Counter.vue:43-50 (у счётчика нет disabled), :16-24 (поле ввода не заблокировано) | Бизнес (Герман) | Closed | Продуктового выбора нет: сегодня партнёр может изменить настройки, которые по BRD ему менять нельзя. Рекомендация: закрывать в составе общей задачи по правам во фронте (той же, что собирает OQ4.5-1 и OQ3.3-13) — отдельный механизм ради одной вкладки делать не стоит. От бизнеса нужно одно: назвать разрешение, которое отличает менеджера сервисного кабинета от партнёра. Признак блокировки в счётчике добавляется тем же тикетом и закроет режим просмотра сразу нескольким разделам настроек. | ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-5 | Код бывшее FR3.4.7-4 (удалено) | Требование говорит: открывается боковая панель «Настройка работы с заявками» с текущими значениями, действием закрытия и действием «Сохранить». В коде панель открывается, значения подставляются из настроек зоны, крестик и «Сохранить» на месте — расходится только название: панель озаглавлена «Настройки заявок». \ components/Settings/Tab/RequestsTab.vue:74 (заголовок панели), components/Settings/Forms/RequestsForm.vue:114-119 (подстановка текущих значений), :49-57 («Сохранить»), components/UI/layout/SimpleDrawer.vue:39-41 (крестик закрытия) | Бизнес (Герман) | Closed | Продуктового выбора нет. Рекомендация: переименовать заголовок панели в коде — правка в одну строку; выпускать одним пакетом с выравниванием подписей параметров из OQ3.4.7-2. | ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-6 | Код бывшее FR3.4.7-6 (удалено) | Что подтверждено: каждый из четырёх параметров — счётчик с действиями «−» и «+»; три срока считаются в часах, количество продлений — целым числом; кнопка «−» гаснет на нижней границе, «+» — на верхней, а повторные нажатия за границу не выходят. \ components/Settings/Forms/RequestsForm.vue:4-37 (четыре счётчика, единица «ч» у сроков), components/UI/controls/Counter.vue:12 и :33 (блокировка кнопок на границах), :80-89 (шаг ±1), :55-68 (ограничение значений) | — | Closed | Расхождения нет. | ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-7 | Код бывшее FR3.4.7-7 (удалено) | Что подтверждено: значение «0» установить нельзя ни для одного из четырёх параметров: нижняя граница счётчика равна 1, на ней кнопка «−» гаснет, а при ручном вводе «0» или очистке поля значение немедленно переписывается на 1. \ components/Settings/Forms/RequestsForm.vue:7, :16, :25, :34 (min = 1 у всех четырёх), components/UI/controls/Counter.vue:55-68 (ограничение снизу), :70-73 и :12 (кнопка «−» на границе), :116-121 («0» и пустое поле переписываются на минимум) | — | Closed | Расхождения нет. | ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-8 | Код бывшее FR3.4.7-7 (удалено) | Требование говорит: ограничение описано только снизу — «0» установить нельзя. В коде заданы ещё и верхние границы, которых в BRD нет: 96 часов для каждого из трёх сроков и 10 для количества продлений. Выше счётчик не пускает ни кнопкой, ни вводом с клавиатуры — набранное значение молча урезается до потолка. \ components/Settings/Forms/RequestsForm.vue:8, :17, :26 (max = 96), :35 (max = 10), components/UI/controls/Counter.vue:63-65 и :132-137 (урезание до максимума при вводе) | Бизнес (Герман) | Closed | (А, рекоменд.) Подтвердить границы кода и дописать их в бывшее FR3.4.7-7 (удалено): 96 часов (4 суток) и 10 продлений выглядят разумным потолком. (Б) Если потолок должен быть другим или его быть не должно — назвать значения, правка в четыре строки формы. | ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-9 | Код бывшее FR3.4.7-8 (удалено) | Требование говорит: «Срок автоотклонения необработанных заявок» должен превышать оба срока обработки — дневной и ночной — не менее чем на час; сохранить настройки с недопустимым соотношением нельзя, интерфейс показывает стандартное уведомление. В коде проверки соотношения нет вообще. Единственная проверка формы смотрит, что все четыре значения больше нуля, а это условие невыполнимо-ложное — счётчик и так не пускает ниже 1, — поэтому «Сохранить» блокируется фактически только на время отправки. Уведомления о недопустимом соотношении нет. Отдельно: применить правило сейчас не к чему — параметра «Срок автоотклонения необработанных заявок» в форме не существует (см. OQ3.4.7-2). \ components/Settings/Forms/RequestsForm.vue:103-111 (вся проверка формы), :53 (условие блокировки кнопки), :4-37 (в форме четыре параметра, отдельного срока автоотклонения необработанных нет) | Бизнес/Разработка | Closed | (А, рекоменд.) Сначала закрыть OQ3.4.7-2 — без отдельного срока автоотклонения правило нечем выразить; затем добавить проверку в ту же функцию проверки формы и показать сообщение рядом с кнопкой. (Б) Если бизнес признаёт четыре параметра целевыми, правило надо переписать в терминах кода или снять бывшее FR3.4.7-8 (удалено) — иначе требование останется невыполнимым по построению. | ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-10 | Код бывшее FR3.4.7-9 (удалено), бывшее FR3.4.7-10 (удалено) | Требование говорит: по действию «+» в блоке «Доступные сферы» открывается множественный выбор сфер из справочника AdmLk 2.1.1, выбранные сферы можно добавлять и удалять, а сохранить настройки без единой выбранной сферы нельзя. В коде доступных сфер нет нигде: ни в блоке, ни в панели, ни в отправляемом запросе — ни выбора, ни отображения, ни проверки. При этом в контракте партнёрской зоны описан массив настроек заявок по сферам (sphereRequestSettings), но он не читается и не отправляется ни одной строкой кода — кабинет всегда работает с одним общим набором настроек на всю зону. Справочник сфер во фронте есть и используется в других разделах (создание объекта, правила отмены), то есть источник данных готов. \ entities.fsd/partner-zone/types/partnerZone.types.ts:210-213 и :237 (тип есть, использований не найдено за обход), stores/partnerSettings.ts:695-711 (читается только общий блок настроек заявок), :915-921 (отправляется только он же), components/Settings/Forms/RequestsForm.vue:4-37 (в панели только четыре счётчика), stores/spheres.ts + widgets.fsd/base-create-wizard/ui/BaseCreateWizard.vue:1009-1012 (справочник сфер во фронте уже используется) | Бизнес/Разработка | Closed | (А, рекоменд.) Бизнесу уточнить смысл «Доступных сфер»: это выбор «к каким сферам применяются эти настройки» (тогда в модели уже есть подходящий массив и нужен интерфейс поверх него) или просто перечень сфер зоны для справки (тогда это чтение из справочника без сохранения). Ответ определяет объём работ на порядок. (Б) Если функциональность не нужна в ближайшем релизе — снять бывшее FR3.4.7-9 (удалено) и бывшее FR3.4.7-10 (удалено) и убрать «Доступные сферы» из FR3.4.7-2 и бывшее FR3.4.7-5 (удалено), чтобы BRD не обещал несуществующий блок. | ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-11 | Код бывшее FR3.4.7-11 (удалено), FR3.4.7-2, бывшее FR3.4.7-5 (удалено) | Требование говорит: менеджер задаёт сроки обработки и количество продлений, интерфейс сохраняет допустимые значения, и система работает с заявками по этим настройкам. В коде кабинет действительно доводит все четыре значения до бэкенда — они попадают в блок настроек заявок запроса обновления партнёрской зоны. Но применяются ли они, вопрос открытый: по завершённой сверке Back 3.1 «Состав заказа» (OQ3.1-2) срок обработки заявки задан константой прямо в доменной модели (60 минут в RequestProcessingInfo.CreateNew), а поля «количество продлений» в таблице заявок нет вовсе и механики продления не найдено. То есть менеджер настраивает в кабинете значения, которые обработка заявок, по всей видимости, игнорирует: в интерфейсе стоит «12 ч» и «2 продления», а система считает по своим 60 минутам и о продлениях не знает. Во фронте эти значения тоже больше нигде не используются — только показываются в блоке и в панели. \ stores/partnerSettings.ts:915-921 (значения кладутся в запрос), :926 (вызов обновления зоны), classes/api/PartnerZonesService.ts:751-769 (метод UpdatePartnerZone), shared.fsd/api-contracts/partner-zones/partnerZones.schema.ts:270-277 (контракт из четырёх чисел); поиск по фронту по именам всех четырёх полей даёт только хранилище, форму и вкладку — других потребителей не найдено за обход; поведение бэкенда взято из завершённой сверки Back 3.1 (OQ3.1-2), репозиторий бэкенда в этой сверке не читался | Бизнес/Разработка | Closed | Варианта «оставить как есть» здесь нет: интерфейс обещает настройку, которой, судя по бэкенду, не существует. Рекомендация: закрывать одним пакетом с Back OQ3.1-2 в таком порядке. 1) Разработка подтверждает по бэкенду, читаются ли настройки заявок партнёрской зоны при обработке заявки и хранится ли количество продлений хоть где-нибудь. 2) Если нет — либо доработать бэкенд (брать таймаут из настроек зоны, завести поле продлений), либо временно убрать неработающие поля из кабинета. Худший вариант — оставить как сейчас: настройка выглядит работающей и вводит менеджера в заблуждение. | Как видно из описания, бекенд не готов к обработке информаци, соответственно данная фича зависит от готовности бека, после реализации функционала можно обеспечить функционал на фронте ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-12 | Код бывшее FR3.4.7-11 (удалено) | Требование говорит: после «Сохранить» интерфейс сохраняет допустимые значения настроек работы с заявками. В коде сохранение четырёх чисел идёт через общий метод сохранения всей партнёрской зоны: в запрос собираются компания, оба адреса, учредитель, банковские счета, ЭДО, настройки сборов и настройки заявок. Отсутствующие поля подставляются значениями по умолчанию — в частности, оператор ЭДО жёстко подставляется как «Такском» с идентификатором «1234567890», если в загруженных данных его нет. Изменение срока автоотклонения таким образом может перезаписать не относящиеся к нему данные зоны. \ stores/partnerSettings.ts:724-733 (сборка полного запроса), :753-760 (настройки сборов в том же запросе), :910-913 (подстановка ЭДО), :915-921 (блок заявок), components/Settings/Tab/RequestsTab.vue:128-131 (вкладка вызывает общее сохранение) | Разработка (Влад) | Closed | (А, рекоменд.) Выяснить, поддерживает ли метод обновления зоны частичное сохранение, и отправлять со вкладки «Заявки» только блок настроек заявок. (Б) Если API принимает только целиком — убрать подстановку вымышленных значений (ЭДО) и отправлять ровно то, что пришло с сервера. Это тот же дефект, что зафиксирован по вкладке «Сборы» (3.4.6) — чинить один раз на обе вкладки. | ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-13 | Код бывшее FR3.4.7-11 (удалено) | Требование говорит: после «Сохранить» интерфейс сохраняет значения, закрывает панель и показывает в блоке обновлённые настройки. В коде удачный сценарий работает, а неудачный молчит: ошибка сохранения перехватывается и пишется только в консоль, рядом стоит невыполненная пометка «показать уведомление об ошибке», панель просто остаётся открытой без объяснений. Хуже того, новые значения кладутся в хранилище до вызова сервера, поэтому при неуспешном сохранении блок «Работа с заявками» покажет значения, которых на сервере нет, — расхождение не видно до перезагрузки страницы. \ components/Settings/Tab/RequestsTab.vue:122-140 (обработчик сохранения), :128 (запись в хранилище до отправки), :131 (отправка), :135-136 (ошибка только в консоль, пометка «TODO») | Разработка (Влад) | Closed | Продуктового выбора нет. Рекомендация: сначала отправлять, потом обновлять хранилище — правка на две строки, снимает показ несохранённых значений. Уведомление об ошибке подключить через общий механизм кабинета (бэкенд возвращает код, текст настраивается в админке) — тот же, которым закрываются молчаливые catch в других разделах. | ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-14 | Код бывшее FR3.4.7-12 (удалено) | Требование говорит: после закрытия панель закрывается, внесённые изменения не сохраняются, значения в блоке остаются прежними. В коде блок действительно остаётся прежним, а вот форма изменения не сбрасывает: закрытие только прячет панель, а поля заполняются из хранилища лишь при первом открытии и при изменении хранилища. На десктопе панель после закрытия остаётся в разметке, поэтому при повторном открытии менеджер видит свои прежние несохранённые правки и легко примет их за текущие настройки. Предупреждения о несохранённых изменениях нет — ни подтверждения при закрытии, ни отслеживания правок за обход не найдено. \ components/Settings/Tab/RequestsTab.vue:116-119 (закрытие только меняет флаг), components/Settings/Forms/RequestsForm.vue:114-119 и :134-139 (заполнение формы только при монтировании и по изменению хранилища), components/UI/layout/SimpleDrawer.vue:3-14 и :44-46 (десктопная панель не разрушает содержимое при закрытии), :193-195 (закрытие без событий и подтверждений) | Разработка (Влад) | Closed | (А, рекоменд.) Заполнять форму при каждом открытии панели, тогда отмена честно возвращает сохранённые значения — правка локальная. (Б) Дополнительно снимать значения при открытии, чтобы блокировать «Сохранить» без изменений и предупреждать о несохранённом; это общий сценарий для всех вкладок настроек кабинета. | ОТ БИЗНЕСА: настройка полностью переходит в админку, тут остается только просмотр |
| OQ3.4.7-15 | Код FR3.4.7-3 | Требование говорит: страница, карточки и связанные блоки адаптируются под desktop, laptop, tablet и mobile. В коде адаптирован только каркас: страница настроек и полосы вкладок перестраиваются на 1024 и 768 пикселях, а панель ниже 960 пикселей превращается в нижнюю шторку. У самой вкладки «Заявки» и у её формы нет ни одного правила под ширину экрана: блок значений — жёсткая строка из четырёх карточек шириной не менее 120 пикселей каждая, на телефоне она не перестраивается в колонку; кнопки формы позиционируются относительно окна, а не панели; заданная вкладкой ширина панели 600 пикселей игнорируется — компонент всегда открывается на 420; счётчик тоже без адаптива, поле ввода в нём фиксировано на 30 пикселях при длинных подписях. \ pages/partner-profile/settings/partner-zone.vue:310-388 и components/UI/layout/TabsContainer.vue:442, :504 (адаптив каркаса), components/UI/layout/SimpleDrawer.vue:179-181 + composables/useBreakpoint.ts:14-21 (шторка ниже 960), components/Settings/Tab/RequestsTab.vue:176-197 (строка из карточек, min-width: 120px; во всём файле ни одного @media), components/Settings/Forms/RequestsForm.vue:164-179 (кнопки position: fixed; во всём файле ни одного @media), components/UI/layout/SimpleDrawer.vue:9 (ширина зашита 420) против components/Settings/Tab/RequestsTab.vue:74 (передаётся 600), components/UI/controls/Counter.vue:147 и :166 | Разработка (Влад) | Open | Перестроить блок значений в колонку на планшете и телефоне. Сведения о форме и панели относятся к прежнему сценарию редактирования, который исключён из WebLk. | |
| OQ3.4.7-16 | Код FR3.4.7-2 | Требование говорит: интерфейс показывает текущие значения параметров. В коде значения показываются всегда, но не обязательно текущие. Объект настроек создаётся в хранилище сразу со значениями по умолчанию (4 / 12 / 12 / 2), поэтому условие «настройки есть» истинно всегда: написанные во вкладке скелетон загрузки, сообщение об ошибке и пустое состояние недостижимы, а кнопка «Повторить» в блоке ошибки вызывает функцию с пустым телом. Если бэкенд не пришлёт настройки заявок, кабинет молча покажет те же значения по умолчанию (они продублированы ещё и в форме) — партнёр не отличит их от настоящих. \ stores/partnerSettings.ts:244-249 (объект со значениями по умолчанию), :695-711 (молчаливая подстановка при отсутствии данных), components/Settings/Tab/RequestsTab.vue:8 (условие показа всегда истинно), :42-71 (недостижимые состояния загрузки, ошибки и пустоты), :64 («Повторить») и :142-148 (пустая функция перезагрузки), components/Settings/Forms/RequestsForm.vue:96-101 (те же дефолты продублированы) | Разработка (Влад) | Open | Продуктового выбора нет. Рекомендация: держать настройки как «может отсутствовать» (пустое значение до загрузки) — тогда оживут уже написанные скелетон и состояние ошибки; кнопку «Повторить» подключить к перезагрузке данных зоны; значения по умолчанию оставить в одном месте. Тот же дефект зафиксирован по вкладке «Сборы» (3.4.6) — правится вместе. |
Вопросы по сверке с кодом
Историческая сверка версии 0.1 до переноса персональной настройки в AdmLk. Упоминания бывших FR3.4.7-3–12 сохранены как контекст и не являются действующими требованиями WebLk.
BRD 3.4.7 v0.1 · musbooking_personal_account · commit
93383777/main· 07.08.26 · якорьcomponents/Settings/Tab/RequestsTab.vue+components/Settings/Forms/RequestsForm.vue+stores/partnerSettings.ts+plugins/settingsRegistry.client.ts+components/UI/controls/Counter.vueСводка: вопросов 16 — Open 14 (бизнесу 5 / разработке 5 / бизнесу и разработке 4) и Подтверждено 2 · статусы требований: Реализовано 2, Частично 7, Не реализовано 4 · отрезано находок обратного прохода 8 Под особым вниманием: OQ3.4.7-11 — кабинет доводит настройки до бэкенда, но, по завершённой сверке Back 3.1 (OQ3.1-2), срок обработки заявки там задан константой 60 минут, а поля количества продлений не существует, то есть интерфейс настраивает то, что система игнорирует; OQ3.4.7-2 и OQ3.4.7-10 — в кабинете четыре параметра из шести, «Доступных сфер» нет вовсе; OQ3.4.7-3 — один и тот же параметр «в работе» называется и автоотклонением, и автоподтверждением. Маршрутизация без сверки с гайдбуком (гайдбук не передавался).
Настройки работы с заявками живут в двух файлах: вкладка components/Settings/Tab/RequestsTab.vue (блок «Работа с заявками» на странице /partner-profile/settings/partner-zone) и форма components/Settings/Forms/RequestsForm.vue в боковой панели. Данные и сохранение — stores/partnerSettings.ts, где настройки заявок лежат внутри общего агрегата настроек партнёрской зоны; транспорт — метод UpdatePartnerZone (classes/api/PartnerZonesService.ts, контракт shared.fsd/api-contracts/partner-zones/partnerZones.schema.ts). Вкладка подключается через реестр настроек plugins/settingsRegistry.client.ts под ключом requests. Раздел маленький: четыре числовых поля, один экран, одна панель — поэтому обход сплошной, «не найдено за обход» ниже означает полный поиск по фронту, а не выборочный.
Бизнесовые
| № | Связано с | Что в BRD | Что в коде | Где в коде |
|---|---|---|---|---|
| Б1 | FR3.4.7-1 | Раздел открывается на вкладке «Заявки»; соседние вкладки — «Платежная информация», «Сборы», «Правила и условия». | Вкладка «Заявки» есть, но ряд дополнительных вкладок всегда открывается на первой, ссылки на конкретную вкладку нет, обработчик переключения пустой. Первый сосед назван «Параметры платежей». — см. OQ3.4.7-1. | pages/partner-profile/settings/partner-zone.vue:19-25, :291; plugins/settingsRegistry.client.ts:38-72 |
| Б2 | FR3.4.7-2, бывшее FR3.4.7-5 (удалено) | Шесть параметров: сроки обработки днём и ночью, срок автоотклонения необработанных, срок автоотклонения в работе, количество продлений, доступные сферы. | Четыре параметра, все три срока названы сроками автоотклонения; отдельного «срока обработки» нет; сфер нет. Подписи блока и панели различаются между собой. — см. OQ3.4.7-2. | components/Settings/Tab/RequestsTab.vue:14, :20, :26, :32-34; components/Settings/Forms/RequestsForm.vue:6, :15, :24, :33 |
| Б3 | FR3.4.7-2, бывшее FR3.4.7-5 (удалено) | «Срок автоотклонения заявок в работе» — заявка отклоняется. | Поле называется «срок автоподтверждения», подпись — «автоотклонение», подсказка — «будут автоматически подтверждены». Три источника, три смысла. — см. OQ3.4.7-3. | components/Settings/Forms/RequestsForm.vue:22-29; components/Settings/Tab/RequestsTab.vue:26-29; shared.fsd/api-contracts/partner-zones/partnerZones.schema.ts:274 |
| Б4 | бывшее FR3.4.7-3 (удалено) | Партнёру панель открывается только на чтение, менеджеру — на редактирование. | Разделения нет: любой пользователь открывает редактируемую панель; проверок роли и разрешений во вкладке, форме и на странице не найдено за обход. — см. OQ3.4.7-4. | components/Settings/Tab/RequestsTab.vue:7-11, :112-114; components/Settings/Forms/RequestsForm.vue:40-58 |
| Б5 | бывшее FR3.4.7-4 (удалено) | Панель «Настройка работы с заявками». | Панель называется «Настройки заявок»; остальное (значения, крестик, «Сохранить») совпадает. — см. OQ3.4.7-5. | components/Settings/Tab/RequestsTab.vue:74 |
| Б6 | бывшее FR3.4.7-7 (удалено) | Ограничение только снизу: «0» недопустим. | Есть и потолок, которого в BRD нет: 96 часов для сроков и 10 для продлений. — см. OQ3.4.7-8. | components/Settings/Forms/RequestsForm.vue:8, :17, :26, :35 |
| Б7 | бывшее FR3.4.7-8 (удалено) | Срок автоотклонения необработанных больше обоих сроков обработки минимум на час; иначе сохранение запрещено с уведомлением. | Проверки соотношения нет, уведомления нет, а самого параметра в форме не существует — правилу не к чему применяться. — см. OQ3.4.7-9. | components/Settings/Forms/RequestsForm.vue:103-111, :4-37 |
| Б8 | бывшее FR3.4.7-9 (удалено), бывшее FR3.4.7-10 (удалено) | Блок «Доступные сферы»: множественный выбор из справочника, удаление, запрет сохранения без единой сферы. | Сфер нет ни в блоке, ни в панели, ни в запросе. В контракте зоны есть массив настроек заявок по сферам — не используется ни строкой. — см. OQ3.4.7-10. | entities.fsd/partner-zone/types/partnerZone.types.ts:210-213, :237; stores/partnerSettings.ts:695-711, :915-921 |
| Б9 | бывшее FR3.4.7-11 (удалено), FR3.4.7-2 | Настройки задаются менеджером и применяются при работе с заявками. | Кабинет отправляет все четыре значения, но, по сверке Back 3.1 (OQ3.1-2), срок обработки на бэкенде — константа 60 минут, а поля продлений нет. Во фронте значения не используются нигде, кроме показа. — см. OQ3.4.7-11. | stores/partnerSettings.ts:915-921, :926; classes/api/PartnerZonesService.ts:751-769 |
Рекомендация / варианты решения
- Состав параметров (Б2, Б7, Б8) — это один узел: пока не решено, шесть параметров или четыре, нельзя ни описать правило соотношения сроков, ни спроектировать блок сфер. Рекомендуемый порядок — сначала бизнес фиксирует состав вместе с Back 2.8, потом правится либо BRD, либо контракт.
- Терминология (Б1, Б3, Б5) — «Параметры платежей» / «Платежная информация», «Настройки заявок» / «Настройка работы с заявками», «автоотклонение» / «автоподтверждение». Первые две позиции — вопрос словаря и правятся построчно; третья требует ответа от бэкенда, что реально происходит с заявкой по истечении срока.
- Права (Б4) — не заводить отдельный механизм под одну вкладку: закрывать общей задачей по правам во фронте (та же, что собирает OQ4.5-1 и OQ3.3-13). От бизнеса нужно только название разрешения.
- Границы (Б6) — самое дешёвое решение: подтвердить 96 часов и 10 продлений и дописать их в бывшее FR3.4.7-7 (удалено).
- Применимость настроек (Б9) — приоритет выше остальных: пока бэкенд считает по константе, любая доработка кабинета в этом разделе улучшает интерфейс к неработающей функции. Закрывать пакетом с Back OQ3.1-2.
Программные
| № | Связано с | Что в BRD | Что в коде | Где в коде |
|---|---|---|---|---|
| П1 | бывшее FR3.4.7-11 (удалено) | Сохраняются настройки работы с заявками. | Отправляется весь агрегат зоны: компания, оба адреса, учредитель, банковские счета, ЭДО, сборы, заявки. Отсутствующий оператор ЭДО подставляется как «Такском» с идентификатором «1234567890». — см. OQ3.4.7-12. | stores/partnerSettings.ts:724-733, :910-913, :915-921 |
| П2 | бывшее FR3.4.7-11 (удалено) | После сохранения панель закрывается и блок показывает обновлённые значения. | Хранилище обновляется до вызова сервера, ошибка пишется только в консоль с пометкой «TODO: показать уведомление». При неудаче блок показывает несохранённые значения. — см. OQ3.4.7-13. | components/Settings/Tab/RequestsTab.vue:122-140, :128, :135-136 |
| П3 | бывшее FR3.4.7-12 (удалено) | Закрытие без сохранения не меняет значения. | Блок не меняется, но форма не сбрасывается: заполняется только при монтировании, а десктопная панель не разрушается при закрытии — повторное открытие показывает прежние правки. Отслеживания изменений нет. — см. OQ3.4.7-14. | components/Settings/Forms/RequestsForm.vue:114-119, :134-139; components/UI/layout/SimpleDrawer.vue:3-14, :44-46 |
| П4 | FR3.4.7-3 | Адаптив страницы, карточек, блоков и форм. | Каркас адаптирован (страница, вкладки, шторка ниже 960 пикселей), у вкладки и формы заявок — ни одного правила под ширину экрана; кнопки формы позиционированы относительно окна; ширина панели 600 игнорируется. — см. OQ3.4.7-15. | components/Settings/Tab/RequestsTab.vue:176-197; components/Settings/Forms/RequestsForm.vue:164-179; components/UI/layout/SimpleDrawer.vue:9 |
| П5 | FR3.4.7-2 | Показываются текущие значения. | Объект настроек всегда существует со значениями по умолчанию, поэтому скелетон, ошибка и пустое состояние недостижимы, а «Повторить» вызывает пустую функцию; отсутствие данных с сервера подменяется дефолтами молча. — см. OQ3.4.7-16. | stores/partnerSettings.ts:244-249, :695-711; components/Settings/Tab/RequestsTab.vue:8, :42-71, :142-148 |
Рекомендация / варианты решения
- Сохранение всего агрегата (П1) — тот же дефект, что на вкладке «Сборы» (3.4.6): выяснить, поддерживает ли
UpdatePartnerZoneчастичное обновление, и чинить один раз на обе вкладки. Подстановку вымышленного ЭДО убрать в любом случае. - Порядок сохранения и молчаливая ошибка (П2) — правка на две строки (сначала отправка, потом запись в хранилище) плюс подключение общего механизма уведомлений кабинета. Делать вместе: по отдельности каждая половина оставляет менеджера без обратной связи.
- Сброс формы (П3) — заполнять форму при каждом открытии панели; снимок значений при открытии заодно даст блокировку «Сохранить» без изменений.
- Адаптив (П4) — начать с полосы кнопок формы (виден на любом десктопе), затем блок значений в колонку на планшете и телефоне; правки счётчика и шторки общие с 3.4.6.
- Состояния загрузки (П5) — сделать настройки «отсутствующими» до загрузки, тогда оживут уже написанные состояния; кнопку «Повторить» подключить к перезагрузке данных зоны; дефолты оставить в одном месте.
Находки обратного прохода (код сверх BRD)
| № | Что нашли | Где в коде | Оценка |
|---|---|---|---|
| ОП1 | Значения можно не только менять кнопками «−» и «+», но и набрать с клавиатуры: нецифровые символы отсекаются, «0» и пустое поле переписываются на минимум, превышение потолка урезается. | components/UI/controls/Counter.vue:16-24, :91-139 | Полезно и не ломает бывшее FR3.4.7-7 (удалено) — стоит внести в требование, иначе способ ввода не описан. |
| ОП2 | В панели есть кнопка «Отменить» — в бывшее FR3.4.7-4 (удалено) описаны только действие закрытия и «Сохранить». | components/Settings/Forms/RequestsForm.vue:41-48 | Безобидно, дописать в бывшее FR3.4.7-4 (удалено) вместе с крестиком. |
| ОП3 | Во вкладке написаны три состояния, которых нет в BRD: скелетон загрузки, ошибка загрузки с кнопкой «Повторить» и пустое состояние с кнопкой «Настроить». | components/Settings/Tab/RequestsTab.vue:42-71 | Состояния нужные, но недостижимые — см. OQ3.4.7-16; описать в BRD после починки. |
| ОП4 | Панель получает ширину 600, но компонент открывается всегда на 420 (свойство ширины объявлено и не используется), плюс снизу рендерится пустая полоса футера — вкладка не передаёт ни признак «без футера», ни содержимое футера. | components/UI/layout/SimpleDrawer.vue:9, :49-51, :127-130; components/Settings/Tab/RequestsTab.vue:74-85 | Визуальный мусор и мнимая настройка; правится в общем компоненте панели. |
| ОП5 | Вкладка «Заявки» зарегистрирована с комментарием «Временно используем PaymentTab» — комментарий устарел, компонент подключён свой. | plugins/settingsRegistry.client.ts:67 | Косметика, но вводит в заблуждение при чтении реестра. |
| ОП6 | Значения по умолчанию (4 / 12 / 12 / 2) продублированы в двух местах — в хранилище и в форме. | stores/partnerSettings.ts:244-249; components/Settings/Forms/RequestsForm.vue:96-101 | Источник расхождений при изменении дефолтов; свести в одно место. |
| ОП7 | В контракте партнёрской зоны описан массив настроек заявок по сферам (sphereRequestSettings) — не читается и не отправляется ни одной строкой кода. | entities.fsd/partner-zone/types/partnerZone.types.ts:210-213, :237 | Готовая точка расширения под «Доступные сферы» — учесть при решении по OQ3.4.7-10. |
| ОП8 | Вкладка использует компонент панели, помеченный в самом файле как устаревший («Используй shared.fsd/ui/drowers/drawer/Drawer.vue»). | components/UI/layout/SimpleDrawer.vue:100-104; components/Settings/Tab/RequestsTab.vue:91-93 | Технический долг: часть дефектов панели (ширина, футер, сброс содержимого) в новом компоненте может уже не существовать — проверить перед правками. |