Appearance
apps/panel 0.82.0
Дата выпуска: 15 сентября 2026 года. Предыдущая версия: 0.81.1.
Что изменилось
- Новое действие
toggleMaterialConstraintsна панели инструментов диаграммы Ганта открывает и закрывает под диаграммой панель движения материалов из@mes/aps1.21.0. Раньше приложение эту панель не показывало. Когда пользователь открывает её, панель Ганта отправляет{ "scheduleGuid": "<текущее расписание>" }вPOST /Schedule/GetMaterialConstraints, берёт из ответа списокconstraintDataи передаёт его в панель движения материалов. Результат сообщает уведомление: «Данные движения материалов успешно получены», «Данные движения материалов не найдены», если список пуст, или «Не удалось получить данные движения материалов». - Даты
startDateиfinishDateсобытий движения материалов панель Ганта принимает сZили со смещением часового пояса и, как и даты расписания, переводит в UTC, прежде чем передать события в@mes/aps. @mes/aps1.21.0 показывает вторичные ограничения и движение материалов в одной области под диаграммой, поэтому панель Ганта держит открытой только одну из этих панелей: открытие вторичных ограничений закрывает панель движения материалов, а открытие движения материалов — панель вторичных ограничений.- Когда действие заменяет расписание целиком, например при генерации или обновлении, панель Ганта снова открывает ту панель ограничений, что была открыта, и повторяет её запрос без уведомления. Вторичные ограничения вели себя так и раньше, теперь так же ведёт себя движение материалов.
- Настройка
schedule.showMaterialConstraints: trueтеперь открывает панель движения материалов, когда диаграмма показала открытое расписание. Еслиschedule.showConstraintsтоже равнаtrue, открывается только панель вторичных ограничений. Для панели, открытой настройкой, панель Ганта запрашивает данные без уведомления. Эти настройки действуют, только пока у панели Ганта нет записанного состояния «открыта» или «закрыта» для этой панели ограничений. Состояние записывается, когда настройка открывает панель, когда пользователь открывает или закрывает её действием и когда он открывает другую панель ограничений; оно сохраняется, пока панель Ганта остаётся открытой. До версии 0.82.0 настройкаschedule.showMaterialConstraintsне действовала.
Настройка
Добавьте в panelActions панели Ганта действие с методом toggleMaterialConstraints. Фрагмент ниже показывает полную вложенность. Замените schedule-gantt на id своей панели Ганта; gantt-actions и toggle-material-movement — примеры идентификаторов. Если у панели уже есть группа действий, добавьте в её actions только объект действия. Пока панель движения материалов закрыта, на панели инструментов видна подпись label, а пока открыта — labelToggleOn.
json
{
"id": "schedule-gantt",
"type": "gantt",
"panelActions": [
{
"id": "gantt-actions",
"renderType": "dropdown",
"label": "Расписание",
"actions": [
{
"id": "toggle-material-movement",
"method": "toggleMaterialConstraints",
"label": "Показать движение материалов",
"labelToggleOn": "Скрыть движение материалов"
}
]
}
]
}Чтобы панель открывалась автоматически, добавьте запись Settings API с префиксом schedule:
text
schedule.showMaterialConstraints = trueПодписи строк и поля подсказок панели движения материалов задают настройки @mes/aps schedule.materialConstraintsListInfoConfig и schedule.materialConstraintsTooltipConfig. В @mes/aps 1.21.0 у них нет полей по умолчанию, а панель Ганта передаёт их в пакет без изменений — без форматирования дат и преобразований valueMap.
Если данные не появились
- «Данные движения материалов не найдены»: API вернул для текущего расписания пустой список
constraintData, и панель движения материалов остаётся пустой. Запрос содержит только GUID расписания, поэтому никакая настройка панели Ганта этот ответ не изменит. - «Не удалось получить данные движения материалов»: запрос завершился ошибкой, а панель движения материалов осталась открытой без новых данных. Чтобы повторить запрос, выберите действие дважды: первое нажатие закроет панель, второе снова откроет её и отправит запрос. Если ошибка повторяется, её причина не в конфигурации панели Ганта: приложите к сообщению о проблеме запрос и ответ
POST /Schedule/GetMaterialConstraintsс вкладки «Сеть» в инструментах разработчика браузера.
Как открыть демонстрацию
Запустите панель с NUXT_LOCAL_FIXTURE_API_ENABLED=true и NUXT_PUBLIC_API_PREFIX=/local-api, войдите с любыми непустыми именем пользователя и паролем и откройте в группе «Демо панели Gantt» приложение «Gantt: часовой пояс браузера» (/app/local-gantt-transform-demo) или «Gantt: явный UTC» (/app/local-gantt-transform-utc-demo). Откройте расписание действием «Открыть Gantt» в строке таблицы «Демо-заказы», затем выберите Gantt → Показать движение материалов. Демонстрационный сервер отвечает на POST /Schedule/GetMaterialConstraints событиями по двум материалам. Подписи строк в демонстрации не настроены, поэтому строки остаются без подписей и открываются минимальной высоты.
Известные ограничения
@mes/aps1.21.0 не сообщает панели Ганта, что пользователь закрыл движение материалов кнопкой закрытия внутри панели пакета. Действие по-прежнему показываетlabelToggleOn, следующее нажатие на него снова открывает панель, а не закрывает её, и следующее действие, которое заменяет расписание целиком, тоже её открывает. Закрывайте движение материалов действием на панели инструментов. Если так же закрыть вторичные ограничения, подпись действия обновится.- В
@mes/aps1.21.0 строки движения материалов открываются минимальной высоты: пакет рассчитывает её по списку вторичных ограничений. Чтобы увеличить строки, используйте вертикальный масштаб панели движения материалов. - Без
schedule.materialConstraintsListInfoConfigу строк движения материалов нет подписей. - С
@mes/aps1.21.0 при каждой загрузке диаграммы в консоли браузера появляется ошибка воркера APSCannot read properties of undefined (reading 'map')— независимо от того, открыта ли панель движения материалов. На данные этой панели ошибка не влияет.
Обновлённая документация
- В модели работы диаграммы Ганта описаны оба действия панелей ограничений, их запросы и уведомления, причина, по которой открытие одной панели закрывает другую, и возвращение открытой панели после замены расписания.
- В списке значений по умолчанию и приоритетов объяснено, когда
schedule.showConstraintsиschedule.showMaterialConstraintsоткрывают панель; утверждения о том, чтоschedule.showMaterialConstraintsне действует, там больше нет. - В ограничениях диаграммы Ганта перечислены описанные выше ограничения
@mes/aps1.21.0 и исправлено описание закрытия вторичных ограничений внутри пакета: подпись действия при этом обновляется. - В разделе запускаемых демонстраций объяснено, как открыть движение материалов в обеих локальных демонстрациях диаграммы Ганта.
- Каталог действий (на английском) включает
toggleMaterialConstraintsв список действий расписания, а новые страницы параметров (тоже на английском) описываютschedule.showConstraintsиschedule.showMaterialConstraints.