From 740d5e0aef157539f7a61218b782a7ed2e5fb79a Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Tue, 18 Mar 2025 20:20:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=81=D0=B0=20=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B3=D0=BD?= =?UTF-8?q?=D0=BE=D0=B7=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?(=D0=BD=D0=B0=D1=87=D0=B0=D0=BB=D0=BE,=20=D0=BA=D0=BB=D0=B8?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D1=81=D0=BA=D0=B8=D0=B5=20=D0=B4=D0=BE=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- panels/eqs_tech_cond_forecast/forecast_tab.js | 51 +++++++++++++------ 1 file changed, 35 insertions(+), 16 deletions(-) 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