Commit 15ed4996 authored by Samir Sadyhov's avatar Samir Sadyhov 🤔

запуск маршрутов - добавлена проверка на пустые значения + доработки

parent 7665e654
...@@ -31,6 +31,28 @@ const parseRouteData = data => { ...@@ -31,6 +31,28 @@ const parseRouteData = data => {
return JSON.stringify(result); return JSON.stringify(result);
}; };
const checkErrors = route => {
const errors = [];
const checkBlock = block => {
if (block?.showOnSave !== "true") return;
block.items?.forEach(item => {
item.users?.forEach(proc => {
if (!proc.userID) {
errors.push({errorMessage: 'Не выбран ответственный', itemID: proc.itemID});
}
});
});
};
checkBlock(route.before);
checkBlock(route.after);
return errors.length ? errors : null;
};
const routeNames = { const routeNames = {
"ASSIGNMENT_ITEM": "Работа", "ASSIGNMENT_ITEM": "Работа",
"AGREEMENT_ITEM": "Согласование", "AGREEMENT_ITEM": "Согласование",
...@@ -39,6 +61,7 @@ const routeNames = { ...@@ -39,6 +61,7 @@ const routeNames = {
"SEND_DOCUMENT": "Отправка документа", "SEND_DOCUMENT": "Отправка документа",
"BLOCKING_PROCESS": "Блокирующий процесс", "BLOCKING_PROCESS": "Блокирующий процесс",
"COMMON_PROCESS_BY_FORM": "Работа по форме", "COMMON_PROCESS_BY_FORM": "Работа по форме",
"REGISTRATION_ITEM": "Регистрация"
} }
const getRouteName = routeType => routeNames[routeType] || routeType; const getRouteName = routeType => routeNames[routeType] || routeType;
...@@ -76,6 +99,7 @@ const createUserParamBlock = (label, routeUserItem, itemContainer, panelType) => ...@@ -76,6 +99,7 @@ const createUserParamBlock = (label, routeUserItem, itemContainer, panelType) =>
routeUserItem.userID = selectUser.personID; routeUserItem.userID = selectUser.personID;
routeUserItem.userName = selectUser.personName; routeUserItem.userName = selectUser.personName;
itemContainer.find('[item-role="route_user_name"]').text(userNames); itemContainer.find('[item-role="route_user_name"]').text(userNames);
itemContainer.removeClass('uk-form-danger');
}); });
}); });
...@@ -133,7 +157,8 @@ this.StartRegistryRoute = class { ...@@ -133,7 +157,8 @@ this.StartRegistryRoute = class {
showMessage(i18n.tr('Функционал в разработке'), 'info'); showMessage(i18n.tr('Функционал в разработке'), 'info');
} }
showHidePanelSettings(){ showHidePanelSettings(value){
this.panelSettingsIsShow = value;
if(this.panelSettingsIsShow) { if(this.panelSettingsIsShow) {
this.routeContent.addClass('panel_settings_visible'); this.routeContent.addClass('panel_settings_visible');
this.panelSettings.addClass('panel_settings_visible'); this.panelSettings.addClass('panel_settings_visible');
...@@ -162,8 +187,7 @@ this.StartRegistryRoute = class { ...@@ -162,8 +187,7 @@ this.StartRegistryRoute = class {
} }
renderSettings(item, itemContainer, panelType){ renderSettings(item, itemContainer, panelType){
this.panelSettingsIsShow = true; this.showHidePanelSettings(true);
this.showHidePanelSettings();
this.panelSettings.empty(); this.panelSettings.empty();
...@@ -215,6 +239,9 @@ this.StartRegistryRoute = class { ...@@ -215,6 +239,9 @@ this.StartRegistryRoute = class {
const numItem = $(el).find('[item-role="route_index"]'); const numItem = $(el).find('[item-role="route_index"]');
numItem.text(i + 1); numItem.text(i + 1);
}); });
this.showHidePanelSettings(false);
this.panelSettings.empty();
} }
}); });
...@@ -310,8 +337,7 @@ this.StartRegistryRoute = class { ...@@ -310,8 +337,7 @@ this.StartRegistryRoute = class {
showHideSettingsButton.on('click', e => { showHideSettingsButton.on('click', e => {
e.preventDefault(); e.preventDefault();
this.panelSettingsIsShow = !this.panelSettingsIsShow; this.showHidePanelSettings(!this.panelSettingsIsShow);
this.showHidePanelSettings();
}); });
closeButton.on('click', e => { closeButton.on('click', e => {
...@@ -321,7 +347,23 @@ this.StartRegistryRoute = class { ...@@ -321,7 +347,23 @@ this.StartRegistryRoute = class {
buttonStartRoute.on('click', e => { buttonStartRoute.on('click', e => {
e.preventDefault(); e.preventDefault();
this.startRoute(); const errors = checkErrors(this.registryRoute);
if(errors) {
const errMessage = [];
errors.forEach(err => {
$(`.route_item_container[itemid="${err.itemID}"]`).addClass('uk-form-danger');
errMessage.push(err.errorMessage);
})
UIkit.notification.closeAll();
showMessage(errMessage.join('\n'), 'error');
} else {
this.startRoute();
}
}); });
subHeader.append(addItemButton, showHideSettingsButton) subHeader.append(addItemButton, showHideSettingsButton)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment