122 lines
4.5 KiB
JavaScript
122 lines
4.5 KiB
JavaScript
/*
|
||
Парус 8 - Панели мониторинга - ТОиР - Аналитика по ремонтам АТС
|
||
Пользовательские хуки: Хуки открытия разделов
|
||
*/
|
||
|
||
//---------------------
|
||
//Подключение библиотек
|
||
//---------------------
|
||
|
||
import { useContext, useCallback } from "react"; //Классы React
|
||
import { ApplicationСtx } from "../../../context/application"; //Контекст приложения
|
||
import { BackEndСtx } from "../../../context/backend"; //Контекст взаимодействия с сервером
|
||
|
||
//-----------
|
||
//Тело модуля
|
||
//-----------
|
||
|
||
//Состояние открытия разделов
|
||
const useDictionary = () => {
|
||
//Подключение к контексту приложения
|
||
const { pOnlineShowDictionary, pOnlineShowUnit } = useContext(ApplicationСtx);
|
||
|
||
//Отображение раздела "Штатные подразделения"
|
||
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 handleEquipTypeWorksOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "EquipTypeWorks",
|
||
inputParameters: [{ name: "in_CODE", value: prms.sCode }],
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Виды работ по техническому обслуживанию и ремонту"
|
||
const handleEquipWorkKindsOpen = useCallback(
|
||
async prms => {
|
||
pOnlineShowDictionary({
|
||
unitCode: "EquipWorkKinds",
|
||
inputParameters: [{ name: "in_CODE", value: prms.sCode }],
|
||
callBack: res => {
|
||
res.success ? prms.callBack(res) : null;
|
||
}
|
||
});
|
||
},
|
||
[pOnlineShowDictionary]
|
||
);
|
||
|
||
//Отображение раздела "Ремонтные ведомости"
|
||
const handleEquipRepairSheetsOpen = useCallback(
|
||
async prms => {
|
||
// pOnlineShowDictionary({
|
||
// unitCode: "EquipRepairSheets",
|
||
// inputParameters: [{ name: "in_RN", value: prms.nRn }],
|
||
// callBack: res => {
|
||
// res.success ? prms.callBack(res) : null;
|
||
// }
|
||
// });
|
||
|
||
pOnlineShowUnit({
|
||
unitCode: "EquipRepairSheets",
|
||
inputParameters: [{ name: "in_RN", value: prms.nRn }],
|
||
modal: false
|
||
});
|
||
},
|
||
[pOnlineShowUnit]
|
||
);
|
||
|
||
//Возвращаем функции открытия разделов
|
||
return {
|
||
handleInsDepartmentOpen,
|
||
handleEquipTypeWorksOpen,
|
||
handleEquipWorkKindsOpen,
|
||
handleEquipRepairSheetsOpen
|
||
};
|
||
};
|
||
|
||
//Состояние дополнительных общих процедур
|
||
const useProcedures = () => {
|
||
//Подключение к контексту взаимодействия с сервером
|
||
const { executeStored } = useContext(BackEndСtx);
|
||
|
||
//Считывание наименования подразделения по мнемокоду
|
||
const handleInsDepartmentNameGet = useCallback(
|
||
async prms => {
|
||
//Считываем наименование подразделения
|
||
const departmentName = await executeStored({
|
||
stored: "UDO_PKG_P8PANELS_RPR_ANL.GET_INS_DEPARTMENT_NAME",
|
||
args: { SCODE: prms.code }
|
||
});
|
||
//Возвращаем наименование подразделения
|
||
return departmentName.SNAME;
|
||
},
|
||
[executeStored]
|
||
);
|
||
|
||
//Возвращаем дополнительные функции
|
||
return { handleInsDepartmentNameGet };
|
||
};
|
||
|
||
//----------------
|
||
//Интерфейс модуля
|
||
//----------------
|
||
|
||
export { useDictionary, useProcedures };
|