11 lines
4.3 KiB
Plaintext
11 lines
4.3 KiB
Plaintext
{
|
||
"nodes":[
|
||
{"id":"65173e51537acb80","x":-731,"y":-329,"width":391,"height":369,"color":"1","type":"text","text":"**Массив обязательных полей.**\nСюда попадают поля, которые не прописаны в БД, не имеют свойств и работают как сейчас.\n\n- Показываются всегда\n- Валидируются в обычном режиме (при статусе 2)\n- Сохраняются в обычном режиме в поля таблицы заявки/основания\n- Возможен перенос в массивы данных для удобства хранения/добавления"},
|
||
{"id":"815f80b062c9109e","x":-731,"y":60,"width":391,"height":600,"color":"4","type":"text","text":"**Массив опциональных полей**\nМногие поля из текущей конфигурации должны перейти в категорию “опциональных”.\n- Поля созданы нами\n- Свойства каждого поля хранятся в БД -\n\t- наименование поля\n\t- внутреннее наименование для синхронизации с фронтедом\n\t- родительская сущность\n\t- привязка к тарифам\n\t- привязка к типу ОИ\n\t- привязка к типу исследований\n\t- привязка к ПГО / ФИЗ\n\t- свойства валидации Laravel Request\n\t\t- при сохранении\n\t\t- при отправке на согласование\n\t- доступность в документах\n\t\t- макрос/код в документах\n\t\t\t- внутренний код / наименование\n\t"},
|
||
{"id":"bb17e362d8091d58","x":-731,"y":680,"width":391,"height":540,"color":"6","type":"text","text":"**Массив пользовательских полей**\nНе входят в MVP.\nПоля, которые могут создавать и пользователи.\nВключают в себя всё вышеперечисленное, но хранятся ОТДЕЛЬНО и рендерятся на фронте отдельным модулем, потому имеют дополнительные свойства:\n- тип поля (текст, мульти/селект, число, файл, массив)\n- некий движок-конструктор получения данных для селектов\n- индекс отображения/положения в интерфейсе\n- связанное/зависимое поле для валидации\n- привязка к конкретной вкладке на фронте\n- упрощённая валидация\n- данные хранятся в json родительской сущности."},
|
||
{"id":"40b4c7cf09561259","x":-60,"y":-209,"width":767,"height":169,"type":"text","text":"**Инициализация фронтенда**\n\nНа фронтенде прописаны ВСЕ поля - и обязательные и необязательные. Так же прописано их положение в интерфейсе.\nСо связями и всем прочим. Таким образом мы сильно разгружаемся и ускоряемся.\nПо-умолчанию все опциональные поля скрыты."},
|
||
{"id":"367f62a87583684f","type":"text","text":"При сохранении","x":-60,"y":340,"width":767,"height":220},
|
||
{"id":"62eb2ec107a95275","x":-60,"y":40,"width":767,"height":250,"type":"text","text":"**Для новой заявки**\n- при выборе всех нужных опций с сервера запрашивается **список доступных опциональных полей** для данной конфигурации. Просто перечисление того, что включать.\n\n**Для существующей заявки**\n- сразу при загрузке теми же модулями определяются настройки и прилетает уже готовый массив с разрешёнными полями (отдельно от данных). Поля включаются на фронте и в них заносятся данные."}
|
||
],
|
||
"edges":[]
|
||
} |