menu.md 16 KB

Новое меню Manager

Документ фиксирует целевую древовидную структуру меню по ТЗ Manager 2.0 и текущий статус разделов в существующей Laravel CRM.

Легенда статусов

  • Есть — раздел уже реализован и имеет рабочие маршруты/страницы.
  • Частично — есть близкий текущий функционал, но его нужно переименовать, перенести в другую группу или доработать под новое ТЗ.
  • Нужно реализовать — раздела нет, на первом этапе нужна страница-заглушка "В разработке".
  • Уточнить — требуется продуктовая/архитектурная развилка перед реализацией.

Целевое верхнее меню

Manager
├── ДКР
│   ├── Площадки
│   ├── МАФ
│   ├── Каталог
│   ├── Отчеты
│   ├── Ответственные
│   └── Заказы МАФ
├── Графики
│   ├── График заказов
│   ├── График доставок
│   └── График монтажей
├── Рекламации
│   ├── Все
│   └── ДКР
├── Запчасти
│   ├── Каталог
│   ├── Заказы запчастей
│   ├── Контроль наличия
│   ├── Справочник расшифровок
│   └── Справка
├── Склад наличие
│   ├── Наличие
│   └── Заказы
├── Каталог общий
│   ├── Позиции
│   └── Карточка позиции
├── Документация
├── Технич. описание
├── Калькуляции
└── Администратор
    ├── Подрядчики
    ├── Договоры
    ├── Пользователи
    ├── Роли и права
    ├── Настройки
    ├── Округа
    ├── Районы
    ├── Журнал уведомлений
    ├── Импорт
    ├── Экспорт/Импорт года
    └── Удалить данные

Детализация по разделам

ДКР

Статус: Есть, требуется реорганизация меню.

ДКР должен стать отдельной верхней группой. Текущие пункты верхнего меню нужно сгруппировать внутрь него без изменения действующей логики.

Пункт Статус Текущий маршрут Комментарий
Площадки Есть order.index Сейчас верхний пункт Площадки.
МАФ Есть product_sku.index Сейчас верхний пункт МАФ. В коде также помечен как склад МАФ.
Каталог Есть catalog.index Каталог ДКР. Это отдельная сущность, не Каталог общий.
Отчеты Есть reports.index Сейчас верхний пункт Отчёты.
Ответственные Есть responsible.index Сейчас верхний пункт Ответственные.
Заказы МАФ Есть maf_order.index Сейчас верхний пункт Заказы МАФ.

Принятое решение: Каталог ДКР и Каталог общий — разные сущности. Каталог ДКР остается внутри ДКР и продолжает работать по текущим маршрутам. Каталог общий реализуется отдельно как общий справочник платформы.

Графики

Статус: Частично.

Нужна новая верхняя группа Графики. На первом этапе недостающие пункты можно добавить как заглушки.

Пункт Статус Текущий маршрут Комментарий
График заказов Нужно реализовать - По ТЗ: производственный график, загрузка через 1С, связь с каталогом и монтажами.
График доставок Нужно реализовать - По ТЗ: недельный список, адреса из графика заказов, ручная занятость водителей.
График монтажей Есть schedule.index Сейчас верхний пункт График монтажей; нужно перенести внутрь группы Графики.

Рекламации

Статус: Частично.

Текущий раздел рекламаций есть, но в новом интерфейсе должен иметь отдельные вкладки Все и ДКР. Вкладка ДКР обязательна для отделения рекламаций, по которым формируется документация для оплаты.

Пункт Статус Текущий маршрут Комментарий
Все Есть reclamations.index Общий список всех рекламаций.
ДКР Частично reclamations.index Отдельная вкладка текущего списка с обязательным фильтром по типу dkr (ДКР); только здесь доступны рекламации для формирования платежных документов.

Рекламации из График заказов создаются из карточки заказа после выбора одного или нескольких МАФ. Открывается текущая форма создания, назначается тип other (Прочее) из справочника reclamation_types; такие рекламации не выводятся во вкладке ДКР, и для них недоступна документация для оплаты.

Запчасти

Статус: Есть, требуется реорганизация меню.

Раздел уже вынесен отдельным верхним пунктом Запчасти и внутри имеет вкладки. В новом меню можно сохранить его как верхнюю группу и явно отразить существующие подпункты.

Пункт Статус Текущий маршрут Комментарий
Каталог Есть spare_parts.index Каталог запчастей.
Заказы запчастей Есть spare_part_orders.index Текущий маршрут заказов запчастей; в старом интерфейсе мог называться Заказы деталей.
Контроль наличия Есть spare_part_inventory.index Текущая вкладка контроля наличия запчастей.
Справочник расшифровок Есть pricing_codes.index Показывать всем пользователям с доступом к модулю Запчасти.
Справка Есть spare_parts.help Текущая справочная страница раздела.

Склад наличие

Статус: Нужно реализовать.

Новый раздел по ТЗ. Должен быть реализован полностью по образцу раздела Запчасти: структура вкладок, карточки, заказы, контроль остатков, бронирование, списание, отмена брони, история движений, импорт/экспорт и права доступа берутся как базовая модель поведения и адаптируются под МАФ/позиции из Каталог общий.

На первом этапе нужны страницы-заглушки, затем отдельное ТЗ на модуль с привязкой к существующей логике Запчасти.

Пункт Статус Текущий маршрут Комментарий
Наличие Нужно реализовать - Видно всем пользователям. Список МАФ/позиций с остатком на складе больше 0.
Заказы Нужно реализовать - Доступ только админу и роли assistant_head. Ручное добавление заказов или импорт.

Отдельно в разделе потребуется PDF-экспорт наличия по шаблону.

Базовый функциональный ориентир:

  • Наличие соответствует логике контроля наличия/остатков в разделе Запчасти.
  • Заказы соответствует логике заказов деталей в разделе Запчасти.
  • Карточка позиции должна повторять подход карточки запчасти/заказа: остатки, активные брони, действия списания и отмены, история.
  • Расчет доступного остатка, запрет брони сверх доступного количества, списание с конкретных заказов и сохранение истории должны работать по той же логике, что и в Запчасти.
  • Отличие доменной модели: вместо запчастей используются МАФ/позиции из Каталог общий, а отображаемые поля позиции берутся из общего каталога.

Каталог общий

Статус: Частично.

По ТЗ это центральный справочник платформы. Это отдельная сущность, не каталог ДКР. Текущий catalog.index остается каталогом ДКР; для общего каталога используются маршруты с префиксом common-catalog/..., а таблицы и права получают техническое имя common-catalog.

Пункт Статус Текущий маршрут Комментарий
Позиции Нужно реализовать - Новый общий справочник. Состав и порядок колонок берутся из docs/refactor/Шаблон Каталог ощий.xlsx, нужны импорт/экспорт.
Карточка позиции Нужно реализовать - Центральная карточка общей позиции/МАФ.
Фото МАФ Нужно реализовать - Фото позиции общего каталога.
Документы Нужно реализовать - Сопутствующие документы позиции через текущий файловый механизм.
Техническое описание Нужно реализовать внутри карточки - Встроено в общий каталог как выгрузка/представление позиции в нужном формате.
Калькуляция Нужно реализовать - API-запрос по артикулу и отображение возвращенной калькуляции, если она есть.

Документация

Статус: Нужно реализовать.

Новый раздел для папок и файлов: инструкции, прайсы, прочая документация. На первом этапе нужна заглушка.

Технич. описание

Статус: Встроить в каталог.

Это не отдельный пункт меню и не самостоятельный модуль. Функциональность технического описания должна быть доступна из карточки позиции Каталог общий: по сути это те же данные позиции, но с выгрузками в определенном формате. Есть готовый Laravel-модуль, из которого нужно взять экспорт.

Калькуляции

Статус: Нужно реализовать позже.

Калькуляции работают через внешний API: запрос выполняется по артикулу, в ответ возвращается калькуляция, если она найдена. Подробное описание API будет предоставлено отдельно.

Администратор

Статус: Есть, требуется переименование группы.

Сейчас группа называется Администрирование. В новом меню по ТЗ целевое название — Администратор.

Пункт Статус Текущий маршрут Комментарий
Подрядчики Есть contractors.index Всегда показывать внутри группы Администратор; отдельным верхним пунктом не выводить.
Договоры Есть contract.index Сейчас внутри Администрирование.
Пользователи Есть user.index Сейчас внутри Администрирование.
Роли и права Есть admin.roles.index Сейчас внутри Администрирование.
Настройки Есть admin.settings.index Сейчас внутри Администрирование.
Округа Есть admin.district.index Сейчас внутри Администрирование.
Районы Есть admin.area.index Сейчас внутри Администрирование.
Журнал уведомлений Есть admin.notifications.log Сейчас внутри Администрирование.
Импорт Есть import.index Сейчас внутри Администрирование.
Экспорт/Импорт года Есть year-data.index Сейчас внутри Администрирование.
Удалить данные Есть clear-data.index Сейчас внутри Администрирование.

Предлагаемый первый этап реализации

  1. Перестроить resources/views/layouts/menu.blade.php под верхние группы из этого документа.
  2. Для разделов без реализации добавить общую страницу-заглушку В разработке.
  3. Сохранить текущие права доступа для уже существующих пунктов.
  4. Для новых пунктов-заглушек открыть доступ всем авторизованным пользователям.
  5. Не менять бизнес-логику существующих модулей на этапе реорганизации меню.
  6. Для новых модулей не применять фильтрацию/ограничение по выбранному году.

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

  1. Какой точный контракт внешнего API калькуляций?