Карточка объекта

Карточка объекта сети: все поля паспорта по вкладкам, результаты расчёта, журналы объекта, история правок и правка свойств — как окно свойств десктопа.

Где найти
щелчок по объекту сети на карте (режим «Информация об объекте» — кнопка «i» над картой — включён по умолчанию).
Права
смотреть — всем, кто вошёл; править — право «Свойства» на вид объекта в матрице прав.
Функция показана в сквозном сценарии:Первый вход и карта
Читаю как

Возможности

  • Все поля паспорта объекта по вкладкам и группам, как в окне свойств десктопа; поиск по полям, счётчик «заполнено N из M».
  • Блок «Результаты расчёта» у объекта слоя результатов: расход, скорость, падение давления, удельное падение, напоры в начале и в конце.
  • Кнопки действий: паспорт в Excel, анализ отключения («какие задвижки закрыть»), трассировка, журналы объекта (нарушения, шурфовки, осмотры, ремонты, опрессовки), технические условия, индикаторы коррозии, данные тепловых потерь, температурный график источника, оборудование, «История правок объекта», «Копировать всё».
  • Правка свойств: одного объекта; нескольких сразу («Править несколько…», Shift + рамка на карте); «Как у соседнего»; шаблоны карточек; подсказки для полей (сортамент труб, справочные таблицы, местные сопротивления, коэффициент смешения, схема присоединения потребителя).
  • Каждое сохранение можно отменить кнопкой «Отменить» в сообщении; история правок показывает, кто, когда и что менял.
  • Карточка закрепляется справа или открепляется в плавающее окно.

Как это работает

Что показывается. Поля, вкладки и их названия берутся из описания карточек десктопа в базе города (таблицы tg_tabs, tg_names), поэтому карточка совпадает с окном свойств десктопа. Значения — из таблиц сети (linesobj, nodes, таблицы потребителей, источников и оборудования), запрос GET /api/{тип}/{слой}/{id}.

Правка. «Редактировать свойства» переводит поля в форму. Сервер при сохранении:

  1. проверяет право на вид объекта и территорию (свои фрагменты или «только свои» объекты);
  2. сверяет версию строки: если объект изменили после открытия карточки, сохранение не пройдёт, карточка предложит перечитать данные;
  3. пишет все поля одной транзакцией вместе с журналом изменений (audit_log) и журналом отмены.

Изменённые поля помечаются, внизу — «Изменений нет» или их число. Обязательные поля отмечены звёздочкой, числовые проверяются сразу («Ожидается число»).

«Как у соседнего» копирует конструктивные поля с примыкающего участка (для узла — с соседнего или ближайшего узла). Изменённые поля подсвечиваются — их нужно проверить и сохранить.

Шаблон — набор значений полей с названием: «Сохранить как шаблон…», затем «Применить шаблон» к другому объекту или к выбору. Свой шаблон видит только автор, общий — все редакторы.

Несколько объектов. В режиме «Править несколько» карточка показывает общие значения; поля с пометкой «разные» не меняются, пока в них не введено значение. Перед сохранением видно, сколько строк изменится (до 5000 объектов за раз).

Одновременная работа. Если тот же объект сейчас правит другой пользователь, карточка предупреждает: «Этот объект сейчас правит …». Если он сохранил раньше — «Объект изменил … — значения в форме устарели» и кнопка обновить.

Что нужно для работы

  • Смотреть — любой, кто вошёл.
  • Править — право «Свойства» (edit) на вид объекта в матрице прав: участки, узлы, потребители, источники, оборудование, режим (узлы с заданным напором и подпитки). Территория: «все» или «только свои» объекты (созданные этим пользователем).
  • Общие шаблоны — ещё право «Справочники и шаблоны карточек».
  • Сервер: MUTATIONS_ENABLED=true, иначе карандаша нет.

