122 lines
4.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
Парус 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 };