Общая информация
Компонент MapService предназначен для выбора территориального органа на карте, в который получатель услуги направит своё заявление, принесёт необходимые документы и получит результат услуги на бумажном носителе
Поддерживаемые экраны
Компонент MapService может быть задействован на экране типа:
Внешний вид компонента
В услуге
В конструкторе
Структура компонента MapService
ВКУ | JSON |
|
||
№ | В конструкторе | Атрибут | Тип | Описание |
1 | Идентификатор компонента | id | string | Уникальный идентификатор компонента в JSON |
2 | Удобочитаемое имя компонента |
|
|
Допускается ввод любых данных для отображения в конструкторе, однако классическим видом является s1_с1, где номера — сгенерированные идентификаторы, s — экран, c — компонент |
3 | Заголовок компонента | label | string | Название поля. Описывает, что пользователю необходимо ввести в отображаемое ему поле |
4 | Идентификатор подсказки/саджеста/suggest | true | string | Отображение пользователю набора подходящих для ввода данных и автоматическое заполнение полей формы этими данными |
5 | Тип карты | mapType | tring |
Тип карты может принимать следующие значения:
|
6 | Название загружаемого словаря | dictionaryType | string | Название справочника NSI |
7 | Включение pull-режима при вызове методов NSI-справочника |
|
|
|
8 | Настройка фильтрации справочника | dictionaryFilter | array of object | Параметры, по которым будут фильтроваться атрибуты справочника |
9 | Дополнительная настройка фильтрации справочника | secondaryDictionaryFilter | array of object | Эта настройка используется, когда в одном компоненте нужно делать запрос к справочнику с разными фильтрами в зависимости от ответов пользователя. Фронтэнд определяет, какой фильтр использовать, по значению аргумента dictionaryFilterPriority, задаваемому в linkedValues |
10 | Атрибуты, запрашиваемые из справочника | selectAttributes | array |
Перечень атрибутов справочника, которые запрашиваются из api/nsi/v1/dictionary/ Атрибуты из этого массива подставляются в тело запроса к сервису dictionary и в ответе возвращаются не все поля, а только перечисленные |
11 | Поле справочника, в котором указан адрес подразделения |
|
|
|
12 | Настройка отображения информации о выбранном объекте | baloonContent | array | Настройка отображения информации о выбранном подразделении |
13 | Наименование кнопки | name | string | Наименование атрибута в справочнике |
14 | Отображать номер избирательного округа? |
|
|
|
15 | Отображать дисклеймер? |
|
|
|
16 | Настройка отображения информации об объекте при наведении на пин | miniBalloonTexts |
|
В атрибуте задаются, какие поля справочника, указанного в "dictionaryType", будут выводиться в плашке при наведении на пин Значение из первого поля, указанного в массиве будет заголовком, остальные поля выводятся в той же последовательности, как в массиве |
17 | Для справочника нужна авторизация по токену? | withToken | boolean | Указывает на необходимость работать с кукой на стороне бэкенда при запросе на бэкенде с некоторыми типами справочников, у которых включена проверка авторизации |
18 | Тип операции | type | string |
Адрес пользователя, необходимый для вычисления координат позиционирования карты ref указывается, если адрес нужно получить из ответа пользователя (из значения компонента предыдущих экранов) calc указывается, если нужно вычислить адрес argument указывается, если адрес рассчитывается в аргументе linkedValues |
19 | Автоматический выбор объекта, ближайшего к адресу, заданному в атрибуте adressString | autoMapFocus | boolean |
|
20 | Отображать все пины в видимой области карты? |
|
|
|
21 | Начальный коэффициент масштабирования карты | initZoom |
|
Начальный коэффициент масштабирования карты (при переходе на экран) Возможно значение от 1 до 23 (1 — очень далеко, 23 — близко) Если initZoom = 0 или атрибут отсутствует, то карта отобразится с зумом по умолчанию (равным 9) |
22 | Минимальный коэффициент масштабирования карты | minZoom |
|
Минимальный коэффициент масштабирования карты, который можно настроить на карте, двигая ползунок масштаба или колесико мыши Атрибут может принимать значения от 1 до 23, по умолчанию на фронте задано 4 Может потребоваться переопределить minZoom, если атрибут autoCenterAllPoints: true, и все подразделения не влезают на карту с зумом 4 |
23 | Максимальный коэффициент масштабирования карты | maxZoom |
|
Максимальный коэффициент масштабирования карты, который можно настроить на карте, двигая ползунок масштаба или колесико мыши Атрибут может принимать значения от 1 до 23, по умолчанию на фронте задано 18 |
24 | Сообщение об ошибке в случае отсутствия подразделений | noDepartmentsErrorMsg | string |
|
25 | Очищать выбранное подразделение при возврате на экран с картой? |
|
|
|
26 | Тип операции | type | string | Этот атрибут указывается, если при запросе справочника нужен фильтр по персональным данным пользователя: фамилии, имени, отчеству |
27 | Идентификатор компонента | value | string | Указывается ссылка на компонент, в котором содержатся атрибуты firstName, lastName, middleName |
28 | Поля из данных о пользователе, для использования в фильтрах |
|
|
|
29 | Включить валидацию при обработке компонента | validationOn | boolean |
|
30 | Скрыть кнопку выбора организации? |
|
|
|
31 | Атрибут справочника, содержащий координату (широту) местонахождения организации | attributeWithLatitude | string | Нужно указать атрибут из attributeValues с широтой |
32 | Атрибут справочника, содержащий координату (долготу) местонахождения организации | attributeWithLongtitude | string | Атрибут из attributeValues с долготой |
33 | Компонент используется в сценарии записи на прием по приглашению? (25 статус) | isInvite | boolean |
|
34 | Атрибут справочника, по которому будет осуществляться фильтрация организаций при записи на приём по приглашению (25 статус) | orgKeyName | string | В этом атрибуте указывается поле справочника организаций, по которому будет осуществляться фильтрация организаций. Атрибут актуален только для работы карты для записи на приём по приглашению (25 статус), то есть только, если включён флаг "isInvite": true |
35 | Ссылка на значения атрибутов для подстановки в отображаемый текст |
|
|
|
36 | Вычисление значения атрибута mvd_source, по которому будет осуществляться фильтрация организаций в услугах МВД |
|
|
Фильтры МВД — в зависимости от того, какой ФИАС попадёт — выбирается соответствующий value, который дальше подставится в атрибут mvd_source |
37 | Список ФИАС кодов округов | value |
|
Путь к атрибуту, где содержится строка адреса для вычисления координат и кодов региона в формате id.атрибут |
38 | Список ФИАС кодов федерального уровня | value |
|
|
39 | Путь (path) до сервиса |
|
|
|
40 | Уровень выборов для формирования URL |
|
|
|
41 | Дата выборов для формирования URL |
|
|
|
42 | Включить логику, связанную с запросом организаций из справочника? |
|
|
|
43 | Наименование точки |
|
|
|
44 | Настройка отображения на карте дополнительных точек |
|
|
|
45 | Настройка формирования health-метрик | healthList |
|
|
46 | Вычисляемые аргументы компонента (linkedValues) |
|
|
|
47 | Идентификаторы компонентов, для которых чистить кэш | clearCacheForComponentIds | array | Идентификаторы компонентов, для которых чистить кэш. Если ответ на текущий компонент отличается от того что указан в cachedAnswers (если он там присутствует), то будут удалены все cachedValues указанные в этом поле |
Пример JSON структуры объекта передаваемой в DTO
{
"visited": true,
"value": {
"value": "PGS_CNSTR_ORG_25000000_1213800023073_-10000000227",
"title": "Областное государственное бюджетное учреждение «Управление социальной защиты и социального обслуживания населения по Аларскому району»",
"isLeaf": true,
"children": null,
"attributes": [
{
"name": "SCHEDULE",
"type": "STRING",
"value": {
"typeOfValue": "STRING"
}
},
{
"name": "PHONE",
"type": "STRING",
"value": {
"asString": "8(39564)37-1-39",
"typeOfValue": "STRING",
"value": "8(39564)37-1-39"
},
"valueAsOfType": "8(39564)37-1-39"
},
{
"name": "KPP",
"type": "STRING",
"value": {
"asString": "381001001",
"typeOfValue": "STRING",
"value": "381001001"
},
"valueAsOfType": "381001001"
},
{
"name": "CODE",
"type": "STRING",
"value": {
"asString": "1213800023073",
"typeOfValue": "STRING",
"value": "1213800023073"
},
"valueAsOfType": "1213800023073"
},
{
"name": "SERVICE_CODE",
"type": "STRING",
"value": {
"asString": "-10000000227",
"typeOfValue": "STRING",
"value": "-10000000227"
},
"valueAsOfType": "-10000000227"
},
{
"name": "TITLE",
"type": "STRING",
"value": {
"asString": "Областное государственное бюджетное учреждение «Управление социальной защиты и социального обслуживания населения по Аларскому району»",
"typeOfValue": "STRING",
"value": "Областное государственное бюджетное учреждение «Управление социальной защиты и социального обслуживания населения по Аларскому району»"
},
"valueAsOfType": "Областное государственное бюджетное учреждение «Управление социальной защиты и социального обслуживания населения по Аларскому району»"
},
{
"name": "SHORT_TITLE",
"type": "STRING",
"value": {
"asString": "ОГБУ «УСЗСОН по Аларскому району»",
"typeOfValue": "STRING",
"value": "ОГБУ «УСЗСОН по Аларскому району»"
},
"valueAsOfType": "ОГБУ «УСЗСОН по Аларскому району»"
},
{
"name": "ADDRESS",
"type": "STRING",
"value": {
"asString": "669452, Иркутская область, Аларский район, Кутулик, улица Советская, 36",
"typeOfValue": "STRING",
"value": "669452, Иркутская область, Аларский район, Кутулик, улица Советская, 36"
},
"valueAsOfType": "669452, Иркутская область, Аларский район, Кутулик, улица Советская, 36"
},
{
"name": "EMAIL",
"type": "STRING",
"value": {
"asString": "ala_kutulik@mail.ru",
"typeOfValue": "STRING",
"value": "ala_kutulik@mail.ru"
},
"valueAsOfType": "ala_kutulik@mail.ru"
},
{
"name": "REGOKATO",
"type": "STRING",
"value": {
"asString": "25000000000",
"typeOfValue": "STRING",
"value": "25000000000"
},
"valueAsOfType": "25000000000"
},
{
"name": "SLOTPERCENT",
"type": "STRING",
"value": {
"typeOfValue": "STRING"
}
},
{
"name": "INN",
"type": "STRING",
"value": {
"asString": "3851026940",
"typeOfValue": "STRING",
"value": "3851026940"
},
"valueAsOfType": "3851026940"
},
{
"name": "TYPE_SERVICE_CODE",
"type": "STRING",
"value": {
"asString": "regional",
"typeOfValue": "STRING",
"value": "regional"
},
"valueAsOfType": "regional"
},
{
"name": "OKTMO",
"type": "STRING",
"value": {
"asString": "25605426101",
"typeOfValue": "STRING",
"value": "25605426101"
},
"valueAsOfType": "25605426101"
},
{
"name": "Availability",
"type": "STRING",
"value": {
"typeOfValue": "STRING"
}
},
{
"name": "FIELD_ID",
"type": "STRING",
"value": {
"asString": "PGS_CNSTR_ORG_25000000_1213800023073_-10000000227",
"typeOfValue": "STRING",
"value": "PGS_CNSTR_ORG_25000000_1213800023073_-10000000227"
},
"valueAsOfType": "PGS_CNSTR_ORG_25000000_1213800023073_-10000000227"
}
],
"attributeValues": {
"SHORT_TITLE": "ОГБУ «УСЗСОН по Аларскому району»",
"OKTMO": "25605426101",
"FIELD_ID": "PGS_CNSTR_ORG_25000000_1213800023073_-10000000227",
"PHONE": "8(39564)37-1-39",
"SERVICE_CODE": "-10000000227",
"TYPE_SERVICE_CODE": "regional",
"INN": "3851026940",
"KPP": "381001001",
"EMAIL": "ala_kutulik@mail.ru",
"CODE": "1213800023073",
"ADDRESS": "669452, Иркутская область, Аларский район, Кутулик, улица Советская, 36",
"TITLE": "Областное государственное бюджетное учреждение «Управление социальной защиты и социального обслуживания населения по Аларскому району»",
"REGOKATO": "25000000000"
},
"objectId": 0,
"center": [
102.791514,
53.345317
],
"baloonContent": [
{
"value": "669452, Иркутская область, Аларский район, Кутулик, улица Советская, 36",
"label": "Адрес"
}
],
"agreement": true,
"idForMap": 0,
"expanded": true
}
}
|
Варианты использования
Поиск и выбор на карте нужного объекта, например отделения МФЦ или территориального отделения ведомства
Команда ВКУ подготовила шаблон — [Пример][Форма] Настройка компонента карты