forked from CITKParus/P8-Panels
256 lines
8.6 KiB
JavaScript
256 lines
8.6 KiB
JavaScript
/*
|
||
Парус 8 - Панели мониторинга - УДП - Доски задач
|
||
Пользовательские хуки: Хуки открытия разделов
|
||
*/
|
||
|
||
//---------------------
|
||
//Подключение библиотек
|
||
//---------------------
|
||
|
||
import { useContext, useCallback } from "react"; //Классы React
|
||
import { ApplicationСtx } from "../../../context/application"; //Контекст приложения
|
||
|
||
//-----------
|
||
//Тело модуля
|
||
//-----------
|
||
|
||
//Состояние открытия разделов
|
||
const useDictionary = () => {
|
||
//Подключение к контексту приложения
|
||
const { pOnlineShowDictionary } = useContext(ApplicationСtx);
|
||
|
||
//Отображение раздела "Сотрудники"
|
||
const handleClientPersonOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "ClientPersons",
|
||
showMethod: "main",
|
||
inputParameters: [{ name: "in_CODE", value: prms.sCode }],
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Клиенты"
|
||
const handleClientClientsOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "ClientClients",
|
||
showMethod: "main",
|
||
inputParameters: [{ name: "in_CLIENT_CODE", value: prms.sCode }],
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Каталоги"
|
||
const handleCatalogTreeOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "CatalogTree",
|
||
showMethod: "main",
|
||
inputParameters: [
|
||
{ name: "in_DOCNAME", value: prms.sUnitName },
|
||
{ name: "in_NAME", value: prms.sName }
|
||
],
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Типы событий"
|
||
const handleEventTypesOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "ClientEventTypes",
|
||
showMethod: "dictionary",
|
||
inputParameters: [{ name: "pos_eventtypecode", value: prms.sCode }],
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Контрагенты"
|
||
const handleAgnlistOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "AGNLIST",
|
||
showMethod: "agents",
|
||
inputParameters: [{ name: "pos_agnmnemo", value: prms.sMnemo }],
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Штатные подразделения"
|
||
const handleInsDepartmentOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "INS_DEPARTMENT",
|
||
inputParameters: [{ name: "in_CODE", value: prms.sCode }],
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Нештатные структуры"
|
||
const handleCostStaffGroupsOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "CostStaffGroups",
|
||
inputParameters: [{ name: "in_CODE", value: prms.sCode }],
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Дополнительные словари"
|
||
const handleExtraDictionariesOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "ExtraDictionaries",
|
||
showMethod: "values",
|
||
inputParameters: [
|
||
{ name: "pos_rn", value: prms.nRn },
|
||
{ name: prms.sParamName, value: prms.paramValue }
|
||
],
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Маршруты событий (исполнители в точках)"
|
||
const handleEventRoutesPointExecutersOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "EventRoutesPointExecuters",
|
||
showMethod: "executers",
|
||
inputParameters: prms.inputParameters,
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "События"
|
||
const handleClientEventsOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "ClientEvents",
|
||
inputParameters: [{ name: "in_Ident", value: prms.nIdent }]
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "События (примечания)"
|
||
const handleClientEventsNotesOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "ClientEventsNotes",
|
||
showMethod: "main",
|
||
inputParameters: [{ name: "in_PRN", value: prms.nPrn }]
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Присоединенные документы"
|
||
const handleFileLinksOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "FileLinks",
|
||
showMethod: "main_link",
|
||
inputParameters: [
|
||
{ name: "in_PRN", value: prms.nPrn },
|
||
{ name: "in_UNITCODE", value: prms.sUnitCode }
|
||
]
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Маршруты событий (точки перехода)"
|
||
const handleEventRoutesPointsPassessOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "EventRoutesPointsPasses",
|
||
showMethod: "main_passes",
|
||
inputParameters: [
|
||
{ name: "in_ENVTYPE_CODE", value: prms.sEventType },
|
||
{ name: "in_ENVSTAT_CODE", value: prms.sEventStatus },
|
||
{ name: "in_POINT", value: prms.nPoint }
|
||
],
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Универсальное отображение раздела
|
||
const handleUnitOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: prms.sUnitCode,
|
||
showMethod: prms.sShowMethod,
|
||
inputParameters: prms.inputParameters,
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
return {
|
||
handleClientPersonOpen,
|
||
handleClientClientsOpen,
|
||
handleCatalogTreeOpen,
|
||
handleEventTypesOpen,
|
||
handleAgnlistOpen,
|
||
handleInsDepartmentOpen,
|
||
handleCostStaffGroupsOpen,
|
||
handleExtraDictionariesOpen,
|
||
handleEventRoutesPointExecutersOpen,
|
||
handleClientEventsOpen,
|
||
handleClientEventsNotesOpen,
|
||
handleFileLinksOpen,
|
||
handleEventRoutesPointsPassessOpen,
|
||
handleUnitOpen
|
||
};
|
||
};
|
||
|
||
//----------------
|
||
//Интерфейс модуля
|
||
//----------------
|
||
|
||
export { useDictionary };
|