menu.md 15 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 Текущий список с предустановленным фильтром по источнику ДКР.

Запчасти

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

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

Пункт Статус Текущий маршрут Комментарий
Каталог Есть 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.

Пункт Статус Текущий маршрут Комментарий
Позиции Нужно реализовать - Новый общий справочник. Нужны колонки по шаблону калькулятора, импорт/экспорт.
Карточка позиции Нужно реализовать - Центральная карточка общей позиции/МАФ.
Фото МАФ Нужно реализовать - Фото позиции общего каталога.
Документы Нужно реализовать - Сопутствующие документы позиции через текущий файловый механизм.
Техническое описание Уточнить / встроить - Вероятно поглощается общим каталогом как выгрузка/представление позиции в нужном формате.
Калькуляция Нужно реализовать - 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. Оставлять ли Технич. описание отдельным пунктом меню или полностью встроить в Каталог общий?
  2. Какой точный контракт внешнего API калькуляций?