diff --git a/panels/eqs_tech_cond_forecast/forecast_tab.js b/panels/eqs_tech_cond_forecast/forecast_tab.js index 52a7497..d28ada5 100644 --- a/panels/eqs_tech_cond_forecast/forecast_tab.js +++ b/panels/eqs_tech_cond_forecast/forecast_tab.js @@ -33,6 +33,7 @@ import { useTechObjForecastHistList, needLoadLevel } from "./forecast_tab_hooks"; //Вспомогательные хуки +import { xml2JSON } from "../../core/utils"; //Вспомогательные функции //--------- //Константы @@ -46,7 +47,7 @@ const REFRESH_INITIAL = { }; //Начальное состояние диалогов -const DIALOGS_INITIAL = { makeEqRpSheet: false, makeEqDataSet: false, techObjCard: false, changeEqTchSrv: false }; +const DIALOGS_INITIAL = { makeEqRpSheet: false, makeEqDataSet: false, techObjCard: true, changeEqTchSrv: false }; //Начальное состояние спецификации технических объектов const TECH_OBJ_SPEC_INITIAL = { @@ -57,7 +58,7 @@ const TECH_OBJ_SPEC_INITIAL = { }; //Начальное состояние выбранного технического объекта -const TECH_OBJ_INITIAL = { id: null, objKind: null, measureUnit: null }; +const TECH_OBJ_INITIAL = { id: 20005565, objKind: null, measureUnit: null }; //Стили const STYLES = { @@ -92,7 +93,7 @@ const ForecastTab = ({ onGoToAdmin }) => { const { InlineMsgInfo } = useContext(MessagingСtx); //Подключение к контексту приложения - const { pOnlineShowUnit, pOnlineShowDictionary } = useContext(ApplicationСtx); + const { pOnlineShowUnit, pOnlineShowDictionary, pOnlineUserProcedure } = useContext(ApplicationСtx); //Собственное состояние - текущая загружаемая ветка const [loadingTreeItem, setLoadingTreeItem] = useState(0); @@ -164,29 +165,47 @@ const ForecastTab = ({ onGoToAdmin }) => { }; //При переходе к закладке администрирования из карточки технического объекта - const handleTechObjeCardGoToModel = model => { - handleTechObjeCardClose(); + const handleTechObjCardGoToModel = model => { + handleTechObjCardClose(); if (onGoToAdmin) onGoToAdmin(model.NEQUIPDS, model.NEQUIPDSCM); }; //При запросе прогноза по модели из карточки технического объекта - const handleTechObjeCardGetPrediction = async model => { - await executeStored({ stored: "UDO_PKG_EQUIPTCF.EQCONFIG_THOBJ_FORECAST", args: { NEQCONFIG: techObj.id, NEQUIPDSCMML: model.NRN } }); - setRefresh(pv => ({ ...pv, techObjForecastHistList: pv.techObjForecastHistList + 1 })); + const handleTechObjCardGetPrediction = async model => { + console.log(model); + const j = await xml2JSON({ + xmlDoc: `` + }); + console.log(j.data_config.item.map(itm => ({ col_name: itm.col_code, data_type: itm.data_type }))); + /*pOnlineUserProcedure({ + code: model.SUSERPROCS_FRCST_DATA, + inputParameters: [{ name: "NEQCONFIG", value: techObj.id }], + callBack: async res => { + if (res.success) { + const wrkData = await executeStored({ + stored: "UDO_PKG_EQUIPTCF.EQCONFIG_THOBJ_WRKDATA", + args: { NDATASET_CONFIG_IDENT: res.outParameters.NDATASET_CONFIG_IDENT, NDATASET_IDENT: res.outParameters.NDATASET_IDENT } + }); + console.log(wrkData); + } + } + });*/ + //await executeStored({ stored: "UDO_PKG_EQUIPTCF.EQCONFIG_THOBJ_FORECAST", args: { NEQCONFIG: techObj.id, NEQUIPDSCMML: model.NRN } }); + //setRefresh(pv => ({ ...pv, techObjForecastHistList: pv.techObjForecastHistList + 1 })); }; //При закрытии карточки технического объекта - const handleTechObjeCardClose = () => { + const handleTechObjCardClose = () => { refreshTechObjSpec(); setDialogs(pv => ({ ...pv, techObjCard: false })); setTechObj(TECH_OBJ_INITIAL); }; //При нажатии на "Изменить график ТО" в карточке технического объекта - const handleTechObjeCardChangeEqTchSrv = () => setDialogs(pv => ({ ...pv, changeEqTchSrv: true })); + const handleTechObjCardChangeEqTchSrv = () => setDialogs(pv => ({ ...pv, changeEqTchSrv: true })); //При нажатии на "Ремонтировать" в карточке технического объекта - const handleTechObjeCardMakeEqRpSheet = () => setDialogs(pv => ({ ...pv, makeEqRpSheet: true })); + const handleTechObjCardMakeEqRpSheet = () => setDialogs(pv => ({ ...pv, makeEqRpSheet: true })); //При необходимости обновления карточки технического объекта const handleCardDataRefresh = () => @@ -287,11 +306,11 @@ const ForecastTab = ({ onGoToAdmin }) => { cardData={techObjCard} modelsList={techObjModelsList} forecastHistList={techObjForecastHistList} - onClose={handleTechObjeCardClose} - onGoToModel={handleTechObjeCardGoToModel} - onGetPrediction={handleTechObjeCardGetPrediction} - onChangeEqTchSrv={handleTechObjeCardChangeEqTchSrv} - onMakeEqRpSheet={handleTechObjeCardMakeEqRpSheet} + onClose={handleTechObjCardClose} + onGoToModel={handleTechObjCardGoToModel} + onGetPrediction={handleTechObjCardGetPrediction} + onChangeEqTchSrv={handleTechObjCardChangeEqTchSrv} + onMakeEqRpSheet={handleTechObjCardMakeEqRpSheet} onCardDataRefresh={handleCardDataRefresh} /> ) : null