Шаги

  1. Щёлкните по объекту на карте — у точки щелчка откроется краткая сводка. Если в точке несколько объектов (подача и обратка, узел и участок), сначала появится меню «Выберите объект».

    Карточка объекта: шаг 1

  2. Кнопка «Карточка» в сводке открывает карточку справа: название, сколько полей заполнено, кнопки действий, поиск по полям и вкладки как в десктопе.

    Карточка объекта: шаг 2

  3. «Редактировать свойства» (карандаш) переводит карточку в правку. Сверху — «Как у соседнего» и «Шаблон», внизу — счётчик изменений, «Отмена» и «Сохранить».

    Карточка объекта: шаг 3

  4. Карточка узла: «Оборудование узла» (кнопка с вентилем) — задвижки, регуляторы, насосы и другое оборудование, примыкающее к узлу и в его внутренней схеме.

    Карточка объекта: шаг 4

Примеры

Участок на копии Алматы. Участок «М2 2КОК-13А — М2 2КОК-16» (Ду400): заполнено 104 поля из 170. Вкладки: «Участок трубопровода», «Конструкция», «Даты» и другие. В правке видны «Владелец участка теплопровода», «Гидравлическое сопротивление», состояния подающего и обратного трубопроводов («открыто») и «Стандарт труб на участке».

Узел без оборудования. Узел 2КОК-13А: 33 поля из 50. «Оборудование узла 0» — «У узла и в его внутренней схеме нет оборудования с карточкой (задвижки, регуляторы, насосы…)».

Отмена ошибочной правки. Поменяли Ду участка и сохранили — внизу «Сохранено полей: 1» с кнопкой «Отменить». Нажатие вернёт прежнее значение: «Правка свойств отменена». Если после вас объект уже кто-то поменял — «Отменить нельзя: объект изменён после этой правки.»

Если не получается

  • Нет карандаша «Редактировать свойства» — нет права на этот вид объекта, объект вне вашей территории или запись на сервере выключена.
  • «Объект изменил другой пользователь. Перечитать карточку? Ваши изменения будут потеряны.» — сохраните заново после перечитывания.
  • «Сохранено, но карточку не удалось обновить — выберите объект заново» — данные записаны, щёлкните по объекту ещё раз.
  • Щелчок по объекту ничего не открывает — выключен режим «Информация об объекте» (кнопка «i» над картой) или включены «Измерения».

Для администратора

  • Права: матрица видов × действий (permissions.py): виды line, node, consumer, source, equipment, regime; действия «Свойства» (edit), «Создание», «Перемещение», «Удаление»; охват «нет / только свои / все». Готовые роли: расчётчик — свойства потребителей, источников, оборудования и режима; оператор — свои объекты; редактор — всё, удаление только своего; администратор — всё.
  • Запись: MUTATIONS_ENABLED=true. Каждое сохранение — строка audit_log с автором; её видно в «Истории правок» и в «Кто на карте».

Для разработчика

  • Веб: components/AttributePanel.vue (карточка и кнопки), components/InspectorPanel.vue → components/objectCard/ObjectCardShell.vue (рамка, закрепление), ObjectCardEdit.vue, CardFieldEditor.vue, CardHelperDialog.vue, ConsumerSchemeDialog.vue, NodeEquipmentList.vue; выбор объекта — utils/mapPick.ts, components/FeatureMenu.vue.
  • API правки — routers/card_edit.py: GET /api/v1/card-edit/{kind}/{table}/{id} (поля и версии), PUT /api/v1/card-edit (сохранение, 409 при чужой правке), POST …/batch/preview|apply (несколько объектов), GET …/neighbor/{kind}/{id} («как у соседнего»), GET /api/v1/card-edit/equipment-at/{node_id}; шаблоны — /api/v1/card-templates (таблица card_template); отмена — POST /api/topology/undo; история — GET /api/v1/audit-log.
  • Тесты: веб — tests/components/InspectorPanel.spec.ts, tests/utils/objectCard.spec.ts, tests/utils/desktopCard.spec.ts; API — tests/test_card_edit.py, test_card_desktop_rules.py, test_permissions.py.
Хотите увидеть эту функцию на своих данных?Покажем ТГИД на демонстрации и ответим на вопросы инженеров.
Запросить демо