Appearance
Пример настройки: оборудование цеха
Настройки компонента @mes/aps@1.23.0. В MES имена записей Settings начинаются с schedule.; см. как заполнить запись.
Задача — показать расписание оборудования без полос поставок и заявок, оставить штриховку недоступности, подписать операции и при наведении показать название операции, номер заказа и время. Пустое оборудование не должно занимать строки.
Это полный объект пользовательских настроек для данной задачи. Он относится к конфигурации GanttChart; служебные значения uuid и webWorker добавляет код приложения. Если у приложения свой формат настроек, эти же ключи записываются по его правилам: объект не вставляют вместо всей конфигурации.
Что передаёт приложение
Разработчик встраивает компонент. Приложение получает расписание из своего API и передаёт его в schedules: операции — в scheduledOperations, заказы — в workOrders. Чтобы строка «Номер заказа» показала номер, orderGuid операции должен совпадать с guid заказа.
Приложение объединяет объект ниже со значениями по умолчанию пакета и передаёт результат в config.
Объект настроек
json
{
"sidebarWidth": 200,
"hideEmptyUnits": true,
"swapLayers": false,
"showConstraints": false,
"showMaterialConstraints": false,
"barSettings": {
"initialWidth": 40,
"maxInitialWidth": 160
},
"precisionYGantt": {
"minSize": 30,
"maxSize": 200,
"steps": 20
},
"appSettings": {
"locale": "ru-RU",
"timezone": "UTC",
"undefinedTooltipText": "Не задан",
"splitter": {
"enableSplitter": true,
"minWidth": 150,
"maxWidth": 450
},
"equipmentAreaSettings": {
"ganttTitle": "Оборудование цеха",
"showSupply": false,
"showRequest": false,
"showAvailability": true,
"showAdjustment": true,
"showTerminator": true
},
"drawPreferences": {
"labelTextFont": "arial",
"labelTextFontSize": 14,
"useLabelEllipsis": true
}
},
"equipmentInfoConfig": {
"workUnitObjectName": { "label": "", "order": 1 }
},
"operationInfoConfig": {
"name": { "label": "", "order": 1 },
"workOrder.number": { "label": "", "order": 2 }
},
"operationTooltipConfig": {
"name": { "label": "Операция", "order": 1 },
"workOrder.number": { "label": "Номер заказа", "order": 2 },
"startDate": { "label": "Начало", "order": 3 },
"finishDate": { "label": "Завершение", "order": 4 }
}
}Какой результат проверить
После передачи расписания график подбирает горизонтальный масштаб. Максимальная базовая ширина деления при подгонке — 160 пикселей. Высота строк меняется ползунком из 20 положений; нижняя граница 30 пикселей действует при достаточной высоте поля, верхняя ограничена 200 пикселями и высотой поля. Эти значения относятся к одному уровню строки: у оборудования с finite: false строка выше, см. шкалу времени и масштаб.
Слева видны названия оборудования под заголовком «Оборудование цеха». Строк без запланированных операций нет. Полосы поставок и заявок не занимают место. Штриховка недоступности и полосы наладки остаются там, где соответствующие данные есть в расписании.
Для примера возьмём операцию «Фрезеровка», связанную с заказом З-104, с началом 2026-09-22T08:00:00.000Z и окончанием 2026-09-22T10:00:00.000Z. Если полоса достаточно широка и строка достаточно высока, в полосе будут две подписи — «Фрезеровка» и З-104. Сколько строк помещается по высоте, объясняет страница операций: при размере шрифта 14 для двух строк нужна базовая высота строки не меньше 72 пикселей, а при нижней границе 30 пикселей подписей в полосе нет. При наведении:
text
Операция: Фрезеровка
Номер заказа: З-104
Начало: 2026-09-22T08:00:00.000Z
Завершение: 2026-09-22T10:00:00.000ZЗамените названия, номер и даты значениями из своего расписания. Пакет выводит даты строками из данных: locale и timezone их не форматируют. Если заказ отсутствует, строка номера покажет «Не задан». Для узкой полосы подпись может обрезаться; подробности — на странице операций.
Изменить этот вариант
- Нужны поставки и заявки — включите
showSupplyиshowRequest, см. поставки и заявки. - Нужен другой состав подсказки — измените
operationTooltipConfig, см. операции; правила строк — на странице подсказок и подписей. - Нужны панели ограничений — выберите панель и задайте подписи по руководству по ограничениям; данные ограничений передаёт приложение.
- Нужно другое отображение времени на шкале — выберите локаль и часовой пояс.