{"version":3,"sources":["services/auth-header.js","services/utils.js","services/auth.service.js","components/Fichas/FichaMUH/Apartados/Cismed/Emergente.js","components/Recupera/ModalRecupera.js","components/Recupera/Recupera.js","services/user.service.js","components/Utilidades/Selector/SelectorComboBox.js","components/Configuarcion/AddEmpresa.js","components/Configuarcion/RecuperaPassword0.js","components/Configuarcion/RecuperaPassword2.js","components/Configuarcion/CambiaCorreo2.js","components/Configuarcion/ConfirmaCorreo2.js","components/Login.js","components/Cabecera/LogoCabecera.js","components/Cabecera/MenuHamburquesa/ItemMenuPrincipalGris.js","components/Cabecera/MenuHamburquesa/MenuPrincipalGris.js","components/Cabecera/MenuHamburquesa/ItemMenuPrincipalMorado.js","components/Cabecera/MenuHamburquesa/MenuPrincipalMorado.js","services/objsAplicacion.js","components/Cabecera/MenuHamburquesa/ItemMenuSecundarioMorado.js","components/Cabecera/MenuHamburquesa/MenuSecundarioMorado.js","components/Cabecera/MenuHamburquesa/ItemMenuTerciarioMorado.js","components/Cabecera/MenuHamburquesa/MenuTerciarioMorado.js","components/Cabecera/MenuHamburquesa/ItemContenidoHistorial.js","components/Cabecera/MenuHamburquesa/ZonaContenidoHistorial.js","components/Cabecera/MenuHamburquesa/MenuHamburguesa.js","components/Cabecera/LogoF.js","components/Cabecera/MenuIconos/ItemMenuIconos.js","components/Cabecera/MenuIconos/MenuIconos.js","components/Cabecera/BandaMoradaZonaMenus.js","components/Utilidades/Animation.js","components/Cabecera/MenuBlanco/ApartadoSimpleSeccionMenuBlanco.js","components/Cabecera/MenuBlanco/SubapartadoSeccionMenuBlanco.js","components/Cabecera/MenuBlanco/ApartadoMultipleSeccionMenuBlanco.js","components/Cabecera/MenuBlanco/ApartadoSeccionMenuBlanco.js","components/Cabecera/MenuBlanco/ColumnaSeccionMenuBlanco.js","components/Cabecera/MenuBlanco/SeccionMenuBlanco.js","components/Cabecera/MenuBlanco/MenuBlanco.js","components/Cabecera/ZonaMenus.js","components/Cabecera/Cabecera.js","components/Inicio/Principal/BFavoritas/BusquedaPreferida.js","components/Resultados/CabeceraResultados/MisBuscadoresCabeceraResultados.js","components/Resultados/CabeceraResultados/VolverCabeceraResultados.js","components/Ayuda/CabeceraAyuda.js","components/Fichas/FichaMUH/Apartados/Composicion/Acordeon.js","components/Fichas/FichaMUH/Apartados/InfoAdicional/DocumentosDeTipo.js","components/Resultados/Loading.Popup.js","components/Ayuda/Ayuda.js","components/Configuarcion/KeyEmpresa.js","components/Configuarcion/CabeceraConfiguracion.js","components/Utilidades/Selector/Selector.js","components/Configuarcion/UsuAdicional.js","components/Configuarcion/CambioPassword.js","components/Configuarcion/PaginaConfiguracion.js","components/Configuarcion/Configuracion.js","components/Configuarcion/EditaBuscadores.js","components/Exporta/CabeceraExporta.js","components/Exporta/Exporta.js","services/sugerencias.service.js","components/Utilidades/Sugerencias/ItemSugerencia.js","components/Utilidades/Sugerencias/Sugerencias.js","components/Inicio/Principal/FormBusqueda/FormBusqueda.js","components/Inicio/Principal/BFavoritas/BusquedasPreferidasInicio.js","components/Inicio/Principal/FormBusquedaYPreferidos.js","components/Inicio/Apartados/Novedades/NovedadCabecera.js","components/Inicio/Apartados/Novedades/NovedadesInicioCabecera.js","components/Inicio/Apartados/Novedades/NovedadResto.js","components/Inicio/Apartados/Novedades/NovedadesInicioCuerpo.js","components/Inicio/Apartados/Novedades/NovedadesInicioPie.js","components/Inicio/Apartados/Novedades/NovedadesInicio.js","components/Inicio/Apartados/ProblemasSuministro/ProblemaSuministro.js","components/Inicio/Apartados/ProblemasSuministro/ProblemasSuministroInicio.js","components/Inicio/Apartados/NovedadesYProblemasSuministro.js","components/Inicio/Apartados/NotasYAlertas/Nota.js","components/Inicio/Apartados/NotasYAlertas/NotasSeguridadYAlertasCalidad.js","components/Inicio/Inicio.js","components/Resultados/CabeceraResultados/FormCabeceraResultados.js","components/Resultados/CabeceraResultados/TituloBusqueda.js","components/Resultados/CabeceraResultados/CabeceraResultados.js","components/Fichas/FichaFM/LinksFichaFM.js","components/Fichas/FichaMUH/InfoPrincipal/AvisoPreciosFuturos.js","components/Fichas/FichaFM/PreciosFM.js","components/Fichas/FichaMUV/LinksFichaMUV.js","components/Fichas/FichaPA/LinksFichaPA.js","components/Fichas/FichaMUH/InfoPrincipal/FilaTablaTipoDyF.js","components/Fichas/FichaPA/TablaInfoPrincipalPA.js","components/Fichas/FichaPAT/LinksFichaPAT.js","components/Fichas/FichaPAT/TablaInfoPrincipalPAT.js","components/Fichas/FichaPPF/LinksFichaPPF.js","components/Fichas/FichaPPF/PreciosPPF.js","components/Fichas/FichaMUH/InfoPrincipal/DispensacionFacturacion.js","components/Fichas/FichaMUH/InfoPrincipal/LinksFichaMUH.js","components/Fichas/FichaMUH/InfoPrincipal/PreciosResumen.js","components/Fichas/FichaMUH/InfoPrincipal/ItemTablaDF.js","components/Fichas/FichaMUH/InfoPrincipal/TablaDatosFarmaceuticos.js","components/Fichas/FichaMUH/InfoPrincipal/ResumenInfo.js","components/Fichas/FichaMUH/InfoPrincipal/FilaPictogramas.js","components/Fichas/FichaMUH/InfoPrincipal/ZonaImagenYPictos.js","components/Fichas/FichaMUH/InfoPrincipal/InfoPrincipalMUH.js","components/Fichas/FichaMUH/MenuIzquierda/FilaMenuIzquierda.js","components/Fichas/FichaMUH/MenuIzquierda/MenuIzquierda.js","components/Fichas/FichaMUH/Apartados/Analisis/FilaAnalisis.js","components/Fichas/FichaMUH/Apartados/Analisis/Analisis.js","components/Fichas/FichaASO/Apartados/Analisis/AnalisisPAAso.js","components/Fichas/FichaASO/Apartados/Analisis/AnalisisAso.js","components/Fichas/FichaMUV/Apartados/TiemposEspera/FilaTE.js","components/Fichas/FichaMUV/Apartados/TiemposEspera/TiemposEsperaEspecie.js","components/Fichas/FichaMUV/Apartados/TiemposEspera/TiemposEspera.js","components/Fichas/FichaPA/Apartados/ConfusionNombres/FilaNombrePA.js","components/Fichas/FichaPA/Apartados/ConfusionNombres/ConfusionNombresPA.js","components/Fichas/FichaMUH/Apartados/Advertencias/Advertencias.js","components/Fichas/FichaMUH/Apartados/Advertencias/AdvertenciasTipo.js","components/Fichas/FichaPA/Apartados/Dopaje/Dopaje.js","components/Fichas/FichaMUH/Apartados/InfoGeneral/FilaNombreValor.js","components/Fichas/FichaMUH/Apartados/InfoGeneral/BloqueNombreValor.js","components/Fichas/FichaPA/Apartados/InfoGeneral/FilaDDD.js","components/Fichas/FichaPA/Apartados/InfoGeneral/DDD.js","components/Fichas/FichaPA/Apartados/InfoGeneral/InfoGeneralPA.js","components/Fichas/FichaPA/Apartados/Sinonimias/Sinonimias.js","components/Fichas/FichaPA/Apartados/UsoAnimalesProductores/FilaLMR.js","components/Fichas/FichaPA/Apartados/UsoAnimalesProductores/LMREspecie.js","components/Fichas/FichaPA/Apartados/UsoAnimalesProductores/UsoAnimalesProductores.js","components/Fichas/FichaPAT/Apartados/CIE/cie.js","components/Fichas/FichaPAT/Apartados/InfoGeneral/InfoGeneralPAT.js","components/Fichas/FichaPAT/Apartados/Jerarquia/Jerarquia.js","components/Fichas/FichaPPF/Apartados/ContenidoPack/FilaTablaProductos.js","components/Fichas/FichaPPF/Apartados/ContenidoPack/TablaProductos.js","components/Fichas/FichaMUH/Apartados/AlertasCalidad/FilaLotes.js","components/Fichas/FichaMUH/Apartados/AlertasCalidad/TablaLotes.js","components/Fichas/FichaMUH/Apartados/AlertasCalidad/AlertaCalidad.js","components/Fichas/FichaMUH/Apartados/AlertasCalidad/AlertasCalidad.js","components/Fichas/FichaMUH/Apartados/Cismed/GraficaCismed.js","components/Fichas/FichaMUH/Apartados/Cismed/SemaforosCismed.js","components/Fichas/FichaMUH/Apartados/Cismed/TablaFParticipantes.js","components/Fichas/FichaMUH/Apartados/Cismed/CismedKO.js","components/Fichas/FichaMUH/Apartados/Cismed/CismedOK.js","components/Fichas/FichaMUH/Apartados/Cismed/Cismed.js","components/Fichas/FichaMUH/Apartados/Composicion/Componente.js","components/Fichas/FichaMUH/Apartados/Composicion/Composicion.js","components/Fichas/FichaMUH/Apartados/Composicion/Composiciones.js","components/Fichas/FichaMUH/Apartados/ConfusionNombres/FilaNombreMed.js","components/Fichas/FichaMUH/Apartados/ConfusionNombres/ConfusionNombresMed.js","components/Fichas/FichaMUH/Apartados/Conservacion/DatoFarmaceutico.js","components/Fichas/FichaMUH/Apartados/Conservacion/DatosConservacion.js","components/Fichas/FichaMUH/Apartados/Conservacion/Conservacion.js","components/Fichas/FichaMUH/Apartados/Farmacogenetica/GrupoPolimorfismos.js","components/Fichas/FichaMUH/Apartados/Farmacogenetica/FamacogeneticaBioPA.js","components/Fichas/FichaMUH/Apartados/Farmacogenetica/FarmacogeneticaPA.js","components/Fichas/FichaMUH/Apartados/Farmacogenetica/Farmacogenetica.js","components/Fichas/FichaMUH/Apartados/InfoGeneral/FilaBloquePrecios.js","components/Fichas/FichaMUH/Apartados/Grupos/AgrupacionHomogenea.js","components/Fichas/FichaMUH/Apartados/Grupos/Grupos.js","components/Fichas/FichaMUH/Apartados/Historico/CambioHistorico.js","components/Fichas/FichaMUH/Apartados/Historico/FechaHistorico.js","components/Fichas/FichaMUH/Apartados/Historico/HIstorico.js","components/Fichas/FichaMUH/Apartados/Identificacion/FilaTitulosIdent.js","components/Fichas/FichaMUH/Apartados/Identificacion/FilaIdent.js","components/Fichas/FichaMUH/Apartados/Identificacion/Identificacion.js","components/Fichas/FichaMUH/Apartados/InfoAdicional/InformacionAdicional.js","components/Fichas/FichaMUH/Apartados/InfoGeneral/BloquePrecios.js","components/Fichas/FichaMUH/Apartados/InfoGeneral/InfoGeneral.js","components/Fichas/FichaMUH/Apartados/PrecaucionExtrema/PrecaucionExtrema.js","components/Fichas/FichaMUH/Apartados/ProblemasS/ProblemaS.js","components/Fichas/FichaMUH/Apartados/ProblemasS/ProblemasS.js","components/Fichas/FichaMUH/Apartados/Textos/EnfermedadesRelacionadas.js","components/Fichas/FichaMUH/Apartados/Textos/Texto.js","components/Fichas/FichaMUH/Apartados/Textos/Textos.js","components/Fichas/FichaMUH/Apartados/Videos/Video.js","components/Fichas/FichaMUH/Apartados/Videos/Videos.js","components/Fichas/FichaMUH/Apartados/Apartado.js","components/Fichas/FichaMUH/Apartados/ContenedorApartados.js","components/Fichas/FichaMUH/MensajesEmergentes.js","components/Fichas/FichaPA/MargenDerechoPA.js","components/Fichas/FichaASO/FichaASO.js","components/Fichas/FichaEXT/LinksFichaExt.js","components/Fichas/FichaEXT/TablaInfoPrincipalExt.js","components/Fichas/FichaEXT/ResumenInfoExt.js","components/Fichas/FichaEXT/ZonaImagenYPictosExt.js","components/Fichas/FichaEXT/InfoPrincipalExt.js","components/Fichas/FichaEXT/MargenDerechoExt.js","components/Fichas/FichaEXT/FichaExt.js","components/Fichas/FichaFM/MargenDerechoFM.js","components/Fichas/FichaFM/FichaFM.js","components/Fichas/FichaING/FichaING.js","components/Fichas/FichaMUH/MargenDerecho/MargenDerecho.js","components/Fichas/FichaMUH/FichaMUH.js","components/Fichas/FichaMUV/MargenDerechoMUV.js","components/Fichas/FichaMUV/FichaMUV.js","components/Fichas/FichaPA/FichaPA.js","components/Fichas/FichaPA/FichaPAH.js","components/Fichas/FichaPA/FichaPAV.js","components/Fichas/FichaPAT/MargenDerechoPAT.js","components/Fichas/FichaPAT/FichaPAT.js","components/Fichas/FichaPPF/MargenDerechoPPF.js","components/Fichas/FichaPPF/FichaPPF.js","components/Fichas/Ficha.js","components/FomulariosBusqueda/CabeceraFormulario/TituloFormularioBusqueda.js","components/FomulariosBusqueda/CabeceraFormulario/CabeceraFormulario.js","components/Utilidades/Selector/SelectorUno.js","components/FomulariosBusqueda/ResumenBusqueda.js","components/Utilidades/Selector/SelectorFecha/SelectorFecha.js","components/Utilidades/Selector/SelectorUno2.js","components/FomulariosBusqueda/Formularios/FBAlertasCalidad.js","components/Utilidades/Selector/SelectorComposicion/SelectorComposicion.js","components/Utilidades/Selector/SelectorMulti2.js","components/Utilidades/Selector/SelectorCHK.js","components/Utilidades/Selector/SelectorSNX.js","components/Utilidades/Selector/SelectorEdad/SelectorEdad.js","components/Utilidades/Selector/SelectorEnfRel/SelectorEnfRel.js","components/Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros.js","components/Utilidades/Selector/SelectorNumero.js","components/Utilidades/Selector/SelectorMulti2No.js","components/Utilidades/Selector/SelectorEnfRel/SelectorAnaRel.js","components/Utilidades/Selector/SelectorTexto.js","components/FomulariosBusqueda/Formularios/FBAvanzadaMUH.js","components/FomulariosBusqueda/Formularios/FBAvanzadaMUV.js","components/FomulariosBusqueda/Formularios/FBAvanzadaPAH.js","components/FomulariosBusqueda/Formularios/FBAvanzadaPPF.js","components/FomulariosBusqueda/Formularios/FBComposicion.js","components/FomulariosBusqueda/Formularios/FBDocumentos.js","components/FomulariosBusqueda/Formularios/FBEspecieIndicacion.js","components/FomulariosBusqueda/Formularios/FBExtranjeros.js","components/FomulariosBusqueda/Formularios/FBFechas.js","components/FomulariosBusqueda/Formularios/PreviewForma.js","components/FomulariosBusqueda/Formularios/FBFormaColor.js","components/FomulariosBusqueda/Formularios/FBPacienteIndicacion.js","components/FomulariosBusqueda/Formularios/FBProductosIndicacion.js","components/FomulariosBusqueda/Formularios/FBProblemasSum.js","components/FomulariosBusqueda/Formularios/FBReaccionesAdversas.js","components/Utilidades/Selector/SelectorArbol/AcordeonN1/AcordeonN1.js","components/Utilidades/Selector/SelectorArbol/AcordeonN2/AccordeonN2.js","components/Utilidades/Selector/SelectorArbol/RamaSecundaria.js","components/Utilidades/Selector/SelectorArbol/RamaPrincipal.js","components/Utilidades/Select/OptionSelect.js","components/Utilidades/Selector/SelectorArbol/SelectorTree.js","components/FomulariosBusqueda/Formularios/FBTest.js","components/Utilidades/Selector/SelectorArbol3/ItemRamaArbol3.js","components/Utilidades/Selector/SelectorArbol3/RamaArbol3.js","components/Utilidades/Selector/SelectorArbol3/SelectorArbol3.js","components/FomulariosBusqueda/Formularios/FBusquedaArbol.js","components/Utilidades/Selector/SelectorArbol3/SelectorArbolM.js","components/FomulariosBusqueda/Formularios/FBusquedaArbolMultiple.js","components/FomulariosBusqueda/Formularios/FBusquedaSaborEdad.js","components/FomulariosBusqueda/Formularios/FBusquedaSimple.js","components/FomulariosBusqueda/Formularios/FBusquedaMultiple.js","components/FomulariosBusqueda/IndiceFormularios/ItemIndiceFormularios.js","components/FomulariosBusqueda/IndiceFormularios/IndiceFormularios.js","components/FomulariosBusqueda/ForumularioBusqueda.js","components/Resultados/BInteracciones/Interaccion.js","components/Resultados/FiltrosYBusqueda/Filtros/FiltroLista.js","components/Resultados/FiltrosYBusqueda/Filtros/FiltroListBox.js","components/Resultados/FiltrosYBusqueda/Filtros/FiltroText.js","components/Resultados/FiltrosYBusqueda/Filtros/CheckBoxFiltro.js","components/Resultados/FiltrosYBusqueda/Filtros/GrupoCheckBoxFiltro.js","components/Resultados/FiltrosYBusqueda/Filtros/FiltroBusqueda.js","components/Resultados/BInteracciones/MargenIzquierdoInter.js","components/Resultados/BInteracciones/MedsSeleccionados.js","components/Resultados/BInteracciones/BInteracciones.js","components/Resultados/FiltrosYBusqueda/Listado/FilaListaResBusqueda.js","components/Resultados/FiltrosYBusqueda/Listado/FilaListaFM.js","components/Resultados/FiltrosYBusqueda/Listado/OpcionOrden.js","components/Resultados/FiltrosYBusqueda/Listado/EncabezadoListado.js","components/Resultados/FiltrosYBusqueda/Listado/FilaListaEXT.js","components/Resultados/FiltrosYBusqueda/Listado/FilaListaDOC.js","components/Resultados/FiltrosYBusqueda/Listado/ListaResBusqueda.js","components/Resultados/FiltrosYBusqueda/Filtros/FiltrosBusqueda.js","components/Resultados/FiltrosYBusqueda/ResumenFiltros/ResumenFiltros.js","components/Resultados/FiltrosYBusqueda/Listado/Exportacion/GrupoCamposExportable.js","components/Resultados/FiltrosYBusqueda/Listado/Exportacion/CamposExportacion.js","components/Configuarcion/AccesoRestringido.js","components/Resultados/FiltrosYBusqueda/FiltrosYResultados.js","components/Resultados/SeccionResultados.js","components/Cuerpo.js","components/Pie.js","components/Licencia.js","components/Contenido.js","components/Credenciales.js","App.js","reportWebVitals.js","index.js"],"names":["authHeader","user","JSON","parse","localStorage","getItem","Token","rootPath","baseURLPictogramas","AnadeApartado","registro","lista","anclas","find","ap","Ancla","push","compruebaAnclas","aptdos","idAncla","i","ancla","anclaNueva","createRef","refAncla","length","anadeAncla","getApiPath","document","location","hostname","divideArrayEnPartes","arr","n","j","res","slice","numberWithCommas","x","parts","toString","split","replace","substring","parseInt","splice","Math","round","parseFloat","pow","aux","pop","join","numberWithCommas2","elementIsOfClass","element","clase","classList","contains","FormatoFechaBonito","fecha","mifecha","Date","dia","getDate","mes","getMonth","ano","getFullYear","toUpperCase","padLeft","upperCaseFirstLetter","str","trim","toLowerCase","Redondea","valor","decimales","FormatoFechaDDMMYYYY","FormatoFechaDDMMYYYYHHMM","hora","getHours","minute","getMinutes","GetIndexFromIndexedClass","item","classModelName","maxIndex","enc","name","GetAntecesorWhithClassName","undefined","parentElement","GetSucesorWhithClassName","hijos","getElementsByClassName","GetLastSucesorWhithClassName","AddClassNameToClassItems","miClase","miClaseHija","miClassName","elements","len","len2","add","RemoveClassNameToClassItems","remove","RemoveClassNameToDoubleClassItems","miClase2","ToggleClassNameToClassItems","toggle","AddClassNameToChildClassItems","padre","RemoveClassNameToChildClassItems","ExistsClassNameChildClassItems","result","nietos","deepEqual","object1","object2","keys1","Object","keys","keys2","key","val1","val2","areObjects","isObject","object","getParam","param","params","value","duo","getCurrentURL","url","window","href","origin","getParamsURL","primerHijoConClase","elemento","posibles","getIdProvincia","lu","botPlusUser","idProvincia","getIdCCAA","idCCAA","getStringCCAA","CCAA","getListaFormularios","tipo","codigoPagina","display","getDescripcionTipo","codFormulario","getTipoFromCodigoPagina","scrollSiNoVisible","container","offset","offsetTop","cTop","scrollTop","cBottom","clientHeight","eTop","eBottom","fromListaPAsComposToParamURL","pas","pa","codigo","sales","cants","cant","cod","fromListaOpsAvanzadaToParamURL","ops","op","valores","fromParmaURLToListaPAsCompos","listaPAs","sPA","partesPA","strSales","codigosSales","map","it","cv","strCants","cantsAsStr","k","partesCant","fromParamURLToListaOpsAvanzada","listaOps","sOp","partesOp","handleClasesCheckbox","marcado","excluyente","id","items","grupoActivo","getElementById","checked","GetFiltrosStr","filtros","filtro","idGrupo","activo","idValor","PerfilUsuario","AuthService","getUserRol","DevuelveTextoAsHTML","info","textosInfo","subs","idxsubs","indexOf","partes","subInfo","substr","HTMLAux","API_URL","getLocalUser","loginService","login","username","password","fb","ma","axios","post","Username","Password","FuerzaBruta","MantenerAbierta","headers","then","response","data","Status","setItem","stringify","logout","get","reload","error","removeItem","getNetworkUser","getSpecialAuthentication","getIPAuthentication","buscaClaves","dni","nfact","guardaDatosCorreo","cliente","correo","desea","Cliente","Correo","Desea","actualizaKey","idPedido","IdPedido","isSesionOk","rol","Rol","infoCredenciales","tieneLicenciaLocal","aceptaLicencia","openDeferredSesion","token","moduloCambioPassAnonimo","Emergente","props","contenido","keyName","titulo","ancho","alto","imagen","claseLightbox","estiloancho","width","height","hiddenOverflow","overflow","class","style","opacity","visibility","pointerEvents","ocultaAspa","onClick","e","cerrar","textAlign","src","ModalRecupera","useState","setDni","setNfact","setCorreo","confirma","setConfirma","opt1","setOpt1","opt2","setOpt2","mensaje","setMensaje","estado","setEstado","datosAcceso","setDatosAcceso","getRecuperaInfo","xdni","xnfact","BP2022AuthService","ok","mail","Mail","usuarioActual","UsuarioActual","passActual","PassActual","deseaRecibirInfo","DeseaRecibirInfo","codigoGrupo","CodigoGrupo","msg","catch","console","log","message","useEffect","nfactura","clickAceptar","String","match","cambiaAlto","estiloCheckBox","cursor","overflowY","className","marginTop","onSubmit","preventDefault","marginBottom","fontFamily","type","placeholder","onChange","txt","target","backgroundColor","color","verticalAlign","paddingBottom","fontSize","lineHeight","paddingRight","fontWeight","paddingLeft","cancela","marginLeft","Recupera","muestraEmergente","setMuestraEmergente","altoEmergente","setAltoEmergente","cancelaProceso","modalContent","descargaInfoSalesYCantidadesIng","descargaListaInfoSalesYCantidadesIng","ids","userService","getMedsByName","opb","idxOrden","primero","max","strorden","encodeURIComponent","getFichaMUH","getFichaMUV","getFichaFM","getFichaPF","getFichaPA","getFichaING","getFichaASO","getFichaPAT","getComposM","idCPor","idFF","getComposPF","getGruposMUH","codGrupoATC","nivelGrupo","codGrupoVMPP","getGruposPF","getTextosMUH","getTextosPF","getTextosPA","getTextosING","getAdvertenciasMUH","getAdvertenciasPF","getAdvertenciasPA","getAdvertenciasING","getAdvertenciasASO","getConsejosMUH","getPrecaucionExtremaMUH","getPrecaucionExtremaPAH","getInterferenciasMUH","getInterferenciasPA","getInterferenciasASO","getInterferenciasPAT","getCismedMUH","getConservacionMUH","getConservacionPF","getFarmacogeneticaMUH","getFarmacogeneticaPA","getFarmacogeneticaASO","getHistoricoMUH","getHistoricoPF","getHistoricoPA","getHistoricoING","getHistoricoASO","getIdentificacionMUH","getInformacionAdicionalMUH","getInformacionAdicionalPF","getInformacionAdicionalPA","getInformacionAdicionalING","getInformacionAdicionalASO","getInformacionAdicionalPAT","getProblemasSuministroMUH","getVideosMUH","getVideosPF","getVideosPA","getVideosING","getVideosASO","getVideosPAT","getAlertasCalidadMUH","getAlertasCalidadPF","getMensajesEmergentesMUH","getMensajesEmergentesPPF","getMensajesEmergentesPAH","getTiemposEsperaMUV","getContenidoPackPF","getPacksContenedoresPF","getSinonimiasPA","getSinonimiasING","getSinonimiasPAT","getDopajeInfoPA","getDopajeInfoASO","getProductoresInfoPA","getJerarquiaInfoPAT","getCIEInfoPAT","getBuscadoresPreferidos","getNovedades","getProductosConPS","num","getUltimasNotasYAlertas","getHistorial","emptyHistorial","getDatosConfiguracion","setDatosConfiguracion","idProv","numFarm","getLaboratorios","medicamentosLaboratorio","medicamentosLaboratorios","productosLaboratorio","productosLaboratorios","getAgrupaciones","auto","getFormasFarma","getActividades","tipoActividad","getAnalisis","getBiomarcadores","getGruposATC","getGruposVMPP","getArbolGruposVMPP","getGruposCon","getGruposSan","medicamentosAgrupacionAuto","productosAgrupacionAuto","medicamentosAgrupacioNac","productosAgrupacionNac","medicamentosFormaFarma","idb","productosFormaFarma","medicamentosFormasFarma","productosFormasFarma","principiosActividad","ingredientesActividad","principiosActividadesY","ingredientesActividadesY","principiosActividadesO","ingredientesActividadesO","medicamentosAnalisis","medicamentosBiomarcador","medicamentosConPA","medicamentosConAso","productosConIng","productosTipo","productosSubtipo","medicamentosPorEnf","idepi","productosPorEnf","medicamentosGTATC","medicamentos2GTATC","medicamentosGTVMPP","productosGTCon","productos2GTCon","productosGTSan","datosFormularioSaborEdad","datosFormularioTest","descargaInfoSalesYCantidades","descargaListaInfoSalesYCantidades","productosSaborEdad","strParams","idDieto","idsSabores","saborSolo","edad","undEdad","datosFormularioEspecieIndicacion","medicamentosEspecieIndicacion","idEnf","idEsp","datosFormularioProblemasSuministro","medicamentosProblemasSuministro","idLab","idPA","medExt","noSust","iniciod","getTime","inicioh","finh","datosFormularioAlertasCalidad","medicamentosAlertasCalidad","txtLote","inicio","fin","PFAlertasCalidad","datosFormularioReaccionesAdversas","medicamentosReaccionesAdversas","idEpi","idsEnfs","idsMeds","datosFormularioComposicion","tipoProd","strTipoProd","actualizaFFyVias","productosPorComposicion","solo","idVia","uds","pv","ints","datosFormularioAvanzadaMUH","medicamentosAvanzadaMUH","idsLab","idsGT","emr","fechaAutoIni","fechaAutoFin","fechaComerIni","fechaComerFin","fechaBajaIni","fechaBajaFin","fechaInSNSIni","fechaInSNSFin","fechaExSNSIni","fechaExSNSFin","fechaExFIIni","fechaExFIFin","pre","idOpP","idCampoP","trunc","idPredefP","idsAA","idsAN","idsDC","idsMen","texto","encodeURI","noTexto","enfsRel","strEnf","epi","anasRel","strAna","datosFormularioAvanzadaMUV","medicamentosAvanzadaMUV","idEspecie","datosFormularioAvanzadaPAH","principiosActivosAvanzadaPAH","idsAF","idsAM","datosFormularioAvanzadaPPF","idTipo","strDieto","viasFormularioAvanzadaPPF","productosAvanzadaPPF","idsTipo","idsSubtipo","datosFormularioPacienteIndicacion","datosFormularioProductosIndicacion","medicamentosPacienteIndicacion","idsPat","idsMed","idsAlg","productosIndicacion","listaPosiblesInteractores","idsSel","strParam","buscaInteracciones","medicamentosFM","medicamentosHomeo","datosFormularioFormaColor","medicamentosFormaColor","tipoFF","idForma","idColor1","idColor2","idSabor","tamanos","CO1","CO2","ranura","logo","difCol","col2","anycol","ins1","ins2","datosFormularioEXT","medicamentosEXT","idPais","getFichaEXT","medicamentosEspanoles","productosConGluten","productosConLactosa","productosSinGluten","productosSinLactosa","medicamentosDopantes","productosNoLentes","medicamentosConPrecioSupMenor","medicamentosConPrecioSupMasBajo","medicamentosConPrecioNotificado","medicamentosSeguimientoAdicional","medicamentosDispositivoSeguridad","medicamentosLibroRecetario","medicamentosLibroEstupefacientes","medicamentosNotificacionESVAC","enfermedadesH","enfermedadesV","medicamentosNoSustituibles","medicamentosDeduccionesRDL","productosCambioNombre","productosCambioLaboratorio","medicamentosCambioPrecio","medicamentosDesfinanciados","productosFechaAlta","productosUltimoMes","auxdate","setMonth","medicamentosCambioPrecioPrevisto","medicamentosPSUltimoMes","productosHistorialUsuario","strrandom","floor","random","datosFormularioDocumentos","documentosPorMedFecha","idMed","datosFormularioBucadoresPreferidos","setDatosBuscadoresPreferidos","obtenCamposExportables","codTipoExporta","codBusqueda","strCodBusqueda","obtenRegistrosAExportar","campos","campoOrden","tipoBusqueda","ini","includes","tipoRegistros","lfini","lffin","getEmpresa","setEmpresa","idEmpresa","getFormAddEmpresa","addEmpresa","delEmpresa","getDocumentosAyuda","getOpcionBusqueda","setOpcionBusqueda","borraProductoHistorial","getUsuAdicional","enableUsuAdicional","pass","disableUsuAdicional","getDirCorreo","setDirCorreo","setPassword","newpass","NewPassword","obtenListadosExportables","obtenExportacionExcel","codDocExporta","getNombresSimilaresPAH","getNombresSimilaresMUH","medicamentosMismoNombre","getBackVersion","moduloIndicacionesPF","moduloCambioPass","enviaCorreoRecPass","enviaCorreoCambioPass","enviaCorreoCambioCorreo","checkUser","checkLink","link","checkLinkCC","checkLinkCheckC","setPasswordLink","setCorreoLink","getItemsFromEspecod","especod","hayBuscadorCisMED","medicamentosAlertaCismed","SelectorComboBox","valueSelected","propiedades","setPropiedades","idHTML","optionsHTML","selected","classInputSelector","disabled","maxLengthNormal","estiloPetit","textTransform","whiteSpace","estiloNormal","estiloModuleSelect","optionsDisplayed","ClickEnOpcion","title","clasesCoverSelect","textSelected","option","SeleccionaOpcion","getAttribute","html","innerHTML","select","input","idEsStr","alCambiar","remove_accents","normalize","FiltraOpciones","search","search2","found","labeloptions","label","ddowns","children","hijosNiOcultosNiActivos","onKeyDown","ddown","keyCode","miItem","previousSibling","nextSibling","stopPropagation","KeyDownSelector","tabIndex","ClickEnCoverSelect","onKeyUp","KeyUpInput","AddEmpresa","setIdEmpresa","listaEmpresas","setListaEmpresas","BP2022Service","Empresas","Codigo","Valor","guardaEmpresa","alAnadir","listaEmpresasCodValor","nuevoId","paddingTop","alCerrar","RecuperaPassword0","usuario","setUsuario","dirCorreo","setAlto","compruebaUsuario","Ok","DirCorreo","Mensaje","enviaCorreoUsuario","newalto","txtBoton","autocomplete","s","RecuperaPassword2","setUser","newPassword","setNewPassword","confPassword","setConfPassword","cambiaPassword","validatePassword","Exito","localUser","esCambioPass","test","onPaste","RecuperaCorreo2","newCorreo","setNewCorreo","confirmaCorreo","setConfirmaCorreo","cambiaCorreo","validateEmail","esCambioMail","email","ConfirmaCorreo2","esConfirmaMail","Login","setUsername","mantActiva","setMantActiva","cerrarAnt","setCerrarAnte","status","setStatus","isHelpActive","setHelpActive","verRecupera","setVerRecupera","verLinkRecupera","setVerLinkRecupera","recupera","verRecupera2","setVerRecupera2","cambiopass","verCambioPass2","setVerCambioPass2","cambiomail","verCambioCorreo2","setVerCambioCorreo2","confirmamail","verConfirmaCorreo2","setVerConfirmaCorreo2","handleHelpToggle","handleLogin","Info","alt","esRecupera","chk","onChangeMantActiva","onChangeCerrarAnt","justifyContent","LogoCabecera","frontVersion","Version","packageJson","version","Dateversion","dateversion","Serial","serial","backVersion","setBackVersion","ConsultaBackVersion","trigger","arrow","theme","delay","content","cambiaPagina","newpagina","ItemMenuPrincipalGris","HandleHover_OpcionMenunGris","hayclick","documentElement","clientWidth","miCursor","parametro","AlClick","alHacerClick","onMouseOver","imagenGris","MenuPrincipalGris","itemsMenu","opcionesMenu","ItemMenuPrincipalMorado","clasesItemA","idx","HandleHover_OpcionMenunMoradaNivel1","itemMenu","namechild","namechildtmp","HandleClick_OpcionMenunMoradaNivel1","viewBox","d","stroke","fill","xlinkHref","transform","MenuPrincipalMorado","seccionesMenu","perfil","getDatosFormulario","tipoForm","busqueda","seleccionados","descarga","idSelect","tituloSelect","valorNulo","esIdStr","tipoFiltradoLista","seleccionado","ocultaCodigo","OpcionesDG","tit","tip","val","OpcionesDGPF","OpcionesDGPA","OpcionesDISP","OpcionesDISPPPF","OpcionesCON","OpcionesPAC","OpcionesADM","OpcionesESP","OpcionesOTR","OpcionesOTRV","OpcionesDISPV","OpcionesESPV","OpcionesCONV","OpcionesCONPF","OpcionesPacientePI","OpcionesPacienteProductosIndi","OpcionesPatologiasPI","IconosListadosPI","img","filtrosInteracciones","nombre","campolista","tipoCampolista","abierto","otrosValores","nivel","paginasRestringidas","paginasRestringidasEST","paginasRestringidasINS","seccionesFichaRestringidasEST","validaAccesoPorRol","pagina","ItemMenuSecundarioMorado","HandleHover_OpcionMenunMoradaNivel2","itemMenuPadre","idxMenuPadre","tieneHijos","subapartados","estilo","subitem","nameParent","nameparenttmp","HandleClick_OpcionMenunMoradaNivel2","MenuSecundarioMorado","clasesItemUL","idxPadre","ItemMenuTerciarioMorado","MenuTerciarioMorado","ItemContenidoHistorial","FechaVisita","NombreCompleto","CodTipoRegistro","newid","Id","TipoRegistro","ZonaContenidoHistorial","listaItems","historial","miHistorial","fila","MenuHamburguesa","menusSecundarios","apartados","itemsMenusTerciarios","forEach","seccion","apartado","menusTerciarios","opcionesMenuGris","padresanteriores","HandleClick_BackItem2","LogoF","ItemMenuIconos","MenuIconos","elementosMenuIconos","BandaMoradaZonaMenus","provincia","setProvincia","textoProvincia","Animation","imgIndex","initIdx","fileNameActual","path","filename","ext","msTotal","t","nImg","interval","timer","setInterval","CambiaNombreImg","refresh","up","clearInterval","border","ApartadoSimpleSeccionMenuBlanco","SubapartadoSeccionMenuBlanco","ApartadoMultipleSeccionMenuBlanco","habilitado","ApartadoSeccionMenuBlanco","ColumnaSeccionMenuBlanco","SeccionMenuBlanco","nCol","numColumnas","estiloMenu","left","itemscolumnas","filasPorColumna","columnas","MenuBlanco","elementosMenu","ZonaMenus","estadoMenu","setEstadoMenu","cargaInicial","setCargaInicial","doRefresh","miImgIndex","elem","miN","estaActivo","cierraMenuBurguer","prev","handleClickMenuBurger","Cabecera","CambiaPaginaSimple","setOpcionesMenu","mostrarHomeopatia","haCambiadoMenu","nuevoMenu","BusquedaPreferida","sourceImage","colorLupa","CodigoPagina","Titulo","MisBuscadoresCabeceraResultados","listaBuscadores","setListaBuscadores","estadoMenuMisBuscadores","setEstadoMenuMisBuscadores","descargaBuscadores","busquedas","handleClickMisBuscadores","xmlns","VolverCabeceraResultados","miestilo","textoVolver","atras","CabeceraAyuda","Acordeon","completo","setCompleto","clasDiv","htmlTitulo","htmlArrow","claseContenido","estiloHeader","newActivo","handleClickAcordeonHeader","DocumentosDeTipo","grupoDocs","Tipo","documentos","Documentos","doc","URL","onMouseOut","LoadingPopup","maxItems","esPorcentaje","numItems","lastPaso","paso","fraccionRestoDelPaso","miEstado","setMiEstado","pasito","porcentaje","setTimeout","DaUnPaso","Ayuda","documentosAyuda","setDocumentosAyuda","documentosFiltrados","setDocumentosFiltrados","filtroAyuda","setFiltroAyuda","filtraDocumentos","DescargaDatos","documentosAux","filter","gd","htmlDocsAyuda","grupodocs","margin","onChangeTextoFiltro","KeyEmpresa","idCurrentEmpresa","setIdCurrentEmpresa","listaColaboradoras","setListaColaboradoras","sKey","setSKey","mostrarAddEmpresa","setMostrarAddEmpresa","colaboradoras","emp","Nombre","Key","quitaEmpresa","IdEmpresa","Colaboradoras","Msg","refrescaColaboradoras","nuevalista","idEmp","textArea","createElement","position","top","padding","outline","boxShadow","background","body","appendChild","execCommand","err","removeChild","copiaClave","CabeceraConfiguracion","tieneLicenciaBot","mostrarEmpresa","setMostrarEmpresa","muestraEmpresa","infoPagina","Selector","UsuAdicional","enabledUsuAdicional","setEnableUsuAdicional","usuAdicional","setUsuAdicional","Habilitado","Usuario","txtboton","CambiaEnabled","CambioPassword","oldPassword","setOldPassword","guradaPassword","enviaCorreoUsuarioCambioCorreo","CambiaCorreo","CambiaOldPassword","PaginaConfiguracion","datosConf","setDatosConf","setTieneLicenciaBot","mostrarUsuAdicional","setMostrarUsuAdicional","mostrarBotonCambioPass","setMostrarBotonCambioPass","mostrarCambioPass","setMostrarCambioPass","verCambioMail2","setVerCambioMail2","verConfirmaMail2","setVerConfirmaMail2","provincias","Provincias","ccaas","CCAAs","guardando","refdate","date","days","setDate","addDays","toJSON","fechaLicencia","LicenciaHasta","esUsuarioPrincipal","EsUsuarioPrincipal","DescargaDatosConfiguracion","returnTo","getTieneLicenciaBot","muestraUsuAdicional","muestraCambioPassword","IdProvincia","NombreProvincia","IdCCAA","NombreComunidad","modalContentAvisoInicial","modalKeyName","modalAvisoInicialActivo","muestraAviso","modalContent2","modalKeyName2","isMobile","innerWidth","listaProvinciasCodValor","prov","listaCCAACodValor","ca","alTerminarCambio","CambiaCorreo2","esConfrimaMail","PuedeCambiarPass","tempDatosConf","NumFarmacia","CambiaNumFarmacia","Provincia","AccesoCisMED","IdProvinciaCisMED","Configuracion","refresca","EditaBuscadores","listaBH","listaBV","listaBF","datosFormulario","setDatosFormulario","idsBusc","seleccionFormulario","setSeleccionFormulario","df","BuscadoresMUH","BuscadoresMUV","BuscadoresPPF","dfVisible","EsVisible","IdBuscador","checkBuscador","nuevaSeleccion","disabledAdd","HTMLHumanas","busc","HTMLVeterinaria","HTMLParafarmacia","cx","cy","r","y","CabeceraExporta","Exporta","documentosExporta","setDocumentosExporta","docSel","setDocSel","datosAExportar","setDatosAExportar","txtExportar","setTxtExportar","loading","setLoading","DescargaExporta","htmlDocsExporta","minWidth","nuevosDatosAExportar","cabeceras","datos","marginRight","separator","decimalSeparator","sugerenciasService","getPalabras","ItemSugerencia","Sugerencias","identificador","missugerencias","filas","FormBusqueda","setTexto","listaSugerencias","setListaSugerencias","BusqMedsService","opcionBusqueda","auxtexto","CambiaPagina","estiloOptions","estiloDiv","autoFocus","SugerenciasService","list","BusquedasPreferidasInicio","listaTemp","FormBusquedaYPreferidos","estiloContainer","maxWidth","NovedadCabecera","picto","FechaAlta","NovedadesInicioCabecera","listaNovedades","novedades","NovedadResto","NovedadesInicioCuerpo","NovedadesInicioPie","NovedadesInicio","setListaNovedades","descargaNovedades","Resultados","primerasNovedades","restoNovedades","estiloDivContent","ProblemaSuministro","FechaFinPS","ProblemasSuministroInicio","setListaItems","descargaPS","problemas","vesAUltimoMes","classButton","NovedadesYProblemasSuministro","anchoNovedades","Nota","Fecha","tipoDoc","IdTipo","endsWith","NotasSeguridadYAlertasCalidad","descargaNotasYAlertas","notas","Inicio","FormCabeceraResultados","fuerzaTexto","newlista","compruebaSiEnter","TituloBusqueda","CabeceraResultados","tipoPagina","LinksFichaFM","ficha","AvisoPriciosFuturos","xmlns_xlink","PreciosFM","tienePreciosFuturos","PFuturos","tienePMenorCCAA","AgrupacionCCAA","PVPMenor","literalPMenor","LiteralPMenor","AvisoPreciosFuturos","LiteralPrecioFM","PVPIVA","LinksFichaMUV","mouseOverLink","textDecoration","mouseOutLink","Prospecto","FichaTecnica","LinksFichaPA","CambiaPaginaPorId","Interactua","idInter","CambiaPaginaInteracciones","FilaTablaTipoDyF","claseValor","valorPositivo","estiloValor","TablaInfoPrincipalPA","valorPsicotropo","Psicotropo","EstupefacientePsicotropo","DescripcionPsicotropo","tabla","Dopaje","DescripcionDopaje","tablaHTML","LinksFichaPAT","linkIndic","TipoPat","VisibleEnPF","TieneProductos","borderTop","TablaInfoPrincipalPAT","EspecialidadMedica","borderBottom","LinksFichaPPF","DatosComposicion","Composiciones","IFU","FolletoInformativo","PreciosPPF","tienePMasBajoCCAA","PVPMasBajo","LiteralPMasBajo","estiloPrecio","estiloCuadroPrecios","estiloOtrosPrecios","literalPVPIVA","LiteralPrecio","precioAMostrar","PVPsinIVA","IdTipoPF","preciofuturoAMostrar","alignItems","InfoPrecio","float","abreEmergenteInfoPrecio","DispensacionFacturacion","Receta","Dispensable","Financiado","TipoAportacion","Visado","Sustituible","tablaV","DatosF","CodigoDato","tablaFM","Interoperable","LibroRecetario","tablaPF","LinksFichaMUH","colorlink","PreciosResumen","tienePFacturacion","PFact","ambitoHospitalario","some","PVL","precioAComparar","precioAComparar2","mostrarAvisoPMenorAuto","mostrarAvisoPMasBajoAuto","mostrarAvisoPMenorNac","AgrupacionNacional","mostrarAvisoPMasBajoNac","avisoprecioauto","avisoprecionac","infoAvisoPrecio","ItemTablaDF","claseDiv","srcImgTooltip","sigla","TablaDatosFarmaceuticos","versionFM","ResumenInfo","textoEncabezado","TipoPF","Homeopatico","svgImagenH","svgImagenV","svgImagenPF","svgImagenPAT","svgImagenPATV","svgImagen","PreciosFuturos","FilaPictogramas","pictogramas","Texto","Archivo","ZonaImagenYPictos","sliderRef","literalCodigo","imgDefecto","srcImagen","ImagenEnvase","URLFull","ImagenFormula","srcImagenFF","ImagenMatAcond","ImagenFormaF","tieneImagenes","arrayImgs","imagenesHTML","srcImg","onLoad","loadImageGrande","tieneImagen","maxHeight","estilhorizontal","h","w","maxHeightG","innerHeight","maxWidthG","seccionImagen","clickImagen","loadImage","ref","slidesToShow","slidesToScroll","infinite","speed","arrows","touchMove","accessibility","adaptativeHeight","dots","focusOnSelect","pictogramasEnFilas","Pictogramas","literalNumRegistro","tieneCodigoUdi","CodUDIDI","estiloCodigos1","estiloCodigos2","CodCAS","CodCIE","NumRegistro","overflowWrap","wordWrap","minHeight","InfoPrincipalMUH","FilaMenuIzquierda","iddiv","current","scrollIntoView","behavior","block","inline","cambiaImgIndex","MenuIzquierda","seccionActiva","apartadosHTML","FilaAnalisis","interferencia","Observaciones","tieneInfo","tooltip","handleMouseOverIcon","handleMouseOutIcon","clasesDivAnalisis","clasesDivEfecto","itemImg","itemTooltip","itemAccordionContent","itemInfoContent","rect","getBoundingClientRect","rectdiv","rectdiv2","finYdiv","finYdiv2","finYtootip","incremento","newAltura","idAnalisis","IdAnalisis","Analisis","Efecto","HTMLAnalisis","datosAnalisis","AnalisisPAAso","ContAcordeon","Causa","AnalisisAso","HTMLAnalisisAso","datosAnalisisAso","FilaTE","tiempoEspera","clasesDiv","itemDropdownContent","rectdiv3","finYdiv3","Tejido","Tiempo","IdUnidad","Unidad","TiemposEsperaEspecie","tiemposEspera","Especie","HTMLTiemposEsperaTejidos","TiemposEsperaTejido","tet","contenidoAcordeon","TiemposEspera","tiemposEsperaEspecie","tee","FilaNombrePA","IdPA","NombrePA","ConfusionNombresPA","HTMLNombresPA","nombresPA","Advertencias","datosAdver","datosAdvertencias","advertenciasPorTipo","tipoAdver","advertenciasTipo","textosSeccion","Textos","Epigrafe","AdvertenciasTipo","advertencias","Mensajes","mensa","URLPictograma","HTMLImagen","datosDopaje","FilaNombreValor","verEmergenteTooltip","setVerEmergenteTooltip","claseFila","claseColI","claseCol","claseColD","esCodigoONumero","esNumero","conValoresNumericos","MostrarAvisoOCambiaPagina","aviso","letterSpacing","contenidoValor","altotooltip","BloqueNombreValor","claseBloque","estiloEspecial","filasNumericas","filasHTML","bloque","FilaDDD","dosificacion","dosis","Dosis","Via","DDD","HTMLDDD","datosDDD","ddd","InfoGeneralPA","formula","FormulaEmpirica","regex","RegExp","formulaPartida","formulaBonita","isNaN","bloque1","EstadoAuto","Descripcion","PesoMolecular","estiloGrupos","bloqueATC","nombreCampo","DatosGrupos","contEP","busquedaActividad","HTMLAF","ActividadesFarmacologicas","af","HTMLCM","CaracteristicasMetabolicas","HTMLSin","Sinonimias","sino","HTMLAING","Actividades","contAF","contCM","contSin","contAING","contDDD","Dosificacion","DenQuiHTML","DenominacionQuimica","sonValoresNumericos","HTMLSinonimias","sinonimias","FilaLMR","lmr","LMR","LMREspecie","HTMLLMRTejidos","LMRsTejidos","lmrtej","estiloUltimaFila","UsoAnimalesProductores","datosAnimalesProductores","HTMLLMREspecie","LMRsEspecies","lmre","IngestaDiariaAceptada","bloqueComun","ResiduoMarcador","Cie","HTMLFila","HTMLTablaCie","InfoGeneralPAT","DescripcionCIE","Jerarquias","nivelSuperior","datosJerarquia","NivelSuperior","nivelInferior","NivelInferior","HTMLNS","enf","Enfermedad","HTMLNI","contNS","contNI","FilaTablaProductos","producto","TablaProductos","productos","prod","FilaLotes","lote","NumLote","FechaCaducidad","TablaLotes","HTMLLotes","lotes","AlertaCalidad","alerta","bloqueAlerta","NumAlerta","FechaAlerta","Todos","codTipoRegistro","LotesAfectados","htmlInfoAdicional","InfoAdicional","AlertasCalidad","datosAlertas","htmlAlertas","Alertas","ChartJS","register","CategoryScale","LinearScale","BarElement","Title","Tooltip","Legend","GraficaCismed","inactivo","datosCismed","estiloImg","WebkitFilter","datosGraph","labels","datasets","PorcentajeNacional","PorcentajeCCAA","PorcentajeProvincia","borderColor","borderWidth","optionsGraph","responsive","maintainAspectRatio","legend","text","scales","stacked","min","suggestedMin","suggestedMax","plugins","options","SemaforosCismed","getImagenFromEstado","getTextoFromEstado","imgSemaforoAnt","EstadoSemanaAnterior","imgSemaforoAct","EstadoSemanaActual","txtSemaforoAnt","txtSemaforoAct","EsInicioSemana","borderRadius","TablaFParticipantes","textShadow","abreEmergenteCismed","NFarmaciasNacional","NFarmaciasCCAA","NFarmaciasProvincia","NoConsolidada","FechaConsolidacion","CismedKO","yesterday","HayConexion","EstaAutorizado","DatosVisibles","NoConsolidado","CumpleCriterioDia","CumpleCriterioSemanaPasada","CumpleCriterioSemanaActual","AbreEmergenteCismed","CismedOK","textJustify","Cismed","Componente","alturadivinicial","PA","componente","PrincipioActivo","IdPrincipioActivo","sal","Sal","Cantidad","uni","codUnidad","CodUnidad","sub","resto","dangerouslySetInnerHTML","__html","classdivPA","unidadesLargas","sizeFontUnidades","IdPrincipal","estiloNombreComponente","siguiente","estiloCantidadComponente","estiloUnidadComponente","estiloP","CambiaPaginaFichaPA","Composicion","composicion","por","componentes","Componentes","excipientes","Excipientes","excipientesB","ExcipientesB","tituloE","NombreExcipientes","tituloE2","NombreExcipientesB","nombreComponentes","datosCompos","ComposicionPor","composiciones","compo","FilaNombreMed","clasesDivCompos","HTMLNombresComponentes","IdMed","NombreMed","ConfusionNombresMed","HTMLNombresMed","nombresMed","DatoFarmaceutico","dato","tienePicto","Dato","DatosConservacion","htmlConservacion","datosConservacion","Conservacion","infoConservacion","mensajesConservacion","MensajesConservacion","datosValidez","mensajecomodato","GrupoPolimorfismos","grupo","polimorfismos","Polimorfismos","recos","RecomendacionesTerapeuticas","estiloObservaciones","estiloRecomendaciones","estiloPrimeraFila","ultimaFila","Fenotipo","FarmacogeneticaBioPA","biomarcador","gruposPolimorfismos","FarmacogeneticaPA","farmacogenetica","biomarcadores","Biomarcadores","biom","esAcordeon","Farmacogenetica","farmacogeneticaComponentes","farmacogeneticas","fgpa","FilaBloquePrecios","estilopfuturo","valor2","colSpan","tienePFuturos","valor1","gridTemplateColumns","valor3","AgrupacionHomogenea","agrupFutura","claseDivTabla","Filas","agrup","tipoReg","literalAgrupacion","literalFecha","mostrarPExtra","PVPExtra","LiteralPExtra","TablaHTML","estilobordes","noBordeSup","ccaa","Grupos","msgAviso","setMsgAviso","strPaginaTrasAviso","setStrPaginaTrasAviso","idPaginaTrasAviso","setIdPaginaTrasAviso","nombreGrupos","tituloGrupos","tipoRegLink","datosGrupos","bloqueVTM","descClinica","GVTM","GVMP","GVMPP","sustituible","exceptSust","estiloSinBorde","estiloGTATC","hayPFuturos","pFuturos","hayAgrupAuto","agrupCCAA","hayAgrupNac","agrupNac","pFuturosHTML","estiloPrimerGrupo","ocultaGNPorPerfil","estiloGrupoGT","GNomenclator","CambiaPaginaBusquedaGrupo","CambioHistorico","cambio","esCambioPrecio","PreAnterior","esCambioNombre","NomAnterior","esCambioLab","LabAnterior","tieneObservaciones","esECoH","FechaHistorico","htmlCambios","Cambios","Historico","htmlHistorico","datosHistorico","FilaTitulosIdent","htmlFila","idxBloque","borderTopWidth","FilaIdent","colsperrow","idxForma","URLForma","line","titulos","Identificacion","datosIdentificacion","tablas","iaux","Titulos","Identificaciones","Valores","htmlTablas","InformacionAdicional","datosInfoAdicional","BloquePrecios","PRef","PVLRef","literalPVPsinIVA","literalPVL","precioReferencia","IVA","CjtoRef","InfoGeneral","tooltipMaxEnvases","tooltipMaxEnvasesDieto","bloque1H","CodEAN13","MaxEnvReceta","bloque1V","bloque1PF","LiteralSubtipo","SubtipoPF","IdSubtipoPF","LiteralCodigoRegistro","precioAuto","formaFarma","FormaFarma","Formafarmaceutica","via","bloque1FM","lab","Laboratorio","bloque1HO","abreEmergenteLabo","bloque2","datosLaboratorio","Direccion","CodigoPostal","Localidad","Pais","Telefono","Fax","Email","IdPais","bloque2PF","Esteril","bloque3","EstadoNom","FechaAutorizacion","fecha0","FechaComercializacion","IdEstadoAuto","FechaInclusionSNS","FechaBajaInclusionFinanIndiv","IdEstadoNomPF","EstadoNomPF","FechaBajaEfectoYAccesorio","FechaExclusionSNS","FechaBaja","ocultaPrecios","modalTitulo","NombreLargo","PrecaucionExtrema","textos","formatedtexto","ProblemaS","problema","bloqueProblema","Estado","FechaInicio","FechaFin","ProblemasS","datosProblemasS","htmlProblemas","Problemas","EnfermedadesRelacionadas","enfermedadesHTML","enfermedades","CambiaAFichaEnf","codigoEnf","epigrafe","epigrafeActivo","IdEpigrafe","epigrafesActivos","datosTextos","TextosHTML","Epigrafes","anclasEpis","anc","hayIndicaciones","PatologiasIndicadas","hayContraindicaciones","PatologiasContraindicadas","hayPrecauciones","PatologiasPrecaucion","hayRA","EfectosAdversos","hayEnfermedades","Video","video","IdDocumento","idFrame","idMask","itemFrame","itemMask","handleVideoClick","Videos","datosVideos","htmlVideos","Apartado","detalleApartado","muestraEmergenteSimil","setMuestraEmergenteSimil","handleClickTitulo","DatosTextos","DatosAdvertencias","DatosConsejos","DatosPrecaucionExtrema","Interferencias","NombresSimilares","FarmacogeneticaComponentes","InfoConservacion","DatosHistorico","DatosIdentificacion","DatosAlertas","DatosProblemasS","DatosInfoAdicional","DatosCismed","DatosVideos","PackContiene","PackContenidoEn","DatosDopaje","DatosAnimalesProductores","Jerarquia","DatosJerarquia","DatosCIE","clickTop","scroll","ContenedorApartados","setRefresh","Apartados","aptdo","MensajesEmergentes","restoMensajes","mensajes","primerMensaje","keyME","URLImagen","htmlResto","mostrado","setMostrado","MargenDerechoPA","estildefecto","valorDopaje","FichaASO","setFicha","descargaFicha","descargaAdvertencias","descargaDopaje","descargaInterferencias","descargaFarmacogenetica","descargaHistorico","descargaInformacionAdicional","descargaUsoAnimalesProductores","descargaVideos","auxFicha","TipoPA","miId","miFicha","descargaHistorial","LinksFichaExt","TablaInfoPrincipalExt","ResumenInfoExt","ZonaImagenYPictosExt","InfoPrincipalExt","MargenDerechoExt","FichaEXT","descargaCompos","IdComposicionPor","miIdCPor","miIdFF","MargenDerechoFM","literalPrecio","ShortFinanciado","FichaFM","descargaMensajesEmergentes","IdFormaFarma","codGrupo","CodATCN5","CodATCN4","CodATCN3","descargaGrupos","CodVMPP","descargaDatosConservacion","miGTATC","nivelGTATC","miGTVMPP","l","FichaING","descargaTextos","MargenDerecho","useRef","notificado","precioFuturoAMostrar","textoDispensable","FichaMUH","setImgIndex","muestraAmpliada","setMuestraAmpliada","sliderRef2","idxSlider","setIdxSlider","muestraEmergentePrecios","setMuestraEmergentePrecios","sEpigrafes","createBrowserHistory","Number","seHaHechoScroll","SetSeHaHechoScroll","estiloImagenFlotante","alignContent","slickGoTo","descargaConsejos","descargaPrecaucionExtrema","descargaIdentificacion","descargaNombresSimilares","descargaAlertasCalidad","descargaProblemasSuministro","descargaDatosCismed","currentAncla","eAnt","eAct","leyenda","getLeyendaPictoCismed","IdPictograma","anadeIconoCismed","MargenDerchoMUV","txtDispensable","FichaMUV","descargaTiemposEspera","FichaPA","linkRef","FichaPAH","FichaPAV","MargenDerechoPAT","CodEspecialidadMedica","FichaPAT","descargaJerarquiaInfo","descargaSinonimias","descargaCieInfo","MargenDerechoPPF","FichaPPF","descargaFichaPF","descargaComposPF","CodConN5","CodConN4","CodConN3","descargaGruposPF","CodNom","descargaTextosPF","descargaAdvertenciasPF","descargaDatosConservacionPF","descargaHistoricoPF","descargaAlertasCalidadPF","descargaContenidoPackPF","descargaPacksContenedoresPF","descargaInformacionAdicionalPF","descargaVideosPF","rectpie","finpie","scrollHeight","offsetHeight","GConNivel1","GConNivel2","GConNivel3","GConNivel4","GConNivel5","AgrpacionCCAA","AgrpacionNacional","Ficha","visitados","findIndex","TituloFormularioBusqueda","codPagina","textoGen","CabeceraFormulario","SelectorUno","textPlaceholder","BorraItem","HTMLTagSelected","strlabel","bMostrar","textoDividido","alBorrar","ResumenBusqueda","condiciones","HTMLCondicionesBusqueda","cond","SelectorFechas","seleccion","setSeleccion","idHMTL","idDesde","idHasta","cambiaSeleccion","keyDateDown","charCode","estiloTitulo","registerLocale","es","createAutoCorrectedDatePipe","estilosubtitulos","fontFace","subtitulodesde","subtitulohasta","locale","cambioInicio","dateFormat","placeholderText","customInput","cambioFin","SelectorUno2","listavisible","setListaVisible","search1","dropdownclases","multiple","FBAlertasCalidad","listaLab","listaPA","tituloPA","placeholderNombre","PrincipiosActivos","Laboratorios","resumen","construyeResumenBusqueda","clickBuscar","BorraBusqueda","inputs","itemContainer","copiaFechas","origen","destino","estiloBotonesSup","estiloBotonesInf","listaCodValorLab","listaCodValorPA","arbol","KeyDownForm","CambiaTxt","CambiaTxtLote","nuevovalor","SelectorFecha","SelectorComposicion","valuesSelected","infoComponentes","setInfoComponentes","codiog","currentComponente","setCurrentComponente","negado","setNegado","itemsSelected","vs","vsitem","abs","infoComponente","salesPosibles","Sales","cantsPosibles","Cantidades","HTMLTagsSelected","SeleccionaItem","des","HTMLTags","borderLeft","borderLeftColor","borderLeftStyle","currentItemSelected","HTMLSalesYCantidades","ocultaNegado","alUpdatePA","ClickNegado","clickEnCabeceraSC","cp","cs","Cant","Cod","alBorrarCant","Des","alAnadirCant","sp","ss","alBorrarSal","alAnadirSal","DescargaInfoValuesSelected","listaCodigos","itemdescarga","itemvs","salvs","saldescarga","cantvs","cantdescarga","alCambiarPASolo","pasolo","alAnadirPA","tag","alBorrarPA","strComponente","opcionesComposHTML","muestraChecks","SelectorMulti2","inputText","setInputText","small","alCambiarTexto","codigo2","classInputName","estrecho","onpaste","ocultaTags","SelectorCHK","valoresCHK","opcionesCHK","idOrigen","HTMLChecks","opt","check","cambiaCheck","pie","SelectorSNX","valorSNX","setValorSNX","idChkAct","idChkSN","txtS","txtN","checkedChkAct","checkedChkSN","calculaSNX","act","SN","checkAct","checkSN","cambiaCheckActivo","cambiaCheckSN","for","SelectorEdad","unidad","ivalue","cambioEdad","newunidad","SelectorEnfRel","setEpigrafe","currentEnf","setCurrentEnf","EpigrafeByCod","ClickEpigrafe","alUpdate","itemepi","codEpi","esNegado","ItemResumenFiltros","descripcion","borraFiltro","idFiltro","SelectorNumero","setNum","valorVacio","sufijo","numNull","pulsaPunto","HTMLSufijo","cambioNum","checkDot","SelectorMulti2No","currentValue","ClickTag","nuevaProps","pal","alNegar","SelectorAnaRel","SelectorTexto","listaEpigrafes","estiloLab","tituloTexto","tituloEpigrafe","FBAvanzadaMUH","listaFFs","listaVias","listaIntsV","listaIntsNV","listaEnfs","listaGTs","listaLabs","listaCamposPrecio","listaOperadoresPrecio","listaPredefinidasPrecio","listaAgrupAuto","listaAgrupNac","listaDescrip","listaAnas","listaMens","listaEpis","ocultaIntolerancias","setOcultaIntolerancias","claseIntoleranciasOcultas","claseBotonIntolerancias","txtbotonIntolerancias","Vias","FormasFarma","IntoleranciasV","IntoleranciasNoV","Enfermedades","CamposPrecio","OperadoresPrecio","PredefinidasPrecio","AgrupacionesAutonomicas","AgrupacionesNacionales","DescripcionesClinicas","obtenDatoResumen","opciones","strValores","itemOpcion","itemSel","strVal","idxEstado","itemEstado","strValor","idxCom","itemCom","c","o","hayBusqueda","CambioIntolerancia","idInt","CambiaValorSNX","idSNX","CambiaValorCHK","idCHK","newitem","listaCodValorLabs","listaCodValorGTs","listaCodValorPAs","listaCodValorFFs","listaCodValorVias","listaCodValorEnfs","listaCodValorAnas","listaCodValorCPs","listaCodValorOPs","listaCodValorPPs","listaCodValorAAs","listaCodValorANs","listaCodValorDCs","listaCodValorMens","listaCodValorEpis","HTMLIntoleranciasV","int","HTMLIntoleranciasNV","clasedivmodulefilters","HTMLOpcionesDG","HTMLOpcionesDISP1","HTMLOpcionesDISP2","HTMLOpcionesDISP3","HTMLOpcionesDISP4","HTMLOpcionesDISP5","HTMLOpcionesPAC","HTMLOpcionesESP","HTMLOpcionesESP2","HTMLOpcionesOTR1","HTMLOpcionesOTR2","HTMLOpcionesCONV","HTMLDatosGenContenido","nuevonumero","HTMLFechasContenido","HTMLPrecioContenido","HTMLGruposContenido","HTMLDatosCompos","idSal","idUnd","cantidad","HTMLDatosDisp","HTMLDatosPac","nuevaedad","nuevaunidad","HTMLDatosOtr","HTMLDatosCon","HTMLAdvertenciasContenido","HTMLDatosEnf","idEnfermedad","HTMLDatosAna","HTMLDatosBusquedaTexto","nuevoepi","nuevotexto","FBAvanzadaMUV","listaEsps","Especies","listaCodValorEsps","HTMLOpcionesDISP","estiloFF","estiloVia","HTMLDatosEspInd","FBAvanzadaPAH","listaAFs","listaAMs","ActividadesF","ActividadesM","listaCodValorAFs","listaCodValorAMs","FBAvanzadaPPF","listaTipos","listaSubtipos","Tipos","Subtipos","listaCodValorTipos","listaCodValorSubtipos","HTMLOpcionesCON","FBComposicion","setMuestraAviso","nombreComponente","nombreComponentePlural","ActualizaFormasYVias","formularioVacio","FBDocumentos","listaMed","Medicamentos","listaCodValorMed","FBEspecieIndicacion","listaEnf","listaEspecie","listaCodValorEnf","listaCodValorEspecie","FBExtranjeros","listaPaises","Paises","CodPais","CambiaSolo","listaCodValorPais","FBFechas","PreviewForma","color1","color2","ListaFormas","xmlnsXlink","points","strokeWidth","FBFormaColor","listaFormas","listaColores","listaSabores","setTipoFF","col1","col1c","sab","ftr","ins","Formas","Colores","Sabores","getStrColor","idColor","col","AuxStr","getStrColorDesc","co","clasesHeaderColor2","clasesContentColor2","CambioColor1","CambioColor2","ToggleTamano","RemoveTamano","AddTamano","CambiaCO1","CambiaCO2","CambiaRanura","CambiaLogo","CambiaCol2","listaTamanos","listaCodValorSabores","listaCodValorColores","estiloSeleccionado","estiloTamanoSeleccionado","textoTamanoSeleccionado","estiloTamanoVacio","textoTamanoVacio","estiloVacio","HTMLFormas","forma","ClickForma","nomForma","HTMLTamanos","tam","HTMLColores","ClickColor1","HTMLColores2","estiloFormaMin","CambiaIns1","CambiaIns2","clickCambiaCol2","despliegaColor2","CambiaAnycol","CambiaDifCol","getStrTamanos","getStrInscripciones","backgroundImage","getStrSabor","getStrIndicacion","getStrPrincipiosActivos","FBPacienteIndicacion","listaMeds","listaAlgs","Alergias","itemPat","obtenDatoResumenPatologias","valSel","obtenDatoResumenPaciente","listaCodValorMeds","listaCodValorAlgs","HTMLPiePat","HTMLOpcionesPat","HTMLPiePac","HTMLOpcionesPac","HTMLDatosGeneral","HTMLColumna1","HTMLColumna2","HTMLDosColumnas","FBProductosIndicacion","listaIngredientes","FBProblemasSum","finoh","CambiaCheckMedExt","CambiaCheckNoSust","FBReaccionesAdversas","TituloByEpicod","AcordeonN1","handleClickAcordeonCheck","parent","checks","AcordeonN2","RamaSecundaria","contenidoHTML","hijo","abierta","RamaPrincipal","OptionSelect","SelectorTree","i1","i2","i3","i4","i5","arbolHTML","FBTest","lista1","lista2","lista3","lista4","itemA","idA","idL1","idL2","idsL3","snx","Dietoterapicos","NombresMeds","listaCodValor1","listaCodValor2","listaCodValor3","listaCodValor4","ocultaInputText","nuevoTexto","nuevoSNX","ItemRamaArbol3","accion","cierraRama","abreRama","clasesSubdiv","estilodisabled","estilodisabledtexto","miHTML","muestraCodigo","RamaArbol3","SelectorArbolM","valorSeleccionado","datosSeleccion","setDatosSeleccion","listaCompleta","setListaCompleta","listaFiltrada","setListaFiltrada","numMostrar","setNumMostrar","bMostrarMas","codigoJerarquico","nuevalistafiltrada","filtraLista","filtraValorSeleccionado","filtraListaConTexto","pendientes","currentlista","listaLlena","itemContieneTxt","encontrado","textoSeparado","itemContienePalabra","txt2","EsCodigoPadre","codigoRama","nuevaListaFiltrada","itemListaFiltrada","itemListaCompleta","nuevosDatosSeleccion","newtxt","cambiaTxt","cambiaTexto","FBusquedaArbol","setArbol","setTxt","DescargaLista","SelectorArbol3","EsAlgunCodigoPadre","newitem2","newitem3","newitem4","m","newitem5","FBusquedaArbolMultiple","buscaItemArbol","codigoBuscado","FBusquedaSaborEdad","arbolDieto","itemDieto","txtInputDieto","setTxtInputDieto","DescargaDatosSaborEdad","CambiaCheckSolo","listaCodValor","FBusquedaSimple","setLista","BorraValor","FBusquedaMultiple","ItemIndiceFormularios","claseli","colorFill","estiloSpan","IndiceFormularios","listaFormularios","setListaFormularios","tipoDesc","HTMLIndice","nuevaLista","FormularioBusqueda","setInfoPagina","f","getTituloFromCodigoPagina","formulario","cambiaTab","codTab","nuevaInfoPagina","tabsComposPF","tiposFF","HTMLTabs","Interaccion","itemInteraccion","claseMask","IdSemaforo","imgSentido","txtSentido","PA1","PA2","Sentido","clickDescripcion","header","covercard","anchos","HTMLSemaforoInter","mixBlendMode","TxtSel1","TipoRegistro1","IdSel1","IdPA1","DesSemaforo","TxtSel2","TipoRegistro2","IdSel2","IdPA2","clickDetalles","Significacion","Naturaleza","Medidas","Importancia","Mecanismo","Evidencias","Referencias","FiltroLista","opcionesLista","opcion","idInput","cambiaLista","handleCambioLista","which","blur","avoidEnter","FiltroListBox","FiltroText","CheckBoxFiltro","claseCheckBox","claseLabel","idCheckBox","valueCheckBox","handleCambioCheckBox","GrupoCheckBoxFiltro","listaCheckBox","FiltroBusqueda","claseAcordeon","handleClickAcordeonFiltro","MargenIzquierdoInter","htmlFiltros","listaPosibles","Codigo2","MedsSeleccionados","itemsHtml","nFiltrados","alLimpiar","BInteracciones","setListaPosibles","setIdsSel","listaResultados","setListaResultados","filtrosActivos","configuracionVista","setConfiguracionVista","setItemsSelected","filtrosInt","nuevosItemsSelected","ActulizaItemsSelected","BuscaInteracciones","AplicaFiltrosInteracciones","newpath","history","replaceState","nuevaListaPosibles","nuevaListaResultados","AplicaFiltro","filtroInter","filtroSel","RemoveMedicamento","nuevosIdsSel","HTMLListaInteracciones","inter","tempVar","sCodigo","isNumeric","tempList","added","CodigoNacional","nTotal","muestraMas","FilaListaResBusqueda","tiposPersona","Array","tiposAnimal","tiposParafar","patologias","conPrecio","conEstado","conLaboratorio","claseEstado","IdEstadoAutorizacion","claseTextoEstado","pictogramatipo","problemaSuministro","vesAFicha","infoPacienteIndica","mostrarPI","ListaAux1","icon","mostrarAuxStr","infoAuxStr","mensStrAux2","AuxStr2","infoAuxStr2","infoListaAuxStr","mostrarListaAuxStr","ListaStr","mostrarAuxFecha","infoAuxFecha","AuxFecha","infoAuxFecha2","AuxFecha2","infoFechaAlta","mostrarFechaAlta","infoFechaEntrada","mostrarFechaEntrada","infoFechaVisita","mostrarFVisita","infoBorrarItem","mostrarBotonBorrar","mostrarAvisoPrecio","mostrarAvisoPMenor","pvpMenor","AuxDbl","mostrarAvisoPMasBajo","pvpMasBajo","infoAvisoPrecioMenor","infoAvisoPrecioMasBajo","literalPVP","precio","AmbitoHospitalario","PFacturacion","mostrarHist","AuxStr3","estiloItem","oculto","visitado","espacioPrimero","espacioPrimeroPrecio","estiloNombre","textOverflow","estiloLaborat","comoPackList","EstadoAutorizacion","comoGrid","NombreAnterior","AuxInt","mostrarFuturo","FilaListaFM","txtFina","txtApor","txtVisa","OpcionOrden","index","currentIndex","getIndexSetOrden","obj","setOrden","EncabezadoListado","estadoOpcionesOrden","setEstadoOpcionesOrden","ordenesPosibles","mostrarDocumentos","cambioOrden","muestraBotonTabla","mostrarFM","mostrarEXT","claseSwitchGrid","claseSwitchList","claseSwitchPackList","listaPack","listaitems","nDescargados","numDescargados","numTotal","alExportar","mostrarLimpiaHistorial","alVaciar","borderLeftWidth","clickComoPackList","clickComoList","clickComoGrid","FilaListaEXT","FilaListaDOC","ListaResBusqueda","filtrosYlista","estadoVerComoGrid","setEstadoVerComoGrid","estadoVerListaPack","setEstadoVerListaPack","numColsGrid","numMostrados","unoOculto","divisor","claseContentResults","muestraTabla","borraDeLista","newLength","borderSpacing","maginBottom","sytle","FiltrosBusqueda","estiloAsideConPMenores","borderTopStyle","estiloAside","conPreciosMenores","estiloSegundoAside","borderBottomStyle","borderBottomColor","borderBottomWidth","literalPMasBajo","ResumenFiltros","displayValor","borraTodosFiltros","GrupoCamposExportables","campo","CodCampo","onCheck","HTMLAcordeon","CamposExportacion","listasPosibles","setListasPosibles","listasResultados","setCodTipoExporta","codsSeleccionados","setCodsSeleccionados","txtCancelar","setTxtCancelar","numTotalCampos","Campos","literalTitulo","maxCampos","lp","nuevasListasPosibles","checkCampo","HTMLGruposExportables","GrupoCamposExportable","CodGrupo","getTipoFromCodTipo","codTipo","abreEmergenteMaxRegs","tiposRegs","aux1","aux2","alSalir","AccesoRestringido","modalContentEST","modalContentINS","miModalContent","idUltimaBusqueda","FiltrosYResultados","listaRes","total","setFiltrosYLista","setCodigoPagina","verCamposExporta","setVerCamposExporta","infoExportacion","setInfoExportacion","ascendente","compare","xa","xb","a","b","sort","aplicaFiltros","orden","aplicaFiltro","checkTipoProductoVisibility","relacion","comparacion","valorlista","mostrarCamposExporta","infoExport","tieneMUH","tieneMUV","tienePPF","defaultTipoExporta","ie","cambioFiltroCheck","fils","fTipoPPF","fTipo","vPPF","v","cambioFiltroList","completa","ChequeaPosiblesFiltros","MuestraResultados","resultados","incompleta","idBusqueda","rutaAlInicioBusqueda","idGT","idSubtipo","numMax","miListaBusqeda","filtroscp","filtropm","filtropmb","AuxDbl2","IdBusqueda","Completo","Total","hayFiltros","align","SeccionResultados","filtroNombre","filtroCodigo","filtroTitulo","valorFiltroFinanciadoSegun","filtroAportacionFM","filtroVisadoFM","filtroTipoFM","filtroPaises","getPosibles","pais","filtroEspecies","listaEspecies","especie","filtroPAHomeo","filtroTipoProductoPPF","listaFiltro","itemLista","filtroCisMEDFecha","filtroCisMEDEstado","filtrosStandard","listaLaboratorios","IdLaboratorio","laboratorio","filtroCompos","filtroAnalisis","filtroEfectoFG","filtroRecoFG","filtroIntolerancias","filtroDeduccionesRDL","filtroHuerfano","filtroNoSustituible","filtroComparaPrecios","exclusivoPPF","fSubtipoIndex","anadeSiProcedeTiposPPF","Cuerpo","Pie","hacernada","urlLicencia","estiloLinks","estiloLiRRSSs","estiloLiMenus","Licencia","checkedAceptar","setCheckedAcpetar","licencia","alAceptar","alLogout","Contenido","myTimeout","pageYOffset","isTopWindow","setIsTopWindow","setHistorial","lastVisitedPath","setLastVisitedPath","haAceptadoLicencia","setHaAceptadoLicencia","licenciaAAceptar","setLicenciaAAceptar","tiempoCheck","accesoRestringido","setAccesoRestringido","setCambiopass","setCambiomail","setConfirmamail","ChequeaSesion","checkSesion","clearTimeout","construyeInfoPaginaFromPath","removeEventListener","AlHacerScroll","onBackButtonEvent","addEventListener","passive","RefrescaProvincia","getStringProvincia","HaAceptadoLicencia","LicenciaAAceptar","ParseaFiltros","strFiltros","arrayFiltros","arrayFiltro","validaAcceso","newInfoPagina","ruta","auxIds","auxIdsSabores","misFiltros","snumMostrar","sidxOrden","decodeURI","auxPas","auxIdsEnfs","auxIdsMeds","auxInts","auxIdsPat","auxIdsMed","auxIdsAlg","auxTamanos","auxIdsLab","auxIdsGT","enfsRelAux","anasRelAux","auxIdsAA","auxIdsAN","auxIdsDC","auxIdsMen","auxAF","auxAM","auxIdsTipo","auxIdsSubtipo","auxIdsSel","listaIds","AccionesComunesBusqueda","datosPagina","CompletaURLBusqueda","addToUrl","filtrosStr","CambiaAPagina","CierraMenuBurguer","currentpath","pathname","miUrl","newUrl","QuitaFiltrosURL","AccionesComunesFicha","alert","url1","url2","sinparametros1","sinparametros2","params1","params2","txt1","MismaURL","Atras","goBack","getElementsByTagName","infogenItems","secciones","menus","y0","itemRes","itemFil","offsetsRes","offsetsFil","topRes","topFil","altoFil","altoWin","minTop","maxTop","newTopStyle","newTop","oldScroll","scrollY","checkAltoFiltros","modalContentLicencia","pos","infoAux","Credenciales","getInfoCredenciales","App","currentUser","setCurrentUser","sesionOK","setSesionOk","CheckNetworkUser","keypass","OpenDeferredSession","SpecialAuthentication","IPAuthentication","bpu","host","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode"],"mappings":"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,gBACA,oBACA,gBACA,iBACA,iBACA,iBACA,SACA,SACA,UACA,SACA,eACA,sBAMA,WACA,cACA,iBACA,iBACA,uBACA,iBACA,sBACA,YACA,YACA,aACA,YACA,YACA,oBACA,mBACA,aACA,cACA,aACA,cACA,eACA,YACA,yBACA,uBACA,2BACA,2BACA,mBACA,yBACA,wBACA,oBACA,oBACA,qBACA,qBACA,2BACA,gBACA,mBACA,eACA,eACA,eACA,gBACA,qBACA,mBACA,qBACA,2BACA,kBACA,wBACA,yBACA,kBACA,kBACA,kBACA,yBACA,iBACA,eACA,eACA,eACA,eACA,kBACA,mBACA,mBACA,mBACA,qBACA,iBACA,qBACA,iBACA,kBACA,kBACA,kBACA,UACA,UACA,WACA,UACA,gBACA,uBACA,aACA,aACA,cACA,aACA,aACA,iBACA,yBACA,oBACA,gBACA,gBACA,gBACA,0BACA,mBACA,mBACA,mBACA,0BACA,kBACA,gBACA,gBACA,gBACA,gBACA,mBACA,iBACA,sBACA,oBACA,sBACA,oBACA,oBACA,gBACA,0BACA,iBACA,2BACA,4BAGSC,GAAyB,CAElC,kBACA,kBACA,oBACA,gBACA,oBACA,gBAEA,iBACA,iBAGA,UACA,SAKA,SACA,UACA,UACA,WACA,cAEA,iBAKA,YAEA,YACA,YACA,oBAQA,yBACA,uBACA,2BACA,2BACA,mBACA,yBACA,wBAEA,oBACA,qBACA,qBACA,2BACA,gBACA,mBACA,eACA,eACA,eACA,gBACA,qBACA,mBACA,qBACA,2BAEA,wBAGA,kBACA,kBAGA,eACA,eAEA,eAGA,mBACA,mBACA,qBACA,iBACA,qBACA,iBAEA,kBACA,kBAGA,WACA,UAIA,aAEA,aACA,aACA,iBACA,yBACA,oBACA,gBACA,gBACA,gBAGA,mBACA,mBAGA,gBACA,gBAEA,gBAEA,iBACA,sBACA,oBACA,sBAEA,oBACA,gBACA,0BACA,iBACA,2BACA,4BAGSC,GAAyB,CAElC,kBAEA,oBACA,gBACA,oBACA,gBAEA,iBAKA,SAKA,SACA,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","file":"static/js/main.8f959f05.chunk.js","sourcesContent":["export default function authHeader() {\r\n const user = JSON.parse(localStorage.getItem('login'));\r\n if (user && user.Token) {\r\n return { 'Authorization': 'Bearer ' + user.Token,\r\n 'Access-Control-Allow-Origin': '*'\r\n };\r\n } else {\r\n return { 'Access-Control-Allow-Origin': '*'\r\n };\r\n }\r\n}\r\n\r\nexport function noAuthHeader() {\r\n return { 'Access-Control-Allow-Origin': '*'};\r\n}\r\n\r\n\r\n\r\n\r\n\r\n/*\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': '*',\r\n 'Access-Control-Allow-Headers': '*',\r\n*/","import React, { createRef } from \"react\";\r\nimport AuthService from \"./auth.service\";\r\n\r\nconst arrayComun = ['primera', 'segunda'];\r\nexport const variableComun = 1;\r\nexport const rootPath = '/';\r\nexport const apiProdPath = \"/api/botplusapi/\";\r\nexport const apiDesaPath = 'http://localhost:36823/botplusapi/';\r\nexport const baseURLPictogramas = \"https://botplusweb.farmaceuticos.com/pictogramas/\";\r\n\r\n\r\nexport function AnadeApartado(registro, lista, anclas){\r\n if (!lista.find(ap => ap.Ancla === registro.Ancla)){\r\n lista.push(registro);\r\n compruebaAnclas(lista,anclas);\r\n }\r\n}\r\n\r\nexport function compruebaAnclas (aptdos, anclas) {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n}\r\n\r\nexport function anadeAncla (idAncla, anclas) {\r\n if (!anclas.find(ancla => ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n}\r\n\r\n\r\nexport function getApiPath() {\r\n const miHost = document.location.hostname;\r\n var res = ((document.location.hostname === '127.0.0.1' || document.location.hostname === 'localhost') ?\r\n apiDesaPath\r\n :\r\n apiProdPath\r\n );\r\n return res;\r\n}\r\n\r\nexport const doSomethingWithInput = (theInput) => {\r\n //Do something with the input\r\n return theInput;\r\n};\r\n\r\nexport const justAnAlert = () => {\r\n alert('hello');\r\n};\r\n\r\nexport function divideArrayEnPartes(arr, n){\r\n var i, j;\r\n var res = [];\r\n for (i=0, j= arr.length; i < j; i+= n){\r\n res.push(arr.slice(i,i+n));\r\n }\r\n return res; \r\n}\r\n\r\n\r\nexport function numberWithCommas(x) {\r\n //x = Math.round(x * 100) / 100;\r\n //console.log(x);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n if (parts.length===2){\r\n while (parts[1].length<2)\r\n parts[1] = parts[1] + '0';\r\n if (parts[1].length>2)\r\n if (parts[1].substring(0,1)=='0')\r\n if (parts[1].substring(0,2)=='00')\r\n if (parseInt(parts[1].substring(2,3))>=5)\r\n parts[1] = '01';\r\n else\r\n parts.splice(1,1);\r\n else\r\n parts[1] = '0' + (Math.round((parseFloat(parts[1]) / (Math.pow(10 , parts[1].length-1)))*10)).toString();\r\n else{\r\n //(parts[1]);\r\n var aux = Math.round((parseFloat(parts[1]) / (Math.pow(10 , parts[1].length)))*100);\r\n //console.log(aux);\r\n if (aux<100)\r\n parts[1] = aux.toString();\r\n else{\r\n aux = aux - 100;\r\n if (aux === 0)\r\n parts.pop();\r\n else\r\n parts[1] = (aux - 100).toString();\r\n parts[0] = (parseInt(parts[0]) + 1).toString();\r\n }\r\n\r\n }\r\n }\r\n return parts.join(\",\");\r\n}\r\n\r\nexport function numberWithCommas2(x) {\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n if (parts.length===2){\r\n while (parts[1].length<2)\r\n parts[1] = parts[1] + '0';\r\n /*if (parts[1].length>2)\r\n parts[1] = (Math.round((parseFloat(parts[1]) / (Math.pow(10 , parts[1].length)))*(parts[1].length * 10))).toString();*/\r\n }\r\n return parts.join(\",\");\r\n}\r\n\r\nexport function elementIsOfClass(element, clase) {\r\n return element.classList.contains(clase);\r\n}\r\n\r\nexport const FormatoFechaBonito = (fecha) => {\r\n const meses = [\r\n \"Enero\", \"Febrero\", \"Marzo\",\r\n \"Abril\", \"Mayo\", \"Junio\", \"Julio\",\r\n \"Agosto\", \"Septiembre\", \"Octubre\",\r\n \"Noviembre\", \"Diciembre\"\r\n ]\r\n\r\n const mifecha = new Date(fecha);\r\n\r\n const dia = (mifecha ? mifecha.getDate() : null);\r\n const mes = (mifecha ? mifecha.getMonth() : null);\r\n const ano = (mifecha ? mifecha.getFullYear() : null);\r\n\r\n const res = ((dia && mes && ano) ? dia.toString() + \" \" + meses[mes].toUpperCase() + \" \" + ano.toString() : \"\");\r\n return res;\r\n};\r\n\r\nfunction padLeft(n){\r\n return (\"00\" + n).slice(-2);\r\n }\r\n\r\nexport const upperCaseFirstLetter = (str) => {\r\n return str.trim().substring(0,1).toUpperCase() + str.trim().substring(1).toLowerCase();\r\n}\r\n\r\nexport const Redondea = (valor, decimales) => {\r\n var x = valor * (10 * decimales)\r\n x = Math.round(x);\r\n x = x / (10 * decimales);\r\n return x;\r\n}\r\n\r\nexport const FormatoFechaDDMMYYYY = (fecha) => {\r\n const mifecha = new Date(fecha);\r\n\r\n const dia = (mifecha ? mifecha.getDate() : null);\r\n const mes = (mifecha ? mifecha.getMonth() + 1 : null);\r\n const ano = (mifecha ? mifecha.getFullYear() : null);\r\n const res = ((dia && mes && ano) ? padLeft(dia) + \"/\" + padLeft(mes) + \"/\" + ano.toString() : \"\");\r\n return res;\r\n};\r\n\r\nexport const FormatoFechaDDMMYYYYHHMM = (fecha) => {\r\n const mifecha = new Date(fecha);\r\n\r\n const dia = (mifecha ? mifecha.getDate() : null);\r\n const mes = (mifecha ? mifecha.getMonth() + 1 : null);\r\n const ano = (mifecha ? mifecha.getFullYear() : null);\r\n const hora = (mifecha ? mifecha.getHours() : null);\r\n const minute = (mifecha ? mifecha.getMinutes() : null);\r\n const res = ((dia && mes && ano && hora && minute) ? padLeft(dia) + \"/\" + padLeft(mes) + \"/\" + ano.toString()+ \" \" + padLeft(hora) + \":\" + padLeft(minute) : \"\");\r\n return res;\r\n};\r\n\r\nexport const SetDisplayByClass = (disp, classModelName) =>{\r\n var elements = document.getElementsByClassName(classModelName);\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n elements[i].style.display = disp;\r\n }\r\n}\r\n\r\nexport const GetIndexFromIndexedClass = (item, classModelName, maxIndex) =>{\r\n var enc = false;\r\n var i=1;\r\n while (!enc && i<=maxIndex){\r\n var name = classModelName + i.toString();\r\n enc = (item.classList.contains(name));\r\n if (!enc)\r\n i++;\r\n }\r\n if (enc)\r\n return i;\r\n else\r\n return -1;\r\n}\r\n\r\nexport const GetAntecesorWhithClassName = (item, classModelName) =>{\r\n const maxIterations=10\r\n var enc = false;\r\n var i=0;\r\n while (!enc && i{\r\n var hijos = item.getElementsByClassName(classModelName);\r\n if ((hijos) && (hijos.length>0))\r\n return hijos[0];\r\n else\r\n return null;\r\n}\r\n\r\nexport const GetLastSucesorWhithClassName = (item, classModelName) =>{\r\n var hijos = item.getElementsByClassName(classModelName);\r\n if ((hijos) && (hijos.length>0))\r\n return hijos[hijos.length-1];\r\n else\r\n return null;\r\n}\r\n\r\nexport const AddClassNameToClassItems = (miClase, miClaseHija, miClassName) =>{\r\n var elements = document.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.add(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.add(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const RemoveClassNameToClassItems = (miClase, miClaseHija, miClassName) =>{\r\n var elements = document.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.remove(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.remove(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const RemoveClassNameToDoubleClassItems = (miClase, miClase2, miClassName) =>{\r\n var elements = document.getElementsByClassName(miClase);\r\n for (var i = 0; i < elements.length; i++) {\r\n var element = elements[i];\r\n if (element){\r\n if (element.classList.contains(miClase2)){\r\n element.classList.remove(miClassName);\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const ToggleClassNameToClassItems = (miClase, miClaseHija, miClassName) =>{\r\n var elements = document.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.toggle(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.toggle(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const AddClassNameToChildClassItems = (padre, miClase, miClaseHija, miClassName) =>{\r\n var elements = padre.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.add(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.add(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const RemoveClassNameToChildClassItems = (padre, miClase, miClaseHija, miClassName) =>{\r\n var elements = padre.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.remove(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.remove(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const ToggleClassNameToChildClassItems = (padre, miClase, miClaseHija, miClassName) =>{\r\n var elements = padre.getElementsByClassName(miClase);\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n hijo.classList.toggle(miClassName);\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n element.classList.toggle(miClassName);\r\n }\r\n }\r\n}\r\n\r\nexport const ExistsClassNameChildClassItems = (padre, miClase, miClaseHija, miClassName) =>{\r\n var elements = padre.getElementsByClassName(miClase);\r\n var result = false;\r\n if (miClaseHija != null){\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClaseHija);\r\n for (var j = 0, len2 = hijos.length; j < len2; j++){\r\n var hijo = hijos[j];\r\n var nietos = hijo.getElementsByClassName(miClassName);\r\n result = result || ((nietos) && (nietos.length>0));\r\n }\r\n }\r\n }\r\n else{\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var element = elements[i];\r\n var hijos = element.getElementsByClassName(miClassName);\r\n result = result || ((hijos) && (hijos.length>0));\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nexport function deepEqual(object1, object2) {\r\n const keys1 = Object.keys(object1);\r\n const keys2 = Object.keys(object2);\r\n if (keys1.length !== keys2.length) {\r\n return false;\r\n }\r\n for (const key of keys1) {\r\n const val1 = object1[key];\r\n const val2 = object2[key];\r\n const areObjects = isObject(val1) && isObject(val2);\r\n if (\r\n areObjects && !deepEqual(val1, val2) ||\r\n !areObjects && val1 !== val2\r\n ) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\n export function isObject(object) {\r\n return object != null && typeof object === 'object';\r\n }\r\n\r\nexport function getParam(str,param){\r\n if (str.length>1 && str.length>param.length){\r\n if (str.substring(0,1)==='?')\r\n str = str.substring(1);\r\n var params = str.split('&');\r\n var enc = false;\r\n var value = '';\r\n for (var i = 0; (i=2)\r\n if (duo[0].toLowerCase()===param.toLowerCase()){\r\n enc = true;\r\n value = duo[1];\r\n for (var j=2; j1)\r\n return aux[1];\r\n else\r\n return '';\r\n}\r\n\r\nexport function wrap(toWrap, wrapper) {\r\n wrapper = wrapper || document.createElement('div');\r\n toWrap.parentNode.appendChild(wrapper);\r\n return wrapper.appendChild(toWrap);\r\n};\r\n\r\nexport function createElementFromHTML(htmlString) {\r\n var div = document.createElement('div');\r\n div.innerHTML = htmlString.trim();\r\n return div.firstChild;\r\n}\r\n\r\nexport function buscaOptionEnSelectByValue(select, valor){\r\n var ret = undefined;\r\n var options = select.options ;\r\n for(var i = 0; i < options.length; i++)\r\n {\r\n if(options[i].value == valor)\r\n {\r\n ret = options[i];\r\n break;\r\n }\r\n }\r\n return ret;\r\n}\r\n\r\nexport function primerHijoConClase(elemento, clase)\r\n{\r\n var posibles = elemento.getElementsByClassName(clase);\r\n var res = (posibles.length>0) ? posibles[0] : null;\r\n return res;\r\n}\r\n\r\nexport function getSelectValues(select) {\r\n var result = [];\r\n var options = select && select.options;\r\n var opt;\r\n \r\n for (var i=0, iLen=options.length; i {\r\n var lu = JSON.parse(localStorage.getItem(\"login\"));\r\n var res = 0;\r\n if (lu && lu.botPlusUser)\r\n res = lu.botPlusUser.idProvincia;\r\n return res;\r\n}\r\n\r\nexport const getIdCCAA = () => {\r\n var lu = JSON.parse(localStorage.getItem(\"login\"));\r\n var res = lu.botPlusUser.idCCAA;\r\n return res;\r\n}\r\n\r\nexport const getStringProvincia = () => {\r\n var lu = JSON.parse(localStorage.getItem(\"login\"));\r\n var res = '';\r\n if (lu && lu.botPlusUser)\r\n res = lu.botPlusUser.Provincia;\r\n return res;\r\n}\r\n\r\nexport const getStringCCAA = () => {\r\n var lu = JSON.parse(localStorage.getItem(\"login\"));\r\n var res = '';\r\n if (lu && lu.botPlusUser)\r\n res = lu.botPlusUser.CCAA;\r\n return res;\r\n}\r\n\r\nexport function getListaFormularios(tipo){\r\n var res = [];\r\n switch (tipo){\r\n case \"MUH\":\r\n case \"H\":\r\n res.push({\r\n codigoPagina: \"FBAvanzadaMUH\",\r\n display: \"Avanzada medicamentos\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAvanzadaPAH\",\r\n display: \"Avanzada principios activos\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBComposicionMUH\",\r\n display: \"Composición\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBFormaColorMUH\",\r\n display: \"Aspecto de forma farmacéutica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAgrupHomoMUH\",\r\n display: \"Agrupación homogénea\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAgrupHomoAutoMUH\",\r\n display: \"A. homogénea autonómica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBGTATCMUH\",\r\n display: \"Grupo terapéutico ATC\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBGTVMPPMUH\",\r\n display: \"Descripción clínica AEMPS\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBFormaFarmaMUH\",\r\n display: \"Forma farmacéutica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBLaboratorioMUH\",\r\n display: \"Laboratorio\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAFMUH\",\r\n display: \"Actividad farmacológica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAMMUH\",\r\n display: \"Actividad enzimática\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBPacienteIndicacionMUH\",\r\n display: \"Para una enfermedad\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBReaccionesAdversasMUH\",\r\n display: \"Reacciones adversas\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAnalisisMUH\",\r\n display: \"Análisis clínicos afectados\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBProblemasSumMUH\",\r\n display: \"Problemas de suministro\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAlertasCMUH\",\r\n display: \"Alertas de calidad\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBFarmacogeneticaMUH\",\r\n display: \"Farmacogenética\",\r\n });\r\n break;\r\n case \"MUV\":\r\n case \"V\":\r\n res.push({\r\n codigoPagina: \"FBAvanzadaMUV\",\r\n display: \"Avanzada\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBComposicionMUV\",\r\n display: \"Composición\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBFormaFarmaMUV\",\r\n display: \"Forma farmacéutica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBLaboratorioMUV\",\r\n display: \"Laboratorio\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAFMUV\",\r\n display: \"Actividad farmacológica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBGTATCMUV\",\r\n display: \"Grupo terapéutico ATC\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBEspecieIndicacionMUV\",\r\n display: \"Indicados por especie\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAlertasCMUV\",\r\n display: \"Alertas de calidad\",\r\n });\r\n break;\r\n case \"PPF\":\r\n case \"F\":\r\n case \"P\":\r\n res.push({\r\n codigoPagina: \"FBAvanzadaPPF\",\r\n display: \"Avanzada\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBComposicionPPF\",\r\n display: \"Composición\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBFormaFarmaPPF\",\r\n display: \"Forma farmacéutica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBLaboratorioPPF\",\r\n display: \"Laboratorio\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBActPPF\",\r\n display: \"Ingredientes cosméticos por actividad\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBSaborEdadPPF\",\r\n display: \"Dietoterápicos\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAlertasCPPF\",\r\n display: \"Alertas de calidad\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAgrupHomoPPF\",\r\n display: \"Agrupación homogénea\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBAgrupHomoAutoPPF\",\r\n display: \"A. homogénea autonómica\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBGTConPPF\",\r\n display: \"Categoría del Consejo General\",\r\n });\r\n res.push({\r\n codigoPagina: \"FBGTSanPPF\",\r\n display: \"Clasificación Nomenclátor\",\r\n });\r\n break;\r\n }\r\n return res;\r\n}\r\n\r\nexport function getDescripcionTipo(tipo, codFormulario){\r\n var res = \"\";\r\n switch (tipo){\r\n case \"MUH\":\r\n case \"H\":\r\n res = \"Medicamentos de uso humano\";\r\n if (codFormulario===\"FBAFMUH\" || codFormulario===\"FBAFMUH\" || codFormulario===\"FBAvanzadaPAH\")\r\n res = \"Principios activos de uso humano\";\r\n break;\r\n case \"PAH\":\r\n res = \"Principios activos de uso humano\";\r\n break;\r\n case \"MUV\":\r\n case \"V\":\r\n res = \"Medicamentos veterinarios\"\r\n break;\r\n case \"PPF\":\r\n case \"F\":\r\n case \"P\":\r\n res = \"Productos de parafarmacia\";\r\n if (codFormulario===\"FBActPPF\")\r\n res = \"Ingredientes\";\r\n if (codFormulario===\"FBSaborEdadPPF\")\r\n res = \"Dietoterápicos\";\r\n break;\r\n }\r\n return res;\r\n}\r\n\r\nexport function getTipoFromCodigoPagina(codFormulario){\r\n var res = codFormulario.substring(codFormulario.length - 1, codFormulario.length);\r\n if (res===\"F\")\r\n res =\"P\"\r\n return res;\r\n}\r\n\r\nexport function getTituloFromCodigoPagina(codFormulario){\r\n var res = \"\"\r\n if (codFormulario===\"FBAvanzadaPAH\"){\r\n res = \"Búsqueda avanzada\";\r\n }else if (codFormulario===\"FBExtranjerosEXT\"){\r\n res = \"Medicamentos extranjeros\";\r\n }else if (codFormulario===\"FBCambioNombre\"){\r\n res = \"Productos con cambio de nombre\";\r\n }else if (codFormulario===\"FBCambioLaboratorio\"){\r\n res = \"Productos con cambio de laboratorio\";\r\n }else if (codFormulario===\"FBCambioPrecioMUH\"){\r\n res = \"Productos con cambio de precio\";\r\n }else if (codFormulario===\"FBDesfinanciadosMUH\"){\r\n res = \"Medicamentos desfinanciados\";\r\n }else if (codFormulario===\"FBFechaAlta\"){\r\n res = \"Productos por fecha de alta\";\r\n }else if (codFormulario===\"FBDocumentos\"){\r\n res = \"Notas de seguridad y alertas de calidad\";\r\n }else if (codFormulario===\"FBAvanzadaMUV\"){\r\n res = \"Búsqueda avanzada\";\r\n }else if (codFormulario===\"FBAvanzadaMUH\"){\r\n res = \"Búsqueda avanzada\";\r\n }else if (codFormulario===\"FBAvanzadaPPF\"){\r\n res = \"Búsqueda avanzada\";\r\n }else if (codFormulario===\"FBAFMUV\"){\r\n res = \"Principios activos veterinarios por actividad farmacológica\";\r\n }else if (codFormulario===\"FBEspecieIndicacionMUV\"){\r\n res = \"Medicamentos veterinarios indicados por especie\"; \r\n }else if (codFormulario===\"FBSaborEdadPPF\"){\r\n res = \"Buscador de dietoterápicos\"; \r\n }else if (codFormulario===\"FBProductosIndicacionPPF\"){\r\n res = \"Buscador de productos y complementos alimenticios\"; \r\n }else if (codFormulario===\"FBProblemasSumMUH\"){\r\n res = \"Con problemas de suministro AEMPS\"; \r\n }else if (codFormulario===\"FBAlertasCMUH\" || codFormulario===\"FBAlertasCMUV\" || codFormulario===\"FBAlertasCPPF\"){\r\n res = \"Lotes retirados por alertas de calidad\"; \r\n }else if (codFormulario===\"FBAgrupHomoAutoMUH\"){\r\n var ccaa = getStringCCAA();\r\n if (!ccaa || ccaa == \"\")\r\n ccaa = \"autonómica\";\r\n res = \"A. homogénea \" + ccaa\r\n }else if (codFormulario===\"FBAgrupHomoAutoPPF\"){\r\n var ccaa = getStringCCAA();\r\n if (!ccaa || ccaa == \"\")\r\n ccaa = \"autonómica\";\r\n res = \"A. homogénea \" + ccaa\r\n }else if (codFormulario===\"FBAnalisisMUH\"){\r\n res = \"Interferencias con análisis clínicos\"; \r\n }else{\r\n var tipo = getTipoFromCodigoPagina(codFormulario);\r\n var lista = getListaFormularios(tipo);\r\n var item = lista.find(f => f.codigoPagina === codFormulario);\r\n if (item)\r\n res = item.display;\r\n }\r\n return res;\r\n}\r\n\r\nexport function scrollSiNoVisible(container, element) {\r\n //Determine container top and bottom\r\n let offset = container.offsetTop;\r\n let cTop = container.scrollTop+offset;\r\n let cBottom = cTop + container.clientHeight;\r\n\r\n //Determine element top and bottom\r\n let eTop = element.offsetTop;\r\n let eBottom = eTop + element.clientHeight;\r\n\r\n //Check if out of view\r\n if (eTop < cTop) {\r\n container.scrollTop -= (cTop - eTop);\r\n }\r\n else if (eBottom > cBottom) {\r\n container.scrollTop += (eBottom - cBottom);\r\n } \r\n}\r\n\r\nexport function fromListaPAsComposToParamURL(pas){\r\n var res = '';\r\n for (var i=0; i0) res += \",\"\r\n res += pa.codigo;\r\n res += \";\"\r\n if (pa.sales && pa.sales.length>0){\r\n for (var j=0; j0) res += \"-\";\r\n res+=sal.codigo;\r\n }\r\n }\r\n res += \";\"\r\n if (pa.cants && pa.cants.length>0){\r\n for (var j=0; j0) res += \"-\";\r\n res+=cant.cant.toString();\r\n res+=\"_\";\r\n res+=cant.cod;\r\n }\r\n }\r\n }\r\n\r\n return res;\r\n}\r\n\r\nexport function fromListaOpsAvanzadaToParamURL(ops){\r\n var res = '';\r\n for (var i=0; i0) res += \";\" \r\n res += op.cod + \":\";\r\n if (op.valores){\r\n for (var j=0; j0) res += \",\"\r\n res += op.valores[j];\r\n }\r\n }\r\n else if (op.valor){\r\n res += op.valor;\r\n }\r\n }\r\n return res;\r\n}\r\n\r\nexport function fromParmaURLToListaPAsCompos(param){\r\n var listaPAs = [];\r\n if (param !== ''){\r\n var aux = param.split(',');\r\n for(var i=0; i 0){\r\n var pa = {\r\n codigo : parseInt(partesPA[0]),\r\n sales : [],\r\n cants : [],\r\n }\r\n if (partesPA.length == 3){\r\n var strSales = partesPA[1];\r\n if (strSales !== \"\"){\r\n var codigosSales = strSales.split('-').map(it=> parseInt(it));\r\n for (var j = 0; j< codigosSales.length; j++){\r\n var codsal = codigosSales[j];\r\n var cv = {\r\n codigo : codsal,\r\n }\r\n pa.sales.push(cv);\r\n }\r\n }\r\n var strCants = partesPA[2];\r\n if (strCants !== \"\"){\r\n var cantsAsStr = strCants.split('-');\r\n for (var k = 0; k < cantsAsStr.length; k++){\r\n var cantAsStr = cantsAsStr[k];\r\n var partesCant = cantAsStr.split('_');\r\n if (partesCant.length == 2){\r\n var cant = {\r\n cant : parseFloat(partesCant[0]),\r\n cod : partesCant[1],\r\n }\r\n pa.cants.push(cant);\r\n }\r\n }\r\n }\r\n }\r\n listaPAs.push(pa);\r\n }\r\n }\r\n }\r\n }\r\n return listaPAs;\r\n}\r\n\r\nexport function fromParamURLToListaOpsAvanzada(param){\r\n var listaOps = [];\r\n if (param !== ''){\r\n var aux = param.split(';');\r\n for(var i=0; i {\r\n var id = clase + '__' + valor;\r\n var items = document.getElementsByClassName(clase);\r\n var grupoActivo = false;\r\n var item = document.getElementById(id);\r\n\r\n for (var i = 0; i{\r\n var result = '';\r\n if (filtros){\r\n for (var i=0; i -1){\r\n if (result !== '')\r\n result += \"|\";\r\n result += filtro.idGrupo + '__' + filtro.valor;\r\n }\r\n }\r\n else {// tipo===\"Check\"\r\n if (filtro.valores){\r\n for (var j=0; j{\r\n return AuthService.getUserRol();\r\n}\r\n\r\nexport const DevuelveTextoAsHTML = (info) =>{\r\n var textosInfo = [];\r\n var subs = [];\r\n var idxsubs = [];\r\n if (info){\r\n if (info.indexOf('^')>=0){\r\n var partes = info.split('^')\r\n for (var i=0; i='0' && subInfo[j]<='9'; j++);\r\n partes[i+1] = subInfo.substr(j);\r\n subs.push(subInfo.substr(0,j));\r\n idxsubs.push(i);\r\n }\r\n textosInfo.push(partes[partes.length-1]);\r\n }\r\n else\r\n textosInfo.push(info);\r\n }\r\n\r\n var HTMLAux = {textosInfo[0]};\r\n for (var i=0; i{HTMLAux}{subs[i]}{textosInfo[i+1]};\r\n return HTMLAux;\r\n}\r\n\r\nexport function addDays(date, days) {\r\n var result = new Date(date);\r\n result.setDate(result.getDate() + days);\r\n return result;\r\n}\r\n\r\n\r\n\r\n","import axios from \"axios\";\r\nimport authHeader, { noAuthHeader } from \"./auth-header\";\r\nimport { getApiPath } from \"./utils\";\r\n\r\nconst API_URL = getApiPath() + \"login/\";\r\n\r\n\r\nconst login = (username, password, fb, ma) => {\r\n return axios\r\n .post(API_URL + \"BotplusAuthenticate\", {\r\n Username : username,\r\n Password : password,\r\n FuerzaBruta : fb,\r\n MantenerAbierta : ma\r\n }, { headers: noAuthHeader() })\r\n .then((response) => {\r\n if (response.data.Token && (response.data.Status === 0 || response.data.Status === '0')) {\r\n localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n }\r\n return response.data;\r\n });\r\n};\r\n\r\nconst logout = () => {\r\n try{\r\n axios.get(API_URL + \"CloseBotPlusSession\", { headers: authHeader() })\r\n .then((response) => {\r\n window.location.reload();\r\n })\r\n }\r\n catch (error) {}\r\n localStorage.removeItem(\"login\");\r\n};\r\n \r\nconst getLocalUser = () => {\r\n var user = JSON.parse(localStorage.getItem(\"login\"));\r\n if (user)\r\n {\r\n return user;\r\n }\r\n};\r\n\r\n\r\nconst getNetworkUser = () => {\r\n return axios.get(API_URL + 'GetBotPlusUser', { headers: authHeader() })\r\n .then((response) => {\r\n if (response.data.Token && (response.data.Status === 0 || response.data.Status === '0')) {\r\n //localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n }\r\n return response.data;\r\n });\r\n}\r\n\r\nconst openDeferredSesion = (token) => {\r\n return axios.get(API_URL + 'OpenDeferredSession', { headers: {'Authorization': 'Bearer ' + token} })\r\n .then((response) => {\r\n if (response.data.Token && (response.data.Status === 0 || response.data.Status === '0')) {\r\n localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n }\r\n return response.data;\r\n });\r\n}\r\n\r\nconst getSpecialAuthentication = (str) => {\r\n return axios.get(API_URL + 'SpecialAuthentication?keypass=' + str)\r\n .then((response) => {\r\n if (response.data.Token && (response.data.Status === 0 || response.data.Status === '0')) {\r\n //localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n }\r\n return response.data;\r\n });\r\n}\r\n\r\nconst getIPAuthentication = () => {\r\n return axios.get(API_URL + 'IPAuthentication')\r\n .then((response) => {\r\n if (response.data.Token && (response.data.Status === 0 || response.data.Status === '0')) {\r\n }\r\n return response.data;\r\n });\r\n}\r\n\r\nconst buscaClaves = (dni, nfact) => {\r\n return axios.get(API_URL + 'BuscaClaves?dni='+dni+'&nfac='+nfact)\r\n .then((response) => {\r\n return response.data;\r\n });\r\n}\r\n\r\nconst infoCredenciales = (str) => {\r\n return axios.get(API_URL + 'CheckCredenciales?a='+str)\r\n .then((response) => {\r\n return response.data;\r\n });\r\n}\r\n\r\nconst guardaDatosCorreo = (cliente, correo, desea) => {\r\n return axios.post(API_URL + 'GuardaDatosCorreo',{Cliente: cliente, Correo: correo, Desea: desea});\r\n}\r\n\r\nconst actualizaKey = (idPedido) => {\r\n return axios.post(API_URL + 'ActualizaKey',{IdPedido: idPedido});\r\n}\r\n\r\n\r\nconst isSesionOk = () => {\r\n return axios.get(API_URL + 'GetSesionStatus', { headers: authHeader() })\r\n .then((response) => {\r\n if (response.data === 0 || response.data === '0') {\r\n //localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n return true;\r\n }\r\n return false;\r\n });\r\n}\r\n\r\nconst tieneLicenciaLocal = () => {\r\n return axios.get(API_URL + 'TieneLicenciaLocal', { headers: authHeader() })\r\n .then((response) => {\r\n if (response.data) {\r\n //localStorage.setItem(\"login\", JSON.stringify(response.data));\r\n return true;\r\n }\r\n return false;\r\n });\r\n}\r\n\r\nconst getUserRol = () =>{\r\n var user = getLocalUser();\r\n var rol = '';\r\n if (user)\r\n if (user.botPlusUser)\r\n if (user.botPlusUser.Rol)\r\n rol = user.botPlusUser.Rol;\r\n return rol;\r\n}\r\n\r\nconst aceptaLicencia = () => {\r\n return axios.get(API_URL + 'AceptaLicencia', { headers: authHeader() })\r\n}\r\n\r\nconst moduloCambioPassAnonimo = () => {\r\n return axios.get(getApiPath() + \"BotPlus2022/HayModuloCambioPass\");\r\n };\r\n \r\n\r\n\r\nconst loginService = {\r\n login,\r\n logout,\r\n getLocalUser,\r\n getNetworkUser,\r\n getSpecialAuthentication,\r\n getIPAuthentication,\r\n buscaClaves,\r\n guardaDatosCorreo,\r\n actualizaKey,\r\n isSesionOk,\r\n getUserRol,\r\n infoCredenciales,\r\n tieneLicenciaLocal,\r\n aceptaLicencia,\r\n openDeferredSesion,\r\n moduloCambioPassAnonimo,\r\n\r\n };\r\n \r\nexport default loginService;","import { useState } from \"react\";\r\nimport { RemoveClassNameToClassItems } from \"../../../../../services/utils\";\r\n\r\nconst Emergente = (props) => {\r\n //const [activo, setActivo] = useState(props.activo);\r\n const contenido = props.contenido;\r\n const keyName = props.keyName;\r\n const titulo = props.titulo;\r\n const ancho = props.ancho;\r\n const alto = props.alto;\r\n const imagen = props.imagen;\r\n var claseLightbox = \"lightbox lightbox__modal lightbox__config \" + keyName;\r\n if (props.activo)\r\n claseLightbox += \" active\";\r\n\r\n \r\n const CierraEmergente = () => {\r\n if (props.cerrar)\r\n props.cerrar();\r\n else\r\n RemoveClassNameToClassItems(keyName, null, 'active');\r\n }\r\n \r\n/*\r\n const CierraEmergente = () => {\r\n setActivo(false);\r\n }\r\n*/\r\n\r\n\r\n const estiloSection = {\r\n opacity: 0,\r\n visibility: 'hidden', \r\n pointerEvents: 'none',\r\n }\r\n\r\n var estiloancho = (ancho ?\r\n (alto) ?\r\n { \r\n width: ancho,\r\n height: alto\r\n }\r\n :\r\n {\r\n width: ancho,\r\n }\r\n :\r\n (alto) ?\r\n {height: alto}\r\n :\r\n {}\r\n )\r\n\r\n if (props.hiddenOverflow) \r\n estiloancho.overflow = 'hidden';\r\n\r\n return (\r\n
\r\n
\r\n

\r\n {titulo}\r\n {(props.ocultaAspa) ?\r\n \r\n :\r\n CierraEmergente()}>\r\n }\r\n

\r\n
\r\n {\r\n (imagen && imagen != '') ?\r\n
\r\n
\r\n
\r\n \r\n
\r\n  

\r\n
\r\n
\r\n :\r\n
\r\n }\r\n {contenido}\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Emergente;","import { useEffect, useState } from \"react\";\r\nimport BP2022AuthService from \"../../services/auth.service\";\r\n\r\nconst ModalRecupera = (props) => {\r\n\r\n const [dni, setDni] = useState(props.dni);\r\n const [nfact, setNfact] = useState(props.nfact);\r\n const [correo, setCorreo] = useState('');\r\n const [confirma, setConfirma] = useState('');\r\n const [opt1, setOpt1] = useState(false);\r\n const [opt2, setOpt2] = useState(false);\r\n const [mensaje, setMensaje] = useState('');\r\n const [estado, setEstado] = useState(0);\r\n const [datosAcceso, setDatosAcceso] = useState(null);\r\n\r\n\r\n const cambiaDNI = (txt) =>{\r\n setDni(txt);\r\n }\r\n\r\n const cambiaNFact = (txt) =>{\r\n setNfact(txt);\r\n }\r\n\r\n const cambiaCorreo = (txt) =>{\r\n setCorreo(txt);\r\n }\r\n\r\n const cambiaConfirma = (txt) =>{\r\n setConfirma(txt);\r\n }\r\n\r\n const cambiaOpt1 = (checked) =>{\r\n setOpt1(checked);\r\n }\r\n\r\n const cambiaOpt2 = (checked) =>{\r\n setOpt2(checked);\r\n }\r\n\r\n const getRecuperaInfo = (xdni, xnfact) =>{\r\n setEstado(2);\r\n BP2022AuthService.buscaClaves(xdni,xnfact)\r\n .then((response) => {\r\n if ((response.ok) && (response.info)){\r\n setEstado(3);\r\n setDatosAcceso({\r\n mail: response.info.Mail,\r\n cliente: response.info.Cliente,\r\n usuarioActual: response.info.UsuarioActual,\r\n passActual: response.info.PassActual,\r\n deseaRecibirInfo: (response.info.DeseaRecibirInfo === 'S'),\r\n codigoGrupo : response.info.CodigoGrupo,\r\n idPedido: response.info.IdPedido,\r\n });\r\n setCorreo(response.info.Mail);\r\n setConfirma(response.info.Mail);\r\n setOpt2(response.info.DeseaRecibirInfo === 'S');\r\n }\r\n else{\r\n setMensaje(response.msg);\r\n setEstado(1);\r\n } \r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n setEstado(1);\r\n });\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0 && nfact && dni && nfact != '' && dni != ''){\r\n getRecuperaInfo(dni,nfact);\r\n }else if (estado===0){\r\n setEstado(1);\r\n }\r\n },[props.dni, props.nfactura]);\r\n\r\n const clickGetClaves = () =>{\r\n if (nfact && dni && nfact != '' && dni != ''){\r\n getRecuperaInfo(dni,nfact);\r\n }\r\n }\r\n\r\n const clickNo = () =>{\r\n setEstado(5);\r\n BP2022AuthService.actualizaKey(datosAcceso.idPedido);\r\n }\r\n\r\n const clickSi = () =>{\r\n setMensaje('');\r\n setEstado(4);\r\n }\r\n\r\n const validateEmail = (email) => {\r\n return String(email)\r\n .toLowerCase()\r\n .match(\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n );\r\n };\r\n\r\n const clickAceptar = () => {\r\n if (!opt1)\r\n setMensaje('Para continuar debe marcar la primera casilla por la que acepta el uso de su correo electrónico.\\nLa segunda casilla es opcional.');\r\n else if (correo === '')\r\n setMensaje('Debe introducir una dirección de correo electrónico');\r\n else if (confirma === '')\r\n setMensaje('Debe introducir una confirmación de la correo electrónico');\r\n else if (confirma !== correo)\r\n setMensaje('Las direcciones de correo no coinciden');\r\n else if (!validateEmail(correo))\r\n setMensaje('No es una dirección de correo válida');\r\n else {\r\n BP2022AuthService.guardaDatosCorreo(datosAcceso.cliente, correo, opt2);\r\n setEstado(5);\r\n BP2022AuthService.actualizaKey(datosAcceso.idPedido);\r\n }\r\n }\r\n\r\n switch(estado){\r\n case 1:\r\n props.cambiaAlto('460px');\r\n break;\r\n case 2:\r\n props.cambiaAlto('230px');\r\n break;\r\n case 3:\r\n props.cambiaAlto('280px');\r\n break;\r\n case 4:\r\n props.cambiaAlto('830px');\r\n break;\r\n case 5:\r\n props.cambiaAlto('300px');\r\n break;\r\n }\r\n\r\n const estiloCheckBox = {\r\n height: '16px',\r\n }\r\n\r\n\r\n return(\r\n (estado === 0) ?\r\n
\r\n

Iniciando...

\r\n
\r\n :(estado === 1)?\r\n
e.preventDefault()}>\r\n

Para acceder a su usuario y contraseña de BOT PLUS introduzca su DNI/CIF y el número de la \r\n factura o pedido de compra de Colección Consejo o BOT PLUS y pulse \"Obtener claves\".\r\n

\r\n {(mensaje != '') ? \r\n

{mensaje}

\r\n :\r\n <>\r\n }\r\n
\r\n \r\n cambiaDNI(e.target.value)}/>\r\n
\r\n
\r\n \r\n cambiaNFact(e.target.value)}/>\r\n
\r\n
\r\n \r\n
\r\n
\r\n :(estado === 2) ?\r\n
\r\n

Buscando información...

\r\n
\r\n :(estado === 3) ?\r\n
\r\n

\r\n ¿Desea que el CGCOF guarde su correo electrónico para mejorar\r\n nuestro servicio?\r\n

\r\n
\r\n \r\n         \r\n \r\n
\r\n
\r\n :(estado === 4)?\r\n
e.preventDefault()}>\r\n {(mensaje != '') ? \r\n

{mensaje}

\r\n :\r\n <>\r\n }\r\n
\r\n \r\n cambiaCorreo(e.target.value)}/>\r\n
\r\n
\r\n \r\n cambiaConfirma(e.target.value)}/>\r\n
\r\n
\r\n

\r\n \r\n

\r\n

\r\n Asimismo, solicitamos su consentimiento expreso para el envío de comunicaciones \r\n electrónicas relativas a los servicios y productos que ofrecemos e información \r\n que pueda resultar de su interés rellenando previamente su correo electrónico y \r\n marcando la siguiente casilla \r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n \r\n         \r\n \r\n
\r\n
\r\n :(estado === 5) ?\r\n
\r\n

\r\n Usuario:\r\n {datosAcceso.usuarioActual}\r\n

\r\n

\r\n Contraseña:\r\n {datosAcceso.passActual}\r\n

\r\n
\r\n \r\n
\r\n
\r\n :\r\n
\r\n

Este paso no está implementado

\r\n
\r\n );\r\n}\r\n\r\nexport default ModalRecupera;\r\n","import { useState } from \"react\";\r\nimport { RemoveClassNameToClassItems } from \"../../services/utils\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport ModalRecupera from \"./ModalRecupera\";\r\n\r\nconst Recupera = (props) => {\r\n\r\n const [muestraEmergente, setMuestraEmergente] = useState(false);\r\n const [dni, setDni] = useState('');\r\n const [nfact, setNfact] = useState('');\r\n const [altoEmergente, setAltoEmergente] = useState(null);\r\n\r\n const cancelaProceso = () =>{\r\n setMuestraEmergente(false);\r\n }\r\n\r\n const iniciaProceso = () =>{\r\n setMuestraEmergente(true);\r\n }\r\n\r\n const cambiaDNI = (txt) =>{\r\n setDni(txt);\r\n }\r\n\r\n const cambiaNFact = (txt) =>{\r\n setNfact(txt);\r\n }\r\n\r\n const cambiAlto = (alto) =>{\r\n setAltoEmergente(alto);\r\n }\r\n\r\n const modalTitulo = \"Claves BOTPLUS\";\r\n const modalKeyName = \"AccessNotAllowed\"\r\n const modalContent = (\r\n \r\n \r\n );\r\n\r\n\r\n return(\r\n
\r\n {muestraEmergente ?\r\n \r\n :\r\n <>\r\n }\r\n
e.preventDefault()}>\r\n
\r\n \r\n cambiaDNI(e.target.value)}/>\r\n
\r\n
\r\n \r\n cambiaNFact(e.target.value)}/>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Recupera;","import axios from \"axios\";\r\nimport authHeader from \"./auth-header\";\r\nimport { fromListaOpsAvanzadaToParamURL, fromListaPAsComposToParamURL, getApiPath } from \"./utils\";\r\n\r\n//const API_URL = \"http://localhost:36823/botplusapi/\";\r\n//const API_URL = \"http://nitramsoftware.linkpc.net:8899/botplusapi/\";\r\n//const API_URL = \"/api/botplusapi/\";\r\nconst API_URL = getApiPath();\r\n\r\nconst getMedsByName = (txt, opb, idxOrden, primero, max) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n var aux=\"&opb=1\"\r\n if (opb === 2)\r\n aux =\"&opb=2\"\r\n return axios.get(API_URL + \"BotPlus2022/porTexto?txt=\"+encodeURIComponent(txt) + aux + strorden, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaMUH?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaEXT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaEXT?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaMUV = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaMUV?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaFM = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaFM?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaPA = (id,tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaPA?id=\"+id + '&tipo=' + tipo, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaASO = (id,tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaASO?id=\"+id + '&tipo=' + tipo, { headers: authHeader() });\r\n};\r\n\r\nconst getFichaPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/fichaPAt?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getComposM = (id, idCPor, idFF) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosComposicion?id=\"+id+\"&idComposPor=\"+idCPor+\"&idff=\"+idFF, { headers: authHeader() });\r\n};\r\n\r\nconst getComposPF = (id, idCPor, idFF) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosComposicionPF?id=\"+id+\"&idComposPor=\"+idCPor+\"&idff=\"+idFF, { headers: authHeader() });\r\n};\r\n\r\nconst getGruposMUH = (id, codGrupoATC, nivelGrupo, codGrupoVMPP) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosGrupos?id=\"+id+\"&codGrupoATC=\"+codGrupoATC+\"&nivelGrupo=\"+nivelGrupo+\"&codGrupoVMPP=\"+codGrupoVMPP, { headers: authHeader() });\r\n};\r\n\r\nconst getGruposPF = (id, codGrupoATC, nivelGrupo, codGrupoVMPP) => {\r\n var strCodGrupoATC = (codGrupoATC ? codGrupoATC.toString() : '')\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosGruposPF?id=\"+id+\"&codGrupoCon=\"+codGrupoATC+\"&nivelGrupo=\"+nivelGrupo+\"&codGrupoNom=\"+ codGrupoVMPP, { headers: authHeader() });\r\n};\r\n\r\nconst getTextosMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosTextos?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getTextosPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosTextosPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getTextosPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosTextosPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getTextosING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosTextosING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAdvertenciasMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAdvertencias?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAdvertenciasPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAdvertenciasPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAdvertenciasPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAdvertenciasPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAdvertenciasING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAdvertenciasING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAdvertenciasASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAdvertenciasASO?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getConsejosMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosConsejos?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getPrecaucionExtremaMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosPrecaucionExtrema?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getPrecaucionExtremaPAH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosPrecaucionExtremaPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInterferenciasMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAnalisis?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInterferenciasPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAnalisisPA?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getInterferenciasASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAnalisisASO?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getInterferenciasPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAnalisisPAT?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getNombresSimilaresPAH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetNombresSimilaresPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getNombresSimilaresMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetNombresSimilaresMed?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFarmacogeneticaMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetFarmacogeneticaMed?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFarmacogeneticaPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetFarmacogeneticaPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getFarmacogeneticaASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetFarmacogeneticaASO?id=\"+id, { headers: authHeader() });\r\n };\r\n \r\nconst getConservacionMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosConservacion?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getConservacionPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosConservacionPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getHistoricoMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosHistorico?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getHistoricoPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosHistoricoPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getHistoricoPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosHistoricoPA?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getHistoricoING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosHistoricoING?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getHistoricoASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosHistoricoASO?id=\"+id, { headers: authHeader() });\r\n};\r\n \r\nconst getAlertasCalidadMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAlertasC?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getAlertasCalidadPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosAlertasCPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getProblemasSuministroMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosProblemasS?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getCismedMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosCismed?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicional?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicionalPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicionalPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicionalING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicionalASO?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getInformacionAdicionalPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosInfoAdicionalPAT?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideos?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideosPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideosPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideosING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideosASO?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getVideosPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosVideosPAT?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getIdentificacionMUH = (id,idFF) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDatosIdentificacion?id=\"+id+\"&idFF=\"+idFF, { headers: authHeader() });\r\n};\r\n\r\nconst getMensajesEmergentesMUH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetMensajesEmergentes?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getMensajesEmergentesPPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetMensajesEmergentesPF?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getMensajesEmergentesPAH = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetMensajesEmergentesPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getSinonimiasPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetSinonimiasPA?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getSinonimiasING = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetSinonimiasING?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getSinonimiasPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetSinonimiasPAT?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getDopajeInfoPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDopajeInfo?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getDopajeInfoASO = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDopajeInfoASO?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getProductoresInfoPA = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetProductoresInfo?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getTiemposEsperaMUV = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetTiemposEspera?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getContenidoPackPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetContenidoPack?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getPacksContenedoresPF = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetPackContenedores?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getJerarquiaInfoPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetJerarquiaInfo?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getCIEInfoPAT = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetCIEInfo?id=\"+id, { headers: authHeader() });\r\n};\r\n\r\nconst getBuscadoresPreferidos = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetBuscadoresPreferidos\", { headers: authHeader() });\r\n};\r\n\r\nconst getNovedades = () => {\r\n return axios.get(API_URL + \"BotPlus2022/Novedades?maxRegs=5\", { headers: authHeader() });\r\n};\r\n\r\nconst getProductosConPS = (num) => {\r\n return axios.get(API_URL + \"BotPlus2022/ConPSuministro?maxRegs=\" + num.toString(), { headers: authHeader() });\r\n};\r\n\r\nconst getUltimasNotasYAlertas = (num) => {\r\n return axios.get(API_URL + \"BotPlus2022/AlertasYNotas?maxRegs=\" + num.toString(), { headers: authHeader() });\r\n};\r\n\r\nconst getHistorial = (num) => {\r\n return axios.get(API_URL + \"BotPlus2022/Historial?maxRegs=\" + num.toString(), { headers: authHeader() });\r\n };\r\n \r\nconst emptyHistorial = () => {\r\n return axios.get(API_URL + \"BotPlus2022/VaciaHistorial\", { headers: authHeader() });\r\n };\r\n \r\nconst getDatosConfiguracion = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosConfiguracion\", { headers: authHeader() });\r\n};\r\n\r\nconst setDatosConfiguracion = (idProv, numFarm) => {\r\n return axios.get(API_URL + \"BotPlus2022/SetDatosConfiguracion?idProv=\" + idProv.toString() + \"&numFarm=\" + numFarm, { headers: authHeader() });\r\n};\r\n \r\nconst getLaboratorios = (tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaLaboratorios?tipo=\" + tipo, { headers: authHeader() });\r\n};\r\n \r\nconst medicamentosLaboratorio = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorLaboratorio?id=\" + id + strorden, { headers: authHeader() });\r\n};\r\n \r\nconst medicamentosMismoNombre = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosMismoNombre?id=\" + id + strorden, { headers: authHeader() });\r\n};\r\n \r\nconst medicamentosLaboratorios = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorLaboratorios?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n};\r\n \r\nconst productosLaboratorio = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorLaboratorio?id=\" + id + strorden, { headers: authHeader() });\r\n};\r\n \r\nconst productosLaboratorios = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorLaboratorios?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n};\r\n \r\nconst getAgrupaciones = (tipo, auto) => {\r\n if ((tipo===\"V\") || (tipo==='H'))\r\n return axios.get(API_URL + \"BotPlus2022/GetListaAgrupaciones?auto=\" + auto, { headers: authHeader() });\r\n else\r\n return axios.get(API_URL + \"BotPlus2022/GetListaAgrupacionesPF?auto=\" + auto, { headers: authHeader() });\r\n};\r\n \r\nconst getFormasFarma = (tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaFormaFarma?tipo=\" + tipo, { headers: authHeader() });\r\n};\r\n \r\nconst getActividades = (tipo, tipoActividad) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaActividades?tipo=\" + tipo + '&tipoActividad=' + tipoActividad, { headers: authHeader() });\r\n};\r\n \r\nconst getAnalisis = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaAnalisis\", { headers: authHeader() });\r\n};\r\n \r\nconst getBiomarcadores = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaBiomarcadores\", { headers: authHeader() });\r\n};\r\n\r\nconst getGruposATC = (tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetGruposATC?tipo=\" + tipo, { headers: authHeader() });\r\n};\r\n\r\nconst getGruposCon = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetGruposCon\", { headers: authHeader() });\r\n};\r\n\r\nconst getGruposVMPP = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetGruposVMPP\", { headers: authHeader() });\r\n};\r\n\r\nconst getArbolGruposVMPP = (tipo, aux, id, max) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetArbolGruposVMPP?id=\" + id + \"&max=\"+ max.toString(), { headers: authHeader() });\r\n};\r\n\r\nconst getGruposSan = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetGruposSan\", { headers: authHeader() });\r\n};\r\n\r\nconst medicamentosAgrupacionAuto = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorAgrupacionAuto?id=\" + id + strorden, { headers: authHeader() });\r\n};\r\n\r\nconst productosAgrupacionAuto = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorAgrupacionAuto?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosAgrupacioNac = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorAgrupacionNacional?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosAgrupacionNac = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorAgrupacionNacional?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosFormaFarma = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorFormaFarma?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosFormaFarma = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorFormaFarma?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosFormasFarma = (ids,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorFormasFarma?ids=\" + ids.toString() + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosFormasFarma = (ids,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorFormasFarma?ids=\" + ids.toString() + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst principiosActividad = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PAPorActividad?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst ingredientesActividad = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/IngPorActividad?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst principiosActividadesY = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PAPorActividadesY?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst ingredientesActividadesY = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/IngPorActividadesY?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst principiosActividadesO = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PAPorActividadesO?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst ingredientesActividadesO = (ids,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/IngPorActividadesO?ids=\" + ids.toString() + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosAnalisis = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorAnalisis?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosBiomarcador = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorBiomarcador?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosConPA = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorComponentePA?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosConAso = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/MedsPorComponenteAso?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosConIng = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorComponente?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosTipo = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorClase?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosSubtipo = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PFPorSubClase?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosPorEnf = (id,idepi,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorEnfermedad?id=\" + id + \"&idEpi=\" + idepi + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosPorEnf = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorEnfermedadPF?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosGTATC = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorGTATC?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentos2GTATC = (ids,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorGTATC2?ids=\" + ids.toString() + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosGTCon = (id,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorGTCon?id=\" + id + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productos2GTCon = (ids,idxOrden,max,idb) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorGTCon2?ids=\" + ids.toString() + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\nconst medicamentosGTVMPP = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorGTVMPP?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosGTSan = (id,idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorGTSan?id=\" + id + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioSaborEdad = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormSaborEdad\", { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioTest = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormTest\", { headers: authHeader() });\r\n}; \r\n\r\nconst descargaInfoSalesYCantidades = (id,tipo) => {\r\n if (tipo===\"P\")\r\n return descargaInfoSalesYCantidadesIng(id);\r\n else\r\n return axios.get(API_URL + \"BotPlus2022/GetInfoPosiblesSalesYCantidades?id=\" + id, { headers: authHeader() });\r\n}; \r\n\r\nconst descargaInfoSalesYCantidadesIng = (id) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetInfoPosiblesSalesYCantidadesIng?id=\" + id, { headers: authHeader() });\r\n}; \r\n \r\nconst descargaListaInfoSalesYCantidades = (ids,tipo) => {\r\n if (tipo===\"P\")\r\n return descargaListaInfoSalesYCantidadesIng(ids);\r\n else\r\n return axios.get(API_URL + \"BotPlus2022/GetListaInfoPosiblesSalesYCantidades?ids=\" + ids.toString(), { headers: authHeader() });\r\n}; \r\n\r\nconst descargaListaInfoSalesYCantidadesIng = (ids) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListaInfoPosiblesSalesYCantidadesIng?ids=\" + ids.toString(), { headers: authHeader() });\r\n}; \r\n\r\nconst productosSaborEdad = (info) => {\r\n var strParams = \"?se\";\r\n if (info.idDieto){\r\n strParams += \"&idDieto=\" + info.idDieto;\r\n }\r\n if (info.idsSabores && info.idsSabores.length>0){\r\n strParams += \"&idsSabores=\" + info.idsSabores.toString();\r\n }\r\n if (info.saborSolo){\r\n strParams += \"&saborSolo=S\"\r\n }\r\n if (info.edad){\r\n strParams += \"&edad=\" + info.edad.toString();\r\n }\r\n if (info.undEdad){\r\n strParams += \"&undEdad=\" + info.undEdad;\r\n }\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosSaborEdad\" + strParams + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosEspecieIndicacion = (idEnf, idEsp, idxOrden) =>{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosEspecieIndicacion?idEnf=\" + idEnf + \"&idEspecie=\" + idEsp + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst datosFormularioEspecieIndicacion = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormEspecieIndicacion\", { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosProblemasSuministro = (info, idxOrden) =>{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n var strParams = \"?ps\";\r\n if (info.txt && info.txt !== ''){\r\n strParams += \"&txt=\" + info.txt;\r\n }\r\n if (info.idLab>0){\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n }\r\n if (info.idPA>0){\r\n strParams += \"&idPA=\" + info.idPA.toString();\r\n }\r\n if (info.medExt){\r\n strParams += \"&medExt=S\"\r\n }\r\n if (info.noSust){\r\n strParams += \"&noSust=S\"\r\n }\r\n if (info.iniciod){\r\n strParams += \"&fini0=\" + Math.round(info.iniciod.getTime()/1000).toString();\r\n }\r\n if (info.inicioh){\r\n strParams += \"&fini1=\" + Math.round(info.inicioh.getTime()/1000).toString();\r\n }\r\n if (info.find){\r\n strParams += \"&ffin0=\" + Math.round(info.find.getTime()/1000).toString();\r\n }\r\n if (info.finh){\r\n strParams += \"&ffin1=\" + Math.round(info.finh.getTime()/1000).toString();\r\n }\r\n\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosProblemasSuministro\" + strParams + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst datosFormularioProblemasSuministro= () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormProblemasSuministro\", { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosAlertasCalidad = (info, idxOrden, tipo) =>{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n var strParams = \"?ac\";\r\n if (info.txt && info.txt !== ''){\r\n strParams += \"&txt=\" + info.txt;\r\n }\r\n if (info.txtLote && info.txtLote !== ''){\r\n strParams += \"&txtLote=\" + info.txtLote;\r\n }\r\n if (info.idLab>0){\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n }\r\n if (info.idPA>0){\r\n strParams += \"&idPA=\" + info.idPA.toString();\r\n }\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n if (tipo){\r\n strParams += \"&tipo=\" + tipo;\r\n }\r\n\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosAlertasCalidad\" + strParams + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst PFAlertasCalidad = (info, idxOrden) =>{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n var strParams = \"?ac\";\r\n if (info.txt && info.txt !== ''){\r\n strParams += \"&txt=\" + info.txt;\r\n }\r\n if (info.txtLote && info.txtLote !== ''){\r\n strParams += \"&txtLote=\" + info.txtLote;\r\n }\r\n if (info.idLab>0){\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n }\r\n if (info.idPA>0){\r\n strParams += \"&idPA=\" + info.idPA.toString();\r\n }\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n\r\n return axios.get(API_URL + \"BotPlus2022/GetPFAlertasCalidad\" + strParams + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst datosFormularioAlertasCalidad= (tipo) => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAlertasCalidad?tipo=\"+ tipo, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosReaccionesAdversas = (info,max,idb) => {\r\n var strParams = \"?ra\";\r\n if (info.idEpi){\r\n strParams += \"&idEpi=\" + info.idEpi;\r\n }\r\n if (info.idsEnfs && info.idsEnfs.length>0){\r\n strParams += \"&idsEnfs=\" + info.idsEnfs.toString();\r\n }\r\n if (info.idsMeds && info.idsMeds.length>0){\r\n strParams += \"&idsMeds=\" + info.idsMeds.toString();\r\n }\r\n \r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosPorReaccionAdversa\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n }; \r\n \r\nconst datosFormularioReaccionesAdversas = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormReaccionesAdversas\", { headers: authHeader() });\r\n}; \r\n\r\nconst productosPorComposicion = (info) => {\r\n var tipo = info.codigoPagina.substring(info.codigoPagina.length-1);\r\n if (tipo===\"F\")\r\n tipo = \"P\"\r\n var strParams = \"?tipo=\" + tipo;\r\n if (tipo===\"P\" && info.tipoProd){\r\n strParams += \"&tipoProd=\" + info.tipoProd;\r\n }\r\n if (info.pas && info.pas.length>0){\r\n strParams += \"&pas=\" + fromListaPAsComposToParamURL(info.pas);\r\n }\r\n if (info.solo){\r\n strParams += \"&solo=S\"\r\n }else{\r\n strParams += \"&solo=N\"\r\n }\r\n if (info.idVia>0){\r\n strParams += \"&idVia=\" + info.idVia.toString();\r\n }\r\n if (info.idFF>0){\r\n strParams += \"&idFF=\" + info.idFF.toString();\r\n }\r\n if (info.uds>0){\r\n strParams += \"&uds=\" + info.uds.toString();\r\n }\r\n if (info.pv>0){\r\n strParams += \"&pv=\" + info.pv.toString();\r\n }\r\n if (info.ints && info.ints.length>0){\r\n strParams += \"&ints=\" + info.ints.toString();\r\n }\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PorComposicion\" + strParams + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioComposicion = (tipo, tipoProd, pas) => {\r\n //var tipo = info.codigoPagina.substring(info.codigoPagina.length-1);\r\n var strTipoProd = \"\";\r\n if (tipo===\"F\"){\r\n tipo = \"P\"\r\n }\r\n if (tipo===\"P\"){\r\n strTipoProd = \"&tipoProd=\" + tipoProd.toString();\r\n }\r\n\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormComposicion?tipo=\" + tipo + strTipoProd + \"&pas=\" + fromListaPAsComposToParamURL(pas), { headers: authHeader() });\r\n}; \r\n\r\nconst actualizaFFyVias = (tipo, tipoProd, pas) => {\r\n //var tipo = info.codigoPagina.substring(info.codigoPagina.length-1);\r\n var strTipoProd = \"\";\r\n if (tipo===\"F\"){\r\n tipo = \"P\"\r\n }\r\n if (tipo===\"P\"){\r\n strTipoProd = \"&tipoProd=\" + tipoProd.toString();\r\n }\r\n\r\n return axios.get(API_URL + \"BotPlus2022/FormasFarmaYVias?tipo=\" + tipo + strTipoProd + \"&pas=\" + fromListaPAsComposToParamURL(pas), { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioAvanzadaMUH = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAvanzadaMUH\", { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosAvanzadaMUH = (info,max,idb) => {\r\n var strParams = \"?av\";\r\n\r\n if (info.txt && info.txt !== '')\r\n strParams += \"&med=\" + info.txt;\r\n /*if (info.idLab && info.idLab > 0)\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n if (info.idGT && info.idGT !== '')\r\n strParams += \"&idGT=\" + info.idGT;*/\r\n if (info.idsLab && (info.idsLab.length > 0))\r\n strParams += \"&idsLab=\" + info.idsLab.toString();\r\n if (info.idsGT && (info.idsGT.length > 0))\r\n strParams += \"&idsGT=\" + info.idsGT.toString();\r\n\r\n if (info.pas && (info.pas.length > 0))\r\n strParams += \"&pas=\" + fromListaPAsComposToParamURL(info.pas);\r\n if (info.solo)\r\n strParams += \"&solo=S\";\r\n else\r\n strParams += \"&solo=N\";\r\n if (info.idVia>0)\r\n strParams += \"&idVia=\" + info.idVia.toString();\r\n if (info.idFF>0)\r\n strParams += \"&idFF=\" + info.idFF.toString();\r\n if (info.edad)\r\n strParams += \"&edad=\" + info.edad.toString();\r\n if (info.undEdad)\r\n strParams += \"&undEdad=\" + info.undEdad;\r\n if (info.ints && (info.ints.length > 0))\r\n strParams += \"&ints=\" + info.ints.toString();\r\n if (info.ops && (info.ops.length > 0))\r\n strParams += \"&ops=\" + fromListaOpsAvanzadaToParamURL(info.ops);\r\n if (info.uds && info.uds>0)\r\n strParams += \"&uds=\" + info.uds.toString();\r\n if (info.emr && info.emr>0)\r\n strParams += \"&emr=\" + info.emr.toString();\r\n if (info.fechaAutoIni){\r\n strParams += \"&fechaAutoIni=\" + Math.round(info.fechaAutoIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaAutoFin){\r\n strParams += \"&fechaAutoFin=\" + Math.round(info.fechaAutoFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaComerIni){\r\n strParams += \"&fechaComerIni=\" + Math.round(info.fechaComerIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaComerFin){\r\n strParams += \"&fechaComerFin=\" + Math.round(info.fechaComerFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaIni){\r\n strParams += \"&fechaBajaIni=\" + Math.round(info.fechaBajaIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaFin){\r\n strParams += \"&fechaBajaFin=\" + Math.round(info.fechaBajaFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaInSNSIni){\r\n strParams += \"&fechaInSNSIni=\" + Math.round(info.fechaInSNSIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaInSNSFin){\r\n strParams += \"&fechaInSNSFin=\" + Math.round(info.fechaInSNSFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaExSNSIni){\r\n strParams += \"&fechaExSNSIni=\" + Math.round(info.fechaExSNSIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaExSNSFin){\r\n strParams += \"&fechaExSNSFin=\" + Math.round(info.fechaExSNSFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaExFIIni){\r\n strParams += \"&fechaExFIIni=\" + Math.round(info.fechaExFIIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaExFIFin){\r\n strParams += \"&fechaExFIFin=\" + Math.round(info.fechaExFIFin.getTime()/1000).toString();\r\n }\r\n if (info.pre && info.pre>0 && info.idOpP && info.idOpP>0 && info.idCampoP && info.idCampoP !== '')\r\n {\r\n strParams += \"&pre=\" + Math.trunc(info.pre*100).toString() + \"&idOpP=\" + info.idOpP.toString() + \"&idCampoP=\" + info.idCampoP;\r\n }\r\n if (info.idPredefP>0)\r\n {\r\n strParams += \"&idPredefP=\" + info.idPredefP.toString();\r\n }\r\n if (info.idsAA && (info.idsAA.length > 0))\r\n strParams += \"&idsAA=\" + info.idsAA.toString();\r\n if (info.idsAN && (info.idsAN.length > 0))\r\n strParams += \"&idsAN=\" + info.idsAN.toString();\r\n if (info.idsDC && (info.idsDC.length > 0))\r\n strParams += \"&idsDC=\" + info.idsDC.toString();\r\n if (info.idsMen && (info.idsMen.length > 0))\r\n strParams += \"&idsMen=\" + info.idsMen.toString();\r\n if (info.texto && info.texto !== '' && info.texto.length>2)\r\n strParams += \"&texto=\" + encodeURI(info.texto);\r\n if (info.noTexto)\r\n strParams += \"&noTexto=S\";\r\n if (info.idEpi>0)\r\n strParams += \"&idEpi=\" + info.idEpi.toString();\r\n\r\n if (info.enfsRel && (info.enfsRel.length > 0)){\r\n var strEnf = \"\";\r\n for (var i=0; i0) strEnf += \",\"\r\n strEnf += info.enfsRel[i].codigo + \"_\" + info.enfsRel[i].epi;\r\n }\r\n strParams += \"&enfsRel=\" + strEnf;\r\n }\r\n\r\n if (info.anasRel && (info.anasRel.length > 0)){\r\n var strAna = \"\";\r\n for (var i=0; i0) strAna += \",\"\r\n strAna += info.anasRel[i].codigo + \"_\" + info.anasRel[i].epi;\r\n }\r\n strParams += \"&anasRel=\" + strAna;\r\n }\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/AvanzadaMUH\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioAvanzadaMUV = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAvanzadaMUV\", { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosAvanzadaMUV = (info,max,idb) => {\r\n var strParams = \"?av\";\r\n\r\n if (info.txt && info.txt !== '')\r\n strParams += \"&med=\" + info.txt;\r\n /*if (info.idLab && info.idLab > 0)\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n if (info.idGT && info.idGT !== '')\r\n strParams += \"&idGT=\" + info.idGT;*/\r\n if (info.idsLab && (info.idsLab.length > 0))\r\n strParams += \"&idsLab=\" + info.idsLab.toString();\r\n if (info.idsGT && (info.idsGT.length > 0))\r\n strParams += \"&idsGT=\" + info.idsGT.toString();\r\n if (info.pas && (info.pas.length > 0))\r\n strParams += \"&pas=\" + fromListaPAsComposToParamURL(info.pas);\r\n if (info.solo)\r\n strParams += \"&solo=S\";\r\n else\r\n strParams += \"&solo=N\";\r\n if (info.idVia>0)\r\n strParams += \"&idVia=\" + info.idVia.toString();\r\n if (info.idFF>0)\r\n strParams += \"&idFF=\" + info.idFF.toString();\r\n if (info.uds && info.uds>0)\r\n strParams += \"&uds=\" + info.uds.toString();\r\n if (info.fechaAutoIni){\r\n strParams += \"&fechaAutoIni=\" + Math.round(info.fechaAutoIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaAutoFin){\r\n strParams += \"&fechaAutoFin=\" + Math.round(info.fechaAutoFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaIni){\r\n strParams += \"&fechaBajaIni=\" + Math.round(info.fechaBajaIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaFin){\r\n strParams += \"&fechaBajaFin=\" + Math.round(info.fechaBajaFin.getTime()/1000).toString();\r\n }\r\n if (info.ops && (info.ops.length > 0))\r\n strParams += \"&ops=\" + fromListaOpsAvanzadaToParamURL(info.ops);\r\n if (info.idEspecie && info.idEspecie > 0)\r\n strParams += \"&idEspecie=\" + info.idEspecie.toString();\r\n if (info.idEnf && info.idEnf > 0)\r\n strParams += \"&idEnf=\" + info.idEnf.toString();\r\n if (info.idsMen && (info.idsMen.length > 0))\r\n strParams += \"&idsMen=\" + info.idsMen.toString();\r\n if (info.texto && info.texto !== '' && info.texto.length>2)\r\n strParams += \"&texto=\" + encodeURI(info.texto);\r\n if (info.noTexto)\r\n strParams += \"&noTexto=S\";\r\n if (info.idEpi>0)\r\n strParams += \"&idEpi=\" + info.idEpi.toString();\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/AvanzadaMUV\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioAvanzadaPAH = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAvanzadaPAH\", { headers: authHeader() });\r\n}; \r\n\r\nconst principiosActivosAvanzadaPAH = (info) => {\r\n var strParams = \"?av\";\r\n\r\n if (info.txt && info.txt !== '')\r\n strParams += \"&med=\" + info.txt;\r\n if (info.idsAF && (info.idsAF.length > 0))\r\n strParams += \"&idsAF=\" + info.idsAF.toString();\r\n if (info.idsAM && (info.idsAM.length > 0))\r\n strParams += \"&idsAM=\" + info.idsAM.toString();\r\n /*if (info.idGT && info.idGT !== '')\r\n strParams += \"&idGT=\" + info.idGT;*/\r\n if (info.idsGT && (info.idsGT.length > 0))\r\n strParams += \"&idsGT=\" + info.idsGT.toString();\r\n if (info.ops && (info.ops.length > 0))\r\n strParams += \"&ops=\" + fromListaOpsAvanzadaToParamURL(info.ops);\r\n if (info.idsMen && (info.idsMen.length > 0))\r\n strParams += \"&idsMen=\" + info.idsMen.toString();\r\n if (info.texto && info.texto !== '' && info.texto.length>2)\r\n strParams += \"&texto=\" + encodeURI(info.texto);\r\n if (info.noTexto)\r\n strParams += \"&noTexto=S\";\r\n if (info.idEpi>0)\r\n strParams += \"&idEpi=\" + info.idEpi.toString();\r\n if (info.enfsRel && (info.enfsRel.length > 0)){\r\n var strEnf = \"\";\r\n for (var i=0; i0) strEnf += \",\"\r\n strEnf += info.enfsRel[i].codigo + \"_\" + info.enfsRel[i].epi;\r\n }\r\n strParams += \"&enfsRel=\" + strEnf;\r\n }\r\n if (info.anasRel && (info.anasRel.length > 0)){\r\n var strAna = \"\";\r\n for (var i=0; i0) strAna += \",\"\r\n strAna += info.anasRel[i].codigo + \"_\" + info.anasRel[i].epi;\r\n }\r\n strParams += \"&anasRel=\" + strAna;\r\n }\r\n\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/AvanzadaPAH\" + strParams + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioAvanzadaPPF = (idTipo) => {\r\n var strDieto = (idTipo === 6 ? \"S\" : \"N\")\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAvanzadaPPF?dieto=\" + strDieto, { headers: authHeader() });\r\n}; \r\n\r\nconst viasFormularioAvanzadaPPF = (idTipo) => {\r\n var strDieto = (idTipo === 6 ? \"S\" : \"N\")\r\n return axios.get(API_URL + \"BotPlus2022/AcutalizaViasPPF?dieto=\" + strDieto, { headers: authHeader() });\r\n}; \r\n\r\nconst productosAvanzadaPPF = (info,max,idb) => {\r\n var strParams = \"?av\";\r\n\r\n if (info.txt && info.txt !== '')\r\n strParams += \"&med=\" + info.txt;\r\n /*if (info.idLab && info.idLab > 0)\r\n strParams += \"&idLab=\" + info.idLab.toString();\r\n if (info.idGT && info.idGT !== '')\r\n strParams += \"&idGT=\" + info.idGT;*/\r\n if (info.idsLab && (info.idsLab.length > 0))\r\n strParams += \"&idsLab=\" + info.idsLab.toString();\r\n if (info.idsGT && (info.idsGT.length > 0))\r\n strParams += \"&idsGT=\" + info.idsGT.toString();\r\n\r\n if (info.pas && (info.pas.length > 0))\r\n strParams += \"&pas=\" + fromListaPAsComposToParamURL(info.pas);\r\n if (info.solo)\r\n strParams += \"&solo=S\";\r\n else\r\n strParams += \"&solo=N\";\r\n if (info.idVia>0)\r\n strParams += \"&idVia=\" + info.idVia.toString();\r\n if (info.idFF>0)\r\n strParams += \"&idFF=\" + info.idFF.toString();\r\n /*if (info.idTipo>0)\r\n strParams += \"&idTipo=\" + info.idTipo.toString();\r\n if (info.idSubtipo>0)\r\n strParams += \"&idSubtipo=\" + info.idSubtipo.toString();*/\r\n if (info.idsTipo && (info.idsTipo.length > 0))\r\n strParams += \"&idsTipo=\" + info.idsTipo.toString();\r\n if (info.idsSubtipo && (info.idsSubtipo.length > 0))\r\n strParams += \"&idsSubtipo=\" + info.idsSubtipo.toString();\r\n if (info.uds && info.uds>0)\r\n strParams += \"&uds=\" + info.uds.toString();\r\n if (info.fechaAutoIni){\r\n strParams += \"&fechaAutoIni=\" + Math.round(info.fechaAutoIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaAutoFin){\r\n strParams += \"&fechaAutoFin=\" + Math.round(info.fechaAutoFin.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaIni){\r\n strParams += \"&fechaBajaIni=\" + Math.round(info.fechaBajaIni.getTime()/1000).toString();\r\n }\r\n if (info.fechaBajaFin){\r\n strParams += \"&fechaBajaFin=\" + Math.round(info.fechaBajaFin.getTime()/1000).toString();\r\n }\r\n if (info.ints && (info.ints.length > 0))\r\n strParams += \"&ints=\" + info.ints.toString();\r\n if (info.ops && (info.ops.length > 0))\r\n strParams += \"&ops=\" + fromListaOpsAvanzadaToParamURL(info.ops);\r\n if (info.idsMen && (info.idsMen.length > 0))\r\n strParams += \"&idsMen=\" + info.idsMen.toString();\r\n if (info.texto && info.texto !== '' && info.texto.length>2)\r\n strParams += \"&texto=\" + encodeURI(info.texto);\r\n if (info.noTexto)\r\n strParams += \"&noTexto=S\";\r\n if (info.idEpi>0)\r\n strParams += \"&idEpi=\" + info.idEpi.toString();\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/AvanzadaPPF\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioPacienteIndicacion = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormPacienteIndicacion\", { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioProductosIndicacion = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormProductosIndicacion\", { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosPacienteIndicacion = (info) => {\r\n var strParams = \"?av\";\r\n\r\n if (info.idEnf>0)\r\n strParams += \"&idEnf=\" + info.idEnf.toString();\r\n if (info.idsPat && (info.idsPat.length > 0))\r\n strParams += \"&idsPat=\" + info.idsPat.toString();\r\n if (info.idsMed && (info.idsMed.length > 0))\r\n strParams += \"&idsMed=\" + info.idsMed.toString();\r\n if (info.idVia>0)\r\n strParams += \"&idVia=\" + info.idVia.toString();\r\n if (info.idFF>0)\r\n strParams += \"&idFF=\" + info.idFF.toString();\r\n if (info.edad)\r\n strParams += \"&edad=\" + info.edad.toString();\r\n if (info.undEdad)\r\n strParams += \"&undEdad=\" + info.undEdad;\r\n if (info.ints && (info.ints.length > 0))\r\n strParams += \"&ints=\" + info.ints.toString();\r\n if (info.ops && (info.ops.length > 0))\r\n strParams += \"&ops=\" + fromListaOpsAvanzadaToParamURL(info.ops);\r\n if (info.idsAlg && (info.idsAlg.length > 0))\r\n strParams += \"&idsAlg=\" + info.idsAlg.toString();\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/PacienteIndicacion\" + strParams + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst productosIndicacion = (info) => {\r\n var strParams = \"?pi\";\r\n\r\n if (info.idEnf>0)\r\n strParams += \"&idEnf=\" + info.idEnf.toString();\r\n if (info.idFF>0)\r\n strParams += \"&idFF=\" + info.idFF.toString();\r\n if (info.pas && info.pas.length>0)\r\n strParams += \"&pas=\" + fromListaPAsComposToParamURL(info.pas);\r\n if (info.ints && (info.ints.length > 0))\r\n strParams += \"&ints=\" + info.ints.toString();\r\n if (info.ops && (info.ops.length > 0))\r\n strParams += \"&ops=\" + fromListaOpsAvanzadaToParamURL(info.ops);\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/ProductosIndicacion\" + strParams + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst listaPosiblesInteractores = (idsSel) => {\r\n var strParam=\"\";\r\n if (idsSel && idsSel.length === 1)\r\n strParam += \"?id=\" + idsSel[0].toString();\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormInteracciones\" + strParam, { headers: authHeader() });\r\n}; \r\n\r\nconst buscaInteracciones = (idsSel) => {\r\n var param = \"?idsSel=\"\r\n if (idsSel && idsSel.length>0)\r\n param += idsSel.toString();\r\n else\r\n param += \"0\";\r\n return axios.get(API_URL + \"BotPlus2022/CalculoInteracciones\"+param, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosFM = (idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetFormulasMagistrales\" + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst medicamentosHomeo = (idxOrden) => {\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosHomeopaticos\" + strorden, { headers: authHeader() });\r\n}; \r\n\r\nconst datosFormularioFormaColor = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormFormaColor\", { headers: authHeader() });\r\n}; \r\n\r\n\r\nconst medicamentosFormaColor = (info, max, idb) =>\r\n{\r\n var strParams = \"?fc\";\r\n\r\n if (info.tipoFF!=='')\r\n strParams += \"&tipoFF=\" + info.tipoFF;\r\n if (info.idForma>0)\r\n strParams += \"&idForma=\" + info.idForma.toString();\r\n if (info.idColor1 !== \"\")\r\n strParams += \"&idColor1=\" + info.idColor1.toString();\r\n if (info.idColor2 !== \"\")\r\n strParams += \"&idColor2=\" + info.idColor2.toString();\r\n if (info.idSabor>0)\r\n strParams += \"&idSabor=\" + info.idSabor.toString();\r\n if (info.idEnf>0)\r\n strParams += \"&idEnf=\" + info.idEnf.toString();\r\n if (info.tamanos && (info.tamanos.length > 0))\r\n strParams += \"&tamanos=\" + info.tamanos.toString();\r\n if (info.CO1)\r\n strParams += \"&CO1=\" + info.CO1;\r\n if (info.CO2)\r\n strParams += \"&CO2=\" + info.CO2;\r\n if (info.ranura)\r\n strParams += \"&ranura=S\" \r\n if (info.logo)\r\n strParams += \"&logo=S\" \r\n if (info.difCol)\r\n strParams += \"&difCol=S\" \r\n if (info.col2)\r\n strParams += \"&col2=S\" \r\n if (info.anycol)\r\n strParams += \"&anycol=S\" \r\n if (info.ins1 && info.ins1 !== '')\r\n strParams += \"&ins1=\" + info.ins1;\r\n if (info.ins2 && info.ins2 !== '')\r\n strParams += \"&ins2=\" + info.ins2;\r\n /*if (info.pas && (info.pas.length > 0))\r\n strParams += \"&pas=\" + info.pas.toString();*/\r\n if (info.pas && info.pas.length>0){\r\n strParams += \"&pas=\" + fromListaPAsComposToParamURL(info.pas);\r\n }\r\n if (info.solo){\r\n strParams += \"&solo=S\"\r\n }else{\r\n strParams += \"&solo=N\"\r\n }\r\n \r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosPorFormaColor\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n\r\n}\r\n\r\nconst datosFormularioEXT = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormEXT\", { headers: authHeader() });\r\n}; \r\n\r\n\r\nconst medicamentosEXT = (info, max, idb) =>\r\n{\r\n var strParams = \"?ex\";\r\n if (info.id>0)\r\n strParams += \"&id=\" + info.id.toString();\r\n if (info.txt && info.txt !== '')\r\n strParams += \"&txt=\" + info.txt;\r\n if (info.idPais>0)\r\n strParams += \"&idPais=\" + info.idPais.toString();\r\n if (info.pas && (info.pas.length > 0))\r\n strParams += \"&pas=\" + info.pas.toString();\r\n if (info.solo){\r\n strParams += \"&solo=S\"\r\n }\r\n \r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosEXT\" + strParams + \"&max=\" + max + \"&idBusqueda=\" + idb + strorden, { headers: authHeader() });\r\n \r\n}\r\n\r\nconst medicamentosEspanoles = (id, idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosESP?id=\" + id + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst productosConGluten = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosConGluten?cg\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst productosSinGluten = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosSinGluten?cg\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst productosConLactosa = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosConLactosa?cl\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst productosSinLactosa = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosSinLactosa?cl\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst medicamentosDopantes = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosDopantes?do\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst productosNoLentes = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosNoLentes\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosConPrecioSupMenor = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosConPrecioSupMenor\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosConPrecioSupMasBajo = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosConPrecioSupMasBajo\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosConPrecioNotificado = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosConPrecioNotificado\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosSeguimientoAdicional = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosSeguimientoAdicional\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosDispositivoSeguridad = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosDispositivoSeguridad?ds\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst medicamentosLibroRecetario = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosLibroRecetario\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosLibroEstupefacientes = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosLibroEstupefacientes\" + strorden, { headers: authHeader() });\r\n}\r\nconst medicamentosNotificacionESVAC = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosNotificacionESVAC\" + strorden, { headers: authHeader() });\r\n}\r\nconst enfermedadesH = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetEnfermedadesH\" + strorden, { headers: authHeader() });\r\n}\r\nconst enfermedadesV = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetEnfermedadesV\" + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosNoSustituibles = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosNoSustituibles?ds\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosAlertaCismed = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/ConAlertaCismedMUH?ds\" + strorden, { headers: authHeader() });\r\n}\r\n \r\n\r\nconst medicamentosDeduccionesRDL = (idxOrden, max, idb) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosDeduccionesRDL?ds\" + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst productosCambioNombre = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosCambioNombre?ds\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\nconst productosCambioLaboratorio = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosCambioLaboratorio?ds\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosCambioPrecio = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosCambioPrecio?ds\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosDesfinanciados = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosDesfinanciados?ds\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst productosFechaAlta = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosFechaAlta?ds\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst productosUltimoMes = (info, max, idb) =>\r\n{\r\n var strParams = \"?cn\";\r\n \r\n var auxdate = new Date();\r\n auxdate.setMonth(auxdate.getMonth() - 1);\r\n strParams += \"&fini=\" + Math.round(auxdate.getTime()/1000).toString();\r\n\r\n const strorden = (info.idxOrden>0) ? \"&idxOrden=\"+info.idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetProductosFechaAlta\" + strParams + strorden + \"&max=\" + max + \"&idBusqueda=\" + idb, { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosPSUltimoMes = (idxOrden) =>\r\n{\r\n var strParams = \"?ps\";\r\n \r\n var auxdate = new Date();\r\n auxdate.setMonth(auxdate.getMonth() - 1);\r\n strParams += \"&fini=\" + Math.round(auxdate.getTime()/1000).toString();\r\n\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+ idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/ConPSuministro\" + strParams + strorden , { headers: authHeader() });\r\n}\r\n\r\nconst medicamentosCambioPrecioPrevisto = (idxOrden) =>\r\n{\r\n const strorden = (idxOrden>0) ? \"?idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/GetMedicamentosCambioPrecioPrevisto\" + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst productosHistorialUsuario = (idxOrden) =>\r\n{\r\n const maxRandom = 1000000\r\n const intRandom = Math.floor(Math.random() * maxRandom);\r\n const strrandom = \"?\" + intRandom;\r\n const strorden = (idxOrden>0) ? \"&idxOrden=\"+idxOrden.toString() : \"\";\r\n return axios.get(API_URL + \"BotPlus2022/HistorialUsuario\" + strrandom + strorden, { headers: authHeader() });\r\n}\r\n\r\nconst borraProductoHistorial = (tipo, id) =>\r\n{\r\n return axios.get(API_URL + \"BotPlus2022/BorraDeHistorial?tipo=\" + tipo + \"&id=\" + id.toString(), { headers: authHeader() });\r\n}\r\n\r\nconst datosFormularioDocumentos = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormDocumentos\", { headers: authHeader() });\r\n}; \r\n\r\nconst documentosPorMedFecha = (info) =>\r\n{\r\n var strParams = \"?do\";\r\n if (info.inicio){\r\n strParams += \"&fini=\" + Math.round(info.inicio.getTime()/1000).toString();\r\n }\r\n if (info.fin){\r\n strParams += \"&ffin=\" + Math.round(info.fin.getTime()/1000).toString();\r\n }\r\n if (info.idMed>0){\r\n strParams += \"&idMed=\" + info.idMed.toString();\r\n }\r\n return axios.get(API_URL + \"BotPlus2022/DocumentosRelacionados\" + strParams , { headers: authHeader() });\r\n}\r\n\r\nconst datosFormularioBucadoresPreferidos = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormEditaBuscadores\", { headers: authHeader() });\r\n}; \r\n\r\nconst setDatosBuscadoresPreferidos = (ids) => {\r\n var strParams = \"?do\";\r\n if (ids){\r\n strParams += \"&idsBusca=\" + ids.toString();\r\n }\r\n return axios.get(API_URL + \"BotPlus2022/SetDatosBuscadores\" + strParams , { headers: authHeader() });\r\n}\r\n\r\nconst obtenCamposExportables = (codTipoExporta, codBusqueda) => {\r\n var strCodBusqueda = \"\";\r\n if (codBusqueda)\r\n strCodBusqueda = \"&codBusqueda=\" + codBusqueda\r\n return axios.get(API_URL + \"BotPlus2022/GetCamposExportables?tipoRegistro=\"+codTipoExporta+strCodBusqueda, { headers: authHeader() });\r\n}; \r\n\r\nconst obtenRegistrosAExportar = (codTipoExporta, ids, campos, campoOrden, tipoBusqueda, ini, fin) => {\r\n if ((!campoOrden) || campoOrden===\"\"){\r\n if (campos.includes(\"NOM\" + codTipoExporta)){\r\n campoOrden = \"NOM\" + codTipoExporta\r\n }\r\n else{\r\n campoOrden = campos[0];\r\n }\r\n }\r\n \r\n return axios.post(API_URL + \"BotPlus2022/ExportaPost\"\r\n , { tipoRegistros: codTipoExporta,\r\n ids: ids,\r\n campos: campos,\r\n campoOrden: campoOrden,\r\n tipoBusqueda: tipoBusqueda,\r\n lfini: ini,\r\n lffin: fin,\r\n } \r\n , { headers: authHeader() });\r\n}; \r\n\r\nconst obtenExportacionExcel = (codDocExporta) => {\r\n \r\n return axios.post(API_URL + \"BotPlus2022/ExportExcelPost\"\r\n , { \r\n codDocExporta: codDocExporta,\r\n } \r\n , { headers: authHeader() });\r\n}; \r\n\r\nconst getEmpresa = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormEmpresas\", { headers: authHeader() });\r\n}; \r\n\r\nconst getUsuAdicional = () => {\r\n return axios.get(API_URL + \"BotPlus2022/UsuAdicional\", { headers: authHeader() });\r\n}; \r\n\r\nconst getDirCorreo = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DirCorreo\", { headers: authHeader() });\r\n}; \r\n\r\nconst checkUser = (user) => {\r\n return axios.get(API_URL + \"login/CheckUser?user=\"+user);\r\n}; \r\n\r\nconst enviaCorreoRecPass = (user) => {\r\n return axios.get(API_URL + \"login/EnviaCorreoRecPass?user=\"+user);\r\n}; \r\n\r\nconst enviaCorreoCambioPass = () => {\r\n return axios.get(API_URL + \"BotPlus2022/EnviaCorreoCambioPass\",{ headers: authHeader() });\r\n}; \r\n\r\nconst enviaCorreoCambioCorreo = () => {\r\n return axios.get(API_URL + \"BotPlus2022/EnviaCorreoCambioCorreo\",{ headers: authHeader() });\r\n}; \r\n\r\nconst checkLink = (link) => {\r\n return axios.get(API_URL + \"login/CheckLink?link=\"+link);\r\n}; \r\n\r\nconst checkLinkCC = (link) => {\r\n return axios.get(API_URL + \"login/CheckLinkCC?link=\"+link);\r\n}; \r\n\r\nconst checkLinkCheckC = (link) => {\r\n return axios.get(API_URL + \"login/CheckLinkCheckC?link=\"+link);\r\n}; \r\n\r\nconst setDirCorreo = (pass, correo, desea) => {\r\n return axios.post(API_URL + \"BotPlus2022/CambiaDireccionCorreo\"\r\n , { Password: pass,\r\n Correo: correo,\r\n DeseaRecibirInfo: desea\r\n } \r\n , { headers: authHeader() });\r\n\r\n};\r\n\r\nconst setPasswordLink = (link, newpass) => {\r\n return axios.post(API_URL + \"Login/CambiaPasswordConLink\"\r\n , { Password: link,\r\n NewPassword: newpass\r\n });\r\n};\r\n\r\nconst setCorreoLink = (link, correo, desea) => {\r\n return axios.post(API_URL + \"Login/CambiaCorreoConLink\"\r\n , { Password: link,\r\n Correo: correo,\r\n DeseaRecibirInfo: desea\r\n });\r\n};\r\n\r\n/*const setCheckCorreoLink = (link) => {\r\n return axios.post(API_URL + \"Login/ConfirmaCorreoConLink\"\r\n , { Password: link,\r\n });\r\n};*/\r\n\r\nconst setPassword = (pass, newpass) => {\r\n return axios.post(API_URL + \"BotPlus2022/CambiaPassword\"\r\n , { Password: pass,\r\n NewPassword: newpass\r\n } \r\n , { headers: authHeader() });\r\n\r\n};\r\n\r\nconst enableUsuAdicional = (user, pass) => {\r\n return axios.get(API_URL + \"BotPlus2022/EnableUsuAdicional?user=\"+user+'&pass='+pass, { headers: authHeader() });\r\n}; \r\n\r\nconst disableUsuAdicional = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DisableUsuAdicional\", { headers: authHeader() });\r\n}; \r\n\r\nconst setEmpresa = (idEmpresa) => {\r\n return axios.get(API_URL + \"BotPlus2022/SetEmpresa?idEmpresa=\"+idEmpresa.toString(), { headers: authHeader() });\r\n}; \r\n\r\nconst getFormAddEmpresa = () => {\r\n return axios.get(API_URL + \"BotPlus2022/DatosFormAddEmpresa\", { headers: authHeader() });\r\n}; \r\n\r\nconst addEmpresa = (idEmpresa) => {\r\n return axios.get(API_URL + \"BotPlus2022/AddEmpresaColaboradora?idEmpresa=\"+idEmpresa.toString(), { headers: authHeader() });\r\n}; \r\n\r\nconst delEmpresa = (idEmpresa) => {\r\n return axios.get(API_URL + \"BotPlus2022/DeleteEmpresaColaboradora?idEmpresa=\"+idEmpresa.toString(), { headers: authHeader() });\r\n}; \r\n\r\nconst getDocumentosAyuda = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetDocsAyuda\", { headers: authHeader() });\r\n}; \r\n\r\nconst setOpcionBusqueda = (i) => {\r\n localStorage.setItem(\"opcionBInicio\",i);\r\n}\r\n\r\nconst getOpcionBusqueda = () => {\r\n var i= parseInt(localStorage.getItem(\"opcionBInicio\"));\r\n return i;\r\n}\r\n\r\nconst obtenListadosExportables = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetListadosExporta\", { headers: authHeader() });\r\n}; \r\n\r\nconst getBackVersion = () => {\r\n return axios.get(API_URL + \"BotPlus2022/GetBackendVersion\", { headers: authHeader() });\r\n };\r\n \r\nconst moduloIndicacionesPF = () => {\r\n return axios.get(API_URL + \"BotPlus2022/HayModuloIndicacionesPF\", { headers: authHeader() });\r\n };\r\n \r\nconst moduloCambioPass = () => {\r\n return axios.get(API_URL + \"BotPlus2022/HayModuloCambioPass\", { headers: authHeader() });\r\n };\r\n\r\n const getItemsFromEspecod = (especod) => {\r\n return axios.get(API_URL + \"BotPlus2022/GetItemsFromEspecod?cod=\" + especod, { headers: authHeader() })\r\n }\r\n\r\n const hayBuscadorCisMED = () => {\r\n return axios.get(API_URL + \"BotPlus2022/HayBuscadorCisMED\", { headers: authHeader() });\r\n };\r\n \r\n \r\n\r\n/*\r\n .post(API_URL + \"BotplusAuthenticate\", {\r\n Username : username,\r\n Password : password,\r\n FuerzaBruta : fb,\r\n MantenerAbierta : ma\r\n }, { headers: noAuthHeader() })\r\n*/\r\n\r\nconst userService = {\r\n getMedsByName\r\n ,getFichaMUH\r\n ,getFichaMUV\r\n ,getFichaFM\r\n ,getFichaPF\r\n ,getFichaPA\r\n ,getFichaING\r\n ,getFichaASO\r\n ,getFichaPAT\r\n ,getComposM\r\n ,getComposPF\r\n ,getGruposMUH\r\n ,getGruposPF\r\n ,getTextosMUH\r\n ,getTextosPF\r\n ,getTextosPA\r\n ,getTextosING\r\n ,getAdvertenciasMUH\r\n ,getAdvertenciasPF\r\n ,getAdvertenciasPA\r\n ,getAdvertenciasING\r\n ,getAdvertenciasASO\r\n ,getConsejosMUH\r\n ,getPrecaucionExtremaMUH\r\n ,getPrecaucionExtremaPAH\r\n ,getInterferenciasMUH \r\n ,getInterferenciasPA\r\n ,getInterferenciasASO\r\n ,getInterferenciasPAT\r\n ,getCismedMUH\r\n ,getConservacionMUH\r\n ,getConservacionPF\r\n ,getFarmacogeneticaMUH\r\n ,getFarmacogeneticaPA\r\n ,getFarmacogeneticaASO\r\n ,getHistoricoMUH\r\n ,getHistoricoPF\r\n ,getHistoricoPA\r\n ,getHistoricoING\r\n ,getHistoricoASO\r\n ,getIdentificacionMUH\r\n ,getInformacionAdicionalMUH\r\n ,getInformacionAdicionalPF\r\n ,getInformacionAdicionalPA\r\n ,getInformacionAdicionalING\r\n ,getInformacionAdicionalASO\r\n ,getInformacionAdicionalPAT\r\n ,getProblemasSuministroMUH\r\n ,getVideosMUH\r\n ,getVideosPF\r\n ,getVideosPA\r\n ,getVideosING\r\n ,getVideosASO\r\n ,getVideosPAT\r\n ,getAlertasCalidadMUH\r\n ,getAlertasCalidadPF\r\n ,getMensajesEmergentesMUH\r\n ,getMensajesEmergentesPPF\r\n ,getMensajesEmergentesPAH\r\n ,getTiemposEsperaMUV\r\n ,getContenidoPackPF\r\n ,getPacksContenedoresPF\r\n ,getSinonimiasPA\r\n ,getSinonimiasING\r\n ,getSinonimiasPAT\r\n ,getDopajeInfoPA\r\n ,getDopajeInfoASO\r\n ,getProductoresInfoPA\r\n ,getJerarquiaInfoPAT\r\n ,getCIEInfoPAT\r\n ,getBuscadoresPreferidos\r\n ,getNovedades\r\n ,getProductosConPS\r\n ,getUltimasNotasYAlertas\r\n ,getHistorial\r\n ,emptyHistorial\r\n ,getDatosConfiguracion\r\n ,setDatosConfiguracion\r\n ,getLaboratorios\r\n ,medicamentosLaboratorio \r\n ,medicamentosLaboratorios\r\n ,productosLaboratorio\r\n ,productosLaboratorios\r\n ,getAgrupaciones \r\n ,getFormasFarma \r\n , getActividades\r\n , getAnalisis\r\n , getBiomarcadores\r\n , getGruposATC\r\n , getGruposVMPP\r\n , getArbolGruposVMPP\r\n , getGruposCon\r\n , getGruposSan\r\n , medicamentosAgrupacionAuto\r\n , productosAgrupacionAuto \r\n , medicamentosAgrupacioNac\r\n , productosAgrupacionNac \r\n , medicamentosFormaFarma \r\n , productosFormaFarma\r\n , medicamentosFormasFarma \r\n , productosFormasFarma\r\n , principiosActividad\r\n , ingredientesActividad\r\n , principiosActividadesY\r\n , ingredientesActividadesY\r\n , principiosActividadesO\r\n , ingredientesActividadesO\r\n , medicamentosAnalisis\r\n , medicamentosBiomarcador\r\n , medicamentosConPA\r\n , medicamentosConAso\r\n , productosConIng\r\n , productosTipo\r\n , productosSubtipo\r\n , medicamentosPorEnf\r\n , productosPorEnf\r\n , medicamentosGTATC\r\n , medicamentos2GTATC\r\n , medicamentosGTVMPP\r\n , productosGTCon\r\n , productos2GTCon\r\n , productosGTSan\r\n , datosFormularioSaborEdad\r\n , datosFormularioTest\r\n , descargaInfoSalesYCantidades\r\n , descargaInfoSalesYCantidadesIng\r\n , descargaListaInfoSalesYCantidades\r\n , descargaListaInfoSalesYCantidadesIng\r\n , productosSaborEdad\r\n , datosFormularioEspecieIndicacion\r\n , medicamentosEspecieIndicacion\r\n , datosFormularioProblemasSuministro\r\n , medicamentosProblemasSuministro\r\n , datosFormularioAlertasCalidad\r\n , medicamentosAlertasCalidad\r\n , PFAlertasCalidad\r\n , datosFormularioReaccionesAdversas\r\n , medicamentosReaccionesAdversas\r\n , datosFormularioComposicion\r\n , actualizaFFyVias\r\n , productosPorComposicion\r\n , datosFormularioAvanzadaMUH\r\n , medicamentosAvanzadaMUH\r\n , datosFormularioAvanzadaMUV\r\n , medicamentosAvanzadaMUV\r\n , datosFormularioAvanzadaPAH\r\n , principiosActivosAvanzadaPAH\r\n , datosFormularioAvanzadaPPF\r\n , viasFormularioAvanzadaPPF \r\n , productosAvanzadaPPF \r\n , datosFormularioPacienteIndicacion\r\n , datosFormularioProductosIndicacion\r\n , medicamentosPacienteIndicacion\r\n , productosIndicacion\r\n , listaPosiblesInteractores\r\n , buscaInteracciones\r\n , medicamentosFM\r\n , medicamentosHomeo\r\n , datosFormularioFormaColor\r\n , medicamentosFormaColor\r\n , datosFormularioEXT\r\n , medicamentosEXT\r\n , getFichaEXT\r\n , medicamentosEspanoles\r\n , productosConGluten\r\n , productosConLactosa\r\n , productosSinGluten\r\n , productosSinLactosa\r\n , medicamentosDopantes\r\n , productosNoLentes\r\n , medicamentosConPrecioSupMenor\r\n , medicamentosConPrecioSupMasBajo\r\n , medicamentosConPrecioNotificado\r\n , medicamentosSeguimientoAdicional\r\n , medicamentosDispositivoSeguridad\r\n , medicamentosLibroRecetario\r\n , medicamentosLibroEstupefacientes\r\n , medicamentosNotificacionESVAC\r\n , enfermedadesH\r\n , enfermedadesV\r\n , medicamentosNoSustituibles\r\n , medicamentosDeduccionesRDL\r\n , productosCambioNombre\r\n , productosCambioLaboratorio\r\n , medicamentosCambioPrecio\r\n , medicamentosDesfinanciados\r\n , productosFechaAlta\r\n , productosUltimoMes\r\n , medicamentosCambioPrecioPrevisto\r\n , medicamentosPSUltimoMes\r\n , productosHistorialUsuario\r\n , datosFormularioDocumentos\r\n , documentosPorMedFecha\r\n , datosFormularioBucadoresPreferidos\r\n , setDatosBuscadoresPreferidos\r\n , obtenCamposExportables\r\n , obtenRegistrosAExportar\r\n , getEmpresa\r\n , setEmpresa\r\n , getFormAddEmpresa\r\n , addEmpresa \r\n , delEmpresa\r\n , getDocumentosAyuda\r\n , getOpcionBusqueda\r\n , setOpcionBusqueda\r\n , borraProductoHistorial\r\n , getUsuAdicional \r\n , enableUsuAdicional \r\n , disableUsuAdicional \r\n , getDirCorreo \r\n , setDirCorreo\r\n , setPassword\r\n , obtenListadosExportables\r\n , obtenExportacionExcel\r\n , getNombresSimilaresPAH\r\n , getNombresSimilaresMUH\r\n , medicamentosMismoNombre\r\n , getBackVersion\r\n , moduloIndicacionesPF\r\n , moduloCambioPass\r\n , enviaCorreoRecPass\r\n , enviaCorreoCambioPass\r\n , enviaCorreoCambioCorreo\r\n , checkUser\r\n , checkLink\r\n , checkLinkCC\r\n , checkLinkCheckC\r\n , setPasswordLink\r\n , setCorreoLink\r\n //, setCheckCorreoLink\r\n , getItemsFromEspecod\r\n , hayBuscadorCisMED\r\n , medicamentosAlertaCismed\r\n}; \r\n\r\nexport default userService;\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, deepEqual\r\n , elementIsOfClass, GetAntecesorWhithClassName, GetLastSucesorWhithClassName\r\n , GetSucesorWhithClassName, primerHijoConClase, RemoveClassNameToChildClassItems\r\n , scrollSiNoVisible } from \"../../../services/utils\";\r\n\r\nfunction SelectorComboBox(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const valueSelected = propiedades.valueSelected;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = propiedades.lista.map(item => (item.codigo === propiedades.valueSelected ? \r\n \r\n : )\r\n );\r\n const classInputSelector = (props.disabled ? \"inputSelector disabled\" : \"inputSelector\");\r\n\r\n const maxLengthNormal = (props.maxLengthNormal ? props.maxLengthNormal : 38);\r\n const estiloPetit = {fontSize:'12px', textTransform: 'none', whiteSpace: 'normal'};\r\n const estiloNormal = {textTransform: 'none'};\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const optionsDisplayed = lista.slice(1).map(item => (\r\n \r\n ));\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n const tipoFiltradoLista = 1;\r\n\r\n \r\n var textSelected = '';\r\n\r\n if (lista)\r\n if (lista.length>0)\r\n textSelected = lista[0].valor;\r\n \r\n for (var item of lista){\r\n if (item.codigo===valueSelected)\r\n textSelected = item.valor;\r\n }\r\n \r\n \r\n useEffect(() => {\r\n //if (!deepEqual(props.lista, propiedades.lista) || (props.valueSelected !== valueSelected)){\r\n setPropiedades({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n //}\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const container = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n container.classList.toggle('active');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n input.value = \"\";\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = primerHijoConClase(container, 'inputSelector');\r\n\r\n //var optionWithValue = buscaOptionEnSelectByValue(select,value);\r\n //optionWithValue.setAttribute('selected', '');\r\n select.value=value;\r\n container.classList.remove(\"active\");\r\n\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n input.placeholder=html;\r\n textSelected = html;\r\n }\r\n \r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alCambiar){\r\n props.alCambiar(value);\r\n }\r\n\r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n\r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tvar found = false;\r\n\r\n \tif(search != \"\"){\r\n var labeloptions = container.getElementsByClassName('labeloption');\r\n for (var elemento of labeloptions) {\r\n\t \t\tvar label = elemento;\r\n\t \t\tvar html = remove_accents(label.innerHTML.toLowerCase()).replace('-',' ').replace('(',' ');\r\n var strlabel = label.getAttribute('data-value').toString();\r\n var bMostrar = false;\r\n switch (tipoFiltradoLista){\r\n case 0:\r\n bMostrar = ((html.indexOf(search) === 0));\r\n break;\r\n case 1: \r\n bMostrar = ((html.indexOf(search) === 0) || (html.indexOf(search2)>0));\r\n break;\r\n case 2:\r\n bMostrar = ((html.indexOf(search) === 0) || (strlabel.indexOf(search) === 0));\r\n break;\r\n case 3:\r\n bMostrar = ((html.indexOf(search) === 0) || (strlabel.indexOf(search) === 0) || (html.indexOf(search2)>0));\r\n break;\r\n }\r\n\t \t\tif(bMostrar){\r\n\t \t\t\tfound = true;\r\n\t\t\t\t\tlabel.classList.remove(\"hide\");\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlabel.classList.add(\"hide\");\r\n\t\t\t\t}\r\n } \r\n \t}\r\n else{\r\n found = true;\r\n RemoveClassNameToChildClassItems(container,'labeloption',null,'hide');\r\n }\r\n \t\r\n\r\n \tif(found){\r\n AddClassNameToChildClassItems(container,'dropdown',null,'show');\r\n var ddowns = container.getElementsByClassName('ddown');\r\n for (var elemento of ddowns) {\r\n var hijos = elemento.children;\r\n var hijosNiOcultosNiActivos = false;\r\n for (var hijo of hijos){\r\n if (elementIsOfClass(hijo, 'labeloption')){\r\n if (!elementIsOfClass('hide') && !elementIsOfClass('active')){\r\n hijosNiOcultosNiActivos = true;\r\n }\r\n }\r\n }\r\n if (!hijosNiOcultosNiActivos){\r\n elemento.classList.remove('show');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n if (input.placeholder === '')\r\n input.placeholder = textSelected; \r\n }\r\n }\r\n \t}else{\r\n container.classList.remove('active');\r\n //RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n \t}\r\n }\r\n\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n if (!props.disabled){\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n var keyCode = e.keyCode;\r\n\r\n if ((keyCode >= 48 && keyCode<=57)||(keyCode >= 65 && keyCode<=90) || (keyCode===46) || (keyCode===8)|| (keyCode===40) || (keyCode===38) ){\r\n container.classList.add('active');\r\n }\r\n\r\n if ((keyCode===46) || (keyCode===8)){\r\n input.placeholder='';\r\n }\r\n \r\n if (keyCode === 27){\r\n container.classList.remove('active');\r\n if (input.placeholder === '')\r\n input.placeholder = textSelected;\r\n }\r\n\r\n\r\n if (ddown.classList.contains('show')){\r\n var miItem;\r\n var offset = 160;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n \r\n return (\r\n
\r\n
\r\n
KeyDownSelector(e)} >\r\n \r\n
ClickEnCoverSelect(e)}>\r\n KeyUpInput(e)} disabled = {props.disabled}/>\r\n
\r\n {textSelected}\r\n
\r\n
\r\n
\r\n {optionsDisplayed}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SelectorComboBox;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\n\r\nconst AddEmpresa = (props) => {\r\n\r\n const [estado, setEstado] = useState(0);\r\n const [idEmpresa, setIdEmpresa] = useState(0);\r\n const [listaEmpresas, setListaEmpresas] = useState([]);\r\n\r\n const getEmpresa = () =>{\r\n setEstado(1);\r\n BP2022Service.getFormAddEmpresa()\r\n .then((response) => {\r\n if (response.data){\r\n var aux = response.data.Empresas;\r\n aux.splice(0,0,{Codigo:0, Valor:''});\r\n setListaEmpresas(aux);\r\n setEstado(2);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setEstado(2);\r\n });\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0){\r\n getEmpresa();\r\n }\r\n },[]);\r\n\r\n\r\n const setEmpresa = () =>{\r\n setEstado(3);\r\n BP2022Service.addEmpresa(idEmpresa)\r\n .then((response) => {\r\n if (response.data){\r\n props.alAnadir(response.data);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setEstado(2);\r\n });\r\n }\r\n\r\n\r\n const cambiaEmpresa = (nuevoId) =>{\r\n setIdEmpresa(nuevoId);\r\n }\r\n\r\n const guardaEmpresa = () =>\r\n {\r\n setEmpresa();\r\n }\r\n\r\n\r\n const listaEmpresasCodValor = listaEmpresas.map(e => ({codigo: e.Codigo, valor: e.Valor}));\r\n\r\n const contenido = (\r\n (estado === 0) ?\r\n
\r\n

Iniciando...

\r\n
\r\n :(estado === 1) ?\r\n
\r\n

Buscando información...

\r\n
\r\n :(estado === 2) ?\r\n
e.preventDefault()}>\r\n

\r\n Empresa colaboradora:\r\n \r\n \r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n :(estado === 3) ?\r\n
\r\n

Guardando datos...

\r\n
\r\n :\r\n
\r\n

Este paso no está implementado

\r\n
\r\n );\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default AddEmpresa;\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport AddEmpresa from \"./AddEmpresa\";\r\n\r\nconst RecuperaPassword0 = (props) => {\r\n\r\n const [mensaje, setMensaje] = useState('');\r\n const [usuario, setUsuario] = useState('');\r\n const [dirCorreo, setDirCorreo] = useState('');\r\n const [alto, setAlto] = useState('230px');\r\n const [estado, setEstado] = useState(0);\r\n\r\n const siguiente = () =>{\r\n if (estado === 0)\r\n compruebaUsuario();\r\n else if (estado === 2)\r\n enviaCorreoUsuario(); \r\n else if (estado === 3)\r\n props.alCerrar(); \r\n }\r\n\r\n const compruebaUsuario = () =>{\r\n if (usuario != \"\"){\r\n BP2022Service.checkUser(usuario)\r\n .then((response) => {\r\n if (response.data && response.data.Ok){\r\n setEstado(2);\r\n setDirCorreo(response.data.DirCorreo);\r\n setMensaje('');\r\n }\r\n else{\r\n setEstado(1);\r\n setMensaje(response.data.Mensaje)\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setEstado(1);\r\n setMensaje(error.message);\r\n });\r\n }\r\n else{\r\n setMensaje('Debe indicar un nombre de usuario');\r\n }\r\n }\r\n\r\n const enviaCorreoUsuario = () =>{\r\n if (usuario != \"\"){\r\n BP2022Service.enviaCorreoRecPass(usuario)\r\n .then((response) => {\r\n if (response.data && response.data.Ok){\r\n setEstado(3);\r\n setMensaje('Se ha enviado un correo electrónico para realizar el cambio de contraseña. Consulte su buzón y siga las instrucciones');\r\n }\r\n else{\r\n setEstado(2);\r\n setMensaje(response.data.Mensaje)\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setEstado(2);\r\n setMensaje(error.message);\r\n });\r\n }\r\n else{\r\n setMensaje('Debe indicar un nombre de usuario');\r\n }\r\n }\r\n\r\n useEffect (() =>{\r\n },[]);\r\n\r\n\r\n const CambiaUsuario = (s) => {\r\n setMensaje('');\r\n setUsuario(s);\r\n };\r\n\r\n var newalto;\r\n var txtBoton = \"Siguiente\";\r\n var titulo = \"Recuperación de contraseña\";\r\n switch (estado){\r\n case 0:\r\n newalto = '300px';\r\n break;\r\n case 1:\r\n newalto = '230px';\r\n break;\r\n case 2:\r\n newalto = '500px';\r\n break;\r\n case 3:\r\n newalto = '230px';\r\n txtBoton = 'Cerrar';\r\n break;\r\n }\r\n if (alto != newalto)\r\n setAlto(newalto);\r\n \r\n const contenido = \r\n
e.preventDefault()} autocomplete=\"off\" >\r\n {(estado === 0) ?\r\n
\r\n {(mensaje) && (mensaje !== \"\") ? \r\n

{mensaje}

\r\n :\r\n <> \r\n }\r\n

\r\n Nombre de usuario:\r\n

\r\n
\r\n
\r\n
\r\n CambiaUsuario(e.target.value)} \r\n placeholder=\"Introduzca el nombre de usuario\" />\r\n
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n :(estado == 1) ?\r\n
\r\n {(mensaje) && (mensaje !== \"\") ? \r\n

{mensaje}

\r\n :\r\n <> \r\n }\r\n

\r\n Para continuar con el proceso puede contactar con el Consejo General.\r\n

\r\n
\r\n :(estado == 2) ?\r\n
\r\n

\r\n Le enviaremos un correo electrónico a la cuenta de correo que tiene configurada en BOT PLUS, en el que le indicaremos las instrucciones\r\n a seguir para recuperar la contraseña.\r\n

\r\n

\r\n En el caso de que no llegase dicho correo, compruebe que no estuviera en la carpeta de correo no deseado.\r\n

\r\n

\r\n Este correo se enviará a la siguiente dirección:\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n

\r\n Si tuviera cualquier incidencia, póngase en contacto con el Consejo General.\r\n

\r\n
\r\n :(estado === 3) ? \r\n
\r\n {(mensaje) && (mensaje !== \"\") ? \r\n

{mensaje}

\r\n :\r\n <> \r\n }\r\n
\r\n :\r\n <>\r\n }\r\n {((estado === 0) || (estado === 2) || (estado === 3))?\r\n
\r\n \r\n
\r\n :\r\n <>\r\n }\r\n
\r\n\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default RecuperaPassword0;\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport AuthService from \"../../services/auth.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport AddEmpresa from \"./AddEmpresa\";\r\nimport {createBrowserHistory} from 'history';\r\n\r\nconst RecuperaPassword2 = (props) => {\r\n\r\n const [mensaje, setMensaje] = useState('Leyendo datos...');\r\n const [alto, setAlto] = useState('230px');\r\n const [estado, setEstado] = useState(0);\r\n const [user, setUser] = useState('');\r\n const [newPassword, setNewPassword] = useState('');\r\n const [confPassword, setConfPassword] = useState('');\r\n const [link, setLink] = useState(props.link)\r\n\r\n const siguiente = () =>{\r\n if (estado === 2)\r\n cambiaPassword();\r\n else if (estado === 4)\r\n props.alCerrar();\r\n else if (estado === 5){\r\n props.alCerrar();\r\n /*const history = createBrowserHistory();\r\n history.push(rootPath);*/\r\n }\r\n }\r\n\r\n const compruebaLink = () =>{\r\n if (link != \"\"){\r\n BP2022Service.checkLink(link)\r\n .then((response) => {\r\n if (response.data && response.data.Ok){\r\n var localUser = AuthService.getLocalUser()\r\n if (props.esCambioPass && localUser && localUser.botPlusUser && localUser.botPlusUser.Username && localUser.botPlusUser.Username.toLowerCase() !== response.data.DirCorreo.toLowerCase()){\r\n setEstado(1);\r\n setMensaje('El usuario con el que ha iniciado sesión no se corresponde con el usuario que solicitó el cambio de contraseña. Inicie sesión con el usuario adecuado.')\r\n }else{\r\n setUser(response.data.DirCorreo);\r\n setEstado(2);\r\n setMensaje('');\r\n }\r\n }\r\n else{\r\n setEstado(1);\r\n setMensaje(response.data.Mensaje)\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setEstado(1);\r\n setMensaje(error.message);\r\n });\r\n }\r\n else{\r\n setMensaje('La URL no está completa');\r\n }\r\n }\r\n\r\n const cambiaPassword = () =>{\r\n if (link != \"\"){\r\n if (newPassword != \"\"){\r\n if (validatePassword(newPassword)){\r\n if (newPassword === confPassword){\r\n setEstado(3);\r\n setMensaje('Enviando datos...')\r\n BP2022Service.setPasswordLink(link, newPassword)\r\n .then((response) => {\r\n if (response.data){\r\n if (response.data.Exito){\r\n setEstado(5);\r\n setMensaje('Contraseña cambiada correctamente');\r\n }else{\r\n setEstado(2);\r\n setMensaje(response.data.Mensaje);\r\n }\r\n }else{\r\n setEstado(2);\r\n setMensaje('No se ha podido cambiar la contraseña.')\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n });\r\n }\r\n else{\r\n setMensaje('La nueva contraseña y su confirmación no coinciden')\r\n }\r\n }\r\n else{\r\n setMensaje('La nueva contraseña no cumple las especificaciones')\r\n }\r\n }\r\n else{\r\n setMensaje('La contraseña no puede ser vacia')\r\n }\r\n }\r\n else{\r\n setMensaje('La URL no está completa');\r\n }\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0)\r\n compruebaLink();\r\n },[]);\r\n\r\n\r\n const CambiaNewPassword = (s) => {\r\n setMensaje(\"\");\r\n setNewPassword(s);\r\n };\r\n\r\n const CambiaConfirmacion = (s) => {\r\n setMensaje(\"\");\r\n setConfPassword(s);\r\n };\r\n\r\n const validatePassword = (str) => {\r\n //var re = /^(?=.*\\d)(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z]).{8,}$/;\r\n var re = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/;\r\n return re.test(str); \r\n };\r\n\r\n var newalto;\r\n var txtBoton = \"Siguiente\";\r\n var titulo = \"Recuperación de contraseña\";\r\n if (props.esCambioPass){\r\n titulo = \"Cambio de contraseña\"\r\n }\r\n switch (estado){\r\n case 0:\r\n newalto = '230px';\r\n break;\r\n case 1:\r\n newalto = '230px';\r\n break;\r\n case 2:\r\n newalto = '550px';\r\n break;\r\n case 3:\r\n newalto = '230px';\r\n break;\r\n case 4:\r\n newalto = '230px';\r\n txtBoton= \"Cerrar\";\r\n break;\r\n case 5:\r\n newalto = '230px';\r\n txtBoton= \"Cerrar\";\r\n break;\r\n }\r\n if (alto != newalto)\r\n setAlto(newalto);\r\n \r\n const contenido = \r\n
e.preventDefault()} autocomplete=\"off\" >\r\n {(estado === 0)||(estado === 3)||(estado === 4)||(estado === 5) ? \r\n
\r\n {(mensaje) && (mensaje !== \"\") ? \r\n

{mensaje}

\r\n :\r\n <> \r\n }\r\n
\r\n :(estado == 1) ?\r\n
\r\n {(mensaje) && (mensaje !== \"\") ? \r\n

{mensaje}

\r\n :\r\n <> \r\n }\r\n
\r\n :(estado == 2) ?\r\n
\r\n {(mensaje) && (mensaje !== \"\") ? \r\n

{mensaje}

\r\n :\r\n <> \r\n }\r\n

\r\n Usuario:\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n

\r\n \r\n La nueva contraseña debe tener una longitud mínima de 8 caracteres y debe contener al menos una mayúscula, una minúscula y un dígito\r\n \r\n

\r\n

\r\n Nueva contraseña:\r\n

\r\n
\r\n
\r\n
\r\n CambiaNewPassword(e.target.value)} \r\n placeholder=\"Introduzca la nueva contraseña\" autocomplete=\"new-password\"/>\r\n
\r\n
\r\n
\r\n
\r\n

\r\n

\r\n Confirmación nueva contraseña:\r\n

\r\n
\r\n
\r\n
\r\n {e.preventDefault(); return false;}} \r\n onChange={ e => CambiaConfirmacion(e.target.value)} \r\n placeholder=\"Confirme la nueva contraseña\" autocomplete=\"new-password\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n :\r\n <>\r\n }\r\n {((estado === 2) || (estado === 4) || (estado === 5))?\r\n
\r\n \r\n
\r\n :\r\n <>\r\n }\r\n
\r\n\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default RecuperaPassword2;\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport AuthService from \"../../services/auth.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport AddEmpresa from \"./AddEmpresa\";\r\nimport {createBrowserHistory} from 'history';\r\n\r\nconst RecuperaCorreo2 = (props) => {\r\n\r\n const [mensaje, setMensaje] = useState('Leyendo datos...');\r\n const [alto, setAlto] = useState('230px');\r\n const [estado, setEstado] = useState(0);\r\n const [user, setUser] = useState('');\r\n const [newCorreo, setNewCorreo] = useState('');\r\n const [confirmaCorreo, setConfirmaCorreo] = useState('');\r\n const [link, setLink] = useState(props.link)\r\n const [opt1, setOpt1] = useState(false);\r\n const [opt2, setOpt2] = useState(false);\r\n\r\n const estiloCheckBox = {\r\n height: '16px',\r\n }\r\n\r\n const siguiente = () =>{\r\n if (estado === 2)\r\n cambiaCorreo();\r\n else if (estado === 4)\r\n props.alCerrar();\r\n else if (estado === 5){\r\n props.alCerrar();\r\n /*const history = createBrowserHistory();\r\n history.push(rootPath);*/\r\n }\r\n }\r\n\r\n const compruebaLink = () =>{\r\n if (link != \"\"){\r\n BP2022Service.checkLinkCC(link)\r\n .then((response) => {\r\n if (response.data && response.data.Ok){\r\n var localUser = AuthService.getLocalUser()\r\n if (props.esCambioMail && localUser && localUser.botPlusUser && localUser.botPlusUser.Username && localUser.botPlusUser.Username.toLowerCase() !== response.data.DirCorreo.toLowerCase()){\r\n setEstado(1);\r\n setMensaje('El usuario con el que ha iniciado sesión no se corresponde con el usuario que solicitó el cambio de correo. Inicie sesión con el usuario adecuado.')\r\n }else{\r\n setUser(response.data.DirCorreo);\r\n setEstado(2);\r\n setMensaje('');\r\n }\r\n }\r\n else{\r\n setEstado(1);\r\n setMensaje(response.data.Mensaje)\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setEstado(1);\r\n setMensaje(error.message);\r\n });\r\n }\r\n else{\r\n setMensaje('La URL no está completa');\r\n }\r\n }\r\n\r\n const cambiaCorreo = () =>{\r\n if (link != \"\"){\r\n if (newCorreo != \"\"){\r\n if (validateEmail(newCorreo)){\r\n if (newCorreo === confirmaCorreo){\r\n if (opt1){\r\n setEstado(3);\r\n setMensaje('Enviando datos...')\r\n BP2022Service.setCorreoLink(link, newCorreo, opt2)\r\n .then((response) => {\r\n if (response.data){\r\n if (response.data.Exito){\r\n setEstado(5);\r\n setMensaje('Dirección de correo cambiada correctamente');\r\n }else{\r\n setEstado(2);\r\n setMensaje(response.data.Mensaje);\r\n }\r\n }else{\r\n setEstado(2);\r\n setMensaje('No se ha podido cambiar la dirección de correo.')\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n });\r\n }\r\n else{\r\n setMensaje('Debe aceptar el uso de su correo electónico para la gestión de Bot Plus')\r\n }\r\n }\r\n else{\r\n setMensaje('La nueva dirección de correo y su confirmación no coinciden')\r\n }\r\n }\r\n else{\r\n setMensaje('La nueva dirección de correo no es correcta')\r\n }\r\n }\r\n else{\r\n setMensaje('La dirección de correo no puede ser vacia')\r\n }\r\n }\r\n else{\r\n setMensaje('La URL no está completa');\r\n }\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0)\r\n compruebaLink();\r\n },[]);\r\n\r\n\r\n const CambiaNewCorreo = (s) => {\r\n setMensaje(\"\");\r\n setNewCorreo(s);\r\n };\r\n\r\n const CambiaConfirmaCorreo = (s) => {\r\n setMensaje(\"\");\r\n setConfirmaCorreo(s);\r\n };\r\n\r\n const cambiaOpt1 = (checked) =>{\r\n setOpt1(checked);\r\n }\r\n\r\n const cambiaOpt2 = (checked) =>{\r\n setOpt2(checked);\r\n }\r\n\r\n\r\n const validateEmail = (email) => {\r\n return String(email)\r\n .toLowerCase()\r\n .match(\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|.(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n );\r\n };\r\n\r\n\r\n\r\n var newalto;\r\n var txtBoton = \"Siguiente\";\r\n var titulo = \"Cambio de dirección de correo\";\r\n\r\n switch (estado){\r\n case 0:\r\n newalto = '230px';\r\n break;\r\n case 1:\r\n newalto = '230px';\r\n break;\r\n case 2:\r\n newalto = '720px';\r\n break;\r\n case 3:\r\n newalto = '230px';\r\n break;\r\n case 4:\r\n newalto = '230px';\r\n txtBoton= \"Cerrar\";\r\n break;\r\n case 5:\r\n newalto = '230px';\r\n txtBoton= \"Cerrar\";\r\n break;\r\n }\r\n if (alto != newalto)\r\n setAlto(newalto);\r\n \r\n const contenido = \r\n
e.preventDefault()} autocomplete=\"off\" >\r\n {(estado === 0)||(estado === 3)||(estado === 4)||(estado === 5) ? \r\n
\r\n {(mensaje) && (mensaje !== \"\") ? \r\n

{mensaje}

\r\n :\r\n <> \r\n }\r\n
\r\n :(estado == 1) ?\r\n
\r\n {(mensaje) && (mensaje !== \"\") ? \r\n

{mensaje}

\r\n :\r\n <> \r\n }\r\n
\r\n :(estado == 2) ?\r\n
\r\n {(mensaje) && (mensaje !== \"\") ? \r\n

{mensaje}

\r\n :\r\n <> \r\n }\r\n

\r\n Usuario:\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n

\r\n Correo eletrónico:\r\n

\r\n
\r\n
\r\n
\r\n CambiaNewCorreo(e.target.value)} \r\n placeholder=\"Introduzca la nueva dirección de correo electrónico\" autocomplete=\"new-password\"/>\r\n
\r\n
\r\n
\r\n
\r\n

\r\n

\r\n Confirmación correo eletrónico:\r\n

\r\n
\r\n
\r\n
\r\n CambiaConfirmaCorreo(e.target.value)} \r\n placeholder=\"Confirme la nueva dirección de correo electrónico\" autocomplete=\"new-password\"/>\r\n
\r\n
\r\n
\r\n
\r\n

\r\n

\r\n \r\n

\r\n

\r\n Asimismo, solicitamos su consentimiento expreso para el envío de comunicaciones \r\n electrónicas relativas a los servicios y productos que ofrecemos e información \r\n que pueda resultar de su interés rellenando previamente su correo electrónico y \r\n marcando la siguiente casilla \r\n

\r\n

\r\n \r\n

\r\n
\r\n :\r\n <>\r\n }\r\n {((estado === 2) || (estado === 4) || (estado === 5))?\r\n
\r\n \r\n
\r\n :\r\n <>\r\n }\r\n
\r\n\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default RecuperaCorreo2;\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport AuthService from \"../../services/auth.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport AddEmpresa from \"./AddEmpresa\";\r\nimport {createBrowserHistory} from 'history';\r\n\r\nconst ConfirmaCorreo2 = (props) => {\r\n\r\n const [mensaje, setMensaje] = useState('');\r\n const [alto, setAlto] = useState('230px');\r\n const [estado, setEstado] = useState(-1);\r\n const [user, setUser] = useState('');\r\n const [link, setLink] = useState(props.link)\r\n\r\n const estiloCheckBox = {\r\n height: '16px',\r\n }\r\n\r\n const siguiente = () =>{\r\n if (estado === 1)\r\n props.alCerrar();\r\n else if (estado === 2){\r\n props.alCerrar();\r\n /*const history = createBrowserHistory();\r\n history.push(rootPath);*/\r\n }\r\n }\r\n\r\n const compruebaLink = () =>{\r\n if (link != \"\"){\r\n setEstado(0);\r\n setMensaje('Leyendo datos...');\r\n BP2022Service.checkLinkCheckC(link)\r\n .then((response) => {\r\n if (response.data && response.data.Ok){\r\n var localUser = AuthService.getLocalUser()\r\n if (props.esConfirmaMail && localUser && localUser.botPlusUser && localUser.botPlusUser.Username && localUser.botPlusUser.Username.toLowerCase() !== response.data.DirCorreo.toLowerCase()){\r\n setEstado(1);\r\n setMensaje('El usuario con el que ha iniciado sesión no se corresponde con el usuario que solicitó el cambio de correo. Inicie sesión con el usuario adecuado.')\r\n }else{\r\n setUser(response.data.DirCorreo);\r\n setEstado(2);\r\n setMensaje('La dirección de correo se ha validado correctamente');\r\n }\r\n }\r\n else{\r\n setEstado(1);\r\n setMensaje(response.data.Mensaje)\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setEstado(1);\r\n setMensaje(error.message);\r\n });\r\n }\r\n else{\r\n setMensaje('La URL no está completa');\r\n }\r\n }\r\n\r\n\r\n useEffect (() =>{\r\n if (estado===-1)\r\n compruebaLink();\r\n },[]);\r\n\r\n\r\n var newalto;\r\n var txtBoton = \"Cerrar\";\r\n var titulo = \"Confirmación correo electrónico\";\r\n\r\n switch (estado){\r\n case 0:\r\n newalto = '230px';\r\n break;\r\n case 1:\r\n newalto = '230px';\r\n break;\r\n case 2:\r\n newalto = '230px';\r\n break;\r\n }\r\n if (alto != newalto)\r\n setAlto(newalto);\r\n \r\n const contenido = \r\n
e.preventDefault()} autocomplete=\"off\" >\r\n {(estado === 0)||(estado === 1)||(estado === 2) ? \r\n
\r\n {(mensaje) && (mensaje !== \"\") ? \r\n

{mensaje}

\r\n :\r\n <> \r\n }\r\n
\r\n :\r\n <>\r\n }\r\n {((estado === 1) || (estado === 2))?\r\n
\r\n \r\n
\r\n :\r\n <>\r\n }\r\n
\r\n\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default ConfirmaCorreo2;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport AuthService from \"../services/auth.service\";\r\nimport { rootPath } from \"../services/utils\";\r\nimport Emergente from \"./Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport Recupera from \"./Recupera/Recupera\";\r\nimport RecuperaPassword0 from \"./Configuarcion/RecuperaPassword0\";\r\nimport RecuperaPassword2 from \"./Configuarcion/RecuperaPassword2\";\r\nimport CambioCorreo2 from \"./Configuarcion/CambiaCorreo2\";\r\nimport ConfirmaCorreo2 from \"./Configuarcion/ConfirmaCorreo2\";\r\n\r\nconst required = (value) => { \r\n if (!value) {\r\n return (\r\n
\r\n This field is required!\r\n
\r\n );\r\n }\r\n };\r\n \r\n const Login = (props) => {\r\n \r\n const [username, setUsername] = useState(\"\");\r\n const [password, setPassword] = useState(\"\");\r\n const [mantActiva, setMantActiva] = useState(false);\r\n const [cerrarAnt, setCerrarAnte] = useState(false);\r\n const [status, setStatus] = useState(props.status);\r\n //const [loading, setLoading] = useState(false);\r\n const [mensaje, setMensaje] = useState(props.mensaje);\r\n const [isHelpActive, setHelpActive] = useState(\"false\");\r\n const [verRecupera, setVerRecupera] = useState(false);\r\n const [verLinkRecupera, setVerLinkRecupera] = useState(false);\r\n const [verRecupera2, setVerRecupera2] = useState(props.recupera);\r\n const [verCambioPass2, setVerCambioPass2] = useState(props.cambiopass);\r\n const [verCambioCorreo2, setVerCambioCorreo2] = useState(props.cambiomail);\r\n const [verConfirmaCorreo2, setVerConfirmaCorreo2] = useState(props.confirmamail);\r\n const [link, setLink] = useState(props.link);\r\n\r\n useEffect (() =>{\r\n AuthService.moduloCambioPassAnonimo()\r\n .then((response) => {\r\n setVerLinkRecupera(response.data);\r\n });\r\n },[]);\r\n\r\n \r\n const onChangeUsername = (e) => {\r\n const username = e.target.value;\r\n setUsername(username);\r\n };\r\n \r\n const onChangePassword = (e) => {\r\n const password = e.target.value;\r\n setPassword(password);\r\n };\r\n\r\n const onChangeMantActiva = (e) => {\r\n const chk = e.target.checked;\r\n setMantActiva(chk);\r\n };\r\n \r\n const onChangeCerrarAnt = (e) => {\r\n const chk = e.target.checked;\r\n setCerrarAnte(chk);\r\n };\r\n \r\n \r\n const handleHelpToggle = () => {\r\n setHelpActive(!isHelpActive);\r\n };\r\n\r\n const muestraRecupera = () =>{\r\n setVerRecupera(true);\r\n }\r\n \r\n const ocultaRecupera = () =>{\r\n setVerRecupera(false);\r\n }\r\n \r\n const muestraRecupera2 = () =>{\r\n setVerRecupera2(true);\r\n }\r\n \r\n const ocultaRecupera2 = () =>{\r\n setVerRecupera2(false);\r\n setVerCambioPass2(false);\r\n }\r\n \r\n const muestraCambioCorreo2 = () =>{\r\n setVerCambioCorreo2(true);\r\n }\r\n \r\n const ocultaCambioCorreo2 = () =>{\r\n setVerCambioCorreo2(false);\r\n }\r\n \r\n const muestraConfirmaCorreo2 = () =>{\r\n setVerConfirmaCorreo2(true);\r\n }\r\n \r\n const ocultaConfirmaCorreo2 = () =>{\r\n setVerConfirmaCorreo2(false);\r\n }\r\n \r\n const handleLogin = (e) => {\r\n AuthService.login(username, password, cerrarAnt, mantActiva).then(\r\n (response) => {\r\n //props.history.push(\"/Inicio\");\r\n if (response.Status === 0){\r\n window.location.reload();\r\n }\r\n else{\r\n setMensaje (response.Mensaje);\r\n if (response.Info)\r\n console.log(response.Info);\r\n }\r\n setStatus(response.Status);\r\n },\r\n (error) => {\r\n const resMessage =\r\n (error.response &&\r\n error.response.data &&\r\n error.response.data.message) ||\r\n error.message ||\r\n error.toString();\r\n setMensaje(\"Error de red\");\r\n setStatus(-1);\r\n //setLoading(false);\r\n //setMessage(resMessage);\r\n }\r\n );\r\n };\r\n\r\n const estiloCheckBox = {\r\n height: '16px',\r\n }\r\n \r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n {verRecupera ?\r\n \r\n :(verRecupera2 || verCambioPass2) ?\r\n \r\n :(verCambioCorreo2) ?\r\n \r\n :(verConfirmaCorreo2) ?\r\n \r\n :\r\n <>\r\n }\r\n
\r\n
e.preventDefault()}>\r\n
\r\n

Acceso usuarios

\r\n
\r\n

Bienvenido/a a BOT PLUS. Por favor, introduce tus datos para acceder.

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {(status!==0) ?\r\n
\r\n

\r\n \r\n {mensaje}\r\n

\r\n
\r\n :\r\n
\r\n }\r\n
\r\n

\r\n \r\n

\r\n
\r\n {(status===1) ?\r\n
\r\n

\r\n \r\n

\r\n
\r\n :\r\n
\r\n }\r\n
\r\n AYUDA\r\n
\r\n {(verLinkRecupera)?\r\n
\r\n
muestraRecupera()} style={{marginTop:'12px', cursor:'pointer' }}>¿Ha olvidado su contraseña?
\r\n \r\n
\r\n :\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n

Ayuda

\r\n
\r\n
\r\n
\r\n

¿Cómo puedo acceder a BOT PLUS?

\r\n
\r\n
\r\n

El acceso a BOT PLUS requiere de la suscripción anual al producto. En caso de que usted sea suscriptor de BOT PLUS o de la Colección CONSEJO, \r\n introduzca el usuario y contraseña que se le remite en el correo de confirmación de su pedido.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

En caso de no disponer ya de dicho correo, o bien en caso de olvido de la clave, puede recuperarla introduciendo en el siguiente cuadro \r\n su DNI / CIF y el número de factura o pedido.\r\n

\r\n
\r\n

En caso de que no pudiera recuperar la clave, contacte con el Consejo General de Colegios Oficiales de Farmacéuticos.\r\n

\r\n
\r\n \r\n {/*
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n

¿Puedo acceder a BOT PLUS con mi usuario y clave de Farmaceuticos.com?

\r\n
\r\n
\r\n

No. La clave de acceso a Farmaceuticos.com es diferente que la de BOT PLUS.

\r\n
\r\n

No obstante, los farmacéuticos colegiados pueden acceder de forma gratuita aunque limitada a los contenidos de BOT PLUS. \r\n Para ello, deben registrarse en Farmaceuticos.com: \r\n

\r\n
\r\n \"\"\r\n

Y acceder a \"Mi Zona de Usuario\": \r\n

\r\n
\r\n \"\"\r\n

\r\n A continuación, deberán hacer clic en la opción de herramientas. \r\n

\r\n \"\"\r\n

\r\n En esta opción encontrará un acceso gratuito a BOT PLUS web.\r\n

\r\n \"\"\r\n
\r\n
\r\n
\r\n

¿Cambia la clave de BOT PLUS?

\r\n
\r\n
\r\n

La suscripción a BOT PLUS permite acceder a la herramienta durante el año de vigencia de la licencia.

\r\n
\r\n

En el caso de farmacéuticos suscriptores permanentes de BOT PLUS, podrán seguir usando la misma clave todos los años sin necesidad de cambiarla.

\r\n
\r\n
\r\n
\r\n

¿Desde cuántos dispositivos puedo acceder a BOT PLUS?

\r\n
\r\n
\r\n

BOT PLUS es un programa on-line que permite la consulta de la información recogida en la base de datos. \r\n Puede acceder a BOT PLUS desde cualquier dispositivo electrónico, incluyendo pc, Tablet o smartphone.\r\n

\r\n
\r\n

La suscripción a BOT PLUS le permite un acceso concurrente, por lo que en caso de que su sesión \r\n estuviera abierta en otro dispositivo, la propia herramienta le avisará de que debe cerrar la anterior sesión antes de entrar con el nuevo dispositivo.\r\n

\r\n
\r\n
\r\n
\r\n

¿Dónde puedo consultar en caso de tener dudas sobre BOT PLUS?

\r\n
\r\n
\r\n

En caso de necesitar contactar con el Consejo General de Colegios Oficiales de Farmacéuticos, podrá hacerlo a través de los siguientes medios:\r\n

\r\n
\r\n

Teléfono: 914312689

\r\n

Correo electrónico: congral@redfarma.org

\r\n
\r\n
\r\n
\r\n Cerrar\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n };\r\n \r\n export default Login;","import { rootPath } from \"../../services/utils\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport packageJson from '../../../package.json';\r\nimport { useEffect, useState } from \"react\";\r\nimport Tippy from '@tippyjs/react';\r\nimport 'tippy.js/dist/tippy.css';\r\nimport 'tippy.js/themes/botplustt.css';\r\n\r\nconst LogoCabecera = (props) => {\r\n\r\n const frontVersion = {Version : packageJson.version, Dateversion : packageJson.dateversion, Serial : packageJson.serial};\r\n const [backVersion, setBackVersion] = useState(null);\r\n\r\n useEffect(() => {\r\n if (!backVersion)\r\n {\r\n ConsultaBackVersion();\r\n }\r\n },[]);\r\n\r\n const ConsultaBackVersion = () => {\r\n BP2022Service.getBackVersion()\r\n .then((response) => {\r\n setBackVersion(response.data)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n })\r\n };\r\n\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n Versión del front end: {frontVersion.Version}.{frontVersion.Dateversion}.{frontVersion.Serial}\r\n
\r\n {\r\n (backVersion)?\r\n
\r\n Versión del back end: {backVersion.Version}.{backVersion.Dateversion}.{backVersion.Serial}\r\n
\r\n\r\n :<>\r\n }\r\n \r\n }\r\n >\r\n \"logoHeader2\" CambiaPaginaSimple(\"Inicio\")} style={{cursor:'pointer'}}/>\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LogoCabecera;\r\n","import {AddClassNameToClassItems\r\n , GetAntecesorWhithClassName\r\n , GetIndexFromIndexedClass\r\n , RemoveClassNameToClassItems} from '../../../services/utils.js'\r\n\r\nconst ItemMenuPrincipalGris = (props) => {\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n\r\n const HandleHover_OpcionMenunGris = (e, hayclick, param) =>{\r\n if ((document.documentElement.clientWidth > 959) || hayclick)\r\n {\r\n RemoveClassNameToClassItems('child__menu1',null,'active');\r\n RemoveClassNameToClassItems('child__menu2',null,'active');\r\n RemoveClassNameToClassItems('nenuChilds',null,'active');\r\n RemoveClassNameToClassItems('coverToggleMenu','historial','active');\r\n RemoveClassNameToClassItems('list__1',null,'displayblock');\r\n AddClassNameToClassItems('list__1',null,'displaynone');\r\n\r\n if (param===\"BHistorialUsuario\"){\r\n AddClassNameToClassItems('historial__content__1', null, 'active');\r\n }\r\n else{\r\n //AddClassNameToClassItems('historial__content__1', null, 'active');\r\n AddClassNameToClassItems('coverToggleMenu','historial', 'active');\r\n }\r\n\r\n }\r\n }\r\n \r\n const HandleClick_OpcionMenunGris = (e, param, AlClick) =>{\r\n if (param !== \"Historial\")\r\n AlClick(param);\r\n else{\r\n //RemoveClassNameToClassItems('coverToggleMenu','historial', 'active');\r\n HandleHover_OpcionMenunGris(e,true,param);\r\n AddClassNameToClassItems('backItem__3',null, 'active');\r\n if (document.documentElement.clientWidth <= 959) {\r\n AddClassNameToClassItems('historial',null, 'active');\r\n }\r\n }\r\n }\r\n\r\n const miCursor = (props.item.parametro===\"Historial\" ? 'default' : 'pointer');\r\n\r\n\r\n return (\r\n
  • \r\n HandleClick_OpcionMenunGris(e,props.item.parametro, props.item.alHacerClick)} \r\n onMouseOver={(e) => HandleHover_OpcionMenunGris(e,false,props.item.parametro)} \r\n >\r\n \r\n {props.item.titulo}\r\n \r\n {props.item.titulo}\r\n \r\n
  • \r\n )\r\n}\r\nexport default ItemMenuPrincipalGris;\r\n","import ItemMenuPrincipalGris from \"./ItemMenuPrincipalGris\";\r\n\r\nconst MenuPrincipalGris = (props) => {\r\n const itemsMenu = props.opcionesMenu.map(item => )\r\n\r\n return (\r\n
      \r\n {itemsMenu}\r\n
    \r\n )\r\n}\r\nexport default MenuPrincipalGris;\r\n","import {AddClassNameToClassItems\r\n , GetAntecesorWhithClassName\r\n , GetIndexFromIndexedClass\r\n , RemoveClassNameToClassItems} from '../../../services/utils.js'\r\n\r\nconst ItemMenuPrincipalMorado = (props) => {\r\n const clasesItemA = \"menu__1_item menu__1_item__\" + props.idx.toString();\r\n \r\n const HandleHover_OpcionMenunMoradaNivel1 = (e, hayclick) =>{\r\n if ((document.documentElement.clientWidth > 959) || hayclick)\r\n {\r\n const numItems = 5;\r\n const itemMenu = GetAntecesorWhithClassName(e.target,'menu__1_item');\r\n const idx = GetIndexFromIndexedClass(itemMenu,'menu__1_item__',numItems);\r\n const namechild = \"child__\" + idx.toString();\r\n var i;\r\n for (i = 1; i<=numItems; i++)\r\n {\r\n var namechildtmp = \"child__\" + i.toString();\r\n if (namechild != namechildtmp){\r\n RemoveClassNameToClassItems(namechildtmp,null,'active');\r\n RemoveClassNameToClassItems(namechildtmp,null,'displayblock');\r\n AddClassNameToClassItems(namechildtmp,null,'displaynone');\r\n }\r\n else{\r\n AddClassNameToClassItems(namechildtmp,null, 'active');\r\n RemoveClassNameToClassItems(namechildtmp,null,'displaynone');\r\n AddClassNameToClassItems(namechildtmp,null,'displayblock');\r\n }\r\n }\r\n AddClassNameToClassItems('nenuChilds',null, 'active');\r\n AddClassNameToClassItems('coverToggleMenu','historial', 'active');\r\n RemoveClassNameToClassItems('child__menu2',null,'active');\r\n }\r\n }\r\n \r\n const HandleClick_OpcionMenunMoradaNivel1 = (e) =>{\r\n HandleHover_OpcionMenunMoradaNivel1(e,true);\r\n AddClassNameToClassItems('coverMenuHistorial',null, 'active');\r\n AddClassNameToClassItems('backItem__1',null, 'active');\r\n RemoveClassNameToClassItems('backItem__2',null, 'active');\r\n RemoveClassNameToClassItems('historial',null, 'active');\r\n }\r\n \r\n\r\n return (\r\n
  • \r\n HandleClick_OpcionMenunMoradaNivel1(e)} \r\n onMouseOver={(e) => HandleHover_OpcionMenunMoradaNivel1(e,false)} \r\n title={props.item} >\r\n {props.item}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n )\r\n}\r\nexport default ItemMenuPrincipalMorado;\r\n","import ItemMenuPrincipalMorado from './ItemMenuPrincipalMorado.js';\r\n\r\n\r\nconst MenuPrincipalMorado = (props) => {\r\n\r\n const seccionesMenu = props.opcionesMenu.map(item => )\r\n return (\r\n
      \r\n {seccionesMenu}\r\n
    \r\n )\r\n}\r\nexport default MenuPrincipalMorado;\r\n","\r\nimport BP2022Service from \"./user.service\";\r\nimport { rootPath } from \"./utils\";\r\n\r\nexport function getDatosFormulario(tipoForm, id){\r\n var res = {}\r\n \r\n if (tipoForm === \"FBLaboratorioMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BLaboratoriosMUH\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getLaboratorios,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Laboratorio\",\r\n placeholder : \"Escriba nombre laboratorio\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBLaboratorioMUV\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"V\",\r\n busqueda : \"BLaboratoriosMUV\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getLaboratorios,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Laboratorio\",\r\n placeholder : \"Escriba nombre laboratorio\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBLaboratorioPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"P\",\r\n busqueda : \"BLaboratoriosPPF\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getLaboratorios,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Laboratorio\",\r\n placeholder : \"Escriba nombre laboratorio\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAgrupHomoMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BAgrupHomoMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getAgrupaciones,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Agrupación homogénea\",\r\n placeholder : \"Escriba el código o nombre de la agrupación\",\r\n valorNulo : '',\r\n aux : 'N',\r\n ancho : true,\r\n tipoFiltradoLista : 1,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAgrupHomoPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"P\",\r\n busqueda : \"BAgrupHomoPPF\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getAgrupaciones,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Agrupación homogénea nacional\",\r\n placeholder : \"Escriba el código o nombre de la agrupación\",\r\n valorNulo : '',\r\n aux : 'N',\r\n ancho : true,\r\n tipoFiltradoLista : 1,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAgrupHomoAutoMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BAgrupHomoAutoMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getAgrupaciones,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Agrupación homogénea\",\r\n placeholder : \"Escriba el código o nombre de la agrupación\",\r\n valorNulo : '',\r\n aux : 'S',\r\n ancho : true,\r\n tipoFiltradoLista : 1,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAgrupHomoAutoPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"P\",\r\n busqueda : \"BAgrupHomoAutoPPF\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getAgrupaciones,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Agrupación homogénea\",\r\n placeholder : \"Escriba el código o nombre de la agrupación\",\r\n valorNulo : '',\r\n aux : 'S',\r\n ancho : true,\r\n tipoFiltradoLista : 1,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTVMPPMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BGTVMPPMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getArbolGruposVMPP,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Descripción clínica AEMPS\",\r\n placeholder : \"Escriba el nombre de un principio activo\",\r\n valorNulo : '',\r\n aux : '',\r\n ancho : true,\r\n tipoFiltradoLista : 0,\r\n ocultaCodigo: true,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTVMPP2MUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BGTVMPPMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getGruposVMPP,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Descripción clínica AEMPS\",\r\n placeholder : \"Escriba el nombre de un principio activo\",\r\n valorNulo : '',\r\n aux : '',\r\n ancho : true,\r\n tipoFiltradoLista : 0,\r\n ocultaCodigo: true,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBFormaFarmaMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BFormasFarmaMUH\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getFormasFarma,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Forma farmacéutica\",\r\n placeholder : \"Escriba la forma farmacéutica\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBFormaFarmaMUV\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"V\",\r\n busqueda : \"BFormasFarmaMUV\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getFormasFarma,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Forma farmacéutica\",\r\n placeholder : \"Escriba la forma farmacéutica\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBFormaFarmaPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"P\",\r\n busqueda : \"BFormasFarmaPPF\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getFormasFarma,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Forma farmacéutica\",\r\n placeholder : \"Escriba la forma farmacéutica\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n tipoFiltradoLista: 10,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAFMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BAFsMUH\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getActividades,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Actividad farmacológica\",\r\n placeholder : \"Escriba la actividad farmacológica\",\r\n valorNulo : 0,\r\n aux : 'AF',\r\n esIdStr : false,\r\n }\r\n }\r\n \r\n if (tipoForm === \"FBAFMUV\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"V\",\r\n busqueda : \"BAFsMUV\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getActividades,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Actividad farmacológica\",\r\n placeholder : \"Escriba la actividad farmacológica\",\r\n valorNulo : 0,\r\n aux : 'AF',\r\n esIdStr : false,\r\n }\r\n }\r\n \r\n if (tipoForm === \"FBAMMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BAMsMUH\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getActividades,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Capacidad inductora / inhibidora enzimática\",\r\n placeholder : \"Escriba el nombre del enzima metabolizador o proteína transportadora\",\r\n valorNulo : 0,\r\n aux : 'AM',\r\n esIdStr : false,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBActPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"P\",\r\n busqueda : \"BActsPPF\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getActividades,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Actividad\",\r\n placeholder : \"Escriba la actividad\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBAnalisisMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BAnalisisMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getAnalisis,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Análisis clínico\",\r\n placeholder : \"Indique un análisis clínico\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBFarmacogeneticaMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BFarmacogeneticaMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getBiomarcadores,\r\n idSelect : \"Select__\" + tipoForm,\r\n tituloSelect : \"Biomarcador\",\r\n placeholder : \"Indique un biomarcador\",\r\n valorNulo : 0,\r\n aux : '',\r\n esIdStr : false,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTATCMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BGTsATCMUH\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getGruposATC,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Grupo terapéutico ATC\",\r\n placeholder : \"Escriba el código o nombre del grupo\" ,\r\n valorNulo : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTATCMUV\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"V\",\r\n busqueda : \"BGTsATCMUV\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getGruposATC,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Grupo terapéutico ATC\",\r\n placeholder : \"Escriba el código o nombre del grupo\" ,\r\n valorNulo : '',\r\n aux : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTConPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"p\",\r\n busqueda : \"BGTsConPPF\",\r\n seleccionados : id,\r\n descarga : BP2022Service.getGruposCon,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Grupo categorización Consejo\",\r\n placeholder : \"Escriba el código o nombre de la categoría\",\r\n valorNulo : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTSanPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"p\",\r\n busqueda : \"BGTSanPPF\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getGruposSan,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Grupo clasificación Nomenclátor\",\r\n placeholder : \"Escriba el código o nombre del grupo\",\r\n valorNulo : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n /*\r\n if (tipoForm === \"FBGTVMPPMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BGTVMPPMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getGruposVMPP,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Descripción clínica AEMPS\",\r\n placeholder : \"Escriba el nombre de un principio activo\",\r\n valorNulo : '',\r\n aux : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n ocultaCodigo: true,\r\n esIdStr : true,\r\n }\r\n }\r\n */\r\n return res;\r\n}\r\n\r\n\r\nexport const OpcionesDG = [\r\n {\r\n cod: 'EST',\r\n tit: 'Estado autorización',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: '0'\r\n },\r\n {\r\n tit: 'Suspendido',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Anulado',\r\n val: '2'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'COM',\r\n tit: 'Comercializado',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDGPF = [\r\n {\r\n cod: 'EST',\r\n tit: 'Estado',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Alta',\r\n val: '0'\r\n },\r\n {\r\n tit: 'Suspendido',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Baja',\r\n val: '2'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'COM',\r\n tit: 'Comercializado',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDGPA = [\r\n {\r\n cod: 'EST',\r\n tit: 'Estado autorización',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: '0'\r\n },\r\n {\r\n tit: 'Suspendido',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Anulado',\r\n val: '2'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'COM',\r\n tit: 'Comercializado',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PSI',\r\n tit: 'Psicotropo',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DRG',\r\n tit: 'Estupefaciente',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDISP = [\r\n {\r\n cod: 'R',\r\n tit: 'Receta',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'D',\r\n tit: 'Dispensable en farmacia
    comunitaria',\r\n tip: 'SNX',\r\n },\r\n /*{\r\n cod: 'F',\r\n tit: 'Financiado en farmacia comunitaria',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Financiado',\r\n val: 'INSNS'\r\n },\r\n {\r\n tit: 'Excluido',\r\n val: 'EXO'\r\n },\r\n {\r\n tit: 'No financiado',\r\n val: 'NOF'\r\n },\r\n ],\r\n },*/\r\n {\r\n cod: 'F',\r\n tit: 'Financiado en farmacia
    comunitaria',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'EXO',\r\n tit: 'Excluido',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'EXOI',\r\n tit: 'Excluido con indicaciones
    financiadas',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'S',\r\n tit: 'Sustituible',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'A',\r\n tit: 'Aportación',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Reducida',\r\n val: 'AR'\r\n },\r\n {\r\n tit: 'Normal',\r\n val: 'AN'\r\n },\r\n {\r\n tit: 'Reducida en HFH',\r\n val: 'HFH'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'V',\r\n tit: 'Visado',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Sí',\r\n val: 'V'\r\n },\r\n {\r\n tit: 'Sólo para > 75',\r\n val: 'M75'\r\n },\r\n {\r\n tit: 'No',\r\n val: 'NV'\r\n },\r\n {\r\n tit: 'Validación mutualidades',\r\n val: 'VM'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'TLD',\r\n tit: 'Tratamiento larga duración',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'H',\r\n tit: 'Uso hospitalario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DH',\r\n tit: 'Diagnóstico hospitalario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DIHSC',\r\n tit: 'Reserva singular
    financiado hospital',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'VERIF',\r\n tit: 'Dispositivo seguridad',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'RGIE',\r\n tit: 'Con receta, en guía
    de enfermería',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PN',\r\n tit: 'Precio notificado',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LR',\r\n tit: 'Anotación libro recetario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LE',\r\n tit: 'Anotación libro
    estupefacientes',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDISPPPF = [\r\n {\r\n cod: 'R',\r\n tit: 'Receta',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'F',\r\n tit: 'Financiado',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'A',\r\n tit: 'Aportación',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Reducida',\r\n val: 'AR'\r\n },\r\n {\r\n tit: 'Normal',\r\n val: 'AN'\r\n },\r\n {\r\n tit: 'Nula',\r\n val: 'ANUL'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'V',\r\n tit: 'Visado',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesCON = [\r\n {\r\n cod: 'FR',\r\n tit: 'Nevera',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'CO',\r\n tit: 'Congelador',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LUZ',\r\n tit: 'Proteger de luz',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T25',\r\n tit: 'Conservar a 25ºC',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T30',\r\n tit: 'Conservar a 30ºC',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesPAC = [\r\n {\r\n cod: 'EMB',\r\n tit: 'Embarazo',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: 'A'\r\n },\r\n {\r\n tit: 'Precaución',\r\n val: 'P'\r\n },\r\n {\r\n tit: 'No recomendado',\r\n val: 'C'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'LAC',\r\n tit: 'Lactancia',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: 'A'\r\n },\r\n {\r\n tit: 'Precaución',\r\n val: 'P'\r\n },\r\n {\r\n tit: 'No recomendado',\r\n val: 'C'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nexport const OpcionesADM = [\r\n {\r\n cod: 'DG',\r\n tit: 'Fraccionable',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'ALM',\r\n tit: 'Administración con alimentos',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Con alimentos',\r\n val: 'CA'\r\n },\r\n {\r\n tit: 'En ayunas',\r\n val: 'EA'\r\n },\r\n {\r\n tit: 'Indiferente',\r\n val: 'IN'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'SPD',\r\n tit: 'Acondicionable en SPD',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesESP = [\r\n {\r\n cod: 'O',\r\n tit: 'Ototóxico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'FS',\r\n tit: 'Fotosensible',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DOP',\r\n tit: 'Dopante',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'COND',\r\n tit: 'Efecto sobre conducción',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'CIT',\r\n tit: 'Citotóxico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'HD',\r\n tit: 'Hemoderivado',\r\n tip: 'SNX',\r\n },\r\n] \r\nexport const OpcionesOTR = [\r\n {\r\n cod: 'E',\r\n tit: 'Estupefaciente',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PS',\r\n tit: 'Psicotropo',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'GEN',\r\n tit: 'Genérico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PUB',\r\n tit: 'Publicitario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'EC',\r\n tit: 'Envase clínico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'IP',\r\n tit: 'Importación paralela',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'UNID',\r\n tit: 'Unidosis',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'MTP',\r\n tit: 'Tradicional plantas',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesOTRV = [\r\n {\r\n cod: 'E',\r\n tit: 'Estupefaciente',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PS',\r\n tit: 'Psicotropo',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'HSI',\r\n tit: 'Medicamento homeopático',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'IP',\r\n tit: 'Importación paralela',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDISPV = [\r\n {\r\n cod: 'R',\r\n tit: 'Receta',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'AEV',\r\n tit: 'Administración exclusiva veterinario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'ACV',\r\n tit: 'Administración control veterinario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LR',\r\n tit: 'Anotación libro recetario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LE',\r\n tit: 'Anotación libro estupefacientes',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesESPV = [\r\n {\r\n cod: 'ESVAC',\r\n tit: 'Notificación ESVAC',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesCONV = [\r\n {\r\n cod: 'FR',\r\n tit: 'Nevera',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'CO',\r\n tit: 'Congelador',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LUZ',\r\n tit: 'Proteger de luz',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T25',\r\n tit: 'Conservar a 25ºC',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T30',\r\n tit: 'Conservar a 30ºC',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesCONPF = [\r\n {\r\n cod: 'FR',\r\n tit: 'Nevera',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesPacientePI = [\r\n {\r\n cod: 'PAC',\r\n tit: 'Condiciones fisiológicas',\r\n tip: 'CHECK',\r\n ops: [\r\n {\r\n tit: 'Embarazada',\r\n val: 'EMB'\r\n },\r\n {\r\n tit: 'Deportista competición',\r\n val: 'DEP'\r\n },\r\n {\r\n tit: 'Lactancia',\r\n val: 'LAC'\r\n },\r\n {\r\n tit: 'Usuario lentes de contacto',\r\n val: 'LEN'\r\n },\r\n {\r\n tit: 'Niño',\r\n val: 'NIN'\r\n },\r\n {\r\n tit: 'Dificultad deglución',\r\n val: 'DEG'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nexport const OpcionesPacienteProductosIndi = [\r\n {\r\n cod: 'PAC',\r\n tit: 'Condiciones fisiológicas',\r\n tip: 'CHECK',\r\n ops: [\r\n {\r\n tit: 'Embarazada',\r\n val: 'EMB'\r\n },\r\n {\r\n tit: 'Lactancia',\r\n val: 'LAC'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nexport const OpcionesPatologiasPI = [\r\n {\r\n cod: 'PAT',\r\n tit: 'Otras patologías',\r\n tip: 'CHECK',\r\n ops: [\r\n {\r\n tit: 'Asma',\r\n val: '6'\r\n },\r\n {\r\n tit: 'Hipertensión',\r\n val: '2'\r\n },\r\n {\r\n tit: 'Insuf. hepática',\r\n val: '5'\r\n },\r\n {\r\n tit: 'Diabetes',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Insuf. renal',\r\n val: '4'\r\n },\r\n {\r\n tit: 'Insuf. cardíaca',\r\n val: '3'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nexport const IconosListadosPI = [\r\n {\r\n cod: 1,\r\n txt: 'Uso precautorio con alguna enfermedad declarada',\r\n img: rootPath + 'img/pacienteindicacion/EnfermedadPrecaucion.png',\r\n },\r\n {\r\n cod: 2,\r\n txt: 'Interacción de importancia moderada detectada',\r\n img: rootPath + 'img/pacienteindicacion/InteraccionPrecaucion.png',\r\n },\r\n {\r\n cod: 3,\r\n txt: 'Embarazo: consultar con el médico',\r\n img: rootPath + 'img/pacienteindicacion/EmbarazoPrecaucion.gif',\r\n },\r\n {\r\n cod: 4,\r\n txt: 'Lactancia: consultar con el médico',\r\n img: rootPath + 'img/pacienteindicacion/LactanciaPrecaucion.gif',\r\n },\r\n {\r\n cod: 5,\r\n txt: 'Niños: medicamento con limitaciones',\r\n img: rootPath + 'img/pacienteindicacion/NinosPrecaucion.png',\r\n },\r\n {\r\n cod: 6,\r\n txt: 'Niños: autorización por peso',\r\n img: rootPath + 'img/pacienteindicacion/NinosPeso.png',\r\n },\r\n {\r\n cod: 7,\r\n txt: 'No aplicar con lentes de contacto',\r\n img: rootPath + 'img/pacienteindicacion/LentesPrecaucion.gif',\r\n },\r\n {\r\n cod: 8,\r\n txt: 'No adaptado a problemas de deglución',\r\n img: rootPath + 'img/pacienteindicacion/DDeglucionNo.png',\r\n },\r\n {\r\n cod: 9,\r\n txt: 'Adaptado a problemas de deglución',\r\n img: rootPath + 'img/pacienteindicacion/DDeglucionSi.png',\r\n },\r\n]\r\n\r\nexport const filtrosInteracciones = [\r\n {\r\n idGrupo : 'GRAV',\r\n nombre : 'Gravedad',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'IdSemaforo',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Grave',\r\n value:1,\r\n otrosValores: [9],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'GRAV' && x.valor ===1) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Moderada',\r\n value:2,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'GRAV' && x.valor ===2) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Leve',\r\n value:3,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'GRAV' && x.valor ===3) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n ]\r\n },\r\n {\r\n idGrupo : 'MED',\r\n nombre : 'Medidas a tomar',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'IdMedidas',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Evitar asociación',\r\n value:0,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===0) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Vigilar al enfermo',\r\n value:1,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===1) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Espaciar administración',\r\n value:2,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===2) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Tomar medidas dietéticas',\r\n value:3,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===3) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n ]\r\n },\r\n]\r\n\r\nexport const paginasRestringidas = [\r\n \"BLaboratorioMUH\",\r\n \"BLaboratorioMUV\",\r\n \"BLaboratorioPPF\",\r\n \"BAgrupHomoAutoMUH\",\r\n \"BAgrupHomoMUH\",\r\n \"BAgrupHomoAutoPPF\",\r\n \"BAgrupHomoPPF\",\r\n \"BFormaFarmaMUH\",\r\n \"BFormaFarmaMUV\",\r\n \"BFormaFarmaPPF\",\r\n \"BAFMUH\",\r\n \"BAMMUH\",\r\n \"BActPPF\",\r\n \"BAFMUV\",\r\n \"BAnalisisMUH\",\r\n \"BFarmacogeneticaMUH\",\r\n //\"BPAMUH\",\r\n //\"BAsoMUH\",\r\n //\"BPAMUV\",\r\n //\"BAsoMUV\",\r\n //\"BIngPPF\",\r\n \"BTipoPPF\",\r\n \"BSubtipoPPF\",\r\n \"BIndicacionMUH\",\r\n \"BIndicacionMUV\",\r\n \"BContraindicacionMUH\",\r\n \"BPrecaucionMUH\",\r\n \"BReaccionAdversaMUH\",\r\n \"BGTATCMUH\",\r\n \"BGTATCMUV\",\r\n \"BGTVMPPMUH\",\r\n \"BGTConPPF\",\r\n \"BGTSanPPF\",\r\n \"BFormMagistralMUH\",\r\n \"BMedEspanolesMUH\",\r\n \"BConGluten\",\r\n \"BConLactosa\",\r\n \"BSinGluten\",\r\n \"BSinLactosa\",\r\n \"BDopantesMUH\",\r\n \"BNoLentes\",\r\n \"BComparaPrecioMenorMUH\",\r\n \"BPrecioNotificadoMUH\",\r\n \"BSeguimientoAdicionalMUH\",\r\n \"BDispositivoSeguridadMUH\",\r\n \"BLibroRecetarioM\",\r\n \"BLibroEstupefacientesM\",\r\n \"BNotificacionESVACMUV\",\r\n \"BEnfermedadesPATH\",\r\n \"BEnfermedadesPATV\",\r\n \"BNoSustituiblesMUH\",\r\n \"BDeduccionesRDLMUH\",\r\n \"BCambioPrecioPrevistoMUH\",\r\n \"BSaborEdadPPF\",\r\n \"BProblemasSumMUH\",\r\n \"BAlertasCMUH\",\r\n \"BAlertasCMUV\",\r\n \"BAlertasCPPF\",\r\n \"BCambioNombre\",\r\n \"BCambioLaboratorio\",\r\n \"BCambioPrecioMUH\",\r\n \"BDesfinanciadosMUH\",\r\n \"BMedicamentosPSUltimoMes\",\r\n \"BExtranjerosEXT\",\r\n \"BEspecieIndicacionMUV\",\r\n \"BReaccionesAdversasMUH\",\r\n \"BComposicionMUH\",\r\n \"BComposicionMUV\",\r\n \"BComposicionPPF\",\r\n \"BPacienteIndicacionMUH\",\r\n \"BFormaColorMUH\",\r\n \"BAvanzadaMUH\",\r\n \"BAvanzadaMUV\",\r\n \"BAvanzadaPAH\",\r\n \"BAvanzadaPPF\",\r\n \"EditaBuscadores\",\r\n \"FBLaboratorioMUH\",\r\n \"FBLaboratorioMUV\",\r\n \"FBLaboratorioPPF\",\r\n \"FBAgrupHomoAutoMUH\",\r\n \"FBAgrupHomoMUH\",\r\n \"FBAgrupHomoAutoPPF\",\r\n \"FBAgrupHomoPPF\",\r\n \"FBFormaFarmaMUH\",\r\n \"FBFormaFarmaMUV\",\r\n \"FBFormaFarmaPPF\",\r\n \"FBAFMUH\",\r\n \"FBAMMUH\",\r\n \"FBActPPF\",\r\n \"FBAFMUV\",\r\n \"FBAnalisisMUH\",\r\n \"FBFarmacogeneticaMUH\",\r\n \"FBGTATCMUH\",\r\n \"FBGTATCMUV\",\r\n \"FBGTVMPPMUH\",\r\n \"FBGTConPPF\",\r\n \"FBGTSanPPF\", \r\n \"FBSaborEdadPPF\",\r\n \"FBEspecieIndicacionMUV\",\r\n \"FBProblemasSumMUH\",\r\n \"FBAlertasCMUH\",\r\n \"FBAlertasCMUV\",\r\n \"FBAlertasCPPF\",\r\n \"FBReaccionesAdversasMUH\",\r\n \"FBComposicionMUH\",\r\n \"FBComposicionMUV\",\r\n \"FBComposicionPPF\",\r\n \"FBPacienteIndicacionMUH\",\r\n \"FBFormaColorMUH\", \r\n \"FBAvanzadaMUH\",\r\n \"FBAvanzadaMUV\",\r\n \"FBAvanzadaPAH\",\r\n \"FBAvanzadaPPF\",\r\n \"FBExtranjerosEXT\",\r\n \"FBCambioNombre\",\r\n \"FBCambioLaboratorio\",\r\n \"FBCambioPrecioMUH\",\r\n \"FBDesfinanciadosMUH\",\r\n \"BInteraccionesMUH\",\r\n \"BInteraccionesPPF\",\r\n \"BMedsHomeoMUH\",\r\n \"BProductosIndicacionPPF\",\r\n \"FBMedsHomeoMUH\",\r\n \"FBProductosIndicacionPPF\",\r\n \"BComparaPrecioMasBajoMUH\"\r\n]\r\n\r\nexport const paginasRestringidasEST = [\r\n //\"BLaboratorioMUH\",\r\n \"BLaboratorioMUV\",\r\n \"BLaboratorioPPF\",\r\n \"BAgrupHomoAutoMUH\",\r\n \"BAgrupHomoMUH\",\r\n \"BAgrupHomoAutoPPF\",\r\n \"BAgrupHomoPPF\",\r\n //\"BFormaFarmaMUH\",\r\n \"BFormaFarmaMUV\",\r\n \"BFormaFarmaPPF\",\r\n //\"BAFMUH\",\r\n //\"BAMMUH\",\r\n \"BActPPF\",\r\n \"BAFMUV\",\r\n //\"BAnalisisMUH\",\r\n //\"BFarmacogeneticaMUH\",\r\n //\"BPAMUH\",\r\n //\"BAsoMUH\",\r\n \"BPAMUV\",\r\n \"BAsoMUV\",\r\n \"BIngPPF\",\r\n \"BTipoPPF\",\r\n \"BSubtipoPPF\",\r\n //\"BIndicacionMUH\",\r\n \"BIndicacionMUV\",\r\n //\"BContraindicacionMUH\",\r\n //\"BPrecaucionMUH\",\r\n //\"BReaccionAdversaMUH\",\r\n //\"BGTATCMUH\",\r\n \"BGTATCMUV\",\r\n //\"BGTVMPPMUH\",\r\n \"BGTConPPF\",\r\n \"BGTSanPPF\",\r\n \"BFormMagistralMUH\",\r\n //\"BMedEspanolesMUH\",\r\n //\"BConGluten\",\r\n //\"BConLactosa\",\r\n //\"BSinGluten\",\r\n //\"BSinLactosa\",\r\n //\"BDopantesMUH\",\r\n //\"BNoLentes\",\r\n \"BComparaPrecioMenorMUH\",\r\n \"BPrecioNotificadoMUH\",\r\n \"BSeguimientoAdicionalMUH\",\r\n \"BDispositivoSeguridadMUH\",\r\n \"BLibroRecetarioM\",\r\n \"BLibroEstupefacientesM\",\r\n \"BNotificacionESVACMUV\",\r\n //\"BEnfermedadesPATH\",\r\n \"BEnfermedadesPATV\",\r\n \"BNoSustituiblesMUH\",\r\n \"BDeduccionesRDLMUH\",\r\n \"BCambioPrecioPrevistoMUH\",\r\n \"BSaborEdadPPF\",\r\n \"BProblemasSumMUH\",\r\n \"BAlertasCMUH\",\r\n \"BAlertasCMUV\",\r\n \"BAlertasCPPF\",\r\n \"BCambioNombre\",\r\n \"BCambioLaboratorio\",\r\n \"BCambioPrecioMUH\",\r\n \"BDesfinanciadosMUH\",\r\n \"BMedicamentosPSUltimoMes\",\r\n //\"BExtranjerosEXT\",\r\n \"BEspecieIndicacionMUV\",\r\n //\"BReaccionesAdversasMUH\",\r\n //\"BComposicionMUH\",\r\n \"BComposicionMUV\",\r\n \"BComposicionPPF\",\r\n //\"BPacienteIndicacionMUH\",\r\n //\"BFormaColorMUH\",\r\n \"BAvanzadaMUH\",\r\n \"BAvanzadaMUV\",\r\n //\"BAvanzadaPAH\",\r\n \"BAvanzadaPPF\",\r\n //\"EditaBuscadores\",\r\n //\"FBLaboratorioMUH\",\r\n \"FBLaboratorioMUV\",\r\n \"FBLaboratorioPPF\",\r\n \"FBAgrupHomoAutoMUH\",\r\n \"FBAgrupHomoMUH\",\r\n \"FBAgrupHomoAutoPPF\",\r\n \"FBAgrupHomoPPF\",\r\n //\"FBFormaFarmaMUH\",\r\n \"FBFormaFarmaMUV\",\r\n \"FBFormaFarmaPPF\",\r\n //\"FBAFMUH\",\r\n //\"FBAMMUH\",\r\n \"FBActPPF\",\r\n \"FBAFMUV\",\r\n //\"FBAnalisisMUH\",\r\n //\"FBFarmacogeneticaMUH\",\r\n //\"FBGTATCMUH\",\r\n \"FBGTATCMUV\",\r\n //\"FBGTVMPPMUH\",\r\n \"FBGTConPPF\",\r\n \"FBGTSanPPF\", \r\n \"FBSaborEdadPPF\",\r\n \"FBEspecieIndicacionMUV\",\r\n \"FBProblemasSumMUH\",\r\n \"FBAlertasCMUH\",\r\n \"FBAlertasCMUV\",\r\n \"FBAlertasCPPF\",\r\n //\"FBReaccionesAdversasMUH\",\r\n //\"FBComposicionMUH\",\r\n \"FBComposicionMUV\",\r\n \"FBComposicionPPF\",\r\n //\"FBPacienteIndicacionMUH\",\r\n //\"FBFormaColorMUH\", \r\n \"FBAvanzadaMUH\",\r\n \"FBAvanzadaMUV\",\r\n //\"FBAvanzadaPAH\",\r\n \"FBAvanzadaPPF\",\r\n //\"FBExtranjerosEXT\",\r\n \"FBCambioNombre\",\r\n \"FBCambioLaboratorio\",\r\n \"FBCambioPrecioMUH\",\r\n \"FBDesfinanciadosMUH\",\r\n //\"BInteraccionesMUH\",\r\n \"BInteraccionesPPF\",\r\n \"BMedsHomeoMUH\",\r\n \"BProductosIndicacionPPF\",\r\n \"FBMedsHomeoMUH\",\r\n \"FBProductosIndicacionPPF\",\r\n \"BComparaPrecioMasBajoMUH\"\r\n]\r\n\r\nexport const paginasRestringidasINS = [\r\n //\"BLaboratorioMUH\",\r\n \"BLaboratorioMUV\",\r\n //\"BLaboratorioPPF\",\r\n \"BAgrupHomoAutoMUH\",\r\n \"BAgrupHomoMUH\",\r\n \"BAgrupHomoAutoPPF\",\r\n \"BAgrupHomoPPF\",\r\n //\"BFormaFarmaMUH\",\r\n \"BFormaFarmaMUV\",\r\n //\"BFormaFarmaPPF\",\r\n //\"BAFMUH\",\r\n //\"BAMMUH\",\r\n //\"BActPPF\",\r\n \"BAFMUV\",\r\n //\"BAnalisisMUH\",\r\n //\"BFarmacogeneticaMUH\",\r\n //\"BPAMUH\",\r\n //\"BAsoMUH\",\r\n \"BPAMUV\",\r\n \"BAsoMUV\",\r\n //\"BIngPPF\",\r\n //\"BTipoPPF\",\r\n //\"BSubtipoPPF\",\r\n //\"BIndicacionMUH\",\r\n \"BIndicacionMUV\",\r\n //\"BContraindicacionMUH\",\r\n //\"BPrecaucionMUH\",\r\n //\"BReaccionAdversaMUH\",\r\n //\"BGTATCMUH\",\r\n \"BGTATCMUV\",\r\n //\"BGTVMPPMUH\",\r\n //\"BGTConPPF\",\r\n \"BGTSanPPF\",\r\n \"BFormMagistralMUH\",\r\n //\"BMedEspanolesMUH\",\r\n //\"BConGluten\",\r\n //\"BConLactosa\",\r\n //\"BSinGluten\",\r\n //\"BSinLactosa\",\r\n //\"BDopantesMUH\",\r\n //\"BNoLentes\",\r\n \"BComparaPrecioMenorMUH\",\r\n \"BPrecioNotificadoMUH\",\r\n \"BSeguimientoAdicionalMUH\",\r\n \"BDispositivoSeguridadMUH\",\r\n \"BLibroRecetarioM\",\r\n \"BLibroEstupefacientesM\",\r\n \"BNotificacionESVACMUV\",\r\n //\"BEnfermedadesPATH\",\r\n \"BEnfermedadesPATV\",\r\n \"BNoSustituiblesMUH\",\r\n \"BDeduccionesRDLMUH\",\r\n \"BCambioPrecioPrevistoMUH\",\r\n //\"BSaborEdadPPF\",\r\n \"BProblemasSumMUH\",\r\n \"BAlertasCMUH\",\r\n \"BAlertasCMUV\",\r\n \"BAlertasCPPF\",\r\n \"BCambioNombre\",\r\n \"BCambioLaboratorio\",\r\n \"BCambioPrecioMUH\",\r\n \"BDesfinanciadosMUH\",\r\n \"BMedicamentosPSUltimoMes\",\r\n //\"BExtranjerosEXT\",\r\n \"BEspecieIndicacionMUV\",\r\n //\"BReaccionesAdversasMUH\",\r\n //\"BComposicionMUH\",\r\n \"BComposicionMUV\",\r\n //\"BComposicionPPF\",\r\n //\"BPacienteIndicacionMUH\",\r\n //\"BFormaColorMUH\",\r\n \"BAvanzadaMUH\",\r\n \"BAvanzadaMUV\",\r\n //\"BAvanzadaPAH\",\r\n \"BAvanzadaPPF\",\r\n //\"EditaBuscadores\",\r\n //\"FBLaboratorioMUH\",\r\n \"FBLaboratorioMUV\",\r\n //\"FBLaboratorioPPF\",\r\n \"FBAgrupHomoAutoMUH\",\r\n \"FBAgrupHomoMUH\",\r\n \"FBAgrupHomoAutoPPF\",\r\n \"FBAgrupHomoPPF\",\r\n //\"FBFormaFarmaMUH\",\r\n \"FBFormaFarmaMUV\",\r\n //\"FBFormaFarmaPPF\",\r\n //\"FBAFMUH\",\r\n //\"FBAMMUH\",\r\n //\"FBActPPF\",\r\n \"FBAFMUV\",\r\n //\"FBAnalisisMUH\",\r\n //\"FBFarmacogeneticaMUH\",\r\n //\"FBGTATCMUH\",\r\n \"FBGTATCMUV\",\r\n //\"FBGTVMPPMUH\",\r\n //\"FBGTConPPF\",\r\n \"FBGTSanPPF\", \r\n //\"FBSaborEdadPPF\",\r\n \"FBEspecieIndicacionMUV\",\r\n \"FBProblemasSumMUH\",\r\n \"FBAlertasCMUH\",\r\n \"FBAlertasCMUV\",\r\n \"FBAlertasCPPF\",\r\n //\"FBReaccionesAdversasMUH\",\r\n //\"FBComposicionMUH\",\r\n \"FBComposicionMUV\",\r\n //\"FBComposicionPPF\",\r\n //\"FBPacienteIndicacionMUH\",\r\n //\"FBFormaColorMUH\", \r\n \"FBAvanzadaMUH\",\r\n \"FBAvanzadaMUV\",\r\n //\"FBAvanzadaPAH\",\r\n \"FBAvanzadaPPF\",\r\n //\"FBExtranjerosEXT\",\r\n \"FBCambioNombre\",\r\n \"FBCambioLaboratorio\",\r\n \"FBCambioPrecioMUH\",\r\n \"FBDesfinanciadosMUH\",\r\n //\"BInteraccionesMUH\",\r\n //\"BInteraccionesPPF\",\r\n \"BMedsHomeoMUH\",\r\n //\"BProductosIndicacionPPF\",\r\n \"FBMedsHomeoMUH\",\r\n //\"FBProductosIndicacionPPF\",\r\n \"BComparaPrecioMasBajoMUH\"\r\n]\r\n\r\nexport const seccionesFichaRestringidasEST = [\r\n \"PSUM\",\r\n \"HIST\",\r\n \"ALER\",\r\n \"CMED\"\r\n]\r\n\r\nexport function validaAccesoPorRol(pagina, rol) {\r\n var res = true;\r\n if (rol === \"COL\"){\r\n if (paginasRestringidas.includes(pagina)){\r\n res = false;\r\n }\r\n }else if (rol === \"EST\"){\r\n if (paginasRestringidasEST.includes(pagina)){\r\n res = false;\r\n }\r\n }else if (rol === \"INS\"){\r\n if (paginasRestringidasINS.includes(pagina)){\r\n res = false;\r\n }\r\n }\r\n return res;\r\n}\r\n","import { validaAccesoPorRol } from '../../../services/objsAplicacion.js';\r\nimport {AddClassNameToClassItems\r\n , GetAntecesorWhithClassName\r\n , GetIndexFromIndexedClass\r\n , RemoveClassNameToClassItems} from '../../../services/utils.js'\r\n\r\n\r\nconst ItemMenuSecundarioMorado = (props) => {\r\n\r\n const HandleHover_OpcionMenunMoradaNivel2 = (e, hayclick) =>{\r\n if ((document.documentElement.clientWidth > 959) || hayclick)\r\n {\r\n const numPadres = 5;\r\n const numItems = 14;\r\n const itemMenuPadre = GetAntecesorWhithClassName(e.target, 'child__menu1');\r\n if (itemMenuPadre != null){\r\n const idxMenuPadre = GetIndexFromIndexedClass(itemMenuPadre,'child__',numPadres);\r\n const itemMenu = GetAntecesorWhithClassName(e.target,'menu__2_item');\r\n const idx = GetIndexFromIndexedClass(itemMenu,'menu__2_item__',numItems);\r\n const namechild = \"child__\" + idxMenuPadre.toString() + \"__\" + idx.toString();\r\n var i;\r\n for (i = 1; i<=numItems; i++)\r\n {\r\n var namechildtmp = \"child__\" + idxMenuPadre.toString() + \"__\" + i.toString();\r\n if (namechild != namechildtmp)\r\n RemoveClassNameToClassItems(namechildtmp,null,'active');\r\n else\r\n AddClassNameToClassItems(namechildtmp,null, 'active');\r\n }\r\n AddClassNameToClassItems('nenuChilds',null, 'active');\r\n AddClassNameToClassItems('coverToggleMenu','historial', 'active');\r\n }\r\n }\r\n }\r\n \r\n const HandleClick_OpcionMenunMoradaNivel2 = (e) =>{\r\n HandleHover_OpcionMenunMoradaNivel2(e,true);\r\n const numPadres = 5;\r\n const itemMenuPadre = GetAntecesorWhithClassName(e.target, 'child__menu1');\r\n const idxMenuPadre = GetIndexFromIndexedClass(itemMenuPadre,'child__',numPadres);\r\n const nameParent = \"child__\" + idxMenuPadre.toString();\r\n var i;\r\n for (i = 1; i<=numPadres; i++)\r\n {\r\n var nameparenttmp = \"child__\" + idxMenuPadre.toString();\r\n if (nameParent != nameparenttmp)\r\n RemoveClassNameToClassItems(nameparenttmp,null,'active2');\r\n else\r\n AddClassNameToClassItems(nameparenttmp,null, 'active2');\r\n }\r\n RemoveClassNameToClassItems('backItem__1',null, 'active');\r\n AddClassNameToClassItems('backItem__2',null, 'active');\r\n }\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n const tieneHijos = (props.item.subapartados != null ? true : false);\r\n const clasesItemA = \"menu__2_item menu__2_item__\" + props.idx.toString();\r\n const miCursor = (tieneHijos ? 'default' : 'pointer');\r\n\r\n const habilitado = (props.item.subapartados ? (props.item.subapartados.find(subitem => validaAccesoPorRol(subitem.pagina,props.perfil))) ? true : false : validaAccesoPorRol(props.item.pagina,props.perfil));\r\n\r\n\r\n //const estilo = (props.perfil === \"COL\") ? {cursor:'pointer', color:'#B9B9B9'} : {cursor:'pointer'}\r\n const estilo = (!habilitado) ? {cursor:'pointer', color:'#B9B9B9'} : {cursor:'pointer'}\r\n\r\n\r\n if (tieneHijos){ \r\n return (\r\n
  • \r\n HandleClick_OpcionMenunMoradaNivel2(e)} \r\n onMouseOver={(e) => HandleHover_OpcionMenunMoradaNivel2(e,false)} \r\n title={props.item.titulo} >{props.item.titulo}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n )\r\n }\r\n else {\r\n return (\r\n
  • \r\n CambiaPaginaSimple(props.item.pagina)} \r\n onMouseOver={(e) => HandleHover_OpcionMenunMoradaNivel2(e,false)} \r\n title={props.item.titulo} >{props.item.titulo}\r\n
  • \r\n )\r\n }\r\n}\r\nexport default ItemMenuSecundarioMorado;\r\n","import ItemMenuSecundarioMorado from \"./ItemMenuSecundarioMorado\"\r\n\r\nconst MenuSecundarioMorado = (props) => {\r\n const clasesItemUL = \"list list__1 list__purple child__\" + props.idx.toString() + \" child__menu1\"\r\n const items = props.lista.map(item => )\r\n return (\r\n
      \r\n {items}\r\n
    \r\n )\r\n}\r\nexport default MenuSecundarioMorado;\r\n","import { validaAccesoPorRol } from \"../../../services/objsAplicacion\";\r\n\r\nconst ItemMenuTerciarioMorado = (props) => {\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n //const estilo = (props.perfil === \"COL\") ? {cursor:'pointer', color:'#B9B9B9'} : {cursor:'pointer'}\r\n const estilo = (!validaAccesoPorRol(props.item.pagina,props.perfil)) ? {cursor:'pointer', color:'#B9B9B9'} : {cursor:'pointer'}\r\n\r\n return (\r\n
  • \r\n CambiaPaginaSimple(props.item.pagina)} \r\n title={props.item.titulo} >{props.item.titulo}\r\n
  • \r\n )\r\n}\r\nexport default ItemMenuTerciarioMorado;\r\n","import ItemMenuTerciarioMorado from \"./ItemMenuTerciarioMorado\"\r\n\r\n\r\nconst MenuTerciarioMorado = (props) => {\r\n const clasesItemUL = \"list list__2 list__purple child__\"+ props.idxPadre.toString() +\"__\"+ props.idx.toString() +\" child__menu2\"; \r\n const items = props.lista.map(item => )\r\n\r\n return (\r\n
      \r\n {items}\r\n
    \r\n )\r\n}\r\nexport default MenuTerciarioMorado;\r\n","import { FormatoFechaBonito } from \"../../../services/utils\";\r\n\r\nconst ItemContenidoHistorial = (props) => {\r\n const CambiaAFicha = () => {\r\n props.cambiaPagina({\r\n newpagina: \"Ficha\"+props.item.CodTipoRegistro,\r\n newid: props.item.Id,\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {FormatoFechaBonito(props.item.FechaVisita)}\r\n

    \r\n CambiaAFicha()} \r\n style={{cursor:'pointer'}}>{props.item.NombreCompleto}\r\n

    \r\n
    \r\n

    {props.item.TipoRegistro}

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default ItemContenidoHistorial;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { rootPath } from \"../../../services/utils\";\r\nimport ItemContenidoHistorial from \"./ItemContenidoHistorial\";\r\n\r\nconst ZonaContenidoHistorial = (props) => {\r\n const listaItems = props.historial\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n const miHistorial = listaItems ? (\r\n listaItems.map(fila => )\r\n ):(\r\n
    \r\n );\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Historial de navegación

    \r\n
    \r\n
    \r\n {miHistorial}\r\n
    \r\n
    \r\n CambiaPaginaSimple('BHistorialUsuario')} >\r\n Ver más \"arrowRightWhite\"\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default ZonaContenidoHistorial;\r\n","import {AddClassNameToClassItems\r\n , RemoveClassNameToClassItems} from '../../../services/utils.js'\r\nimport MenuPrincipalGris from './MenuPrincipalGris.js';\r\nimport MenuPrincipalMorado from './MenuPrincipalMorado.js';\r\nimport MenuSecundarioMorado from './MenuSecundarioMorado.js';\r\nimport MenuTerciarioMorado from './MenuTerciarioMorado.js';\r\nimport ZonaContenidoHistorial from './ZonaContenidoHistorial.js';\r\n\r\nconst MenuHamburguesa = (props) => {\r\n\r\n const menusSecundarios = props.opcionesMenu.map(item => )\r\n\r\n var itemsMenusTerciarios = []\r\n\r\n props.opcionesMenu.forEach(seccion => {\r\n seccion.apartados.forEach(apartado => {\r\n if (apartado.subapartados != null){\r\n itemsMenusTerciarios.push({\r\n idx : seccion.apartados.indexOf(apartado) + 1,\r\n idxPadre : props.opcionesMenu.indexOf(seccion) +1,\r\n items : apartado.subapartados, \r\n })\r\n }\r\n })\r\n });\r\n\r\n const menusTerciarios = itemsMenusTerciarios.map(item => )\r\n \r\n\r\n const HandleClick_BackItem1 = (e) =>{\r\n RemoveClassNameToClassItems('backItem__1',null, 'active');\r\n RemoveClassNameToClassItems(\"child__menu1\",null, 'active');\r\n RemoveClassNameToClassItems(\"coverMenuHistorial\",null, 'active');\r\n RemoveClassNameToClassItems(\"backItem__2\",null, 'active');\r\n RemoveClassNameToClassItems(\"historial\",null, 'active');\r\n }\r\n \r\n const HandleClick_BackItem2 = (e) =>{\r\n RemoveClassNameToClassItems('backItem__2',null, 'active');\r\n var padresanteriores = document.getElementsByClassName('active2');\r\n if (padresanteriores.length>0){\r\n var padre = padresanteriores[0];\r\n padre.classList.add('active');\r\n }\r\n RemoveClassNameToClassItems(\"child__menu2\",null, 'active');\r\n RemoveClassNameToClassItems(\"child__menu1\",null, 'active2');\r\n AddClassNameToClassItems('backItem__1',null, 'active');\r\n RemoveClassNameToClassItems(\"historial\",null, 'active');\r\n }\r\n\r\n const HandleClick_BackItem3 = (e) =>{\r\n RemoveClassNameToClassItems('backItem__3',null, 'active');\r\n RemoveClassNameToClassItems(\"historial\",null, 'active');\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n HandleClick_BackItem3(e)}>\r\n <- VOLVER\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n HandleClick_BackItem1(e)}>\r\n <- VOLVER\r\n \r\n {menusSecundarios}\r\n HandleClick_BackItem2(e)}>\r\n <- VOLVER\r\n \r\n {menusTerciarios}\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default MenuHamburguesa;\r\n","import { rootPath } from \"../../services/utils\";\r\n\r\nconst LogoF = () => {\r\n return (\r\n
    \r\n \r\n \"efe\" Farmacéuticos
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default LogoF;\r\n","const ItemMenuIconos = (props) => {\r\n\r\n return (\r\n
  • \r\n props.item.alHacerClick(props.item.parametro)} > \r\n {props.item.titulo}\r\n \r\n
  • \r\n )\r\n}\r\nexport default ItemMenuIconos;\r\n","import ItemMenuIconos from \"./ItemMenuIconos\";\r\n\r\nconst MenuIconos = (props) => {\r\n const itemsMenu = props.elementosMenuIconos.map(item => )\r\n\r\n return (\r\n
    \r\n
      \r\n {itemsMenu}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default MenuIconos;\r\n","import { useState } from \"react\";\r\nimport LogoF from \"./LogoF\";\r\nimport MenuIconos from \"./MenuIconos/MenuIconos\";\r\n\r\nconst BandaMoradaZonaMenus = (props) => {\r\n const [provincia, setProvincia] = useState(props.provincia)\r\n if (provincia !== props.provincia)\r\n setProvincia(props.provincia);\r\n\r\n const textoProvincia = (provincia && provincia != \"\" ? \"Provincia de sesión: \" : \"\");\r\n\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n {textoProvincia}\r\n \r\n props.cambiaPagina({newpagina: 'Configuracion'})} style={{fontSize:'9pt', fontWeight: 450, cursor:'pointer'}}>\r\n {provincia}\r\n \r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default BandaMoradaZonaMenus;\r\n","import React, { useEffect } from \"react\";\r\n\r\nfunction Animation(props){\r\n var imgIndex = props.initIdx;\r\n var fileNameActual = props.path +'/' + props.filename + imgIndex.toString() + '.' + props.ext;\r\n const msTotal = props.t;\r\n const nImg = props.n;\r\n const interval = (nImg>1) ? msTotal/(nImg-1) : 0;\r\n var timer = null;\r\n \r\n useEffect(() => {\r\n timer = setInterval(() => {\r\n CambiaNombreImg();\r\n }, interval);\r\n },[props.refresh]);\r\n\r\n const CambiaNombreImg = () =>{\r\n if ((props.up && imgIndex<(nImg-1)) || (!props.up && imgIndex>0))\r\n {\r\n if (props.up)\r\n imgIndex++;\r\n else\r\n imgIndex--;\r\n var fin = ((props.up && imgIndex >= (nImg-1)) || (!props.up && imgIndex <= 0))\r\n if (imgIndex >= 0 || imgIndex<=(nImg-1)){\r\n if (fileNameActual != props.path +'/' + props.filename + imgIndex.toString() + '.' + props.ext){\r\n fileNameActual = props.path +'/' + props.filename + imgIndex.toString() + '.' + props.ext;\r\n document.getElementById(props.id).src = fileNameActual;\r\n } \r\n }\r\n if (fin)\r\n if (timer != null)\r\n clearInterval(timer);\r\n }\r\n else{ \r\n clearInterval(timer);\r\n }\r\n }\r\n\r\n return(\r\n \r\n )\r\n}\r\n\r\nexport default Animation;","import { validaAccesoPorRol } from \"../../../services/objsAplicacion\";\r\n\r\nconst ApartadoSimpleSeccionMenuBlanco = (props) => {\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n //const estilo = (props.perfil === \"COL\") ? {cursor:'pointer', color:'#999999'} : {cursor:'pointer'}\r\n const estilo = (!validaAccesoPorRol(props.item.pagina,props.perfil)) ? {cursor:'pointer', color:'#999999'} : {cursor:'pointer'}\r\n \r\n return (\r\n
    \r\n
    \r\n CambiaPaginaSimple(props.item.pagina)} title={props.item.titulo} >{props.item.titulo}\r\n
    \r\n
    \r\n ) \r\n}\r\nexport default ApartadoSimpleSeccionMenuBlanco;\r\n","import { validaAccesoPorRol } from \"../../../services/objsAplicacion\";\r\n\r\nconst SubapartadoSeccionMenuBlanco = (props) => {\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n //const estilo = (props.perfil === \"COL\") ? {cursor:'pointer', color:'#999999'} : {cursor:'pointer'}\r\n const estilo = (!validaAccesoPorRol(props.item.pagina,props.perfil)) ? {cursor:'pointer', color:'#999999'} : {cursor:'pointer'}\r\n\r\n\r\n return (\r\n
  • \r\n CambiaPaginaSimple(props.item.pagina)} title={props.item.titulo} >{props.item.titulo}
  • \r\n\r\n )\r\n}\r\nexport default SubapartadoSeccionMenuBlanco;\r\n","import { validaAccesoPorRol } from \"../../../services/objsAplicacion.js\";\r\nimport SubapartadoSeccionMenuBlanco from \"./SubapartadoSeccionMenuBlanco.js\";\r\n\r\nconst ApartadoMultipleSeccionMenuBlanco = (props) => {\r\n const habilitado = (props.item.subapartados ? props.item.subapartados.find(subitem => validaAccesoPorRol(subitem.pagina,props.perfil)) : false);\r\n const subapartados = props.item.subapartados ? props.item.subapartados.map(item => \r\n ) \r\n : null;\r\n\r\n //const estilo = (props.perfil === \"COL\") ? {cursor:'default', color:'#999999'} : {cursor:'default'}\r\n const estilo = (!habilitado) ? {cursor:'pointer', color:'#999999'} : {cursor:'pointer'}\r\n\r\n return (\r\n
    \r\n
    \r\n {props.item.titulo}\r\n
    \r\n
      \r\n {subapartados}\r\n
    \r\n
    \r\n ) \r\n}\r\nexport default ApartadoMultipleSeccionMenuBlanco;\r\n","import ApartadoSimpleSeccionMenuBlanco from \"./ApartadoSimpleSeccionMenuBlanco.js\";\r\nimport ApartadoMultipleSeccionMenuBlanco from \"./ApartadoMultipleSeccionMenuBlanco.js\";\r\n\r\n\r\nconst ApartadoSeccionMenuBlanco = (props) => {\r\n const tieneSubapartados = (props.item.subapartados !== null ? true : false)\r\n\r\n if (tieneSubapartados)\r\n return (\r\n \r\n )\r\n else\r\n return (\r\n \r\n ) \r\n}\r\nexport default ApartadoSeccionMenuBlanco;\r\n","import ApartadoSeccionMenuBlanco from \"./ApartadoSeccionMenuBlanco.js\";\r\n\r\nconst ColumnaSeccionMenuBlanco = (props) => {\r\n \r\n const apartados = props.item.map(item => )\r\n\r\n return (\r\n
    \r\n {apartados}\r\n
    \r\n )\r\n}\r\nexport default ColumnaSeccionMenuBlanco;\r\n","import ColumnaSeccionMenuBlanco from \"./ColumnaSeccionMenuBlanco.js\";\r\n\r\nconst SeccionMenuBlanco = (props) => {\r\n const estilo1Col = { width: '30%', left: '70%'};\r\n const estilo2Col = { width: '55%', left: '45%'};\r\n const estilo3Col = { width: '80%', left: '20%'};\r\n const estilo4Col = { width: '100%', left: '0%'};\r\n\r\n const nCol = props.item.numColumnas\r\n\r\n const estiloMenu = (nCol === 1 ? estilo1Col : nCol === 2 ? estilo2Col : nCol === 3 ? estilo3Col : estilo4Col);\r\n\r\n var itemscolumnas = []\r\n\r\n var idx=0;\r\n for (var i = 0; i )\r\n\r\n return (\r\n
  • {props.item.titulo}\r\n
    \r\n
    \r\n {columnas}\r\n
    \r\n
    \r\n
  • \r\n )\r\n}\r\nexport default SeccionMenuBlanco;\r\n\r\n","import SeccionMenuBlanco from \"./SeccionMenuBlanco\";\r\n\r\n\r\nconst MenuBlanco = (props) => {\r\n\r\n const seccionesMenu = props.elementosMenu.map(item => )\r\n\r\n return (\r\n
      \r\n {seccionesMenu}\r\n
    \r\n )\r\n}\r\nexport default MenuBlanco;\r\n","import React, { useState } from \"react\";\r\nimport BandaMoradaZonaMenus from \"./BandaMoradaZonaMenus.js\";\r\nimport Animation from \"../Utilidades/Animation.js\";\r\nimport { RemoveClassNameToClassItems, ToggleClassNameToClassItems} from '../../services/utils'\r\nimport MenuBlanco from \"./MenuBlanco/MenuBlanco.js\";\r\n\r\n\r\nconst ZonaMenus = (props) => {\r\n const [estadoMenu, setEstadoMenu] = useState(false);\r\n const [cargaInicial, setCargaInicial] = useState(true);\r\n const [refresh, doRefresh] = useState(0);\r\n var up = false;\r\n var miImgIndex = 0;\r\n const miPath='../img';\r\n const miFiename = 'MBTran';\r\n const miExt = 'png';\r\n const miT = 300;\r\n const miN = 7;\r\n var ok=true;\r\n \r\n\r\n const elem = document.getElementById('divMenuBurger');\r\n if (elem != undefined)\r\n if (elem != null)\r\n if (elem.classList.contains('active')){\r\n if (!estadoMenu){\r\n setEstadoMenu(true);\r\n ok = false;\r\n miImgIndex = miN-1;\r\n up = true;\r\n }\r\n }\r\n\r\n if (cargaInicial){\r\n miImgIndex = 0;\r\n up = false;\r\n }\r\n else if (estadoMenu){\r\n miImgIndex = 0;\r\n up = true;\r\n }\r\n else{\r\n miImgIndex = miN-1;\r\n up = false;\r\n }\r\n\r\n const handleClickMenuBurger = (e) =>{\r\n\r\n var itemMenu = document.getElementById(\"miMenuBurguer__BP2022\");\r\n var estaActivo = estadoMenu;\r\n if (itemMenu)\r\n estaActivo = itemMenu.classList.contains('active');\r\n if (cargaInicial)\r\n setCargaInicial(false);\r\n if (estaActivo){\r\n up = true;\r\n miImgIndex = 0;\r\n }\r\n else{\r\n up = false;\r\n miImgIndex = miN - 1;\r\n }\r\n e.target.classList.toggle('active');\r\n document.getElementById('divMenuBurger').classList.toggle('active');\r\n ToggleClassNameToClassItems('coverToggleMenu',null,'active');\r\n if (estaActivo){\r\n /*RemoveClassNameToClassItems('child__menu1',null, 'active');\r\n RemoveClassNameToClassItems('child__menu2',null, 'active');\r\n RemoveClassNameToClassItems('historial__content',null, 'active'); */\r\n props.cierraMenuBurguer();\r\n }\r\n\r\n doRefresh(prev => prev + 1); \r\n setEstadoMenu(!estaActivo);\r\n }\r\n\r\n \r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    handleClickMenuBurger(e)} id='divMenuBurger'>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default ZonaMenus;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport LogoCabecera from \"./LogoCabecera.js\";\r\nimport MenuHamburguesa from \"./MenuHamburquesa/MenuHamburguesa.js\";\r\nimport ZonaMenus from \"./ZonaMenus.js\";\r\nimport AuthService from \"../../services/auth.service\";\r\nimport { PerfilUsuario, rootPath } from \"../../services/utils.js\";\r\nimport BP2022Service from \"./../../services/user.service\";\r\n\r\nconst Cabecera = (props) => {\r\n\r\n const logOut = () => {\r\n console.log(\"--LogOut--\");\r\n CambiaPaginaSimple('Inicio');\r\n AuthService.logout();\r\n };\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n const OpenNewWindow = (url) => {\r\n const newWindow = window.open(url, '_blank', 'noopener,noreferrer')\r\n if (newWindow) newWindow.opener = null\r\n }\r\n\r\n\r\n const [opcionesMenu, setOpcionesMenu] = useState([\r\n {\r\n numColumnas : 4,\r\n filasPorColumna : [4,3,3,5],\r\n titulo : 'Uso humano',\r\n apartados : [\r\n {\r\n titulo : 'Búsqueda avanzada',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Medicamentos',\r\n pagina : 'FBAvanzadaMUH'\r\n },\r\n {\r\n titulo : 'Principios activos',\r\n pagina : 'FBAvanzadaPAH'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Medicamentos por composición',\r\n pagina : 'FBComposicionMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Interacciones',\r\n pagina : 'BInteraccionesMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por aspecto físico',\r\n pagina : 'FBFormaColorMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos con igual composición',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Por agrupación homogénea nacional',\r\n pagina : 'FBAgrupHomoMUH'\r\n },\r\n {\r\n titulo : 'Por agrupación homogénea autonómica',\r\n pagina : 'FBAgrupHomoAutoMUH'\r\n },\r\n {\r\n titulo : 'Por grupo terapéutico ATC',\r\n pagina : 'FBGTATCMUH'\r\n },\r\n {\r\n titulo : 'Por descripción clínica AEMPS',\r\n pagina : 'FBGTVMPPMUH'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Medicamentos por forma farmacéutica',\r\n pagina : 'FBFormaFarmaMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por laboratorio',\r\n pagina : 'FBLaboratorioMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Principios activos por actividad',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Por actividad farmacológica',\r\n pagina : 'FBAFMUH'\r\n },\r\n {\r\n titulo : 'Por capacidad inductora/inhibidora enzimática',\r\n pagina : 'FBAMMUH'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Relacionados con enfermedades',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Medicamentos para una indicación',\r\n pagina : 'FBPacienteIndicacionMUH'\r\n },\r\n {\r\n titulo : 'Búsqueda de reacciones adversas',\r\n pagina : 'FBReaccionesAdversasMUH'\r\n },\r\n {\r\n titulo : 'Interferencias con análisis clínicos',\r\n pagina : 'FBAnalisisMUH'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Por farmacogenética',\r\n pagina : 'FBFarmacogeneticaMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Problemas de suministro AEMPS',\r\n pagina : 'FBProblemasSumMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Lotes retirados por alertas de calidad',\r\n pagina : 'FBAlertasCMUH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Formulación magistral',\r\n pagina : 'BFormMagistralMUH',\r\n subapartados : null\r\n }, \r\n {\r\n titulo : 'Medicamentos homeopáticos',\r\n pagina : 'BMedsHomeoMUH',\r\n subapartados : null\r\n }, \r\n {\r\n titulo : 'Medicamentos extranjeros',\r\n pagina : 'FBExtranjerosEXT',\r\n subapartados : null\r\n }, \r\n ]\r\n },\r\n {\r\n numColumnas : 4,\r\n filasPorColumna : [2,2,2,2],\r\n titulo : 'Veterinaria',\r\n apartados : [\r\n {\r\n titulo : 'Búsqueda avanzada',\r\n pagina : 'FBAvanzadaMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por composición',\r\n pagina : 'FBComposicionMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por forma farmacéutica',\r\n pagina : 'FBFormaFarmaMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por laboratorio',\r\n pagina : 'FBLaboratorioMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Principios activos por actividad',\r\n pagina : 'FBAFMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos por grupo terapéutico ATC',\r\n pagina : 'FBGTATCMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Medicamentos indicados por especie',\r\n pagina : 'FBEspecieIndicacionMUV',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Lotes retirados por alertas de calidad',\r\n pagina : 'FBAlertasCMUV',\r\n subapartados : null\r\n },\r\n ]\r\n },\r\n {\r\n numColumnas : 4,\r\n filasPorColumna : [3,2,3,1],\r\n titulo : 'Parafarmacia',\r\n apartados : [\r\n {\r\n titulo : 'Búsqueda avanzada',\r\n pagina : 'FBAvanzadaPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Productos por composición',\r\n pagina : 'FBComposicionPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Interacciones',\r\n pagina : 'BInteraccionesPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Productos por forma farmacéutica',\r\n pagina : 'FBFormaFarmaPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Productos por laboratorio',\r\n pagina : 'FBLaboratorioPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Ingredientes cosméticos por actividad',\r\n pagina : 'FBActPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Dietoterápicos',\r\n pagina : 'FBSaborEdadPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Lotes retirados por alertas de calidad',\r\n pagina : 'FBAlertasCPPF',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Productos similares',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Por agrupación homogénea mutualidades',\r\n pagina : 'FBAgrupHomoPPF'\r\n },\r\n {\r\n titulo : 'Por agrupación homogénea autonómica',\r\n pagina : 'FBAgrupHomoAutoPPF'\r\n },\r\n {\r\n titulo : 'Por categorización del Consejo General',\r\n pagina : 'FBGTConPPF'\r\n },\r\n {\r\n titulo : 'Por clasificación Nomenclátor',\r\n pagina : 'FBGTSanPPF'\r\n },\r\n ]\r\n },\r\n ]\r\n },\r\n {\r\n numColumnas : 1,\r\n filasPorColumna : [2],\r\n titulo : 'Enfermedades',\r\n apartados : [\r\n {\r\n titulo : 'Enfermedades humanas',\r\n pagina : 'BEnfermedadesPATH',\r\n subapartados : null\r\n },\r\n {\r\n titulo : 'Enfermedades veterinarias',\r\n pagina : 'BEnfermedadesPATV',\r\n subapartados : null\r\n },\r\n ]\r\n },\r\n {\r\n numColumnas : 3,\r\n filasPorColumna : [2,1,1],\r\n titulo : 'Listados',\r\n apartados : [\r\n {\r\n titulo : 'Generales',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Productos con cambios de nombre',\r\n pagina : 'FBCambioNombre',\r\n },\r\n {\r\n titulo : 'Productos con cambios de laboratorio',\r\n pagina : 'FBCambioLaboratorio'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Advertencias',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Productos sin gluten',\r\n pagina : 'BSinGluten'\r\n },\r\n {\r\n titulo : 'Productos sin lactosa',\r\n pagina : 'BSinLactosa'\r\n },\r\n {\r\n titulo : 'Medicamentos que pueden dar positivo en dopaje',\r\n pagina : 'BDopantesMUH'\r\n },\r\n {\r\n titulo : 'Productos que no deben administrarse con lentes de contacto',\r\n pagina : 'BNoLentes'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Financiación y precios',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Productos con cambios de precio',\r\n pagina : 'FBCambioPrecioMUH'\r\n },\r\n {\r\n titulo : 'Productos con futuros cambios de precio',\r\n pagina : 'BCambioPrecioPrevistoMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos que superan el precio menor',\r\n pagina : 'BComparaPrecioMenorMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos que superan el precio más bajo',\r\n pagina : 'BComparaPrecioMasBajoMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos desfinanciados',\r\n pagina : 'FBDesfinanciadosMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos con precio notificado',\r\n pagina : 'BPrecioNotificadoMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos afectados por las deducciones del RDL 8/2010',\r\n pagina : 'BDeduccionesRDLMUH'\r\n },\r\n ]\r\n },\r\n {\r\n titulo : 'Dispensación',\r\n pagina : null,\r\n subapartados : [\r\n {\r\n titulo : 'Medicamentos no sustituibles',\r\n pagina : 'BNoSustituiblesMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos sujetos a seguimiento adicional',\r\n pagina : 'BSeguimientoAdicionalMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos obligados a llevar dispositivo de seguridad',\r\n pagina : 'BDispositivoSeguridadMUH'\r\n },\r\n {\r\n titulo : 'Medicamentos de anotación en libro recetario',\r\n pagina : 'BLibroRecetarioM'\r\n },\r\n {\r\n titulo : 'Medicamentos de anotación en libro estupefacientes',\r\n pagina : 'BLibroEstupefacientesM'\r\n },\r\n {\r\n titulo : 'Medicamentos de notificación anual por ESVAC',\r\n pagina : 'BNotificacionESVACMUV'\r\n },\r\n ]\r\n },\r\n ]\r\n },\r\n ]);\r\n\r\n if (!window.mostrarHomeopatia){\r\n opcionesMenu[0].filasPorColumna = [4,3,3,4];\r\n opcionesMenu[0].apartados.splice(opcionesMenu[0].apartados.length-2,1);\r\n }\r\n\r\n\r\n const elementosMenuIconos = [\r\n { \r\n titulo : 'Inicio',\r\n alHacerClick: CambiaPaginaSimple,\r\n imagen : rootPath + 'img/homeWhite.svg',\r\n imagenGris : rootPath + 'img/homeGrey.svg',\r\n parametro: 'Inicio' \r\n },\r\n { \r\n titulo : 'Historial',\r\n alHacerClick: CambiaPaginaSimple,\r\n imagen : rootPath + 'img/clockWhite.svg',\r\n imagenGris : rootPath + 'img/clockGrey.svg',\r\n parametro: 'BHistorialUsuario' \r\n },\r\n { \r\n titulo : 'Configuración',\r\n alHacerClick: CambiaPaginaSimple,\r\n imagen : rootPath + 'img/settingsWhite.svg', \r\n imagenGris : rootPath + 'img/settingsGrey.svg', \r\n parametro: 'Configuracion' \r\n },\r\n { \r\n titulo : 'Ayuda',\r\n //alHacerClick: OpenNewWindow,\r\n alHacerClick: CambiaPaginaSimple,\r\n imagen : rootPath + 'img/helpWhite.svg', \r\n imagenGris : rootPath + 'img/helpGrey.svg', \r\n //parametro: '/Ayuda/ManualUsoBOTPLUS2022.pdf',\r\n parametro: 'Help' \r\n },\r\n { \r\n titulo : 'Desconectar',\r\n alHacerClick: logOut,\r\n imagen : rootPath + 'img/logOutWhite.svg', \r\n imagenGris : rootPath + 'img/logOutGrey.svg', \r\n parametro: '' \r\n }, \r\n ]\r\n\r\n const perfil = PerfilUsuario();\r\n\r\n /*if (perfil === \"EST\"){\r\n elementosMenuIconos.splice(1,1);\r\n }*/\r\n\r\n useEffect(() => {\r\n BP2022Service.obtenListadosExportables()\r\n .then((response) => {\r\n var haCambiadoMenu = false;\r\n const nuevoMenu = JSON.parse(JSON.stringify(opcionesMenu));\r\n if (response.data && response.data.length>0){\r\n nuevoMenu[4].filasPorColumna = [2,1,2]\r\n nuevoMenu[4].apartados.push({\r\n titulo : 'Exportar',\r\n pagina : 'ExportaWS',\r\n subapartados : null,\r\n });\r\n haCambiadoMenu = true;\r\n }\r\n BP2022Service.moduloIndicacionesPF()\r\n .then((response) => {\r\n if (response.data){\r\n nuevoMenu[2].filasPorColumna = [3,3,3,1]\r\n nuevoMenu[2].apartados.splice(6,0,\r\n {\r\n titulo : 'Productos y complementos alimenticios',\r\n pagina : 'FBProductosIndicacionPPF',\r\n subapartados : null,\r\n });\r\n haCambiadoMenu = true;\r\n }\r\n BP2022Service.hayBuscadorCisMED()\r\n .then((response) => {\r\n if (response.data){\r\n nuevoMenu[4].apartados[3].subapartados.push(\r\n {\r\n titulo : 'Medicamentos con alerta CisMED',\r\n pagina : 'BAlertadosCismedMUH',\r\n });\r\n haCambiadoMenu = true;\r\n }\r\n if (haCambiadoMenu){\r\n setOpcionesMenu(nuevoMenu); \r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }, []);\r\n\r\n\r\n return (\r\n
    \r\n\t\t
    \r\n \r\n \r\n \r\n\t\t
    \r\n\t
    \r\n ) \r\n};\r\n\r\nexport default Cabecera\r\n\r\n","import { rootPath } from \"../../../../services/utils\";\r\n\r\nconst BusquedaPreferida = (props) => {\r\n\r\n const vesABuscador = (codigo) =>{\r\n CambiaPaginaSimple(codigo)\r\n }\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n \r\n const sourceImage = rootPath + \"img/lupa\" + props.colorLupa + \".svg\"\r\n \r\n return (\r\n
  • vesABuscador(props.item.CodigoPagina)} style={{cursor:'pointer'}}> {props.item.Titulo}
  • \r\n );\r\n};\r\n\r\nexport default BusquedaPreferida;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport BP2022Service, {GetBusquedasPreferidas} from \"../../../services/user.service\";\r\nimport { rootPath } from \"../../../services/utils\";\r\nimport BusquedaPreferida from \"../../Inicio/Principal/BFavoritas/BusquedaPreferida\";\r\n\r\n\r\nconst MisBuscadoresCabeceraResultados = (props) => {\r\n const [listaBuscadores, setListaBuscadores] = useState(null);\r\n const [estadoMenuMisBuscadores, setEstadoMenuMisBuscadores] = useState(false)\r\n\r\n useEffect(() => {\r\n descargaBuscadores();\r\n }, [])\r\n \r\n const descargaBuscadores = () => {\r\n BP2022Service.getBuscadoresPreferidos()\r\n .then((response) => {\r\n setListaBuscadores(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const handleClickMisBuscadores = (e) =>{\r\n e.target.parentElement.parentElement.classList.toggle('active');\r\n setEstadoMenuMisBuscadores(!estadoMenuMisBuscadores);\r\n }\r\n\r\n const CambiaAPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n\r\n \r\n const busquedas = listaBuscadores ? (\r\n listaBuscadores.map(fila => )\r\n ):(\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n
    handleClickMisBuscadores(e)} style={{cursor:'pointer'}}>\r\n Mis buscadores\r\n \r\n \r\n \r\n
    \r\n
    \r\n

    MIS BUSCADORES FAVORITOS

    \r\n
    \r\n
      \r\n {busquedas}\r\n
    \r\n CambiaAPaginaSimple('EditaBuscadores')}>\r\n \"pencilPink\"\r\n Editar mis buscadores\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default MisBuscadoresCabeceraResultados;\r\n","import React, { useState } from \"react\";\r\n\r\nconst VolverCabeceraResultados = (props) => {\r\n const miestilo = (props.textoVolver===\"\" ? \r\n {\r\n cursor:'pointer',\r\n visibility:'hidden'\r\n } \r\n : \r\n {\r\n cursor:'pointer'\r\n }\r\n );\r\n return (\r\n
    props.atras()} style={miestilo}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.textoVolver}\r\n
    \r\n Volver ver los resultados\r\n
    \r\n );\r\n};\r\n\r\nexport default VolverCabeceraResultados;\r\n","import MisBuscadoresCabeceraResultados from \"../Resultados/CabeceraResultados/MisBuscadoresCabeceraResultados\";\r\nimport VolverCabeceraResultados from \"../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\n\r\nconst CabeceraAyuda = (props) => {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Ayuda

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CabeceraAyuda;\r\n ","import { elementIsOfClass, rootPath } from \"../../../../../services/utils\";\r\nimport { renderToString } from 'react-dom/server'\r\nimport { useState } from \"react\";\r\n\r\nconst Acordeon = (props) => {\r\n const [completo, setCompleto] = useState(props.activo) // || renderToString(props.contenido).length<2000)\r\n var clasDiv = (props.activo ? \"accordion__module active\" : \"accordion__module\")\r\n const tipo = (props.tipo ? props.tipo : 1);\r\n var htmlTitulo = (

    {props.titulo}

    )\r\n var htmlArrow = (\"arrowGreen2\");\r\n var claseContenido = \"accordion__content\";\r\n\r\n var estiloHeader = {};\r\n if (tipo === 2){\r\n htmlTitulo =(

    {props.titulo}

    );\r\n claseContenido = \"accordion__content accordion__content__paddigLeft\";\r\n }\r\n if (tipo === 3){\r\n htmlTitulo =(

    {props.titulo}

    );\r\n claseContenido = \"accordion__content\";\r\n clasDiv += \" accordion__module__left\"\r\n }\r\n if (tipo === 4){\r\n htmlTitulo =(

    {props.titulo}

    );\r\n claseContenido = \"accordion__content \";\r\n clasDiv += \" accordion__module__left\";\r\n estiloHeader = { paddingBottom: '0px'}\r\n }\r\n\r\n const handleClickAcordeonHeader = (e) =>{\r\n var item = e.target;\r\n while (item && !elementIsOfClass(item,'accordion__header'))\r\n item = item.parentElement;\r\n if (item){\r\n item.parentElement.classList.toggle('active');\r\n var newActivo = item.parentElement.classList.contains('active');\r\n var newCompleto = newActivo; // || renderToString(props.contenido).length<2000;\r\n if (completo !== newCompleto)\r\n setCompleto(newCompleto);\r\n }\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    handleClickAcordeonHeader(e)}>\r\n {htmlArrow}\r\n
    \r\n {htmlTitulo}\r\n
    \r\n
    \r\n {(completo) ?\r\n
    \r\n {props.contenido}\r\n
    \r\n :\r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default Acordeon;\r\n","import { rootPath } from \"../../../../../services/utils\";\r\nimport Acordeon from \"../Composicion/Acordeon\";\r\n\r\nconst DocumentosDeTipo = (props) => {\r\n const grupoDocs = props.grupoDocs;\r\n const titulo = grupoDocs.Tipo;\r\n const documentos = grupoDocs.Documentos.map(doc => \r\n
  • \r\n e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'} \r\n >{doc.Titulo} \r\n
  • \r\n );\r\n const contenido = (\r\n
      \r\n {documentos}\r\n
    \r\n );\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default DocumentosDeTipo;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport { numberWithCommas } from \"../../services/utils\";\r\n\r\nconst LoadingPopup = (props) => {\r\n const claseLightbox = \"lightbox lightbox__popUp active\";\r\n\r\n const estiloSection = {\r\n opacity: 0,\r\n visibility: 'hidden', \r\n pointerEvents: 'none',\r\n }\r\n\r\n const maxItems = (props.esPorcentaje ? 100: 222935);\r\n const [miEstado, setMiEstado] = useState({\r\n numItems : 0,\r\n lastPaso : 0,\r\n paso : Math.round((maxItems)/3),\r\n fraccionRestoDelPaso: 3,\r\n })\r\n /*/const [numItems, setNumItems] = useState(0);\r\n const [lastPaso, setLastPaso] = useState(0);\r\n const [paso, setPaso] = useState(Math.round((maxItems-numItems)/3));*/\r\n\r\n var numItems = miEstado.numItems;\r\n var lastPaso = miEstado.lastPaso;\r\n var paso = miEstado.paso;\r\n var pasito = paso/20;\r\n /*if (pasito === 0)\r\n pasito = 1;*/\r\n var porcentaje = Math.round((miEstado.numItems/maxItems) * 100);\r\n \r\n\r\n useEffect(() => {\r\n var timer1s = setTimeout(() => {\r\n DaUnPaso();\r\n }, 50);\r\n });\r\n\r\n const DaUnPaso = (e) =>{\r\n numItems = numItems + pasito;\r\n var fraccionRestoDelPaso = miEstado.fraccionRestoDelPaso;\r\n if (numItems>=(lastPaso+paso)){\r\n porcentaje = Math.round((miEstado.numItems/maxItems) * 100);\r\n if ((porcentaje>70) && (fraccionRestoDelPaso<30))\r\n fraccionRestoDelPaso += 1;\r\n lastPaso = numItems;\r\n paso = Math.round((maxItems-numItems)/fraccionRestoDelPaso);\r\n }\r\n setMiEstado({\r\n numItems : numItems,\r\n lastPaso : lastPaso,\r\n paso : paso,\r\n fraccionRestoDelPaso : fraccionRestoDelPaso,\r\n })\r\n }\r\n\r\n var texto = (props.texto) ? props.texto : \"Analizando\";\r\n texto += \" \" + numberWithCommas(Math.round(miEstado.numItems))\r\n if (props.esPorcentaje){\r\n texto += \" %\";\r\n }else{\r\n texto += \" registros\";\r\n }\r\n\r\n var titulo = (props.titulo) ? props.titulo : \"Buscando\";\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {titulo}…

    \r\n

    {texto}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default LoadingPopup;\r\n/*\r\n
    \r\n
    \r\n
    \r\n

    Buscando…

    \r\n

    Analizando 219.325 archivos

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n*/","import CabeceraAyuda from \"./CabeceraAyuda\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport DocumentosDeTipo from \"../Fichas/FichaMUH/Apartados/InfoAdicional/DocumentosDeTipo\";\r\nimport { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../Resultados/Loading.Popup\";\r\nimport Acordeon from \"../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport { rootPath } from \"../../services/utils\";\r\n\r\n\r\nconst Ayuda = (props) => {\r\n const [documentosAyuda, setDocumentosAyuda] = useState(null);\r\n const [documentosFiltrados, setDocumentosFiltrados] = useState(null);\r\n const [filtroAyuda, setFiltroAyuda] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (!documentosAyuda)\r\n {\r\n DescargaDatos();\r\n } \r\n else{\r\n filtraDocumentos();\r\n }\r\n },[documentosAyuda, filtroAyuda]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.getDocumentosAyuda()\r\n .then((response) => {\r\n setDocumentosAyuda(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const onChangeTextoFiltro = (e) => { \r\n setFiltroAyuda(e.target.value);\r\n };\r\n \r\n const filtraDocumentos = () => {\r\n if (documentosAyuda){\r\n var documentosAux = JSON.parse(JSON.stringify(documentosAyuda));\r\n if (filtroAyuda && filtroAyuda !== \"\"){\r\n for (var i=0; i doc.Titulo.toLowerCase().includes(filtroAyuda.toLowerCase()));\r\n }\r\n documentosAux = documentosAux.filter(gd => gd.Documentos && gd.Documentos.length>0);\r\n }\r\n setDocumentosFiltrados(documentosAux);\r\n }\r\n }\r\n\r\n const htmlDocsAyuda = (documentosFiltrados ? documentosFiltrados.map(grupodocs => \r\n \r\n {grupodocs.Documentos.map(doc => \r\n
  • \r\n {doc.Titulo} \r\n
  • \r\n )}\r\n \r\n )}\r\n \r\n tipo = {3}\r\n />\r\n ) : <>);\r\n\r\n\r\n return ( \r\n
    \r\n \r\n
    \r\n
    \r\n { (!documentosAyuda) ?\r\n \r\n :\r\n
    e.preventDefault()} tabIndex=\"0\">\r\n
    \r\n
    \r\n onChangeTextoFiltro(e)}\r\n />\r\n \"\"\r\n
    \r\n
    \r\n
    \r\n {htmlDocsAyuda}\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Ayuda;\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport AddEmpresa from \"./AddEmpresa\";\r\n\r\nconst KeyEmpresa = (props) => {\r\n\r\n const [mensaje, setMensaje] = useState('');\r\n const [estado, setEstado] = useState(0);\r\n const [idEmpresa, setIdEmpresa] = useState(0);\r\n const [idCurrentEmpresa, setIdCurrentEmpresa] = useState(0);\r\n const [listaEmpresas, setListaEmpresas] = useState([]);\r\n const [listaColaboradoras, setListaColaboradoras] = useState([]);\r\n const [sKey, setSKey] = useState('');\r\n const [mostrarAddEmpresa, setMostrarAddEmpresa] = useState(false);\r\n const [alto, setAlto] = useState('450px');\r\n\r\n const colaboradoras = (listaColaboradoras) ? \r\n listaColaboradoras.map(emp =>\r\n
    \r\n
    \r\n
    \r\n

    {emp.Nombre}

    \r\n
    \r\n
    \r\n

    {emp.Key}

    \r\n
    \r\n
    \r\n

    quitaEmpresa(emp.IdEmpresa) }>

    \r\n
    \r\n
    \r\n
    \r\n )\r\n :\r\n <>;\r\n\r\n const getEmpresa = () =>{\r\n setEstado(1);\r\n BP2022Service.getEmpresa()\r\n .then((response) => {\r\n if (response.data){\r\n setListaEmpresas(response.data.Empresas);\r\n setIdCurrentEmpresa(response.data.IdEmpresa);\r\n setIdEmpresa(response.data.IdEmpresa);\r\n setSKey(response.data.Key);\r\n setListaColaboradoras(response.data.Colaboradoras)\r\n setAlto((response.data.Colaboradoras && response.data.Colaboradoras.length>1 ) ? (550 + ((response.data.Colaboradoras.length-1) * 50)).toString() + 'px' : (response.data.Colaboradoras && response.data.Colaboradoras.length===1 ) ? '550px' : '450px')\r\n setEstado(2);\r\n setMensaje('');\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n setEstado(2);\r\n });\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0){\r\n getEmpresa();\r\n }\r\n },[]);\r\n\r\n\r\n const setEmpresa = () =>{\r\n setEstado(3);\r\n BP2022Service.setEmpresa(idEmpresa)\r\n .then((response) => {\r\n if (response.data){\r\n setIdCurrentEmpresa(response.data.IdEmpresa);\r\n setSKey(response.data.Key);\r\n setEstado(2);\r\n setMensaje(response.data.Msg);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n setEstado(2);\r\n });\r\n }\r\n\r\n const cambiaEmpresa = (nuevoId) =>{\r\n setIdEmpresa(nuevoId);\r\n setMensaje('');\r\n }\r\n\r\n const guardaEmpresa = () =>\r\n {\r\n setEmpresa();\r\n }\r\n\r\n const copiaClaveBack = () =>\r\n {\r\n //navigator.clipboard.writeText(sKey);\r\n navigator.clipboard\r\n .writeText(sKey)\r\n .then(() => {\r\n })\r\n .catch(() => {\r\n });\r\n \r\n }\r\n\r\n const copiaClave = () => {\r\n var textArea = document.createElement(\"textarea\");\r\n textArea.style.position = 'fixed';\r\n textArea.style.top = 0;\r\n textArea.style.left = 0;\r\n \r\n textArea.style.width = '2em';\r\n textArea.style.height = '2em';\r\n \r\n textArea.style.padding = 0;\r\n textArea.style.border = 'none';\r\n textArea.style.outline = 'none';\r\n textArea.style.boxShadow = 'none';\r\n \r\n textArea.style.background = 'transparent';\r\n\r\n textArea.value = sKey;\r\n \r\n document.body.appendChild(textArea);\r\n \r\n textArea.select();\r\n \r\n try {\r\n var successful = document.execCommand('copy');\r\n var msg = successful ? 'successful' : 'unsuccessful';\r\n } catch (err) {\r\n }\r\n \r\n document.body.removeChild(textArea);\r\n \r\n }\r\n\r\n const cerrarFormAddEmpresa = () =>{\r\n setMostrarAddEmpresa(false);\r\n }\r\n \r\n const muestraFormAddEmpresa = () =>{\r\n setMostrarAddEmpresa(true);\r\n }\r\n \r\n const refrescaColaboradoras = (nuevalista) =>{\r\n setListaColaboradoras(nuevalista);\r\n setMostrarAddEmpresa(false);\r\n setAlto((nuevalista && nuevalista.length>1 ) ? (550 + ((nuevalista.length-1) * 50)).toString() + 'px' : (nuevalista && nuevalista.length===1 ) ? '550px' : '450px')\r\n }\r\n\r\n const quitaEmpresa = (idEmp) =>{\r\n BP2022Service.delEmpresa(idEmp)\r\n .then((response) => {\r\n if (response.data){\r\n refrescaColaboradoras(response.data);\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n const listaEmpresasCodValor = listaEmpresas.map(e => ({codigo: e.Codigo, valor: e.Valor}));\r\n\r\n const contenido = (\r\n (estado === 0) ?\r\n
    \r\n

    Iniciando...

    \r\n
    \r\n :(estado === 1) ?\r\n
    \r\n

    Buscando información...

    \r\n
    \r\n :(estado === 2) ?\r\n
    e.preventDefault()}>\r\n {mostrarAddEmpresa ?\r\n \r\n :\r\n <>\r\n }\r\n\r\n

    {mensaje}

    \r\n

    \r\n Empresa con permiso de actualización:\r\n \r\n \r\n \r\n

    \r\n

    \r\n KEY asignada:\r\n \r\n {(idEmpresa === idCurrentEmpresa) ? sKey : '------------'}\r\n {(idEmpresa === idCurrentEmpresa) ? copiaClave()}/> : <>}\r\n \r\n

    \r\n
    \r\n {(idEmpresa === idCurrentEmpresa) ? \r\n \r\n :\r\n \r\n }\r\n
    \r\n

    \r\n Otras empresas colaboradoras:\r\n

    \r\n {(listaColaboradoras && listaColaboradoras.length>0) ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Empresa

    \r\n
    \r\n
    \r\n

    KEY

    \r\n
    \r\n
    \r\n

     

    \r\n
    \r\n
    \r\n
    \r\n {colaboradoras}\r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n \r\n
    \r\n
    \r\n :(estado === 3) ?\r\n
    \r\n

    {mensaje}

    \r\n
    \r\n :\r\n
    \r\n

    Este paso no está implementado

    \r\n
    \r\n );\r\n\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default KeyEmpresa;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport MisBuscadoresCabeceraResultados from \"../Resultados/CabeceraResultados/MisBuscadoresCabeceraResultados\";\r\nimport VolverCabeceraResultados from \"../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\nimport KeyEmpresa from \"./KeyEmpresa\";\r\nimport BP2022AuthService from \"../../services/auth.service\";\r\n\r\n\r\nconst CabeceraConfiguracion = (props) => {\r\n const titulo = (props.titulo ? props.titulo : \"Configuración BOT PLUS\");\r\n const [tieneLicenciaBot, setTieneLicenciaBot] = useState(null);\r\n const [mostrarEmpresa, setMostrarEmpresa] = useState(false);\r\n\r\n useEffect (() =>{\r\n if (tieneLicenciaBot===null){\r\n // getTieneLicenciaBot();\r\n }\r\n },[]);\r\n\r\n const getTieneLicenciaBot = () =>{\r\n BP2022AuthService.tieneLicenciaLocal()\r\n .then((response) => {\r\n setTieneLicenciaBot(response)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n\r\n const muestraEmpresa = (valor) =>{\r\n setMostrarEmpresa(valor);\r\n }\r\n\r\n\r\n return (\r\n
    \r\n {mostrarEmpresa ?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n {\r\n (tieneLicenciaBot) ?\r\n
    muestraEmpresa(true)}>\r\n Empresa informática\r\n
    \r\n :\r\n \r\n } \r\n
    \r\n
    \r\n
    \r\n

    {titulo}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CabeceraConfiguracion;\r\n","import { useEffect } from \"react\";\r\nimport { AddClassNameToChildClassItems, AddClassNameToClassItems, buscaOptionEnSelectByValue, createElementFromHTML, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName, getSelectValues, GetSucesorWhithClassName, primerHijoConClase, RemoveClassNameToChildClassItems, RemoveClassNameToClassItems, wrap } from \"../../../services/utils\";\r\n\r\nfunction Selector(props){\r\n const id = props.id; \r\n const lista = props.lista;\r\n const valueSelected = props.valueSelected;\r\n const options = lista.map(item => (item.codigo === valueSelected ? \r\n \r\n : )\r\n );\r\n const colorTexto = (props.disabled ? {color:'#AAAAAA'} : {});\r\n\r\n const optionsDisplayed = lista.map(item => );\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n var textSelected = '';\r\n if (lista)\r\n if (lista.length>0)\r\n textSelected = lista[0].valor;\r\n for (var item of lista){\r\n if (item.codigo===valueSelected)\r\n textSelected = item.valor;\r\n }\r\n \r\n \r\n useEffect(() => {\r\n /*const select = document.getElementById(id);\r\n IniciaCustomSelect(select, id);*/\r\n }, []);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n const valor = item.getAttribute('data-value');\r\n itemContainer.classList.toggle('active');\r\n const select = GetSucesorWhithClassName(itemContainer,'custom-select');\r\n }\r\n }\r\n\r\n const ClickEnDropdownLabel = (e) =>{\r\n \tvar option = e.target;\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n var active = (elementIsOfClass(option, \"active\")) ? true : false;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var multiple = select.hasAttribute('multiple');\r\n\r\n var id_tag = select.getAttribute(\"name\") + \"-\" + value;\r\n\r\n var extra_subfield = (select.hasAttribute(\"data-show-subfield\")) ? select.getAttribute(\"data-show-subfield\") : false;\r\n\r\n var target = (select.hasAttribute(\"data-target\")) ? select.getAttribute(\"data-target\") : false;\r\n var target_label = (select.hasAttribute(\"data-target-label\")) ? select.getAttribute(\"data-target-label\") : false;\r\n\r\n //container.find('.custom-select option[value=\"' + value + '\"]').prop(\"selected\", !active);\r\n var optionWithValue = buscaOptionEnSelectByValue(select,value);\r\n if (active)\r\n optionWithValue.removeAttribute('selected');\r\n else\r\n optionWithValue.setAttribute('selected', '');\r\n\r\n if(!multiple && !target){\r\n \t//SIMPLE SELECT\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n \tcontainer.classList.remove(\"active\");\r\n\r\n \tif(!active){\r\n var aux = primerHijoConClase(container, 'select-label');\r\n \t\taux.innerHTML = html;\r\n\t \toption.classList.add(\"active\");\r\n\t }else{\r\n var aux2 = primerHijoConClase(container, 'select-label');\r\n aux2.innerHTML = container.getAttribute('data-placeholder');\r\n\t }\r\n select.value=value;\r\n if (props.alCambiar){\r\n props.alCambiar(value);\r\n }\r\n }else{\r\n\t if(!multiple){\r\n document.getElementById(target).innerHTML=\"\";\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n\t \toption.classList.add(\"active\");\r\n\t }else{\r\n\t \t//MULTIPLE SELECT\r\n\t \tif(!active){\r\n\t\t \toption.classList.add(\"active\");\r\n\t\t }else{\r\n\t\t \toption.classList.remove(\"active\");\r\n\t\t }\r\n\t }\r\n\r\n\t if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n\t var cloned = option.cloneNode(true);\r\n var htmlToAdd = '' + cloned.innerHTML + '\"eliminar\"';\r\n var newItem = createElementFromHTML(htmlToAdd);\r\n document.getElementById(target).appendChild(newItem);\r\n }\r\n\r\n if(target_label){\r\n\r\n\t\t\tvar multiple_labels = \"\";\r\n var seleccionados = getSelectValues(select);\r\n for (var elemento of seleccionados) {\r\n\t \tmultiple_labels += elemento.innerHTML+\", \";\r\n\t };\r\n\r\n\t if(multiple_labels != \"\"){\r\n\t \tdocument.getElementById(target_label).innerHTML = multiple_labels.slice(0, -2);\r\n\t }else{\r\n\t \tdocument.getElementById(target_label).innerHTML = \"\";\r\n\t }\r\n\t\t}\r\n\r\n var event = new Event('change');\r\n select.dispatchEvent(event);\r\n\r\n if(extra_subfield && document.getElementById(target).children.length){//si tiene subcampos marcamos el último tag incluido\r\n var tags = document.getElementById(target).getElementsByClassName('tag');\r\n var tag = tags[tag.length-1];\r\n var event2 = new Event('click');\r\n tag.dispatchEvent(event2);\r\n }\r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n /*container:
    */\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n {textSelected}\r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Selector;\r\n\r\n/*\r\n function IniciaCustomSelect(select_element, select_id){\r\n \tvar select = select_element;\r\n\t\tvar multiple = select.hasAttribute('multiple');\r\n\t\tvar search = \"\";\r\n\t\tvar fixed = \"\";\r\n\t\tvar target = false, target_box = false, target_class = \"\"\r\n\t\tvar checks = \"\";\r\n\t\tvar style = \"\";\r\n\r\n\t\tif(select.hasAttribute(\"data-search\")){\r\n\t\t\tsearch = \"search\";\r\n\t\t}\r\n\t\tif(select.hasAttribute(\"data-fixed\")){\r\n\t\t\tfixed = \"fixed\";\r\n\t\t}\r\n\t\tif(select.hasAttribute(\"data-checks\")){\r\n\t\t\tchecks = \"has-checks\";\r\n\t\t}\r\n\t\tif(select.hasAttribute(\"style\")){\r\n\t\t\tstyle = \"style-\"+select.getAttribute(\"style\");\r\n\t\t}\r\n\t\tif(select.hasAttribute(\"data-target\")){\r\n\t\t\ttarget_class = 'target';\r\n\t\t\ttarget_box = select.getAttribute(\"data-target\");\r\n\t\t}\r\n\t\tif(!select_id){\r\n\t\t\tselect_id = Math.floor(Math.random() * (999 - 111 + 1)) + 111;\r\n\t\t}\r\n\r\n\t\tselect.style.display = 'none';\r\n\r\n wrap(select, createElementFromHTML('
    '))\r\n\r\n\t\tvar container = select.parentNode;\r\n\r\n\t\tif(search !== \"\"){\r\n\t\t\tcontainer.prepend('
    ');\r\n\t\t}\r\n var iteminput = container.getElementsByClassName('inputtext')[0];\r\n if (iteminput)\r\n iteminput.addEventListener('keyup',KeyUpInput);\r\n\r\n var selected = (select.selectedIndex>=0) ? select.options[select.selectedIndex] : false;\r\n var placeholder = (selected) ? selected.innerHTML : select.options[0].innerHTML;\r\n\r\n\t\tcontainer.setAttribute(\"data-placeholder\", placeholder);\r\n\r\n\t\tcontainer.innerHTML = container.innerHTML + '
    '+placeholder+'
    [#options#]
    ';\r\n container.children[container.children.length - 2].addEventListener('click',ClickEnCoverSelect);\r\n\r\n var options = select.options;\r\n\t\tvar custom_options = \"\";\r\n for (var elemento of options) {\r\n var option = elemento;\r\n if (option.getAttribute(\"value\") !== \"\"){\r\n custom_options += '';\r\n }\r\n }\r\n\r\n\t\tcontainer.innerHTML = container.innerHTML.replaceAll('[#options#]', custom_options);\r\n\r\n var labeloptions = container.getElementsByClassName('labeloption');\r\n for (var elemento of labeloptions) {\r\n elemento.addEventListener('click',ClickEnDropdownLabel);\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n/*\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n*/\r\n\r\n/*\r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container')[0];\r\n\r\n var search = remove_accents(input.value.toLowerCase());\r\n\r\n \tvar found = false;\r\n\r\n \tif(search != \"\"){\r\n var labeloptions = container.getElementsByClassName('labeloption');\r\n for (var elemento of labeloptions) {\r\n\t \t\tvar label = elemento;\r\n\t \t\tvar html = remove_accents(label.innerHTML.toLowerCase());\r\n\t \t\tif(html.indexOf(search) > -1) {\r\n\t \t\t\tfound = true;\r\n\t\t\t\t\tlabel.classList.remove(\"hide\");\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlabel.classList.add(\"hide\");\r\n\t\t\t\t}\r\n } \r\n \t}\r\n \t\r\n\r\n \tif(found){\r\n AddClassNameToChildClassItems(container,'dropdown',null,'show');\r\n var ddowns = container.getElementsByClassName('ddown');\r\n for (var elemento of ddowns) {\r\n var hijos = elemento.children;\r\n var hijosNiOcultosNiActivos = false;\r\n for (var hijo of hijos){\r\n if (elementIsOfClass('labeloption')){\r\n if (!elementIsOfClass('hide') && !elementIsOfClass('active')){\r\n hijosNiOcultosNiActivos = true;\r\n }\r\n }\r\n }\r\n if (!hijosNiOcultosNiActivos){\r\n elemento.classList.remove('show');\r\n }\r\n }\r\n \t}else{\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n \t}\r\n }\r\n*/\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport AddEmpresa from \"./AddEmpresa\";\r\n\r\nconst UsuAdicional = (props) => {\r\n\r\n const [mensaje, setMensaje] = useState('');\r\n const [estado, setEstado] = useState(0);\r\n const [enabledUsuAdicional, setEnableUsuAdicional] = useState(false);\r\n const [usuAdicional, setUsuAdicional] = useState('');\r\n const [newPassword, setNewPassword] = useState('');\r\n const [confPassword, setConfPassword] = useState('');\r\n const [alto, setAlto] = useState('230px');\r\n\r\n const getDatosUsuAdicional = () =>{\r\n setEstado(1);\r\n BP2022Service.getUsuAdicional()\r\n .then((response) => {\r\n if (response.data){\r\n setEnableUsuAdicional(response.data.Habilitado)\r\n setUsuAdicional(response.data.Usuario);\r\n if (response.data.Habilitado)\r\n setAlto('520px')\r\n else\r\n setAlto('230px');\r\n setEstado(2);\r\n setMensaje('');\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n setEstado(2);\r\n });\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0){\r\n getDatosUsuAdicional();\r\n }\r\n },[]);\r\n\r\n\r\n const setDatosUsuAdicional = () =>{\r\n if (enabledUsuAdicional){\r\n if (newPassword && newPassword != \"\"){\r\n if (newPassword === confPassword){\r\n setMensaje(\"Enviando datos...\");\r\n setAlto('230px');\r\n setEstado(3);\r\n BP2022Service.enableUsuAdicional(usuAdicional,newPassword)\r\n .then((response) => {\r\n props.alCerrar();\r\n })\r\n }else{\r\n setMensaje(\"Las contraseñas no coínciden\")\r\n }\r\n }else{\r\n setMensaje(\"Debe proporcionar una contraseña\")\r\n }\r\n }else{\r\n setMensaje(\"Enviando datos...\");\r\n setEstado(3);\r\n BP2022Service.disableUsuAdicional()\r\n .then((response) => {\r\n props.alCerrar();\r\n });\r\n }\r\n }\r\n\r\n const CambiaPassword = (s) => {\r\n setMensaje(\"\");\r\n setNewPassword(s);\r\n };\r\n\r\n const CambiaUser = (s) => {\r\n setUsuAdicional(s);\r\n };\r\n\r\n const CambiaConfirmacion = (s) => {\r\n setMensaje(\"\");\r\n setConfPassword(s);\r\n };\r\n\r\n const CambiaEnabled = (e) => {\r\n if (e)\r\n if (mensaje && mensaje != \"\")\r\n setAlto('540px')\r\n else\r\n setAlto('520px')\r\n else\r\n setAlto('230px')\r\n setEnableUsuAdicional(e);\r\n }\r\n\r\n const txtboton = enabledUsuAdicional ? \"Habilitar usuario adicional\" : \"Deshabilitar usuario adicional\";\r\n\r\n const contenido = (\r\n (estado === 0) ?\r\n
    \r\n

    Iniciando...

    \r\n
    \r\n :(estado === 1) ?\r\n
    \r\n

    Buscando información...

    \r\n
    \r\n :(estado === 2) ?\r\n
    e.preventDefault()} autocomplete=\"off\" >\r\n {(enabledUsuAdicional) && (mensaje) && (mensaje !== \"\") ? \r\n

    {mensaje}

    \r\n :\r\n <>\r\n }\r\n

    \r\n \r\n

    \r\n {(enabledUsuAdicional) ? \r\n
    \r\n

    \r\n Usuario adicional:\r\n

    \r\n
    \r\n
    \r\n
    \r\n CambiaUser(e.target.value)} \r\n placeholder=\"Usuario adicional\" />\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n

    \r\n Contraseña:\r\n

    \r\n
    \r\n
    \r\n
    \r\n CambiaPassword(e.target.value)} \r\n placeholder=\"Introduzca la contraseña del usuario adicional\" autocomplete=\"new-password\"/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n

    \r\n Confirmación contraseña:\r\n

    \r\n
    \r\n
    \r\n
    \r\n CambiaConfirmacion(e.target.value)} \r\n placeholder=\"Confirme la contraseña\" autocomplete=\"new-password\"/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n \r\n
    \r\n
    \r\n :(estado === 3) ?\r\n
    \r\n

    {mensaje}

    \r\n
    \r\n :\r\n
    \r\n

    Este paso no está implementado

    \r\n
    \r\n );\r\n\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default UsuAdicional;\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport AddEmpresa from \"./AddEmpresa\";\r\n\r\nconst CambioPassword = (props) => {\r\n\r\n const [mensaje, setMensaje] = useState('');\r\n const [dirCorreo, setDirCorreo] = useState('');\r\n const [user, setUser] = useState('');\r\n const [newCorreo, setNewCorreo] = useState('');\r\n const [confirmaCorreo, setConfirmaCorreo] = useState('');\r\n const [oldPassword, setOldPassword] = useState('');\r\n const [newPassword, setNewPassword] = useState('');\r\n const [confPassword, setConfPassword] = useState('');\r\n const [alto, setAlto] = useState('230px');\r\n const [estado, setEstado] = useState(0);\r\n const [opt1, setOpt1] = useState(false);\r\n const [opt2, setOpt2] = useState(false);\r\n\r\n const estiloCheckBox = {\r\n height: '16px',\r\n }\r\n\r\n const getDatosCambioPassword = () =>{\r\n setEstado(3);\r\n BP2022Service.getDirCorreo()\r\n .then((response) => {\r\n if (response.data && response.data.Correo != \"\"){\r\n setDirCorreo(response.data.Correo);\r\n setUser(response.data.Usuario);\r\n setOpt1(response.data.DeseaRecibirInfo);\r\n setOldPassword('');\r\n setEstado(2);\r\n setMensaje('');\r\n }\r\n else{\r\n setEstado(1);\r\n setMensaje('Para cambiar la contraseña es necesario que facilite una dirección de correo eletrónico.')\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n });\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0)\r\n getDatosCambioPassword();\r\n },[]);\r\n\r\n\r\n const guradaPassword = () =>{\r\n if (estado === 1){\r\n if (newCorreo != \"\"){\r\n if (validateEmail(newCorreo)){\r\n if (newCorreo === confirmaCorreo){\r\n if (oldPassword != \"\"){\r\n if (opt1){\r\n setEstado(3);\r\n setMensaje('Enviando datos...')\r\n BP2022Service.setDirCorreo(oldPassword, newCorreo, opt2)\r\n .then((response) => {\r\n if (response.data){\r\n if (response.data.Exito){\r\n setDirCorreo(newCorreo);\r\n setEstado(6);\r\n setMensaje('Para completar el proceso debe validar su dirección de correo. Consulte su buzón y siga las instrucciones');\r\n }else{\r\n setEstado(1);\r\n setMensaje(response.data.Mensaje);\r\n }\r\n }else{\r\n setEstado(1);\r\n setMensaje('No se ha podido cambiar la dirección de correo electrónico.')\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n });\r\n }\r\n else{\r\n setMensaje('Debe aceptar el uso de su correo electónico para la gestión de Bot Plus')\r\n }\r\n }\r\n else{\r\n setMensaje('Para cambiar la dirección de correo asociada a la cuenta de ususario debe proporcionar la contraseña actual')\r\n }\r\n }\r\n else{\r\n setMensaje('La dirección de correo electrónico y su confirmación no coinciden')\r\n }\r\n }\r\n else{\r\n setMensaje('La dirección de correo electrónico proporcionada no es correcta')\r\n }\r\n }\r\n else{\r\n setMensaje('Debe proporcionar una dirección de correo electrónico')\r\n }\r\n }else if (estado === 222){\r\n if (newPassword != \"\"){\r\n if (validatePassword(newPassword)){\r\n if (newPassword === confPassword){\r\n if (oldPassword != \"\"){\r\n setEstado(3);\r\n setMensaje('Enviando datos...')\r\n BP2022Service.setPassword(oldPassword, newPassword)\r\n .then((response) => {\r\n if (response.data){\r\n if (response.data.Exito){\r\n setEstado(4);\r\n setMensaje('Contraseña cambiada correctamente');\r\n }else{\r\n setEstado(222);\r\n setMensaje(response.data.Mensaje);\r\n }\r\n }else{\r\n setEstado(222);\r\n setMensaje('No se ha podido cambiar la contraseña.')\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n });\r\n }\r\n else{\r\n setMensaje('Para realizar el cambio de contraseña debe proporcionar la contraseña actual')\r\n }\r\n }\r\n else{\r\n setMensaje('La nueva contraseña y su confirmación no coinciden')\r\n }\r\n }\r\n else{\r\n setMensaje('La nueva contraseña no cumple las especificaciones')\r\n }\r\n }\r\n else{\r\n setMensaje('La nueva contraseña no puede ser vacia')\r\n }\r\n }else if (estado===2){\r\n enviaCorreoUsuario();\r\n }else if (estado===5){\r\n enviaCorreoUsuarioCambioCorreo();\r\n }else if (estado===6){\r\n props.alCerrar();\r\n }\r\n}\r\n\r\n const enviaCorreoUsuario = () =>{\r\n /*if (user != \"\"){*/\r\n setEstado(3);\r\n setMensaje('Enviando correo...');\r\n BP2022Service.enviaCorreoCambioPass()\r\n .then((response) => {\r\n if (response.data && response.data.Ok){\r\n setEstado(4);\r\n setMensaje('Se ha enviado un correo electrónico para realizar el cambio de contraseña. Consulte su buzón y siga las instrucciones');\r\n }\r\n else{\r\n setEstado(2);\r\n setMensaje(response.data.Mensaje)\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setEstado(2);\r\n setMensaje(error.message);\r\n });\r\n /*}\r\n else{\r\n setMensaje('Debe indicar un nombre de usuario');\r\n }*/\r\n }\r\n\r\n const enviaCorreoUsuarioCambioCorreo = () =>{\r\n setEstado(3);\r\n setMensaje('Enviando correo...');\r\n BP2022Service.enviaCorreoCambioCorreo()\r\n .then((response) => {\r\n if (response.data && response.data.Ok){\r\n setEstado(4);\r\n setMensaje('Se ha enviado un correo electrónico para realizar el cambio solicitado. Consulte su buzón y siga las instrucciones');\r\n }\r\n else{\r\n setEstado(5);\r\n setMensaje(response.data.Mensaje)\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setEstado(5);\r\n setMensaje(error.message);\r\n });\r\n }\r\n\r\n\r\n\r\n const CambiaCorreo = () => {\r\n setMensaje('');\r\n setOpt1(false);\r\n setEstado(5);\r\n };\r\n\r\n\r\n const CambiaNewPassword = (s) => {\r\n setMensaje(\"\");\r\n setNewPassword(s);\r\n };\r\n\r\n const CambiaOldPassword = (s) => {\r\n setMensaje(\"\");\r\n setOldPassword(s);\r\n };\r\n\r\n const CambiaConfirmacion = (s) => {\r\n setMensaje(\"\");\r\n setConfPassword(s);\r\n };\r\n\r\n const CambiaNewCorreo = (s) => {\r\n setMensaje(\"\");\r\n setNewCorreo(s);\r\n };\r\n\r\n const CambiaConfirmaCorreo = (s) => {\r\n setMensaje(\"\");\r\n setConfirmaCorreo(s);\r\n };\r\n\r\n const cambiaOpt1 = (checked) =>{\r\n setOpt1(checked);\r\n }\r\n\r\n const cambiaOpt2 = (checked) =>{\r\n setOpt2(checked);\r\n }\r\n\r\n const validateEmail = (email) => {\r\n return String(email)\r\n .toLowerCase()\r\n .match(\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|.(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n );\r\n };\r\n\r\n const validatePassword = (str) => {\r\n //var re = /^(?=.*\\d)(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z]).{8,}$/;\r\n var re = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/;\r\n return re.test(str); \r\n };\r\n\r\n\r\n var newalto;\r\n var txtBoton = \"Cambiar contraseña\";\r\n var titulo = \"Cambio de contraseña\";\r\n switch (estado){\r\n case 0:\r\n newalto = '230px';\r\n break;\r\n case 1:\r\n newalto = '740px';\r\n txtBoton = \"Guardar correo electrónico\";\r\n titulo = \"Cambio de correo electrónico\"\r\n break;\r\n case 2:\r\n txtBoton = \"Enviar correo electrónico\";\r\n newalto = '570px'; \r\n break;\r\n case 3:\r\n newalto = '230px';\r\n break;\r\n case 4:\r\n newalto = '230px';\r\n break; \r\n case 5:\r\n titulo = \"Cambio de correo electrónico\"\r\n txtBoton = \"Enviar correo electrónico\";\r\n newalto = '515px'; \r\n break;\r\n case 6:\r\n titulo = \"Cambio de correo electrónico\"\r\n txtBoton = \"Cerrar\";\r\n newalto = '230px';\r\n break; \r\n }\r\n if (alto != newalto)\r\n setAlto(newalto);\r\n \r\n\r\n\r\n const contenido = (\r\n (estado === 0) ?\r\n
    \r\n

    Iniciando...

    \r\n
    \r\n :((estado >= 1 && estado <= 2) || estado === 5 || estado === 6) ?\r\n
    e.preventDefault()} autocomplete=\"off\" >\r\n {(mensaje) && (mensaje !== \"\") ? \r\n

    {mensaje}

    \r\n :\r\n <> \r\n }\r\n {(estado === 1) ?\r\n
    \r\n

    \r\n Contraseña actual:\r\n

    \r\n
    \r\n
    \r\n
    \r\n CambiaOldPassword(e.target.value)} \r\n placeholder=\"Introduzca la contraseña actual\" autocomplete=\"new-password\"/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n

    \r\n Correo eletrónico:\r\n

    \r\n
    \r\n
    \r\n
    \r\n CambiaNewCorreo(e.target.value)} \r\n placeholder=\"Introduzca la nueva dirección de correo electrónico\" autocomplete=\"new-password\"/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n

    \r\n Confirmación correo eletrónico:\r\n

    \r\n
    \r\n
    \r\n
    \r\n CambiaConfirmaCorreo(e.target.value)} \r\n placeholder=\"Confirme la nueva dirección de correo electrónico\" autocomplete=\"new-password\"/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n Asimismo, solicitamos su consentimiento expreso para el envío de comunicaciones \r\n electrónicas relativas a los servicios y productos que ofrecemos e información \r\n que pueda resultar de su interés rellenando previamente su correo electrónico y \r\n marcando la siguiente casilla \r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n :<> \r\n }\r\n {(estado === 222) ?\r\n
    \r\n

    \r\n Contraseña actual:\r\n

    \r\n
    \r\n
    \r\n
    \r\n CambiaOldPassword(e.target.value)} \r\n placeholder=\"Introduzca la contraseña actual\" autocomplete=\"new-password\"/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n

    \r\n \r\n La nueva contraseña debe tener una longitud mínima de 8 caracteres y debe contener al menos una mayúscula, una minúscula y un número\r\n \r\n

    \r\n

    \r\n Nueva contraseña:\r\n

    \r\n
    \r\n
    \r\n
    \r\n CambiaNewPassword(e.target.value)} \r\n placeholder=\"Introduzca la nueva contraseña\" autocomplete=\"new-password\"/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n

    \r\n Confirmación nueva contraseña:\r\n

    \r\n
    \r\n
    \r\n
    \r\n {e.preventDefault(); return false;}} \r\n onChange={ e => CambiaConfirmacion(e.target.value)} \r\n placeholder=\"Confirme la nueva contraseña\" autocomplete=\"new-password\"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n

    \r\n Dirección de correo electrónico:\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n :<> \r\n }\r\n {(estado === 2) ?\r\n
    \r\n

    \r\n Si desea cambiar su actual contraseña, pulse en el botón morado que aparece a continuación. \r\n Le enviaremos un correo electrónico a la dirección de correo abajo indicada, en el que le indicaremos las instrucciones a seguir para cambiar la contraseña.\r\n

    \r\n

    \r\n En el caso de que no llegase dicho correo, compruebe que no estuviera en la carpeta de correo no deseado.\r\n

    \r\n

    \r\n Si desease cambiar la dirección de correo electrónico, pulse en el botón verde que aparece a la derecha de su dirección actual.\r\n

    \r\n

    \r\n Si tuviera cualquier incidencia, póngase en contacto con el Consejo General.\r\n

    \r\n
    \r\n \r\n
    \r\n

    \r\n Dirección de correo electrónico:\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n :<> \r\n }\r\n {(estado === 5) ?\r\n
    \r\n

    \r\n Le enviaremos un correo electrónico a la dirección de correo abajo indicada, en el que le indicaremos las instrucciones\r\n a seguir para cambiar la dirección de correo asociada.\r\n

    \r\n

    \r\n En el caso de que no llegase dicho correo, compruebe que no estuviera en la carpeta de correo no deseado.\r\n

    \r\n

    \r\n Dirección de correo electrónico:\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n

    \r\n Si la dirección de correo electrónico arriba indicada no fuera accsible o tuviera cualquier otra incidencia, póngase en \r\n contacto con el Consejo General.\r\n

    \r\n
    \r\n :<> \r\n }\r\n {(estado !== 2) ?\r\n
    \r\n \r\n
    \r\n :<> \r\n }\r\n
    \r\n :(estado === 0 || estado === 3 || estado === 4 ) ?\r\n
    \r\n

    {mensaje}

    \r\n
    \r\n :\r\n
    \r\n

    Este paso no está implementado

    \r\n
    \r\n );\r\n\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default CambioPassword;\r\n","import Selector from \"../Utilidades/Selector/Selector\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport AuthService from \"../../services/auth.service\"\r\nimport { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport { AddClassNameToClassItems, addDays, rootPath } from \"../../services/utils\";\r\nimport SelectorComboBox from \"../Utilidades/Selector/SelectorComboBox\";\r\n//import BP2022AuthService from \"../../services/auth.service\";\r\nimport BP2022AuthService from \"../../services/auth.service\";\r\nimport KeyEmpresa from \"./KeyEmpresa\";\r\nimport {FormatoFechaDDMMYYYY} from '../../services/utils.js'\r\nimport UsuAdicional from \"./UsuAdicional\";\r\nimport packageJson from '../../../package.json';\r\nimport CambioPassword from \"./CambioPassword.js\";\r\nimport RecuperaPassword2 from \"./RecuperaPassword2.js\";\r\nimport CambiaCorreo2 from \"./CambiaCorreo2.js\";\r\nimport ConfirmaCorreo2 from \"./ConfirmaCorreo2.js\";\r\n\r\nconst PaginaConfiguracion = (props) => {\r\n const [datosConf,setDatosConf] = useState(null);\r\n const [tieneLicenciaBot, setTieneLicenciaBot] = useState(null);\r\n const [mostrarEmpresa, setMostrarEmpresa] = useState(false);\r\n const [mostrarUsuAdicional, setMostrarUsuAdicional] = useState(false);\r\n const [mostrarBotonCambioPass, setMostrarBotonCambioPass] = useState(false);\r\n const [mostrarCambioPass, setMostrarCambioPass] = useState(false);\r\n const [verCambioPass2, setVerCambioPass2] = useState(props.cambiopass);\r\n const [verCambioMail2, setVerCambioMail2] = useState(props.cambiomail);\r\n const [verConfirmaMail2, setVerConfirmaMail2] = useState(props.confirmamail);\r\n const [link, setLink] = useState(props.link);\r\n const [dirCorreo, setDirCorreo] = useState('')\r\n\r\n const provincias =(datosConf ? datosConf.Provincias : null);\r\n const ccaas = (datosConf? datosConf.CCAAs : null);\r\n var guardando = false;\r\n const user = AuthService.getLocalUser();\r\n\r\n const refdate = addDays(new Date(), 367).toJSON();\r\n const username = (user && user.botPlusUser && user.botPlusUser.Username) ? user.botPlusUser.Username : '';\r\n const fechaLicencia = (user && user.botPlusUser && user.botPlusUser.LicenciaHasta && user.botPlusUser.LicenciaHasta {\r\n if (datosConf==null)\r\n {\r\n DescargaDatosConfiguracion();\r\n }else{ \r\n if ((datosConf.Mensaje)&&(datosConf.Mensaje !== '')){\r\n //props.atras();\r\n if ((props.returnTo) && (props.returnTo !== '') && (!props.returnTo.includes('BAgrupHomoAuto'))){\r\n window.location.href = props.returnTo; \r\n }else{\r\n window.location.href = rootPath;\r\n }\r\n }\r\n }\r\n if (tieneLicenciaBot===null){\r\n getTieneLicenciaBot();\r\n }\r\n BP2022Service.moduloCambioPass()\r\n .then((response) => {\r\n if (response.data){\r\n setMostrarBotonCambioPass(true);\r\n BP2022Service.getDirCorreo()\r\n .then((response) => {\r\n if (response.data && response.data.Correo != \"\"){\r\n setDirCorreo(response.data.Correo);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n\r\n },[datosConf]);\r\n\r\n const ocultaCambioPass2 = () =>{\r\n setVerCambioPass2(false);\r\n props.alTerminarCambio();\r\n }\r\n \r\n const ocultaCambioMail2 = () =>{\r\n setVerCambioMail2(false);\r\n props.alTerminarCambio();\r\n }\r\n \r\n const ocultaConfirmaMail2 = () =>{\r\n setVerConfirmaMail2(false);\r\n props.alTerminarCambio();\r\n }\r\n \r\n const getTieneLicenciaBot = () =>{\r\n BP2022AuthService.tieneLicenciaLocal()\r\n .then((response) => {\r\n setTieneLicenciaBot(response)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n\r\n const muestraEmpresa = (valor) =>{\r\n setMostrarEmpresa(valor);\r\n }\r\n\r\n const muestraUsuAdicional = (valor) =>{\r\n setMostrarUsuAdicional(valor);\r\n }\r\n\r\n const muestraCambioPassword = (valor) =>{\r\n setMostrarCambioPass(valor);\r\n }\r\n\r\n const DescargaDatosConfiguracion = () => {\r\n if (!guardando){\r\n guardando=true;\r\n BP2022Service.getDatosConfiguracion()\r\n .then((response) => {\r\n response.data.Provincias.splice(0,0,{IdProvincia:0, NombreProvincia:'Indique una provincia', IdCCAA: 0, NombreComunidad: ''});\r\n setDatosConf(response.data)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n };\r\n\r\n\r\n const GuardaDatosConfiguracion = () => {\r\n BP2022Service.setDatosConfiguracion(datosConf.IdProvincia, datosConf.NumFarmacia)\r\n .then((response) => {\r\n var lu = JSON.parse(localStorage.getItem(\"login\"));\r\n lu.botPlusUser.idCCAA = response.data.IdCCAA;\r\n lu.botPlusUser.idProvincia = response.data.IdProvincia;\r\n lu.botPlusUser.Provincia = response.data.Provincia;\r\n localStorage.setItem(\"login\", JSON.stringify(lu));\r\n setDatosConf(response.data)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n \r\n const CambiaCCAA = (idProvincia) => {\r\n let tempDatosConf = JSON.parse(JSON.stringify(datosConf));\r\n var aux = provincias.filter(prov => {return prov.IdProvincia.toString()===idProvincia.toString()});\r\n if (aux){\r\n if (aux.length>0){\r\n var idCCAA = aux[0].IdCCAA;\r\n tempDatosConf.IdProvincia = parseInt(idProvincia);\r\n tempDatosConf.IdCCAA = idCCAA\r\n }\r\n }\r\n tempDatosConf.Mensaje = null;\r\n setDatosConf(tempDatosConf);\r\n };\r\n\r\n const DoNothing=() =>{\r\n\r\n }\r\n\r\n const CambiaNumFarmacia = (e) => {\r\n let tempDatosConf = JSON.parse(JSON.stringify(datosConf));\r\n tempDatosConf.NumFarmacia = e.target.value;\r\n tempDatosConf.Mensaje = null;\r\n setDatosConf(tempDatosConf);\r\n };\r\n\r\n const modalTitulo = \"\";\r\n const modalContent = (\r\n
    \r\n

    La Organización Farmacéutica Colegial - Colegios, Consejos Autonómicos y Consejo General - ha desarrollado el  \r\n Centro de Información sobre el Suministro de Medicamentos (CisMED).\r\n

    \r\n

    CisMED es un sistema de información con un doble objetivo: detectar en tiempo real incidencias en el suministro regular de medicamentos, \r\n y dotar a la Organización de información sobre su disponibilidad para facilitar la toma de decisiones de los farmacéuticos, y contribuir \r\n a la continuidad de los tratamientos de los pacientes.\r\n

    \r\n

    Las farmacias adheridas a CisMED generan una información que, una vez tratada, permite disponer de datos sobre el suministro de medicamentos \r\n en su provincia y, una vez remitida al Consejo General, consolidar los datos a nivel nacional.\r\n

    \r\n

    Si es usted un usuario perteneciente a una farmacia adherida a CisMED, podrá consultar la información sobre faltas en el suministro del medicamento \r\n de forma completa.\r\n

    \r\n
    \r\n );\r\n\r\n const modalTituloAvisoInicial = \"\";\r\n const modalContentAvisoInicial = (\r\n
    \r\n

    Gracias por acceder a BOT PLUS.\r\n

    \r\n

    Antes de comenzar a utilizar la base de datos, es necesario que usted configure la provincia de la sesión, de forma que BOT PLUS le pueda \r\n mostrar la información de ámbito autonómico asociada a medicamentos y productos de parafarmacia. Para ello incluya dicha provincia en la \r\n siguiente pantalla. Esta provincia se podrá modificar posteriormente en cualquier momento.\r\n

    \r\n

    En esta pantalla podrá también incluir el número de farmacia adherida a CisMED, para que BOT PLUS le muestre la información sobre incidencias\r\n de suministro de medicamentos. En caso de no ser una farmacia adherida a CisMED, podrá utilizar BOT PLUS con total normalidad, si bien no podrá \r\n acceder a la información de CisMED.\r\n

    \r\n
    \r\n );\r\n\r\n const modalKeyName=\"ModalCismedInfo\"\r\n const modalKeyNameAvisoInicial=\"ModalAvisoInicial\"\r\n\r\n const AbreEmergenteCismed = () => {\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n const modalAvisoInicialActivo = props.muestraAviso;\r\n\r\n\r\n const modalTitulo2 = \"\";\r\n const modalContent2 = (\r\n
    \r\n

    \r\n {(datosConf) ? datosConf.Mensaje : ''}\r\n

    \r\n
    \r\n );\r\n\r\n const modalKeyName2=\"ModalSavedInfo\"\r\n\r\n const AbreEmergenteSaved = () => {\r\n AddClassNameToClassItems(modalKeyName2, null, 'active');\r\n //props.refresca();\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768); \r\n\r\n if (!datosConf){\r\n return (\r\n
    \r\n );\r\n }\r\n else{\r\n if (!datosConf.IdProvincia>0){\r\n if (provincias[0].IdProvincia!==0){\r\n provincias.splice(0,0,{IdProvincia: 0, NombreProvincia: 'Seleccione provincia', IdCCAA : 0});\r\n ccaas.splice(0,0,{Codigo:0, Valor:'-'});\r\n }\r\n }\r\n const listaProvinciasCodValor = provincias.map(prov => ({codigo: prov.IdProvincia, valor: prov.NombreProvincia}));\r\n const listaCCAACodValor = ccaas.map(ca => ({codigo: ca.Codigo, valor: ca.Valor}));\r\n return (\r\n
    \r\n {(verCambioPass2) ?\r\n \r\n :(verCambioMail2) ?\r\n \r\n :(verConfirmaMail2) ?\r\n \r\n :\r\n <>\r\n }\r\n \r\n \r\n \r\n {mostrarEmpresa ?\r\n \r\n :\r\n mostrarUsuAdicional ?\r\n \r\n :\r\n mostrarCambioPass ?\r\n \r\n :\r\n <>\r\n }\r\n\r\n
    \r\n
    e.preventDefault()}>\r\n \r\n
    \r\n \r\n \"logoFarmaceuticos\"\r\n \r\n
    \r\n {username !== '' ? \r\n
    \r\n Usuario BOT PLUS: \r\n  {username} \r\n
    \r\n : <>}\r\n {dirCorreo && dirCorreo !== '' ? \r\n
    \r\n {dirCorreo} \r\n
    \r\n : <>}\r\n {fechaLicencia ? \r\n
    \r\n Licencia válida hasta \r\n {FormatoFechaDDMMYYYY(fechaLicencia)\r\n }
    \r\n : <>}\r\n
    \r\n {((tieneLicenciaBot || mostrarBotonCambioPass) && !isMobile && esUsuarioPrincipal) ?\r\n
    \r\n {(tieneLicenciaBot && !isMobile && esUsuarioPrincipal) ?\r\n
    \r\n \r\n \r\n
    \r\n :\r\n <>\r\n }\r\n {(mostrarBotonCambioPass && !isMobile && esUsuarioPrincipal && datosConf.PuedeCambiarPass) ?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n {(tieneLicenciaBot && isMobile && esUsuarioPrincipal) ?\r\n
    \r\n \r\n \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Indique la provincia en la que quiere configurar BOT PLUS para conocer la información de ámbito autonómico. \r\n Esta provincia puede modificarse posteriormente en cualquier momento.\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n En caso de que el usuario se trate de una farmacia adherida a CisMED, puede incluir a continuación el número de farmacia para activar \r\n la información de CisMED en BOT PLUS.
    \r\n En caso contrario, podrá utilizar BOT PLUS con total normalidad, si bien no podrá acceder a la información de CisMED.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Información CisMED \r\n AbreEmergenteCismed()}>\r\n \"\"\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n CambiaNumFarmacia(e)} placeholder=\"Número de farmacia\" />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {(datosConf.AccesoCisMED) ?\r\n ((datosConf.IdProvincia===datosConf.IdProvinciaCisMED) ?\r\n
    \r\n \"warningGreen\" \r\n Dispone de acceso a la información en BOT PLUS de CisMED.\r\n
    \r\n :\r\n
    \r\n \"warningYellow\"\r\n Dispone de acceso a la información en BOT PLUS de CisMED, pero la provincia seleccionada no coincide con la registrada en su adhesión a CisMED.\r\n
    \r\n )\r\n :\r\n
    \r\n \"warningRed\" \r\n No dispone de acceso a la información en BOT PLUS de CisMED.\r\n
    \r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n Versión del front end: {packageJson.version}.{packageJson.dateversion}.{packageJson.serial}\r\n
    \r\n
    \r\n Versión del back end: {datosConf.Version.Version}.{datosConf.Version.Dateversion}.{datosConf.Version.Serial}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default PaginaConfiguracion;","import CabeceraConfiguracion from \"./CabeceraConfiguracion\";\r\nimport PaginaConfiguracion from \"./PaginaConfiguracion\";\r\n\r\nconst Configuracion = (props) => {\r\n const infoPagina = props.infoPagina;\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Configuracion;","import BP2022Service from \"../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport VolverCabeceraResultados from \"../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\nimport CabeceraConfiguracion from \"./CabeceraConfiguracion\";\r\nimport { validaAccesoPorRol } from \"../../services/objsAplicacion\";\r\nimport { PerfilUsuario } from \"../../services/utils\";\r\n\r\n\r\nconst EditaBuscadores= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaBH: null,\r\n listaBV: null,\r\n listaBF: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idsBusc: [],\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaBH === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioBucadoresPreferidos()\r\n .then((response) => {\r\n var df = {\r\n listaBH : response.data.BuscadoresMUH,\r\n listaBV : response.data.BuscadoresMUV,\r\n listaBF : response.data.BuscadoresPPF,\r\n };\r\n var dfVisible = {\r\n listaBH : [],\r\n listaBV : [],\r\n listaBF : [],\r\n };\r\n var ids = [];\r\n for (var i=0; i{\r\n BP2022Service.setDatosBuscadoresPreferidos(seleccionFormulario.idsBusc)\r\n .then((response) => {\r\n props.atras();\r\n });\r\n }\r\n\r\n const checkBuscador= (e, valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var activo = e.target.checked;\r\n if (activo){\r\n if (!nuevaSeleccion.idsBusc.includes(valor)){\r\n nuevaSeleccion.idsBusc.push(valor);\r\n }\r\n }\r\n if (!activo){\r\n if (nuevaSeleccion.idsBusc.includes(valor)){\r\n var idx = nuevaSeleccion.idsBusc.indexOf(valor);\r\n nuevaSeleccion.idsBusc.splice(idx,1);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const disabledAdd = (seleccionFormulario.idsBusc.length>=5);\r\n\r\n const HTMLHumanas = (\r\n ((datosFormulario.listaBH) ?\r\n datosFormulario.listaBH.map(busc =>\r\n ((seleccionFormulario.idsBusc.includes(busc.IdBuscador) || !disabledAdd) ?\r\n \r\n :\r\n \r\n )\r\n )\r\n :\r\n
    \r\n )\r\n );\r\n\r\n const HTMLVeterinaria = (\r\n ((datosFormulario.listaBV) ?\r\n datosFormulario.listaBV.map(busc =>\r\n ((seleccionFormulario.idsBusc.includes(busc.IdBuscador) || !disabledAdd) ?\r\n \r\n :\r\n \r\n )\r\n )\r\n :\r\n
    \r\n )\r\n );\r\n\r\n const HTMLParafarmacia = (\r\n ((datosFormulario.listaBF) ?\r\n datosFormulario.listaBF.map(busc =>\r\n ((seleccionFormulario.idsBusc.includes(busc.IdBuscador) || !disabledAdd) ?\r\n \r\n :\r\n \r\n )\r\n )\r\n :\r\n
    \r\n )\r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    e.preventDefault()}>\r\n
    \r\n

    Selecciona tus buscadores preferidos

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Puedes seleccionar hasta cinco buscadores favoritos. En caso de querer cambiar un buscador favorito por otro, desmarca previamente el que desees eliminar\r\n
    \r\n
    \r\n
    \r\n {(datosFormulario.listaBH && datosFormulario.listaBH.length>0)?\r\n
    \r\n
    \r\n

    Uso humano

    \r\n
    \r\n
    \r\n {HTMLHumanas}\r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n {(datosFormulario.listaBV && datosFormulario.listaBV.length>0)?\r\n
    \r\n
    \r\n

    Veterinaria

    \r\n
    \r\n
    \r\n {HTMLVeterinaria}\r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n {(datosFormulario.listaBF && datosFormulario.listaBF.length>0)?\r\n
    \r\n
    \r\n

    Parafarmacia

    \r\n
    \r\n
    \r\n {HTMLParafarmacia}\r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default EditaBuscadores;\r\n","import MisBuscadoresCabeceraResultados from \"../Resultados/CabeceraResultados/MisBuscadoresCabeceraResultados\";\r\nimport VolverCabeceraResultados from \"../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\n\r\nconst CabeceraExporta = (props) => {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Exportar listado

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CabeceraExporta;\r\n ","import CabeceraExporta from \"./CabeceraExporta\";\r\nimport BP2022Service from \"../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../Resultados/Loading.Popup\";\r\nimport { rootPath } from \"../../services/utils\";\r\nimport { CSVLink, CSVDownload } from \"react-csv\";\r\n\r\n\r\nconst Exporta = (props) => {\r\n const [documentosExporta, setDocumentosExporta] = useState(null);\r\n const [docSel, setDocSel] = useState(0)\r\n const [datosAExportar, setDatosAExportar] = useState({\r\n headers: [],\r\n data: [],\r\n });\r\n const [txtExportar, setTxtExportar] = useState(\"Exportar\");\r\n const [loading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!documentosExporta)\r\n {\r\n DescargaExporta();\r\n } \r\n },[]);\r\n\r\n const DescargaExporta = () => { \r\n BP2022Service.obtenListadosExportables()\r\n .then((response) => {\r\n if (response.data && response.data.length>0){\r\n setDocSel(response.data[0].Codigo);\r\n }\r\n setDocumentosExporta(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const ClickDoc = (cod) => {\r\n setDocSel(cod);\r\n }\r\n\r\n const ClickExportar = (e) =>{\r\n setLoading(true);\r\n setDatosAExportar({\r\n headers: [],\r\n data: [],\r\n });\r\n BP2022Service.obtenExportacionExcel(docSel)\r\n .then((response) => {\r\n const nuevosDatosAExportar = {\r\n headers: response.data.cabeceras,\r\n data: response.data.datos,\r\n }\r\n setLoading(false);\r\n setDatosAExportar(nuevosDatosAExportar);\r\n setTxtExportar(\"Volver a generar\");\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setLoading(false);\r\n });\r\n }\r\n\r\n\r\n\r\n const htmlDocsExporta = (documentosExporta ? documentosExporta.map(doc => \r\n
    \r\n \r\n
    \r\n ) : <>);\r\n\r\n\r\n return ( \r\n
    \r\n \r\n
    \r\n
    \r\n { (!documentosExporta) || (loading) ?\r\n \r\n :\r\n
    e.preventDefault()} tabIndex=\"0\">\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Seleccione el listado que desea exportar y pulse sobre el botón \"Exportar\".\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {htmlDocsExporta}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {(datosAExportar.data && datosAExportar.data.length>0 && datosAExportar.headers && datosAExportar.headers.length>0) ?\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n     Si el archivo no se descarga automáticamente pulse sobre el siguiente botón \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Exporta;\r\n","import axios from \"axios\";\r\nimport authHeader from \"./auth-header\";\r\nimport { getApiPath } from \"./utils\";\r\n\r\n//const API_URL = \"http://localhost:36823/botplusapi/\";\r\n//const API_URL = \"http://nitramsoftware.linkpc.net:8899/botplusapi/\";\r\n//const API_URL = \"/api/botplusapi/\";\r\nconst API_URL = getApiPath();\r\n\r\nconst getPalabras = (txt,tipo) => {\r\n return axios.get(API_URL + \"Sugerencias/Palabras?txt=\"+txt+\"&tipo=\"+tipo, { headers: authHeader() });\r\n};\r\n\r\nconst sugerenciasService = {\r\n getPalabras\r\n}; \r\n\r\nexport default sugerenciasService;\r\n","\r\nfunction ItemSugerencia({item}){\r\n return (\r\n \r\n ) \r\n}\r\n\r\nexport default ItemSugerencia;","import ItemSugerencia from './ItemSugerencia.js';\r\n\r\nfunction Sugerencias(props){\r\n var identificador = props.identificador; //\"sugerenciasFB\";\r\n if (props.missugerencias != null)\r\n {\r\n const filas = props.missugerencias.map(fila => )\r\n return (\r\n \r\n {filas}\r\n \r\n )\r\n } \r\n else{\r\n return(\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Sugerencias;","import React, { useState } from \"react\";\r\nimport BusqMedsService from \"../../../../services/user.service\";\r\nimport SugerenciasService from \"../../../../services/sugerencias.service\";\r\nimport Sugerencias from \"../../../Utilidades/Sugerencias/Sugerencias\";\r\n\r\n const FormBusqueda = (props) => { \r\n const [texto, setTexto] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n const [listaSugerencias, setListaSugerencias] = useState(null);\r\n const [opcionBusqueda, setOpcionBusqueda] = useState(BusqMedsService.getOpcionBusqueda());\r\n const onChangeTexto = (e) => {\r\n const texto = e.target.value.replace('%',' ');\r\n setTexto(texto);\r\n SugerenciasService.getPalabras(encodeURIComponent(texto),\"TOT\").then((response) => {\r\n setListaSugerencias(response.data);\r\n })\r\n };\r\n\r\n const CambiaPagina = (codigoPagina, texto) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina,\r\n texto: texto,\r\n opb: opcionBusqueda,\r\n });\r\n }\r\n\r\n if (!opcionBusqueda) setOpcionBusqueda(1);\r\n const busqueda = (e) => {\r\n var auxtexto = texto.replace('%',' '); //encodeURI(texto);\r\n if (auxtexto)\r\n if (auxtexto.trim().length>0){\r\n e.preventDefault();\r\n CambiaPagina(\"BInicio\",auxtexto);\r\n }\r\n }\r\n\r\n const clickOptionInicio = () => {\r\n BusqMedsService.setOpcionBusqueda(2);\r\n setOpcionBusqueda(2); \r\n }\r\n\r\n const clickOptionContenido = () => {\r\n BusqMedsService.setOpcionBusqueda(1);\r\n setOpcionBusqueda(1); \r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const estiloOptions = (!isMobile)?{\r\n marginTop:'15px', \r\n display: 'flex', \r\n justifyContent:'space-around', \r\n width:'100%', \r\n fontFamily:'Flama', \r\n color:'#ffffff', \r\n fontSize:'14px' , \r\n verticalAlign: 'baseline'\r\n }:{\r\n marginTop:'7px', \r\n display: 'flex', \r\n justifyContent:'space-around', \r\n width:'100%', \r\n fontFamily:'Flama', \r\n color:'#ffffff', \r\n fontSize:'14px' , \r\n verticalAlign: 'baseline'\r\n }\r\n\r\n const estiloDiv = (isMobile) ? {margin: '20px'} : {};\r\n\r\n\r\n return (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{/*

    Puedes buscar medicamentos, productos de parafarmacia o enfermedades por nombre.

    \r\n\t\t\t\t\t
    \r\n

    También puedes introducir el código nacional del producto:

    */}\r\n\t\t\t\t\t

    Puedes buscar medicamentos, productos de parafarmacia o enfermedades por nombre.

    \r\n\t\t\t\t\t
    \r\n

    También puedes introducir el código nacional del producto:

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    e.preventDefault()}>\r\n\t\t\t\t\t\r\n \r\n\t\t\t\t\t\r\n
    \r\n \r\n \r\n
    \r\n\t\t\t\t
    \r\n
    \r\n );\r\n };\r\n \r\n export default FormBusqueda;","import React, { useEffect, useState } from \"react\";\r\nimport BP2022Service, {GetBusquedasPreferidas} from \"../../../../services/user.service\";\r\nimport { PerfilUsuario, rootPath } from \"../../../../services/utils\";\r\nimport BusquedaPreferida from \"./BusquedaPreferida\";\r\nimport { validaAccesoPorRol } from \"../../../../services/objsAplicacion\";\r\n\r\nconst BusquedasPreferidasInicio = (props) => {\r\n\r\n const [listaBuscadores, setListaBuscadores] = useState(null);\r\n\r\n useEffect(() => {\r\n descargaBuscadores();\r\n }, [])\r\n\r\n const descargaBuscadores = () => {\r\n BP2022Service.getBuscadoresPreferidos()\r\n .then((response) => {\r\n var listaTemp = response.data;\r\n var lista = [];\r\n for (var i=0; i )\r\n ):(\r\n
    \r\n );\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n}\r\n\r\nconst ancho = window.innerWidth;\r\nconst isMobile = (ancho<768); \r\nconst estiloDiv = (isMobile) ? {backgroundColor : 'rgba(0,0,0,0.5)', display: 'block', marginLeft: '0px'} \r\n : {backgroundColor : 'rgba(0,0,0,0.5)'};\r\n\r\n\r\n return (\r\n
    \r\n

    MIS BUSCADORES FAVORITOS

    \r\n
    \r\n
      \r\n {busquedas}\r\n
    \r\n CambiaPaginaSimple('EditaBuscadores')}>\r\n \"pencilPink\" \r\n Editar mis buscadores\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default BusquedasPreferidasInicio;\r\n","import FormBusqueda from \"./FormBusqueda/FormBusqueda\";\r\nimport BusquedasPreferidas from \"./BFavoritas/BusquedasPreferidasInicio\";\r\n\r\nconst FormBusquedaYPreferidos = (props) => {\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768); \r\n \r\n const estiloContainer = (isMobile) ? {maxWidth: '100%'} : {};\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FormBusquedaYPreferidos;\r\n","import {FormatoFechaBonito, rootPath} from '../../../../services/utils.js'\r\n\r\nconst NovedadCabecera = (props) => {\r\n const picto = ( props.item.CodTipoRegistro === \"MUV\" ? rootPath + \"img/novedad2.svg\" : (props.item.CodTipoRegistro === \"PPF\" ? rootPath + \"img/novedad3.svg\" : rootPath + \"img/novedad1.svg\"));\r\n const fecha = ( props.item.FechaAlta ? FormatoFechaBonito(props.item.FechaAlta) : '');\r\n\r\n const CambiaPaginaFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"Ficha\"+it.CodTipoRegistro,\r\n newid: it.Id,\r\n });\r\n }\r\n\r\n \r\n return (\r\n
    CambiaPaginaFicha(props.item)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n
    \r\n {fecha}\r\n
    \r\n

    \r\n {props.item.NombreCompleto}\r\n

    \r\n
    \r\n

    \r\n {props.item.TipoRegistro}\r\n

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default NovedadCabecera;\r\n\r\n","import NovedadCabecera from \"./NovedadCabecera\";\r\n\r\n\r\nconst NovedadesInicioCabecera = (props) => {\r\n const listaNovedades = props.lista;\r\n\r\n const novedades = listaNovedades ? (\r\n listaNovedades.map(fila => )\r\n ):(\r\n
    \r\n );\r\n \r\n\r\n return (\r\n
    \r\n
    \r\n

    Novedades

    \r\n
    \r\n
    \r\n {novedades}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\n export default NovedadesInicioCabecera;\r\n","import {FormatoFechaBonito, rootPath} from '../../../../services/utils.js'\r\n\r\nconst NovedadResto = (props) => {\r\n\r\n const picto = ( props.item.CodTipoRegistro === \"MUV\" ? rootPath + \"img/novedad2.svg\" : (props.item.CodTipoRegistro === \"PPF\" ? rootPath + \"img/novedad3.svg\" : rootPath + \"img/novedad1.svg\"));\r\n const fecha = ( props.item.FechaAlta ? FormatoFechaBonito(props.item.FechaAlta) : '');\r\n\r\n const CambiaPaginaFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"Ficha\"+it.CodTipoRegistro,\r\n newid: it.Id,\r\n });\r\n }\r\n\r\n \r\n return (\r\n
  • CambiaPaginaFicha(props.item)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n
    \r\n {fecha}\r\n

    \r\n {props.item.NombreCompleto}\r\n

    \r\n

    \r\n {props.item.TipoRegistro}\r\n

    \r\n
    \r\n
  • \r\n );\r\n};\r\n\r\nexport default NovedadResto;\r\n","import NovedadResto from \"./NovedadResto\";\r\n\r\nconst NovedadesInicioCuerpo = (props) => {\r\n const listaNovedades = props.lista;\r\n\r\n const novedades = listaNovedades ? (\r\n listaNovedades.map(fila => )\r\n ):(\r\n
    \r\n );\r\n \r\n\r\n \r\n return (\r\n
    \r\n
      \r\n {novedades}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\n export default NovedadesInicioCuerpo;\r\n \r\n ","import { rootPath } from \"../../../../services/utils\";\r\n\r\nconst NovedadesInicioPie = (props) => {\r\n\r\n const vesAUltimoMes = (codigo) =>{\r\n CambiaPaginaSimple(\"BNovedadesUltimoMes\")\r\n }\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n vesAUltimoMes()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowRightWhite\"\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default NovedadesInicioPie;\r\n ","import React, { useEffect, useState } from \"react\";\r\nimport NovedadesInicioCabecera from \"./NovedadesInicioCabecera\";\r\nimport NovedadesInicioCuerpo from \"./NovedadesInicioCuerpo\";\r\nimport NovedadesInicioPie from \"./NovedadesInicioPie\";\r\nimport BP2022Service, {getNovedades} from \"../../../../services/user.service\";\r\n\r\nconst NovedadesInicio = (props) => {\r\n const [listaNovedades, setListaNovedades] = useState(null);\r\n\r\n useEffect(() => {\r\n descargaNovedades();\r\n }, [])\r\n \r\n const descargaNovedades = () => {\r\n BP2022Service.getNovedades()\r\n .then((response) => {\r\n setListaNovedades(response.data.Resultados);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const primerasNovedades = listaNovedades ? (\r\n listaNovedades.slice(0,2)\r\n ):(\r\n null\r\n );\r\n \r\n const restoNovedades = listaNovedades ? (\r\n listaNovedades.slice(2)\r\n ):(\r\n null\r\n );\r\n\r\n var estiloDivContent = (props.ancho && props.ancho !== '') ? {width : props.ancho} : {}\r\n \r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default NovedadesInicio;\r\n ","import {FormatoFechaDDMMYYYY} from '../../../../services/utils.js'\r\n\r\nconst ProblemaSuministro = (props) => {\r\n const ano = ( props.item.FechaFinPS ? props.item.FechaFinPS.substring(0,4) : '');\r\n const fecha = ( ano>1900 ? \"Finalización prevista: \" + FormatoFechaDDMMYYYY (props.item.FechaFinPS) : '');\r\n\r\n const CambiaPaginaFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"Ficha\"+it.CodTipoRegistro,\r\n newid: it.Id,\r\n });\r\n }\r\n\r\n\r\n return (\r\n
  • CambiaPaginaFicha(props.item)} style={{cursor:'pointer'}}>\r\n

    \r\n {props.item.NombreCompleto}\r\n

    \r\n

    \r\n {fecha}\r\n

    \r\n
  • \r\n );\r\n};\r\n\r\nexport default ProblemaSuministro;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport ProblemaSuministro from \"./ProblemaSuministro\";\r\nimport BP2022Service, {getProductosConPS} from \"../../../../services/user.service\";\r\nimport { PerfilUsuario, rootPath } from \"../../../../services/utils\";\r\n\r\nconst ProblemasSuministroInicio = (props) => {\r\n const [listaItems, setListaItems] = useState(null);\r\n\r\n useEffect(() => {\r\n descargaPS();\r\n }, [])\r\n \r\n const descargaPS = () => {\r\n BP2022Service.getProductosConPS(6)\r\n .then((response) => {\r\n setListaItems(response.data.Resultados);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const problemas = listaItems ? (\r\n listaItems.map(fila => )\r\n ):(\r\n
    \r\n );\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n \r\n const vesAUltimoMes = (codigo) =>{\r\n //CambiaPaginaSimple(\"BMedicamentosPSUltimoMes\")\r\n CambiaPaginaSimple(\"FBProblemasSumMUH\")\r\n }\r\n\r\n const rol = PerfilUsuario();\r\n const classButton = (rol === \"COL\" ? \"button button__arrow button__grey\" : \"button button__arrow button__purple\")\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ProblemasSuministroInicio;\r\n\r\n","import { PerfilUsuario } from \"../../../services/utils\";\r\nimport NovedadesInicio from \"./Novedades/NovedadesInicio\";\r\nimport ProblemasSuministroInicio from \"./ProblemasSuministro/ProblemasSuministroInicio\";\r\n\r\nconst NovedadesYProblemasSuministro = (props) => {\r\n var perfil = PerfilUsuario();\r\n //perfil = \"CLI\";\r\n var anchoNovedades = (perfil === \"EST\" || perfil === \"INS\")? '100%' : '';\r\n return (\r\n
    \r\n
    \r\n \r\n {(perfil!==\"EST\" && perfil!==\"INS\")?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default NovedadesYProblemasSuministro;\r\n","import {FormatoFechaBonito} from '../../../../services/utils.js'\r\n\r\nconst Nota = (props) => {\r\n const ano = ( props.item.Fecha ? props.item.Fecha.substring(0,4) : '');\r\n const fecha = ( ano>1900 ? FormatoFechaBonito (props.item.Fecha) : '');\r\n const tipoDoc = (props.item.IdTipo===15 ? \"Nota seguridad AEMPS\": \r\n (props.item.IdTipo===30 ? \"Alerta de calidad\" : \r\n (props.item.IdTipo===41 ? \"Nota de seguridad veterinaria\" : \r\n (props.item.IdTipo===44 ? \"Nota informativa AEMPS\" : \r\n (props.item.IdTipo===48 ? \"Nota informativa AESAN\" : \r\n (props.item.IdTipo===64 ? \"Nota informativa AEMPS\" : \r\n \"Otro\"\r\n ))))))\r\n var titulo = (props.item.Titulo.toLowerCase().endsWith(\".pdf\") ? props.item.Titulo.substring(0,props.item.Titulo.length - 4) : props.item.Titulo) \r\n\r\n if (titulo.substring(0,17).toUpperCase()===\"NOTA INFORMATIVA \")\r\n titulo = titulo.substring(17);\r\n else if (titulo.substring(0,15).toUpperCase()===\"NOTA SEGURIDAD \")\r\n titulo = titulo.substring(15);\r\n else if (titulo.substring(0,14).toUpperCase()===\"NOTA SEGURIDA \")\r\n titulo = titulo.substring(14);\r\n else if (titulo.substring(0,5).toUpperCase()===\"NOTA \")\r\n titulo = titulo.substring(17);\r\n else if (titulo.substring(0,3).toUpperCase()===\"NI \")\r\n titulo = titulo.substring(17);\r\n else if (titulo.substring(0,15).toUpperCase()===\"ALERTA CALIDAD \")\r\n titulo = titulo.substring(15);\r\n else if (titulo.substring(0,23).toUpperCase()===\"ALERTA DE MEDICAMENTOS \")\r\n titulo = titulo.substring(23);\r\n else if (titulo.substring(0,21).toUpperCase()===\"ALERTA DE VIGILANCIA \")\r\n titulo = titulo.substring(21);\r\n else if (titulo.substring(0,7).toUpperCase()===\"ALERTA \")\r\n titulo = titulo.substring(7);\r\n else if (titulo.substring(0,18).toUpperCase()===\"AMPLIACION ALERTA \")\r\n titulo = \"Ampliación alerta \" + titulo.substring(18);\r\n else if (titulo.substring(0,11).toUpperCase()===\"AMPLIACION \")\r\n titulo = \"Ampliación \" + titulo.substring(11);\r\n\r\n if (titulo !== \"\")\r\n titulo = titulo.substring(0,1) + titulo.substring(1);\r\n\r\n \r\n\r\n return (\r\n\r\n
  • \r\n \r\n \r\n {fecha}\r\n \r\n

    \r\n

    \r\n {titulo}\r\n

    \r\n

    \r\n {tipoDoc}\r\n

    \r\n
    \r\n
  • \r\n );\r\n};\r\n\r\nexport default Nota;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Nota from \"./Nota\";\r\nimport BP2022Service, {getUltimasNotasYAlertas} from \"../../../../services/user.service\";\r\nimport { rootPath } from \"../../../../services/utils\";\r\n\r\nconst NotasSeguridadYAlertasCalidad = (props) => {\r\n const [listaItems, setListaItems] = useState(null);\r\n\r\n useEffect(() => {\r\n descargaNotasYAlertas();\r\n }, [])\r\n \r\n const descargaNotasYAlertas = () => {\r\n BP2022Service.getUltimasNotasYAlertas(3)\r\n .then((response) => {\r\n setListaItems(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const notas = listaItems ? (\r\n listaItems.map(fila => )\r\n ):(\r\n
    \r\n );\r\n \r\n const vesAUltimoMes = (codigo) =>{\r\n CambiaPaginaSimple(\"FBDocumentos\")\r\n }\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"alertas\"\r\n
    \r\n
    \r\n

    Notas de seguridad y Alertas de calidad

    \r\n
    \r\n
    \r\n
      \r\n {notas}\r\n
    \r\n
    \r\n vesAUltimoMes()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowRightWhite\"\r\n \r\n
    \r\n
    \r\n
    \r\n\t
    \r\n );\r\n};\r\n \r\nexport default NotasSeguridadYAlertasCalidad;\r\n ","import FormBusquedaYPreferidos from \"./Principal/FormBusquedaYPreferidos\";\r\nimport NovedadesYProblemasSuministro from \"./Apartados/NovedadesYProblemasSuministro\";\r\nimport NotasSeguridadYAlertasCalidad from \"./Apartados/NotasYAlertas/NotasSeguridadYAlertasCalidad\";\r\nimport { PerfilUsuario } from \"../../services/utils\";\r\n\r\nconst Inicio = (props) => {\r\n return (\r\n
    \r\n \r\n \r\n {(PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\")?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default Inicio;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport BusqMedsService from \"../../../services/user.service\";\r\nimport SugerenciasService from \"../../../services/sugerencias.service\";\r\nimport Sugerencias from \"../../Utilidades/Sugerencias/Sugerencias\";\r\nimport { rootPath } from \"../../../services/utils\";\r\n\r\nconst FormCabeceraResultados = (props) => {\r\n const [texto, setTexto] = useState(props.infoPagina.texto);\r\n const [listaSugerencias, setListaSugerencias] = useState(null);\r\n if (props.infoPagina.fuerzaTexto)\r\n {\r\n if (props.infoPagina.texto != null)\r\n {\r\n if (props.infoPagina.texto != texto)\r\n {\r\n setTexto(props.infoPagina.texto);\r\n }\r\n }\r\n }\r\n\r\n const onChangeTexto = (e) => {\r\n //props.infoPagina.texto = e.target.value;\r\n props.infoPagina.fuerzaTexto = false;\r\n setTexto(e.target.value.replace('%',' '));\r\n SugerenciasService.getPalabras(encodeURIComponent(texto),\"TOT\").then((response) => {\r\n setListaSugerencias(response.data);\r\n })\r\n };\r\n\r\n const verResultados = (lista) =>{\r\n props.cambiaPagina({\r\n newpagina: \"BInicio\",\r\n newlista: lista,\r\n texto: texto,\r\n });\r\n };\r\n\r\n const compruebaSiEnter = (e) => {\r\n if (e.key === 'Enter')\r\n busqueda();\r\n }\r\n \r\n const busqueda = () => {\r\n var auxtexto = texto.replace('%',' ') //encodeURI(texto)\r\n if (auxtexto)\r\n if (auxtexto.trim().length > 0)\r\n props.cambiaPagina({\r\n newpagina: \"BInicio\",\r\n newlista: null,\r\n texto: auxtexto,\r\n opb: BusqMedsService.getOpcionBusqueda(),\r\n });\r\n \r\n };\r\n\r\n return (\r\n
    \r\n compruebaSiEnter(e)} \r\n />\r\n \"\" busqueda()} style={{cursor:'pointer'}}/>\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default FormCabeceraResultados;\r\n","const TituloBusqueda = (props) => {\r\n const tipo = props.infoPagina.codigoPagina.substring(props.infoPagina.codigoPagina.length-1,props.infoPagina.codigoPagina.length);\r\n\r\n\r\n const imagen = (props.infoPagina.codigoPagina===\"BEnfermedadesPATH\") ?\r\n \"/img/ficha/enfHumana.png\"\r\n : (props.infoPagina.codigoPagina===\"BEnfermedadesPATV\") ?\r\n \"/img/ficha/enfVet.png\"\r\n : (props.infoPagina.codigoPagina===\"BDocumentos\") ?\r\n \"/img/ficha/alertas.svg\"\r\n : (tipo === \"V\") ?\r\n \"/img/ficha/dog.svg\"\r\n : (tipo===\"F\") ?\r\n \"/img/ficha/paraf.png\"\r\n : \r\n \"/img/ficha/human.svg\";\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    {props.infoPagina.titulo}

    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TituloBusqueda;\r\n","import React, { useState } from \"react\";\r\nimport VolverCabeceraResultados from \"./VolverCabeceraResultados\";\r\nimport FormCabeceraResultados from \"./FormCabeceraResultados\";\r\nimport MisBuscadoresCabeceraResultados from \"./MisBuscadoresCabeceraResultados\";\r\nimport TituloBusqueda from \"./TituloBusqueda\";\r\n\r\n\r\nconst CabeceraResultados = (props) => {\r\n var textoVolver = \"\"\r\n if (props.infoPagina.tipoPagina===\"Ficha\")\r\n textoVolver=\"Volver\";\r\n\r\n if (props.infoPagina.tipoPagina===\"ResultadosBusqueda\")\r\n textoVolver = \"Volver\";\r\n\r\n if ((props.infoPagina.codigoPagina === \"BNovedadesUltimoMes\")\r\n ||(props.infoPagina.codigoPagina === \"BMedicamentosPSUltimoMes\"))\r\n textoVolver = \"Modificar fechas búsqueda\"\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {\r\n (props.infoPagina.titulo) && (props.infoPagina.titulo!=\"\") ?\r\n \r\n :\r\n \r\n }\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CabeceraResultados;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaFM = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n idsSel: [id,],\r\n });\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    CambiaPaginaPorId('BInteraccionesMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n Interacciones\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaFM;\r\n","import { FormatoFechaDDMMYYYY } from \"../../../../services/utils\";\r\n\r\nconst AvisoPriciosFuturos = (props) => {\r\n const fecha = props.fecha;\r\n return (\r\n
    \r\n \r\n icon/aviso\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Nuevos precios a partir de {FormatoFechaDDMMYYYY(fecha)}\r\n
    \r\n )\r\n}\r\nexport default AvisoPriciosFuturos;\r\n","import { numberWithCommas } from \"../../../services/utils\";\r\nimport AvisoPreciosFuturos from \"../FichaMUH/InfoPrincipal/AvisoPreciosFuturos\";\r\n\r\nconst PreciosFM = (props) => {\r\n const ficha = props.ficha;\r\n const tienePreciosFuturos = (ficha.PFuturos !== null)\r\n const tienePMenorCCAA = ((ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMenor>0) || (ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA && ficha.PFuturos.AgrupacionCCAA.PVPMenor>0))\r\n const literalPMenor = (ficha.AgrupacionCCAA ? (!ficha.AgrupacionCCAA.LiteralPMenor || ficha.AgrupacionCCAA.LiteralPMenor === '') ? (ficha.IdCCAA===5 || ficha.IdCCAA===18 || ficha.IdCCAA===19 ? 'PVP': 'PVP con IVA') : ficha.AgrupacionCCAA.LiteralPMenor : '');\r\n\r\n return (\r\n
    \r\n\r\n
    \r\n {(tienePreciosFuturos ?\r\n \r\n :\r\n
    \r\n )}\r\n
    \r\n
    \r\n

    {ficha.CCAA}

    \r\n
    \r\n {(!ficha.LiteralPrecioFM || ficha.LiteralPrecioFM === \"\") ?\r\n
    \r\n

    {literalPMenor}

    \r\n {(ficha.AgrupacionCCAA ?\r\n (ficha.AgrupacionCCAA.PVPMenor>0 ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )}\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.AgrupacionCCAA ?\r\n (ficha.PFuturos.AgrupacionCCAA.PVPMenor>0 ?\r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )\r\n :\r\n \r\n )}\r\n {(tienePMenorCCAA ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n :\r\n
    \r\n

    {ficha.LiteralPrecioFM}

    \r\n {\r\n (ficha.PVPIVA>0 ?\r\n

    {numberWithCommas(ficha.PVPIVA)}

    \r\n : \r\n

    -

    \r\n )\r\n }\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.PVPIVA>0 ?\r\n

    {numberWithCommas(ficha.PFuturos.PVPIVA)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n \r\n )}\r\n {(ficha.PVPIVA>0 ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n)\r\n}\r\nexport default PreciosFM;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaMUV = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n {(\r\n ficha.Prospecto ?\r\n \r\n :\r\n \r\n )}\r\n {(\r\n ficha.FichaTecnica ?\r\n \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaMUV;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaPA = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n var link = \"BPAMUH\";\r\n switch (ficha.CodTipoRegistro){\r\n case \"PAH\":\r\n link = \"BPAMUH\";\r\n break;\r\n case \"PAV\":\r\n link = \"BPAMUV\";\r\n break;\r\n case \"ASO\":\r\n case \"ASOH\":\r\n link = \"BAsoMUH\";\r\n break;\r\n case \"ASOV\":\r\n link = \"BAsoMUV\";\r\n break;\r\n case \"ING\":\r\n link = \"BIngPPF\";\r\n break;\r\n }\r\n\r\n const CambiaPaginaInteracciones = (pagina, id) => {\r\n var idInter = id;\r\n switch (ficha.CodTipoRegistro){\r\n case \"PAH\":\r\n idInter = id;\r\n break;\r\n case \"ASO\":\r\n case \"ASOH\":\r\n idInter = id + 1000000;\r\n break;\r\n case \"ING\":\r\n idInter = id + 2000000;\r\n break;\r\n }\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n idsSel: [idInter,],\r\n });\r\n }\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n {(ficha.CodTipoRegistro === \"PAH\" || ficha.CodTipoRegistro === \"ASO\" || ficha.CodTipoRegistro === \"ASOH\" || ficha.Interactua) ?\r\n
    CambiaPaginaInteracciones('BInteraccionesMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Interacciones\r\n
    \r\n :\r\n
    \r\n }\r\n {(ficha.CodTipoRegistro !== \"ING\") ?\r\n
    CambiaPaginaPorId(link,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Medicamentos \r\n
    \r\n :\r\n
    CambiaPaginaPorId(link,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Productos \r\n
    \r\n }\r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaPA;\r\n","const FilaTablaTipoDyF = (props) => {\r\n const claseValor = (props.fila.valor === props.fila.valorPositivo ? \r\n \"col-d positivo\"\r\n :\r\n \"col-d\"\r\n )\r\n\r\n const estiloValor = (props.estiloValor ? props.estiloValor : {});\r\n\r\n return (\r\n
    \r\n
    {props.fila.titulo}
    \r\n
    {props.fila.valor}
    \r\n
    \r\n )\r\n}\r\nexport default FilaTablaTipoDyF;\r\n","import FilaTablaTipoDyF from \"../FichaMUH/InfoPrincipal/FilaTablaTipoDyF\";\r\n\r\nconst TablaInfoPrincipalPA = (props) => {\r\n const ficha = props.ficha;\r\n const valorPsicotropo = (ficha.Psicotropo === \"Sí\") ? 'Sí. ' + ficha.EstupefacientePsicotropo.DescripcionPsicotropo : ficha.Psicotropo;\r\n const valorDopaje = (ficha.Dopaje === \"Sí\") ? 'Sí. ' + ficha.DescripcionDopaje.DescripcionPsicotropo : ficha.Dopaje;\r\n var tabla = [\r\n {\r\n titulo:'Dopaje',\r\n valor: valorDopaje,\r\n valorPositivo: (ficha.Dopaje === \"Sí\") ? 'Sí. ' + ficha.DescripcionDopaje.DescripcionPsicotropo : 'Sí',\r\n },\r\n {\r\n titulo:'Estupefaciente / Psicotropo',\r\n valor: valorPsicotropo,\r\n valorPositivo: (ficha.Psicotropo === \"Sí\") ? 'Sí. ' + ficha.EstupefacientePsicotropo.DescripcionPsicotropo : 'Sí',\r\n },\r\n ]\r\n\r\n if (ficha.CodTipoRegistro === \"ASOV\" || ficha.CodTipoRegistro=== \"PAV\"){\r\n tabla = tabla.filter(item => item.valor !== \"No\");\r\n }\r\n\r\n const estiloValor = {width : '90%'};\r\n\r\n const tablaHTML = ((ficha.CodTipoRegistro === \"PAH\") ? \r\n tabla.map(fila => )\r\n : \r\n tabla.map(fila => )\r\n );\r\n if (tabla && tabla.length>0){ \r\n return (\r\n
    \r\n

    Características especiales

    \r\n
    \r\n {tablaHTML}\r\n
    \r\n
    \r\n )\r\n }else{\r\n return(<>);\r\n }\r\n\r\n}\r\nexport default TablaInfoPrincipalPA;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaPAT = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n const linkIndic = (ficha.TipoPat === \"V\")? \"BIndicacionMUV\" : \"BIndicacionMUH\";\r\n const linkIndicPF = \"BIndicacionPPF\";\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n }\r\n\r\n return (\r\n
    \r\n {ficha.TipoPat===\"H\" ?\r\n <>\r\n
    \r\n
    CambiaPaginaPorId(linkIndic,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Medicamentos indicados \r\n
    \r\n
    CambiaPaginaPorId('BContraindicacionMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Contraindicados \r\n
    \r\n
    CambiaPaginaPorId('BPrecaucionMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Con uso precautorio \r\n
    \r\n
    CambiaPaginaPorId('BReaccionAdversaMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Que la incluyen como RAM \r\n
    \r\n
    \r\n {ficha.VisibleEnPF && ficha.TieneProductos ?\r\n
    \r\n
    CambiaPaginaPorId(linkIndicPF,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Productos \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n :\r\n
    \r\n
    CambiaPaginaPorId(linkIndic,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Medicamentos indicados \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default LinksFichaPAT;\r\n","import FilaTablaTipoDyF from \"../FichaMUH/InfoPrincipal/FilaTablaTipoDyF\";\r\n\r\nconst TablaInfoPrincipalPAT = (props) => {\r\n const ficha = props.ficha;\r\n const tabla = [\r\n {\r\n titulo:'Especialidad',\r\n valor: ficha.EspecialidadMedica,\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n const estiloValor = {width : '90%'};\r\n const tablaHTML = tabla.map(fila => )\r\n\r\n return (\r\n
    \r\n

    Características generales

    \r\n
    \r\n {tablaHTML}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default TablaInfoPrincipalPAT;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaPPF = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n const CambiaPaginaInteracciones = (pagina, id) => {\r\n var idInter = id + 2000000;\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n idsSel: [idInter,],\r\n });\r\n }\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n }\r\n\r\n\r\n\r\n\r\n const tieneCompos = ((ficha.DatosComposicion) && (ficha.DatosComposicion.Composiciones) && (ficha.DatosComposicion.Composiciones.length>0))\r\n //console.log(ficha);\r\n return (\r\n
    \r\n
    \r\n {(ficha.Interactua) ?\r\n
    CambiaPaginaInteracciones('BInteraccionesMUH',ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Interacciones\r\n
    \r\n :\r\n
    \r\n }\r\n {(\r\n ficha.Prospecto ?\r\n \r\n :\r\n \r\n )}\r\n {(\r\n ficha.FichaTecnica ?\r\n \r\n :\r\n \r\n )}\r\n {(\r\n ficha.IFU ?\r\n \r\n :\r\n \r\n )}\r\n {(\r\n ficha.FolletoInformativo ?\r\n \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaPPF;\r\n","import { getIdCCAA, numberWithCommas, rootPath } from \"../../../services/utils\";\r\nimport AvisoPreciosFuturos from \"../FichaMUH/InfoPrincipal/AvisoPreciosFuturos\";\r\n\r\nconst PreciosPPF = (props) => {\r\n const ficha = props.ficha;\r\n const tienePreciosFuturos = (ficha.PFuturos !== null)\r\n const tienePMenorCCAA = ((ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMenor>0) || (ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA && ficha.PFuturos.AgrupacionCCAA.PVPMenor>0))\r\n const tienePMasBajoCCAA = ((ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMasBajo>0) || (ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA && ficha.PFuturos.AgrupacionCCAA.PVPMasBajo>0))\r\n const literalPMenor = (ficha.AgrupacionCCAA ? ficha.AgrupacionCCAA.LiteralPMenor:\r\n tienePreciosFuturos ? \r\n (ficha.PFuturos.AgrupacionCCAA ? ficha.PFuturos.AgrupacionCCAA.LiteralPMenor : 'Precio menor'):\r\n 'Precio menor'\r\n )\r\n const LiteralPMasBajo = (ficha.AgrupacionCCAA ? ficha.AgrupacionCCAA.LiteralPMasBajo:\r\n tienePreciosFuturos ? \r\n (ficha.PFuturos.AgrupacionCCAA ? ficha.PFuturos.AgrupacionCCAA.LiteralPMasBajo : 'Precio más bajo'):\r\n 'Precio más bajo'\r\n )\r\n\r\n const estiloPreciosAltos = {fontSize:'25px'}\r\n const estiloVacio = {}\r\n const estiloPrecio = (ficha.PVPIVA>999999 ? estiloPreciosAltos : estiloVacio)\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n const estiloCuadroPrecios = (isMobile) ? {} : {maxWidth: '160px'}\r\n const estiloOtrosPrecios = (isMobile) ? {} : {maxWidth: '300px'}\r\n\r\n\r\n var idCCAA = getIdCCAA();\r\n var literalPVPIVA = (ficha.LiteralPrecio) ? ficha.LiteralPrecio : (idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? 'PVP sin IVA facturación': 'PVP con IVA facturación';\r\n\r\n var precioAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PVPsinIVA: ficha.PVPIVA);\r\n if ((idCCAA===18) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Ceuta\";\r\n if ((idCCAA===19) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Melilla\";\r\n\r\n var preciofuturoAMostrar = 0;\r\n if (tienePreciosFuturos){\r\n preciofuturoAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PFuturos.PVPsinIVA: ficha.PFuturos.PVPIVA);\r\n }\r\n \r\n return (\r\n
    \r\n
    \r\n

    \r\n {literalPVPIVA}\r\n { \r\n (ficha.InfoPrecio && ficha.InfoPrecio !== '') ?\r\n props.abreEmergenteInfoPrecio(e)}>\r\n \"\"/\r\n \r\n :\r\n <>\r\n }\r\n

    \r\n {(precioAMostrar>0) ?\r\n

    {numberWithCommas(precioAMostrar)}

    \r\n :\r\n

    -

    \r\n }\r\n {(tienePreciosFuturos && preciofuturoAMostrar !== precioAMostrar ?\r\n (preciofuturoAMostrar>0) ?\r\n

    {numberWithCommas(preciofuturoAMostrar)}

    \r\n :\r\n

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n
    \r\n {(tienePreciosFuturos ?\r\n \r\n :\r\n
    \r\n )}\r\n
    \r\n
    \r\n

    {ficha.CCAA}

    \r\n
    \r\n
    \r\n

    {literalPMenor}

    \r\n {(ficha.AgrupacionCCAA ?\r\n (ficha.AgrupacionCCAA.PVPMenor>0 ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )}\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.AgrupacionCCAA ?\r\n (ficha.PFuturos.AgrupacionCCAA.PVPMenor>0 && (!ficha.AgrupacionCCAA || ficha.PFuturos.AgrupacionCCAA.PVPMenor!==ficha.AgrupacionCCAA.PVPMenor) ?\r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    \r\n )\r\n :\r\n

    \r\n )\r\n :\r\n \r\n )}\r\n {(tienePMenorCCAA ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n

    {LiteralPMasBajo}

    \r\n {(ficha.AgrupacionCCAA ?\r\n (ficha.AgrupacionCCAA.PVPMasBajo>0 ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMasBajo)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )}\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.AgrupacionCCAA ?\r\n (ficha.PFuturos.AgrupacionCCAA.PVPMasBajo>0 && (!ficha.AgrupacionCCAA || ficha.PFuturos.AgrupacionCCAA.PVPMasBajo !== ficha.AgrupacionCCAA.PVPMasBajo) ?\r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMasBajo)}

    \r\n : \r\n

    \r\n )\r\n :\r\n

    \r\n )\r\n :\r\n \r\n )}\r\n {(tienePMasBajoCCAA ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n)\r\n}\r\nexport default PreciosPPF;\r\n","import FilaTablaTipoDyF from \"./FilaTablaTipoDyF\";\r\n\r\nconst DispensacionFacturacion = (props) => {\r\n const ficha = props.ficha;\r\n const tabla = [\r\n {\r\n titulo:'Receta médica',\r\n valor: ficha.Receta,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Dispensable en farmacia comunitaria',\r\n valor: ficha.Dispensable,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Financiado en farmacia comunitaria',\r\n valor: ficha.Financiado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Tipo de aportación',\r\n valor: ficha.TipoAportacion,\r\n valorPositivo: 'Normal',\r\n },\r\n {\r\n titulo:'Visado de inspección',\r\n valor: ficha.Visado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Sustituible',\r\n valor: ficha.Sustituible,\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n const tablaV = [\r\n {\r\n titulo:'Receta veterinaria',\r\n valor: ficha.Receta,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Dispensable en farmacia comunitaria',\r\n valor: ficha.Dispensable,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Financiado en farmacia comunitaria',\r\n valor: ficha.Financiado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Anotación en registro veterinaria',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LV').length > 0) ? 'Sí': '-',\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n\r\n const tablaFM = [\r\n {\r\n titulo:'Interoperable',\r\n valor: ficha.Interoperable,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Receta médica',\r\n valor: ficha.Receta,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Financiado en farmacia comunitaria',\r\n valor: ficha.Financiado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Tipo de aportación',\r\n valor: ficha.TipoAportacion,\r\n valorPositivo: 'Normal',\r\n },\r\n {\r\n titulo:'Visado de inspección',\r\n valor: ficha.Visado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Anotación en libro recetario',\r\n valor: ficha.LibroRecetario,\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n\r\n if (!ficha.Interoperable) tablaFM.splice(0,1);\r\n\r\n const tablaPF = [\r\n {\r\n titulo:'Receta médica',\r\n valor: ficha.Receta,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Dispensable en farmacia comunitaria',\r\n valor: ficha.Dispensable,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Financiado en farmacia comunitaria',\r\n valor: ficha.Financiado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Tipo de aportación',\r\n valor: ficha.TipoAportacion,\r\n valorPositivo: 'Normal',\r\n },\r\n {\r\n titulo:'Visado de inspección',\r\n valor: ficha.Visado,\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n\r\n if (ficha.CodTipoRegistro === \"MHO\"){\r\n tabla.splice(3,3);\r\n }\r\n\r\n const tablaHTML = ((ficha.CodTipoRegistro === \"MUV\") ? \r\n tablaV.map(fila => )\r\n : \r\n (((ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\") || (ficha.CodTipoRegistro === \"VI\")) ? \r\n tablaFM.map(fila => )\r\n :\r\n ((ficha.CodTipoRegistro === \"PPF\") ? \r\n tablaPF.map(fila => )\r\n :\r\n tabla.map(fila => )\r\n )\r\n )\r\n );\r\n return (\r\n
    \r\n

    Condiciones de dispensación y facturación

    \r\n
    \r\n {tablaHTML}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default DispensacionFacturacion;\r\n","import { PerfilUsuario, rootPath } from \"../../../../services/utils\";\r\n\r\nconst LinksFichaMUH = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n const CambiaPaginaInteracciones = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n idsSel: [id,],\r\n });\r\n }\r\n\r\n const perfil = PerfilUsuario();\r\n\r\n const colorlink = (perfil === \"COLx\" ? {color: '#999999', textDecoration:'none'} : {textDecoration:'none'})\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n {(\r\n ficha.CodTipoRegistro===\"MUH\" ?\r\n
    CambiaPaginaInteracciones('BInteraccionesMUH',ficha.Id)} style={{cursor:'pointer'}}\r\n >\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Interacciones\r\n
    \r\n : <>\r\n )}\r\n {(\r\n ficha.CodTipoRegistro===\"MUH\" ?\r\n
    CambiaPaginaPorId('BExtranjerosEXT',ficha.Id)} style={{cursor:'pointer'}}\r\n >\r\n
    \r\n \r\n
    \r\n mouseOverLink(e)}\r\n onMouseOut={(e) => mouseOutLink(e)}\r\n >Medicamentos extranjeros\r\n
    \r\n : <>\r\n )}\r\n {(\r\n ficha.Prospecto ?\r\n \r\n :\r\n \r\n )}\r\n {(\r\n ficha.FichaTecnica ?\r\n \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaMUH;\r\n","import { getIdCCAA, numberWithCommas, numberWithCommas2, rootPath } from \"../../../../services/utils\";\r\nimport AvisoPreciosFuturos from \"./AvisoPreciosFuturos\";\r\n\r\nconst PreciosResumen = (props) => {\r\n const ficha = props.ficha;\r\n const tienePreciosFuturos = (ficha.PFuturos !== null)\r\n const tienePMenorCCAA = ((ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMenor>0) || (ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA && ficha.PFuturos.AgrupacionCCAA.PVPMenor>0))\r\n const tienePMasBajoCCAA = ((ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMasBajo>0) || (ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA && ficha.PFuturos.AgrupacionCCAA.PVPMasBajo>0))\r\n const tienePFacturacion = ((ficha.PFact>0)||(tienePreciosFuturos) && (ficha.PFuturos.PFact>0));\r\n const ambitoHospitalario = ((ficha.DatosF && ficha.DatosF.some(e => e.CodigoDato === 'H' || e.CodigoDato === 'EC') ? false : false));\r\n const literalPMenor = (ficha.AgrupacionCCAA ? ficha.AgrupacionCCAA.LiteralPMenor:\r\n tienePreciosFuturos ? \r\n (ficha.PFuturos.AgrupacionCCAA ? ficha.PFuturos.AgrupacionCCAA.LiteralPMenor : 'Precio menor'):\r\n 'Precio menor'\r\n )\r\n const LiteralPMasBajo = (ficha.AgrupacionCCAA ? ficha.AgrupacionCCAA.LiteralPMasBajo:\r\n tienePreciosFuturos ? \r\n (ficha.PFuturos.AgrupacionCCAA ? ficha.PFuturos.AgrupacionCCAA.LiteralPMasBajo : 'Precio más bajo'):\r\n 'Precio más bajo'\r\n )\r\n\r\n const estiloPreciosAltos = {fontSize:'25px'}\r\n const estiloVacio = {}\r\n const estiloPrecio = (ficha.PVPIVA>999999 ? estiloPreciosAltos : estiloVacio)\r\n \r\n var idCCAA = getIdCCAA();\r\n var literalPVPIVA = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? 'PVP sin IVA': 'PVP con IVA');\r\n if (ambitoHospitalario) literalPVPIVA = \"PVL\";\r\n\r\n var precioAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PVPsinIVA: ficha.PVPIVA);\r\n if (ambitoHospitalario) precioAMostrar = ficha.PVL\r\n\r\n var preciofuturoAMostrar = 0;\r\n if (tienePreciosFuturos){\r\n preciofuturoAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PFuturos.PVPsinIVA: ficha.PFuturos.PVPIVA);\r\n if (ambitoHospitalario) preciofuturoAMostrar = ficha.PFuturos.PVL;\r\n }\r\n \r\n if (ficha.DatosF){\r\n if (ficha.DatosF.filter(e => e.CodigoDato === 'PN').length > 0){\r\n literalPVPIVA = literalPVPIVA + ' notificado';\r\n }\r\n }\r\n \r\n var idCCAA = getIdCCAA();\r\n\r\n const precioAComparar = (ficha.DatosF.filter(e => e.CodigoDato === 'PN').length > 0) ? \r\n (idCCAA==5 && ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMasBajo>0 && (ficha.DatosF.filter(e => e.CodigoDato === 'INSNS').length > 0)) ?\r\n ficha.AgrupacionCCAA.PVPMasBajo\r\n :\r\n ficha.PFact \r\n : \r\n (idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? \r\n ficha.PVPsinIVA \r\n : \r\n ficha.PFact //ficha.PVPIVA\r\n const precioAComparar2 = (ficha.DatosF.filter(e => e.CodigoDato === 'PN').length > 0) ? ficha.PFact : ficha.PFact //ficha.PVPIVA\r\n const mostrarAvisoPMenorAuto = (ficha.AgrupacionCCAA && ficha.AgrupacionCCAA.PVPMenor>0 && precioAComparar>0 && ficha.AgrupacionCCAA.PVPMenor0 && precioAComparar>0 && ficha.AgrupacionCCAA.PVPMasBajo0 && precioAComparar2>0 && ficha.AgrupacionNacional.PVPMenor0 && precioAComparar2>0 && ficha.AgrupacionNacional.PVPMasBajo\r\n {((mostrarAvisoPMasBajoAuto || mostrarAvisoPMenorAuto) ?\r\n

    \r\n {avisoprecioauto}\r\n

    \r\n :\r\n <>\r\n )}\r\n {((mostrarAvisoPMasBajoNac || mostrarAvisoPMenorNac) ?\r\n

    \r\n {avisoprecionac}\r\n

    \r\n :\r\n <>\r\n )}\r\n \r\n :\r\n <>\r\n );\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n {literalPVPIVA}\r\n { \r\n (ficha.InfoPrecio && ficha.InfoPrecio !== '') ?\r\n props.abreEmergenteInfoPrecio(e)}>\r\n \"\"/\r\n \r\n :\r\n <>\r\n }\r\n

    \r\n {(precioAMostrar>0) ?\r\n

    {numberWithCommas(precioAMostrar)}

    \r\n :\r\n

    -

    \r\n }\r\n {(tienePreciosFuturos && preciofuturoAMostrar !== precioAMostrar ?\r\n (preciofuturoAMostrar>0) ?\r\n

    {numberWithCommas(preciofuturoAMostrar)}

    \r\n :\r\n

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n
    \r\n {(tienePreciosFuturos && \r\n (ficha.PFuturos.PVPIVA>0 || ficha.PFuturos.PVPsinIVA>0 || ficha.PFuturos.PFact>0 || \r\n (ficha.PFuturos.AgrupacionCCAA && \r\n (ficha.PFuturos.AgrupacionCCAA.PVPMenor > 0 || ficha.PFuturos.AgrupacionCCAA.PVPMasBajo > 0))) ?\r\n \r\n :\r\n
    \r\n )}\r\n
    \r\n
    \r\n

    Precio facturación

    \r\n {(tienePFacturacion && ficha.PFact>0) ?\r\n

    {numberWithCommas(ficha.PFact)}

    \r\n :\r\n

    -

    \r\n }\r\n {((tienePreciosFuturos && ficha.PFuturos.PFact>0 && ficha.PFuturos.PFact !== ficha.PFact) ?\r\n

    {numberWithCommas(ficha.PFuturos.PFact)}

    \r\n :\r\n

    \r\n )}\r\n {tienePFacturacion ?\r\n

    EUR

    \r\n : \r\n \r\n } \r\n
    \r\n {(ficha.CodTipoRegistro !== \"MHO\") ?\r\n
    \r\n

    {ficha.CCAA}

    \r\n
    \r\n
    \r\n

    {literalPMenor}

    \r\n {(ficha.AgrupacionCCAA ?\r\n (ficha.AgrupacionCCAA.PVPMenor>0 ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )}\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.AgrupacionCCAA ?\r\n (ficha.PFuturos.AgrupacionCCAA.PVPMenor>0 && (!ficha.AgrupacionCCAA || ficha.PFuturos.AgrupacionCCAA.PVPMenor!==ficha.AgrupacionCCAA.PVPMenor) ?\r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    \r\n )\r\n :\r\n

    \r\n )\r\n :\r\n \r\n )}\r\n {(tienePMenorCCAA ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n

    {LiteralPMasBajo}

    \r\n {(ficha.AgrupacionCCAA ?\r\n (ficha.AgrupacionCCAA.PVPMasBajo>0 ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMasBajo)}

    \r\n : \r\n

    -

    \r\n )\r\n :\r\n

    -

    \r\n )}\r\n {(tienePreciosFuturos ?\r\n (ficha.PFuturos.AgrupacionCCAA ?\r\n (ficha.PFuturos.AgrupacionCCAA.PVPMasBajo>0 && (!ficha.AgrupacionCCAA || ficha.PFuturos.AgrupacionCCAA.PVPMasBajo !== ficha.AgrupacionCCAA.PVPMasBajo) ?\r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMasBajo)}

    \r\n : \r\n

    \r\n )\r\n :\r\n

    \r\n )\r\n :\r\n \r\n )}\r\n {(tienePMasBajoCCAA ?\r\n

    EUR

    \r\n :\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n
    \r\n {infoAvisoPrecio}\r\n
    \r\n)\r\n}\r\nexport default PreciosResumen;\r\n","import { rootPath } from \"../../../../services/utils\";\r\n\r\nconst ItemTablaDF = (props) => {\r\n const item = props.item;\r\n const claseDiv = item.valor ? \"bloque green\" : \"bloque\";\r\n const srcImgTooltip = item.valor ? rootPath + \"img/checkGreen.svg\" : rootPath + \"img/checkKo.svg\" ;\r\n return (\r\n
    {item.sigla}\r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    {item.texto}

    \r\n
    \r\n
    \r\n
    \r\n)\r\n}\r\nexport default ItemTablaDF;\r\n","import ItemTablaDF from \"./ItemTablaDF\";\r\n\r\nconst TablaDatosFarmaceuticos = (props) => {\r\n const ficha = props.ficha;\r\n const tabla = [\r\n /*{\r\n sigla: 'A',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'A').length > 0),\r\n texto: 'Psicotropo anexo 2',\r\n },*/\r\n {\r\n sigla: 'AR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'AR').length > 0),\r\n texto: 'Aportación reducida',\r\n },\r\n {\r\n sigla: 'CPD',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPD').length > 0),\r\n texto: 'Visado de inspección',\r\n },\r\n {\r\n sigla: 'CPD75',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPD75').length > 0),\r\n texto: 'Visado de inspección en mayores de 75 años',\r\n },\r\n {\r\n sigla: 'DH',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'DH').length > 0),\r\n texto: 'Diagnóstico hospitalario',\r\n },\r\n {\r\n sigla: 'DIHSC',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'DIHSC').length > 0),\r\n texto: 'Reserva singular financiado solo en hospital',\r\n },\r\n {\r\n sigla: 'E',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'E').length > 0),\r\n texto: 'Estupefaciente',\r\n },\r\n {\r\n sigla: 'EC',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EC').length > 0),\r\n texto: 'Envase clínico',\r\n },\r\n {\r\n sigla: 'EFG',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EFG').length > 0),\r\n texto: 'Medicamento genérico',\r\n },\r\n {\r\n sigla: 'EXO',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EXO').length > 0),\r\n texto: 'Excluido SNS',\r\n },\r\n {\r\n sigla: 'EXOI',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EXOI').length > 0),\r\n texto: 'Excluido SNS con indicaciones financiadas',\r\n },\r\n {\r\n sigla: 'H',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'H').length > 0),\r\n texto: 'Uso hospitalario',\r\n },\r\n {\r\n sigla: 'INSNS',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'INSNS').length > 0),\r\n texto: 'Incluido SNS',\r\n },\r\n {\r\n sigla: 'IP',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'IP').length > 0),\r\n texto: 'Importación paralela',\r\n },\r\n {\r\n sigla: 'LE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LE').length > 0),\r\n texto: 'Anotación en libro estupefacientes',\r\n },\r\n {\r\n sigla: 'LR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LR').length > 0),\r\n texto: 'Anotación en libro recetario',\r\n },\r\n {\r\n sigla: 'MSP',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MSP').length > 0),\r\n texto: 'Medicamento susceptible de publicidad al público',\r\n },\r\n {\r\n sigla: 'MSR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MSR').length > 0),\r\n texto: 'Medicamento sin receta médica',\r\n },\r\n /*{\r\n sigla: 'MSR_L',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MSR_L').length > 0),\r\n texto: 'Medicamento sin receta limitación AEMPS venta web',\r\n },*/\r\n {\r\n sigla: 'MTP',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MTP').length > 0),\r\n texto: 'Medicamento tradicional plantas',\r\n },\r\n {\r\n sigla: 'P',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'P').length > 0),\r\n texto: 'Psicótropo',\r\n },\r\n {\r\n sigla: 'PN',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'PN').length > 0),\r\n texto: 'Medicamento con precio notificado',\r\n },\r\n {\r\n sigla: 'R',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'R').length > 0),\r\n texto: 'Receta médica',\r\n },\r\n {\r\n sigla: 'R_GIE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'R_GIE').length > 0),\r\n texto: 'Medicamento con receta en guía indicación enfermería',\r\n },\r\n {\r\n sigla: 'TLD',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'TLD').length > 0),\r\n texto: 'Tratamiento de larga duración',\r\n },\r\n {\r\n sigla: 'UNI-D',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'UNI-D').length > 0),\r\n texto: 'Medicamento autorizado en unidosis',\r\n },\r\n {\r\n sigla: 'VERIF',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'VERIF').length > 0),\r\n texto: 'Debe llevar dispositivos de seguridad',\r\n },\r\n {\r\n sigla: 'FI_RE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FI_RE').length > 0),\r\n texto: 'Financiado en receta electrónica',\r\n },\r\n ]\r\n\r\n\r\n if (ficha.IdCCAA === 1){\r\n tabla.push({\r\n sigla: 'CPD_A',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPD_A').length > 0),\r\n texto: 'Visado de inspección SAS',\r\n })\r\n }\r\n /*\r\n if (ficha.IdCCAA === 2){\r\n tabla.push({\r\n sigla: 'FI_RE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FI_RE').length > 0),\r\n texto: 'Financiado en receta electrónica',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 3){\r\n tabla.push({\r\n sigla: 'FI_RE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FI_RE').length > 0),\r\n texto: 'Financiado en receta electrónica',\r\n })\r\n }\r\n */\r\n\r\n if (ficha.IdCCAA === 5){\r\n tabla.push({\r\n sigla: 'FI_CA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FI_CA').length > 0),\r\n texto: 'Financiado Canarias (PAFCAN)',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 8){\r\n tabla.push({\r\n sigla: 'NO_D',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'NO_D').length > 0),\r\n texto: 'No dispensable, sustitución obligatoria',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 12){\r\n tabla.push({\r\n sigla: 'CATPR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CATPR').length > 0),\r\n texto: 'Medicamento en catálogo priorizado',\r\n });\r\n tabla.push({\r\n sigla: 'NODIS',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'NODIS').length > 0),\r\n texto: 'No dispensable por catálogo priorizado',\r\n });\r\n }\r\n\r\n if (ficha.IdCCAA === 13){\r\n tabla.push({\r\n sigla: 'CPDM',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPDM').length > 0),\r\n texto: 'Autovisado. Comunidad de Madrid',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 10){\r\n tabla.push({\r\n sigla: 'MF_VA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MF_VA').length > 0),\r\n texto: 'Incluido disfunción eréctil lesionados medulares',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 7){\r\n tabla.push({\r\n sigla: 'MF_VA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MF_VA').length > 0),\r\n texto: 'Incluido disfunción eréctil lesionados medulares',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 15){\r\n tabla.push({\r\n sigla: 'IN_NA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'IN_NA').length > 0),\r\n texto: 'Prestación farmacológica de ayuda a dejar de fumar',\r\n })\r\n }\r\n\r\n /*\r\n if (ficha.IdCCAA === 17){\r\n tabla.push({\r\n sigla: 'FI_RE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FI_RE').length > 0),\r\n texto: 'Financiado en receta electrónica',\r\n })\r\n }\r\n */\r\n\r\n\r\n const tablaV = [\r\n {\r\n sigla: 'ACV',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'ACV').length > 0),\r\n texto: 'Administración bajo control del veterinario',\r\n },\r\n {\r\n sigla: 'AEV',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'AEV').length > 0),\r\n texto: 'Administración exclusiva por el veterinario',\r\n },\r\n {\r\n sigla: 'E',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'E').length > 0),\r\n texto: 'Estupefaciente',\r\n },\r\n {\r\n sigla: 'P',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'P').length > 0),\r\n texto: 'Psicótropo',\r\n },\r\n {\r\n sigla: 'LE',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LE').length > 0),\r\n texto: 'Anotación en libro estupefacientes',\r\n },\r\n {\r\n sigla: 'LR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LR').length > 0),\r\n texto: 'Anotación en libro recetario',\r\n },\r\n {\r\n sigla: 'IP',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'IP').length > 0),\r\n texto: 'Importación paralela',\r\n },\r\n {\r\n sigla: 'MSR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MSR').length > 0),\r\n texto: 'Medicamento sin receta veterinaria',\r\n },\r\n {\r\n sigla: 'R',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'R').length > 0),\r\n texto: 'Receta veterinaria',\r\n },\r\n {\r\n sigla: 'HSI',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'HSI').length > 0),\r\n texto: 'Medicamento homeopático sin indicaciones aprobadas',\r\n },\r\n {\r\n sigla: 'LV',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LV').length > 0),\r\n texto: 'Anotación en libro veterinaria',\r\n },\r\n ]\r\n\r\n const tablaPF = [\r\n {\r\n sigla: 'INSNS',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'INSNS').length > 0),\r\n texto: 'Incluido SNS',\r\n },\r\n {\r\n sigla: 'EXO',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EXO').length > 0),\r\n texto: 'Excluido SNS',\r\n },\r\n {\r\n sigla: 'R',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'R').length > 0),\r\n texto: 'Receta médica',\r\n },\r\n {\r\n sigla: 'ANUL',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'ANUL').length > 0),\r\n texto: 'Aportación nula',\r\n },\r\n {\r\n sigla: 'AR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'AR').length > 0),\r\n texto: 'Aportación reducida',\r\n },\r\n {\r\n sigla: 'AN',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'AN').length > 0),\r\n texto: 'Aportación normal',\r\n },\r\n {\r\n sigla: 'CPD',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPD').length > 0),\r\n texto: 'Visado de inspección',\r\n },\r\n ]\r\n\r\n if (ficha.IdCCAA === 1){\r\n tablaPF.push({\r\n sigla: 'SAS-B',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'SAS-B').length > 0),\r\n texto: 'Andalucia, baja facturable un año',\r\n })\r\n tablaPF.push({\r\n sigla: 'SAS-V',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'SAS-V').length > 0),\r\n texto: 'Andalucia, visado',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 2){\r\n tablaPF.push({\r\n sigla: 'H ARA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'H ARA').length > 0),\r\n texto: 'Aragón, dieta hospitalaria para salud',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 5){\r\n tablaPF.push({\r\n sigla: 'EXCAN',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EXCAN').length > 0),\r\n texto: 'Canarias, excluido SCS',\r\n })\r\n tablaPF.push({\r\n sigla: 'INCAN',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'INCAN').length > 0),\r\n texto: 'MUFACE, ISFAS, MUGEJU: visado y aportación nula',\r\n })\r\n tablaPF.push({\r\n sigla: 'IN-CA',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'IN-CA').length > 0),\r\n texto: 'SCS sin visado y aportación nula',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 8){\r\n tablaPF.push({\r\n sigla: 'NO_D',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'NO_D').length > 0),\r\n texto: 'No dispensable, sustitución obligatoria',\r\n });\r\n }\r\n\r\n if (ficha.IdCCAA === 9){\r\n tablaPF.push({\r\n sigla: 'EXCAT',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'EXCAT').length > 0),\r\n texto: 'Excluido oferta CatSalut',\r\n })\r\n tablaPF.push({\r\n sigla: 'INCAT',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'INCAT').length > 0),\r\n texto: 'Incluido oferta CatSalut, validació sanit',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 12){\r\n tablaPF.push({\r\n sigla: 'GA-LI',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'GA-LI').length > 0),\r\n texto: 'Financiado en oficina de farmacia SERGAS',\r\n })\r\n tablaPF.push({\r\n sigla: 'GA-PS',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'GA-PS').length > 0),\r\n texto: 'No financiado en oficina de farmacia SERGAS',\r\n })\r\n }\r\n\r\n if (ficha.IdCCAA === 16){\r\n tablaPF.push({\r\n sigla: 'NDD_R',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'NDD_R').length > 0),\r\n texto: 'No dispensar dietoterápicos paciente residenciado',\r\n })\r\n }\r\n\r\n const tablaFM = [\r\n {\r\n sigla: 'R',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'R').length > 0),\r\n texto: 'Receta médica',\r\n },\r\n {\r\n sigla: 'MSR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'MSR').length > 0),\r\n texto: 'Medicamento sin receta médica',\r\n },\r\n {\r\n sigla: 'LR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LR').length > 0),\r\n texto: 'Anotación en libro recetario',\r\n },\r\n {\r\n sigla: 'FM_FI',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FM_FI').length > 0),\r\n texto: 'Incluido SNS',\r\n },\r\n {\r\n sigla: 'FM_PI',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FM_PI').length > 0),\r\n texto: 'Incluido SNS por indicación',\r\n },\r\n {\r\n sigla: 'AR',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FM_AR').length > 0),\r\n texto: 'Aportación reducida',\r\n },\r\n {\r\n sigla: 'AN',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'FM_AN').length > 0),\r\n texto: 'Aportación normal',\r\n },\r\n {\r\n sigla: 'CPD',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'CPD').length > 0),\r\n texto: 'Visado de inspección',\r\n },\r\n ]\r\n\r\n if (ficha.versionFM && ficha.versionFM === 2){\r\n tablaFM.splice(3,1,{sigla: 'INSNS', valor: (ficha.DatosF.filter(e => e.CodigoDato === 'INSNS').length > 0), texto: 'Incluido SNS'})\r\n tablaFM.splice(5,2,{sigla: 'AR', valor: (ficha.DatosF.filter(e => e.CodigoDato === 'AR').length > 0), texto: 'Aportación reducida'})\r\n }\r\n\r\n const tablaHTML = ((ficha.CodTipoRegistro === \"MUV\") ?\r\n tablaV.map(item => )\r\n :(ficha.CodTipoRegistro === \"PPF\") ? \r\n tablaPF.map(item => )\r\n :(ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\") || (ficha.CodTipoRegistro === \"VI\")? \r\n tablaFM.map(item => )\r\n :\r\n tabla.map(item => )\r\n );\r\n return (\r\n
    \r\n
    \r\n {tablaHTML}\r\n
    \r\n
    \r\n)\r\n}\r\nexport default TablaDatosFarmaceuticos;\r\n","import { PerfilUsuario, rootPath } from \"../../../../services/utils\";\r\nimport Ficha from \"../../Ficha\";\r\nimport LinksFichaFM from \"../../FichaFM/LinksFichaFM\";\r\nimport PreciosFM from \"../../FichaFM/PreciosFM\";\r\nimport LinksFichaMUV from \"../../FichaMUV/LinksFichaMUV\";\r\nimport LinksFichaPA from \"../../FichaPA/LinksFichaPA\";\r\nimport TablaInfoPrincipalPA from \"../../FichaPA/TablaInfoPrincipalPA\";\r\nimport LinksFichaPAT from \"../../FichaPAT/LinksFichaPAT\";\r\nimport TablaInfoPrincipalPAT from \"../../FichaPAT/TablaInfoPrincipalPAT\";\r\nimport LinksFichaPPF from \"../../FichaPPF/LinksFichaPPF\";\r\nimport PreciosPPF from \"../../FichaPPF/PreciosPPF\";\r\nimport DispensacionFacturacion from \"./DispensacionFacturacion\";\r\nimport LinksFichaMUH from \"./LinksFichaMUH\";\r\nimport PreciosResumen from \"./PreciosResumen\";\r\nimport TablaDatosFarmaceuticos from \"./TablaDatosFarmaceuticos\";\r\n\r\nconst ResumenInfo = (props) => {\r\n const ficha = props.ficha;\r\n var textoEncabezado = ficha.TipoRegistro;\r\n if (ficha.CodTipoRegistro === \"PPF\")\r\n textoEncabezado = ficha.TipoPF;\r\n if (ficha.CodTipoRegistro === \"MUV\")\r\n if (ficha.Homeopatico === \"S\")\r\n textoEncabezado = \"Medicamento homeopático veterinario\";\r\n const svgImagenH = (\r\n \r\n \r\n \r\n );\r\n const svgImagenV = (\r\n \r\n );\r\n const svgImagenPF = (\r\n \r\n );\r\n const svgImagenPAT = (\r\n \r\n );\r\n\r\n const svgImagenPATV = (\r\n \r\n );\r\n var svgImagen = svgImagenH;\r\n if ((ficha.CodTipoRegistro===\"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\"))\r\n svgImagen = svgImagenV;\r\n if ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\"))\r\n svgImagen = svgImagenPF;\r\n if ((ficha.CodTipoRegistro===\"PAT\")||(ficha.CodTipoRegistro===\"PATH\"))\r\n svgImagen = svgImagenPAT;\r\n if (ficha.CodTipoRegistro===\"PATV\")\r\n svgImagen = svgImagenPATV;\r\n\r\n return (\r\n
    \r\n
    \r\n {svgImagen}\r\n {textoEncabezado}\r\n
    \r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n {((ficha.CodTipoRegistro === \"MUV\") \r\n || (ficha.CodTipoRegistro === \"PAH\")\r\n || (ficha.CodTipoRegistro === \"ASO\")\r\n || (ficha.CodTipoRegistro === \"ASOH\")\r\n || (ficha.CodTipoRegistro === \"ASOV\")\r\n || (ficha.CodTipoRegistro === \"PAT\")\r\n || (ficha.CodTipoRegistro === \"PATH\")\r\n || (ficha.CodTipoRegistro === \"PATV\")\r\n || (ficha.CodTipoRegistro === \"ING\")\r\n || ((ficha.CodTipoRegistro === \"MHO\") && (ficha.PVPIVA === 0) && (ficha.PVPsinIVA === 0) && (!ficha.PreciosFuturos))\r\n || (ficha.CodTipoRegistro === \"PHO\")\r\n || (ficha.CodTipoRegistro === \"PAV\")) ?\r\n
    \r\n :\r\n (((ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\") || (ficha.CodTipoRegistro === \"VI\")) ?\r\n \r\n :\r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n (((ficha.IdTipoPF === 1) || (ficha.IdTipoPF === 13) || (ficha.IdTipoPF === 25) || (ficha.IdTipoPF === 6)) && (PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\")?\r\n \r\n :\r\n
    \r\n )\r\n :\r\n ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\")?\r\n \r\n :\r\n <>\r\n )\r\n )\r\n )\r\n }\r\n
    \r\n\r\n {\r\n (((ficha.CodTipoRegistro === \"PAH\") \r\n || (ficha.CodTipoRegistro === \"ASO\")\r\n || (ficha.CodTipoRegistro === \"PAV\")\r\n || (ficha.CodTipoRegistro === \"ASOV\")\r\n || (ficha.CodTipoRegistro === \"ASOH\")) ?\r\n \r\n :\r\n (((ficha.CodTipoRegistro === \"ING\")\r\n )?\r\n
    \r\n :\r\n ((ficha.CodTipoRegistro === \"PAT\" || ficha.CodTipoRegistro === \"PATV\" || ficha.CodTipoRegistro === \"PATH\") ?\r\n \r\n :\r\n ((ficha.CodTipoRegistro === \"PHO\") ?\r\n <>\r\n :\r\n ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\")?\r\n \r\n :\r\n <>\r\n )\r\n )\r\n )\r\n )\r\n )\r\n }\r\n \r\n {\r\n (((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro === \"MUH\") || (ficha.CodTipoRegistro === \"PPF\") \r\n || (ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\") || (ficha.CodTipoRegistro === \"VI\")) ?\r\n ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\")?\r\n \r\n :\r\n <>\r\n )\r\n :\r\n \r\n )\r\n }\r\n {\r\n (((ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\") || (ficha.CodTipoRegistro === \"VI\")) ?\r\n \r\n :\r\n ((ficha.CodTipoRegistro === \"MUV\") ?\r\n \r\n : \r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n \r\n : \r\n (((ficha.CodTipoRegistro === \"PAH\") || (ficha.CodTipoRegistro === \"PAV\")|| (ficha.CodTipoRegistro === \"PHO\") \r\n || (ficha.CodTipoRegistro === \"ASO\") || (ficha.CodTipoRegistro === \"ASOH\") || (ficha.CodTipoRegistro === \"ASOV\")\r\n || (ficha.CodTipoRegistro === \"ING\")\r\n )?\r\n \r\n : \r\n (((ficha.CodTipoRegistro === \"PAT\") || (ficha.CodTipoRegistro === \"PATH\") || (ficha.CodTipoRegistro === \"PATV\")\r\n )?\r\n \r\n : \r\n \r\n )\r\n )\r\n )\r\n )\r\n )\r\n }\r\n \r\n
    \r\n )\r\n}\r\nexport default ResumenInfo;\r\n\r\n","import ImagenConTooltip from \"../../../Utilidades/Tooltip/ImagenConTooltip\";\r\nimport Tippy from '@tippyjs/react';\r\nimport 'tippy.js/dist/tippy.css';\r\nimport 'tippy.js/themes/botplustt.css';\r\n\r\nconst FilaPictogramas = (props) => {\r\n const pictogramas = props.fila.map( picto =>\r\n \r\n \r\n \r\n )\r\n /*const pictogramas = props.fila.map( picto =>\r\n muestraHint(e)} /> \r\n )*/\r\n\r\n const muestraHint = (e) => {\r\n var element = e.target;\r\n element.dispatchEvent(new Event(\"onmouseover\"))\r\n } \r\n\r\n return (\r\n
    \r\n {pictogramas} \r\n
    \r\n )\r\n}\r\nexport default FilaPictogramas;\r\n","import { useState } from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport { divideArrayEnPartes, rootPath } from \"../../../../services/utils\";\r\nimport FilaPictogramas from \"./FilaPictogramas\";\r\n\r\nconst ZonaImagenYPictos = (props) => {\r\n const [sliderRef, setSliderRef] = useState(null)\r\n //const [sliderRef2, setSliderRef2] = useState(null)\r\n //const [muestraAmpliada, setMuestraAmpliada] = useState(false);\r\n const ficha = props.ficha;\r\n var literalCodigo = \"Cód. Nacional\";\r\n if ((ficha.CodTipoRegistro === \"PAH\") || (ficha.CodTipoRegistro === \"PAV\") || (ficha.CodTipoRegistro === \"PHO\"))\r\n literalCodigo = \"Cód. principio activo\"\r\n\r\n if ((ficha.CodTipoRegistro === \"ASOH\") || (ficha.CodTipoRegistro === \"ASOV\") || (ficha.CodTipoRegistro === \"ASO\"))\r\n literalCodigo = \"Cód. asociación\"\r\n\r\n if ((ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\") || (ficha.CodTipoRegistro === \"VI\"))\r\n literalCodigo = \"Código\"\r\n\r\n var textoEncabezado = ficha.TipoRegistro;\r\n if (ficha.CodTipoRegistro === \"PPF\")\r\n textoEncabezado = ficha.TipoPF;\r\n if (ficha.CodTipoRegistro === \"MUV\")\r\n if (ficha.Homeopatico === \"S\")\r\n textoEncabezado = \"Medicamento homeopático veterinario\";\r\n const svgImagenH = (\r\n \r\n \r\n \r\n );\r\n const svgImagenV = (\r\n \r\n );\r\n const svgImagenPF = (\r\n \r\n );\r\n\r\n const svgImagenPAT = (\r\n \r\n );\r\n\r\n const svgImagenPATV = (\r\n \r\n );\r\n\r\n var svgImagen = svgImagenH;\r\n if ((ficha.CodTipoRegistro===\"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\"))\r\n svgImagen = svgImagenV;\r\n if ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\"))\r\n svgImagen = svgImagenPF;\r\n if ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\"))\r\n svgImagen = svgImagenPAT;\r\n if (ficha.CodTipoRegistro===\"PATV\")\r\n svgImagen = svgImagenPATV;\r\n\r\n const imgDefecto = \r\n ((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\")) ? \r\n rootPath + \"img/perro.svg\" : \r\n ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\")) ? \r\n rootPath + \"img/jabonLiquido.svg\" : \r\n ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\")) ? \r\n rootPath + \"img/patHumana.svg\" : \r\n (ficha.CodTipoRegistro===\"PATV\") ? \r\n rootPath + \"img/patVet.svg\" : \r\n rootPath + \"img/person.svg\" ;\r\n const srcImagen = ((props.ficha.ImagenEnvase) ?\r\n (props.ficha.ImagenEnvase.URLFull != null ?\r\n props.ficha.ImagenEnvase.URLFull\r\n : \r\n props.ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ((props.ficha.ImagenFormula) ?\r\n props.ficha.ImagenFormula.URL\r\n :\r\n imgDefecto\r\n )\r\n );\r\n\r\n const srcImagenFF = (\r\n (ficha.CodTipoRegistro === \"PPF\") ?\r\n ((props.ficha.ImagenMatAcond) ?\r\n (props.ficha.ImagenMatAcond.URLFull != null ?\r\n props.ficha.ImagenMatAcond.URLFull\r\n : \r\n props.ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n )\r\n :\r\n ((props.ficha.ImagenFormaF) ?\r\n (props.ficha.ImagenFormaF.URLFull != null ?\r\n props.ficha.ImagenFormaF.URLFull\r\n : \r\n props.ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n )\r\n );\r\n const tieneImagenes = srcImagen !== '' || srcImagenFF !== ''; \r\n const arrayImgs = [];\r\n if (srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImageGrande(e)}/>
    )\r\n :

     

    \r\n\r\n const sliderSettings = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__1',\r\n }\r\n/*\r\n const sliderSettings2 = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__2',\r\n }\r\n*/ \r\n const tieneImagen = !(imgDefecto === srcImagen);\r\n\r\n /*const clickImagenMed = (e) => {\r\n const src = e.target.src;\r\n //const imagenLight = document.querySelector('.agregar-imagen');\r\n const contenedorLight = document.querySelector('.imagen-light');\r\n //imagenLight.src = src;\r\n contenedorLight.classList.toggle('show');\r\n //imagenLight.classList.toggle('showImage');\r\n }*/\r\n\r\n /*\r\n const clickContenedor = (e) => {\r\n const contenedorLight = document.querySelector('.imagen-light');\r\n //const imagenLight = document.querySelector('.agregar-imagen');\r\n //if (e.target !== imagenLight) {\r\n contenedorLight.classList.toggle('show');\r\n //imagenLight.classList.toggle('showImage');\r\n //}\r\n }\r\n */\r\n/*\r\n const clickImagen = (e) => {\r\n setMuestraAmpliada(true);\r\n }\r\n\r\n const clickCierra = (e) => {\r\n setMuestraAmpliada(false);\r\n }\r\n*/\r\n /*\r\n const clickContenedor = (e) => {\r\n const contenedorLight = document.querySelector('.imagen-light');\r\n //const imagenLight = document.querySelector('.agregar-imagen');\r\n //if (e.target !== imagenLight) {\r\n contenedorLight.classList.toggle('show');\r\n //imagenLight.classList.toggle('showImage');\r\n //}\r\n }\r\n */\r\n\r\n\r\n const maxHeight=350;\r\n const maxWidth=300;\r\n\r\n const estilhorizontal = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n const estilvertical = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', height: '100%', width: 'auto'}\r\n\r\n/*\r\n const estiloImagenFlotante = {verticalAlign:'middle',width:'70%',alignContent:'center',maxHeight:'70%'}\r\n if ((ficha.CodTipoRegistro===\"PAV\")||(ficha.CodTipoRegistro===\"PAH\")){\r\n estiloImagenFlotante.backgroundColor = '#FFFFFF'\r\n }\r\n*/\r\n\r\n const loadImage = (e) => {\r\n var h = e.target.height;\r\n if (h===maxHeight){\r\n e.target.style.height = '100%';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidth.toString() + 'px';\r\n e.target.style.maxHeight = maxHeight.toString() + 'px';\r\n }\r\n }\r\n\r\n const loadImageGrande = (e) => {\r\n var h = e.target.height;\r\n var w = e.target.width;\r\n var maxHeightG = window.innerHeight * 0.65;\r\n var maxWidthG = window.innerWidth * 0.65;\r\n if (h>=maxHeightG){\r\n e.target.style.height = maxHeightG.toString() + 'px';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n else if (w>=maxWidthG){\r\n e.target.style.height = 'auto';\r\n e.target.style.width = maxWidthG.toString() + 'px';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n }\r\n\r\n const seccionImagen = (tieneImagen ? \r\n
    \r\n {props.ficha.NombreCompleto} props.clickImagen(e)}\r\n onLoad={(e) => loadImage(e)}\r\n />\r\n \r\n {imagenesHTML}\r\n \r\n \"lupa\"\r\n
    \r\n :\r\n
    \r\n
    \r\n {props.ficha.NombreCompleto}\r\n
    \r\n

     

    \r\n

     

    \r\n
    \r\n )\r\n\r\n\r\n const pictogramasEnFilas = (((ficha.CodTipoRegistro === 'PAT') || (ficha.CodTipoRegistro === 'PATH') || (ficha.CodTipoRegistro === 'PATV') \r\n || (ficha.CodTipoRegistro === 'FM') || (ficha.CodTipoRegistro === 'PO') || (ficha.CodTipoRegistro === 'VI')) ?\r\n null\r\n :\r\n divideArrayEnPartes(ficha.Pictogramas,5) \r\n );\r\n\r\n const pictogramas = (pictogramasEnFilas) ? pictogramasEnFilas.map( fila => ) :
    ;\r\n var literalNumRegistro = Núm. registro;\r\n if (ficha.CodTipoRegistro === 'PPF')\r\n literalNumRegistro = Cód.  registro;\r\n /*if (ficha.LiteralCodigoRegistro)\r\n literalNumRegistro = ficha.LiteralCodigoRegistro;*/\r\n\r\n const tieneCodigoUdi = ((ficha.CodTipoRegistro === \"PPF\") && (ficha.IdTipoPF) && ((ficha.IdTipoPF === 1 || ficha.IdTipoPF === 13 || ficha.IdTipoPF === 25)) && (ficha.CodUDIDI) && (ficha.CodUDIDI !== ''))\r\n const tieneCodigo2 = tieneCodigoUdi;\r\n const estiloCodigos1 = (tieneCodigo2) ?\r\n {borderBottom : 'none'} \r\n :\r\n {};\r\n const estiloCodigos2 = (tieneCodigo2) ?\r\n {paddingTop : '5px'} \r\n :\r\n {}\r\n\r\n //ficha.CodUDIDI = ficha.CodUDIDI.substring(0,20) \r\n \r\n return (\r\n
    \r\n
    \r\n {svgImagen}\r\n {textoEncabezado}\r\n
    \r\n
    \r\n
    \r\n {ficha.NombreCompleto}\r\n
    \r\n
    \r\n {seccionImagen}\r\n {((ficha.CodTipoRegistro !== \"ING\" \r\n && ficha.CodTipoRegistro !== \"PAT\" \r\n && ficha.CodTipoRegistro !== \"PATH\" \r\n && ficha.CodTipoRegistro !== \"PATV\"\r\n && ficha.CodTipoRegistro !== \"PAH\"\r\n && ficha.CodTipoRegistro !== \"PAV\"\r\n && ficha.CodTipoRegistro !== \"PHO\"\r\n ) \r\n || ((ficha.CodTipoRegistro !== \"ING\") && (ficha.CodCAS) && (ficha.CodCAS != ''))\r\n || ((ficha.CodCIE) && (ficha.CodCIE != '') && false) \r\n ) ?\r\n
    \r\n {(ficha.CodTipoRegistro !== \"ING\" \r\n && ficha.CodTipoRegistro !== \"PAT\" \r\n && ficha.CodTipoRegistro !== \"PATH\" \r\n && ficha.CodTipoRegistro !== \"PATV\"\r\n && ficha.CodTipoRegistro !== \"PAH\"\r\n && ficha.CodTipoRegistro !== \"PAV\"\r\n && ficha.CodTipoRegistro !== \"PHO\"\r\n ) ?\r\n
    \r\n {literalCodigo}:\r\n {ficha.Codigo}\r\n
    \r\n :\r\n (ficha.CodTipoRegistro === \"PHO\") ?\r\n (ficha.Codigo && ficha.Codigo !== \"\") ?\r\n
    \r\n {literalCodigo}:\r\n {ficha.Codigo}\r\n
    \r\n :\r\n <>\r\n \r\n :\r\n ((ficha.CodCAS && ficha.CodCAS != '') ?\r\n
    Código CAS: \r\n {ficha.CodCAS}\r\n
    \r\n :\r\n ((ficha.CodCIE && ficha.CodCIE != '' && false) ?\r\n
    Código CIE: \r\n {ficha.CodCIE}\r\n
    \r\n :\r\n
    \r\n )\r\n )\r\n }\r\n {((ficha.NumRegistro && ficha.NumRegistro != '' && ficha.CodTipoRegistro !== \"FM\" && ficha.CodTipoRegistro !== \"PO\" && ficha.CodTipoRegistro !== \"VI\") ?\r\n
    \r\n {literalNumRegistro}:\r\n {ficha.NumRegistro}\r\n
    \r\n :\r\n
    \r\n )}\r\n
    \r\n :\r\n
    \r\n }\r\n {((tieneCodigoUdi)?\r\n (\r\n (ficha.CodUDIDI.length>20) ?\r\n
    \r\n
    \r\n
    Código UDI-DI:
    \r\n
    \r\n
    \r\n {ficha.CodUDIDI}\r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n
    Código UDI-DI:
    \r\n
    \r\n
    \r\n {ficha.CodUDIDI}\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n :\r\n <>\r\n )}\r\n {pictogramas}\r\n
    \r\n )\r\n}\r\nexport default ZonaImagenYPictos;\r\n","import ResumenInfo from \"./ResumenInfo\";\r\nimport ZonaImagenYPictos from \"./ZonaImagenYPictos\";\r\n\r\nconst InfoPrincipalMUH = (props) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default InfoPrincipalMUH;\r\n","import { RemoveClassNameToClassItems,elementIsOfClass } from \"../../../../services/utils\";\r\n\r\nconst FilaMenuIzquierda = (props) => {\r\n const claseDiv = (props.apartado.Ancla === props.activo) ? \"elemento active elemento__menu__ficha\" : \"elemento elemento__menu__ficha\";\r\n const iddiv = \"RefTo\" + props.apartado.Ancla;\r\n\r\n const handleScrollToElement = (idAncla,e) => {\r\n const linkRef = props.anclas.find(ancla => ancla.idAncla === idAncla).refAncla;\r\n linkRef.current.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });\r\n if (props.cambiaImgIndex){\r\n if (idAncla === \"IDEN\")\r\n props.cambiaImgIndex(1);\r\n else if (idAncla === \"GEN\")\r\n props.cambiaImgIndex(0);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n handleScrollToElement(props.apartado.Ancla,e)} style={{cursor:'pointer', textDecoration:'none', paddingTop: '10px' }} title={props.apartado.Titulo} >{props.apartado.Titulo}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n)\r\n}\r\nexport default FilaMenuIzquierda;\r\n","import React, { useState } from \"react\";\r\nimport FilaMenuIzquierda from \"./FilaMenuIzquierda\";\r\n\r\nconst MenuIzquierda = (props) => {\r\n const [seccionActiva,setSeccionActiva] = useState(props.activo)\r\n const [apartados,setApartados] = useState(props.apartados);\r\n //const apartadosHTML = apartados.map(apartado => );\r\n const apartadosHTML = (props.apartados && props.apartados.length>0) ?\r\n props.apartados.map(apartado => ancla.idAncla === apartado.Ancla)} \r\n cambiaImgIndex = {props.cambiaImgIndex}\r\n >) :\r\n <>;\r\n //const apartadosHTML = props.apartados.map(apartado => )\r\n return (\r\n
    \r\n {apartadosHTML}\r\n
    \r\n )\r\n}\r\nexport default MenuIzquierda;\r\n","import { useState } from \"react\";\r\nimport { GetAntecesorWhithClassName, rootPath } from \"../../../../../services/utils\";\r\n\r\n\r\nconst FilaAnalisis = (props) => {\r\n /*const [alturadivinicial, SetAlturadivinicial] = useState('');\r\n const [alturadivinicial2, SetAlturadivinicial2] = useState('');*/\r\n\r\n const interferencia = props.interferencia;\r\n const info = interferencia.Observaciones;\r\n const tieneInfo = (info !== null && info !=='')\r\n const tooltip = (!tieneInfo ? '' :\r\n \r\n \"\" handleMouseOverIcon(e)} onMouseOut={(e) => handleMouseOutIcon(e)}/>\r\n \r\n {info}\r\n \r\n \r\n );\r\n const clasesDivAnalisis = (tieneInfo ? 'column fs fs12 fw greenColor4' : 'column fs fs12 fw greenColor4 ')\r\n const clasesDivEfecto = (tieneInfo ? 'column fs fs14 blackColor FlamaBook hasTooltip' : 'column fs fs14 blackColor FlamaBook');\r\n\r\n const CambiaPaginaInterferencias = (idAnalisis) => {\r\n props.cambiaPagina({\r\n newpagina: 'BAnalisisMUH',\r\n newid: idAnalisis,\r\n });\r\n }\r\n\r\n const handleMouseOverIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemTooltip = itemImg.parentElement.getElementsByClassName(\"tooltip\")[0];\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemTooltip && itemAccordionContent){\r\n var rect = itemTooltip.getBoundingClientRect();\r\n var rectdiv = itemAccordionContent.getBoundingClientRect();\r\n var rectdiv2 = itemInfoContent.getBoundingClientRect();\r\n var finYdiv = (Math.round(rectdiv.y)+Math.round(rectdiv.height));\r\n var finYdiv2 = (Math.round(rectdiv2.y)+Math.round(rectdiv2.height));\r\n var finYtootip = (Math.round(rect.y)+Math.round(rect.height));\r\n if (finYtootip > finYdiv - 10){\r\n //SetAlturadivinicial(Math.round(rectdiv.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv - 10);\r\n var newAltura = Math.round(rectdiv.height) + incremento;\r\n itemAccordionContent.style.height = newAltura.toString() + 'px';\r\n }\r\n if (finYtootip > finYdiv2 - 10){\r\n //SetAlturadivinicial2(Math.round(rectdiv2.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv2 - 10);\r\n var newAltura = Math.round(rectdiv2.height) + incremento;\r\n itemInfoContent.style.height = newAltura.toString() + 'px';\r\n }\r\n }\r\n }\r\n\r\n const handleMouseOutIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemInfoContent){ //} && alturadivinicial2 !== ''){\r\n itemInfoContent.style.height = ''; //alturadivinicial2;\r\n }\r\n if (itemAccordionContent){ //&& alturadivinicial !== ''){\r\n itemAccordionContent.style.height = ''; //alturadivinicial;\r\n }\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n CambiaPaginaInterferencias(interferencia.IdAnalisis)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {interferencia.Analisis.replace('-','\\u2011')}\r\n \r\n

    \r\n
    \r\n
    \r\n

    \r\n {interferencia.Efecto}\r\n {tooltip}\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaAnalisis;\r\n","import FilaAnalisis from \"./FilaAnalisis\";\r\n\r\n\r\nconst Analisis = (props) => {\r\n const datosAnalisis = props.datosAnalisis;\r\n const HTMLAnalisis = datosAnalisis.map(interferencia => );\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Análisis clínico

    \r\n
    \r\n
    \r\n

    Efecto

    \r\n
    \r\n
    \r\n {HTMLAnalisis}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default Analisis;\r\n","import Analisis from \"../../../FichaMUH/Apartados/Analisis/Analisis\";\r\nimport Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\n\r\nconst AnalisisPAAso = (props) => {\r\n const datosAnalisis = props.datosAnalisis;\r\n const ContAcordeon = \r\n const titulo = datosAnalisis.Causa;\r\n return (\r\n \r\n )\r\n}\r\nexport default AnalisisPAAso;","import AnalisisPAAso from \"./AnalisisPAAso\";\r\n\r\nconst AnalisisAso = (props) => {\r\n const datosAnalisisAso = props.datosAnalisisAso;\r\n const HTMLAnalisisAso = datosAnalisisAso.map(datos => );\r\n return (\r\n
    \r\n {HTMLAnalisisAso}\r\n
    \r\n )\r\n}\r\nexport default AnalisisAso;","import { useState } from \"react\";\r\nimport { GetAntecesorWhithClassName, numberWithCommas, rootPath } from \"../../../../../services/utils\";\r\n\r\n\r\nconst FilaTE = (props) => {\r\n /*const [alturadivinicial, SetAlturadivinicial] = useState('');\r\n const [alturadivinicial2, SetAlturadivinicial2] = useState('');*/\r\n\r\n const tiempoEspera = props.tiempoEspera;\r\n const info = tiempoEspera.Observaciones;\r\n const tieneInfo = (info !== null && info !=='')\r\n const tooltip = (!tieneInfo ? '' :\r\n \r\n \"\" handleMouseOverIcon(e)} onMouseOut={(e) => handleMouseOutIcon(e)}/>\r\n \r\n {info}\r\n \r\n \r\n );\r\n const clasesDiv = (tieneInfo ? 'column fs fs14 blackColor FlamaBook hasTooltip' : 'column fs fs14 blackColor FlamaBook');\r\n\r\n const handleMouseOverIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemTooltip = itemImg.parentElement.getElementsByClassName(\"tooltip\")[0];\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n var itemDropdownContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemTooltip && itemAccordionContent){\r\n var rect = itemTooltip.getBoundingClientRect();\r\n var rectdiv = itemAccordionContent.getBoundingClientRect();\r\n var rectdiv2 = itemDropdownContent.getBoundingClientRect();\r\n var rectdiv3 = itemInfoContent.getBoundingClientRect();\r\n var finYdiv = (Math.round(rectdiv.y)+Math.round(rectdiv.height));\r\n var finYdiv2 = (Math.round(rectdiv2.y)+Math.round(rectdiv2.height));\r\n var finYdiv3 = (Math.round(rectdiv3.y)+Math.round(rectdiv3.height));\r\n var finYtootip = (Math.round(rect.y)+Math.round(rect.height));\r\n if (finYtootip > finYdiv - 10){\r\n //SetAlturadivinicial(Math.round(rectdiv.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv - 10);\r\n var newAltura = Math.round(rectdiv.height) + incremento;\r\n itemAccordionContent.style.height = newAltura.toString() + 'px';\r\n }\r\n if (finYtootip > finYdiv2 - 10){\r\n //SetAlturadivinicial2(Math.round(rectdiv2.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv2 - 10);\r\n var newAltura = Math.round(rectdiv2.height) + incremento;\r\n itemDropdownContent.style.height = newAltura.toString() + 'px';\r\n }\r\n if (finYtootip > finYdiv3 - 10){\r\n //SetAlturadivinicial3(Math.round(rectdiv3.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv3 - 10);\r\n var newAltura = Math.round(rectdiv3.height) + incremento;\r\n itemInfoContent.style.height = newAltura.toString() + 'px';\r\n }\r\n }\r\n }\r\n\r\n const handleMouseOutIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n var itemDropdownContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemInfoContent) { // && alturadivinicial2 !== ''){\r\n itemInfoContent.style.height = ''; //alturadivinicial2;\r\n }\r\n if (itemAccordionContent){ //} && alturadivinicial !== ''){\r\n itemAccordionContent.style.height ='';\r\n }\r\n if (itemDropdownContent){ //} && alturadivinicial !== ''){\r\n itemDropdownContent.style.height ='';\r\n }\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n {tiempoEspera.Tejido}\r\n \r\n

    \r\n
    \r\n
    \r\n

    \r\n {(tiempoEspera.Tiempo>=0) && tiempoEspera.IdUnidad && tiempoEspera.IdUnidad!==6 ? \r\n {numberWithCommas(tiempoEspera.Tiempo)}\r\n : \r\n \r\n }\r\n {(tiempoEspera.Unidad) ? \r\n  {tiempoEspera.Unidad}\r\n : \r\n \r\n }\r\n {tooltip}\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaTE;\r\n","import Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport FilaTE from \"./FilaTE\";\r\n\r\nconst TiemposEsperaEspecie = (props) => {\r\n const tiemposEspera = props.tiemposEspera;\r\n const titulo = tiemposEspera.Especie;\r\n const HTMLTiemposEsperaTejidos = tiemposEspera.TiemposEsperaTejido.map(tet => );\r\n\r\n var contenidoAcordeon = (\r\n
    \r\n
    \r\n
    \r\n

    Tejido

    \r\n
    \r\n
    \r\n

    Tiempo

    \r\n
    \r\n
    \r\n {HTMLTiemposEsperaTejidos}\r\n
    \r\n );\r\n return (\r\n \r\n )\r\n}\r\nexport default TiemposEsperaEspecie;\r\n \r\n","import TiemposEsperaEspecie from \"./TiemposEsperaEspecie\";\r\nconst TiemposEspera = (props) => {\r\n const tiemposEspera = props.tiemposEspera;\r\n const tiemposEsperaEspecie = tiemposEspera.map(tee => );\r\n return (\r\n
    \r\n {tiemposEsperaEspecie}\r\n
    \r\n )\r\n}\r\nexport default TiemposEspera;\r\n","const FilaNombrePA = (props) => {\r\n const nombre = props.nombre;\r\n const clasesDivNombre = 'column fs fs12 fw greenColor4';\r\n\r\n const CambiaPaginaPA = (idPA) => {\r\n props.cambiaPagina({\r\n newpagina: 'FichaPAH',\r\n newid: idPA,\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n CambiaPaginaPA(nombre.IdPA)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {nombre.NombrePA}\r\n \r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaNombrePA;\r\n","import FilaNombrePA from \"./FilaNombrePA\";\r\n\r\n\r\nconst ConfusionNombresPA = (props) => {\r\n const nombresPA = props.nombresPA;\r\n const HTMLNombresPA = nombresPA.map(nombre => );\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Principios activos

    \r\n
    \r\n
    \r\n {HTMLNombresPA}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default ConfusionNombresPA;\r\n","import AdvertenciasTipo from \"./AdvertenciasTipo\";\r\n\r\nconst Advertencias = (props) => {\r\n const datosAdver = props.datosAdvertencias;\r\n const advertenciasPorTipo = datosAdver.Advertencias.map(tipoAdver => );\r\n const textosSeccion = datosAdver.Textos.map(texto => \r\n
    \r\n

    {texto.Epigrafe}

    \r\n

    {texto.Texto}

    \r\n
    \r\n );\r\n return (\r\n
    \r\n {advertenciasPorTipo}\r\n {textosSeccion}\r\n
    \r\n )\r\n}\r\nexport default Advertencias;\r\n","import Advertencias from \"./Advertencias\";\r\n\r\nconst AdvertenciasTipo = (props) => {\r\n const advertenciasTipo = props.advertenciasTipo;\r\n const advertencias = advertenciasTipo.Mensajes.map(mensa =>\r\n ((mensa.URLPictograma && mensa.URLPictograma != null) ?\r\n

    {mensa.Mensaje}

    \r\n :\r\n

    {mensa.Mensaje}

    \r\n )\r\n )\r\n const tieneImagen = ((advertenciasTipo.URLPictograma) && (advertenciasTipo.URLPictograma != ''));\r\n const HTMLImagen = tieneImagen ? : \r\n return (\r\n
    \r\n
    \r\n {HTMLImagen}\r\n

    {advertenciasTipo.Tipo}

    \r\n
    \r\n
    \r\n {advertencias}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default AdvertenciasTipo;\r\n","import AdvertenciasTipo from \"../../../FichaMUH/Apartados/Advertencias/AdvertenciasTipo\";\r\n\r\nconst Dopaje = (props) => {\r\n const datosDopaje = props.datosDopaje;\r\n const advertenciasPorTipo = datosDopaje.Advertencias.map(tipoAdver => );\r\n const textosSeccion = datosDopaje.Textos.map(texto => \r\n
    \r\n

    {texto.Epigrafe}

    \r\n

    {texto.Texto}

    \r\n
    \r\n );\r\n return (\r\n
    \r\n {advertenciasPorTipo}\r\n {textosSeccion}\r\n
    \r\n )\r\n}\r\nexport default Dopaje;\r\n","import { useState } from \"react\";\r\nimport { containsNumber, rootPath } from \"../../../../../services/utils\";\r\nimport Emergente from \"../Cismed/Emergente\";\r\n\r\nconst FilaNombreValor = (props) => {\r\n const [verEmergenteTooltip,setVerEmergenteTooltip] = useState(false);\r\n const fila = props.fila;\r\n const claseFila = (props.claseFila ? props.claseFila : \"fila\");\r\n const claseColI = (props.claseCol ? props.claseCol : \"col-i\");\r\n var claseColD = (props.claseCol ? props.claseCol : \"col-d\");\r\n var esCodigoONumero = false;\r\n if (props.esNumero){\r\n claseColD = claseColD + \" num \";\r\n esCodigoONumero = true;\r\n }\r\n else{\r\n if (props.conValoresNumericos && fila.valor && containsNumber(fila.valor.toString())){\r\n claseColD = claseColD + \" num \";\r\n esCodigoONumero = true;\r\n }\r\n }\r\n\r\n const abreEmergenteTooltip = (e) => {\r\n setVerEmergenteTooltip(true); \r\n }\r\n\r\n const cierraEmergenteTooltip = (e) => {\r\n setVerEmergenteTooltip(false);\r\n }\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n const MostrarAvisoOCambiaPagina = (aviso,pagina, id) => {\r\n if (!aviso || aviso === \"\"){\r\n CambiaPaginaPorId(pagina,id)\r\n }else{\r\n props.muestraAviso(aviso,pagina,id);\r\n }\r\n }\r\n var estiloValor = (esCodigoONumero) ? {letterSpacing : '2px'} : {overflowWrap: 'break-word'};\r\n\r\n if (fila.tooltip){\r\n estiloValor.marginBottom = '4px';\r\n estiloValor.marginRight = '4px'; \r\n }\r\n\r\n \r\n \r\n const contenidoValor = (\r\n fila.link ? \r\n MostrarAvisoOCambiaPagina(fila.aviso,fila.link,fila.id)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{fila.valor}\r\n :\r\n {fila.valor}\r\n )\r\n\r\n if (fila.tooltip){\r\n }\r\n return (\r\n
    \r\n {(verEmergenteTooltip) && (fila.tooltip) ?\r\n \r\n :\r\n <>\r\n }\r\n
    {fila.nombre}
    \r\n
    \r\n {(fila.tooltip) ?\r\n
    \r\n {contenidoValor}\r\n abreEmergenteTooltip(e)}>\r\n \"\"/\r\n \r\n
    \r\n :\r\n contenidoValor\r\n }\r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaNombreValor;\r\n","import FilaNombreValor from \"./FilaNombreValor\";\r\n\r\nconst BloqueNombreValor = (props) => {\r\n const claseBloque = props.claseBloque ? props.claseBloque : 'bloque'\r\n //const claseDiv = props.sonValoresNumericos ? claseBloque + \" num\" : claseBloque;\r\n const claseDiv = claseBloque\r\n const estilo = (props.estiloEspecial) ? props.estiloEspecial : {}\r\n\r\n var filasNumericas = [];\r\n if (props.filasNumericas)\r\n filasNumericas = props.filasNumericas;\r\n const filasHTML = props.bloque.map(fila => );\r\n return (\r\n
    \r\n {filasHTML}\r\n
    \r\n )\r\n}\r\nexport default BloqueNombreValor;\r\n","import { numberWithCommas2 } from \"../../../../../services/utils\";\r\n\r\n\r\nconst FilaDDD = (props) => {\r\n const dosificacion = props.dosificacion;\r\n const dosis = dosificacion.Dosis;\r\n const clasesDiv = 'column fs fs14 blackColor FlamaBook';\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n {(dosis>0 ? numberWithCommas2(dosis) : '-')}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {dosificacion.Unidad}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {dosificacion.Via}\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaDDD;\r\n","import FilaDDD from \"./FilaDDD\";\r\n\r\n\r\nconst DDD = (props) => {\r\n const datosDDD = props.datosDDD;\r\n const HTMLDDD = datosDDD.map(ddd => );\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Dosis

    \r\n
    \r\n
    \r\n

    Unidades

    \r\n
    \r\n
    \r\n

    Via

    \r\n
    \r\n
    \r\n {HTMLDDD}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default DDD;\r\n","import { numberWithCommas } from \"../../../../../services/utils\";\r\nimport Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport BloqueNombreValor from \"../../../FichaMUH/Apartados/InfoGeneral/BloqueNombreValor\";\r\nimport LinksFichaPA from \"../../LinksFichaPA\";\r\nimport DDD from \"./DDD\";\r\n\r\nconst InfoGeneralPA = (props) => {\r\n const ficha = props.ficha;\r\n const formula = ficha.FormulaEmpirica;\r\n var regex = new RegExp('([0-9]+)|([a-zA-Z]+)','g');\r\n\r\n const formulaPartida = (formula) ? formula.match(regex) : [];\r\n\r\n var formulaBonita = ;\r\n for (var i = 0; i{formulaBonita}{formulaPartida[i]}\r\n }\r\n else{\r\n formulaBonita = {formulaBonita}{formulaPartida[i]}\r\n }\r\n } \r\n \r\n const bloque1 = \r\n ((ficha.CodTipoRegistro===\"ING\")?\r\n [\r\n {\r\n nombre : 'Código CAS',\r\n valor: ficha.CodCAS,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Estado',\r\n valor: ficha.EstadoAuto.Descripcion,\r\n link: null,\r\n },\r\n ]\r\n :\r\n [\r\n/* {\r\n nombre : 'Código principio activo',\r\n valor: ficha.Codigo,\r\n link: null,\r\n },*/\r\n {\r\n nombre : 'Código CAS',\r\n valor: ficha.CodCAS,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Fórmula empírica',\r\n valor: formulaBonita,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Peso molecular',\r\n valor: (ficha.PesoMolecular>0) ? numberWithCommas(ficha.PesoMolecular) : '',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Estado',\r\n valor: ficha.EstadoAuto.Descripcion,\r\n link: null,\r\n },\r\n ]\r\n );\r\n\r\n var estiloGrupos = {};\r\n\r\n if (ficha.CodTipoRegistro === \"ASOH\" || ficha.CodTipoRegistro === \"ASOV\" || ficha.CodTipoRegistro === \"ASO\" ){\r\n bloque1.splice(1,3);\r\n estiloGrupos = {\r\n borderTop : 'none',\r\n }\r\n }\r\n\r\n var bloqueATC = [];\r\n \r\n var link = (ficha.CodTipoRegistro===\"ASOV\" || ficha.CodTipoRegistro===\"PAV\") ? \"BGTATCMUV\" : \"BGTATCMUH\";\r\n for (var i=1; i<=5; i++)\r\n {\r\n var nombreCampo = \"GATCNivel\" + i.toString();\r\n if (ficha.DatosGrupos){\r\n if (ficha.DatosGrupos[nombreCampo]){\r\n var titulo = \"Nivel \" + i.toString();\r\n var id = ficha.DatosGrupos[nombreCampo].Codigo;\r\n var valor = ficha.DatosGrupos[nombreCampo].Codigo + \" \" + ficha.DatosGrupos[nombreCampo].Descripcion;\r\n bloqueATC.push({\r\n nombre: titulo,\r\n valor : valor,\r\n link : link,\r\n id : id\r\n })\r\n }\r\n }\r\n }\r\n var tituloGrupos = \"Grupos terapéuticos ATC\";\r\n const tituloEP = \"Estupefaciente / Psicotropo\";\r\n const tituloAF = \"Actividades farmacológicas\";\r\n const tituloCM = \"Características metabólicas\";\r\n const tituloSin = \"Sinonimias\";\r\n const tituloAING = \"Actividades\";\r\n const tituloDDD = \"Dosis diarias definidas (DDD)\";\r\n const contEP = ( \r\n

    \r\n {(ficha.EstupefacientePsicotropo) ?\r\n ficha.EstupefacientePsicotropo.DescripcionPsicotropo\r\n :\r\n ''\r\n }\r\n

    \r\n );\r\n\r\n\r\n var busquedaActividad = \"BAFMUH\";\r\n switch (ficha.CodTipoRegistro){\r\n case \"ASOH\":\r\n case \"ASO\":\r\n case \"PAH\":\r\n busquedaActividad = \"BAFMUH\";\r\n break;\r\n case \"ASOV\":\r\n case \"PAV\":\r\n busquedaActividad = \"BAFMUV\";\r\n break;\r\n case \"ING\":\r\n busquedaActividad = \"BActPPF\";\r\n break;\r\n }\r\n\r\n const HTMLAF = (ficha.ActividadesFarmacologicas ? ficha.ActividadesFarmacologicas.map(af =>
  • CambiaPaginaPorId(busquedaActividad,af.Id)} \r\n style={{cursor:'pointer', color:'#5C9029'}}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{af.Descripcion}
  • ) :
    );\r\n const HTMLCM = (ficha.CaracteristicasMetabolicas ? ficha.CaracteristicasMetabolicas.map(af =>
  • CambiaPaginaPorId(busquedaActividad,af.Id)} \r\n style={{cursor:'pointer', color:'#5C9029'}}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{af.Descripcion}
  • ) :
    );\r\n const HTMLSin = (ficha.Sinonimias ? ficha.Sinonimias.map(sino =>
  • {sino}
  • ) :
    );\r\n const HTMLAING = (ficha.Actividades ? ficha.Actividades.map(af =>
  • CambiaPaginaPorId(busquedaActividad,af.Id)} \r\n style={{cursor:'pointer', color:'#5C9029'}}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{af.Descripcion}
  • ) :
    );\r\n const contAF = ( \r\n
    \r\n
      \r\n {HTMLAF}\r\n
    \r\n
    \r\n );\r\n const contCM = ( \r\n
    \r\n
      \r\n {HTMLCM}\r\n
    \r\n
    \r\n );\r\n const contSin = ( \r\n
    \r\n
      \r\n {HTMLSin}\r\n
    \r\n
    \r\n );\r\n const contAING = ( \r\n
    \r\n
      \r\n {HTMLAING}\r\n
    \r\n
    \r\n );\r\n const contDDD = ( \r\n
    \r\n \r\n
    \r\n );\r\n const DenQuiHTML = ((ficha.DenominacionQuimica)?\r\n
    \r\n

        Denominación Química

    \r\n

    {ficha.DenominacionQuimica}

    \r\n
    \r\n :\r\n
    \r\n );\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n {(ficha.CodTipoRegistro === \"ASOH\" || ficha.CodTipoRegistro === \"ASOV\" || ficha.CodTipoRegistro === \"ASO\" ) ?\r\n
    \r\n :\r\n \r\n }\r\n\r\n {(ficha.DatosGrupos) ?\r\n
    \r\n
    \r\n

    {tituloGrupos}

    \r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n {(ficha.Psicotropo === \"Sí\") ?\r\n \r\n :\r\n
    \r\n }\r\n {DenQuiHTML}\r\n {(ficha.ActividadesFarmacologicas && ficha.ActividadesFarmacologicas.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n {(ficha.CaracteristicasMetabolicas && ficha.CaracteristicasMetabolicas.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n {(ficha.Actividades && ficha.Actividades.length>0) ?\r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n {(ficha.Sinonimias && ficha.Sinonimias.length>0) ?\r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n {(ficha.Dosificacion && ficha.Dosificacion.length>0) ?\r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default InfoGeneralPA;\r\n","const Sinonimias = (props) => {\r\n const sinonimias = props.sinonimias;\r\n const HTMLSinonimias = sinonimias.map(sino =>
  • {sino}
  • );\r\n return (\r\n
    \r\n
    \r\n
      \r\n {HTMLSinonimias}\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default Sinonimias;\r\n","import { GetAntecesorWhithClassName, numberWithCommas, rootPath } from \"../../../../../services/utils\";\r\n\r\n\r\nconst FilaLMR = (props) => {\r\n\r\n const lmr = props.lmr;\r\n const info = lmr.Observaciones;\r\n const tieneInfo = (info !== null && info !=='')\r\n const tooltip = (!tieneInfo ? '' :\r\n \r\n \"\" handleMouseOverIcon(e)} onMouseOut={(e) => handleMouseOutIcon(e)}/>\r\n \r\n {info}\r\n \r\n \r\n );\r\n const clasesDiv = (tieneInfo ? 'column fs fs14 blackColor FlamaBook hasTooltip' : 'column fs fs14 blackColor FlamaBook');\r\n\r\n const handleMouseOverIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemTooltip = itemImg.parentElement.getElementsByClassName(\"tooltip\")[0];\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n var itemDropdownContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemTooltip && itemAccordionContent){\r\n var rect = itemTooltip.getBoundingClientRect();\r\n var rectdiv = itemAccordionContent.getBoundingClientRect();\r\n var rectdiv2 = itemDropdownContent.getBoundingClientRect();\r\n var rectdiv3 = itemInfoContent.getBoundingClientRect();\r\n var finYdiv = (Math.round(rectdiv.y)+Math.round(rectdiv.height));\r\n var finYdiv2 = (Math.round(rectdiv2.y)+Math.round(rectdiv2.height));\r\n var finYdiv3 = (Math.round(rectdiv3.y)+Math.round(rectdiv3.height));\r\n var finYtootip = (Math.round(rect.y)+Math.round(rect.height));\r\n if (finYtootip > finYdiv - 10){\r\n //SetAlturadivinicial(Math.round(rectdiv.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv - 10);\r\n var newAltura = Math.round(rectdiv.height) + incremento;\r\n itemAccordionContent.style.height = newAltura.toString() + 'px';\r\n }\r\n if (finYtootip > finYdiv2 - 10){\r\n //SetAlturadivinicial2(Math.round(rectdiv2.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv2 - 10);\r\n var newAltura = Math.round(rectdiv2.height) + incremento;\r\n itemDropdownContent.style.height = newAltura.toString() + 'px';\r\n }\r\n if (finYtootip > finYdiv3 - 10){\r\n //SetAlturadivinicial3(Math.round(rectdiv3.height).toString() + 'px');\r\n var incremento = finYtootip - (finYdiv3 - 10);\r\n var newAltura = Math.round(rectdiv3.height) + incremento;\r\n itemInfoContent.style.height = newAltura.toString() + 'px';\r\n }\r\n }\r\n }\r\n\r\n const handleMouseOutIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n var itemDropdownContent = GetAntecesorWhithClassName(itemImg,'dropdown__content');\r\n var itemInfoContent = GetAntecesorWhithClassName(itemImg,'infoContent');\r\n if (itemInfoContent) { // && alturadivinicial2 !== ''){\r\n itemInfoContent.style.height = ''; //alturadivinicial2;\r\n }\r\n if (itemAccordionContent){ //} && alturadivinicial !== ''){\r\n itemAccordionContent.style.height ='';\r\n }\r\n if (itemDropdownContent){ //} && alturadivinicial !== ''){\r\n itemDropdownContent.style.height ='';\r\n }\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n {lmr.Tejido}\r\n \r\n {tooltip}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {(lmr.LMR>0) ? \r\n {numberWithCommas(lmr.LMR)}\r\n : \r\n \r\n }\r\n {(lmr.Unidad) ? \r\n  {lmr.Unidad}\r\n : \r\n \r\n }\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaLMR;\r\n","import Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport FilaLMR from \"./FilaLMR\";\r\n\r\nconst LMREspecie = (props) => {\r\n const lmr = props.lmr;\r\n const titulo = lmr.Especie;\r\n const HTMLLMRTejidos = lmr.LMRsTejidos.map(lmrtej => );\r\n\r\n const estiloUltimaFila = {borderBottom: '4px solid #e8e8e8'};\r\n var estiloPrimeraFila = {};\r\n var estiloObservaciones = {};\r\n if (lmr.Observaciones && lmr.Observaciones !== '')\r\n estiloObservaciones = estiloUltimaFila;\r\n else\r\n estiloPrimeraFila = estiloUltimaFila;\r\n\r\n var contenidoAcordeon = (\r\n
    \r\n
    \r\n
    \r\n

    Tejido

    \r\n
    \r\n
    \r\n

    LMR

    \r\n
    \r\n
    \r\n {HTMLLMRTejidos}\r\n {(lmr.Observaciones && lmr.Observaciones !== '') ?\r\n
    \r\n
    \r\n
    \r\n

    Observaciones

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {lmr.Observaciones}

    \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n );\r\n \r\n return (\r\n \r\n )\r\n}\r\nexport default LMREspecie;\r\n \r\n","import { numberWithCommas } from \"../../../../../services/utils\";\r\nimport BloqueNombreValor from \"../../../FichaMUH/Apartados/InfoGeneral/BloqueNombreValor\";\r\nimport LMREspecie from \"./LMREspecie\";\r\n\r\nconst UsoAnimalesProductores = (props) => {\r\n const datosAnimalesProductores = props.datosAnimalesProductores;\r\n const LMR = datosAnimalesProductores.LMRsEspecies;\r\n const HTMLLMREspecie = LMR.map(lmre => );\r\n\r\n var ida = \"-\"\r\n\r\n if (datosAnimalesProductores.IngestaDiariaAceptada)\r\n if (datosAnimalesProductores.IngestaDiariaAceptada>0)\r\n ida = numberWithCommas(datosAnimalesProductores.IngestaDiariaAceptada);\r\n if (datosAnimalesProductores.Unidad) \r\n ida += \" \" + datosAnimalesProductores.Unidad;\r\n\r\n\r\n const bloqueComun = [\r\n {\r\n nombre : 'Residuo marcador',\r\n valor: datosAnimalesProductores.ResiduoMarcador,\r\n link: null,\r\n },\r\n /*{\r\n nombre : 'Ingesta diaria aceptada',\r\n valor: ida,\r\n link: null,\r\n },*/\r\n ]\r\n\r\n const estiloEspecial = {borderBottom : 'none'}\r\n\r\n return (\r\n
    \r\n \r\n

     

    \r\n

     

    \r\n {HTMLLMREspecie}\r\n
    \r\n )\r\n}\r\nexport default UsoAnimalesProductores;\r\n","import Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\n\r\nconst Cie = (props) => {\r\n const lista = props.lista;\r\n\r\n const HTMLFila = lista.map(item => \r\n
    \r\n
    \r\n
    \r\n

    {item.Codigo}

    \r\n
    \r\n
    \r\n

    {item.Valor}

    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLTablaCie = (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Código CIE

    \r\n
    \r\n
    \r\n

    Descripción

    \r\n
    \r\n
    \r\n
    \r\n {HTMLFila}\r\n
    \r\n
    \r\n
    \r\n )\r\n return ( \r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default Cie;\r\n\r\n","import Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport BloqueNombreValor from \"../../../FichaMUH/Apartados/InfoGeneral/BloqueNombreValor\";\r\n\r\nconst InfoGeneralPAT = (props) => {\r\n const ficha = props.ficha;\r\n const bloque1 = \r\n [\r\n {\r\n nombre : 'Código CIE',\r\n valor: ficha.CodCIE,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Descripción CIE',\r\n valor: ficha.DescripcionCIE,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Especialidad',\r\n valor: ficha.EspecialidadMedica,\r\n link: null,\r\n },\r\n ];\r\n\r\n const tituloEP = \"Descripción\";\r\n const contEP = ( \r\n

    \r\n {(ficha.Descripcion) ?\r\n ficha.Descripcion\r\n :\r\n ''\r\n }\r\n

    \r\n );\r\n const DenQuiHTML = ((ficha.Descripcion)?\r\n
    \r\n

    {ficha.Descripcion}

    \r\n
    \r\n :\r\n
    \r\n );\r\n\r\n /**/\r\n return (\r\n
    \r\n {(ficha.Descripcion) && false ?\r\n \r\n :\r\n
    \r\n }\r\n {DenQuiHTML}\r\n
    \r\n )\r\n}\r\nexport default InfoGeneralPAT;\r\n","import Acordeon from \"../../../FichaMUH/Apartados/Composicion/Acordeon\";\r\n\r\nconst Jerarquias = (props) => {\r\n const nivelSuperior = props.datosJerarquia.NivelSuperior;\r\n const nivelInferior = props.datosJerarquia.NivelInferior;\r\n\r\n const HTMLNS = (nivelSuperior ? nivelSuperior.map(enf =>
  • CambiaPaginaPorId('FichaPAT',enf.Id)} \r\n style={{cursor:'pointer', color:'#5C9029'}}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{enf.Enfermedad}
  • ) :
    );\r\n const HTMLNI = (nivelInferior ? nivelInferior.map(enf =>
  • CambiaPaginaPorId('FichaPAT',enf.Id)} \r\n style={{cursor:'pointer', color:'#5C9029'}}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{enf.Enfermedad}
  • ) :
    );\r\n const contNS = ( \r\n
    \r\n
      \r\n {HTMLNS}\r\n
    \r\n
    \r\n );\r\n const contNI = ( \r\n
    \r\n
      \r\n {HTMLNI}\r\n
    \r\n
    \r\n );\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {(nivelSuperior && nivelSuperior.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n {(nivelInferior && nivelInferior.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default Jerarquias;\r\n","const FilaTablaProductos = (props) => {\r\n\r\n const producto = props.producto;\r\n const clasesDivNombre = 'column fs fs12 fw fw600 greenColor4 underline';\r\n const clasesDivCodigo = 'column fs fs14 blackColor FlamaBook';\r\n\r\n const CambiaPaginaFicha = (id) => {\r\n props.cambiaPagina({\r\n newpagina: 'FichaPPF',\r\n newid: id,\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n {producto.Codigo}\r\n

    \r\n
    \r\n
    \r\n

    \r\n CambiaPaginaFicha(producto.Id)}>\r\n {producto.NombreCompleto}\r\n \r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaTablaProductos;","import FilaTablaProductos from \"./FilaTablaProductos\";\r\n\r\n\r\nconst TablaProductos = (props) => {\r\n const productos = props.productos;\r\n const HTMLAnalisis = productos.map(prod => );\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Código nacional

    \r\n
    \r\n
    \r\n

    Producto

    \r\n
    \r\n
    \r\n {HTMLAnalisis}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default TablaProductos;\r\n","import { FormatoFechaDDMMYYYY } from \"../../../../../services/utils\";\r\n\r\n\r\nconst FilaLotes = (props) => {\r\n const lote = props.lote;\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n {lote.NumLote}\r\n

    \r\n
    \r\n
    \r\n {(lote.FechaCaducidad) && (new Date(lote.FechaCaducidad).getTime()>0) ?\r\n

    {FormatoFechaDDMMYYYY(lote.FechaCaducidad)}

    \r\n :\r\n

    -

    \r\n }\r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaLotes;\r\n","import FilaLotes from \"./FilaLotes\";\r\n\r\n\r\nconst TablaLotes = (props) => {\r\n const lotes = props.lotes;\r\n const HTMLLotes = lotes.map(lote => );\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Nº LOTE

    \r\n
    \r\n
    \r\n

    FECHA DE CADUCIDAD

    \r\n
    \r\n
    \r\n {HTMLLotes}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default TablaLotes;\r\n","import { FormatoFechaDDMMYYYY } from \"../../../../../services/utils\";\r\nimport DocumentosDeTipo from \"../InfoAdicional/DocumentosDeTipo\";\r\nimport BloqueNombreValor from \"../InfoGeneral/BloqueNombreValor\";\r\nimport TablaLotes from \"./TablaLotes\";\r\n\r\nconst AlertaCalidad = (props) => {\r\n const alerta = props.alerta;\r\n const bloqueAlerta = [\r\n {\r\n nombre : 'Nº Alerta',\r\n valor: alerta.NumAlerta,\r\n },\r\n {\r\n nombre : 'Fecha',\r\n valor: FormatoFechaDDMMYYYY(alerta.FechaAlerta),\r\n },\r\n {\r\n nombre : 'Clasificación del defecto',\r\n valor: alerta.Tipo,\r\n },\r\n {\r\n nombre : 'Descripción del defecto',\r\n valor: alerta.Observaciones,\r\n },\r\n {\r\n nombre : 'Medidas cautelares',\r\n valor: alerta.Descripcion,\r\n },\r\n ]\r\n\r\n\r\n if (alerta.Todos)\r\n bloqueAlerta.push({\r\n nombre : 'Lotes afectados',\r\n valor : 'Todos',\r\n });\r\n \r\n if (props.codTipoRegistro === \"MUV\")\r\n bloqueAlerta.splice(2,1);\r\n\r\n const lotes = ((alerta.LotesAfectados && alerta.LotesAfectados.length>0) ?\r\n \r\n :\r\n \r\n );\r\n\r\n const htmlInfoAdicional = ((alerta.InfoAdicional && alerta.InfoAdicional.length>0) ? alerta.InfoAdicional.map(grupodocs =>
    ) :
    );\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {lotes}\r\n {htmlInfoAdicional}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default AlertaCalidad;\r\n\r\n/*\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Nº Alerta

    \r\n
    \r\n
    \r\n

    R_17/2021/

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Fecha alerta

    \r\n
    \r\n
    \r\n

    03/09/2021

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Descripción del defecto

    \r\n
    \r\n
    \r\n

    Posible obtención de un resultado fuera de especificaciones en el ensayo de disolución antes de finalizar su plazo de validez.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Clasificación del defecto

    \r\n
    \r\n
    \r\n

    CLASE 2

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Medidas cautelares

    \r\n
    \r\n
    \r\n

    Retirada del mercado de todas las unidades distribuidas de los lotes afectados y devolución al laboratorio por los cauces habituales.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Lotes afectados

    \r\n
    \r\n
    \r\n
    \r\n

    Nº de lote

    \r\n
    \r\n
    \r\n

    Fecha de caducidad lote

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    V08540A

    \r\n
    \r\n
    \r\n

    31/03/2022

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    W06660B

    \r\n
    \r\n
    \r\n

    28/02/2023

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    W16689A

    \r\n
    \r\n
    \r\n

    31/07/2023

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n*/","import DocumentosDeTipo from \"../InfoAdicional/DocumentosDeTipo\";\r\nimport AlertaCalidad from \"./AlertaCalidad\";\r\n\r\nconst AlertasCalidad = (props) => {\r\n const datosAlertas = props.datosAlertas;\r\n const htmlAlertas = datosAlertas.Alertas.map(alerta => )\r\n const htmlInfoAdicional = datosAlertas.InfoAdicional.map(grupodocs => )\r\n return (\r\n
    \r\n {htmlAlertas}\r\n {(datosAlertas.InfoAdicional && datosAlertas.InfoAdicional.length>0) ?\r\n
    \r\n

    Otros documentos relacionados

    \r\n
    \r\n :\r\n \r\n }\r\n {htmlInfoAdicional}\r\n
    \r\n )\r\n}\r\nexport default AlertasCalidad;\r\n\r\n","import {Chart as ChartJS,\r\n CategoryScale,\r\n LinearScale,\r\n BarElement,\r\n Title,\r\n Tooltip,\r\n Legend,} from 'chart.js';\r\n//import faker from 'faker';\r\nimport { Bar } from 'react-chartjs-2';\r\nimport { Redondea } from '../../../../../services/utils';\r\n\r\nChartJS.register(\r\n CategoryScale,\r\n LinearScale,\r\n BarElement,\r\n Title,\r\n Tooltip,\r\n Legend\r\n);\r\n\r\nconst GraficaCismed = (props) => {\r\n const inactivo = props.inactivo;\r\n const datosCismed = props.datosCismed;\r\n const estilo = (inactivo ?\r\n {color:'transparent', textShadow: '0 0 10px rgba(0,0,0,0.5)'}\r\n :\r\n {}\r\n );\r\n const estiloImg = (inactivo ?\r\n {filter: 'blur(15px)' , WebkitFilter: 'blur(15px)', width: '100%', height: '300px'}\r\n :\r\n {width: '100%', height: '300px'}\r\n );\r\n const datosGraph = {\r\n labels : ['España', datosCismed.CCAA, datosCismed.Provincia],\r\n datasets:[\r\n { \r\n data: [Redondea(datosCismed.PorcentajeNacional,2), Redondea(datosCismed.PorcentajeCCAA,2), Redondea(datosCismed.PorcentajeProvincia,2)],\r\n fill: false,\r\n backgroundColor: ['rgba(255, 99, 132, 0.2)', 'rgba(255, 159, 64, 0.2)', 'rgba(255, 205, 86, 0.2)'],\r\n borderColor: ['rgb(255, 99, 132)', 'rgb(255, 159, 64)', 'rgb(255, 205, 86)'],\r\n borderWidth: 1\r\n }\r\n ]\r\n };\r\n\r\n var max = 60;\r\n if ((datosCismed.PorcentajeNacional >= max) || (datosCismed.PorcentajeCCAA >= max) || (datosCismed.PorcentajeProvincia >= max))\r\n max = 100;\r\n\r\n const optionsGraph = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: { \r\n display: false \r\n },\r\n title: {\r\n display: true,\r\n text: 'PORCENTAJE DE FARMACIAS CON FALTA DE SUMINISTRO'\r\n },\r\n scales: { \r\n y: { \r\n display: true,\r\n stacked: true,\r\n min: 0 ,\r\n max: max ,\r\n suggestedMin:0 ,\r\n suggestedMax: max\r\n } \r\n\r\n },\r\n plugins: {\r\n legend: { \r\n display: false \r\n },\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n

    Porcentaje de farmacias con falta de suministro

    \r\n \r\n
    \r\n )\r\n}\r\nexport default GraficaCismed;\r\n\r\n/*\r\n
    \r\n

    Porcentaje de farmacias con falta de suministro

    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n*/","import { rootPath } from \"../../../../../services/utils\";\r\n\r\nconst SemaforosCismed = (props) => {\r\n const datosCismed = props.datosCismed;\r\n const inactivo = props.inactivo;\r\n const estilo = (inactivo ?\r\n {color:'transparent', textShadow: '0 0 10px rgba(0,0,0,0.5)'}\r\n :\r\n {}\r\n );\r\n const estiloImg = (inactivo ?\r\n {filter: 'blur(15px)' , WebkitFilter: 'blur(15px)', width: '100%', height: '300px'}\r\n :\r\n {width: '100%'}\r\n );\r\n\r\n\r\n const getImagenFromEstado = (estado) => {\r\n switch (estado){\r\n case 1:\r\n return 'semaforoRed.png'\r\n case 2:\r\n return 'semaforoYellow.png'\r\n case 3:\r\n return 'semaforoGreen.png'\r\n default:\r\n return 'semaforoRed.png'\r\n }\r\n }\r\n\r\n const getTextoFromEstado = (estado) => {\r\n switch (estado){\r\n case 1:\r\n return 'Problemas por faltas de suministro'\r\n case 2:\r\n return 'En observación por faltas de suministro'\r\n case 3:\r\n return 'Sin incidencias por faltas de suministro'\r\n default:\r\n return 'El número de farmacias adscritas a CisMED en su provincia no supera el umbral mánimo de farmacias activamente informantes para el análisis de medicamentos con incidencias de suministro.'\r\n }\r\n }\r\n\r\n const imgSemaforoAnt = rootPath + \"img/ficha/\"+getImagenFromEstado(datosCismed.EstadoSemanaAnterior);\r\n const imgSemaforoAct = rootPath + \"img/ficha/\"+getImagenFromEstado(datosCismed.EstadoSemanaActual);\r\n const txtSemaforoAnt = getTextoFromEstado(datosCismed.EstadoSemanaAnterior); \r\n var txtSemaforoAct = getTextoFromEstado(datosCismed.EstadoSemanaActual); \r\n if (datosCismed.EsInicioSemana)\r\n txtSemaforoAct = \"Los datos consolidados en su provincia en la semana actual no alcanzan el umbral mínimo para el análisis de medicamentos con incidencias de suministro. La información recibida se procesa de manera diaria.\";\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Semana anterior

    \r\n
    \r\n
    \r\n

    Semana actual

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {txtSemaforoAnt}

    \r\n
    \r\n
    \r\n

    {txtSemaforoAct}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default SemaforosCismed;","import { FormatoFechaDDMMYYYY, rootPath } from \"../../../../../services/utils\";\r\n\r\nconst TablaFParticipantes = (props) => {\r\n const inactivo = props.inactivo;\r\n const datosCismed = props.datosCismed;\r\n const estilo = (inactivo ?\r\n {color:'transparent', textShadow: '0 0 10px rgba(0,0,0,0.5)'}\r\n :\r\n {}\r\n );\r\n return (\r\n
    \r\n
    \r\n

    Farmacias participantes en CisMED\r\n props.abreEmergenteCismed()}>\r\n \"\"/\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    España

    \r\n
    \r\n
    \r\n

    {datosCismed.NFarmaciasNacional} farmacias

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {datosCismed.CCAA}

    \r\n
    \r\n
    \r\n

    {datosCismed.NFarmaciasCCAA} farmacias

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {datosCismed.Provincia}

    \r\n
    \r\n
    \r\n

    {datosCismed.NFarmaciasProvincia} farmacias

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Última fecha de consolidación de datos ({datosCismed.Provincia})

    \r\n
    \r\n {(!datosCismed.NoConsolidada) ?\r\n
    \r\n

    {FormatoFechaDDMMYYYY(datosCismed.FechaConsolidacion)}

    \r\n
    \r\n :\r\n
    \r\n

    \r\n El periodo transcurrido desde la última fecha de consolidación de datos procedentes de su provincia en CisMED, \r\n es superior a las 48 horas, por lo que la información que está visualizando puede no ajustarse a la situación actual \r\n

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n)\r\n}\r\nexport default TablaFParticipantes;","import { AddClassNameToClassItems, numberWithCommas } from \"../../../../../services/utils\";\r\nimport Emergente from \"./Emergente\";\r\nimport GraficaCismed from \"./GraficaCismed\";\r\nimport SemaforosCismed from \"./SemaforosCismed\";\r\nimport TablaFParticipantes from \"./TablaFParticipantes\";\r\n\r\nconst CismedKO = (props) => {\r\n const yesterday = new Date(new Date().getTime() - 24*60*60*1000);\r\n const datosCismed = {\r\n NFarmaciasNacional : numberWithCommas(props.datosCismed.NFarmaciasNacional),\r\n HayConexion : props.datosCismed.HayConexion,\r\n EstaAutorizado : false,\r\n DatosVisibles : true,\r\n CCAA : props.datosCismed.CCAA,\r\n Provincia : props.datosCismed.Provincia,\r\n NFarmaciasCCAA : numberWithCommas(Math.round(props.datosCismed.NFarmaciasNacional / 10)),\r\n NFarmaciasProvincia : numberWithCommas(Math.round(props.datosCismed.NFarmaciasNacional / 40)),\r\n FechaConsolidacion : yesterday,\r\n PorcentajeNacional : 18.25,\r\n PorcentajeCCAA: 21.36,\r\n PorcentajeProvincia: 14.45,\r\n EstadoSemanaAnterior: 2,\r\n EstadoSemanaActual: 2,\r\n EsInicioSemana: false,\r\n NoConsolidado: false,\r\n CumpleCriterioDia: true,\r\n CumpleCriterioSemanaPasada: true,\r\n CumpleCriterioSemanaActual: true,\r\n }\r\n const modalTitulo = \"Información CisMED\";\r\n const modalContent = (\r\n
    \r\n

    El acceso a la información de CisMED en BOT PLUS es exclusivo para\r\n farmacias adheridas a CisMED.

    \r\n

    CisMED es un sistema de información que permite a las farmacias\r\n comunicar faltas de suministro de medicamentos.

    \r\n

    Actualmente {datosCismed.NFarmaciasNacional} farmacias participan en CisMED.

    \r\n

    En caso de que su farmacia esté adherida a CisMED, incluya el número de\r\n farmacia dado en la adhesión a CisMED en la pantalla de configuración de\r\n BOT PLUS para acceder a esta información.

    \r\n

    Si su farmacia no está adherida, puede solicitar la adhesión a CisMED a través\r\n del siguiente enlace. \r\n

    \r\n
    \r\n );\r\n\r\n const modalKeyName=\"ModalCismedNo\"\r\n const AbreEmergenteCismed = () => {\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n return (\r\n
    \r\n \r\n

    Este medicamento figura con información CisMED. Para visualizar esta información debe de estar adherido a CisMED.

    \r\n
    AbreEmergenteCismed()} style={{color:'transparent', textShadow: '0 0 10px rgba(0,0,0,0.5)'}}>\r\n \r\n \r\n

     

    \r\n

     

    \r\n

     

    \r\n

     

    \r\n \r\n
    \r\n
    \r\n )\r\n}\r\nexport default CismedKO;","import { AddClassNameToClassItems } from \"../../../../../services/utils\";\r\nimport Emergente from \"./Emergente\";\r\nimport GraficaCismed from \"./GraficaCismed\";\r\nimport SemaforosCismed from \"./SemaforosCismed\";\r\nimport TablaFParticipantes from \"./TablaFParticipantes\";\r\n\r\nconst CismedOK = (props) => {\r\n const datosCismed = props.datosCismed;\r\n const modalTitulo = \"CRITERIOS CisMED.\";\r\n const modalContent = (\r\n
    \r\n

    \r\n Esta información ha sido elaborada a partir de la información disponible en CisMED, \r\n una infraestructura informática de comunicación que permite a la Organización \r\n Farmacéutica Colegial y a las Administraciones sanitarias disponer de información \r\n sobre la disponibilidad efectiva de medicamentos, a partir de los datos suministrados \r\n por las farmacias adheridas voluntariamente, con la finalidad de ayudar tanto a la \r\n profesión farmacéutica como en la adopción por las Administraciones de decisiones en el \r\n marco de sus competencias que faciliten la continuación de los tratamientos a los pacientes.\r\n

    \r\n

    \r\n La Organización Farmacéutica Colegial recomienda utilizar esta información como una \r\n herramienta de ayuda, pero el usuario siempre deberá valorarla con sentido crítico y \r\n consultando también otras fuentes de información. Asimismo, la Organización Farmacéutica \r\n Colegial no se hace responsable de las consecuencias que pudieran derivarse de la utilización \r\n de la información, al estar elaborada con base en criterios opinables y para la exclusiva \r\n finalidad de ayudar a la profesión farmacéutica y a las Administraciones sanitarias. \r\n El usuario es el único responsable de las infracciones en las que pueda incurrir o de los \r\n perjuicios que pueda causar por la utilización incorrecta de esta información, quedando la \r\n Organización Farmacéutica Colegial exonerada de cualquier clase de responsabilidad que se \r\n pudiera derivar por dicho uso.\r\n

    \r\n

    CRITERIOS CISMED

    \r\n

    \r\n CisMED analiza la información comunicada por las farmacias sobre faltas de\r\n suministro de los medicamentos autorizados. El periodo de análisis es semanal,\r\n de lunes a domingo.\r\n

    \r\n

    \r\n Para cada provincia, y en base al número de farmacias informantes en CisMED,\r\n se establece un valor crítico de farmacias para generar una señal de falta de\r\n suministro diario. Si el número de farmacias que comunican una falta de\r\n suministro en un día concreto supera ese valor crítico, se genera una alerta en\r\n dicho día.\r\n

    \r\n

    \r\n En base al número de alertas diarias en el suministro del medicamento que se\r\n produzcan en la semana y en la provincia, se clasifican los medicamentos en los\r\n siguientes grupos: \r\n

    \r\n
      \r\n
    • \r\n Medicamentos con incidencias por faltas de suministro: \r\n medicamentos que \r\n durante la semana observada han generado 3 o más alertas diarias en la\r\n provincia.\r\n
    • \r\n
    • \r\n Medicamentos en observación por faltas de suministro: \r\n medicamentos que\r\n durante la semana observada han generado menos de 3 alertas diarias en la\r\n provincia.\r\n
    • \r\n
    • \r\n Medicamentos sin incidencias por falta de suministro: \r\n medicamentos que\r\n durante la semana observada no han generado alertas diarias en la provincia.\r\n
    • \r\n
    \r\n

    \r\n En el gráfico de barras se muestra el porcentaje de farmacias con faltas de\r\n suministro en la última fecha disponible en distintos ámbitos geográficos:\r\n Nacional, Autonómico y Provincial.\r\n

    \r\n

    \r\n En BOT PLUS se incluye esta información procedente de CisMED para aquellos\r\n medicamentos para los que la AEMPS no informa de un problema de suministro\r\n oficial.\r\n

    \r\n

    \r\n El Consejo General pone la información recogida a través de CisMED a\r\n disposición de otros colectivos sanitarios e instituciones, todo ello con el fin de\r\n que pueda ser aprovechada en beneficio del paciente y del sistema sanitario.\r\n

    \r\n

    \r\n Así, la información generada a través de CisMED, es compartida con el Ministerio\r\n de Sanidad y a la Agencia Española de Medicamentos y Productos Sanitarios\r\n (AEMPS) que es quien recoge la información oficial sobre los problemas de\r\n suministro existentes.\r\n

    \r\n
    \r\n );\r\n\r\n const modalKeyName=\"ModalCismedInfo\"\r\n const AbreEmergenteCismed = () => {\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n

     

    \r\n

     

    \r\n

     

    \r\n

     

    \r\n \r\n
    \r\n )\r\n}\r\nexport default CismedOK;\r\n\r\n","import CismedKO from \"./CismedKO\";\r\nimport CismedOK from \"./CismedOK\";\r\n\r\nconst Cismed = (props) => {\r\n const datosCismed = props.datosCismed;\r\n if (datosCismed.EstaAutorizado)\r\n return (\r\n \r\n )\r\n else\r\n return (\r\n \r\n )\r\n}\r\nexport default Cismed;\r\n\r\n","import { GetAntecesorWhithClassName, numberWithCommas, numberWithCommas2, rootPath } from \"../../../../../services/utils\";\r\n\r\nconst Componente = (props) => {\r\n const PA = props.componente.PrincipioActivo;\r\n const idPA = props.componente.IdPrincipioActivo;\r\n const sal = props.componente.Sal;\r\n const cant = props.componente.Cantidad\r\n var uni = props.componente.Unidad;\r\n var codUnidad = props.componente.CodUnidad;\r\n var info = props.componente.Info;\r\n const tieneInfo = (info !== null && info !=='')\r\n const tipoProd = props.tipo;\r\n var alturadivinicial;\r\n\r\n const handleMouseOverIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemTooltip = itemImg.parentElement.getElementsByClassName(\"tooltip\")[0];\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n if (itemTooltip && itemAccordionContent){\r\n var rect = itemTooltip.getBoundingClientRect();\r\n var rectdiv = itemAccordionContent.getBoundingClientRect();\r\n var finYdiv = (Math.round(rectdiv.y)+Math.round(rectdiv.height));\r\n var finYtootip = (Math.round(rect.y)+Math.round(rect.height));\r\n if (finYtootip > finYdiv){\r\n alturadivinicial = Math.round(rectdiv.height).toString() + 'px';\r\n var incremento = finYtootip - finYdiv;\r\n var newAltura = Math.round(rectdiv.height) + incremento;\r\n itemAccordionContent.style.height = newAltura.toString() + 'px';\r\n }\r\n }\r\n }\r\n\r\n const handleMouseOutIcon = (e) =>{\r\n var itemImg = e.target;\r\n var itemAccordionContent = GetAntecesorWhithClassName(itemImg,'accordion__content');\r\n if (itemAccordionContent && alturadivinicial){\r\n itemAccordionContent.style.height = alturadivinicial;\r\n }\r\n }\r\n\r\n if (codUnidad)\r\n codUnidad = codUnidad.trim();\r\n var sub = '';\r\n var resto = '';\r\n if (uni){\r\n if (uni.indexOf('^')>=0){\r\n var partes = uni.split('^')\r\n uni = partes[0];\r\n sub = partes[1];\r\n for(var i=0; i='0' && sub[i]<='9'; i++);\r\n resto = sub.substr(i);\r\n sub = sub.substr(0,i);\r\n }\r\n }\r\n\r\n var textosInfo = [];\r\n var subs = [];\r\n var idxsubs = [];\r\n if (info){\r\n if (info.indexOf('^')>=0){\r\n var partes = info.split('^')\r\n for (var i=0; i='0' && subInfo[j]<='9'; j++);\r\n partes[i+1] = subInfo.substr(j);\r\n subs.push(subInfo.substr(0,j));\r\n idxsubs.push(i);\r\n }\r\n textosInfo.push(partes[partes.length-1]);\r\n }\r\n else\r\n textosInfo.push(info);\r\n }\r\n\r\n /*if (info)\r\n if (info.indexOf('^')>=0){\r\n info = info.replace('^','^');\r\n }*/\r\n\r\n var HTMLAux = textosInfo[0];\r\n for (var i=0; i\"+ subs[i] + \"\" + textosInfo[i+1];\r\n\r\n const tooltip = (!tieneInfo ? '' :\r\n \r\n \"\" handleMouseOverIcon(e)} onMouseOut={(e) => handleMouseOutIcon(e)} />\r\n \r\n \r\n \r\n );\r\n const classdivPA = (tieneInfo ? 'column hasTooltip' : 'column');\r\n\r\n const CambiaPaginaFichaPA = (id) => {\r\n var newpagina = 'FichaPAH';\r\n if (tipoProd === \"MUV\") \r\n newpagina = 'FichaPAV';\r\n if (tipoProd === \"PPF\") \r\n newpagina = 'FichaING';\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n const unidadesLargas = ['MQ','TR','UC']\r\n\r\n const sizeFontUnidades = (unidadesLargas.includes(codUnidad) ? {fontSize : '10px'} : (props.componente.IdPrincipal===0) ? {} : {fontSize : '12px'});\r\n\r\n const estiloNombreComponente = (props.componente.IdPrincipal === 0) && (!props.siguiente || (props.siguiente.IdPrincipal === 0)) ?\r\n {\r\n justifyContent: 'flex-start',\r\n textAlign: 'left',\r\n fontSize: '14px',\r\n }\r\n : (props.componente.IdPrincipal === 0) && props.siguiente && (props.siguiente.IdPrincipal > 0) ?\r\n {\r\n justifyContent: 'flex-start',\r\n textAlign: 'left',\r\n fontSize: '14px',\r\n paddingBottom: '6px',\r\n }\r\n : \r\n {\r\n justifyContent: 'flex-start',\r\n textAlign: 'left',\r\n fontSize: '12px',\r\n paddingTop: '8px',\r\n paddingLeft: '28px',\r\n paddingBottom: '8px',\r\n }\r\n ;\r\n\r\n const estiloCantidadComponente = (props.componente.IdPrincipal === 0) && (!props.siguiente || (props.siguiente.IdPrincipal === 0)) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '14px',\r\n }\r\n : (props.componente.IdPrincipal === 0) && props.siguiente && (props.siguiente.IdPrincipal > 0) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '14px',\r\n paddingBottom: '6px',\r\n }\r\n :\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '12px',\r\n paddingTop: '8px',\r\n paddingBottom: '8px',\r\n }\r\n ;\r\n\r\n const estiloUnidadComponente = (unidadesLargas.includes(codUnidad) ? \r\n (props.componente.IdPrincipal === 0) && (!props.siguiente || (props.siguiente.IdPrincipal === 0)) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '10px',\r\n }\r\n :(props.componente.IdPrincipal === 0) && props.siguiente && (props.siguiente.IdPrincipal > 0) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '10px',\r\n paddingBottom: '6px',\r\n }\r\n :\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '10px',\r\n paddingTop: '8px',\r\n paddingBottom: '8px',\r\n }\r\n :(props.componente.IdPrincipal === 0) &&(!props.siguiente || (props.siguiente.IdPrincipal === 0)) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '14px',\r\n }\r\n :(props.componente.IdPrincipal === 0) && props.siguiente && (props.siguiente.IdPrincipal > 0) ?\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '14px',\r\n paddingBottom: '6px',\r\n }\r\n :\r\n {\r\n display:'table-cell',\r\n justifyContent: 'center',\r\n fontSize: '12px',\r\n paddingTop: '8px',\r\n paddingBottom: '8px',\r\n }\r\n );\r\n\r\n const estiloP = (props.componente.IdPrincipal === 0) ?\r\n {marginLeft:'0px'}\r\n :\r\n {marginLeft:'0px'}\r\n ;\r\n\r\n\r\n \r\n return (\r\n
    \r\n
    \r\n

    \r\n CambiaPaginaFichaPA(idPA)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {PA} \r\n {sal}  \r\n \r\n {tooltip}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {(cant>0 ? numberWithCommas2(cant) : '-')}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {((uni !== null && uni!=='') ? \r\n ((sub!=='') ?\r\n {uni}{sub}{resto}\r\n :\r\n ((codUnidad === 'DT') ?\r\n DICT50\r\n :\r\n ((codUnidad === 'XX') ?\r\n LOG10  UNIDADES INFECCIOSAS\r\n :\r\n ((codUnidad === 'YS') ?\r\n YSLD50\r\n :\r\n ((codUnidad === 'ZX') ?\r\n LOG10  UFP\r\n :\r\n ((codUnidad === 'ZZ') ?\r\n LOG10  DICC50\r\n :\r\n uni\r\n )\r\n )\r\n )\r\n )\r\n )\r\n )\r\n : '-')}\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default Componente;\r\n","import Acordeon from \"./Acordeon\";\r\nimport Componente from \"./Componente\";\r\nconst Composicion = (props) => {\r\n const composicion = props.composicion;\r\n const por = props.por;\r\n const codTipoRegistro = props.tipo;\r\n const componentes = composicion.Componentes.map(item => );\r\n const excipientes = ((composicion.Excipientes && composicion.Excipientes.length>0) ?\r\n composicion.Excipientes.map(item => )\r\n : \r\n \r\n );\r\n const excipientesB = ((composicion.ExcipientesB && composicion.ExcipientesB.length>0) ? \r\n composicion.ExcipientesB.map(item => )\r\n : \r\n \r\n );\r\n const titulo = composicion.Nombre+ ' ' + ((por) ? por : '');\r\n const tituloE = ((composicion.Excipientes && composicion.Excipientes.length>0) ? composicion.NombreExcipientes : '');\r\n const tituloE2 = ((composicion.ExcipientesB && composicion.ExcipientesB.length>0) ? composicion.NombreExcipientesB : '');\r\n const nombreComponentes = (codTipoRegistro===\"PPF\") ? \"Ingredientes\" : \"Principios activos\";\r\n\r\n var contenidoAcordeon = (\r\n
    \r\n
    \r\n
    \r\n

    {nombreComponentes}

    \r\n
    \r\n
    \r\n

    Cantidad

    \r\n
    \r\n
    \r\n

    Unidad

    \r\n
    \r\n
    \r\n {componentes}\r\n {(composicion.Excipientes && composicion.Excipientes.length>0)? \r\n
    \r\n
    \r\n

    {tituloE}

    \r\n
    \r\n
    \r\n  \r\n
    \r\n
    \r\n  \r\n
    \r\n
    \r\n : <>\r\n }\r\n {excipientes}\r\n {(composicion.ExcipientesB && composicion.ExcipientesB.length>0)? \r\n
    \r\n
    \r\n

    {tituloE2}

    \r\n
    \r\n
    \r\n  \r\n
    \r\n
    \r\n  \r\n
    \r\n
    \r\n : <>\r\n }\r\n {excipientesB}\r\n
    \r\n );\r\n return (\r\n \r\n )\r\n}\r\nexport default Composicion;\r\n \r\n","import Composicion from \"./Composicion\";\r\nconst Composiciones = (props) => {\r\n const datosCompos = props.datosCompos;\r\n const por = datosCompos.ComposicionPor;\r\n const composiciones = datosCompos.Composiciones.map(compo => );\r\n return (\r\n
    \r\n {composiciones}\r\n
    \r\n )\r\n}\r\nexport default Composiciones;\r\n","const FilaNombreMed = (props) => {\r\n const nombre = props.nombre;\r\n const clasesDivNombre = 'column fs fs12 fw greenColor4';\r\n const clasesDivCompos = 'column fs fs12 fw greenColor4 FlamaBook';\r\n\r\n const CambiaPaginaMed = (idMed) => {\r\n props.cambiaPagina({\r\n newpagina: 'BMismoNombreMUH',\r\n newid: idMed,\r\n });\r\n }\r\n\r\n const CambiaPaginaPA = (idPA) => {\r\n props.cambiaPagina({\r\n newpagina: 'FichaPAH',\r\n newid: idPA,\r\n });\r\n }\r\n\r\n const HTMLNombresComponentes = nombre.Componentes.map(pa => \r\n
    \r\n
    \r\n

    \r\n CambiaPaginaPA(pa.Codigo)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {pa.Valor}\r\n \r\n

    \r\n
    \r\n
    \r\n );\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n CambiaPaginaMed(nombre.IdMed)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {nombre.NombreMed}\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n {HTMLNombresComponentes}\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaNombreMed;\r\n","import FilaNombreMed from \"./FilaNombreMed\";\r\n\r\n\r\nconst ConfusionNombresMed = (props) => {\r\n const nombresMed = props.nombresMed;\r\n const HTMLNombresMed = nombresMed.map(nombre => );\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Medicamentos

    \r\n
    \r\n
    \r\n

    Composición

    \r\n
    \r\n
    \r\n {HTMLNombresMed}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default ConfusionNombresMed;\r\n","const DatoFarmaceutico = (props) => {\r\n const dato = props.dato;\r\n const tienePicto = (dato.URLPictograma && dato.URLPictograma != \"\");\r\n\r\n return (\r\n
    \r\n
    \r\n {tienePicto ?\r\n \"sandClock\"\r\n :\r\n \r\n } \r\n
    \r\n
    \r\n

    {dato.Dato}

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default DatoFarmaceutico;\r\n","import DatoFarmaceutico from \"./DatoFarmaceutico\";\r\n\r\nconst DatosConservacion = (props) => {\r\n const datosConservacion = props.datosConservacion;\r\n const htmlConservacion = datosConservacion.map(dato => )\r\n return (\r\n
    \r\n {(props.titulo) ?\r\n
    \r\n

    {props.titulo}

    \r\n
    \r\n :\r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n {htmlConservacion}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default DatosConservacion;\r\n\r\n","import AdvertenciasTipo from \"../Advertencias/AdvertenciasTipo\";\r\nimport DatosConservacion from \"./DatosConservacion\";\r\n\r\nconst Conservacion = (props) => {\r\n const infoConservacion = props.infoConservacion;\r\n var datosConservacion = JSON.parse(JSON.stringify(infoConservacion.DatosConservacion));\r\n const mensajesConservacion = infoConservacion.MensajesConservacion;\r\n var datosValidez = [];\r\n\r\n if (mensajesConservacion){\r\n for (var i=0; i );\r\n\r\n return (\r\n
    \r\n {(datosConservacion && datosConservacion.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n {(datosValidez && datosValidez.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default Conservacion;\r\n\r\n","const GrupoPolimorfismos = (props) => {\r\n const grupo = props.grupo;\r\n const polimorfismos = grupo.Polimorfismos.map(item => {item}
    );\r\n const recos = grupo.RecomendacionesTerapeuticas.map(item => {item}
    );\r\n const estiloUltimaFila = {borderBottom: '1px solid #e8e8e8'};\r\n //const estiloUltimaFila = {};\r\n var estiloObservaciones = {};\r\n var estiloRecomendaciones = {};\r\n var estiloPrimeraFila = {};\r\n if (!props.ultimaFila){\r\n if (grupo.Observaciones && grupo.Observaciones !== '')\r\n estiloObservaciones = estiloUltimaFila;\r\n else if (grupo.RecomendacionesTerapeuticas.length>0)\r\n estiloRecomendaciones = {};//estiloUltimaFila;\r\n else\r\n estiloPrimeraFila = estiloUltimaFila;\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n {polimorfismos}\r\n

    \r\n
    \r\n
    \r\n

    {grupo.Fenotipo}

    \r\n
    \r\n
    \r\n

    {grupo.Efecto}

    \r\n
    \r\n
    \r\n {(grupo.RecomendacionesTerapeuticas.length>0) ?\r\n
    \r\n
    \r\n

    \r\n {recos}\r\n

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(grupo.Observaciones && grupo.Observaciones !== '') ?\r\n
    \r\n
    \r\n

    {grupo.Observaciones}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n \r\n
    \r\n )\r\n}\r\nexport default GrupoPolimorfismos;\r\n","import GrupoPolimorfismos from \"./GrupoPolimorfismos\";\r\n\r\nconst FarmacogeneticaBioPA = (props) => {\r\n const biomarcador = props.biomarcador;\r\n const gruposPolimorfismos = biomarcador.Polimorfismos.map(item => \r\n );\r\n\r\n var contenido = (\r\n
    \r\n
    \r\n

    Biomarcador

    \r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n

    Tipo

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {biomarcador.Nombre}

    \r\n
    \r\n
    \r\n

    {biomarcador.Tipo}

    \r\n
    \r\n
    \r\n {(biomarcador.Observaciones && biomarcador.Observaciones !== '') ?\r\n
    \r\n
    \r\n
    \r\n

    Observaciones

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {biomarcador.Observaciones}

    \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n

    Polimorfismos del biomarcador

    \r\n
    \r\n
    \r\n
    \r\n

    Polimorfismo

    \r\n
    \r\n
    \r\n

    Fenotipo metabolizador

    \r\n
    \r\n
    \r\n

    Efecto farmacológico

    \r\n
    \r\n
    \r\n {gruposPolimorfismos}\r\n
    \r\n
    \r\n
    \r\n );\r\n return (\r\n
    \r\n

    {props.titulo}

    \r\n {contenido}\r\n
    \r\n )\r\n}\r\nexport default FarmacogeneticaBioPA;\r\n","import Acordeon from \"../Composicion/Acordeon\";\r\nimport FarmacogeneticaBioPA from \"./FamacogeneticaBioPA\";\r\n\r\nconst FarmacogeneticaPA = (props) => {\r\n const farmacogenetica = props.farmacogenetica;\r\n const biomarcadores = farmacogenetica.Biomarcadores.map(biom => );\r\n const titulo = farmacogenetica.PrincipioActivo;\r\n\r\n var contenidoAcordeon = (\r\n
    \r\n {biomarcadores}\r\n
    \r\n );\r\n return (\r\n
    \r\n {(props.esAcordeon) ?\r\n \r\n :\r\n
    \r\n {biomarcadores}\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default FarmacogeneticaPA;\r\n","import FarmacogeneticaPA from \"./FarmacogeneticaPA\";\r\nconst Farmacogenetica = (props) => {\r\n const farmacogeneticaComponentes = props.farmacogeneticaComponentes;\r\n const esAcordeon = (farmacogeneticaComponentes.length>1);\r\n const farmacogeneticas = farmacogeneticaComponentes.map(fgpa => );\r\n return (\r\n
    \r\n {farmacogeneticas}\r\n
    \r\n )\r\n}\r\nexport default Farmacogenetica;\r\n","const FilaBloquePrecios = (props) => {\r\n const estilopfuturo = (props.fila.valor2 && props.fila.valor2.length>9) ? {fontSize: '12px', paddingTop: '5px'} : {};\r\n \r\n if (props.fila.colSpan){\r\n if (props.tienePFuturos){\r\n return (\r\n
    \r\n
    {props.fila.titulo}
    \r\n
    {props.fila.valor1}
    \r\n
    \r\n )\r\n }\r\n else{\r\n return (\r\n
    \r\n
    {props.fila.titulo}
    \r\n
    {props.fila.valor1}
    \r\n
    \r\n )\r\n }\r\n }\r\n else{\r\n if (props.tienePFuturos){\r\n return (\r\n
    \r\n
    {props.fila.titulo}
    \r\n
    {props.fila.valor1}
    \r\n
    {props.fila.valor2}
    \r\n
    {props.fila.valor3}
    \r\n
    \r\n )\r\n }\r\n else{\r\n return (\r\n
    \r\n
    {props.fila.titulo}
    \r\n
    {props.fila.valor1}
    \r\n
    {props.fila.valor2}
    \r\n
    \r\n )\r\n }\r\n }\r\n}\r\nexport default FilaBloquePrecios;\r\n","import { apiProdPath, FormatoFechaDDMMYYYY, numberWithCommas } from \"../../../../../services/utils\";\r\nimport FilaBloquePrecios from \"../InfoGeneral/FilaBloquePrecios\";\r\n\r\nconst AgrupacionHomogenea = (props) => {\r\n const tienePreciosFuturos = (props.agrupFutura != null);\r\n const claseDivTabla = (tienePreciosFuturos ? \"tablaConPF\" : \"tablaSinPF\");\r\n var Filas = [];\r\n const busqueda = ((props.agrup && props.agrup.IdCCAA > 0 ) || (props.agrupFutura && props.agrupFutura.IdCCAA > 0 )) ? \"BAgrupHomoAuto\" + props.tipoReg : \"BAgrupHomo\" + props.tipoReg;\r\n\r\n const literalAgrupacion = (props.tipoReg === \"FM\")||(props.tipoReg === \"PO\") ? \"Fórmula codificada receta electrónica\" : \"Agrupación homogénea\";\r\n var literalFecha = \"\"\r\n if (!props.agrup && props.agrupFutura && props.fecha)\r\n literalFecha += \" a partir de \" + FormatoFechaDDMMYYYY(props.fecha);\r\n\r\n\r\n if (tienePreciosFuturos){\r\n if ((props.agrup && props.agrup.PVPMenor>0)||(props.agrupFutura.PVPMenor>0)){\r\n Filas.push(\r\n {\r\n titulo: (props.agrup) ? props.agrup.LiteralPMenor : props.agrupFutura.LiteralPMenor,\r\n valor1: (props.agrup && props.agrup.PVPMenor >0) ? numberWithCommas(props.agrup.PVPMenor): '-',\r\n valor2: props.agrupFutura.PVPMenor > 0 && (!props.agrup || props.agrupFutura.PVPMenor !== props.agrup.PVPMenor) ? \r\n numberWithCommas(props.agrupFutura.PVPMenor) : \r\n props.agrupFutura.PVPMenor === -1 ?\r\n 'Desaparece' :\r\n ' ',\r\n valor3: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n if ((props.agrup && props.agrup.PVPMasBajo>0)||(props.agrupFutura.PVPMasBajo>0)){\r\n Filas.push(\r\n {\r\n titulo: (props.agrup) ? props.agrup.LiteralPMasBajo : props.agrupFutura.LiteralPMasBajo,\r\n valor1: (props.agrup && props.agrup.PVPMasBajo >0) ? numberWithCommas(props.agrup.PVPMasBajo): '-',\r\n valor2: props.agrupFutura.PVPMasBajo > 0 && (!props.agrup || props.agrupFutura.PVPMasBajo !== props.agrup.PVPMasBajo) ? \r\n numberWithCommas(props.agrupFutura.PVPMasBajo) : \r\n props.agrupFutura.PVPMasBajo === -1 ?\r\n 'Desaparece' :\r\n ' ',\r\n valor3: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n if (props.mostrarPExtra && props.agrup && props.agrup.PVPExtra>0){\r\n Filas.push(\r\n {\r\n titulo: props.agrup ? props.agrup.LiteralPExtra : props.agrupFutura.LiteralPExtra,\r\n valor1: (props.agrup && props.agrup.PVPExtra >0) ? numberWithCommas(props.agrup.PVPExtra): '-',\r\n valor2: props.agrupFutura.PVPExtra > 0 && (!props.agrup || props.agrupFutura.PVPExtra !== props.agrup.PVPExtra) ? \r\n numberWithCommas(props.agrupFutura.PVPExtra) : \r\n props.agrupFutura.PVPExtra === -1 ?\r\n 'Desaparece' :\r\n ' ',\r\n valor3: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n }\r\n else{\r\n if (props.agrup.PVPMenor>0){\r\n Filas.push(\r\n {\r\n titulo: props.agrup.LiteralPMenor,\r\n valor1: props.agrup.PVPMenor >0 ? numberWithCommas(props.agrup.PVPMenor): '-',\r\n valor2: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n if (props.agrup.PVPMasBajo>0){\r\n Filas.push(\r\n {\r\n titulo: props.agrup.LiteralPMasBajo,\r\n valor1: props.agrup.PVPMasBajo >0 ? numberWithCommas(props.agrup.PVPMasBajo): '-',\r\n valor2: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n if (props.mostrarPExtra && props.agrup.PVPExtra>0){\r\n Filas.push(\r\n {\r\n titulo: props.agrup.LiteralPExtra,\r\n valor1: props.agrup.PVPExtra >0 ? numberWithCommas(props.agrup.PVPExtra): '-',\r\n valor2: 'EUR',\r\n colSpan:false,\r\n }\r\n )\r\n }\r\n }\r\n\r\n const TablaHTML = Filas.map(fila => );\r\n\r\n const CambiaPaginaBusquedaGrupo = (id) => {\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n newid: id,\r\n });\r\n }\r\n\r\n const estilobordes = (props.noBordeSup) ? {borderTop:'none'} : {};\r\n\r\n return (\r\n
    \r\n
    \r\n

    {literalAgrupacion} {props.ccaa} {literalFecha}

    \r\n

    CambiaPaginaBusquedaGrupo(props.agrup.Codigo)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >\r\n {(props.agrup)?\r\n props.agrup.Codigo + ' ' +props.agrup.Nombre\r\n :\r\n props.agrupFutura.Codigo + ' ' +props.agrupFutura.Nombre\r\n }\r\n

    \r\n
    \r\n
    \r\n {TablaHTML}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default AgrupacionHomogenea;\r\n","import { useState } from \"react\";\r\nimport { AddClassNameToClassItems, PerfilUsuario, RemoveClassNameToClassItems } from \"../../../../../services/utils\";\r\nimport AvisoPriciosFuturos from \"../../InfoPrincipal/AvisoPreciosFuturos\";\r\nimport Emergente from \"../Cismed/Emergente\";\r\nimport BloqueNombreValor from \"../InfoGeneral/BloqueNombreValor\";\r\nimport AgrupacionHomogenea from \"./AgrupacionHomogenea\";\r\n\r\nconst Grupos = (props) => {\r\n const [msgAviso, setMsgAviso] = useState('');\r\n const [strPaginaTrasAviso, setStrPaginaTrasAviso] = useState('');\r\n const [idPaginaTrasAviso, setIdPaginaTrasAviso] = useState(0);\r\n \r\n var bloqueATC = [];\r\n var nombreGrupos = \"ATC\";\r\n var tipoReg = props.codTipoRegistro;\r\n if (props.nombreGrupos)\r\n nombreGrupos = props.nombreGrupos;\r\n var tituloGrupos = \"Grupos terapéuticos ATC\"\r\n if (nombreGrupos === \"Con\"){\r\n tituloGrupos = \"Categorización Consejo General\";\r\n tipoReg = \"PPF\"\r\n }\r\n var tipoRegLink = tipoReg;\r\n if ((tipoReg === \"PO\") || (tipoReg === \"FM\") || (tipoReg === \"VI\")){\r\n tipoRegLink = \"MUH\";\r\n }\r\n var link = \"BGT\" + nombreGrupos + tipoRegLink;\r\n \r\n for (var i=1; i<=5; i++)\r\n {\r\n var nombreCampo = \"G\" + nombreGrupos + \"Nivel\" + i.toString();\r\n if (props.datosGrupos[nombreCampo]){\r\n var titulo = \"Nivel \" + i.toString();\r\n var id = props.datosGrupos[nombreCampo].Codigo;\r\n var valor = props.datosGrupos[nombreCampo].Codigo + \" \" + props.datosGrupos[nombreCampo].Descripcion;\r\n bloqueATC.push({\r\n nombre: titulo,\r\n valor : valor,\r\n link : link,\r\n id : id\r\n })\r\n }\r\n }\r\n\r\n\r\n const CambiaPaginaBusquedaGrupo = (tipo, id) => {\r\n props.cambiaPagina({\r\n newpagina: tipo,\r\n newid: id,\r\n });\r\n }\r\n \r\n\r\n var bloqueVTM = [];\r\n /*const descClinica = ((props.datosGrupos.GVTM !== null && props.datosGrupos.GVTM!== undefined) \r\n || (props.datosGrupos.GTVMP !== null && props.datosGrupos.GTVMP !== undefined) \r\n || (props.datosGrupos.GTVMPP !== null && props.datosGrupos.GTVMPP !== undefined));*/\r\n const descClinica = (props.datosGrupos.GVTM || props.datosGrupos.GVMP ||props.datosGrupos.GVMPP) \r\n if (props.datosGrupos.GVTM){\r\n bloqueVTM.push(\r\n {\r\n nombre : 'Grupo terapéutico VTM',\r\n valor: props.datosGrupos.GVTM.Descripcion,\r\n link: 'BGTVMPPMUH',\r\n id: props.datosGrupos.GVTM.Codigo,\r\n aviso: (props.sustituible) ? false : (props.exceptSust) ? 'Se recuerda que este medicamento es sustituible por el farmacéutico de forma excepcional debido a problemas de suministro':'Se recuerda que este medicamento no es sustituible por el farmacéutico.',\r\n },\r\n )\r\n }\r\n\r\n if (props.datosGrupos.GVMP){\r\n bloqueVTM.push(\r\n {\r\n nombre : 'Grupo terapéutico VMP',\r\n valor: props.datosGrupos.GVMP.Descripcion,\r\n link: 'BGTVMPPMUH',\r\n id: props.datosGrupos.GVMP.Codigo,\r\n aviso: (props.sustituible) ? false : (props.exceptSust) ? 'Se recuerda que este medicamento es sustituible por el farmacéutico de forma excepcional debido a problemas de suministro':'Se recuerda que este medicamento no es sustituible por el farmacéutico.',\r\n },\r\n )\r\n }\r\n\r\n if (props.datosGrupos.GVMPP){\r\n bloqueVTM.push(\r\n {\r\n nombre : 'Grupo terapéutico VMPP',\r\n valor: props.datosGrupos.GVMPP.Descripcion,\r\n link: 'BGTVMPPMUH',\r\n id: props.datosGrupos.GVMPP.Codigo,\r\n aviso: (props.sustituible) ? false : (props.exceptSust) ? 'Se recuerda que este medicamento es sustituible por el farmacéutico de forma excepcional debido a problemas de suministro':'Se recuerda que este medicamento no es sustituible por el farmacéutico.',\r\n },\r\n )\r\n }\r\n\r\n const estiloSinBorde = {borderBottom: 'none'};\r\n const estiloGTATC = (descClinica) ? undefined : estiloSinBorde;\r\n\r\n const abreEmergenteAviso = (aviso,pagina,id) => {\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n setMsgAviso(aviso);\r\n setStrPaginaTrasAviso(pagina);\r\n setIdPaginaTrasAviso(id);\r\n }\r\n\r\n const cierraEmergenteAviso = () => {\r\n RemoveClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n const modalTitulo = 'Recuerde';\r\n const modalContent = (\r\n
    \r\n

    \r\n {msgAviso}\r\n

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const modalKeyName=\"ModalAvisoSust\"\r\n\r\n const hayPFuturos = props.pFuturos && ((props.pFuturos.AgrupacionNacional && (props.pFuturos.AgrupacionNacional.PVPMenor !== 0 || props.pFuturos.AgrupacionNacional.PVPMasBajo !== 0))\r\n ||(props.pFuturos.AgrupacionCCAA && (props.pFuturos.AgrupacionCCAA.PVPMenor !== 0 || props.pFuturos.AgrupacionCCAA.PVPMasBajo !== 0)))\r\n\r\n const hayAgrupAuto = ((props.agrupCCAA && props.agrupCCAA.Codigo) || (props.pFuturos && (props.pFuturos.AgrupacionCCAA && props.pFuturos.AgrupacionCCAA.Codigo)))\r\n const hayAgrupNac = ((props.agrupNac && props.agrupNac.Codigo) || (props.pFuturos && (props.pFuturos.AgrupacionNacional && props.pFuturos.AgrupacionNacional.Codigo)))\r\n\r\n const pFuturosHTML = ((hayPFuturos && (PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\"))?\r\n
    \r\n \r\n
    :\r\n <> \r\n );\r\n\r\n var estiloPrimerGrupo = (PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") ? {borderBottom: 'none'} : {borderBottom: 'none', borderTop: 'none'};\r\n var ocultaGNPorPerfil = (tipoReg === \"PPF\") && (PerfilUsuario()===\"EST\" || PerfilUsuario()===\"INS\");\r\n\r\n var estiloGrupoGT = props.datosGrupos.GNomenclator || (PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") ? !ocultaGNPorPerfil ? {borderBottom: 'none'} : {borderBottom: 'none', borderTop: 'none'} : {borderBottom: 'none', borderTop: 'none'}\r\n\r\n\r\n return (\r\n
    \r\n \r\n {pFuturosHTML}\r\n {hayAgrupAuto && (PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") ?\r\n \r\n \r\n :\r\n <>\r\n }\r\n {hayAgrupNac && (PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\")?\r\n \r\n \r\n :\r\n <>\r\n }\r\n\r\n {props.datosGrupos.GNomenclator && !ocultaGNPorPerfil ?\r\n
    \r\n
    \r\n

     

    \r\n
    \r\n

    Clasificación Nomenclátor

    \r\n

    CambiaPaginaBusquedaGrupo('BGTSanPPF',props.datosGrupos.GNomenclator.Codigo)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}>\r\n {props.datosGrupos.GNomenclator.Codigo} {props.datosGrupos.GNomenclator.Descripcion}\r\n

    \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n
    \r\n
    \r\n

    {tituloGrupos}

    \r\n
    \r\n \r\n \r\n { (descClinica) ?\r\n
    \r\n

     

    \r\n
    \r\n

    Descripciones clínicas AEMPS

    \r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n )\r\n}\r\nexport default Grupos;\r\n \r\n /*if (props.datosGrupos[\"GATCNivel1\"]){\r\n bloqueATC.push(\r\n {\r\n nombre : 'Nivel 1',\r\n valor: props.datosGrupos.GATCNivel1.Codigo + ' ' + props.datosGrupos.GATCNivel1.Descripcion,\r\n link: 'BGATC',\r\n id: props.datosGrupos.GATCNivel1.Codigo\r\n },\r\n )\r\n }\r\n if (props.datosGrupos.GATCNivel2){\r\n bloqueATC.push(\r\n {\r\n nombre : 'Nivel 2',\r\n valor: props.datosGrupos.GATCNivel2.Codigo + ' ' + props.datosGrupos.GATCNivel2.Descripcion,\r\n link: 'BGATC',\r\n id: props.datosGrupos.GATCNivel2.Codigo\r\n },\r\n )\r\n }\r\n if (props.datosGrupos.GATCNivel3){\r\n bloqueATC.push(\r\n {\r\n nombre : 'Nivel 3',\r\n valor: props.datosGrupos.GATCNivel3.Codigo + ' ' + props.datosGrupos.GATCNivel3.Descripcion,\r\n link: 'BGATC',\r\n id: props.datosGrupos.GATCNivel3.Codigo\r\n },\r\n )\r\n }\r\n if (props.datosGrupos.GATCNivel4){\r\n bloqueATC.push(\r\n {\r\n nombre : 'Nivel 4',\r\n valor: props.datosGrupos.GATCNivel4.Codigo + ' ' + props.datosGrupos.GATCNivel4.Descripcion,\r\n link: 'BGATC',\r\n id: props.datosGrupos.GATCNivel4.Codigo\r\n },\r\n )\r\n }\r\n if (props.datosGrupos.GATCNivel5){\r\n bloqueATC.push(\r\n {\r\n nombre : 'Nivel 5',\r\n valor: props.datosGrupos.GATCNivel5.Codigo + ' ' + props.datosGrupos.GATCNivel5.Descripcion,\r\n link: 'BGATC',\r\n id: props.datosGrupos.GATCNivel5.Codigo\r\n },\r\n )\r\n }*/\r\n","import { numberWithCommas } from \"../../../../../services/utils\";\r\nimport Acordeon from \"../Composicion/Acordeon\";\r\n\r\nconst CambioHistorico = (props) => {\r\n const cambio = props.cambio;\r\n const titulo = cambio.Tipo;\r\n const esCambioPrecio = (cambio.PreAnterior && cambio.PreAnterior>0);\r\n const esCambioNombre = (cambio.NomAnterior && cambio.NomAnterior !== '');\r\n const esCambioLab = (cambio.LabAnterior && cambio.LabAnterior !== '');\r\n const tieneObservaciones = (cambio.Observaciones && cambio.Observaciones !== '');\r\n\r\n const contenido = (\r\n
    \r\n {(esCambioPrecio) ?\r\n (props.esECoH) ?\r\n

    PVL anterior: {numberWithCommas(cambio.PreAnterior)} €

    \r\n :\r\n

    PVPiva anterior: {numberWithCommas(cambio.PreAnterior)} €

    \r\n : (esCambioNombre) ?\r\n

    Nombre anterior: {cambio.NomAnterior}

    \r\n : (esCambioLab) ?\r\n

    Laboratorio anterior: {cambio.LabAnterior}

    \r\n : \r\n \r\n }\r\n {(tieneObservaciones) ?\r\n

    {cambio.Observaciones}

    \r\n :\r\n \r\n }\r\n
    \r\n );\r\n return (\r\n \r\n )\r\n}\r\nexport default CambioHistorico;","import { FormatoFechaDDMMYYYY } from \"../../../../../services/utils\";\r\nimport CambioHistorico from \"./CambioHistorico\";\r\n\r\nconst FechaHistorico = (props) => {\r\n const fecha = props.fecha;\r\n const htmlCambios = fecha.Cambios.map(cambio => )\r\n return (\r\n
    \r\n
    \r\n

    {FormatoFechaDDMMYYYY(fecha.Fecha)}

    \r\n
    \r\n {htmlCambios}\r\n
    \r\n )\r\n}\r\nexport default FechaHistorico;\r\n","import FechaHistorico from \"./FechaHistorico\";\r\n\r\nconst Historico = (props) => {\r\n const datosHistorico = props.datosHistorico;\r\n const htmlHistorico = datosHistorico.map(fecha => )\r\n return (\r\n
    \r\n {htmlHistorico}\r\n
    \r\n )\r\n}\r\nexport default Historico;\r\n","const FilaTitulosIdent = (props) => {\r\n const fila = props.fila;\r\n\r\n const htmlFila = fila.map(item=>\r\n
    \r\n

    {item}

    \r\n
    \r\n );\r\n\r\n const clasesDiv = (props.idxBloque === 0 ? \"table__row table__row__header table__row__header__noBg fs fs12 fw fw600 greenColor uppercase\" : \"table__row table__row__header2 table__row__header__noBg fs fs12 fw fw600 greenColor uppercase\")\r\n\r\n return (\r\n
    \r\n {htmlFila}\r\n
    \r\n )\r\n}\r\nexport default FilaTitulosIdent;\r\n","import FilaTitulosIdent from \"./FilaTitulosIdent\";\r\n\r\nconst FilaIdent = (props) => {\r\n const fila = props.fila;\r\n //const esImagen = props.esImagen;\r\n\r\n const htmlFila = fila.map(item=>\r\n
    \r\n {\r\n (fila.indexOf(item) + (props.idxBloque * props.colsperrow)===props.idxForma) ?\r\n {item}\r\n :\r\n (item && item !== '') ? \r\n {item.split(\"\\n\").map(line=>

    {line}

    )}
    \r\n :\r\n

    -

    \r\n }\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {htmlFila}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default FilaIdent;\r\n","import BloqueTablaIdent from \"./BloqueTablaIdent\";\r\nimport FilaIdent from \"./FilaIdent\";\r\n\r\nconst Identificacion = (props) => {\r\n const datosIdentificacion = props.datosIdentificacion;\r\n const colsperrow = 3;\r\n const tablas = [];\r\n var iaux=datosIdentificacion.Titulos.indexOf('Forma');\r\n /*for(let i=0; i < datosIdentificacion.Titulos.length; i+= colsperrow){\r\n const chunk = datosIdentificacion.Titulos.slice(i, i + colsperrow);\r\n const valores = [];\r\n for (let j=0; j );\r\n //const htmlTabla = tabla.map(fila => );\r\n\r\n const htmlTablas = tablas.map(tabla => \r\n
    \r\n {tabla.map(fila => )}\r\n
    \r\n )\r\n \r\n\r\n return (\r\n
    \r\n {htmlTablas}\r\n
    \r\n )\r\n}\r\nexport default Identificacion;\r\n\r\n","import DocumentosDeTipo from \"./DocumentosDeTipo\";\r\n\r\nconst InformacionAdicional = (props) => {\r\n const datosInfoAdicional = props.datosInfoAdicional;\r\n const htmlInfoAdicional = datosInfoAdicional.map(grupodocs => )\r\n return (\r\n
    \r\n {htmlInfoAdicional}\r\n
    \r\n )\r\n}\r\nexport default InformacionAdicional;\r\n\r\n","import { getIdCCAA, numberWithCommas, AddClassNameToClassItems, rootPath } from \"../../../../../services/utils\";\r\nimport AvisoPriciosFuturos from \"../../InfoPrincipal/AvisoPreciosFuturos\";\r\nimport FilaBloquePrecios from \"./FilaBloquePrecios\";\r\n/*\r\n {(tienePreciosFuturos && \r\n (ficha.PFuturos.PVPIVA>0 || ficha.PFuturos.PVPsinIVA>0 || ficha.PFuturos.PFact>0 || \r\n (ficha.PFuturos.AgrupacionCCAA && \r\n (ficha.PFuturos.AgrupacionCCAA.PVPMenor > 0 || ficha.PFuturos.AgrupacionCCAA.PVPMasBajo > 0))) ?\r\n \r\n :\r\n
    \r\n )}\r\n*/\r\n\r\nconst BloquePrecios = (props) => {\r\n const ficha=props.ficha;\r\n const tienePreciosFuturos = (ficha.PFuturos);\r\n const pFuturosHTML = (tienePreciosFuturos &&\r\n (ficha.PFuturos.PVPIVA>0 || ficha.PFuturos.PVPsinIVA>0 || ficha.PFuturos.PFact>0 || ficha.PFuturos.PVL>0 || ficha.PFuturos.PRef>0 || ficha.PFuturos.PVLRef>0 )? \r\n : \r\n \r\n );\r\n const claseDivTabla = (tienePreciosFuturos ? \"tablaConPF\" : \"tablaSinPF\");\r\n var literalPVPIVA = 'PVP con IVA';\r\n if (ficha.CodTipoRegistro === 'PPF')\r\n literalPVPIVA = 'PVP con IVA de facturación';\r\n var literalPVPsinIVA = 'PVP sin IVA';\r\n var idCCAA = getIdCCAA();\r\n if ((idCCAA===18) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Ceuta\";\r\n if ((idCCAA===19) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Melilla\";\r\n var literalPVL = 'PVL';\r\n if (ficha.DatosF){\r\n if (ficha.DatosF.filter(e => e.CodigoDato === 'PN').length > 0){\r\n literalPVPIVA = 'PVP con IVA notificado';\r\n literalPVPsinIVA = 'PVP sin IVA notificado';\r\n literalPVL = 'PVL notificado';\r\n }\r\n }\r\n\r\n var precioReferencia = (ficha.PVPIVA ? ficha.PVPIVA : ficha.PVPsinIVA ? ficha.PVPsinIVA : ficha.PVL ? ficha.PVL : ficha.PFact);\r\n\r\n var gridTemplateColumns = \"2.5fr 0.5fr 1.7fr\";\r\n if (tienePreciosFuturos)\r\n gridTemplateColumns = \"2.5fr 0.6fr 0.6fr 1.8fr\";\r\n\r\n\r\n if (precioReferencia){\r\n if (precioReferencia>=100){\r\n gridTemplateColumns = \"2.5fr 0.6fr 1.6fr\";\r\n if (tienePreciosFuturos){\r\n gridTemplateColumns = \"2.5fr 0.7fr 0.7fr 1.6fr\";\r\n }\r\n }\r\n if (precioReferencia>=1000){\r\n gridTemplateColumns = \"2.5fr 0.7fr 1.5fr\";\r\n if (tienePreciosFuturos){\r\n gridTemplateColumns = \"2.5fr 0.8fr 0.8fr 1.4fr\";\r\n }\r\n }\r\n if (precioReferencia>=10000){\r\n gridTemplateColumns = \"2.5fr 0.9fr 1.3fr\";\r\n if (tienePreciosFuturos){\r\n gridTemplateColumns = \"2.5fr 1.0fr 1.0fr 1.0fr\";\r\n }\r\n }\r\n if (precioReferencia>=100000){\r\n gridTemplateColumns = \"2.5fr 1.0fr 1.2fr\";\r\n if (tienePreciosFuturos){\r\n gridTemplateColumns = \"2.5fr 1.1fr 1.1fr 0.8fr\";\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n const Filas = (tienePreciosFuturos ?\r\n [\r\n {\r\n titulo: 'IVA aplicable',\r\n valor1: ficha.IVA >0 ? ficha.IVA + '%': '-',\r\n valor2: '',\r\n valor3: '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVPIVA,\r\n valor1: ficha.PVPIVA >0 ? numberWithCommas(ficha.PVPIVA): '-',\r\n valor2: ficha.PFuturos.PVPIVA >0 && ficha.PFuturos.PVPIVA !== ficha.PVPIVA ? numberWithCommas(ficha.PFuturos.PVPIVA) : ' ',\r\n valor3: ficha.PVPIVA >0 || ficha.PFuturos.PVPIVA >0 ?'EUR':'',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVPsinIVA,\r\n valor1: ficha.PVPsinIVA>0 ? numberWithCommas(ficha.PVPsinIVA) : '-',\r\n valor2: ficha.PFuturos.PVPsinIVA > 0 && ficha.PFuturos.PVPsinIVA !== ficha.PVPsinIVA ? numberWithCommas(ficha.PFuturos.PVPsinIVA) : ' ',\r\n valor3: ficha.PVPsinIVA>0 || ficha.PFuturos.PVPsinIVA > 0 ? 'EUR': '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVL,\r\n valor1: ficha.PVL > 0 ? numberWithCommas(ficha.PVL) : '-',\r\n valor2: ficha.PFuturos.PVL > 0 && ficha.PFuturos.PVL !== ficha.PVL ? numberWithCommas(ficha.PFuturos.PVL) : ' ',\r\n valor3: ficha.PFuturos.PVL > 0 || ficha.PVL > 0 ? 'EUR': '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'Precio facturación',\r\n valor1: ficha.PFact > 0 ? numberWithCommas(ficha.PFact) : '-',\r\n valor2: ficha.PFuturos.PFact > 0 && ficha.PFuturos.PFact !== ficha.PFact? numberWithCommas(ficha.PFuturos.PFact) : ' ',\r\n valor3: ficha.PFact > 0 || ficha.PFuturos.PFact > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'Conjunto de referencia',\r\n valor1: (ficha.CjtoRef) ? ficha.CjtoRef.Codigo + ' ' + ficha.CjtoRef.Nombre : '',\r\n colSpan:true,\r\n },\r\n {\r\n titulo: 'PVP IVA referencia',\r\n valor1: ficha.PRef > 0 ? numberWithCommas(ficha.PRef) : '-',\r\n valor2: ficha.PFuturos.PRef > 0 && ficha.PFuturos.PRef != ficha.PRef ? numberWithCommas(ficha.PFuturos.PRef) : ' ',\r\n valor3: ficha.PFuturos.PRef > 0 || ficha.PRef > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'PVL referencia',\r\n valor1: ficha.PVLRef > 0 ? numberWithCommas(ficha.PVLRef) : '-',\r\n valor2: ficha.PFuturos.PVLRef > 0 && ficha.PFuturos.PVLRef !== ficha.PVLRef? numberWithCommas(ficha.PFuturos.PVLRef) : ' ',\r\n valor3: ficha.PFuturos.PVLRef > 0 || ficha.PVLRef > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n ]\r\n :\r\n [\r\n {\r\n titulo: 'IVA aplicable',\r\n valor1: ficha.IVA >0 ? ficha.IVA + '%': '-',\r\n valor2: '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVPIVA,\r\n valor1: ficha.PVPIVA >0 ? numberWithCommas(ficha.PVPIVA): '-',\r\n valor2: ficha.PVPIVA >0 ?'EUR':'',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVPsinIVA,\r\n valor1: ficha.PVPsinIVA>0 ? numberWithCommas(ficha.PVPsinIVA) : '-',\r\n valor2: ficha.PVPsinIVA>0 ? 'EUR': '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: literalPVL,\r\n valor1: ficha.PVL >0 ? numberWithCommas(ficha.PVL) : '-',\r\n valor2: ficha.PVL > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'Precio facturación',\r\n valor1: ficha.PFact > 0 ? numberWithCommas(ficha.PFact) : '-',\r\n valor2: ficha.PFact > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'Conjunto de referencia',\r\n valor1: (ficha.CjtoRef) ? ficha.CjtoRef.Codigo + ' ' + ficha.CjtoRef.Nombre : '-',\r\n colSpan:true,\r\n },\r\n {\r\n titulo: 'PVP IVA referencia',\r\n valor1: ficha.PRef > 0 ? numberWithCommas(ficha.PRef) : '-',\r\n valor2: ficha.PRef > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n {\r\n titulo: 'PVL referencia',\r\n valor1: ficha.PVLRef > 0 ? numberWithCommas(ficha.PVLRef) : '-',\r\n valor2: ficha.PVLRef > 0 ? 'EUR' : '',\r\n colSpan:false,\r\n },\r\n ]\r\n );\r\n\r\n if (ficha.CodTipoRegistro === \"PPF\")\r\n {\r\n Filas.splice(4,4);\r\n Filas.splice(2,1);\r\n if (ficha.LiteralPrecio)\r\n Filas[1].titulo = ficha.LiteralPrecio;\r\n var idCCAA = getIdCCAA();\r\n if (idCCAA === 5 || idCCAA === 18 || idCCAA === 19){\r\n if (tienePreciosFuturos){\r\n Filas[1].valor1= ficha.PVPsinIVA>0 ? numberWithCommas(ficha.PVPsinIVA) : '-';\r\n Filas[1].valor2= ficha.PFuturos.PVPsinIVA > 0 && ficha.PFuturos.PVPsinIVA !== ficha.PVPsinIVA ? numberWithCommas(ficha.PFuturos.PVPsinIVA) : ' ';\r\n Filas[1].valor3= ficha.PVPsinIVA>0 || ficha.PFuturos.PVPsinIVA > 0 ? 'EUR': '';\r\n }\r\n else{\r\n Filas[1].valor1 = ficha.PVPsinIVA>0 ? numberWithCommas(ficha.PVPsinIVA) : '-';\r\n Filas[1].valor2 = ficha.PVPsinIVA>0 ? 'EUR': '';\r\n }\r\n }\r\n\r\n }\r\n\r\n if (ficha.CodTipoRegistro === \"MHO\")\r\n {\r\n Filas.splice(5,3);\r\n }\r\n\r\n const TablaHTML = Filas.map(fila => );\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n Precios\r\n { \r\n (ficha.InfoPrecio && ficha.InfoPrecio !== '') ?\r\n props.abreEmergenteInfoPrecio(e)}>\r\n \"\"/\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n {pFuturosHTML}\r\n
    \r\n
    \r\n {TablaHTML}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default BloquePrecios;\r\n","import { AddClassNameToClassItems, FormatoFechaDDMMYYYY, PerfilUsuario, numberWithCommas, rootPath } from \"../../../../../services/utils\";\r\nimport Emergente from \"../Cismed/Emergente\";\r\nimport BloqueNombreValor from \"./BloqueNombreValor\";\r\nimport BloquePrecios from \"./BloquePrecios\";\r\n\r\nconst InfoGeneral = (props) => {\r\n const ficha = props.ficha;\r\n const tooltipMaxEnvases = \r\n
    \r\n

    \r\n Este número hace referencia a los envases máximos a dispensar en receta en soporte papel, \r\n tal y como se recoge en el artículo 5 del Real Decreto 1718/2010. \r\n Se recuerda que en el caso de receta electrónica no se ha establecido una limitación en el \r\n número máximo de envases que se pueden prescribir por receta, si bien hay una limitación en\r\n el periodo máximo de prescripción (1 año), así como en la cantidad máxima a dispensar por acto \r\n (inferior a un mes de tratamiento, salvo que el formato a dispensar conforme a la prescripción \r\n supere dicho periodo según su ficha técnica).\r\n

    \r\n
    \r\n ;\r\n const tooltipMaxEnvasesDieto = \r\n
    \r\n

    \r\n Siempre y cuando no supere el mes de tratamiento.\r\n

    \r\n
    \r\n ;\r\n const bloque1H = [\r\n {\r\n nombre : 'Código Nacional',\r\n valor: ficha.Codigo,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Nº de registro',\r\n valor: ficha.NumRegistro,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Código EAN13',\r\n valor: ficha.CodEAN13,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Max. envases por receta',\r\n valor: ficha.MaxEnvReceta,\r\n link: null,\r\n tooltip: tooltipMaxEnvases,\r\n altotooltip: '360px'\r\n },\r\n ]\r\n const bloque1V = [\r\n {\r\n nombre : 'Código Nacional',\r\n valor: ficha.Codigo,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Nº de registro',\r\n valor: ficha.NumRegistro,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Código EAN13',\r\n valor: ficha.CodEAN13,\r\n link: null,\r\n },\r\n {\r\n nombre : 'IVA Aplicable',\r\n valor: ficha.IVA>0 ? numberWithCommas(ficha.IVA) + ' %' : '',\r\n link: null,\r\n },\r\n ]\r\n\r\n var bloque1PF = [\r\n {\r\n nombre : 'Código Nacional',\r\n valor: ficha.Codigo,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Tipo de producto',\r\n valor: ficha.TipoPF,\r\n link: 'BTipoPPF',\r\n id: ficha.IdTipoPF\r\n },\r\n {\r\n nombre : ficha.LiteralSubtipo,\r\n valor: ficha.SubtipoPF,\r\n link: 'BSubtipoPPF',\r\n id: ficha.IdSubtipoPF\r\n },\r\n {\r\n nombre : ficha.LiteralCodigoRegistro,\r\n valor: ficha.NumRegistro,\r\n link: null,\r\n },\r\n ]\r\n\r\n if (ficha.CodTipoRegistro == \"PPF\"){\r\n const idTiposConNumRegPF = [ 1, 6, 12, 13, 23, 24, 25 ];\r\n if (!idTiposConNumRegPF.includes(ficha.IdTipoPF))\r\n bloque1PF.pop();\r\n const tieneCodigoUdi = ((ficha.CodTipoRegistro === \"PPF\") && (ficha.IdTipoPF) && (ficha.IdTipoPF === 1 || ficha.IdTipoPF === 13 || ficha.IdTipoPF === 25))\r\n if (tieneCodigoUdi){\r\n const tieneValorCodigoUdi = tieneCodigoUdi && ficha.CodUDIDI && (ficha.CodUDIDI !== '')\r\n if (tieneValorCodigoUdi)\r\n bloque1PF.push({\r\n nombre : 'Código UDI-DI',\r\n valor: ficha.CodUDIDI,\r\n link: null,\r\n })\r\n else{\r\n bloque1PF.push({\r\n nombre : 'Código UDI-DI',\r\n valor: '-',\r\n link: null,\r\n })\r\n }\r\n }\r\n }\r\n\r\n if (ficha.CodTipoRegistro == \"PPF\" && ficha.IdTipoPF === 6){\r\n bloque1PF.push({\r\n nombre: 'Max. envases por receta',\r\n valor: 4,\r\n tooltip : tooltipMaxEnvasesDieto,\r\n altotooltip: '160px'\r\n })\r\n }\r\n\r\n var precioAuto = 0;\r\n\r\n if (ficha.AgrupacionCCAA)\r\n precioAuto = ficha.AgrupacionCCAA.PVPMenor;\r\n const formaFarma = (ficha.FormaFarma) ? ficha.FormaFarma.Formafarmaceutica : '';\r\n const via = (ficha.FormaFarma) ? ficha.FormaFarma.Via : '';\r\n\r\n const bloque1FM = [\r\n {\r\n nombre : 'Código Nacional',\r\n valor: ficha.Codigo,\r\n link: null,\r\n }, \r\n {\r\n nombre : (ficha.IdCCAA===5 || ficha.IdCCAA===18 || ficha.IdCCAA===19 ? \"PVP\" : \"PVP con IVA\"),\r\n valor: (precioAuto>0) ? numberWithCommas(precioAuto) + ' EUR': '',\r\n link: null,\r\n },\r\n {\r\n nombre : 'IVA Aplicable',\r\n valor: ficha.IVA>0 ? numberWithCommas(ficha.IVA) + ' %' : '',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Forma farmacéutica',\r\n valor: formaFarma,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Vía de administración',\r\n valor: via,\r\n link: null,\r\n },\r\n ]\r\n const lab = (ficha.Laboratorio) ? ficha.Laboratorio.Nombre : '';\r\n const idLab = (ficha.Laboratorio) ? ficha.Laboratorio.Id : 0;\r\n\r\n const bloque1HO = [\r\n {\r\n nombre : 'Código Nacional',\r\n valor: ficha.Codigo,\r\n link: null,\r\n }, \r\n {\r\n nombre : 'Nº de registro',\r\n valor: ficha.NumRegistro,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Forma farmacéutica',\r\n valor: formaFarma,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Vía de administración',\r\n valor: via,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Laboratorio',\r\n valor: \r\n (
    \r\n props.cambiaPagina({newpagina:'BLaboratorio'+ficha.CodTipoRegistro, newid:idLab})}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{lab.toUpperCase()}   \r\n abreEmergenteLabo(e)}>\r\n \"\"/\r\n \r\n
    ),\r\n link: null,\r\n id: idLab\r\n },\r\n {\r\n nombre : 'Estado autorización',\r\n valor: (ficha.EstadoAuto) ? ficha.EstadoAuto.Descripcion : '-',\r\n link: null,\r\n },\r\n ]\r\n\r\n var bloque1 = bloque1H\r\n\r\n const abreEmergenteLabo = (e) => {\r\n e.preventDefault();\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n \r\n var bloque2 = [\r\n {\r\n nombre : 'Forma farmacéutica',\r\n valor: formaFarma,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Vía de administración',\r\n valor: via,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Laboratorio',\r\n valor: \r\n (
    \r\n props.cambiaPagina({newpagina:'BLaboratorio'+ficha.CodTipoRegistro, newid:idLab})} \r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{lab.toUpperCase()}   \r\n abreEmergenteLabo(e)}>\r\n \"\"/\r\n \r\n
    ),\r\n link: null,\r\n id: idLab\r\n },\r\n ]\r\n\r\n var datosLaboratorio = [\r\n {\r\n nombre : 'Dirección',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Direccion) ? ficha.Laboratorio.Direccion : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Código postal',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.CodigoPostal) ? ficha.Laboratorio.CodigoPostal : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Localidad',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Localidad) ? ficha.Laboratorio.Localidad : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Provincia',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Provincia) ? ficha.Laboratorio.Provincia : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'País',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Pais) ? ficha.Laboratorio.Pais : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Teléfono',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Telefono) ? ficha.Laboratorio.Telefono : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Fax',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Fax) ? ficha.Laboratorio.Fax : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Email',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Email) ? ficha.Laboratorio.Email : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Web',\r\n valor: (ficha.Laboratorio && ficha.Laboratorio.Observaciones) ? ficha.Laboratorio.Observaciones.toLowerCase() : '-',\r\n link: null,\r\n },\r\n ]\r\n\r\n if (ficha.Laboratorio && ficha.Laboratorio.IdPais===1)\r\n datosLaboratorio.splice(4,1);\r\n\r\n var bloque2PF = [\r\n {\r\n nombre : 'Forma farmacéutica',\r\n valor: formaFarma,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Vía de administración',\r\n valor: via,\r\n link: null,\r\n },\r\n {\r\n nombre : 'Laboratorio',\r\n valor: \r\n (
    \r\n props.cambiaPagina({newpagina:'BLaboratorioPPF', newid:idLab})} \r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{lab.toUpperCase()}   \r\n abreEmergenteLabo(e)}>\r\n \"\"/\r\n \r\n
    ),\r\n link: null,\r\n id: idLab\r\n },\r\n {\r\n nombre : 'Estéril',\r\n valor: ficha.Esteril,\r\n link: null,\r\n },\r\n ]\r\n\r\n if (ficha.CodTipoRegistro == \"PPF\"){\r\n const idTiposConEsteril = [ 1, 13, 25 ];\r\n if (!idTiposConEsteril.includes(ficha.IdTipoPF)){\r\n bloque2PF.pop();\r\n }\r\n\r\n const idTiposConSubtipo = [ 1, 3, 6, 12, 13, 23, 25 ];\r\n if (!idTiposConSubtipo.includes(ficha.IdTipoPF)){\r\n //bloque2PF.splice(4,1);\r\n bloque1PF.splice(2,1);\r\n }\r\n \r\n const idTiposSinFF = [ 24 ];\r\n if (idTiposSinFF.includes(ficha.IdTipoPF)){\r\n bloque2PF.splice(0,2);\r\n }\r\n }\r\n\r\n var bloque3 = [\r\n {\r\n nombre : 'Estado autorización',\r\n valor: (ficha.EstadoAuto) ? ficha.EstadoAuto.Descripcion : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Estado Nomenclátor',\r\n valor: ficha.EstadoNom ? ficha.EstadoNom.Descripcion : '-',\r\n link: null,\r\n },\r\n {\r\n nombre : 'Fecha autorización',\r\n valor: (ficha.FechaAutorizacion && (new Date(ficha.FechaAutorizacion)).getTime()>(new Date('01/01/1900')).getTime() ? FormatoFechaDDMMYYYY(ficha.FechaAutorizacion) : '-'),\r\n link: null,\r\n },\r\n ]\r\n\r\n\r\n const fecha0 = new Date(1900,1,1).toJSON();\r\n if ((ficha.FechaComercializacion > fecha0) && (ficha.IdEstadoAuto !== 3))\r\n bloque3.push(\r\n {\r\n nombre : 'Fecha comercialización',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaComercializacion),\r\n link: null,\r\n },\r\n )\r\n\r\n if (ficha.FechaInclusionSNS > fecha0)\r\n bloque3.push(\r\n {\r\n nombre : 'Fecha inclusión en SNS',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaInclusionSNS),\r\n link: null,\r\n },\r\n )\r\n\r\n\r\n if (ficha.FechaBajaInclusionFinanIndiv > fecha0)\r\n bloque3.push(\r\n {\r\n nombre : 'Fecha baja exclusión financiación individualizada',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaBajaInclusionFinanIndiv),\r\n link: null,\r\n },\r\n )\r\n\r\n if (ficha.CodTipoRegistro===\"PPF\"){\r\n bloque1 = bloque1PF;\r\n bloque2 = bloque2PF;\r\n bloque3.splice(0,1);\r\n bloque3[0].nombre = \"Estado comercialización\";\r\n bloque3[1].nombre = \"Fecha de alta\";\r\n if (ficha.IdEstadoNomPF>0 && ficha.EstadoNomPF){\r\n bloque3.splice(1,0,{\r\n nombre : 'Estado Nomenclátor',\r\n valor: ficha.EstadoNomPF.Descripcion,\r\n link: null,\r\n });\r\n if (ficha.FechaBajaEfectoYAccesorio > fecha0){\r\n bloque3.push({\r\n nombre : 'Fecha baja Efectos y Accesorios',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaBajaEfectoYAccesorio),\r\n link: null,\r\n });\r\n }\r\n }\r\n }\r\n\r\n if (ficha.FechaExclusionSNS > fecha0)\r\n bloque3.push(\r\n {\r\n nombre : 'Fecha exclusión SNS',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaExclusionSNS),\r\n link: null,\r\n },\r\n )\r\n\r\n if (ficha.FechaBaja > fecha0)\r\n bloque3.push(\r\n {\r\n nombre : (ficha.IdEstadoAuto === 1) ? 'Fecha de suspensión':'Fecha de baja',\r\n valor: FormatoFechaDDMMYYYY(ficha.FechaBaja),\r\n link: null,\r\n },\r\n )\r\n\r\n if (ficha.CodTipoRegistro===\"MUV\"){ \r\n bloque1 = bloque1V;\r\n //bloque2[2].link = \"BLaboratorioMUV\"\r\n bloque3.splice(1,1);\r\n }\r\n \r\n if (ficha.CodTipoRegistro===\"FM\" || ficha.CodTipoRegistro === \"PO\" || ficha.CodTipoRegistro === \"VI\")\r\n {\r\n bloque1 = bloque1FM;\r\n bloque2 = null;\r\n bloque3 = null;\r\n }\r\n\r\n if (ficha.CodTipoRegistro===\"MHO\")\r\n {\r\n bloque1 = bloque1HO;\r\n bloque2 = null;\r\n bloque3 = null;\r\n }\r\n\r\n var ocultaPrecios = (ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro === \"FM\") ||(ficha.CodTipoRegistro === \"PO\")||(ficha.CodTipoRegistro === \"XMHO\")||(PerfilUsuario()===\"EST\")||(PerfilUsuario()===\"INS\");\r\n\r\n if ((ficha.CodTipoRegistro === \"PPF\")){\r\n const idTiposConPreciosPF = [ 1, 6, 13, 25 ];\r\n ocultaPrecios = (!(idTiposConPreciosPF.includes(ficha.IdTipoPF)) && (!ficha.IVA || ficha.IVA === 0.0))||(PerfilUsuario()===\"EST\")||(PerfilUsuario()===\"INS\")\r\n }\r\n\r\n const modalTitulo = (ficha.Laboratorio) ? ficha.Laboratorio.NombreLargo : '';\r\n const estiloEmergenteLabo = {borderBottom: 'none'}\r\n const modalContent = (\r\n \r\n );\r\n\r\n const modalKeyName=\"ModalDatosLab\"\r\n\r\n return (\r\n
    \r\n \r\n \r\n {(bloque2) ?\r\n \r\n :\r\n
    \r\n }\r\n {ocultaPrecios ?\r\n
    \r\n :\r\n \r\n }\r\n {(bloque3) ?\r\n
    \r\n
    \r\n

    Información sobre autorización y comercialización

    \r\n \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default InfoGeneral;\r\n","import AdvertenciasTipo from \"../Advertencias/AdvertenciasTipo\";\r\n\r\nconst PrecaucionExtrema = (props) => {\r\n const datosAdver = props.datosAdvertencias;\r\n const advertenciasPorTipo = datosAdver.Advertencias.map(tipoAdver => );\r\n\r\n const textos = (datosAdver.Textos && datosAdver.Textos.length>0) ? datosAdver.Textos[0].Texto.split(\"####\") : [];\r\n var formatedtexto = (textos.length>0 ? {textos[0]}: );\r\n for (var i=1; i{formatedtexto}{textos[i]}\r\n }\r\n else{\r\n formatedtexto = {formatedtexto}    {textos[i]}\r\n }\r\n }\r\n/*\r\n const textosSeccion = datosAdver.Textos.map(texto => \r\n
    \r\n

    {texto.Epigrafe}

    \r\n

    {texto.Texto}

    \r\n
    \r\n );\r\n*/ \r\n return (\r\n
    \r\n
    \r\n

    Mensaje para el paciente

    \r\n

    \r\n {formatedtexto}\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default PrecaucionExtrema;\r\n","import { FormatoFechaDDMMYYYY } from \"../../../../../services/utils\";\r\nimport BloqueNombreValor from \"../InfoGeneral/BloqueNombreValor\";\r\n\r\nconst ProblemaS = (props) => {\r\n const problema = props.problema;\r\n const bloqueProblema = [\r\n {\r\n nombre : 'Estado del problema de suministro según la información de la AEMPS',\r\n valor: problema.Estado,\r\n },\r\n {\r\n nombre : 'Fecha inicio',\r\n valor: ((problema.FechaInicio) ? FormatoFechaDDMMYYYY(problema.FechaInicio) : ''),\r\n },\r\n {\r\n nombre : 'Fecha finalización prevista',\r\n valor: ((problema.FechaFin) ? FormatoFechaDDMMYYYY(problema.FechaFin) : ''),\r\n },\r\n {\r\n nombre : 'Observaciones de la AEMPS',\r\n valor: problema.Observaciones,\r\n },\r\n ]\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n}\r\nexport default ProblemaS;\r\n","import DocumentosDeTipo from \"../InfoAdicional/DocumentosDeTipo\";\r\nimport ProblemaS from \"./ProblemaS\";\r\n\r\nconst ProblemasS = (props) => {\r\n const datosProblemasS = props.datosProblemasS;\r\n const htmlProblemas = datosProblemasS.Problemas.map(problema => )\r\n const htmlInfoAdicional = datosProblemasS.InfoAdicional.map(grupodocs => )\r\n return (\r\n
    \r\n {htmlProblemas}\r\n {(datosProblemasS.InfoAdicional && datosProblemasS.InfoAdicional.length>0) ?\r\n
    \r\n

    Documentos relacionados

    \r\n
    \r\n :\r\n \r\n }\r\n {htmlInfoAdicional}\r\n
    \r\n )\r\n}\r\nexport default ProblemasS;\r\n\r\n\r\n","import Acordeon from \"../Composicion/Acordeon\";\r\n\r\nconst EnfermedadesRelacionadas = (props) => {\r\n const titulo = props.titulo;\r\n const enfermedades = props.enfermedades;\r\n const enfermedadesHTML = enfermedades.map(enf =>
  • CambiaAFichaEnf(enf.Id)}\r\n onMouseOver={(e) => e.target.style.fontWeight='bold'}\r\n onMouseOut={(e) => e.target.style.fontWeight='normal'}\r\n >{enf.Enfermedad}
  • )\r\n\r\n const CambiaAFichaEnf = (codigoEnf) => {\r\n props.cambiaPagina({\r\n newpagina: \"FichaPAT\",\r\n newid: codigoEnf\r\n });\r\n }\r\n\r\n\r\n\r\n var contenidoAcordeon = (\r\n
      \r\n {enfermedadesHTML}\r\n
    \r\n );\r\n return (\r\n \r\n )\r\n}\r\nexport default EnfermedadesRelacionadas;\r\n\r\n","import { DevuelveTextoAsHTML } from \"../../../../../services/utils\";\r\nimport Acordeon from \"../Composicion/Acordeon\";\r\n\r\nconst Texto = (props) => {\r\n const epigrafe = props.epigrafe;\r\n const titulo = epigrafe.Epigrafe;\r\n const texto = epigrafe.Texto;\r\n const textos = texto.split(\"####\");\r\n var formatedtexto = DevuelveTextoAsHTML(textos[0]);\r\n for (var i=1; i{formatedtexto}{DevuelveTextoAsHTML(textos[i])}\r\n }\r\n else{\r\n formatedtexto = {formatedtexto}    {textos[i]}\r\n }\r\n }\r\n\r\n var contenidoAcordeon = (\r\n

    \r\n {formatedtexto}\r\n

    \r\n );\r\n return (\r\n
    \r\n {props.ancla ? \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n
    \r\n )\r\n}\r\nexport default Texto;\r\n","import EnfermedadesRelacionadas from \"./EnfermedadesRelacionadas\";\r\nimport Texto from \"./Texto\";\r\nconst Textos = (props) => {\r\n const codTipoRegistro = props.codTipoRegistro;\r\n const epigrafeActivo = (props.epigrafesActivos && props.epigrafesActivos.length>0) ? props.epigrafesActivos : (codTipoRegistro === \"MUV\" ? [83] : [3]);\r\n const datosTextos = props.datosTextos;\r\n //const epigrafeActivo = (datosTextos.Epigrafes.length>0 ? datosTextos.Epigrafes[0].IdEpigrafe : 1);\r\n\r\n const TextosHTML = datosTextos.Epigrafes.map(epi => anc.idAncla === \"Epi\" + epi.IdEpigrafe.toString()) : null}\r\n >);\r\n const hayIndicaciones = (datosTextos.PatologiasIndicadas) && (datosTextos.PatologiasIndicadas.length>0);\r\n const hayContraindicaciones = (datosTextos.PatologiasContraindicadas) && (datosTextos.PatologiasContraindicadas.length>0);\r\n const hayPrecauciones = (datosTextos.PatologiasPrecaucion) && (datosTextos.PatologiasPrecaucion.length>0);\r\n const hayRA = (datosTextos.EfectosAdversos) && (datosTextos.EfectosAdversos.length>0);\r\n const hayEnfermedades = (hayIndicaciones || hayContraindicaciones || hayPrecauciones || hayRA);\r\n return (\r\n
    \r\n {TextosHTML}\r\n\r\n {hayEnfermedades ?\r\n
    \r\n

    Patologías relacionadas

    \r\n
    \r\n :\r\n
    \r\n }\r\n {hayIndicaciones ?\r\n \r\n :\r\n
    \r\n }\r\n {hayContraindicaciones ?\r\n \r\n :\r\n
    \r\n }\r\n {hayPrecauciones ?\r\n \r\n :\r\n
    \r\n }\r\n {hayRA ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default Textos;\r\n","import { RemoveClassNameToClassItems, rootPath } from \"../../../../../services/utils\";\r\nimport Acordeon from \"../Composicion/Acordeon\";\r\n\r\nconst Video = (props) => {\r\n const video = props.video;\r\n const titulo = video.Titulo\r\n const url = video.URL.replace('watch?v=','embed/');\r\n\r\n const handleVideoClick = (e) =>{\r\n var item = e.target;\r\n var id = item.id;\r\n var idFrame = id.replace('video','iFrame');\r\n var idMask = id.replace('video','mask');\r\n var itemFrame = document.getElementById(idFrame);\r\n var itemMask = document.getElementById(idMask);\r\n itemFrame.width = item.width;\r\n itemFrame.height = item.height;\r\n item.style.display = 'none';\r\n itemMask.style.display = 'none';\r\n itemFrame.style.display = 'block';\r\n itemFrame.src += '?autoplay=1';\r\n }\r\n\r\n const contenido = (\r\n
    \r\n \r\n
    \r\n handleVideoClick(e)} />\r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default Video;","import Video from \"./Video\";\r\n\r\nconst Videos = (props) => {\r\n const datosVideos = props.datosVideos;\r\n const htmlVideos = datosVideos.Documentos.map(video => )\r\n return (\r\n
    \r\n {htmlVideos}\r\n
    \r\n )\r\n}\r\nexport default Videos;\r\n\r\n","import { useState } from \"react\";\r\nimport { PerfilUsuario, elementIsOfClass, rootPath } from \"../../../../services/utils\";\r\nimport AnalisisAso from \"../../FichaASO/Apartados/Analisis/AnalisisAso\";\r\nimport TiemposEspera from \"../../FichaMUV/Apartados/TiemposEspera/TiemposEspera\";\r\nimport ConfusionNombresPA from \"../../FichaPA/Apartados/ConfusionNombres/ConfusionNombresPA\";\r\nimport Dopaje from \"../../FichaPA/Apartados/Dopaje/Dopaje\";\r\nimport InfoGeneralPA from \"../../FichaPA/Apartados/InfoGeneral/InfoGeneralPA\";\r\nimport Sinonimias from \"../../FichaPA/Apartados/Sinonimias/Sinonimias\";\r\nimport UsoAnimalesProductores from \"../../FichaPA/Apartados/UsoAnimalesProductores/UsoAnimalesProductores\";\r\nimport Cie from \"../../FichaPAT/Apartados/CIE/cie\";\r\nimport InfoGeneralPAT from \"../../FichaPAT/Apartados/InfoGeneral/InfoGeneralPAT\";\r\nimport Jerarquias from \"../../FichaPAT/Apartados/Jerarquia/Jerarquia\";\r\nimport TablaProductos from \"../../FichaPPF/Apartados/ContenidoPack/TablaProductos\";\r\nimport Advertencias from \"./Advertencias/Advertencias\";\r\nimport AlertasCalidad from \"./AlertasCalidad/AlertasCalidad\";\r\nimport Analisis from \"./Analisis/Analisis\";\r\nimport Cismed from \"./Cismed/Cismed\";\r\nimport Emergente from \"./Cismed/Emergente\";\r\nimport Composiciones from \"./Composicion/Composiciones\";\r\nimport ConfusionNombresMed from \"./ConfusionNombres/ConfusionNombresMed\";\r\nimport Conservacion from \"./Conservacion/Conservacion\";\r\nimport Farmacogenetica from \"./Farmacogenetica/Farmacogenetica\";\r\nimport FarmacogeneticaPA from \"./Farmacogenetica/FarmacogeneticaPA\";\r\nimport Grupos from \"./Grupos/Grupos\";\r\nimport Historico from \"./Historico/HIstorico\";\r\nimport Identificacion from \"./Identificacion/Identificacion\";\r\nimport InformacionAdicional from \"./InfoAdicional/InformacionAdicional\";\r\nimport InfoGeneral from \"./InfoGeneral/InfoGeneral\";\r\nimport PrecaucionExtrema from \"./PrecaucionExtrema/PrecaucionExtrema\";\r\nimport ProblemasS from \"./ProblemasS/ProblemasS\";\r\nimport Textos from \"./Textos/Textos\";\r\nimport Videos from \"./Videos/Videos\";\r\nimport { seccionesFichaRestringidasEST } from \"../../../../services/objsAplicacion\";\r\n\r\nconst Apartado = (props) => {\r\n\r\n const [muestraEmergenteSimil, setMuestraEmergenteSimil] = useState(false);\r\n const handleClickTitulo = (e) =>{\r\n var item = e.target;\r\n while (item && !elementIsOfClass(item,'dropdown__button'))\r\n item = item.parentElement;\r\n if (item)\r\n item.parentElement.classList.toggle('active');\r\n }\r\n\r\n var detalleApartado;\r\n switch (props.apartado.Ancla){\r\n case \"GEN\":\r\n if ((props.ficha.CodTipoRegistro===\"PAH\") || (props.ficha.CodTipoRegistro===\"PAV\")\r\n ||(props.ficha.CodTipoRegistro===\"ASOH\") || (props.ficha.CodTipoRegistro===\"ASOV\") || (props.ficha.CodTipoRegistro===\"ASO\")\r\n ||(props.ficha.CodTipoRegistro===\"ING\"))\r\n detalleApartado = \r\n else if ((props.ficha.CodTipoRegistro === \"PAT\") ||(props.ficha.CodTipoRegistro === \"PATH\") ||(props.ficha.CodTipoRegistro === \"PATV\"))\r\n detalleApartado = \r\n else\r\n detalleApartado = \r\n break;\r\n case \"COMP\":\r\n detalleApartado = \r\n break;\r\n case \"GRUP\":\r\n if (props.ficha.CodTipoRegistro === \"PPF\"){\r\n detalleApartado = \r\n \r\n }\r\n else{\r\n detalleApartado = dato.CodigoDato===\"MF_VA\")}\r\n sustituible = {(!props.ficha.Sustituible || props.ficha.Sustituible === \"Sí\" || props.ficha.Sustituible === \"S\" || props.ficha.Sustituible === \"\")}\r\n exceptSust = {(props.ficha.DatosF.some(dato => dato.CodigoDato ===\"SUST\"))}\r\n >\r\n \r\n }\r\n break;\r\n case \"TEXT\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"ADV\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"CONS\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"PEXT\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"ANA\":\r\n detalleApartado = \r\n break;\r\n \r\n case \"SIMIL\":\r\n if ((props.ficha.CodTipoRegistro === \"PAH\")||(props.ficha.CodTipoRegistro === \"PA\")){\r\n detalleApartado = \r\n }else if (props.ficha.CodTipoRegistro === \"MUH\"){\r\n detalleApartado = \r\n }\r\n break\r\n case \"ANAASO\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"FGEN\":\r\n detalleApartado = \r\n break; \r\n\r\n case \"FGENPA\":\r\n detalleApartado = \r\n break; \r\n\r\n case \"CPV\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"HIST\":\r\n detalleApartado = e.CodigoDato === 'EC' || e.CodigoDato === 'H').length > 0}>\r\n break;\r\n \r\n case \"IDEN\":\r\n detalleApartado = \r\n break;\r\n \r\n case \"ALER\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"PSUM\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"DOCS\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"CMED\":\r\n detalleApartado = \r\n break;\r\n \r\n case \"VID\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"TESP\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"PACK\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"ENPACKS\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"SINO\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"DOP\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"UAP\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"JENF\":\r\n detalleApartado = \r\n break;\r\n\r\n case \"CIE10\":\r\n detalleApartado = \r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n const clickTop = () => {\r\n window.scroll({ top: 0, behavior: 'smooth' }) \r\n props.cambiaImgIndex(0);\r\n }\r\n\r\n const abreEmergenteInfoSimil = (e) => {\r\n setMuestraEmergenteSimil(true);\r\n }\r\n\r\n const cierraEmergenteInfoSimil = (e) => {\r\n setMuestraEmergenteSimil(false);\r\n }\r\n\r\n\r\n const modalTitulo = \"\";\r\n const modalContent = \r\n
    \r\n

    \r\n La información sobre confusiones de nombre en BOT PLUS procede de las notificaciones de errores de medicación \r\n entre medicamentos diferentes producidas a nivel de prescripción, administración o dispensación, debido a la \r\n similitud fonética u ortográfica de los nombres de los medicamentos o principios activos, que han sido notificados\r\n por profesionales sanitarios al Instituto para el Uso Seguro de los Medicamentos.\r\n

    \r\n
    \r\n\r\n const modalKeyName=\"ModalInfoSimil\"\r\n\r\n return (\r\n /*(PerfilUsuario()!=\"EST\" || !seccionesFichaRestringidasEST.includes(props.apartado.Ancla))?*/\r\n
    \r\n {(muestraEmergenteSimil) ?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n
    \r\n {props.apartado.Ancla === \"SIMIL\" ?\r\n

    handleClickTitulo(e)}>\r\n
    \r\n {props.apartado.Titulo}\r\n abreEmergenteInfoSimil(e)}>\r\n \"\"/\r\n \r\n
    \r\n clickTop()} class=\"up\" >\r\n Subir \r\n \"arrowUp\"\r\n \r\n

    \r\n :\r\n

    handleClickTitulo(e)}>\r\n
    {props.apartado.Titulo}
    \r\n clickTop()} class=\"up\" >\r\n Subir \r\n \"arrowUp\"\r\n \r\n

    \r\n }\r\n
    \r\n {detalleApartado} \r\n
    \r\n
    \r\n
    \r\n
    \r\n /*:\r\n <>*/\r\n )\r\n}\r\nexport default Apartado;\r\n","import React, { useState, useEffect, createRef } from \"react\";\r\nimport Apartado from \"./Apartado\";\r\n\r\nconst ContenedorApartados = (props) => {\r\n const [refresh, setRefresh] = useState(0);\r\n const anclas = props.anclas;\r\n const apartadosHTML = \r\n props.ficha.Apartados.map(aptdo => ancla.idAncla===aptdo.Ancla)} \r\n anclasEpis={props.anclasEpis}\r\n apartado={aptdo} ficha={props.ficha} \r\n cambiaPagina={props.cambiaPagina} cambiaImgIndex = {props.cambiaImgIndex}\r\n abreEmergenteInfoPrecio={props.abreEmergenteInfoPrecio}\r\n epigrafesActivos = {props.epigrafesActivos}\r\n >);\r\n\r\n useEffect(() => {\r\n setRefresh(prev => prev +1);\r\n }, [props.ficha.Apartados])\r\n \r\n return (\r\n
    \r\n {apartadosHTML}\r\n
    \r\n )\r\n}\r\nexport default ContenedorApartados;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToClassItems } from \"../../../services/utils\";\r\nimport Emergente from \"./Apartados/Cismed/Emergente\";\r\n\r\nconst MensajesEmergentes = (props) => {\r\n const restoMensajes = props.mensajes.slice(1);\r\n const primerMensaje = props.mensajes[0];\r\n const keyME = \"ME_\" + props.id.toString();\r\n const titulo = primerMensaje.Titulo;\r\n const imagen = primerMensaje.URLImagen;\r\n const htmlResto = restoMensajes.map(mensa =>

    );\r\n const [mostrado, setMostrado] = useState(false)\r\n const contenido = (\r\n
    \r\n

    \r\n {htmlResto}\r\n
    \r\n );\r\n\r\n const AbreEmergente = () => {\r\n AddClassNameToClassItems(keyME, null, 'active');\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if (!mostrado)\r\n AbreEmergente();\r\n setMostrado(true);\r\n });\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default MensajesEmergentes;\r\n\r\n","import React, { useState } from \"react\";\r\nimport { divideArrayEnPartes, numberWithCommas, rootPath } from \"../../../services/utils\";\r\n\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\nimport LinksFichaPA from './LinksFichaPA';\r\nimport FilaPictogramas from '../FichaMUH/InfoPrincipal/FilaPictogramas';\r\n\r\nconst MargenDerechoPA = (props) => {\r\n const [sliderRef, setSliderRef] = useState(null)\r\n const ficha = props.ficha;\r\n var imgDefecto = rootPath + \"img/person.svg\" ;\r\n if ((ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\"))\r\n imgDefecto = rootPath + \"img/perro.svg\" ;\r\n if (ficha.CodTipoRegistro===\"ING\")\r\n imgDefecto = rootPath + \"img/jabonLiquido.svg\" ;\r\n const srcImagen = (props.ficha.ImagenFormula != null ?\r\n props.ficha.ImagenFormula.URL\r\n :\r\n ''\r\n );\r\n\r\n const tieneImagenes = srcImagen !== ''; \r\n\r\n const maxHeight=180;\r\n const maxWidth=256;\r\n\r\n const estilhorizontal = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto', cursor: 'pointer'}\r\n const estildefecto = {maxWidth: '180px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n const estilvertical = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', height: '100%', width: 'auto', cursor: 'pointer'}\r\n\r\n const loadImage = (e) => {\r\n var h = e.target.height;\r\n if (h===maxHeight){\r\n e.target.style.height = '100%';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidth.toString() + 'px';\r\n e.target.style.maxHeight = maxHeight.toString() + 'px';\r\n }\r\n }\r\n\r\n const imagenesHTML = tieneImagenes ?

     

    loadImage(e)} onClick={(e) => props.clickImagen(e)}/>
    \r\n :

     

    \r\n \r\n const pictogramasEnFilas = (((ficha.CodTipoRegistro === 'PAT') || (ficha.CodTipoRegistro === 'PATH') || (ficha.CodTipoRegistro === 'PATV')) ?\r\n null\r\n :\r\n divideArrayEnPartes(ficha.Pictogramas,5) \r\n );\r\n\r\n\r\n const pictogramas = (pictogramasEnFilas) ? pictogramasEnFilas.map( fila => ) :
    ;\r\n\r\n const valorPsicotropo = (ficha.Psicotropo === \"Sí\") ? 'Sí. ' + ficha.EstupefacientePsicotropo.DescripcionPsicotropo : ficha.Psicotropo;\r\n const valorDopaje = (ficha.Dopaje === \"Sí\") ? 'Sí. ' + ficha.DescripcionDopaje.DescripcionPsicotropo : ficha.Dopaje;\r\n\r\n\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n {imagenesHTML}\r\n {pictogramas}\r\n
    \r\n {(ficha.CodTipoRegistro === \"PAH\" || ficha.CodTipoRegistro === \"ASO\" || ficha.CodTipoRegistro === \"ASOH\") ?\r\n
    \r\n
    \r\n
    \r\n
    Dopaje
    \r\n
    {ficha.Dopaje}
    \r\n
    \r\n
    \r\n
    Psicotropo/Estupefaciente
    \r\n
    {ficha.Psicotropo}
    \r\n
    \r\n
    \r\n
    \r\n :\r\n
     
    \r\n }\r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerechoPA;\r\n\r\n","import React, { useState, useEffect, createRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoPA from \"../FichaPA/MargenDerechoPA\";\r\n\r\nconst FichaASO = (props) => {\r\n const id = props.infoPagina.id;\r\n const tipo = props.tipo;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n descargaAdvertencias(ficha.Id);\r\n }\r\n else if (refresh==2){\r\n descargaDopaje(ficha.Id)\r\n }\r\n else if (refresh==3){\r\n if (tipo===\"H\")\r\n descargaInterferencias(ficha.Id);\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==4){ \r\n if (tipo===\"H\")\r\n descargaFarmacogenetica(ficha.Id)\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==5){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==6){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==7){\r\n if (tipo===\"V\")\r\n descargaUsoAnimalesProductores(ficha.Id)\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==8){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 9)\r\n { \r\n //setRefresh(prev => prev + 1);\r\n }\r\n })\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaASO(id, props.tipo)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados);\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"ASO\" + auxFicha.TipoPA;\r\n if (auxFicha.CodTipoRegistro === \"ASOH\")\r\n auxFicha.TipoRegistro=\"Asociación de uso humano\";\r\n else\r\n auxFicha.TipoRegistro=\"Asociación veterinaria\";\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n BP2022Service.getAdvertenciasASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaInterferencias = (miId) => {\r\n BP2022Service.getInterferenciasASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Análisis clínicos\", Ancla:\"ANAASO\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Interferencias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaFarmacogenetica = (miId) => {\r\n BP2022Service.getFarmacogeneticaASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Farmacogenética\", Ancla:\"FGEN\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.FarmacogeneticaComponentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaHistorico = (miId) => {\r\n BP2022Service.getHistoricoASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaDopaje = (miId) => {\r\n BP2022Service.getDopajeInfoASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Textos){\r\n if (response.data.Textos.length>0){\r\n AnadeApartado({Titulo: \"Dopaje\", Ancla:\"DOP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosDopaje = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaUsoAnimalesProductores = (miId) => {\r\n if (tipo===\"V\"){\r\n /*BP2022Service.getProductoresInfoASO (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.LMRsEspecies){\r\n if (response.data.LMRsEspecies.length>0){\r\n AnadeApartado({Titulo: \"Uso en animales productores\", Ancla:\"UAP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAnimalesProductores = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });*/\r\n }\r\n };\r\n\r\n \r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }\r\n */\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaASO;\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst LinksFichaExt = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const CambiaPaginaPorId = (pagina, id) => {\r\n props.cambiaPagina({\r\n newpagina: pagina,\r\n newid: id,\r\n });\r\n }\r\n\r\n var link = \"BMedEspanolesMUH\";\r\n\r\n return (\r\n
    \r\n
    \r\n
    CambiaPaginaPorId(link,ficha.Id)} style={{cursor:'pointer'}}>\r\n
    \r\n \r\n
    \r\n Medicamentos españoles \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default LinksFichaExt;\r\n","\r\nconst TablaInfoPrincipalExt = (props) => {\r\n const ficha = props.ficha;\r\n\r\n const estiloValor = {width : '90%'};\r\n\r\n return (\r\n
    \r\n

    \r\n
    \r\n
    \r\n
    País
    \r\n
    {ficha.Pais}
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default TablaInfoPrincipalExt;\r\n","\r\nimport LinksFichaExt from \"./LinksFichaExt\";\r\nimport TablaInfoPrincipalExt from \"./TablaInfoPrincipalExt\";\r\n\r\nconst ResumenInfoExt = (props) => {\r\n const ficha = props.ficha;\r\n var textoEncabezado = ficha.TipoRegistro;\r\n const svgImagenH = (\r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n {svgImagenH}\r\n {textoEncabezado}\r\n
    \r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}\r\nexport default ResumenInfoExt;\r\n\r\n","import { rootPath } from \"../../../services/utils\";\r\n\r\nconst ZonaImagenYPictosExt = (props) => {\r\n const ficha = props.ficha;\r\n var textoEncabezado = ficha.TipoRegistro;\r\n const svgImagenH = (\r\n \r\n \r\n \r\n );\r\n var svgImagen = svgImagenH;\r\n\r\n const imgDefecto = rootPath + \"img/person.svg\" ;\r\n const seccionImagen = (\r\n
    \r\n
    \r\n {props.ficha.NombreCompleto}\r\n
    \r\n

     

    \r\n

     

    \r\n
    \r\n );\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n {svgImagen}\r\n {textoEncabezado}\r\n
    \r\n
    \r\n
    \r\n {ficha.NombreCompleto}\r\n
    \r\n
    \r\n {seccionImagen}\r\n
    \r\n )\r\n}\r\nexport default ZonaImagenYPictosExt;\r\n","import ResumenInfoExt from \"./ResumenInfoExt\";\r\nimport ZonaImagenYPictosExt from \"./ZonaImagenYPictosExt\";\r\n\r\nconst InfoPrincipalExt = (props) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default InfoPrincipalExt;\r\n","import React, { useState } from \"react\";\r\nimport { divideArrayEnPartes, numberWithCommas, rootPath } from \"../../../services/utils\";\r\n\r\nimport LinksFichaExt from \"./LinksFichaExt\";\r\n\r\nconst MargenDerechoExt = (props) => {\r\n const ficha = props.ficha;\r\n var imgDefecto = rootPath + \"img/person.svg\" ;\r\n\r\n const maxHeight=180;\r\n const maxWidth=256;\r\n\r\n const estildefecto = {maxWidth: '180px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n\r\n const imagenesHTML =

     

    \r\n \r\n\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n {/*imagenesHTML*/}\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerechoExt;\r\n\r\n","import React, { useState, useEffect, createRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport InfoPrincipalExt from \"./InfoPrincipalExt\";\r\nimport MargenDerechoExt from \"./MargenDerechoExt\";\r\n\r\nconst FichaEXT = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n descargaCompos(ficha.Id, ficha.IdComposicionPor, 0);\r\n }\r\n else if (refresh==2){\r\n setRefresh(prev => prev + 2);\r\n /*descargaAdvertencias(ficha.Id);*/\r\n }\r\n else if (refresh==3){\r\n setRefresh(prev => prev + 1);\r\n /*descargaInformacionAdicional(ficha.Id)*/\r\n }\r\n else if (refresh == 18){\r\n }\r\n })\r\n\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaEXT(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"EXT\";\r\n auxFicha.TipoRegistro=\"Medicamento extranjero\"\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaCompos = (miId, miIdCPor, miIdFF) => {\r\n BP2022Service.getComposM(miId,miIdCPor,miIdFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Composiciones){\r\n if (response.data.Composiciones.length>0){\r\n AnadeApartado({Titulo: \"Composición\", Ancla:\"COMP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosComposicion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev + 1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n const descargaAdvertencias = (miId) => {\r\n BP2022Service.getAdvertenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n {(ficha.Apartados && ficha.Apartados.length>0) ?\r\n \r\n : \r\n
    \r\n }\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaEXT;\r\n","import Slider from 'react-slick'\r\nimport React, { useState } from \"react\";\r\nimport { divideArrayEnPartes, numberWithCommas, rootPath } from \"../../../services/utils\";\r\nimport FilaPictogramas from \"../FichaMUH/InfoPrincipal/FilaPictogramas\";\r\n\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\nimport LinksFichaMUH from './LinksFichaFM';\r\nimport LinksFichaFM from './LinksFichaFM';\r\n\r\nconst MargenDerechoFM = (props) => {\r\n const [sliderRef, setSliderRef] = useState(null)\r\n const ficha = props.ficha;\r\n const tienePFuturos = (ficha.PFuturos !== null) && (ficha.PFuturos.AgrupacionCCAA !== null) && (ficha.PFuturos.AgrupacionCCAA.PVPMenor>0);\r\n const imgDefecto = rootPath + \"img/person.svg\" ;\r\n const literalPrecio = (ficha.AgrupacionCCAA ? (!ficha.AgrupacionCCAA.LiteralPMenor || ficha.AgrupacionCCAA.LiteralPMenor === '') ? (ficha.IdCCAA===5 || ficha.IdCCAA===18 || ficha.IdCCAA===19 ? 'PVP': 'PVP con IVA') : ficha.AgrupacionCCAA.LiteralPMenor : '');\r\n\r\n const imagenesHTML =

     

    \r\n\r\n const pictogramasEnFilas = divideArrayEnPartes(ficha.Pictogramas,5); \r\n const pictogramas = pictogramasEnFilas.map( fila => );\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n {imagenesHTML}\r\n {/*pictogramas*/}\r\n
    \r\n
    \r\n {(!ficha.LiteralPrecioFM || ficha.LiteralPrecioFM === \"\") ?\r\n
    \r\n

    {literalPrecio}

    \r\n {(ficha.AgrupacionCCAA) && (ficha.AgrupacionCCAA.PVPMenor>0) ?\r\n

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMenor)}

    \r\n :\r\n

    -

    \r\n }\r\n {(\r\n tienePFuturos ? \r\n

    {numberWithCommas(ficha.PFuturos.AgrupacionCCAA.PVPMenor)}

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n :\r\n
    \r\n

    {ficha.LiteralPrecioFM}

    \r\n {(ficha.PVPIVA>0) ?\r\n

    {numberWithCommas(ficha.PVPIVA)}

    \r\n :\r\n

    -

    \r\n }\r\n {(\r\n tienePFuturos ? \r\n

    {numberWithCommas(ficha.PFuturos.PVPIVA)}

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n }\r\n
    \r\n {/*
    \r\n
    Interoperable
    \r\n
    \r\n
    */}\r\n {(ficha.Interoperable) ?\r\n
    \r\n
    Interoperable
    \r\n
    {ficha.Interoperable}
    \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n
    Receta
    \r\n
    {ficha.Receta}
    \r\n
    \r\n
    \r\n
    Financiado
    \r\n
    {ficha.ShortFinanciado}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerechoFM;","import React, { useState, useEffect, createRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoFM from \"./MargenDerechoFM\";\r\n\r\nconst FichaFM = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==0){\r\n descargaMensajesEmergentes(ficha.Id);\r\n }\r\n else if (refresh==1){\r\n descargaCompos(ficha.Id, ficha.IdComposicionPor, ficha.IdFormaFarma);\r\n }\r\n else if (refresh==2){\r\n var codGrupo = ficha.CodATCN5;\r\n var nivel = 5;\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN4;\r\n nivel = 4;\r\n }\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN3;\r\n nivel = 3;\r\n }\r\n descargaGrupos(ficha.Id, codGrupo, nivel, ficha.CodVMPP);\r\n }\r\n else if (refresh==3){\r\n //descargaAdvertencias(ficha.Id);\r\n setRefresh(prev => prev + 1);\r\n }\r\n else if (refresh==4){\r\n descargaInterferencias(ficha.Id)\r\n }\r\n else if (refresh==5){\r\n descargaFarmacogenetica(ficha.Id)\r\n }\r\n else if (refresh==6){\r\n descargaDatosConservacion(ficha.Id)\r\n }\r\n else if (refresh==7){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==8){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==9){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 10)\r\n {\r\n \r\n //setRefresh(prev => prev + 1);\r\n }\r\n })\r\n\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaFM(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados); \r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.TipoRegistro = (auxFicha.CodTipoRegistro===\"PO\") ? \"Preparado oficinal\" : (auxFicha.CodTipoRegistro===\"VI\") ? \"Vacuna individualizada\" : \"Fórmula magistral\";\r\n setFicha(auxFicha);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaCompos = (miId, miIdCPor, miIdFF) => {\r\n BP2022Service.getComposM(miId,miIdCPor,miIdFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Composiciones){\r\n if (response.data.Composiciones.length>0){\r\n AnadeApartado({Titulo: \"Composición\", Ancla:\"COMP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosComposicion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev + 1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaGrupos = (miId, miGTATC, nivelGTATC, miGTVMPP) => {\r\n if (ficha.Interoperable)\r\n setRefresh(prev => prev +1);\r\n else{\r\n BP2022Service.getGruposMUH (miId,miGTATC,nivelGTATC,miGTVMPP)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n AnadeApartado({Titulo: \"Medicamentos con igual composición\", Ancla:\"GRUP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosGrupos = response.data;\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n BP2022Service.getAdvertenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaInterferencias = (miId) => {\r\n BP2022Service.getInterferenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Análisis clínicos\", Ancla:\"ANA\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Interferencias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaFarmacogenetica = (miId) => {\r\n BP2022Service.getFarmacogeneticaMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Farmacogenética componentes\", Ancla:\"FGEN\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.FarmacogeneticaComponentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaDatosConservacion = (miId) => {\r\n BP2022Service.getConservacionMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n var l = 0;\r\n if (response.data.DatosConservacion)\r\n l += response.data.DatosConservacion.length;\r\n if (response.data.MensajesConservacion)\r\n l += response.data.MensajesConservacion.length;\r\n if (l>0){\r\n AnadeApartado({Titulo: \"Conservación y periodos de validez\", Ancla:\"CPV\"},miFicha.Apartados,anclas);\r\n miFicha.InfoConservacion = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaHistorico = (miId) => {\r\n BP2022Service.getHistoricoMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaMensajesEmergentes = (miId) => {\r\n BP2022Service.getMensajesEmergentesMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n miFicha.MensajesEmergentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaFM;\r\n","import React, { useState, useEffect, createRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoPA from \"../FichaPA/MargenDerechoPA\";\r\n\r\nconst FichaING = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n descargaTextos(ficha.Id);\r\n }\r\n else if (refresh==2){\r\n //descargaSinonimias(ficha.Id)\r\n setRefresh(prev => prev +1);\r\n }\r\n else if (refresh==3){\r\n descargaAdvertencias(ficha.Id);\r\n }\r\n else if (refresh==4){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==5){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==6){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 7)\r\n {\r\n }\r\n })\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaING(id, props.tipo)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados);\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"ING\";\r\n auxFicha.TipoRegistro=\"Ingrediente parafarmacia\"; // + auxFicha.TipoIngrediente.toLowerCase();\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaTextos = (miId) => {\r\n BP2022Service.getTextosING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Epigrafes){\r\n if (response.data.Epigrafes.length>0){\r\n AnadeApartado({Titulo: \"Ficha de ingrediente\", Ancla:\"TEXT\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosTextos = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n BP2022Service.getAdvertenciasING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaHistorico = (miId) => {\r\n BP2022Service.getHistoricoING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaSinonimias = (miId) => {\r\n BP2022Service.getSinonimiasING (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Sinonimias\", Ancla:\"SINO\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Sinonimias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaING;\r\n","import Slider from 'react-slick'\r\nimport React, { useState, useRef, useEffect } from \"react\";\r\nimport { PerfilUsuario, divideArrayEnPartes, getIdCCAA, numberWithCommas, rootPath } from \"../../../../services/utils\";\r\nimport FilaPictogramas from \"../InfoPrincipal/FilaPictogramas\";\r\n\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\nimport LinksFichaMUH from '../InfoPrincipal/LinksFichaMUH';\r\nimport Ficha from '../../Ficha';\r\n\r\nconst MargenDerecho = (props) => {\r\n //const [sliderRef, setSliderRef] = useState(null)\r\n //const [imgIndex,setImgIndex] = useState(0);\r\n const sliderRef = useRef();\r\n const ficha = props.ficha;\r\n const tienePFuturos = (ficha.PFuturos !== null) && (ficha.PFuturos.PVPIVA>0);\r\n const imgDefecto = rootPath + \"img/person.svg\" ;\r\n const srcImagen = (props.ficha.ImagenEnvase != null ?\r\n (props.ficha.ImagenEnvase.URLFull != null ?\r\n props.ficha.ImagenEnvase.URLFull\r\n : \r\n props.ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ''\r\n );\r\n\r\n const srcImagenFF = (props.ficha.ImagenFormaF != null ?\r\n (props.ficha.ImagenFormaF.URLFull != null ?\r\n props.ficha.ImagenFormaF.URLFull\r\n : \r\n props.ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n );\r\n const tieneImagenes = srcImagen !== '' || srcImagenFF !== ''; \r\n const arrayImgs = [];\r\n if (props.imgIndex === 1){\r\n if (srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n if (srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n }else{\r\n if (srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n //setImgIndex(props.imgIndex);\r\n }, [props.imgIndex]);\r\n \r\n\r\n/* const posicionaImagen = () => {\r\n if (sliderRef)\r\n if(sliderRef.current)\r\n if (props.imgIndex
    {srcImg} props.clickImagen(e, (props.imgIndex===1) ? (arrayImgs.indexOf(srcImg) + 1) % 2 : arrayImgs.indexOf(srcImg))}\r\n />
    )\r\n :

     

    \r\n\r\n const sliderSettings = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__1',\r\n }\r\n \r\n const estiloPreciosAltos = {fontSize:'14px'}\r\n const estiloVacio = {}\r\n const estiloPrecio = (ficha.PVPIVA>999999 ? estiloPreciosAltos : estiloVacio)\r\n\r\n const pictogramasEnFilas = divideArrayEnPartes(ficha.Pictogramas,5); \r\n const pictogramas = pictogramasEnFilas.map( fila => );\r\n\r\n const ambitoHospitalario = ((ficha.DatosF && ficha.DatosF.some(e => e.CodigoDato === 'H' || e.CodigoDato === 'EC') ? false : false));\r\n const notificado = ((ficha.DatosF && ficha.DatosF.some(e => e.CodigoDato === 'PN') ? true : false));\r\n\r\n var idCCAA = getIdCCAA();\r\n var literalPVPIVA = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? 'PVP sin IVA': 'PVP con IVA');\r\n if (ambitoHospitalario) literalPVPIVA = (notificado) ? \"PVL notificado\":\"PVL\";\r\n\r\n var precioAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PVPsinIVA: ficha.PVPIVA);\r\n if (ambitoHospitalario) precioAMostrar = ficha.PVL\r\n\r\n var precioFuturoAMostrar = 0;\r\n if (tienePFuturos){\r\n precioFuturoAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PFuturos.PVPsinIVA: ficha.PFuturos.PVPIVA);\r\n if (ambitoHospitalario) precioFuturoAMostrar = ficha.PFuturos.PVL;\r\n }\r\n\r\n var textoDispensable = ficha.Dispensable.replace(\"Mutualidades\",\"Mut\").replace(\"SACYL no. \", \"No/\");\r\n textoDispensable = (textoDispensable && textoDispensable.length>2 && textoDispensable.substring(0,2)===\"No\" ? \"No\" : textoDispensable);\r\n\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n {pictogramas}\r\n
    \r\n {((ficha.CodTipoRegistro === \"xMHO\" || PerfilUsuario()===\"EST\" || PerfilUsuario()===\"INS\") ?\r\n <>\r\n :\r\n
    \r\n {((ficha.CodTipoRegistro === \"MHO\") && (precioAMostrar === 0) && (!ficha.PreciosFuturos)) ?\r\n <>\r\n :\r\n
    \r\n

    {literalPVPIVA}

    \r\n {precioAMostrar>0 ?\r\n

    {numberWithCommas(precioAMostrar)}

    \r\n :\r\n

     

    \r\n }\r\n {(\r\n tienePFuturos && precioFuturoAMostrar>0 ? \r\n

    {numberWithCommas(precioFuturoAMostrar)}

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    Receta
    \r\n
    {ficha.Receta}
    \r\n
    \r\n
    \r\n
    Dispensable
    \r\n
    {textoDispensable}
    \r\n
    \r\n
    \r\n
    Financiado
    \r\n
    {ficha.ShortFinanciado}
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerecho;\r\n\r\n","import React, { useState, useEffect, createRef, useRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"./InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"./MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"./Apartados/ContenedorApartados\";\r\nimport MargenDerecho from \"./MargenDerecho/MargenDerecho\";\r\nimport MensajesEmergentes from \"./MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems, rootPath, AddClassNameToClassItems, getParam, anadeAncla, PerfilUsuario } from \"../../../services/utils\";\r\nimport Emergente from \"./Apartados/Cismed/Emergente\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport Slider from \"react-slick\";\r\nimport {createBrowserHistory} from 'history';\r\nimport { seccionesFichaRestringidasEST } from \"../../../services/objsAplicacion.js\";\r\n\r\n\r\nconst FichaMUH = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [anclasEpis, setAnclasEpis] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n const [imgIndex, setImgIndex] = useState(0);\r\n const [muestraAmpliada, setMuestraAmpliada] = useState(false);\r\n //const [sliderRef2, setSliderRef2] = useState(null)\r\n const sliderRef2 = useRef();\r\n const [idxSlider, setIdxSlider] = useState(0);\r\n const [muestraEmergentePrecios, setMuestraEmergentePrecios] = useState(false);\r\n const history = createBrowserHistory();\r\n const sEpigrafes = getParam(history.location.search, 'epigrafes');\r\n const epigrafesActivos = sEpigrafes ? sEpigrafes.split(\",\").map(Number) : [];\r\n const [seHaHechoScroll, SetSeHaHechoScroll] = useState(false);\r\n\r\n const sliderSettings2 = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__2',\r\n }\r\n\r\n const clickImagen = (e,idx) => {\r\n if (idx || idx===0){\r\n setIdxSlider(idx);\r\n }\r\n else{\r\n setIdxSlider(0);\r\n }\r\n setMuestraAmpliada(true);\r\n }\r\n\r\n const clickCierra = (e) => {\r\n setMuestraAmpliada(false);\r\n }\r\n\r\n const loadImageGrande = (e) => {\r\n var h = e.target.height;\r\n var w = e.target.width;\r\n var maxHeightG = window.innerHeight * 0.65;\r\n var maxWidthG = window.innerWidth * 0.65;\r\n if (h>=maxHeightG){\r\n e.target.style.height = maxHeightG.toString() + 'px';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n else if (w>=maxWidthG){\r\n e.target.style.height = 'auto';\r\n e.target.style.width = maxWidthG.toString() + 'px';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n }\r\n\r\n const estiloImagenFlotante = {verticalAlign:'middle',width:'70%',alignContent:'center',maxHeight:'70%'}\r\n \r\n if (ficha && ((ficha.CodTipoRegistro===\"PAV\")||(ficha.CodTipoRegistro===\"PAH\"))){\r\n estiloImagenFlotante.backgroundColor = '#FFFFFF'\r\n }\r\n\r\n const imgDefecto = (ficha) ? \r\n ((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\")) ? \r\n rootPath + \"img/perro.svg\" : \r\n ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\")) ? \r\n rootPath + \"img/jabonLiquido.svg\" : \r\n ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\")) ? \r\n rootPath + \"img/patHumana.svg\" : \r\n (ficha.CodTipoRegistro===\"PATV\") ? \r\n rootPath + \"img/patVet.svg\" : \r\n rootPath + \"img/person.svg\" \r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagen = (ficha) ?\r\n ((ficha.ImagenEnvase) ?\r\n (ficha.ImagenEnvase.URLFull != null ?\r\n ficha.ImagenEnvase.URLFull\r\n : \r\n ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ((ficha.ImagenFormula) ?\r\n ficha.ImagenFormula.URL\r\n :\r\n imgDefecto\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagenFF = (ficha) ?\r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n ((ficha.ImagenMatAcond) ?\r\n (ficha.ImagenMatAcond.URLFull != null ?\r\n ficha.ImagenMatAcond.URLFull\r\n : \r\n ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n )\r\n :\r\n ((ficha.ImagenFormaF) ?\r\n (ficha.ImagenFormaF.URLFull != null ?\r\n ficha.ImagenFormaF.URLFull\r\n : \r\n ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const tieneImagenes = (srcImagen && srcImagen !== '') || (srcImagenFF && srcImagenFF !== ''); \r\n const arrayImgs = [];\r\n if (srcImagen && srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF && srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImageGrande(e)}/>
    )\r\n :

     

    \r\n\r\n\r\n\r\n useEffect(() => {\r\n if (sliderRef2)\r\n if(sliderRef2.current)\r\n sliderRef2.current.slickGoTo(idxSlider);\r\n\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n /*(ficha.CodTipoRegistro === \"MHO\") ?\r\n setRefresh(refresh+1)\r\n :*/\r\n descargaMensajesEmergentes(ficha.Id); \r\n }\r\n else if (refresh==2){\r\n descargaCompos(ficha.Id, ficha.IdComposicionPor, ficha.IdFormaFarma);\r\n }\r\n else if (refresh==3){\r\n if (ficha.CodTipoRegistro === \"MHO\")\r\n setRefresh(refresh+1)\r\n else{\r\n var codGrupo = ficha.CodATCN5;\r\n var nivel = 5;\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN4;\r\n nivel = 4;\r\n }\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN3;\r\n nivel = 3;\r\n }\r\n descargaGrupos(ficha.Id, codGrupo, nivel, ficha.CodVMPP);\r\n }\r\n }\r\n else if (refresh==4){\r\n descargaTextos(ficha.Id);\r\n }\r\n else if (refresh==5){\r\n descargaAdvertencias(ficha.Id);\r\n }\r\n else if (refresh==6){\r\n (ficha.CodTipoRegistro === \"MHO\") ?\r\n setRefresh(10)\r\n :\r\n descargaConsejos(ficha.Id);\r\n }\r\n else if (refresh==7){\r\n (ficha.CodTipoRegistro === \"MHO\") ?\r\n setRefresh(10)\r\n :\r\n descargaPrecaucionExtrema(ficha.Id);\r\n }\r\n else if (refresh==8){\r\n descargaInterferencias(ficha.Id)\r\n }\r\n else if (refresh==9){\r\n descargaFarmacogenetica(ficha.Id)\r\n }\r\n else if (refresh==10){\r\n descargaDatosConservacion(ficha.Id)\r\n }\r\n else if (refresh==11){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==12){\r\n (ficha.CodTipoRegistro === \"MHO\") ?\r\n setRefresh(refresh+1)\r\n :\r\n descargaIdentificacion(ficha.Id, ficha.IdFormaFarma)\r\n }\r\n else if (refresh==13){\r\n (ficha.CodTipoRegistro !== \"MUH\") ?\r\n setRefresh(refresh+1)\r\n :\r\n descargaNombresSimilares(ficha.Id)\r\n }\r\n else if (refresh==14){\r\n descargaAlertasCalidad(ficha.Id)\r\n }\r\n else if (refresh==15){\r\n (ficha.CodTipoRegistro === \"MHO\") ?\r\n setRefresh(17)\r\n :\r\n descargaProblemasSuministro(ficha.Id)\r\n }\r\n else if (refresh==16){\r\n if (ficha.IdEstadoAuto === 0)\r\n descargaDatosCismed(ficha.Id);\r\n else\r\n setRefresh(prev => prev + 1);;\r\n }\r\n else if (refresh==17){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==18){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 19){\r\n }\r\n if (epigrafesActivos && epigrafesActivos.length>0 && !seHaHechoScroll && anclasEpis && anclasEpis.length>0){\r\n var currentAncla;\r\n for (var i=0; i ancla.idAncla === \"Epi\" + epigrafesActivos[i].toString())\r\n }\r\n if (currentAncla){\r\n const linkRef = currentAncla.refAncla;\r\n linkRef.current.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });\r\n SetSeHaHechoScroll(true);\r\n } \r\n }\r\n })\r\n\r\n const getLeyendaPictoCismed = (eAnt, eAct) => {\r\n const eAux = eAnt * 10 + eAct;\r\n var leyenda = \"\";\r\n switch (eAux){\r\n case 33: \r\n leyenda = \"Medicamento sin incidencias por faltas de suministro\";\r\n break;\r\n case 32:\r\n leyenda = \"Medicamento sin incidencias por faltas de suministro la semana anterior. Actualmente en observación por faltas de suministro\";\r\n break;\r\n case 31:\r\n leyenda = \"Medicamento sin incidencias por faltas de suministro la semana anterior. Actualmente con problemas por falta de suministro\";\r\n break;\r\n case 23:\r\n leyenda = \"Medicamento en observación por faltas de suministro la semana anterior. Actualmente sin incidencias por faltas de suministro\";\r\n break;\r\n case 22:\r\n leyenda = \"Medicamento en observación por faltas de suministro\";\r\n break;\r\n case 21:\r\n leyenda = \"Medicamento en observación por faltas de suministro la semana anterior. Actualmente con problemas por falta de suministro\";\r\n break;\r\n case 13:\r\n leyenda = \"Medicamento con problemas por faltas de suministro la semana anterior. Actualmente sin incidencias por falta de suministro\";\r\n break;\r\n case 12:\r\n leyenda = \"Medicamento con problemas por faltas de suministrola semana anterior. Actualmente en observación por faltas de suministro\";\r\n break;\r\n case 11:\r\n leyenda = \"Medicamento con problemas por faltas de suministro\";\r\n break;\r\n }\r\n return leyenda;\r\n }\r\n\r\n const anadeIconoCismed = (ficha) => {\r\n var url = '';\r\n var txt = '';\r\n var id = 9999;\r\n if (ficha.DatosCismed.DatosVisibles)\r\n if (ficha.DatosCismed.EstaAutorizado)\r\n if (ficha.DatosCismed.EstadoSemanaActual>0 && ficha.DatosCismed.EstadoSemanaAnterior>0){\r\n url = baseURLPictogramas + \"cismed\" + ficha.DatosCismed.EstadoSemanaAnterior.toString() + ficha.DatosCismed.EstadoSemanaActual.toString() + \".jpg\"\r\n txt = getLeyendaPictoCismed(ficha.DatosCismed.EstadoSemanaAnterior, ficha.DatosCismed.EstadoSemanaActual);\r\n }\r\n else{\r\n url = baseURLPictogramas + \"cismed00.jpg\"\r\n }\r\n else{\r\n url = baseURLPictogramas + \"cismed00.jpg\"\r\n txt = 'Este medicamento figura con información en CisMED. Para visualizar esta información debe estar adherido a CisMED.'\r\n }\r\n else\r\n id = 0;\r\n \r\n if (id>0) \r\n ficha.Pictogramas.push({\r\n IdPictograma: id,\r\n Archivo : url,\r\n Texto : txt,\r\n })\r\n return;\r\n }\r\n \r\n const descargaFicha = () => {\r\n BP2022Service.getFichaMUH(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n //auxFicha.CodTipoRegistro=\"MUH\";\r\n auxFicha.TipoRegistro=\"Medicamento de uso humano\"\r\n if (auxFicha.CodTipoRegistro === \"MHO\"){\r\n auxFicha.TipoRegistro=\"Medicamento homeopático de uso humano\"\r\n }\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaCompos = (miId, miIdCPor, miIdFF) => {\r\n BP2022Service.getComposM(miId,miIdCPor,miIdFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Composiciones){\r\n if (response.data.Composiciones.length>0){\r\n AnadeApartado({Titulo: \"Composición\", Ancla:\"COMP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosComposicion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev + 1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaGrupos = (miId, miGTATC, nivelGTATC, miGTVMPP) => {\r\n BP2022Service.getGruposMUH (miId,miGTATC,nivelGTATC,miGTVMPP)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n AnadeApartado({Titulo: \"Medicamentos con igual composición\", Ancla:\"GRUP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosGrupos = response.data;\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n \r\n const descargaTextos = (miId) => {\r\n BP2022Service.getTextosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Epigrafes){\r\n if (response.data.Epigrafes.length>0){\r\n AnadeApartado({Titulo: \"Información farmacológica\", Ancla:\"TEXT\"},miFicha.Apartados,anclas);\r\n for (var i=0; i prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n\r\n BP2022Service.getAdvertenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaConsejos = (miId) => {\r\n /*BP2022Service.getConsejosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Consejos al paciente\", Ancla:\"CONS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosConsejos = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });*/\r\n setRefresh(prev => prev +1);\r\n };\r\n \r\n const descargaPrecaucionExtrema = (miId) => {\r\n BP2022Service.getPrecaucionExtremaMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Precaución extrema de uso\", Ancla:\"PEXT\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosPrecaucionExtrema = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaInterferencias = (miId) => {\r\n BP2022Service.getInterferenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Análisis clínicos\", Ancla:\"ANA\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Interferencias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaFarmacogenetica = (miId) => {\r\n BP2022Service.getFarmacogeneticaMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Farmacogenética\", Ancla:\"FGEN\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.FarmacogeneticaComponentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaDatosConservacion = (miId) => {\r\n BP2022Service.getConservacionMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n var l = 0;\r\n if (response.data.DatosConservacion)\r\n l += response.data.DatosConservacion.length;\r\n if (response.data.MensajesConservacion)\r\n l += response.data.MensajesConservacion.length;\r\n if (l>0){\r\n AnadeApartado({Titulo: \"Conservación y periodos de validez\", Ancla:\"CPV\"},miFicha.Apartados,anclas);\r\n miFicha.InfoConservacion = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaHistorico = (miId) => {\r\n if ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") || !seccionesFichaRestringidasEST.includes(\"HIST\")){\r\n BP2022Service.getHistoricoMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }else{\r\n setRefresh(prev => prev + 1);\r\n }\r\n \r\n };\r\n\r\n const descargaIdentificacion = (miId, idFF) => {\r\n BP2022Service.getIdentificacionMUH (miId, idFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Titulos){\r\n if (response.data.Titulos.length>0){\r\n AnadeApartado({Titulo: \"Identificación\", Ancla:\"IDEN\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosIdentificacion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaNombresSimilares = (miId) => {\r\n BP2022Service.getNombresSimilaresMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Confusiones de nombre\", Ancla:\"SIMIL\"},miFicha.Apartados,anclas);\r\n miFicha.NombresSimilares = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaAlertasCalidad = (miId) => {\r\n if ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") || !seccionesFichaRestringidasEST.includes(\"ALER\")){\r\n BP2022Service.getAlertasCalidadMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Alertas){\r\n if (response.data.Alertas.length>0){\r\n AnadeApartado({Titulo: \"Alertas de calidad\", Ancla:\"ALER\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAlertas = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }else{\r\n setRefresh(prev => prev + 1);\r\n }\r\n };\r\n\r\n const descargaProblemasSuministro = (miId) => {\r\n if ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") || !seccionesFichaRestringidasEST.includes(\"PSUM\")){\r\n BP2022Service.getProblemasSuministroMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Problemas){\r\n if (response.data.Problemas.length>0){\r\n AnadeApartado({Titulo: \"Problemas de suministro\", Ancla:\"PSUM\"},miFicha.Apartados,anclas);\r\n miFicha.DatosProblemasS = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }else{\r\n setRefresh(prev => prev + 1);\r\n }\r\n };\r\n\r\n const descargaDatosCismed = (miId) => {\r\n if ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") || !seccionesFichaRestringidasEST.includes(\"CMED\")){\r\n BP2022Service.getCismedMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.DatosVisibles){\r\n /*if (!miFicha.Apartados.find(ap => ap.Ancla === \"CMED\")){\r\n miFicha.Apartados.push({Titulo: \"CisMED\", Ancla:\"CMED\"});\r\n checkAnclas(miFicha.Apartados);*/\r\n AnadeApartado({Titulo: \"CisMED\", Ancla:\"CMED\"},miFicha.Apartados,anclas)\r\n miFicha.DatosCismed = response.data;\r\n anadeIconoCismed(miFicha);\r\n //}\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }else{\r\n setRefresh(prev => prev + 1);\r\n }\r\n };\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaMensajesEmergentes = (miId) => {\r\n BP2022Service.getMensajesEmergentesMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n miFicha.MensajesEmergentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const cambiaImgIndex = (idx) => {\r\n setImgIndex(idx);\r\n };\r\n\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }\r\n */\r\n\r\n const modalTitulo = \"\";\r\n const modalContent = (ficha && ficha.InfoPrecio && ficha.InfoPrecio !== '') ? \r\n
    \r\n

    \r\n {ficha.InfoPrecio}\r\n

    \r\n
    \r\n : \r\n
    \r\n ;\r\n\r\n const modalKeyName=\"ModalInfoPrecio\"\r\n const abreEmergenteInfoPrecio = (e) => {\r\n /*e.preventDefault();\r\n AddClassNameToClassItems(modalKeyName, null, 'active');*/\r\n setMuestraEmergentePrecios(true);\r\n }\r\n\r\n const cierraEmergenteInfoPrecio = (e) => {\r\n setMuestraEmergentePrecios(false);\r\n }\r\n\r\n\r\n if ((ficha !== null) && (ficha.Id === id))\r\n {\r\n return (\r\n
    \r\n \r\n {(muestraAmpliada) ? \r\n
    \r\n
    \r\n
    clickCierra(e)} style={{cursor: 'pointer'}}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n {(muestraEmergentePrecios) ?\r\n \r\n :\r\n <>\r\n }\r\n\r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaMUH;\r\n","import Slider from 'react-slick'\r\nimport React, { useState } from \"react\";\r\nimport { divideArrayEnPartes, numberWithCommas, rootPath } from \"../../../services/utils\";\r\nimport FilaPictogramas from \"../FichaMUH/InfoPrincipal/FilaPictogramas\";\r\n\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\nimport LinksFichaMUV from './LinksFichaMUV';\r\n\r\nconst MargenDerchoMUV = (props) => {\r\n const [sliderRef, setSliderRef] = useState(null)\r\n const ficha = props.ficha;\r\n const imgDefecto = rootPath + \"img/perro.svg\" ;\r\n const srcImagen = (props.ficha.ImagenEnvase != null ?\r\n (props.ficha.ImagenEnvase.URLFull != null ?\r\n props.ficha.ImagenEnvase.URLFull\r\n : \r\n props.ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ''\r\n );\r\n\r\n const srcImagenFF = (props.ficha.ImagenFormaF != null ?\r\n (props.ficha.ImagenFormaF.URLFull != null ?\r\n props.ficha.ImagenFormaF.URLFull\r\n : \r\n props.ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n );\r\n const tieneImagenes = srcImagen !== '' || srcImagenFF !== ''; \r\n const arrayImgs = [];\r\n if (srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} props.clickImagen(e, arrayImgs.indexOf(srcImg))} />
    )\r\n :

     

    \r\n\r\n const sliderSettings = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__1',\r\n }\r\n \r\n const pictogramasEnFilas = divideArrayEnPartes(ficha.Pictogramas,5); \r\n const pictogramas = pictogramasEnFilas.map( fila => );\r\n const txtDispensable = ficha.Dispensable === \"No, solo a veterinarios\" || ficha.Dispensable === \"Solo a veterinarios\" ? \"Solo a vet.\" : ficha.Dispensable;\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n {pictogramas}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Receta
    \r\n
    {ficha.Receta}
    \r\n
    \r\n
    \r\n
    Dispensable
    \r\n
    {txtDispensable}
    \r\n
    \r\n
    \r\n
    Financiado
    \r\n
    {ficha.Financiado}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerchoMUV;\r\n","import React, { useState, useEffect, createRef, useRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MargenDerecho from \"../FichaMUH/MargenDerecho/MargenDerecho\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, compruebaAnclas, RemoveClassNameToClassItems, rootPath , getParam, anadeAncla } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerchoMUV from \"./MargenDerechoMUV\";\r\nimport Slider from \"react-slick\";\r\nimport {createBrowserHistory} from 'history';\r\n\r\n\r\nconst FichaMUV = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n const [muestraAmpliada, setMuestraAmpliada] = useState(false);\r\n //const [sliderRef2, setSliderRef2] = useState(null)\r\n const sliderRef2 = useRef();\r\n const [idxSlider, setIdxSlider] = useState(0);\r\n const [anclasEpis, setAnclasEpis] = useState([]);\r\n const history = createBrowserHistory();\r\n const sEpigrafes = getParam(history.location.search, 'epigrafes');\r\n const epigrafesActivos = sEpigrafes ? sEpigrafes.split(\",\").map(Number) : [];\r\n const [seHaHechoScroll, SetSeHaHechoScroll] = useState(false);\r\n\r\n\r\n const sliderSettings2 = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__2',\r\n }\r\n\r\n const clickImagen = (e, idx) => {\r\n if (idx || idx===0){\r\n setIdxSlider(idx);\r\n }\r\n else{\r\n setIdxSlider(0);\r\n }\r\n setMuestraAmpliada(true);\r\n }\r\n\r\n const clickCierra = (e) => {\r\n setMuestraAmpliada(false);\r\n }\r\n\r\n const loadImageGrande = (e) => {\r\n var h = e.target.height;\r\n var w = e.target.width;\r\n var maxHeightG = window.innerHeight * 0.65;\r\n var maxWidthG = window.innerWidth * 0.65;\r\n if (h>=maxHeightG){\r\n e.target.style.height = maxHeightG.toString() + 'px';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n else if (w>=maxWidthG){\r\n e.target.style.height = 'auto';\r\n e.target.style.width = maxWidthG.toString() + 'px';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n }\r\n\r\n const estiloImagenFlotante = {verticalAlign:'middle',width:'70%',alignContent:'center',maxHeight:'70%'}\r\n \r\n if (ficha && ((ficha.CodTipoRegistro===\"PAV\")||(ficha.CodTipoRegistro===\"PAH\"))){\r\n estiloImagenFlotante.backgroundColor = '#FFFFFF'\r\n }\r\n\r\n const imgDefecto = (ficha) ? \r\n ((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\")) ? \r\n rootPath + \"img/perro.svg\" : \r\n ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\")) ? \r\n rootPath + \"img/jabonLiquido.svg\" : \r\n ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\")) ? \r\n rootPath + \"img/patHumana.svg\" : \r\n (ficha.CodTipoRegistro===\"PATV\") ? \r\n rootPath + \"img/patVet.svg\" : \r\n rootPath + \"img/person.svg\" \r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagen = (ficha) ?\r\n ((ficha.ImagenEnvase) ?\r\n (ficha.ImagenEnvase.URLFull != null ?\r\n ficha.ImagenEnvase.URLFull\r\n : \r\n ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ((ficha.ImagenFormula) ?\r\n ficha.ImagenFormula.URL\r\n :\r\n imgDefecto\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagenFF = (ficha) ?\r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n ((ficha.ImagenMatAcond) ?\r\n (ficha.ImagenMatAcond.URLFull != null ?\r\n ficha.ImagenMatAcond.URLFull\r\n : \r\n ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n )\r\n :\r\n ((ficha.ImagenFormaF) ?\r\n (ficha.ImagenFormaF.URLFull != null ?\r\n ficha.ImagenFormaF.URLFull\r\n : \r\n ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const tieneImagenes = (srcImagen && srcImagen !== '') || (srcImagenFF && srcImagenFF !== ''); \r\n const arrayImgs = [];\r\n if (srcImagen && srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF && srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImageGrande(e)}/>
    )\r\n :

     

    \r\n\r\n\r\n useEffect(() => {\r\n if (sliderRef2)\r\n if(sliderRef2.current)\r\n sliderRef2.current.slickGoTo(idxSlider);\r\n\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==0){\r\n descargaMensajesEmergentes(ficha.Id);\r\n }\r\n else if (refresh==1){\r\n descargaCompos(ficha.Id, ficha.IdComposicionPor, ficha.IdFormaFarma);\r\n }\r\n else if (refresh==2){\r\n var codGrupo = ficha.CodATCN5;\r\n var nivel = 5;\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN4;\r\n nivel = 4;\r\n }\r\n if ((codGrupo === null)||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodATCN3;\r\n nivel = 3;\r\n }\r\n descargaGrupos(ficha.Id, codGrupo, nivel, null);\r\n }\r\n else if (refresh==3){\r\n descargaTextos(ficha.Id);\r\n }\r\n else if (refresh==4){\r\n descargaAdvertencias(ficha.Id);\r\n }\r\n else if (refresh==5){\r\n descargaDatosConservacion(ficha.Id)\r\n }\r\n else if (refresh==6){\r\n descargaTiemposEspera(ficha.Id)\r\n }\r\n else if (refresh==7){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==8){\r\n descargaAlertasCalidad(ficha.Id)\r\n }\r\n else if (refresh==9){\r\n descargaProblemasSuministro(ficha.Id)\r\n }\r\n else if (refresh==10){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh == 11)\r\n {\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 12)\r\n {\r\n }\r\n if (epigrafesActivos && epigrafesActivos.length>0 && !seHaHechoScroll && anclasEpis && anclasEpis.length>0){\r\n var currentAncla;\r\n for (var i=0; i ancla.idAncla === \"Epi\" + epigrafesActivos[i].toString())\r\n }\r\n if (currentAncla){\r\n const linkRef = currentAncla.refAncla;\r\n linkRef.current.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });\r\n SetSeHaHechoScroll(true);\r\n } \r\n }\r\n })\r\n\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaMUV(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"MUV\";\r\n auxFicha.TipoRegistro=\"Medicamento veterinario\"\r\n setFicha(auxFicha);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaCompos = (miId, miIdCPor, miIdFF) => {\r\n BP2022Service.getComposM(miId,miIdCPor,miIdFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Composiciones){\r\n if (response.data.Composiciones.length>0){\r\n AnadeApartado({Titulo: \"Composición\", Ancla:\"COMP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosComposicion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev + 1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaGrupos = (miId, miGTATC, nivelGTATC, miGTVMPP) => {\r\n BP2022Service.getGruposMUH (miId,miGTATC,nivelGTATC,miGTVMPP)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n AnadeApartado({Titulo: \"Medicamentos con igual composición\", Ancla:\"GRUP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosGrupos = response.data;\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaTextos = (miId) => {\r\n BP2022Service.getTextosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Epigrafes){\r\n if (response.data.Epigrafes.length>0){\r\n AnadeApartado({Titulo: \"Información farmacológica\", Ancla:\"TEXT\"},miFicha.Apartados,anclas);\r\n for (var i=0; i prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n BP2022Service.getAdvertenciasMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n \r\n const descargaTiemposEspera = (miId) => {\r\n BP2022Service.getTiemposEsperaMUV (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Tiempos de espera\", Ancla:\"TESP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.TiemposEspera = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaDatosConservacion = (miId) => {\r\n BP2022Service.getConservacionMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n var l = 0;\r\n if (response.data.DatosConservacion)\r\n l += response.data.DatosConservacion.length;\r\n if (response.data.MensajesConservacion)\r\n l += response.data.MensajesConservacion.length;\r\n if (l>0){\r\n AnadeApartado({Titulo: \"Conservación y periodos de validez\", Ancla:\"CPV\"},miFicha.Apartados,anclas);\r\n miFicha.InfoConservacion = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaHistorico = (miId) => {\r\n BP2022Service.getHistoricoMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaAlertasCalidad = (miId) => {\r\n BP2022Service.getAlertasCalidadMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Alertas){\r\n if (response.data.Alertas.length>0){\r\n AnadeApartado({Titulo: \"Alertas de calidad\", Ancla:\"ALER\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAlertas = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaProblemasSuministro = (miId) => {\r\n BP2022Service.getProblemasSuministroMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Problemas){\r\n if (response.data.Problemas.length>0){\r\n AnadeApartado.push({Titulo: \"Problemas de suministro\", Ancla:\"PSUM\"},miFicha.Apartados,anclas);\r\n miFicha.DatosProblemasS = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaMensajesEmergentes = (miId) => {\r\n BP2022Service.getMensajesEmergentesMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n miFicha.MensajesEmergentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosMUH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n {(muestraAmpliada) ? \r\n
    \r\n
    \r\n
    clickCierra(e)} style={{cursor: 'pointer'}}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n {(ficha.CodTipoRegistro === \"MUV\") ?\r\n \r\n :\r\n \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaMUV;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MargenDerecho from \"../FichaMUH/MargenDerecho/MargenDerecho\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems, rootPath, getParam, anadeAncla } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoPA from \"./MargenDerechoPA\";\r\nimport Slider from \"react-slick\";\r\nimport {createBrowserHistory} from 'history';\r\n\r\n\r\nconst FichaPA = (props) => {\r\n const id = props.infoPagina.id;\r\n const tipo = props.tipo;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n const [muestraAmpliada, setMuestraAmpliada] = useState(false);\r\n const [sliderRef2, setSliderRef2] = useState(null)\r\n const [anclasEpis, setAnclasEpis] = useState([]);\r\n const history = createBrowserHistory();\r\n const sEpigrafes = getParam(history.location.search, 'epigrafes');\r\n const epigrafesActivos = sEpigrafes ? sEpigrafes.split(\",\").map(Number) : [];\r\n const [seHaHechoScroll, SetSeHaHechoScroll] = useState(false);\r\n \r\n\r\n const sliderSettings2 = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__2',\r\n }\r\n\r\n const clickImagen = (e) => {\r\n setMuestraAmpliada(true);\r\n }\r\n\r\n const clickCierra = (e) => {\r\n setMuestraAmpliada(false);\r\n }\r\n\r\n const loadImageGrande = (e) => {\r\n var h = e.target.height;\r\n var w = e.target.width;\r\n var maxHeightG = window.innerHeight * 0.65;\r\n var maxWidthG = window.innerWidth * 0.65;\r\n if (h>=maxHeightG){\r\n e.target.style.height = maxHeightG.toString() + 'px';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n else if (w>=maxWidthG){\r\n e.target.style.height = 'auto';\r\n e.target.style.width = maxWidthG.toString() + 'px';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n }\r\n\r\n const estiloImagenFlotante = {verticalAlign:'middle',width:'70%',alignContent:'center',maxHeight:'70%'}\r\n \r\n if (ficha && ((ficha.CodTipoRegistro===\"PAV\")||(ficha.CodTipoRegistro===\"PAH\"))){\r\n estiloImagenFlotante.backgroundColor = '#FFFFFF'\r\n }\r\n\r\n const imgDefecto = (ficha) ? \r\n ((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\")) ? \r\n rootPath + \"img/perro.svg\" : \r\n ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\")) ? \r\n rootPath + \"img/jabonLiquido.svg\" : \r\n ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\")) ? \r\n rootPath + \"img/patHumana.svg\" : \r\n (ficha.CodTipoRegistro===\"PATV\") ? \r\n rootPath + \"img/patVet.svg\" : \r\n rootPath + \"img/person.svg\" \r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagen = (ficha) ?\r\n ((ficha.ImagenEnvase) ?\r\n (ficha.ImagenEnvase.URLFull != null ?\r\n ficha.ImagenEnvase.URLFull\r\n : \r\n ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ((ficha.ImagenFormula) ?\r\n ficha.ImagenFormula.URL\r\n :\r\n imgDefecto\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagenFF = (ficha) ?\r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n ((ficha.ImagenMatAcond) ?\r\n (ficha.ImagenMatAcond.URLFull != null ?\r\n ficha.ImagenMatAcond.URLFull\r\n : \r\n ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n )\r\n :\r\n ((ficha.ImagenFormaF) ?\r\n (ficha.ImagenFormaF.URLFull != null ?\r\n ficha.ImagenFormaF.URLFull\r\n : \r\n ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const tieneImagenes = (srcImagen && srcImagen !== '') || (srcImagenFF && srcImagenFF !== ''); \r\n const arrayImgs = [];\r\n if (srcImagen && srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF && srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImageGrande(e)}/>
    )\r\n :

     

    \r\n\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n (ficha.CodTipoRegistro === \"PHO\") ?\r\n setRefresh(2)\r\n :\r\n descargaMensajesEmergentes(ficha.Id);\r\n }\r\n else if (refresh==2){\r\n descargaTextos(ficha.Id);\r\n }\r\n else if (refresh==3){\r\n descargaAdvertencias(ficha.Id);\r\n }\r\n else if (refresh==4){\r\n (ficha.CodTipoRegistro === \"PHO\") ?\r\n setRefresh(10)\r\n :\r\n descargaPrecaucionExtrema(ficha.Id);\r\n }\r\n else if (refresh==5){\r\n if (tipo===\"H\")\r\n descargaNombresSimilares(ficha.Id)\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==6){\r\n if (tipo===\"H\")\r\n descargaInterferencias(ficha.Id);\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==7){\r\n if (tipo===\"H\")\r\n descargaFarmacogenetica(ficha.Id)\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==8){\r\n descargaHistorico(ficha.Id)\r\n }\r\n else if (refresh==9){\r\n if (tipo===\"V\")\r\n descargaUsoAnimalesProductores(ficha.Id)\r\n else\r\n setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==10){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==11){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 12)\r\n {\r\n \r\n //setRefresh(prev => prev + 1);\r\n }\r\n if (epigrafesActivos && epigrafesActivos.length>0 && !seHaHechoScroll && anclasEpis && anclasEpis.length>0){\r\n var currentAncla;\r\n for (var i=0; i ancla.idAncla === \"Epi\" + epigrafesActivos[i].toString())\r\n }\r\n if (currentAncla){\r\n const linkRef = currentAncla.refAncla;\r\n if (linkRef && linkRef.current){\r\n linkRef.current.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });\r\n SetSeHaHechoScroll(true);\r\n }\r\n } \r\n }\r\n })\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaPA(id, props.tipo)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados);\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n //auxFicha.CodTipoRegistro=\"PA\" + tipo;\r\n\r\n if (auxFicha.CodTipoRegistro === \"PAV\")\r\n auxFicha.TipoRegistro=\"Principio activo veterinario\";\r\n else if (auxFicha.CodTipoRegistro === \"PHO\")\r\n auxFicha.TipoRegistro=\"Principio activo homeopático de uso humano\";\r\n else\r\n auxFicha.TipoRegistro=\"Principio activo de uso humano\";\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaMensajesEmergentes = (miId) => {\r\n BP2022Service.getMensajesEmergentesPAH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n miFicha.MensajesEmergentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaTextos = (miId) => {\r\n BP2022Service.getTextosPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Epigrafes){\r\n if (response.data.Epigrafes.length>0){\r\n AnadeApartado({Titulo: \"Información farmacológica\", Ancla:\"TEXT\"},miFicha.Apartados,anclas);\r\n for (var i=0; i prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertencias = (miId) => {\r\n \r\n BP2022Service.getAdvertenciasPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaNombresSimilares = (miId) => {\r\n BP2022Service.getNombresSimilaresPAH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Confusiones de nombre\", Ancla:\"SIMIL\"},miFicha.Apartados,anclas);\r\n miFicha.NombresSimilares = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaPrecaucionExtrema = (miId) => {\r\n BP2022Service.getPrecaucionExtremaPAH (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Precaución extrema de uso\", Ancla:\"PEXT\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosPrecaucionExtrema = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaInterferencias = (miId) => {\r\n BP2022Service.getInterferenciasPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Análisis clínicos\", Ancla:\"ANA\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Interferencias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaFarmacogenetica = (miId) => {\r\n BP2022Service.getFarmacogeneticaPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Biomarcadores){\r\n if (response.data.Biomarcadores.length>0){\r\n AnadeApartado({Titulo: \"Farmacogenética\", Ancla:\"FGENPA\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Farmacogenetica = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaHistorico = (miId) => {\r\n BP2022Service.getHistoricoPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaDopaje = (miId) => {\r\n BP2022Service.getDopajeInfoPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Textos){\r\n if (response.data.Textos.length>0){\r\n AnadeApartado({Titulo: \"Dopaje\", Ancla:\"DOP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosDopaje = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaSinonimias = (miId) => {\r\n BP2022Service.getSinonimiasPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Sinonimias\", Ancla:\"SINO\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Sinonimias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaUsoAnimalesProductores = (miId) => {\r\n if (tipo===\"V\"){\r\n BP2022Service.getProductoresInfoPA (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.LMRsEspecies){\r\n if (response.data.LMRsEspecies.length>0){\r\n AnadeApartado({Titulo: \"Límites máximos de residuos\", Ancla:\"UAP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAnimalesProductores = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n };\r\n\r\n \r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n\r\n \r\n if ((ficha !== null) && (ficha.Id === id))\r\n {\r\n return (\r\n
    \r\n \r\n {(muestraAmpliada) ? \r\n
    \r\n
    \r\n
    clickCierra(e)} style={{cursor: 'pointer'}}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n {(ficha.Apartados && ficha.Apartados.length>0) ?\r\n \r\n :\r\n
    \r\n } \r\n\r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaPA;\r\n","import FichaPA from \"./FichaPA\";\r\n\r\nconst FichaPAH = (props) => {\r\n return (\r\n \r\n )\r\n}\r\nexport default FichaPAH;\r\n","import FichaPA from \"./FichaPA\";\r\n\r\nconst FichaPAV = (props) => {\r\n return (\r\n \r\n )\r\n}\r\nexport default FichaPAV;\r\n","import React, { useState } from \"react\";\r\nimport { divideArrayEnPartes, numberWithCommas, rootPath } from \"../../../services/utils\";\r\n\r\nimport LinksFichaPAT from './LinksFichaPAT';\r\n\r\nconst MargenDerechoPAT = (props) => {\r\n const ficha = props.ficha;\r\n var imgDefecto = rootPath + \"img/patHumana.svg\" ;\r\n if (ficha.CodTipoRegistro===\"PATV\")\r\n imgDefecto = rootPath + \"img/patVet.svg\" ;\r\n\r\n const maxHeight=180;\r\n const maxWidth=256;\r\n\r\n const estildefecto = {maxWidth: '180px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n\r\n const loadImage = (e) => {\r\n var h = e.target.height;\r\n if (h===maxHeight){\r\n e.target.style.height = '100%';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidth.toString() + 'px';\r\n e.target.style.maxHeight = maxHeight.toString() + 'px';\r\n }\r\n }\r\n\r\n const imagenesHTML =

     

    \r\n \r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n {imagenesHTML}\r\n
    \r\n
    \r\n {(ficha.CodTipoRegistro !== \"ING\") ?\r\n
    \r\n
    \r\n
    Especialidad
    \r\n
    {ficha.CodEspecialidadMedica}
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerechoPAT;\r\n\r\n/*\r\n
    \r\n
    CodCIE
    \r\n
    {ficha.CodCIE}
    \r\n
    \r\n*/","import React, { useState, useEffect, createRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoPAT from \"./MargenDerechoPAT\";\r\n\r\nconst FichaPAT = (props) => {\r\n const id = props.infoPagina.id;\r\n //const tipo = props.tipo;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n\r\n useEffect(() => {\r\n if ((ficha==null) || (ficha.Id !== id)){\r\n window.scroll({ top: 0, behavior: 'smooth' })\r\n descargaFicha();\r\n } \r\n else if (refresh==1){\r\n descargaJerarquiaInfo(ficha.Id)\r\n }\r\n else if (refresh==2){\r\n descargaSinonimias(ficha.Id)\r\n }\r\n else if (refresh==3){\r\n /*if (ficha.TipoPat===\"H\")\r\n descargaInterferencias(ficha.Id);\r\n else*/\r\n descargaCieInfo(ficha.Id);\r\n //setRefresh(prev => prev+1);\r\n }\r\n else if (refresh==4){\r\n descargaInformacionAdicional(ficha.Id)\r\n }\r\n else if (refresh==5){\r\n descargaVideos(ficha.Id)\r\n }\r\n else if (refresh == 6)\r\n { \r\n //setRefresh(prev => prev + 1);\r\n }\r\n })\r\n const descargaFicha = () => {\r\n BP2022Service.getFichaPAT(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados);\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"PAT\" + auxFicha.TipoPat;\r\n if (auxFicha.TipoPat === \"H\")\r\n auxFicha.TipoRegistro=\"Enfermedad humana\";\r\n else\r\n auxFicha.TipoRegistro=\"Enfermedad veterinaria\";\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaJerarquiaInfo = (miId) => {\r\n BP2022Service.getJerarquiaInfoPAT (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.NivelSuperior.length + response.data.NivelInferior.length>0){\r\n AnadeApartado({Titulo: \"Jerarquía enfermedades\", Ancla:\"JENF\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosJerarquia = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaCieInfo = (miId) => {\r\n BP2022Service.getCIEInfoPAT(miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length >0){\r\n AnadeApartado({Titulo: \"CIE 10\", Ancla:\"CIE10\"},miFicha.Apartados,anclas);\r\n miFicha.DatosCIE = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaInterferencias = (miId) => {\r\n BP2022Service.getInterferenciasPAT (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Análisis clínicos\", Ancla:\"ANA\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Interferencias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n\r\n const descargaInformacionAdicional = (miId) => {\r\n BP2022Service.getInformacionAdicionalPAT (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaVideos = (miId) => {\r\n BP2022Service.getVideosPAT (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaSinonimias = (miId) => {\r\n BP2022Service.getSinonimiasPAT (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Sinonimias\", Ancla:\"SINO\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.Sinonimias = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaPAT;\r\n","import Slider from 'react-slick'\r\nimport React, { useState } from \"react\";\r\nimport { PerfilUsuario, divideArrayEnPartes, getIdCCAA, numberWithCommas, rootPath } from \"../../../services/utils\";\r\nimport FilaPictogramas from \"../FichaMUH/InfoPrincipal/FilaPictogramas\";\r\n\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\nimport LinksFichaMUH from '../FichaMUH/InfoPrincipal/LinksFichaMUH';\r\nimport LinksFichaPPF from './LinksFichaPPF';\r\n\r\nconst MargenDerechoPPF = (props) => {\r\n const [sliderRef, setSliderRef] = useState(null)\r\n const ficha = props.ficha;\r\n const tienePFuturos = (ficha.PFuturos !== null) && (ficha.PFuturos.PVPIVA>0);\r\n const imgDefecto = rootPath + \"img/jabonLiquido.svg\" ;\r\n const srcImagen = (props.ficha.ImagenEnvase != null ?\r\n (props.ficha.ImagenEnvase.URLFull != null ?\r\n props.ficha.ImagenEnvase.URLFull\r\n : \r\n props.ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ''\r\n );\r\n\r\n const srcImagenFF = (props.ficha.ImagenMatAcond != null ?\r\n (props.ficha.ImagenMatAcond.URLFull != null ?\r\n props.ficha.ImagenMatAcond.URLFull\r\n : \r\n props.ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n );\r\n const tieneImagenes = srcImagen !== '' || srcImagenFF !== ''; \r\n const arrayImgs = [];\r\n if (srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const maxHeight=180;\r\n const maxWidth=256;\r\n\r\n const estilhorizontal = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n const estildefecto = {maxWidth: '180px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n const estilvertical = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', height: '100%', width: 'auto'}\r\n\r\n const loadImage = (e) => {\r\n var h = e.target.height;\r\n if (h===maxHeight){\r\n e.target.style.height = '100%';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidth.toString() + 'px';\r\n e.target.style.maxHeight = maxHeight.toString() + 'px';\r\n }\r\n }\r\n\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImage(e)} onClick={(e) => props.clickImagen(e, arrayImgs.indexOf(srcImg))}/>
    )\r\n :

     

    \r\n\r\n const sliderSettings = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__1',\r\n }\r\n \r\n const estiloPreciosAltos = {fontSize:'14px'}\r\n const estiloVacio = {}\r\n const estiloPrecio = (ficha.PVPIVA>999999 ? estiloPreciosAltos : estiloVacio)\r\n\r\n const pictogramasEnFilas = divideArrayEnPartes(ficha.Pictogramas,5); \r\n const pictogramas = pictogramasEnFilas.map( fila => );\r\n\r\n var idCCAA = getIdCCAA();\r\n var literalPVPIVA = (ficha.LiteralPrecio) ? ficha.LiteralPrecio : (idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? 'PVP sin IVA facturación': 'PVP con IVA facturación';\r\n var precioAMostrar = ((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) ? ficha.PVPsinIVA: ficha.PVPIVA);\r\n if ((idCCAA===18) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Ceuta\";\r\n if ((idCCAA===19) && (ficha.CodTipoRegistro === 'PPF') && (ficha.IdTipoPF===6))\r\n literalPVPIVA = \"Precio Melilla\";\r\n\r\n return (\r\n
    \r\n
    {ficha.NombreCompleto}
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n {pictogramas}\r\n
    \r\n {((PerfilUsuario()===\"EST\" || PerfilUsuario()===\"INS\") ?\r\n <>\r\n :\r\n
    \r\n {(((ficha.IdTipoPF === 1) || (ficha.IdTipoPF === 13) || (ficha.IdTipoPF === 25) || (ficha.IdTipoPF === 6)) ?\r\n
    \r\n

    {literalPVPIVA}

    \r\n {ficha.PVPIVA>0 ?\r\n

    {numberWithCommas(precioAMostrar)}

    \r\n :\r\n

    -

    \r\n }\r\n {(\r\n tienePFuturos ? \r\n

    {numberWithCommas(ficha.PFuturos.PVPIVA)}

    \r\n :\r\n \r\n )}\r\n

    EUR

    \r\n
    \r\n :\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    Receta
    \r\n
    {ficha.Receta}
    \r\n
    \r\n
    \r\n
    Dispensable
    \r\n
    {ficha.Dispensable}
    \r\n
    \r\n
    \r\n
    Financiado
    \r\n
    {ficha.ShortFinanciado}
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n )\r\n}\r\nexport default MargenDerechoPPF;","import React, { useState, useEffect, createRef, useRef } from \"react\";\r\nimport CabeceraResultados from \"../../Resultados/CabeceraResultados/CabeceraResultados\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport InfoPrincipalMUH from \"../FichaMUH/InfoPrincipal/InfoPrincipalMUH.js\";\r\nimport MenuIzquierda from \"../FichaMUH/MenuIzquierda/MenuIzquierda\";\r\nimport ContenedorApartados from \"../FichaMUH/Apartados/ContenedorApartados\";\r\nimport MargenDerecho from \"../FichaMUH/MargenDerecho/MargenDerecho\";\r\nimport MensajesEmergentes from \"../FichaMUH/MensajesEmergentes\";\r\nimport { AnadeApartado, baseURLPictogramas, compruebaAnclas, RemoveClassNameToClassItems, rootPath, AddClassNameToClassItems, getParam, anadeAncla, PerfilUsuario } from \"../../../services/utils\";\r\nimport Emergente from \"../FichaMUH/Apartados/Cismed/Emergente\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport MargenDerechoPPF from \"./MargenDerechoPPF\";\r\nimport Slider from \"react-slick\";\r\nimport {createBrowserHistory} from 'history';\r\nimport { seccionesFichaRestringidasEST } from \"../../../services/objsAplicacion.js\";\r\n\r\n\r\nconst FichaPPF = (props) => {\r\n const id = props.infoPagina.id;\r\n const [ficha, setFicha] = useState(null);\r\n const [anclas, setAnclas] = useState([]);\r\n const [refresh, setRefresh] = useState(0);\r\n const [muestraAmpliada, setMuestraAmpliada] = useState(false);\r\n //const [sliderRef2, setSliderRef2] = useState(null)\r\n const sliderRef2 = useRef();\r\n const [idxSlider, setIdxSlider] = useState(0);\r\n const [muestraEmergentePrecios, setMuestraEmergentePrecios] = useState(false);\r\n const [anclasEpis, setAnclasEpis] = useState([]);\r\n const history = createBrowserHistory();\r\n const sEpigrafes = getParam(history.location.search, 'epigrafes');\r\n const epigrafesActivos = sEpigrafes ? sEpigrafes.split(\",\").map(Number) : [];\r\n const [seHaHechoScroll, SetSeHaHechoScroll] = useState(false);\r\n\r\n\r\n const sliderSettings2 = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n speed: 300,\r\n arrows: true,\r\n touchMove: true,\r\n accessibility: true,\r\n adaptativeHeight: true,\r\n dots: false,\r\n focusOnSelect: true,\r\n className: 'single-item slide__2',\r\n }\r\n\r\n const clickImagen = (e,idx) => {\r\n if (idx || idx===0){\r\n setIdxSlider(idx);\r\n }\r\n else{\r\n setIdxSlider(0);\r\n }\r\n setMuestraAmpliada(true);\r\n }\r\n\r\n const clickCierra = (e) => {\r\n setMuestraAmpliada(false);\r\n }\r\n\r\n const loadImageGrande = (e) => {\r\n var h = e.target.height;\r\n var w = e.target.width;\r\n var maxHeightG = window.innerHeight * 0.65;\r\n var maxWidthG = window.innerWidth * 0.65;\r\n if (h>=maxHeightG){\r\n e.target.style.height = maxHeightG.toString() + 'px';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n else if (w>=maxWidthG){\r\n e.target.style.height = 'auto';\r\n e.target.style.width = maxWidthG.toString() + 'px';\r\n e.target.style.maxWidth = maxWidthG.toString() + 'px';\r\n e.target.style.maxHeight = maxHeightG.toString() + 'px';\r\n }\r\n }\r\n\r\n const estiloImagenFlotante = {verticalAlign:'middle',width:'70%',alignContent:'center',maxHeight:'70%'}\r\n \r\n if (ficha && ((ficha.CodTipoRegistro===\"PAV\")||(ficha.CodTipoRegistro===\"PAH\"))){\r\n estiloImagenFlotante.backgroundColor = '#FFFFFF'\r\n }\r\n\r\n const imgDefecto = (ficha) ? \r\n ((ficha.CodTipoRegistro === \"MUV\") || (ficha.CodTipoRegistro===\"PAV\") || (ficha.CodTipoRegistro===\"ASOV\")) ? \r\n rootPath + \"img/perro.svg\" : \r\n ((ficha.CodTipoRegistro===\"PPF\") || (ficha.CodTipoRegistro===\"ING\")) ? \r\n rootPath + \"img/jabonLiquido.svg\" : \r\n ((ficha.CodTipoRegistro===\"PAT\") || (ficha.CodTipoRegistro===\"PATH\")) ? \r\n rootPath + \"img/patHumana.svg\" : \r\n (ficha.CodTipoRegistro===\"PATV\") ? \r\n rootPath + \"img/patVet.svg\" : \r\n rootPath + \"img/person.svg\" \r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagen = (ficha) ?\r\n ((ficha.ImagenEnvase) ?\r\n (ficha.ImagenEnvase.URLFull != null ?\r\n ficha.ImagenEnvase.URLFull\r\n : \r\n ficha.ImagenEnvase.URL\r\n )\r\n :\r\n ((ficha.ImagenFormula) ?\r\n ficha.ImagenFormula.URL\r\n :\r\n imgDefecto\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const srcImagenFF = (ficha) ?\r\n ((ficha.CodTipoRegistro === \"PPF\") ?\r\n ((ficha.ImagenMatAcond) ?\r\n (ficha.ImagenMatAcond.URLFull != null ?\r\n ficha.ImagenMatAcond.URLFull\r\n : \r\n ficha.ImagenMatAcond.URL\r\n )\r\n :\r\n ''\r\n )\r\n :\r\n ((ficha.ImagenFormaF) ?\r\n (ficha.ImagenFormaF.URLFull != null ?\r\n ficha.ImagenFormaF.URLFull\r\n : \r\n ficha.ImagenFormaF.URL\r\n )\r\n :\r\n ''\r\n )\r\n )\r\n :\r\n undefined\r\n ;\r\n\r\n const tieneImagenes = (srcImagen && srcImagen !== '') || (srcImagenFF && srcImagenFF !== ''); \r\n const arrayImgs = [];\r\n if (srcImagen && srcImagen != '')\r\n arrayImgs.push(srcImagen);\r\n if (srcImagenFF && srcImagenFF != '')\r\n arrayImgs.push(srcImagenFF);\r\n\r\n const imagenesHTML = tieneImagenes ? arrayImgs.map(srcImg =>
    {srcImg} loadImageGrande(e)}/>
    )\r\n :

     

    \r\n\r\n\r\n useEffect(() => {\r\n if (sliderRef2)\r\n if(sliderRef2.current)\r\n sliderRef2.current.slickGoTo(idxSlider);\r\n\r\n if ((ficha==null) || (ficha.Id !== id))\r\n {\r\n window.scroll({ top: 0, behavior: 'smooth' })\r\n descargaFichaPF();\r\n } \r\n else if (refresh==1){\r\n descargaMensajesEmergentes(ficha.Id); \r\n }\r\n else if (refresh==2){\r\n descargaComposPF(ficha.Id, ficha.IdComposicionPor, ficha.IdFormaFarma);\r\n }\r\n else if (refresh==3){\r\n var codGrupo = ficha.CodConN5;\r\n var nivel = 5;\r\n if (!codGrupo||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodConN4;\r\n nivel = 4;\r\n }\r\n if (!codGrupo||(codGrupo===''))\r\n {\r\n codGrupo = ficha.CodConN3;\r\n nivel = 3;\r\n }\r\n if (!codGrupo||(codGrupo===''))\r\n {\r\n codGrupo = '';\r\n nivel = 0;\r\n }\r\n descargaGruposPF(ficha.Id, codGrupo, nivel, ficha.CodNom);\r\n }\r\n else if (refresh==4){\r\n descargaTextosPF(ficha.Id);\r\n }\r\n else if (refresh==5){\r\n descargaAdvertenciasPF(ficha.Id);\r\n }\r\n else if (refresh==6){\r\n descargaDatosConservacionPF(ficha.Id)\r\n }\r\n else if (refresh==7){\r\n descargaHistoricoPF(ficha.Id)\r\n }\r\n else if (refresh==8){\r\n descargaAlertasCalidadPF(ficha.Id)\r\n }\r\n else if (refresh==9){\r\n descargaContenidoPackPF(ficha.Id)\r\n }\r\n else if (refresh==10){\r\n descargaPacksContenedoresPF(ficha.Id)\r\n }\r\n else if (refresh==11){\r\n descargaInformacionAdicionalPF(ficha.Id)\r\n }\r\n else if (refresh==12){\r\n descargaVideosPF(ficha.Id)\r\n }\r\n else if (refresh == 13)\r\n {\r\n var mipie = document.getElementById('app__pie');\r\n var rectpie = mipie.getBoundingClientRect();\r\n var finpie = (Math.round(rectpie.y)+Math.round(rectpie.height));\r\n var documentHeight = Math.max( document.body.scrollHeight, document.body.offsetHeight ); //, \r\n document.body.style.maxHeight = finpie.toString + 'px';\r\n documentHeight = Math.max( document.body.scrollHeight, document.body.offsetHeight );\r\n document.body.height = finpie;\r\n }\r\n if (epigrafesActivos && epigrafesActivos.length>0 && !seHaHechoScroll && anclasEpis && anclasEpis.length>0){\r\n var currentAncla;\r\n for (var i=0; i ancla.idAncla === \"Epi\" + epigrafesActivos[i].toString())\r\n }\r\n if (currentAncla){\r\n const linkRef = currentAncla.refAncla;\r\n linkRef.current.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });\r\n SetSeHaHechoScroll(true);\r\n } \r\n }\r\n })\r\n\r\n \r\n const descargaFichaPF = () => {\r\n BP2022Service.getFichaPF(id)\r\n .then((response) => {\r\n RemoveClassNameToClassItems('lightbox__popup',null,'active');\r\n //checkAnclas(response.data.Apartados);\r\n var auxFicha = response.data;\r\n compruebaAnclas(auxFicha.Apartados,anclas);\r\n auxFicha.CodTipoRegistro=\"PPF\";\r\n auxFicha.TipoRegistro=\"Producto de parafarmacia\"\r\n setFicha(auxFicha);\r\n setRefresh(1);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaMensajesEmergentes = (miId) => {\r\n BP2022Service.getMensajesEmergentesPPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n miFicha.MensajesEmergentes = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaComposPF = (miId, miIdCPor, miIdFF) => {\r\n BP2022Service.getComposPF(miId,miIdCPor,miIdFF)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Composiciones){\r\n if (response.data.Composiciones.length>0){\r\n AnadeApartado({Titulo: \"Composición\", Ancla:\"COMP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosComposicion = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev + 1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaGruposPF = (miId, miGTATC, nivelGTATC, miGTVMPP) => {\r\n BP2022Service.getGruposPF (miId,miGTATC,nivelGTATC,miGTVMPP)\r\n .then((response) => {\r\n if (ficha != null){\r\n if (response.data.GConNivel1 || response.data.GConNivel2 || response.data.GConNivel3 || response.data.GConNivel4|| response.data.GConNivel5|| response.data.GNomenclator\r\n || ficha.AgrpacionCCAA || ficha.AgrpacionNacional){\r\n var miFicha = ficha;\r\n AnadeApartado({Titulo: \"Productos similares\", Ancla:\"GRUP\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosGrupos = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaTextosPF = (miId) => {\r\n BP2022Service.getTextosPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Epigrafes){\r\n if (response.data.Epigrafes.length>0){\r\n AnadeApartado({Titulo: \"Información farmacológica\", Ancla:\"TEXT\"},miFicha.Apartados,anclas);\r\n for (var i=0; i prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const descargaAdvertenciasPF = (miId) => {\r\n BP2022Service.getAdvertenciasPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Advertencias){\r\n if (response.data.Advertencias.length>0){\r\n AnadeApartado({Titulo: \"Advertencias\", Ancla:\"ADV\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAdvertencias = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n\r\n const descargaDatosConservacionPF = (miId) => {\r\n BP2022Service.getConservacionPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n var l = 0;\r\n if (response.data.DatosConservacion)\r\n l += response.data.DatosConservacion.length;\r\n if (response.data.MensajesConservacion)\r\n l += response.data.MensajesConservacion.length;\r\n if (l>0){\r\n AnadeApartado({Titulo: \"Conservación y periodos de validez\", Ancla:\"CPV\"},miFicha.Apartados,anclas);\r\n miFicha.InfoConservacion = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const descargaHistoricoPF = (miId) => {\r\n if ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") || !seccionesFichaRestringidasEST.includes(\"HIST\")){\r\n BP2022Service.getHistoricoPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Histórico\", Ancla:\"HIST\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosHistorico = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }else{\r\n setRefresh(prev => prev + 1);\r\n }\r\n };\r\n\r\n\r\n const descargaAlertasCalidadPF = (miId) => {\r\n if ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") || !seccionesFichaRestringidasEST.includes(\"HIST\")){\r\n BP2022Service.getAlertasCalidadPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Alertas){\r\n if (response.data.Alertas.length>0){\r\n AnadeApartado({Titulo: \"Alertas de calidad\", Ancla:\"ALER\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosAlertas = response.data;\r\n }\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }else{\r\n setRefresh(prev => prev + 1);\r\n }\r\n };\r\n\r\n\r\n const descargaInformacionAdicionalPF = (miId) => {\r\n if ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") || !seccionesFichaRestringidasEST.includes(\"HIST\")){\r\n BP2022Service.getInformacionAdicionalPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Información adicional\", Ancla:\"DOCS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosInfoAdicional = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }else{\r\n setRefresh(prev => prev + 1);\r\n }\r\n };\r\n\r\n const descargaContenidoPackPF = (miId) => {\r\n if ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") || !seccionesFichaRestringidasEST.includes(\"HIST\")){\r\n BP2022Service.getContenidoPackPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Contenido del pack\", Ancla:\"PACK\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.PackContiene = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }else{\r\n setRefresh(prev => prev + 1);\r\n }\r\n };\r\n\r\n const descargaPacksContenedoresPF = (miId) => {\r\n if ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") || !seccionesFichaRestringidasEST.includes(\"HIST\")){\r\n BP2022Service.getPacksContenedoresPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.length>0){\r\n AnadeApartado({Titulo: \"Packs que lo incluyen\", Ancla:\"ENPACKS\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.PackContenidoEn = response.data;\r\n }\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }else{\r\n setRefresh(prev => prev + 1);\r\n }\r\n };\r\n\r\n const descargaVideosPF = (miId) => {\r\n if ((PerfilUsuario()!=\"EST\" && PerfilUsuario()!=\"INS\") || !seccionesFichaRestringidasEST.includes(\"HIST\")){\r\n BP2022Service.getVideosPF (miId)\r\n .then((response) => {\r\n if (ficha != null){\r\n var miFicha = ficha;\r\n if (response.data.Documentos){\r\n if (response.data.Documentos.length>0){\r\n AnadeApartado({Titulo: \"Vídeos\", Ancla:\"VID\"},miFicha.Apartados,anclas);\r\n //checkAnclas(miFicha.Apartados);\r\n miFicha.DatosVideos = response.data;\r\n }\r\n }\r\n props.descargaHistorial();\r\n setRefresh(prev => prev +1);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }else{\r\n setRefresh(prev => prev + 1);\r\n }\r\n };\r\n\r\n\r\n\r\n /*const checkAnclas = (aptdos) => {\r\n for (var i=0; i ancla.idAncla===idAncla))\r\n {\r\n const anclaNueva = createRef();\r\n anclas.push({idAncla: idAncla, refAncla : anclaNueva});\r\n }\r\n }\r\n }*/\r\n\r\n const modalTitulo = \"\";\r\n const modalContent = (ficha && ficha.InfoPrecio && ficha.InfoPrecio !== '') ? \r\n
    \r\n

    \r\n {ficha.InfoPrecio}\r\n

    \r\n
    \r\n : \r\n
    \r\n ;\r\n\r\n const modalKeyName=\"ModalInfoPrecio\"\r\n const abreEmergenteInfoPrecio = (e) => {\r\n /*e.preventDefault();\r\n AddClassNameToClassItems(modalKeyName, null, 'active');*/\r\n setMuestraEmergentePrecios(true);\r\n }\r\n\r\n const cierraEmergenteInfoPrecio = (e) => {\r\n setMuestraEmergentePrecios(false);\r\n }\r\n \r\n if (ficha !== null) \r\n {\r\n return (\r\n
    \r\n \r\n {(muestraAmpliada) ? \r\n
    \r\n
    \r\n
    clickCierra(e)} style={{cursor: 'pointer'}}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {imagenesHTML}\r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n {(muestraEmergentePrecios) ?\r\n \r\n :\r\n <>\r\n }\r\n \r\n {\r\n (ficha.MensajesEmergentes && ficha.MensajesEmergentes.length>0) ?\r\n \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n else \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default FichaPPF;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Inicio from \"../Inicio/Inicio\";\r\nimport LoadingPopup from \"../Resultados/Loading.Popup\";\r\nimport FichaASO from \"./FichaASO/FichaASO\";\r\nimport FichaEXT from \"./FichaEXT/FichaExt\";\r\nimport FichaFM from \"./FichaFM/FichaFM\";\r\nimport FichaING from \"./FichaING/FichaING\";\r\nimport FichaMUH from './FichaMUH/FichaMUH';\r\nimport FichaMUV from \"./FichaMUV/FichaMUV\";\r\nimport FichaPAH from \"./FichaPA/FichaPAH\";\r\nimport FichaPAV from \"./FichaPA/FichaPAV\";\r\nimport FichaPAT from \"./FichaPAT/FichaPAT\";\r\nimport FichaPPF from \"./FichaPPF/FichaPPF\";\r\n\r\nconst Ficha = (props) => {\r\n const infoPagina = props.infoPagina;\r\n var ficha;\r\n var visitados = JSON.parse(localStorage.getItem(\"visitados\"));\r\n if (!visitados)\r\n visitados = [];\r\n \r\n switch(infoPagina.codigoPagina){\r\n case \"FichaMUH\":\r\n case \"FichaMHO\": \r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaMUV\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaFM\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaPPF\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaPAH\":\r\n case \"FichaPHO\": \r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaPAV\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaASO\":\r\n case \"FichaASOH\":\r\n case \"FichaASOV\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaING\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaPAT\":\r\n case \"FichaPATH\":\r\n case \"FichaPATV\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n case \"FichaEXT\":\r\n ficha = (\r\n \r\n );\r\n break;\r\n }\r\n var tipo = infoPagina.codigoPagina.substring(5);\r\n var id = infoPagina.id;\r\n if (visitados.findIndex(item=> item.tipo===tipo && item.id===id)<0){\r\n visitados.push({tipo: tipo, id: id})\r\n localStorage.setItem(\"visitados\", JSON.stringify(visitados));\r\n }\r\n\r\n return (\r\n
    \r\n {ficha}\r\n
    \r\n );\r\n\r\n};\r\n\r\nexport default Ficha;\r\n","import { getDescripcionTipo } from \"../../../services/utils\";\r\n\r\nconst TituloFormularioBusqueda = (props) => {\r\n const imagen = (props.tipo === \"V\") ?\r\n \"/img/ficha/dog.svg\"\r\n : ((props.tipo===\"PF\")||(props.tipo===\"F\")||(props.tipo===\"P\")) ?\r\n \"/img/ficha/paraf.png\"\r\n : (props.codPagina===\"FBDocumentos\") ?\r\n \"/img/ficha/alertas.svg\"\r\n :\r\n \"/img/ficha/human.svg\";\r\n var textoGen = getDescripcionTipo(props.tipo, props.codPagina);\r\n if ((props.codPagina===\"FBAFMUV\")||(props.codPagina===\"FBEspecieIndicacionMUV\")||(props.codPagina===\"FBActPPF\")||(props.codPagina===\"FBSaborEdadPPF\")||(props.codPagina===\"FBProductosIndicacionPPF\"))\r\n textoGen=\"\";\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n {(textoGen != \"\")?\r\n

    {textoGen}: {props.titulo}

    \r\n :\r\n

    {props.titulo}

    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TituloFormularioBusqueda;\r\n","import MisBuscadoresCabeceraResultados from \"../../Resultados/CabeceraResultados/MisBuscadoresCabeceraResultados\";\r\nimport VolverCabeceraResultados from \"../../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\nimport TituloFormularioBusqueda from \"./TituloFormularioBusqueda\";\r\n\r\nconst CabeceraFormulario = (props) => {\r\n const infoPagina = props.infoPagina;\r\n var tipo = props.tipo;\r\n var titulo = props.titulo;\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n \r\n export default CabeceraFormulario;\r\n ","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../services/utils\";\r\n\r\nfunction SelectorUno(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const valueSelected = propiedades.valueSelected;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = propiedades.lista.map(item => (item.codigo === propiedades.valueSelected ? \r\n \r\n : )\r\n );\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const optionsDisplayed = lista.slice(1).map(item => (\r\n item.codigo===valueSelected ?\r\n \r\n :\r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista) ? props.tipoFiltradoLista : 1;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n var textSelected = '';\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n if (lista)\r\n if (lista.length>0)\r\n textSelected = lista[0].valor;\r\n \r\n for (var item of lista){\r\n if (item.codigo===valueSelected)\r\n textSelected = item.valor;\r\n }\r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagSelected = (valueSelected) ? \r\n {textSelected}\r\n {HTMLImagen}\r\n : ;\r\n \r\n useEffect(() => {\r\n if (!deepEqual(props.lista, propiedades.lista) || (props.valueSelected !== valueSelected)){\r\n setPropiedades({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n }\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n select.value=value;\r\n\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n textSelected = html;\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alCambiar){\r\n props.alCambiar(value);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tvar found = false;\r\n\r\n \tif(search != \"\"){\r\n var labeloptions = container.getElementsByClassName('labeloption');\r\n for (var elemento of labeloptions) {\r\n\t \t\tvar label = elemento;\r\n\t \t\tvar html = remove_accents(label.innerHTML.toLowerCase());\r\n var strlabel = label.getAttribute('data-value').toString();\r\n var bMostrar = false;\r\n var textoDividido = search.split(' ');\r\n if (textoDividido.length === 1){\r\n switch (tipoFiltradoLista){\r\n case 0:\r\n bMostrar = ((html.indexOf(search) === 0));\r\n break;\r\n case 1: \r\n bMostrar = ((html.indexOf(search) === 0) || (html.indexOf(search2)>0));\r\n break;\r\n case 2:\r\n bMostrar = ((html.indexOf(search) === 0) || (strlabel.indexOf(search) === 0));\r\n break;\r\n case 3:\r\n bMostrar = ((html.indexOf(search) === 0) || (strlabel.indexOf(search) === 0) || (html.indexOf(search2)>0));\r\n break;\r\n }\r\n }else{\r\n bMostrar = true;\r\n for(var i=0; i0));\r\n }\r\n }\r\n\t \t\tif(bMostrar){\r\n\t \t\t\tfound = true;\r\n\t\t\t\t\tlabel.classList.remove(\"hide\");\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlabel.classList.add(\"hide\");\r\n\t\t\t\t}\r\n } \r\n \t}\r\n \t\r\n\r\n \tif(found){\r\n AddClassNameToChildClassItems(container,'dropdown',null,'show');\r\n var ddowns = container.getElementsByClassName('ddown');\r\n for (var elemento of ddowns) {\r\n var hijos = elemento.children;\r\n var hijosNiOcultosNiActivos = false;\r\n for (var hijo of hijos){\r\n if (elementIsOfClass('labeloption')){\r\n if (!elementIsOfClass('hide') && !elementIsOfClass('active')){\r\n hijosNiOcultosNiActivos = true;\r\n }\r\n }\r\n }\r\n if (!hijosNiOcultosNiActivos){\r\n elemento.classList.remove('show');\r\n }\r\n }\r\n \t}else{\r\n container.classList.remove('active');\r\n //RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n \t}\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n var offset = 160;\r\n\r\n if (keyCode === 27){\r\n ddown.classList.remove('show');\r\n input.value = '';\r\n }\r\n\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n if (props.alBorrar){\r\n props.alBorrar(value);\r\n }\r\n \r\n }\r\n\r\n\r\n return (\r\n
    \r\n

    {props.titulo}

    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n {textSelected}\r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {HTMLTagSelected}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorUno;\r\n\r\n","const ResumenBusqueda = (props) => {\r\n const condiciones = props.condiciones;\r\n const HTMLCondicionesBusqueda = (condiciones && condiciones.length>0) ?\r\n condiciones.map(cond => \r\n (cond.valor && cond.valor !== \"\") ? \r\n
    \r\n {(cond.titulo && cond.titulo !== '')?\r\n

    {cond.titulo}:

    \r\n :\r\n \r\n }\r\n

    {cond.valor}

    \r\n
    \r\n :\r\n
    \r\n

    {cond.titulo}

    \r\n
    \r\n )\r\n :\r\n
    \r\n \r\n\r\n return(\r\n
    \r\n {(condiciones && condiciones.length>0) ?\r\n
    \r\n
    \r\n

    Mi búsqueda:

    \r\n
    \r\n
    \r\n {HTMLCondicionesBusqueda}\r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default ResumenBusqueda;","import { useEffect, useState } from \"react\";\r\nimport ReactDatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker3.css\";\r\nimport { registerLocale, setDefaultLocale } from \"react-datepicker\";\r\nimport es from 'date-fns/locale/es';\r\nimport MaskedInput from 'react-text-mask'\r\nimport { createAutoCorrectedDatePipe } from \"text-mask-addons\";\r\n\r\nfunction SelectorFechas(props){\r\n const [seleccion, setSeleccion] = useState({\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n });\r\n const inicio = seleccion.inicio;\r\n const fin = seleccion.fin;\r\n const id = props.idHMTL\r\n const idDesde = id + \"_Desde\";\r\n const idHasta = id + \"_Hasta\";\r\n\r\n \r\n useEffect(() => {\r\n setSeleccion({\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n })\r\n \r\n }, [props.inicio, props.fin]);\r\n\r\n const cambioInicio = (date) =>{\r\n /*var ts = Math.round(date.getTime()/1000);\r\n var newdate = new Date(parseInt(ts)*1000);*/\r\n cambiaSeleccion(date, seleccion.fin);\r\n }\r\n\r\n const cambioFin = (date) =>{\r\n /*var ts = Math.round(date.getTime()/1000);\r\n var newdate = new Date(parseInt(ts)*1000);*/\r\n cambiaSeleccion(seleccion.inicio, date);\r\n }\r\n\r\n const cambiaSeleccion = (inicio, fin) =>{\r\n props.alCambiar(inicio, fin); \r\n }\r\n\r\n const keyDateDown = (e) =>{\r\n var txt = e.target.value;\r\n var key = e.keyCode || e.charCode;\r\n if (key !== 8 && key !== 46){\r\n if (/^[0-3][0-9]$/.test(txt)){\r\n e.target.value = txt + \"/\";\r\n }\r\n if (/^[0-3][0-9]\\/[0-1][0-9]$/.test(txt)){\r\n e.target.value = txt + \"/\";\r\n }\r\n if (key === 111 || key === 55){\r\n if (/^[0-9]\\/$/.test(txt)){\r\n e.target.value = \"0\" + txt;\r\n }\r\n if (/^[0-3][0-9]\\/[0-9]\\/$/.test(txt)){\r\n e.target.value = txt.substring(0,3) + \"0\" + txt.substring(3);\r\n }\r\n e.target.value = e.target.value.replace(\"//\",\"/\");\r\n }\r\n }\r\n }\r\n\r\n const estiloTitulo = (props.estiloTitulo ? props.estiloTitulo : {})\r\n\r\n registerLocale('es', es)\r\n\r\n const autoCorrectedDatePipe = createAutoCorrectedDatePipe('dd/mm/yyyy')\r\n\r\n const estilosubtitulos = {\r\n fontFace : 'Flama, sans-serif',\r\n marginTop : '-5px',\r\n marginBottom : '5px',\r\n fontSize : '14px',\r\n fontWeight : '300',\r\n };\r\n\r\n\r\n const subtitulodesde = (props.subtitulodesde) ? \r\n

    {props.subtitulodesde}

    : <> ;\r\n const subtitulohasta = (props.subtitulohasta) ? \r\n

    {props.subtitulohasta}

    : <> ;\r\n\r\n\r\n return (\r\n
    \r\n

    {props.titulo}

    \r\n
    \r\n
    \r\n {subtitulodesde}\r\n cambioInicio(date)}\r\n className=\"hasDatepicker\"\r\n dateFormat=\"dd/MM/yyyy\"\r\n placeholderText=\"dd/mm/aaaa\"\r\n id = {idDesde}\r\n customInput = {keyDateDown(e)}/>}\r\n /*customInput={\r\n }*/\r\n />\r\n
    \r\n
    \r\n {subtitulohasta}\r\n cambioFin(date)}\r\n className=\"hasDatepicker\"\r\n dateFormat=\"dd/MM/yyyy\"\r\n placeholderText=\"dd/mm/aaaa\"\r\n id = {idHasta}\r\n customInput = {keyDateDown(e)}/>}\r\n /*customInput={\r\n }*/\r\n />\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default SelectorFechas;\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../services/utils\";\r\n\r\nfunction SelectorUno2(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n const valueSelected = propiedades.valueSelected;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = propiedades.lista.map(item => (item.codigo === propiedades.valueSelected ? \r\n \r\n : )\r\n );\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const maxLengthNormal = (props.maxLengthNormal ? props.maxLengthNormal : 40);\r\n const estiloPetit = {fontSize:'12px', textTransform: 'none', whiteSpace: 'normal'};\r\n const estiloNormal = {textTransform: 'none', whiteSpace: 'normal'};\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n \r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 1;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n var textSelected = '';\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n\r\n if (lista)\r\n if (lista.length>0)\r\n textSelected = lista[0].valor;\r\n \r\n for (var item of lista){\r\n if (item.codigo===valueSelected)\r\n textSelected = item.valor;\r\n }\r\n \r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagSelected = (valueSelected) ? \r\n {textSelected}\r\n {HTMLImagen}\r\n : ;\r\n \r\n useEffect(() => {\r\n //if (!deepEqual(props.lista, propiedades.lista) || (props.valueSelected !== valueSelected)){\r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valueSelected: props.valueSelected,\r\n })\r\n //}\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alCambiar){\r\n props.alCambiar(value);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(' ');\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 10:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) >= 0)));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n \t}else{\r\n setListaVisible([]);\r\n }\r\n\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n var offset = 160;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n setListaVisible([]);\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n if (props.alBorrar){\r\n props.alBorrar(value);\r\n }\r\n \r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {HTMLTagSelected}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorUno2;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\n\r\nconst FBAlertasCalidad= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaLab: null,\r\n listaPA: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n txtLote: props.txtLote,\r\n idLab: props.idLab,\r\n idPA: props.idPA,\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n })\r\n\r\n const tituloPA = (props.tipo === \"F\" ? \"Ingrediente\" : \"Principio activo\")\r\n const placeholderNombre = (props.tipo === \"F\" ? \"Escribe nombre producto\" : \"Escribe nombre medicamento\")\r\n\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPA === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioAlertasCalidad(props.tipo)\r\n .then((response) => {\r\n var df = {\r\n listaPA : response.data.PrincipiosActivos,\r\n listaLab : response.data.Laboratorios, \r\n };\r\n df.listaLab.splice(0,0,{Codigo:0, Valor:'Indique un laboratorio'});\r\n df.listaPA.splice(0,0,{Codigo:0, Valor:'Indique un ' + tituloPA.toLowerCase()});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n if (seleccionFormulario.txtLote && seleccionFormulario.txtLote != \"\"){\r\n res.push ({titulo: 'Número de lote contiene', valor: seleccionFormulario.txtLote});\r\n }\r\n\r\n if (seleccionFormulario.idLab>0){\r\n if (datosFormulario.listaLab){\r\n var item = datosFormulario.listaLab.find(x => x.Codigo === seleccionFormulario.idLab);\r\n if (item)\r\n res.push ({titulo: \"Laboratorio\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.idPA>0){\r\n if (datosFormulario.listaPA){\r\n var item = datosFormulario.listaPA.find(x => x.Codigo === seleccionFormulario.idPA);\r\n if (item)\r\n res.push ({titulo: \"Principio activo\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.inicio){\r\n if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha de la alerta\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de la alerta\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio)});\r\n }\r\n }else if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha de la alerta\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }\r\n\r\n \r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const busqueda = (props.tipo === \"F\" ? \"BAlertasCPPF\" : props.tipo === \"V\" ? \"BAlertasCMUV\" : \"BAlertasCMUH\")\r\n\r\n const hayBusqueda = true;\r\n\r\n const clickBuscar = (e) =>{\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n txt: seleccionFormulario.txt,\r\n txtLote: seleccionFormulario.txtLote,\r\n idLab: seleccionFormulario.idLab,\r\n idPA: seleccionFormulario.idPA,\r\n inicio: seleccionFormulario.inicio,\r\n fin: seleccionFormulario.fin,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n txt: '',\r\n txtLote: '',\r\n idLab: 0,\r\n idPA: 0,\r\n inicio: null,\r\n fin: null,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fin = origen.fin;\r\n destino.inicio = origen.inicio;\r\n }\r\n\r\n const CambioFecha= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.inicio = inicio;\r\n nuevaSeleccion.fin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idLab = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLaboratorio = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idLab = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n const CambioPA = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idPA = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraPA = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idPA = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const CambiaTxtLote = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.txtLote = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n const listaCodValorLab = (datosFormulario.listaLab) ? datosFormulario.listaLab.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPA = (datosFormulario.listaPA) ? datosFormulario.listaPA.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50 \" ;\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbol === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)}/ >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Número de lote

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxtLote(e)}/ >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Laboratorio

    \r\n \r\n
    \r\n
    \r\n

    {tituloPA}

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBAlertasCalidad;\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../../services/utils\";\r\nimport BP2022Service from \"../../../../services/user.service\"; \r\nimport ItemMenuIconos from \"../../../Cabecera/MenuIconos/ItemMenuIconos\";\r\n\r\nfunction SelectorComposicion(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n const valuesSelected = (propiedades.valuesSelected) ? propiedades.valuesSelected : [] ;\r\n const [infoComponentes, setInfoComponentes] = useState([]) ;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = listavisible.map(item => (\r\n valuesSelected.includes(item.codiog) ? \r\n \r\n : )\r\n );\r\n const [currentComponente, setCurrentComponente] = useState(0);\r\n const [negado, setNegado] = useState(false);\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n valuesSelected.includes(item.codiog) ?\r\n \r\n :\r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 1;\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n var itemsSelected = [];\r\n\r\n for (var vs of valuesSelected){\r\n var item = lista.find(vsitem=> vsitem.codigo === Math.abs(vs.codigo));\r\n var infoComponente = infoComponentes.find(info=> info.Codigo === Math.abs(vs.codigo));\r\n if (item){\r\n if (infoComponente){\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, sales: vs.sales, cants: vs.cants, salesPosibles : infoComponente.Sales, cantsPosibles : infoComponente.Cantidades, negado : (vs.codigo<0)});\r\n }else{\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, sales: vs.sales, cants: vs.cants, salesPosibles : [], cantsPosibles : [], negado : (vs.codigo<0)});\r\n }\r\n \r\n }\r\n }\r\n\r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagsSelected = itemsSelected.map(item => \r\n SeleccionaItem(e) } >\r\n {item.negado ? \"NO \" : \"\"}\r\n {item.valor}\r\n {HTMLImagen}\r\n {(item.sales) && (item.sales.length>1) ? \r\n \r\n varias sales\r\n \r\n \r\n :(item.sales) && (item.sales.length===1) ?\r\n \r\n {item.sales[0].valor}\r\n \r\n \r\n :\r\n \r\n }\r\n {(item.cants) && (item.cants.length>1) ? \r\n \r\n varias cantidades\r\n \r\n \r\n :(item.cants) && (item.cants.length===1) ?\r\n \r\n {item.cants[0].des}\r\n \r\n \r\n :\r\n \r\n }\r\n \r\n );\r\n const HTMLTags = ((itemsSelected && itemsSelected.length>0) ?\r\n
    \r\n
    \r\n {HTMLTagsSelected}\r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const currentItemSelected = itemsSelected.find(item=> (item.codigo === currentComponente));\r\n\r\n const ClickNegado = (e) =>{\r\n if (currentComponente){\r\n props.alUpdatePA(currentComponente,e.target.checked);\r\n }\r\n setNegado(e.target.checked);\r\n }\r\n\r\n\r\n const HTMLSalesYCantidades = (((currentComponente>0) && (currentItemSelected) \r\n /*&& (((currentItemSelected.salesPosibles) && (currentItemSelected.salesPosibles.length>0)) \r\n || ((currentItemSelected.cantsPosibles) && (currentItemSelected.cantsPosibles.length>0)))*/) ? \r\n
    \r\n

    {currentItemSelected.valor}

    \r\n {(!props.ocultaNegado) ?\r\n
    \r\n \r\n
    \r\n :\r\n <>\r\n }\r\n { ((currentItemSelected.cantsPosibles) && (currentItemSelected.cantsPosibles.length>0) && !negado) ?\r\n
    \r\n
    clickEnCabeceraSC(e)}>\r\n
    Cantidad
    \r\n
    \r\n
    \r\n { currentItemSelected.cantsPosibles.map(cp =>\r\n (currentItemSelected.cants.find(cs => (cs.cant === cp.Cant && cs.cod === cp.Cod)) ?\r\n \r\n :\r\n \r\n ))\r\n }\r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n { ((currentItemSelected.salesPosibles) && (currentItemSelected.salesPosibles.length>0) && !negado) ?\r\n
    \r\n
    clickEnCabeceraSC(e)}>\r\n
    Sal
    \r\n
    \r\n
    \r\n { currentItemSelected.salesPosibles.map(sp =>\r\n (currentItemSelected.sales.find(ss => (ss.codigo === sp.Codigo)) ?\r\n \r\n :\r\n \r\n ))\r\n }\r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n :\r\n
    \r\n
    \r\n );\r\n \r\n \r\n useEffect(() => {\r\n \r\n if (!propiedades.lista || !valuesSelected || !deepEqual(props.lista, propiedades.lista) || !deepEqual(props.valuesSelected, valuesSelected ) ) {\r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n DescargaInfoValuesSelected();\r\n }\r\n if (props.valuesSelected && props.valuesSelected.length>0 && (!infoComponentes || infoComponentes.length==0)){\r\n DescargaInfoValuesSelected();\r\n }\r\n }, [props.lista, props.valuesSelected]);\r\n\r\n const clickEnCabeceraSC= (e) =>{\r\n var item = e.target;\r\n var parent = GetAntecesorWhithClassName(item,'custom-select-container');\r\n parent.classList.toggle('active');\r\n }\r\n\r\n const DescargaInfoValuesSelected = () =>{\r\n var listaCodigos = props.valuesSelected.map(item => item.codigo);\r\n \r\n if (listaCodigos.length>0){\r\n BP2022Service.descargaListaInfoSalesYCantidades(listaCodigos,props.tipo)\r\n .then((response) => {\r\n var descarga = response.data;\r\n if (descarga){\r\n for (var i=0; i Math.abs(item.codigo) === itemdescarga.Codigo);\r\n if (itemvs.sales){\r\n for (var j=0; j item.Codigo === salvs.codigo);\r\n if (saldescarga){\r\n salvs.valor = saldescarga.Valor.toLowerCase();\r\n }\r\n }\r\n }\r\n if (itemvs.cants){\r\n for (var j=0; j item.Cant === cantvs.cant && item.Cod === cantvs.cod);\r\n if (cantdescarga){\r\n cantvs.des = cantdescarga.Des.toLowerCase();\r\n }\r\n }\r\n }\r\n }\r\n setInfoComponentes(descarga);\r\n props.alCambiarPASolo(props.pasolo);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n }); \r\n }\r\n }\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alAnadirPA){\r\n props.alAnadirPA(value);\r\n setCurrentComponente(value);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(' ');\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 4:\r\n nuevalista = nuevalista.filter(item => (remove_accents(item.valor.toLowerCase()).indexOf(search1) >= 0));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n }else{\r\n setListaVisible([]);\r\n }\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n ddown.classList.remove('show');\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n var negado = tag.getAttribute(\"data-negado\")===\"S\";\r\n if (value === currentComponente)\r\n setCurrentComponente(0);\r\n setNegado(false);\r\n if (props.alBorrarPA){\r\n if (negado)\r\n props.alBorrarPA(parseInt(value));\r\n else\r\n props.alBorrarPA(parseInt(value)*(-1));\r\n }\r\n \r\n }\r\n\r\n const SeleccionaItem = (e) =>{\r\n var img = e.target;\r\n if (!img.classList.contains('imagenTagEliminar')){\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n var negado = tag.getAttribute(\"data-negado\")===\"S\";\r\n setCurrentComponente(parseInt(value));\r\n setNegado(negado);\r\n }\r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n //const strComponente = (props.pf ? \"ingredientes\" : \"principios activos\");\r\n const strComponente = props.nombreComponentes.toLowerCase();\r\n\r\n const opcionesComposHTML = ((props.muestraChecks) ?\r\n ((props.pasolo)?\r\n
    \r\n \r\n \r\n
    \r\n :\r\n
    \r\n \r\n \r\n
    \r\n )\r\n :
    \r\n );\r\n\r\n return (\r\n
    \r\n

    {props.titulo}

    \r\n
    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n {opcionesComposHTML}\r\n
    \r\n {HTMLTags}\r\n {HTMLSalesYCantidades}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorComposicion;\r\n\r\n/*\r\n
    \r\n \r\n
    \r\n
    Cantidad
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Sal
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n*/","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../services/utils\";\r\n\r\nfunction SelectorMulti2(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n //const [textoInput, setTextoInput] = '';\r\n const valuesSelected = (propiedades.valuesSelected) ? propiedades.valuesSelected : [] ;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = listavisible.map(item => (\r\n valuesSelected.includes(item.codigo) ? \r\n \r\n : )\r\n );\r\n const [inputText, setInputText] = useState(null);\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n //const estilolabel = (props.small ? {fontSize:'12px'} : {} ) ;\r\n\r\n const maxLengthNormal = (props.maxLengthNormal ? props.maxLengthNormal : 44);\r\n const estiloPetit = {fontSize:'12px', textTransform: 'none', whiteSpace: 'normal'};\r\n const estiloNormal = {textTransform: 'none', whiteSpace: 'normal'};\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n \r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 1;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n var itemsSelected = [];\r\n \r\n for (var item of lista){\r\n if (valuesSelected.includes(item.codigo))\r\n itemsSelected.push(item);\r\n }\r\n\r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagsSelected = itemsSelected.map(item => \r\n \r\n {item.valor}\r\n \"eliminar\" props.alBorrar(item.codigo) } />\r\n );\r\n \r\n useEffect(() => {\r\n if (!deepEqual(props.lista, propiedades.lista) || (props.valuesSelected !== valuesSelected)){ \r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n }\r\n if (inputText)\r\n FiltraOpciones(null,inputText.value);\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alAnadir){\r\n props.alAnadir(value);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n if (props.alCambiarTexto)\r\n props.alCambiarTexto(texto);\r\n if (!inputText) setInputText(input);\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(' ');\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toString().toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 4:\r\n nuevalista = nuevalista.filter(item => (remove_accents(item.valor.toLowerCase()).indexOf(search1) >= 0));\r\n break;\r\n case 5:\r\n nuevalista = nuevalista.filter(item => ((item.valor && remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) \r\n || (item.codigo2 && item.codigo2.toString().toLowerCase().indexOf(search1) === 0) \r\n || (item.valor && remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)\r\n ));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n \t}else{\r\n setListaVisible([]);\r\n }\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n var offset = 160;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n setListaVisible([]);\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n if (props.alBorrar){\r\n props.alBorrar(value);\r\n }\r\n \r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n var classInputName=\"inputSelector\"\r\n if (props.estrecho)\r\n classInputName += \" estrecho\";\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)} onpaste={(e) => KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {(!props.ocultaTags) ?\r\n
    \r\n {HTMLTagsSelected}\r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorMulti2;\r\n\r\n","\r\n\r\nfunction SelectorCHK(props){\r\n const valoresCHK = props.valoresCHK;\r\n const opcionesCHK = props.opcionesCHK;\r\n const titulo = props.titulo;\r\n const idOrigen = props.idOrigen;\r\n\r\n const cambiaCheck= (e, valor) =>{\r\n var check = e.target;\r\n var idx = valoresCHK.indexOf(valor);\r\n if (check.checked){\r\n if (idx<0) valoresCHK.push(valor);\r\n }else{\r\n if(idx>=0) valoresCHK.splice(idx,1);\r\n }\r\n \r\n props.alCambiar(valoresCHK,idOrigen);\r\n }\r\n\r\n const HTMLChecks = opcionesCHK.map(opt => \r\n \r\n );\r\n\r\n return (\r\n
    \r\n

    {titulo}

    \r\n
    \r\n {HTMLChecks}\r\n
    \r\n {(props.pie) ?\r\n props.pie\r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default SelectorCHK;\r\n","import { useEffect, useState } from \"react\";\r\n\r\nfunction SelectorSNX(props){\r\n const [valorSNX, setValorSNX] = useState(props.valorSNX);\r\n const idChkAct = props.idHTML+'__Act';\r\n const idChkSN = props.idHTML+'__SN';\r\n const txtS = (props.txtS ? props.txtS : 'Sí');\r\n const txtN = (props.txtN ? props.txtN : 'No');\r\n const titulo = props.titulo;\r\n const idOrigen = props.idOrigen;\r\n\r\n const checkedChkAct = (valorSNX === \"X\" ? false : true);\r\n const checkedChkSN = (valorSNX === \"N\" ? false : true);\r\n\r\n\r\n useEffect(() => {\r\n setValorSNX(props.valorSNX); \r\n }, [props.valorSNX]);\r\n\r\n const calculaSNX = (act, SN) =>{\r\n var valor='X';\r\n if (act){\r\n if (SN){\r\n valor = 'S'\r\n }else{\r\n valor = 'N'\r\n }\r\n }\r\n return valor;\r\n }\r\n\r\n const cambiaCheckActivo = (e) =>{\r\n var checkAct = e.target;\r\n var checkSN = document.getElementById(idChkSN);\r\n var valor = calculaSNX(checkAct.checked, checkSN.checked);\r\n cambiaSeleccion(valor);\r\n }\r\n\r\n const cambiaCheckSN = (e) =>{\r\n var checkSN = e.target;\r\n var checkAct = document.getElementById(idChkAct);\r\n var valor = calculaSNX(checkAct.checked, checkSN.checked);\r\n cambiaSeleccion(valor);\r\n }\r\n\r\n const cambiaSeleccion = (valor) =>{\r\n setValorSNX(valor);\r\n props.alCambiar(valor,idOrigen);\r\n }\r\n\r\n const estiloDiv = (props.estiloDiv ? props.estiloDiv : {})\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n cambiaCheckSN(e)} style={{cursor:'pointer'}}/>\r\n\r\n \r\n
    \r\n
    \r\n )\r\n}\r\nexport default SelectorSNX;\r\n","import { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport Selector from \"../Selector\";\r\nimport SelectorComboBox from \"../SelectorComboBox\";\r\n\r\nfunction SelectorEdad(props){\r\n const [seleccion, setSeleccion] = useState({\r\n edad: props.edad,\r\n unidad: props.unidad,\r\n });\r\n const edad = seleccion.edad;\r\n\r\n \r\n useEffect(() => {\r\n setSeleccion({\r\n edad: props.edad,\r\n unidad: props.unidad,\r\n })\r\n \r\n }, [props.edad, props.unidad]);\r\n\r\n const cambioEdad = (e) =>{\r\n var item = e.target\r\n var value = item.value;\r\n var ivalue = parseInt(value);\r\n cambiaSeleccion(ivalue, seleccion.unidad);\r\n }\r\n\r\n const cambioUnidad = (newunidad) =>{\r\n cambiaSeleccion(seleccion.edad, newunidad)\r\n }\r\n\r\n const cambiaSeleccion = (edad, unidad) =>{\r\n props.alCambiar(edad, unidad);\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n 0 ? seleccion.edad : ''} \r\n name=\"\" min=\"0\" max=\"100\" \r\n className = \"input__sel__num\"\r\n onChange={(e) => cambioEdad(e)}/>\r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default SelectorEdad;\r\n/*\r\n
    \r\n \r\n \r\n
    \r\n*/","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../../services/utils\";\r\n\r\nfunction SelectorEnfRel(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n const valuesSelected = (propiedades.valuesSelected) ? propiedades.valuesSelected : [] ;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = listavisible.map(item => (\r\n valuesSelected.includes(item.codigo) ? \r\n \r\n : )\r\n );\r\n const [epigrafe, setEpigrafe] = useState(3);\r\n const [currentEnf, setCurrentEnf] = useState(0);\r\n const [negado, setNegado] = useState(false);\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n valuesSelected.includes(item.codiog) ?\r\n \r\n :\r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 1;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n var itemsSelected = [];\r\n\r\n/* \r\n for (var item of lista){\r\n var vs = valuesSelected.find(vsitem=> vsitem.codigo === item.codigo);\r\n if (vs){\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, epi: vs.epi});\r\n }\r\n }\r\n*/\r\n for (var vs of valuesSelected){\r\n var item = lista.find(vsitem=> vsitem.codigo === vs.codigo);\r\n if (item){\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, epi: Math.abs(vs.epi), negado: (vs.epi<0)});\r\n }\r\n }\r\n\r\n\r\n const EpigrafeByCod = (epi) =>{\r\n var res = '';\r\n switch (epi){\r\n case 3:\r\n res = 'Indicado';\r\n break;\r\n case 7:\r\n res = 'Reacción adversa';\r\n break;\r\n case 13:\r\n res = 'Contraindicado';\r\n break;\r\n case 14:\r\n res = 'Precaución';\r\n break;\r\n }\r\n return res;\r\n }\r\n\r\n\r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagsSelected = itemsSelected.map(item => \r\n SeleccionaItem(e) } >\r\n {item.valor}\r\n {HTMLImagen}\r\n \r\n \r\n {item.negado ? NO : <>}\r\n {EpigrafeByCod(item.epi)}\r\n \r\n \r\n \r\n );\r\n \r\n useEffect(() => {\r\n /*var setValores = false;\r\n setValores = ((!propiedades.lista) || (!valuesSelected))\r\n if (!setValores)\r\n setValores = */\r\n \r\n if (!propiedades.lista || !valuesSelected || !deepEqual(props.lista, propiedades.lista) || !deepEqual(props.valuesSelected, valuesSelected)){\r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n }\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n const ClickEpigrafe = (e) =>{\r\n var check = e.target;\r\n var value = parseInt(check.value);\r\n if (check.checked){\r\n if (currentEnf>0){\r\n if (!negado)\r\n props.alUpdate(currentEnf, value);\r\n else\r\n props.alUpdate(currentEnf, (-1) * value);\r\n }\r\n setEpigrafe(value);\r\n } \r\n }\r\n\r\n const ClickNegado = (e) =>{\r\n var check = e.target;\r\n var value = check.checked;\r\n if (currentEnf>0){\r\n if (!value)\r\n props.alUpdate(currentEnf, epigrafe);\r\n else\r\n props.alUpdate(currentEnf, (-1) * epigrafe);\r\n }\r\n setNegado(value);\r\n }\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alUpdate){\r\n if (!negado)\r\n props.alUpdate(value,epigrafe);\r\n else\r\n props.alUpdate(value, (-1) * epigrafe);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(' ');\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n }else{\r\n setListaVisible([]);\r\n }\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n ddown.classList.remove('show');\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n /*while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }*/\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n /*while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }*/\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n setCurrentEnf(0);\r\n if (props.alBorrar){\r\n props.alBorrar(parseInt(value));\r\n }\r\n \r\n }\r\n\r\n const SeleccionaItem = (e) =>{\r\n var img = e.target;\r\n if (!img.classList.contains('imagenTagEliminar')){\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n var itemepi = GetSucesorWhithClassName(tag,'row-subfield');\r\n var codEpi = parseInt(itemepi.getAttribute('data-epi'));\r\n var esNegado = (itemepi.getAttribute('data-negado')==='S');\r\n setCurrentEnf(parseInt(value));\r\n setEpigrafe(codEpi);\r\n setNegado(esNegado);\r\n }\r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {HTMLTagsSelected}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorEnfRel;\r\n\r\n","function ItemResumenFiltros(props){\r\n const item = props.item;\r\n return (\r\n \r\n {item.descripcion}\r\n \"eliminar\" props.borraFiltro(item.idFiltro, item.valor)} />\r\n \r\n );\r\n}\r\n\r\nexport default ItemResumenFiltros;\r\n","import { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\n\r\n\r\nfunction SelectorNumero(props){\r\n const [num, setNum] = useState(props.num);\r\n //const [txt, setTxt] = useState('');\r\n //const soloEnteros = props.soloEnteros;\r\n const valorVacio = props.valorVacio;\r\n const sufijo = props.sufijo;\r\n const numNull = (num ===null || num == undefined);\r\n var pulsaPunto=false;\r\n\r\n \r\n useEffect(() => {\r\n setNum(props.num)\r\n }, [props.num]);\r\n\r\n const cambioNum = (e) =>{\r\n var item = e.target\r\n var value = item.value;\r\n if (!pulsaPunto){\r\n setNum(value);\r\n var ivalue = parseFloat(value.replace(',','.'));\r\n props.alCambiar(ivalue);\r\n }\r\n }\r\n\r\n const checkDot= (e) =>{\r\n var keyCode = e.keyCode;\r\n if ((keyCode===110)||(keyCode===190)){\r\n e.stopPropagation();\r\n e.preventDefault();\r\n pulsaPunto=true;\r\n }else{\r\n pulsaPunto=false;\r\n }\r\n }\r\n\r\n const titulo = (props.titulo === \" \" ?   : props.titulo);\r\n\r\n const HTMLSufijo = (props.sufijo) ?\r\n {sufijo}:\r\n <>;\r\n \r\n\r\n \r\n\r\n return (\r\n
    \r\n

    {titulo}

    \r\n
    \r\n cambioNum(e)}\r\n className = \"input__sel__num\"\r\n onKeyDown={(e) => checkDot(e)}\r\n /*onKeyUp={(e) => checkDot(e)}\r\n onKeypress={(e) => checkDot(e)} */\r\n /> \r\n {HTMLSufijo}\r\n
    \r\n
    \r\n )\r\n}\r\nexport default SelectorNumero;\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../services/utils\";\r\n\r\nfunction SelectorMulti2No(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n currentValue: null,\r\n negado: false,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n const valuesSelected = (propiedades.valuesSelected) ? propiedades.valuesSelected : [] ;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = listavisible.map(item => (\r\n valuesSelected.includes(item.codigo) ? \r\n \r\n : )\r\n );\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n //const estilolabel = (props.small ? {fontSize:'12px'} : {} ) ;\r\n\r\n const maxLengthNormal = (props.maxLengthNormal ? props.maxLengthNormal : 44);\r\n const estiloPetit = {fontSize:'12px', textTransform: 'none', whiteSpace: 'normal'};\r\n const estiloNormal = {textTransform: 'none', whiteSpace: 'normal'};\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n \r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 5;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n var itemsSelected = [];\r\n \r\n for (var item of lista){\r\n if (valuesSelected.includes(item.codigo))\r\n itemsSelected.push(item);\r\n if (valuesSelected.includes(item.codigo * -1))\r\n itemsSelected.push({codigo : item.codigo * -1, valor : 'NO ' + item.valor});\r\n }\r\n\r\n //const itemsSelected = lista.filter(item => valuesSelected.includes(item.codigo));\r\n \r\n // style = {(item.codigo<0) ? {backgroundColor:'#FFE3DF', borderColor: '#EBA7B9'} : {backgroundColor:'#E3EADC', borderColor: '#7EB04B'}}\r\n\r\n const HTMLTagsSelected = itemsSelected.map(item => \r\n ClickTag(item.codigo)}>\r\n {item.valor}\r\n \"eliminar\" props.alBorrar(item.codigo) } />\r\n );\r\n \r\n useEffect(() => {\r\n if (!deepEqual(props.lista, propiedades.lista) || (props.valuesSelected !== valuesSelected)){\r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n }\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickTag = (codigo) =>{\r\n const nuevaProps = JSON.parse(JSON.stringify(propiedades));\r\n nuevaProps.negado = (codigo<0);\r\n nuevaProps.currentValue = codigo;\r\n setPropiedades(nuevaProps);\r\n }\r\n\r\n const AddItem = (codigo) =>{\r\n if (props.alAnadir){\r\n if (propiedades.negado){\r\n props.alAnadir(codigo * -1);\r\n }else{\r\n props.alAnadir(codigo);\r\n }\r\n }\r\n }\r\n\r\n const ClickNegado = (e) =>{\r\n const nuevaProps = JSON.parse(JSON.stringify(propiedades));\r\n nuevaProps.negado = !propiedades.negado;\r\n if (nuevaProps.currentValue && nuevaProps.currentValue !== 0 && props.alNegar)\r\n props.alNegar(nuevaProps.currentValue);\r\n else\r\n setPropiedades(nuevaProps);\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n AddItem(parseInt(value)); \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(/[\\s\\/\\\\\\[\\]\\(\\)\\{\\},;:.\\-\\+\\*=?¿¡!%$€&@\\'\\\"']+/);\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 4:\r\n nuevalista = nuevalista.filter(item => (remove_accents(item.valor.toLowerCase()).indexOf(search1) >= 0));\r\n break;\r\n case 5:\r\n nuevalista = nuevalista.filter(item => item.valor.split(/[\\s\\/\\\\\\[\\]\\(\\)\\{\\},;:.\\-\\+\\*=?¿¡!%$€&@\\'\\\"']+/).find(pal => remove_accents(pal.toLowerCase()).indexOf(search1)===0));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n \t}else{\r\n setListaVisible([]);\r\n }\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n var offset = 160;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n setListaVisible([]);\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem,offset);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n if (props.alBorrar){\r\n props.alBorrar(value);\r\n }\r\n \r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n var classInputName=\"inputSelector\"\r\n if (props.estrecho)\r\n classInputName += \" estrecho\";\r\n\r\n return (\r\n
    \r\n
    \r\n

    {props.titulo}

    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {(!props.ocultaTags) ?\r\n
    \r\n {HTMLTagsSelected}\r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorMulti2No;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport { AddClassNameToChildClassItems, buscaOptionEnSelectByValue, createElementFromHTML\r\n , deepEqual, elementIsOfClass, ExistsClassNameChildClassItems, GetAntecesorWhithClassName\r\n , GetLastSucesorWhithClassName, getSelectValues, GetSucesorWhithClassName\r\n , primerHijoConClase, RemoveClassNameToChildClassItems, scrollSiNoVisible } from \"../../../../services/utils\";\r\n\r\nfunction SelectorAnaRel(props){\r\n const [propiedades, setPropiedades] = useState({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n const lista = propiedades.lista;\r\n const [listavisible, setListaVisible] = useState([]) ;\r\n const valuesSelected = (propiedades.valuesSelected) ? propiedades.valuesSelected : [] ;\r\n const idHTML = props.idHTML; \r\n const optionsHTML = listavisible.map(item => (\r\n valuesSelected.includes(item.codigo) ? \r\n \r\n : )\r\n );\r\n const [epigrafe, setEpigrafe] = useState(99);\r\n const [currentEnf, setCurrentEnf] = useState(0);\r\n const [negado, setNegado] = useState(false);\r\n\r\n const estiloModuleSelect = (props.ancho ? {width: props.ancho} : {});\r\n\r\n const optionsDisplayed = listavisible.map(item => (\r\n valuesSelected.includes(item.codiog) ?\r\n \r\n :\r\n ));\r\n\r\n const tipoFiltradoLista = (props.tipoFiltradoLista>=0) ? props.tipoFiltradoLista : 1;\r\n\r\n const clasesCoverSelect = (props.disabled ? \"cover cover__select cover__select cover__select__border disabled\" : \"cover cover__select cover__select cover__select__border\");\r\n\r\n\r\n const textPlaceholder = (lista && lista.length>0) ? lista[0].valor : '';\r\n\r\n var itemsSelected = [];\r\n\r\n/* \r\n for (var item of lista){\r\n var vs = valuesSelected.find(vsitem=> vsitem.codigo === item.codigo);\r\n if (vs){\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, epi: vs.epi});\r\n }\r\n }\r\n*/\r\n for (var vs of valuesSelected){\r\n var item = lista.find(vsitem=> vsitem.codigo === vs.codigo);\r\n if (item){\r\n itemsSelected.push({codigo: item.codigo, valor: item.valor, epi: Math.abs(vs.epi), negado: (vs.epi<0)});\r\n }\r\n }\r\n\r\n\r\n const EpigrafeByCod = (epi) =>{\r\n var res = '';\r\n switch (epi){\r\n case 99:\r\n res = 'Culaquier interferencia';\r\n break;\r\n case 1:\r\n res = 'Aumento';\r\n break;\r\n case 2:\r\n res = 'Disminución';\r\n break;\r\n case 3:\r\n res = 'Positivo';\r\n break;\r\n case 4:\r\n res = 'Negativo';\r\n break;\r\n }\r\n return res;\r\n }\r\n\r\n\r\n \r\n const HTMLImagen = \"eliminar\" BorraItem(e) } />\r\n const HTMLTagsSelected = itemsSelected.map(item => \r\n SeleccionaItem(e) } >\r\n {item.valor}\r\n {HTMLImagen}\r\n \r\n \r\n {item.negado ? NO : <>}\r\n {EpigrafeByCod(item.epi)}\r\n \r\n \r\n \r\n );\r\n \r\n useEffect(() => {\r\n /*var setValores = false;\r\n setValores = ((!propiedades.lista) || (!valuesSelected))\r\n if (!setValores)\r\n setValores = */\r\n \r\n if (!propiedades.lista || !valuesSelected || !deepEqual(props.lista, propiedades.lista) || !deepEqual(props.valuesSelected, valuesSelected)){\r\n setListaVisible([]);\r\n setPropiedades({\r\n lista: props.lista,\r\n valuesSelected: props.valuesSelected,\r\n })\r\n }\r\n \r\n }, [props.lista, props.valueSelected]);\r\n\r\n const ClickEpigrafe = (e) =>{\r\n var check = e.target;\r\n var value = parseInt(check.value);\r\n if (check.checked){\r\n if (currentEnf>0){\r\n if (!negado)\r\n props.alUpdate(currentEnf, value);\r\n else\r\n props.alUpdate(currentEnf, (-1) * value);\r\n }\r\n setEpigrafe(value);\r\n } \r\n }\r\n\r\n const ClickNegado = (e) =>{\r\n var check = e.target;\r\n var value = check.checked;\r\n if (currentEnf>0){\r\n if (!value)\r\n props.alUpdate(currentEnf, epigrafe);\r\n else\r\n props.alUpdate(currentEnf, (-1) * epigrafe);\r\n }\r\n setNegado(value);\r\n }\r\n\r\n\r\n const ClickEnCoverSelect = (e) =>{\r\n if (!props.disabled){\r\n const item = e.target; \r\n const itemContainer = GetAntecesorWhithClassName(item, 'custom-select-container');\r\n itemContainer.classList.toggle('active');\r\n }\r\n }\r\n\r\n const ClickEnOpcion = (e) =>{\r\n \tvar option = e.target;\r\n SeleccionaOpcion(option);\r\n }\r\n\r\n const SeleccionaOpcion = (option) =>{\r\n var value = option.getAttribute(\"data-value\");\r\n var html = option.innerHTML;\r\n\r\n var container = GetAntecesorWhithClassName(option, \"custom-select-container\");\r\n var select = primerHijoConClase(container,'custom-select');\r\n var input = GetSucesorWhithClassName(container, 'inputSelector');\r\n\r\n container.classList.remove(\"active\");\r\n\r\n //RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'active');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'preselected');\r\n RemoveClassNameToChildClassItems(container, 'dropdown__radios', 'labeloption', 'hide');\r\n option.classList.add(\"active\");\r\n\r\n if (input){\r\n input.value='';\r\n }\r\n\r\n if(!(ExistsClassNameChildClassItems(container,'dropdown','labeloption','hide') || ExistsClassNameChildClassItems(container,'dropdown','labeloption','active')))\r\n RemoveClassNameToChildClassItems(container,'dropdown',null,'show');\r\n\r\n if (!props.idEsStr)\r\n value = parseInt(value);\r\n if (props.alUpdate){\r\n if (!negado)\r\n props.alUpdate(value,epigrafe);\r\n else\r\n props.alUpdate(value, (-1) * epigrafe);\r\n }\r\n \r\n }\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n \r\n const KeyUpInput = (e) =>{\r\n\t\tvar input = e.target;\r\n const container = GetAntecesorWhithClassName(input, 'custom-select-container');\r\n var texto = input.value;\r\n FiltraOpciones(container,texto);\r\n }\r\n\r\n const FiltraOpciones = (container, texto) =>{\r\n var search = remove_accents(texto.toLowerCase());\r\n var search2 = \" \" + search;\r\n\r\n \tif(search != \"\"){\r\n var nuevalista = lista.slice(1);\r\n var textoDividido = search.split(' ');\r\n for(var i=0; i remove_accents(item.valor.toLowerCase()).indexOf(search1)===0);\r\n break;\r\n case 1: \r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n case 2:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0)));\r\n break;\r\n case 3:\r\n nuevalista = nuevalista.filter(item => ((remove_accents(item.valor.toLowerCase()).indexOf(search1) === 0) || (item.codigo.toLowerCase().indexOf(search1) === 0) || (remove_accents(item.valor.toLowerCase()).indexOf(search2)>0)));\r\n break;\r\n }\r\n }\r\n setListaVisible(nuevalista);\r\n }else{\r\n setListaVisible([]);\r\n }\r\n }\r\n\r\n\r\n const KeyDownSelector = (e) =>{\r\n const container = GetAntecesorWhithClassName(e.target, 'custom-select-container');\r\n const ddown = GetSucesorWhithClassName(container, 'dropdown__radios');\r\n const input = primerHijoConClase(container, 'inputSelector');\r\n \r\n if (ddown.classList.contains('show')){\r\n\t\t var keyCode = e.keyCode;\r\n var miItem;\r\n miItem = GetSucesorWhithClassName(ddown,'preselected');\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'active');\r\n }\r\n if (keyCode === 27){\r\n ddown.classList.remove('show');\r\n input.value = '';\r\n }\r\n\r\n if (keyCode ===38){\r\n //UP\r\n if (miItem)\r\n miItem = miItem.previousSibling;\r\n if (!miItem)\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n /*while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.previousSibling;\r\n if (!miItem){\r\n miItem = GetLastSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }*/\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 40){\r\n //DOWN\r\n if (miItem)\r\n miItem = miItem.nextSibling;\r\n if (!miItem)\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n /*while (miItem && miItem.classList.contains('hide')){\r\n miItem = miItem.nextSibling;\r\n if (!miItem){\r\n miItem = GetSucesorWhithClassName(ddown,'labeloption')\r\n }\r\n }*/\r\n if (miItem){\r\n scrollSiNoVisible(ddown,miItem);\r\n RemoveClassNameToChildClassItems(ddown,'labeloption',null,'preselected');\r\n miItem.classList.add('preselected');\r\n }\r\n }\r\n if (keyCode === 13){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n miItem = GetSucesorWhithClassName(ddown,'preselected')\r\n if (miItem){\r\n SeleccionaOpcion(miItem);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const BorraItem = (e) =>{\r\n var img = e.target;\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n setCurrentEnf(0);\r\n if (props.alBorrar){\r\n props.alBorrar(parseInt(value));\r\n }\r\n \r\n }\r\n\r\n const SeleccionaItem = (e) =>{\r\n var img = e.target;\r\n if (!img.classList.contains('imagenTagEliminar')){\r\n const tag = GetAntecesorWhithClassName(img,'tag');\r\n var value = tag.getAttribute(\"data-value\");\r\n var itemepi = GetSucesorWhithClassName(tag,'row-subfield');\r\n var codEpi = parseInt(itemepi.getAttribute('data-epi'));\r\n var esNegado = (itemepi.getAttribute('data-negado')==='S');\r\n setCurrentEnf(parseInt(value));\r\n setEpigrafe(codEpi);\r\n setNegado(esNegado);\r\n }\r\n }\r\n\r\n const dropdownclases = (listavisible.length>0) ? \"dropdown dropdown__radios show\" : \"dropdown dropdown__radios\"\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    KeyDownSelector(e)}>\r\n
    \r\n \r\n KeyUpInput(e)}/> \r\n
    \r\n \r\n
    ClickEnCoverSelect(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {optionsDisplayed}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {HTMLTagsSelected}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\nexport default SelectorAnaRel;\r\n","import { useEffect, useState } from \"react\";\r\nimport { deepEqual } from \"../../../services/utils\";\r\nimport SelectorComboBox from \"./SelectorComboBox\";\r\n\r\nfunction SelectorTexto(props){\r\n const [propiedades, setPropiedades] = useState({\r\n listaEpigrafes: props.listaEpigrafes,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n negado: props.negado,\r\n })\r\n const idHTML = props.idHTML;\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n useEffect(() => {\r\n if (!deepEqual(props.listaEpigrafes, propiedades.listaEpigrafes) || (props.idEpi !== propiedades.idEpi) || (props.texto !== propiedades.texto)){\r\n setPropiedades({\r\n listaEpigrafes: props.listaEpigrafes,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n })\r\n }\r\n \r\n }, [props.listaEpigrafes, props.texto, props.idEpi]);\r\n\r\n const remove_accents = (str) => {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\r\n } \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\"; \r\n const estiloLab = (isMobile) ? {} : {width: '50%'} ;\r\n\r\n const CambioEpi = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(propiedades));\r\n nuevaSeleccion.idEpi = nuevovalor;\r\n setPropiedades(nuevaSeleccion);\r\n if (props.alCambiar)\r\n props.alCambiar(nuevovalor,nuevaSeleccion.texto);\r\n }\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(propiedades));\r\n nuevaSeleccion.texto = valor;\r\n setPropiedades(nuevaSeleccion);\r\n if (props.alCambiar)\r\n props.alCambiar(nuevaSeleccion.idEpi,nuevaSeleccion.texto);\r\n }\r\n }\r\n \r\n const ClickNegado = (e) =>{\r\n var check = e.target;\r\n var value = check.checked;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(propiedades));\r\n nuevaSeleccion.negado = value;\r\n setPropiedades(nuevaSeleccion);\r\n if (props.alCambiar)\r\n props.alCambiar(nuevaSeleccion.idEpi,nuevaSeleccion.texto,nuevaSeleccion.negado);\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {props.tituloTexto}

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {props.tituloEpigrafe}

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n);\r\n}\r\n\r\nexport default SelectorTexto;\r\n\r\n","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport { OpcionesADM, OpcionesCON, OpcionesDG, OpcionesDISP, OpcionesESP, OpcionesOTR, OpcionesPAC } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorNumero from \"../../Utilidades/Selector/SelectorNumero\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport SelectorMulti2No from \"../../Utilidades/Selector/SelectorMulti2No\";\r\nimport SelectorAnaRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorAnaRel\";\r\nimport SelectorTexto from \"../../Utilidades/Selector/SelectorTexto\";\r\n\r\nconst FBAvanzadaMUH= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaPAs: null,\r\n listaFFs: null,\r\n listaVias: null,\r\n listaIntsV: null,\r\n listaIntsNV: null,\r\n listaEnfs: null,\r\n listaGTs: null,\r\n listaLabs: null,\r\n listaCamposPrecio: null,\r\n listaOperadoresPrecio: null,\r\n listaPredefinidasPrecio: null,\r\n listaAgrupAuto:null,\r\n listaAgrupNac:null,\r\n listaDescrip:null,\r\n listaAnas: null,\r\n listaMens: null,\r\n listaEpis: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idsLab: props.idsLab,\r\n idsGT: props.idsGT,\r\n pas: props.pas,\r\n solo: props.solo,\r\n idVia: props.idVia,\r\n idFF: props.idFF,\r\n uds: props.uds,\r\n emr: props.emr,\r\n ints: props.ints,\r\n edad: props.edad,\r\n undEdad: props.undEdad,\r\n enfsRel: (props.enfsRel ? props.enfsRel : []),\r\n anasRel: (props.anasRel ? props.anasRel : []),\r\n ops: (props.ops ? props.ops : []),\r\n fechaAutoIni: props.fechaAutoIni,\r\n fechaAutoFin: props.fechaAutoFin,\r\n fechaInSNSIni: props.fechaInSNSIni,\r\n fechaInSNSFin: props.fechaInSNSFin,\r\n fechaComerIni: props.fechaComerIni,\r\n fechaComerFin: props.fechaComerFin,\r\n fechaBajaIni: props.fechaBajaIni,\r\n fechaBajaFin: props.fechaBajaFin,\r\n fechaExSNSIni: props.fechaExSNSIni,\r\n fechaExSNSFin: props.fechaExSNSFin,\r\n fechaExFIIni: props.fechaExFIIni,\r\n fechaExFIFin: props.fechaExFIFin,\r\n idCampoP: props.idCampoP,\r\n idOpP: props.idOpP,\r\n pre: props.pre,\r\n idPredefP: props.idPredefP,\r\n idsAA: props.idsAA,\r\n idsAN: props.idsAN,\r\n idsDC: props.idsDC,\r\n idsMen: props.idsMen,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n noTexto: props.noTexto,\r\n })\r\n\r\n\r\n const [ocultaIntolerancias, setOcultaIntolerancias] = useState(true);\r\n\r\n const claseIntoleranciasOcultas = (ocultaIntolerancias) ? \"cover hide\" : \"cover hide active\";\r\n const claseBotonIntolerancias = (ocultaIntolerancias) ? \"button button__arrow button__purple__line noUppercase verMas\" : \"button button__arrow button__purple__line noUppercase verMas active\";\r\n const txtbotonIntolerancias = (ocultaIntolerancias) ? \"Ver más\" : \"Ver menos\";\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPAs === null){\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioAvanzadaMUH()\r\n .then((response) => {\r\n var df = {\r\n listaPAs : response.data.Componentes,\r\n listaLabs: response.data.Laboratorios,\r\n listaGTs: response.data.Grupos,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaIntsV : response.data.IntoleranciasV,\r\n listaIntsNV : response.data.IntoleranciasNoV,\r\n listaEnfs : response.data.Enfermedades,\r\n listaAnas : response.data.Analisis,\r\n listaCamposPrecio: response.data.CamposPrecio,\r\n listaOperadoresPrecio: response.data.OperadoresPrecio,\r\n listaPredefinidasPrecio: response.data.PredefinidasPrecio,\r\n listaAgrupAuto: response.data.AgrupacionesAutonomicas,\r\n listaAgrupNac: response.data.AgrupacionesNacionales,\r\n listaDescrip: response.data.DescripcionesClinicas,\r\n listaMens: response.data.Mensajes,\r\n listaEpis: response.data.Epigrafes,\r\n };\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Indique principio activo'});\r\n df.listaLabs.splice(0,0,{Codigo:0, Valor:'Indique laboratorio'});\r\n df.listaGTs.splice(0,0,{Codigo:'', Valor:'Indique nombre o código de grupo'});\r\n df.listaEnfs.splice(0,0,{Codigo:0, Valor:'Indique enfermedad '});\r\n df.listaAnas.splice(0,0,{Codigo:0, Valor:'Indique análisis '});\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n df.listaCamposPrecio.splice(0,0,{Codigo:'-', Valor:'Indique un precio'},{Codigo:'', Valor:'-'});\r\n df.listaOperadoresPrecio.splice(0,0,{Codigo:-1, Valor:'Indique un operador'},{Codigo:0, Valor:'-'});\r\n df.listaPredefinidasPrecio.splice(0,0,{Codigo:-1, Valor:'Indique una comparativa'},{Codigo:0, Valor:'-'});\r\n df.listaAgrupAuto.splice(0,0,{Codigo:'', Valor:'Indique nombre o código de la agrupación'});\r\n df.listaAgrupNac.splice(0,0,{Codigo:'', Valor:'Indique nombre o código de la agrupación'});\r\n df.listaDescrip.splice(0,0,{Codigo:'', Valor:'Indique descripción clínica'});\r\n df.listaMens.splice(0,0,{Codigo:0, Valor:'Indique advertencia'});\r\n df.listaEpis.splice(0,0,{Codigo:-1, Valor:'Seleccione una epígrafe'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const clickVerIntolerancias=(e) =>{\r\n setOcultaIntolerancias(!ocultaIntolerancias);\r\n }\r\n\r\n const obtenDatoResumen = (opciones) =>{\r\n var strValores=[]\r\n for(var i=0; i< opciones.length; i++){\r\n var itemOpcion = opciones[i];\r\n if (itemOpcion.tip===\"CHK\"){\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \" o \";\r\n else strVal += itemOpcion.tit + \": \";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n }else if (itemOpcion.tip===\"SNX\"){\r\n var itemSel = seleccionFormulario.ops.find(item =>item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valor && itemSel.valor !== \"\" && itemSel.valor !== \"X\"){\r\n if (itemSel.valor === \"S\"){\r\n strValores.push(itemOpcion.tit.replace(\"
    \",\"\"));\r\n }else if (itemSel.valor === \"N\"){\r\n strValores.push(\"No \" + itemOpcion.tit.toLowerCase().replace(\"
    \",\"\"));\r\n }\r\n }\r\n }\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i {\r\n var res = [];\r\n\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n \r\n /*if (seleccionFormulario.idLab>0){\r\n if (datosFormulario.listaLabs){\r\n var item = datosFormulario.listaLabs.find(x => x.Codigo === seleccionFormulario.idLab);\r\n if (item)\r\n res.push ({titulo: \"Laboratorio\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idGT!==''){\r\n if (datosFormulario.listaGTs){\r\n var item = datosFormulario.listaGTs.find(x => x.Codigo === seleccionFormulario.idGT);\r\n if (item)\r\n res.push ({titulo: \"Grupo terapéutico ATC\", valor: item.Valor});\r\n }\r\n }\r\n */\r\n if ((seleccionFormulario.idsLab) && (seleccionFormulario.idsLab.length>0)){\r\n if (datosFormulario.listaLabs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsLab[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Laboratorio/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsGT) && (seleccionFormulario.idsGT.length>0)){\r\n if (datosFormulario.listaGTs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsGT[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Grupo/s terapéutico/s ATC\", valor: valor});\r\n }\r\n } \r\n\r\n if (seleccionFormulario.idFF>0){\r\n if (datosFormulario.listaFFs){\r\n var item = datosFormulario.listaFFs.find(x => x.Codigo === seleccionFormulario.idFF);\r\n if (item)\r\n res.push ({titulo: \"Forma farmacéutica\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idVia>0){\r\n if (datosFormulario.listaVias){\r\n var item = datosFormulario.listaVias.find(x => x.Codigo === seleccionFormulario.idVia);\r\n if (item)\r\n res.push ({titulo: \"Vía\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.uds>0){\r\n res.push ({titulo: \"Unidades envase\", valor: seleccionFormulario.uds.toString()});\r\n }\r\n \r\n if (seleccionFormulario.emr>0){\r\n res.push ({titulo: \"Envases máximos por receta\", valor: seleccionFormulario.emr.toString()});\r\n }\r\n \r\n var idxEstado = seleccionFormulario.ops.findIndex(op => op.cod===\"EST\");\r\n if (idxEstado >= 0){\r\n var itemEstado=seleccionFormulario.ops[idxEstado];\r\n if (itemEstado.valores.length>0){\r\n var strValor = '';\r\n for (var i=0; i0) strValor += \" o \"\r\n strValor += OpcionesDG[0].ops.find(op=> op.val === itemEstado.valores[i]).tit;\r\n }\r\n res.push({titulo: \"Estado\", valor: strValor});\r\n }\r\n }\r\n\r\n var idxCom = seleccionFormulario.ops.findIndex(op => op.cod===\"COM\");\r\n if (idxCom >= 0){\r\n var itemCom=seleccionFormulario.ops[idxCom];\r\n if (itemCom.valor===\"S\"){\r\n res.push({titulo: \"Comercializado\", valor: \"Sí\"});\r\n }else if (itemCom.valor===\"N\"){\r\n res.push({titulo: \"Comercializado\", valor: \"No\"});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.fechaAutoIni){\r\n if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de autorización\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de autorización\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni)});\r\n }\r\n }else if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de autorización\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }\r\n\r\n if (seleccionFormulario.fechaInSNSIni){\r\n if (seleccionFormulario.fechaInSNSFin){\r\n res.push ({titulo: \"Fecha de inclusión SNS\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaInSNSIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaInSNSFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de inclusión SNS\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaInSNSIni)});\r\n }\r\n }else if (seleccionFormulario.fechaInSNSFin){\r\n res.push ({titulo: \"Fecha de inclusión SNS\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaInSNSFin)});\r\n }\r\n\r\n if (seleccionFormulario.fechaComerIni){\r\n if (seleccionFormulario.fechaComerFin){\r\n res.push ({titulo: \"Fecha de comercialización\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaComerIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaComerFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de comercialización\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaComerIni)});\r\n }\r\n }else if (seleccionFormulario.fechaComerFin){\r\n res.push ({titulo: \"Fecha de comercialización\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaComerFin)});\r\n }\r\n\r\n if (seleccionFormulario.fechaBajaIni){\r\n if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de baja\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni)});\r\n }\r\n }else if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }\r\n\r\n if (seleccionFormulario.fechaExSNSIni){\r\n if (seleccionFormulario.fechaExSNSFin){\r\n res.push ({titulo: \"Fecha de exclusión\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExSNSIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExSNSFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de exclusión\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExSNSIni)});\r\n }\r\n }else if (seleccionFormulario.fechaExSNSFin){\r\n res.push ({titulo: \"Fecha de exclusión\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExSNSFin)});\r\n }\r\n\r\n if (seleccionFormulario.fechaExFIIni){\r\n if (seleccionFormulario.fechaExFIFin){\r\n res.push ({titulo: \"Fecha de exclusión financiación individualizada\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExFIIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExFIFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de exclusión financiación individualizada\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExFIIni)});\r\n }\r\n }else if (seleccionFormulario.fechaExFIFin){\r\n res.push ({titulo: \"Fecha de exclusión financiación individualizada\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaExFIFin)});\r\n }\r\n if (seleccionFormulario.idCampoP && seleccionFormulario.idCampoP!=='' && seleccionFormulario.idOpP > 0 && seleccionFormulario.pre && seleccionFormulario.pre > 0){\r\n if (datosFormulario.listaCamposPrecio && datosFormulario.listaOperadoresPrecio){\r\n var c = datosFormulario.listaCamposPrecio.find(x => x.Codigo === seleccionFormulario.idCampoP);\r\n var o = datosFormulario.listaOperadoresPrecio.find(x => x.Codigo === seleccionFormulario.idOpP);\r\n if (c && o){\r\n var val = o.Valor + ' que ' + seleccionFormulario.pre.toString() + \" €\";\r\n if (o.Codigo === 3) val = o.Valor + ' a ' + seleccionFormulario.pre.toString() + \" €\";\r\n res.push ({titulo: c.Valor, valor: val});\r\n }\r\n }\r\n }\r\n if (seleccionFormulario.idPredefP > 0){\r\n if (datosFormulario.listaPredefinidasPrecio){\r\n var item = datosFormulario.listaPredefinidasPrecio.find(x => x.Codigo === seleccionFormulario.idPredefP);\r\n if (item){\r\n res.push ({titulo: \"Precio\", valor: item.Valor});\r\n }\r\n }\r\n }\r\n if ((seleccionFormulario.idsAA) && (seleccionFormulario.idsAA.length>0)){\r\n if (datosFormulario.listaAgrupAuto){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsAA[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Agrupación/es autonómica/s\", valor: valor});\r\n }\r\n } \r\n if ((seleccionFormulario.idsAN) && (seleccionFormulario.idsAN.length>0)){\r\n if (datosFormulario.listaAgrupNac){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsAN[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Agrupación/es nacional/es\", valor: valor});\r\n }\r\n } \r\n if ((seleccionFormulario.idsDC) && (seleccionFormulario.idsDC.length>0)){\r\n if (datosFormulario.listaDescrip){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsDC[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Descripción/es clínica/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsMen) && (seleccionFormulario.idsMen.length>0)){\r\n if (datosFormulario.listaMens){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.idsMen[i]));\r\n if (item){\r\n if (valor !== '')\r\n valor += \",\\n\";\r\n if (seleccionFormulario.idsMen[i]<0) \r\n valor += \"NO \"\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Advertencias/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.pas) && (seleccionFormulario.pas.length>0)){\r\n if (datosFormulario.listaPAs){\r\n var titulo = \"Composición\";\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.pas[i].codigo));\r\n if (item){\r\n if (seleccionFormulario.pas[i].codigo<0)\r\n valor += \"No contiene \";\r\n valor += item.Valor;\r\n var sales = seleccionFormulario.pas[i].sales;\r\n if (sales && sales.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + sales[j].valor;\r\n }\r\n } \r\n var cants = seleccionFormulario.pas[i].cants;\r\n if (cants && cants.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + cants[j].des;\r\n }\r\n } \r\n }\r\n res.push({titulo:titulo, valor: valor});\r\n titulo = \"\";\r\n }\r\n if (seleccionFormulario.solo){ \r\n res.push({titulo: \"\", valor: \"Únicamente los principios activos seleccionados\"});\r\n }\r\n else{\r\n res.push({titulo: \"\", valor: \"Puede contener principios activos adicionales\"});\r\n }\r\n }\r\n }\r\n\r\n var str = obtenDatoResumen(OpcionesDISP);\r\n if (str !== \"\")\r\n res.push({titulo: \"Opciones de dispensación y faturación\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesPAC);\r\n if (seleccionFormulario.edad && seleccionFormulario.edad>0 && seleccionFormulario.undEdad && seleccionFormulario.undEdad != \"\"){\r\n if (str != \"\") str += \"\\n\";\r\n str += \"Autorizado en niños de \" + seleccionFormulario.edad.toString();\r\n if (seleccionFormulario.undEdad.toLowerCase()===\"m\"){\r\n str += \" meses\"\r\n }else{\r\n str += \" años\"\r\n }\r\n }\r\n if (str !== \"\")\r\n res.push({titulo: \"Características del paciente\", valor:str});\r\n\r\n if ((seleccionFormulario.ints) && (seleccionFormulario.ints.length>0)){\r\n if (datosFormulario.listaIntsV){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.ints[i]);\r\n if (!item) item = datosFormulario.listaIntsNV.find(x => x.Codigo === seleccionFormulario.ints[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Aptos para las intolerancias del paciente\", valor: valor});\r\n }\r\n }\r\n\r\n var str = obtenDatoResumen(OpcionesADM);\r\n if (str !== \"\")\r\n res.push({titulo: \"Administración y dosificación\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesESP);\r\n if (str !== \"\")\r\n res.push({titulo: \"Advertencias especiales\", valor:str});\r\n\r\n\r\n var str = obtenDatoResumen(OpcionesOTR);\r\n if (str !== \"\")\r\n res.push({titulo: \"Tipo de medicamento\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesCON);\r\n if (str !== \"\")\r\n res.push({titulo: \"Conservación\", valor:str});\r\n\r\n if (seleccionFormulario.enfsRel && seleccionFormulario.enfsRel.length>0){\r\n if (datosFormulario.listaEnfs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.enfsRel[i].codigo);\r\n if (item){\r\n if (valor !== \"\") valor += \"\\n\";\r\n var epi = seleccionFormulario.enfsRel[i].epi;\r\n if (Math.abs(epi)===3){\r\n if (epi<0)\r\n valor += \"No indicado para \" + item.Valor;\r\n else\r\n valor += \"Indicado para \" + item.Valor;\r\n }else if (Math.abs(epi)===13){\r\n if (epi<0)\r\n valor += \"No contraindicado en \" + item.Valor;\r\n else \r\n valor += \"Contraindicado en \" + item.Valor;\r\n }else if (Math.abs(epi)===14){\r\n if (epi<0)\r\n valor += \"Sin uso precautorio en \" + item.Valor;\r\n else \r\n valor += \"Uso precautorio en \" + item.Valor;\r\n }else if (Math.abs(epi)===7){\r\n if (epi<0)\r\n valor += \"Sin \" + item.Valor + \" como reacción adversa\";\r\n else \r\n valor += \"Con \" + item.Valor + \" como reacción adversa\";\r\n }\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Relación con enfermedades\", valor: valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.anasRel && seleccionFormulario.anasRel.length>0){\r\n if (datosFormulario.listaAnas){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.anasRel[i].codigo);\r\n if (item){\r\n if (valor !== \"\") valor += \"\\n\";\r\n var epi = seleccionFormulario.anasRel[i].epi;\r\n if (Math.abs(epi)===99){\r\n if (epi<0)\r\n valor += \"No interfiere en \" + item.Valor;\r\n else\r\n valor += \"Interfiere en \" + item.Valor;\r\n }else if (Math.abs(epi)===1){\r\n if (epi<0)\r\n valor += \"No provoca aumento de \" + item.Valor;\r\n else\r\n valor += \"Provoca aumento de \" + item.Valor;\r\n }else if (Math.abs(epi)===2){\r\n if (epi<0)\r\n valor += \"No provoca disminución de \" + item.Valor;\r\n else \r\n valor += \"Provoca disminución de \" + item.Valor;\r\n }else if (Math.abs(epi)===3){\r\n if (epi<0)\r\n valor += \"No provoca positivo en \" + item.Valor;\r\n else \r\n valor += \"Provoca positivo \" + item.Valor;\r\n }else if (Math.abs(epi)===4){\r\n if (epi<0)\r\n valor += \"No provoca negativo en \" + item.Valor;\r\n else \r\n valor += \"Provoca negativo \" + item.Valor;\r\n }\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Interferencia en análisis clínicos\", valor: valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.texto && seleccionFormulario.texto.trim().length>2){\r\n if (datosFormulario.listaEpis){\r\n var aux = \"Algún epígrafe contiene el texto \";\r\n if (seleccionFormulario.noTexto)\r\n aux = \"Ningún epígrafe contiene el texto\";\r\n if (seleccionFormulario.idEpi && seleccionFormulario.idEpi>0){\r\n var item = datosFormulario.listaEpis.find(x => x.Codigo === seleccionFormulario.idEpi);\r\n if (item){\r\n if (seleccionFormulario.noTexto)\r\n aux = item.Valor.trim() + \" no contiene el texto \";\r\n else\r\n aux = item.Valor.trim() + \" contiene el texto \";\r\n }\r\n }\r\n aux += \"\\\"\" + seleccionFormulario.texto + \"\\\"\";\r\n res.push({titulo: \"Búsquedas por texto\", valor: aux});\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = (seleccionFormulario.pas && seleccionFormulario.pas.length>0)\r\n || (seleccionFormulario.txt && seleccionFormulario.txt.length>=2)\r\n || (seleccionFormulario.idsLab && seleccionFormulario.idsLab.length>0)\r\n || (seleccionFormulario.idsGT && seleccionFormulario.idsGT.length>0)\r\n || (seleccionFormulario.idFF>0)\r\n || (seleccionFormulario.idVia>0)\r\n || (seleccionFormulario.ops && seleccionFormulario.ops.length>0)\r\n || (seleccionFormulario.edad>0 && seleccionFormulario.undEdad != \"\")\r\n || (seleccionFormulario.ints && seleccionFormulario.ints.length>0)\r\n || (seleccionFormulario.enfsRel && seleccionFormulario.enfsRel.length>0)\r\n || (seleccionFormulario.anasRel && seleccionFormulario.anasRel.length>0)\r\n || (seleccionFormulario.uds > 0)\r\n || (seleccionFormulario.emr > 0)\r\n || (seleccionFormulario.fechaAutoIni) || (seleccionFormulario.fechaAutoFin)\r\n || (seleccionFormulario.fechaInSNSIni) || (seleccionFormulario.fechaInSNSFin)\r\n || (seleccionFormulario.fechaComerIni) || (seleccionFormulario.fechaComerFin)\r\n || (seleccionFormulario.fechaBajaIni) || (seleccionFormulario.fechaBajaFin)\r\n || (seleccionFormulario.fechaExSNSIni) || (seleccionFormulario.fechaExSNSFin)\r\n || (seleccionFormulario.fechaExFIIni) || (seleccionFormulario.fechaExFIFin)\r\n || (seleccionFormulario.idCampoP && seleccionFormulario.idCampoP!=='' && seleccionFormulario.idOpP > 0 && seleccionFormulario.pre > 0)\r\n || (seleccionFormulario.idPredefP > 0)\r\n || (seleccionFormulario.idsAA && seleccionFormulario.idsAA.length>0)\r\n || (seleccionFormulario.idsAN && seleccionFormulario.idsAN.length>0)\r\n || (seleccionFormulario.idsDC && seleccionFormulario.idsDC.length>0)\r\n || (seleccionFormulario.idsMen && seleccionFormulario.idsMen.length>0)\r\n || (seleccionFormulario.texto && seleccionFormulario.texto.length>2)\r\n ;\r\n\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BAvanzadaMUH\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n txt: seleccionFormulario.txt,\r\n idsLab: seleccionFormulario.idsLab,\r\n idsGT: seleccionFormulario.idsGT,\r\n pas: seleccionFormulario.pas,\r\n solo: seleccionFormulario.solo,\r\n idVia: seleccionFormulario.idVia,\r\n idFF: seleccionFormulario.idFF,\r\n uds: seleccionFormulario.uds,\r\n emr: seleccionFormulario.emr,\r\n edad: seleccionFormulario.edad,\r\n undEdad: seleccionFormulario.undEdad,\r\n enfsRel: seleccionFormulario.enfsRel,\r\n anasRel: seleccionFormulario.anasRel,\r\n ints: seleccionFormulario.ints,\r\n ops: seleccionFormulario.ops,\r\n fechaAutoFin: seleccionFormulario.fechaAutoFin,\r\n fechaAutoIni: seleccionFormulario.fechaAutoIni,\r\n fechaBajaFin: seleccionFormulario.fechaBajaFin,\r\n fechaBajaIni: seleccionFormulario.fechaBajaIni,\r\n fechaComerFin: seleccionFormulario.fechaComerFin,\r\n fechaComerIni: seleccionFormulario.fechaComerIni,\r\n fechaExFIFin: seleccionFormulario.fechaExFIFin,\r\n fechaExFIIni: seleccionFormulario.fechaExFIIni,\r\n fechaExSNSFin: seleccionFormulario.fechaExSNSFin,\r\n fechaExSNSIni: seleccionFormulario.fechaExSNSIni,\r\n fechaInSNSFin: seleccionFormulario.fechaInSNSFin,\r\n fechaInSNSIni: seleccionFormulario.fechaInSNSIni,\r\n idCampoP: seleccionFormulario.idCampoP,\r\n idOpP: seleccionFormulario.idOpP,\r\n pre: seleccionFormulario.pre,\r\n idPredefP: seleccionFormulario.idPredefP,\r\n idsAA: seleccionFormulario.idsAA,\r\n idsAN: seleccionFormulario.idsAN,\r\n idsDC: seleccionFormulario.idsDC,\r\n idsMen: seleccionFormulario.idsMen,\r\n texto: seleccionFormulario.texto,\r\n idEpi: seleccionFormulario.idEpi,\r\n noTexto: seleccionFormulario.noTexto,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n pas: [],\r\n txt: '',\r\n idsLab: [],\r\n idsGT: [],\r\n solo: \"S\",\r\n idVia: 0,\r\n idFF: 0,\r\n uds: 0,\r\n emr: 0,\r\n edad: 0,\r\n undEdad: '',\r\n ints: [],\r\n enfsRel: [],\r\n anasRel: [],\r\n ops: [],\r\n fechaAutoFin: null,\r\n fechaAutoIni: null,\r\n fechaBajaFin: null,\r\n fechaBajaIni: null,\r\n fechaComerFin: null,\r\n fechaComerIni: null,\r\n fechaExFIFin: null,\r\n fechaExFIIni: null,\r\n fechaExSNSFin: null,\r\n fechaExSNSIni: null,\r\n fechaInSNSFin: null,\r\n fechaInSNSIni: null,\r\n idCampoP: '',\r\n idOpP: 0,\r\n pre: 0,\r\n idPredefP: 0,\r\n idsAA: [],\r\n idsAN: [],\r\n idsDC: [],\r\n idsMen: [],\r\n texto: '',\r\n idEpi: 0,\r\n noTexto: false,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fechaAutoFin = origen.fechaAutoFin;\r\n destino.fechaAutoIni = origen.fechaAutoIni;\r\n destino.fechaComerFin = origen.fechaComerFin;\r\n destino.fechaComerIni = origen.fechaComerIni;\r\n destino.fechaBajaFin = origen.fechaBajaFin;\r\n destino.fechaBajaIni = origen.fechaBajaIni;\r\n destino.fechaInSNSFin = origen.fechaInSNSFin;\r\n destino.fechaInSNSIni = origen.fechaInSNSIni;\r\n destino.fechaExSNSFin = origen.fechaExSNSFin;\r\n destino.fechaExSNSIni = origen.fechaExSNSIni;\r\n destino.fechaExFIFin = origen.fechaExFIFin;\r\n destino.fechaExFIIni = origen.fechaExFIIni;\r\n }\r\n\r\n const CambioFechaAuto= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaAutoIni = inicio;\r\n nuevaSeleccion.fechaAutoFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaComer= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaComerIni = inicio;\r\n nuevaSeleccion.fechaComerFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaBaja= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaBajaIni = inicio;\r\n nuevaSeleccion.fechaBajaFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaInSNS= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaInSNSIni = inicio;\r\n nuevaSeleccion.fechaInSNSFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaExSNS= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaExSNSIni = inicio;\r\n nuevaSeleccion.fechaExSNSFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaExFI= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaExFIIni = inicio;\r\n nuevaSeleccion.fechaExFIFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n /*\r\n const CambioLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLaboratorio = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT= nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraGrupo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT = '';\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n */\r\n\r\n const AddLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsLab) { nuevaSeleccion.idsLab = []};\r\n nuevaSeleccion.idsLab.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveLaboratorio = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsLab.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsLab.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsGT) { nuevaSeleccion.idsGT = []};\r\n nuevaSeleccion.idsGT.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveGrupo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsGT.indexOf(valor.trim());\r\n nuevaSeleccion.idsGT.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAgrupAuto = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsAA) { nuevaSeleccion.idsAA = []};\r\n nuevaSeleccion.idsAA.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveAgrupAuto = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsAA.indexOf(valor.trim());\r\n nuevaSeleccion.idsAA.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAgrupNac = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsAN) { nuevaSeleccion.idsAN = []};\r\n nuevaSeleccion.idsAN.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveAgrupNac = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsAN.indexOf(valor.trim());\r\n nuevaSeleccion.idsAN.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddDescripC = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsDC) { nuevaSeleccion.idsDC = []};\r\n nuevaSeleccion.idsDC.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveDescripC = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsDC.indexOf(valor.trim());\r\n nuevaSeleccion.idsDC.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (!nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n nuevaSeleccion.idsMen.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const NiegaAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n var idx = nuevaSeleccion.idsMen.indexOf(nuevovalor);\r\n nuevaSeleccion.idsMen.splice(idx,1,nuevovalor * -1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const RemoveAdvertencia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsMen.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMen.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const AddSal = (idPA, idSal, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal, valor: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad, des: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdatePA = (idPA, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var pa = nuevaSeleccion.pas.find(item => Math.abs(item.codigo)===Math.abs(idPA));\r\n if (pa){\r\n if (negado){\r\n pa.codigo = Math.abs(idPA) * (-1);\r\n pa.sales = [];\r\n pa.cants = [];\r\n }else{\r\n pa.codigo = Math.abs(idPA);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => Math.abs(item.codigo)!==Math.abs(idPA));\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.solo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioVia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idVia = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idFF = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioCampoPrecio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idCampoP = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioOperadorPrecio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idOpP = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioPrecio = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.pre = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioPredefinidaPrecio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idPredefP = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioIntolerancia = (e, idInt) =>{\r\n var item = e.target;\r\n var idx = (seleccionFormulario.ints) ? seleccionFormulario.ints.indexOf(idInt) : -1;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (item.checked){\r\n if (!nuevaSeleccion.ints) nuevaSeleccion.ints = [];\r\n if (idx<0) nuevaSeleccion.ints.push(idInt);\r\n }else{\r\n if (idx>=0) nuevaSeleccion.ints.splice(idx,1);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioUds = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.uds = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEmr = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.emr = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEdad = (nuevaedad, nuevaunidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.edad = nuevaedad;\r\n nuevaSeleccion.undEdad = nuevaunidad;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdateEnfermedad = (idEnfermedad, epigrafe) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var item = nuevaSeleccion.enfsRel.find(item => item.codigo===idEnfermedad);\r\n if (item){\r\n item.epi = epigrafe;\r\n }else{\r\n nuevaSeleccion.enfsRel.push({codigo: idEnfermedad, epi: epigrafe});\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveEnfermedad = (idEnfermedad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.enfsRel = nuevaSeleccion.enfsRel.filter(item => item.codigo!==idEnfermedad);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdateAnalisis = (idEnfermedad, epigrafe) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var item = nuevaSeleccion.anasRel.find(item => item.codigo===idEnfermedad);\r\n if (item){\r\n item.epi = epigrafe;\r\n }else{\r\n nuevaSeleccion.anasRel.push({codigo: idEnfermedad, epi: epigrafe});\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveAnalisis = (idEnfermedad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.anasRel = nuevaSeleccion.anasRel.filter(item => item.codigo!==idEnfermedad);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioBusquedaTexto = (nuevoepi, nuevotexto, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idEpi = nuevoepi;\r\n nuevaSeleccion.texto = nuevotexto;\r\n nuevaSeleccion.noTexto = negado;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaValorSNX = (valorSNX, idSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idSNX);\r\n if (item){\r\n if (valorSNX !== 'X'){\r\n item.valor = valorSNX;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valorSNX !=='X'){\r\n nuevaSeleccion.ops.push({cod:idSNX, valor:valorSNX});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaValorCHK = (valoresCHK,idCHK) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idCHK);\r\n if (item){\r\n if (valoresCHK.length>0){\r\n item.valores = valoresCHK;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valoresCHK.length>0){\r\n var newitem = {\r\n cod: idCHK,\r\n valores: valoresCHK,\r\n }\r\n nuevaSeleccion.ops.push(newitem);\r\n } \r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n\r\n\r\n const CambiaValorCheck = (idCheck, valorCheck, checked) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.codigo===idCheck);\r\n if (item){\r\n if (!item.valores) item.valores = [];\r\n var idxV = item.valores.indexOf(valorCheck)\r\n if (idxV>0){\r\n if (!checked){\r\n item.valores.splice(idxV,1);\r\n }\r\n }else{\r\n if(checked){\r\n item.valores.push(valorCheck)\r\n }\r\n }\r\n }else{\r\n if (checked){\r\n var item = { codigo: idCheck, valores: [valorCheck]};\r\n nuevaSeleccion.ops.push(item);\r\n }\r\n\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const listaCodValorLabs = (datosFormulario.listaLabs) ? datosFormulario.listaLabs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorGTs = (datosFormulario.listaGTs) ? datosFormulario.listaGTs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPAs = (datosFormulario.listaPAs) ? datosFormulario.listaPAs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorFFs = (datosFormulario.listaFFs) ? datosFormulario.listaFFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorVias = (datosFormulario.listaVias) ? datosFormulario.listaVias.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEnfs = (datosFormulario.listaEnfs) ? datosFormulario.listaEnfs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorAnas = (datosFormulario.listaAnas) ? datosFormulario.listaAnas.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorCPs = (datosFormulario.listaCamposPrecio) ? datosFormulario.listaCamposPrecio.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorOPs = (datosFormulario.listaOperadoresPrecio) ? datosFormulario.listaOperadoresPrecio.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPPs = (datosFormulario.listaPredefinidasPrecio) ? datosFormulario.listaPredefinidasPrecio.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorAAs = (datosFormulario.listaAgrupAuto) ? datosFormulario.listaAgrupAuto.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorANs = (datosFormulario.listaAgrupNac) ? datosFormulario.listaAgrupNac.map (it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorDCs = (datosFormulario.listaDescrip) ? datosFormulario.listaDescrip.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMens = (datosFormulario.listaMens) ? datosFormulario.listaMens.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEpis = (datosFormulario.listaEpis) ? datosFormulario.listaEpis.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n const HTMLIntoleranciasV = (((datosFormulario.listaIntsV) && (datosFormulario.listaIntsV.length>0)) ?\r\n datosFormulario.listaIntsV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const HTMLIntoleranciasNV = (((datosFormulario.listaIntsNV) && (datosFormulario.listaIntsNV.length>0)) ?\r\n datosFormulario.listaIntsNV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n const HTMLOpcionesDG = OpcionesDG.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP1 = OpcionesDISP.slice(0,4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP2 = OpcionesDISP.slice(4,8).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP3 = OpcionesDISP.slice(8,12).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP4 = OpcionesDISP.slice(12,16).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP5 = OpcionesDISP.slice(16).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesPAC = OpcionesPAC.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesADM = OpcionesADM.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesESP = OpcionesESP.slice(0,4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesESP2 = OpcionesESP.slice(4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesOTR1 = OpcionesOTR.slice(0,4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesOTR2 = OpcionesOTR.slice(4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesCONV = OpcionesCON.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const estiloLab = (isMobile) ? {} : {width: '50%'} ;\r\n const estiloFF = (isMobile) ? {} : {width: '40%'} ;\r\n const estiloVia = (isMobile) ? {} : {width: '25%'} ;\r\n\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const HTMLDatosGenContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Laboratorio

    \r\n \r\n
    \r\n
    \r\n

    Grupo terapéutico ATC

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Forma farmacéutica

    \r\n \r\n
    \r\n
    \r\n

    Vía de administración

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {HTMLOpcionesDG}\r\n
    \r\n
    \r\n );\r\n const HTMLFechasContenido = (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLPrecioContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Precio

    \r\n \r\n
    \r\n
    \r\n

     

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Comparativa con precio menor/más bajo

    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLGruposContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Agrupación homogénea nacional

    \r\n \r\n
    \r\n
    \r\n

    Agrupación homogénea autonómica

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Descripción clínica AEMPS

    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosCompos = (\r\n \r\n );\r\n\r\n const HTMLDatosDisp = (\r\n
    \r\n
    \r\n {HTMLOpcionesDISP1}\r\n
    \r\n
    \r\n {HTMLOpcionesDISP2}\r\n
    \r\n
    \r\n {HTMLOpcionesDISP3}\r\n
    \r\n
    \r\n {HTMLOpcionesDISP4}\r\n
    \r\n
    \r\n {HTMLOpcionesDISP5}\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosPac = (\r\n
    \r\n
    \r\n {HTMLOpcionesPAC}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Intolerancias

    \r\n
    \r\n
    \r\n {HTMLIntoleranciasV}\r\n
    \r\n
    \r\n {HTMLIntoleranciasNV}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n clickVerIntolerancias(e)}>{txtbotonIntolerancias} \"arrowPurpleDown2\"\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosAdm = (\r\n
    \r\n {HTMLOpcionesADM}\r\n
    \r\n );\r\n\r\n const HTMLDatosEsp = (\r\n
    \r\n
    \r\n {HTMLOpcionesESP}\r\n
    \r\n
    \r\n {HTMLOpcionesESP2}\r\n
    \r\n
    \r\n);\r\n\r\n const HTMLDatosOtr = (\r\n
    \r\n
    \r\n {HTMLOpcionesOTR1}\r\n
    \r\n
    \r\n {HTMLOpcionesOTR2}\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosCon = (\r\n
    \r\n {HTMLOpcionesCONV}\r\n
    \r\n );\r\n\r\n const HTMLAdvertenciasContenido = (\r\n
    \r\n
    \r\n {HTMLOpcionesESP}\r\n
    \r\n
    \r\n {HTMLOpcionesESP2}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosEnf = (\r\n \r\n );\r\n\r\n const HTMLDatosAna = (\r\n \r\n );\r\n\r\n const HTMLDatosBusquedaTexto = (\r\n \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaPAs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBAvanzadaMUH;\r\n/*\r\n \r\n*/ ","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport { OpcionesADM, OpcionesCONV, OpcionesDG, OpcionesDISP, OpcionesDISPV, OpcionesESP, OpcionesESPV, OpcionesOTR, OpcionesOTRV, OpcionesPAC } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport SelectorTexto from \"../../Utilidades/Selector/SelectorTexto\";\r\nimport SelectorMulti2No from \"../../Utilidades/Selector/SelectorMulti2No\";\r\nimport SelectorNumero from \"../../Utilidades/Selector/SelectorNumero\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\n\r\nconst FBAvanzadaMUV= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaPAs: null,\r\n listaFFs: null,\r\n listaVias: null,\r\n listaEnfs: null,\r\n listaEsps: null,\r\n listaGTs: null,\r\n listaLabs: null,\r\n listaMens: null,\r\n listaEpis: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idsLab: props.idsLab,\r\n idsGT: props.idsGT,\r\n pas: props.pas,\r\n solo: props.solo,\r\n idVia: props.idVia,\r\n idFF: props.idFF,\r\n idEnf: props.idEnf,\r\n idEspecie: props.idEspecie,\r\n ops: (props.ops ? props.ops : []),\r\n uds: props.uds,\r\n fechaAutoIni: props.fechaAutoIni,\r\n fechaAutoFin: props.fechaAutoFin,\r\n fechaBajaIni: props.fechaBajaIni,\r\n fechaBajaFin: props.fechaBajaFin,\r\n idsMen: props.idsMen,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n noTexto: props.noTexto,\r\n })\r\n\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPAs === null){\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioAvanzadaMUV()\r\n .then((response) => {\r\n var df = {\r\n listaPAs : response.data.Componentes,\r\n listaLabs: response.data.Laboratorios,\r\n listaGTs: response.data.Grupos,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaEsps : response.data.Especies,\r\n listaEnfs : response.data.Enfermedades,\r\n listaMens: response.data.Mensajes,\r\n listaEpis: response.data.Epigrafes,\r\n };\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Indique principio activo'});\r\n df.listaLabs.splice(0,0,{Codigo:0, Valor:'Indique laboratorio'});\r\n df.listaGTs.splice(0,0,{Codigo:0, Valor:'Indique nombre o código de grupo'});\r\n df.listaEnfs.splice(0,0,{Codigo:0, Valor:'Indique indicación '});\r\n df.listaEsps.splice(0,0,{Codigo:0, Valor:'Indique especie destino '});\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n df.listaMens.splice(0,0,{Codigo:0, Valor:'Indique advertencia'});\r\n df.listaEpis.splice(0,0,{Codigo:-1, Valor:'Seleccione una epígrafe'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const obtenDatoResumen = (opciones) =>{\r\n var strValores=[]\r\n for(var i=0; i< opciones.length; i++){\r\n var itemOpcion = opciones[i];\r\n if (itemOpcion.tip===\"CHK\"){\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \" o \";\r\n else strVal += itemOpcion.tit + \": \";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n }else if (itemOpcion.tip===\"SNX\"){\r\n var itemSel = seleccionFormulario.ops.find(item =>item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valor && itemSel.valor !== \"\" && itemSel.valor !== \"X\"){\r\n if (itemSel.valor === \"S\"){\r\n strValores.push(itemOpcion.tit);\r\n }else if (itemSel.valor === \"N\"){\r\n strValores.push(\"No \" + itemOpcion.tit.toLowerCase());\r\n }\r\n }\r\n }\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i {\r\n var res = [];\r\n\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n \r\n if ((seleccionFormulario.idsLab) && (seleccionFormulario.idsLab.length>0)){\r\n if (datosFormulario.listaLabs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsLab[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Laboratorio/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsGT) && (seleccionFormulario.idsGT.length>0)){\r\n if (datosFormulario.listaGTs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsGT[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Grupo/s terapéutico/s ATC\", valor: valor});\r\n }\r\n } \r\n\r\n/* if (seleccionFormulario.idLab>0){\r\n if (datosFormulario.listaLabs){\r\n var item = datosFormulario.listaLabs.find(x => x.Codigo === seleccionFormulario.idLab);\r\n if (item)\r\n res.push ({titulo: \"Laboratorio\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idGT!==''){\r\n if (datosFormulario.listaGTs){\r\n var item = datosFormulario.listaGTs.find(x => x.Codigo === seleccionFormulario.idGT);\r\n if (item)\r\n res.push ({titulo: \"Grupo terapéutico ATC\", valor: item.Valor});\r\n }\r\n }\r\n*/ \r\n if (seleccionFormulario.idFF>0){\r\n if (datosFormulario.listaFFs){\r\n var item = datosFormulario.listaFFs.find(x => x.Codigo === seleccionFormulario.idFF);\r\n if (item)\r\n res.push ({titulo: \"Forma farmacéutica\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idVia>0){\r\n if (datosFormulario.listaVias){\r\n var item = datosFormulario.listaVias.find(x => x.Codigo === seleccionFormulario.idVia);\r\n if (item)\r\n res.push ({titulo: \"Vía\", valor: item.Valor});\r\n }\r\n }\r\n\r\n var idxEstado = seleccionFormulario.ops.findIndex(op => op.cod===\"EST\");\r\n if (idxEstado >= 0){\r\n var itemEstado=seleccionFormulario.ops[idxEstado];\r\n if (itemEstado.valores.length>0){\r\n var strValor = '';\r\n for (var i=0; i0) strValor += \" o \"\r\n strValor += OpcionesDG[0].ops.find(op=> op.val === itemEstado.valores[i]).tit;\r\n }\r\n res.push({titulo: \"Estado\", valor: strValor});\r\n }\r\n }\r\n\r\n var idxCom = seleccionFormulario.ops.findIndex(op => op.cod===\"COM\");\r\n if (idxCom >= 0){\r\n var itemCom=seleccionFormulario.ops[idxCom];\r\n if (itemCom.valor===\"S\"){\r\n res.push({titulo: \"Comercializado\", valor: \"Sí\"});\r\n }else if (itemCom.valor===\"N\"){\r\n res.push({titulo: \"Comercializado\", valor: \"No\"});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.uds>0){\r\n res.push ({titulo: \"Unidades envase\", valor: seleccionFormulario.uds.toString()});\r\n }\r\n \r\n if (seleccionFormulario.fechaAutoIni){\r\n if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de alta\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de alta\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni)});\r\n }\r\n }else if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de alta\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }\r\n\r\n\r\n if (seleccionFormulario.fechaBajaIni){\r\n if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de baja\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni)});\r\n }\r\n }else if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }\r\n\r\n if ((seleccionFormulario.idsMen) && (seleccionFormulario.idsMen.length>0)){\r\n if (datosFormulario.listaMens){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.idsMen[i]));\r\n if (item){\r\n if (valor !== '')\r\n valor += \",\\n\";\r\n if (seleccionFormulario.idsMen[i]<0) \r\n valor += \"NO \"\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Advertencias/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.pas) && (seleccionFormulario.pas.length>0)){\r\n if (datosFormulario.listaPAs){\r\n var titulo = \"Composición\";\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.pas[i].codigo));\r\n if (item){\r\n if (seleccionFormulario.pas[i].codigo<0)\r\n valor += \"No contiene \";\r\n valor += item.Valor;\r\n var sales = seleccionFormulario.pas[i].sales;\r\n if (sales && sales.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + sales[j].valor;\r\n }\r\n } \r\n var cants = seleccionFormulario.pas[i].cants;\r\n if (cants && cants.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + cants[j].des;\r\n }\r\n } \r\n }\r\n res.push({titulo:titulo, valor: valor});\r\n titulo = \"\";\r\n }\r\n if (seleccionFormulario.solo){ \r\n res.push({titulo: \"\", valor: \"Únicamente los principios activos seleccionados\"});\r\n }\r\n else{\r\n res.push({titulo: \"\", valor: \"Puede contener principios activos adicionales\"});\r\n }\r\n } \r\n }\r\n\r\n if (seleccionFormulario.texto && seleccionFormulario.texto.trim().length>2){\r\n if (datosFormulario.listaEpis){\r\n var aux = \"Algún epígrafe contiene el texto \";\r\n if (seleccionFormulario.noTexto)\r\n aux = \"Ningún epígrafe contiene el texto\";\r\n if (seleccionFormulario.idEpi && seleccionFormulario.idEpi>0){\r\n var item = datosFormulario.listaEpis.find(x => x.Codigo === seleccionFormulario.idEpi);\r\n if (item){\r\n if (seleccionFormulario.noTexto)\r\n aux = item.Valor.trim() + \" no contiene el texto \";\r\n else\r\n aux = item.Valor.trim() + \" contiene el texto \";\r\n }\r\n }\r\n aux += \"\\\"\" + seleccionFormulario.texto + \"\\\"\";\r\n res.push({titulo: \"Búsquedas por texto\", valor: aux});\r\n }\r\n }\r\n\r\n var str = obtenDatoResumen(OpcionesOTRV);\r\n if (str !== \"\")\r\n res.push({titulo: \"Tipo de medicamento\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesDISPV);\r\n if (str !== \"\")\r\n res.push({titulo: \"Dispensación\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesESPV);\r\n if (str !== \"\")\r\n res.push({titulo: \"Advertencias especiales\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesCONV);\r\n if (str !== \"\")\r\n res.push({titulo: \"Conservación\", valor:str});\r\n\r\n if (seleccionFormulario.idEnf>0){\r\n if (datosFormulario.listaEnfs){\r\n var item = datosFormulario.listaEnfs.find(x => x.Codigo === seleccionFormulario.idEnf);\r\n if (item)\r\n res.push ({titulo: \"Indicación\", valor: item.Valor});\r\n }\r\n }\r\n if (seleccionFormulario.idEspecie>0){\r\n if (datosFormulario.listaEsps){\r\n var item = datosFormulario.listaEsps.find(x => x.Codigo === seleccionFormulario.idEspecie);\r\n if (item)\r\n res.push ({titulo: \"Especie destino\", valor: item.Valor});\r\n }\r\n }\r\n \r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = (seleccionFormulario.pas && seleccionFormulario.pas.length>0)\r\n || (seleccionFormulario.txt && seleccionFormulario.txt.length>=2)\r\n || (seleccionFormulario.idsLab && seleccionFormulario.idsLab.length>0)\r\n || (seleccionFormulario.idsGT && seleccionFormulario.idsGT.length>0)\r\n || (seleccionFormulario.idEnf>0)\r\n || (seleccionFormulario.idEspecie>0)\r\n || (seleccionFormulario.idFF>0)\r\n || (seleccionFormulario.idVia>0)\r\n || (seleccionFormulario.ops && seleccionFormulario.ops.length>0)\r\n || (seleccionFormulario.uds > 0)\r\n || (seleccionFormulario.fechaAutoIni) || (seleccionFormulario.fechaAutoFin)\r\n || (seleccionFormulario.fechaBajaIni) || (seleccionFormulario.fechaBajaFin)\r\n || (seleccionFormulario.idsMen && seleccionFormulario.idsMen.length>0)\r\n || (seleccionFormulario.texto && seleccionFormulario.texto.length>2)\r\n \r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BAvanzadaMUV\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n txt: seleccionFormulario.txt,\r\n idsLab: seleccionFormulario.idsLab,\r\n idsGT: seleccionFormulario.idsGT,\r\n idEnf: seleccionFormulario.idEnf,\r\n idEspecie: seleccionFormulario.idEspecie,\r\n pas: seleccionFormulario.pas,\r\n solo: seleccionFormulario.solo,\r\n idVia: seleccionFormulario.idVia,\r\n idFF: seleccionFormulario.idFF,\r\n ops: seleccionFormulario.ops,\r\n uds: seleccionFormulario.uds,\r\n fechaAutoFin: seleccionFormulario.fechaAutoFin,\r\n fechaAutoIni: seleccionFormulario.fechaAutoIni,\r\n fechaBajaFin: seleccionFormulario.fechaBajaFin,\r\n fechaBajaIni: seleccionFormulario.fechaBajaIni,\r\n idsMen: seleccionFormulario.idsMen,\r\n texto: seleccionFormulario.texto,\r\n idEpi: seleccionFormulario.idEpi,\r\n noTexto: seleccionFormulario.noTexto,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n pas: [],\r\n txt: '',\r\n idsLab: [],\r\n idsGT: [],\r\n idEnf: 0,\r\n idEspecie: 0,\r\n solo: \"S\",\r\n idVia: 0,\r\n idFF: 0,\r\n ops: [],\r\n uds: 0,\r\n fechaAutoFin: null,\r\n fechaAutoIni: null,\r\n fechaBajaFin: null,\r\n fechaBajaIni: null,\r\n idsMen: [],\r\n texto: '',\r\n idEpi: 0,\r\n noTexto: false,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fechaAutoFin = origen.fechaAutoFin;\r\n destino.fechaAutoIni = origen.fechaAutoIni;\r\n destino.fechaBajaFin = origen.fechaBajaFin;\r\n destino.fechaBajaIni = origen.fechaBajaIni;\r\n }\r\n\r\n const CambioFechaAuto= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaAutoIni = inicio;\r\n nuevaSeleccion.fechaAutoFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaBaja= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaBajaIni = inicio;\r\n nuevaSeleccion.fechaBajaFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEnfermedad = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEspecie = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEspecie = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEnfermedad = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEspecie = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEspecie = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n /*\r\n const CambioLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLaboratorio = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT= nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraGrupo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT = '';\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n */\r\n\r\n const AddLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsLab) { nuevaSeleccion.idsLab = []};\r\n nuevaSeleccion.idsLab.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveLaboratorio = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsLab.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsLab.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsGT) { nuevaSeleccion.idsGT = []};\r\n nuevaSeleccion.idsGT.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveGrupo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsGT.indexOf(valor.trim());\r\n nuevaSeleccion.idsGT.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (!nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n nuevaSeleccion.idsMen.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const NiegaAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n var idx = nuevaSeleccion.idsMen.indexOf(nuevovalor);\r\n nuevaSeleccion.idsMen.splice(idx,1,nuevovalor * -1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const RemoveAdvertencia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsMen.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMen.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const AddSal = (idPA, idSal, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal, valor: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad, des: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdatePA = (idPA, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => Math.abs(item.codigo)===Math.abs(idPA));\r\n if (pa){\r\n if (negado){\r\n pa.codigo = Math.abs(idPA) * (-1);\r\n pa.sales = [];\r\n pa.cants = [];\r\n }else{\r\n pa.codigo = Math.abs(idPA);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => Math.abs(item.codigo)!==Math.abs(idPA));\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioVia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idVia = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idFF = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioUds = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.uds = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioBusquedaTexto = (nuevoepi, nuevotexto, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idEpi = nuevoepi;\r\n nuevaSeleccion.texto = nuevotexto;\r\n nuevaSeleccion.noTexto = negado;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaValorSNX = (valorSNX, idSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idSNX);\r\n if (item){\r\n if (valorSNX !== 'X'){\r\n item.valor = valorSNX;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valorSNX !=='X'){\r\n nuevaSeleccion.ops.push({cod:idSNX, valor:valorSNX});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaValorCHK = (valoresCHK,idCHK) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idCHK);\r\n if (item){\r\n if (valoresCHK.length>0){\r\n item.valores = valoresCHK;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valoresCHK.length>0){\r\n var newitem = {\r\n cod: idCHK,\r\n valores: valoresCHK,\r\n }\r\n nuevaSeleccion.ops.push(newitem);\r\n } \r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n const listaCodValorLabs = (datosFormulario.listaLabs) ? datosFormulario.listaLabs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorGTs = (datosFormulario.listaGTs) ? datosFormulario.listaGTs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPAs = (datosFormulario.listaPAs) ? datosFormulario.listaPAs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorFFs = (datosFormulario.listaFFs) ? datosFormulario.listaFFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorVias = (datosFormulario.listaVias) ? datosFormulario.listaVias.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEnfs = (datosFormulario.listaEnfs) ? datosFormulario.listaEnfs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEsps = (datosFormulario.listaEsps) ? datosFormulario.listaEsps.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMens = (datosFormulario.listaMens) ? datosFormulario.listaMens.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEpis = (datosFormulario.listaEpis) ? datosFormulario.listaEpis.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n const HTMLOpcionesDG = OpcionesDG.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n\r\n const HTMLOpcionesOTR1 = OpcionesOTRV.slice(0,4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n/*\r\n const HTMLOpcionesOTR2 = OpcionesOTRV.slice(4).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n estiloDiv = {{marginBottom: '20px'}}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n estiloDiv = {{marginBottom: '20px'}}\r\n />\r\n :
    \r\n );\r\n*/\r\n\r\n const HTMLOpcionesDISP = OpcionesDISPV.slice(0,3).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP2 = OpcionesDISPV.slice(3).map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesESPV = OpcionesESPV.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesCONV = OpcionesCONV.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const estiloLab = (isMobile) ? {} : {width: '50%'} ;\r\n const estiloFF = (isMobile) ? {} : {width: '40%'} ;\r\n const estiloVia = (isMobile) ? {} : {width: '25%'} ;\r\n\r\n\r\n\r\n const HTMLDatosGenContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Laboratorio

    \r\n \r\n
    \r\n
    \r\n

    Grupo terapéutico ATC

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Forma farmacéutica

    \r\n \r\n
    \r\n
    \r\n

    Vía de administración

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {HTMLOpcionesDG}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosCompos = (\r\n \r\n );\r\n\r\n const HTMLDatosOtr = (\r\n
    \r\n
    \r\n {HTMLOpcionesOTR1}\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosDisp = (\r\n
    \r\n
    \r\n {HTMLOpcionesDISP}\r\n
    \r\n
    \r\n {HTMLOpcionesDISP2}\r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosEsp = (\r\n
    \r\n {HTMLOpcionesESPV}\r\n
    \r\n );\r\n\r\n const HTMLDatosCon = (\r\n
    \r\n {HTMLOpcionesCONV}\r\n
    \r\n );\r\n\r\n const HTMLAdvertenciasContenido = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosBusquedaTexto = (\r\n \r\n );\r\n\r\n const HTMLDatosEspInd = (\r\n
    \r\n
    \r\n

    Especie destino

    \r\n \r\n
    \r\n
    \r\n

    Indicación

    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaPAs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBAvanzadaMUV;\r\n ","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport { OpcionesADM, OpcionesDG, OpcionesDGPA, OpcionesDISP, OpcionesESP, OpcionesOTR, OpcionesPAC } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport SelectorMulti2No from \"../../Utilidades/Selector/SelectorMulti2No\";\r\nimport SelectorAnaRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorAnaRel\";\r\nimport SelectorTexto from \"../../Utilidades/Selector/SelectorTexto\";\r\n\r\nconst FBAvanzadaPAH= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaEnfs: null,\r\n listaGTs: null,\r\n listaAFs: null,\r\n listaAMs: null,\r\n listaAnas: null,\r\n listaMens: null,\r\n listaEpis: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idsAF: props.idsAF,\r\n idsAM: props.idsAM,\r\n idsGT: props.idsGT,\r\n enfsRel: (props.enfsRel ? props.enfsRel : []),\r\n anasRel: (props.anasRel ? props.anasRel : []),\r\n ops: (props.ops ? props.ops : []),\r\n idsMen: props.idsMen,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n noTexto: props.noTexto,\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaGTs === null){\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioAvanzadaPAH()\r\n .then((response) => {\r\n var df = {\r\n listaAFs: response.data.ActividadesF,\r\n listaAMs: response.data.ActividadesM,\r\n listaGTs: response.data.Grupos,\r\n listaEnfs : response.data.Enfermedades,\r\n listaAnas : response.data.Analisis,\r\n listaMens: response.data.Mensajes,\r\n listaEpis: response.data.Epigrafes,\r\n };\r\n df.listaGTs.splice(0,0,{Codigo:0, Valor:'Indique nombre o código del grupo'});\r\n df.listaEnfs.splice(0,0,{Codigo:0, Valor:'Indique la enfermedad '});\r\n df.listaAFs.splice(0,0,{Codigo:0, Valor:'Indique la actividad '});\r\n df.listaAMs.splice(0,0,{Codigo:0, Valor:'Indique un sistema enzimático'});\r\n df.listaAnas.splice(0,0,{Codigo:0, Valor:'Indique análisis '});\r\n df.listaMens.splice(0,0,{Codigo:0, Valor:'Indique advertencia'});\r\n df.listaEpis.splice(0,0,{Codigo:-1, Valor:'Seleccione una epígrafe'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const obtenDatoResumen = (opciones) =>{\r\n var strValores=[]\r\n for(var i=0; i< opciones.length; i++){\r\n var itemOpcion = opciones[i];\r\n if (itemOpcion.tip===\"CHK\"){\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \" o \";\r\n else strVal += itemOpcion.tit + \": \";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n }else if (itemOpcion.tip===\"SNX\"){\r\n var itemSel = seleccionFormulario.ops.find(item =>item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valor && itemSel.valor !== \"\" && itemSel.valor !== \"X\"){\r\n if (itemSel.valor === \"S\"){\r\n strValores.push(itemOpcion.tit);\r\n }else if (itemSel.valor === \"N\"){\r\n strValores.push(\"No \" + itemOpcion.tit.toLowerCase());\r\n }\r\n }\r\n }\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i {\r\n var res = [];\r\n\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n /*\r\n if (seleccionFormulario.idGT!==''){\r\n if (datosFormulario.listaGTs){\r\n var item = datosFormulario.listaGTs.find(x => x.Codigo === seleccionFormulario.idGT);\r\n if (item)\r\n res.push ({titulo: \"Grupo terapéutico ATC\", valor: item.Valor});\r\n }\r\n }\r\n */\r\n\r\n if ((seleccionFormulario.idsGT) && (seleccionFormulario.idsGT.length>0)){\r\n if (datosFormulario.listaGTs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsGT[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Grupo/s terapéutico/s ATC\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsAF) && (seleccionFormulario.idsAF.length>0)){\r\n if (datosFormulario.listaAFs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsAF[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Actividades farmacológicas (todas las siguientes)\", valor: valor});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.idsAM) && (seleccionFormulario.idsAM.length>0)){\r\n if (datosFormulario.listaAMs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsAM[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Capacidades inductoras/inhibidoras metabólicas (alguna de las siguientes)\", valor: valor});\r\n }\r\n }\r\n\r\n \r\n var idxEstado = seleccionFormulario.ops.findIndex(op => op.cod===\"EST\");\r\n if (idxEstado >= 0){\r\n var itemEstado=seleccionFormulario.ops[idxEstado];\r\n if (itemEstado.valores.length>0){\r\n var strValor = '';\r\n for (var i=0; i0) strValor += \" o \"\r\n strValor += OpcionesDG[0].ops.find(op=> op.val === itemEstado.valores[i]).tit;\r\n }\r\n res.push({titulo: \"Estado\", valor: strValor});\r\n }\r\n }\r\n\r\n var idxCom = seleccionFormulario.ops.findIndex(op => op.cod===\"COM\");\r\n if (idxCom >= 0){\r\n var itemCom=seleccionFormulario.ops[idxCom];\r\n if (itemCom.valor===\"S\"){\r\n res.push({titulo: \"Comercializado\", valor: \"Sí\"});\r\n }else if (itemCom.valor===\"N\"){\r\n res.push({titulo: \"Comercializado\", valor: \"No\"});\r\n }\r\n }\r\n\r\n var str = obtenDatoResumen(OpcionesDISP);\r\n if (str !== \"\")\r\n res.push({titulo: \"Opciones de dispensación y faturación\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesPAC);\r\n if (str !== \"\")\r\n res.push({titulo: \"Características del paciente\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesESP);\r\n if (str !== \"\")\r\n res.push({titulo: \"Advertencias especiales\", valor:str});\r\n\r\n\r\n if ((seleccionFormulario.idsMen) && (seleccionFormulario.idsMen.length>0)){\r\n if (datosFormulario.listaMens){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.idsMen[i]));\r\n if (item){\r\n if (valor !== '')\r\n valor += \",\\n\";\r\n if (seleccionFormulario.idsMen[i]<0) \r\n valor += \"NO \"\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Advertencias/s\", valor: valor});\r\n }\r\n } \r\n\r\n if (seleccionFormulario.enfsRel && seleccionFormulario.enfsRel.length>0){\r\n if (datosFormulario.listaEnfs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.enfsRel[i].codigo);\r\n if (item){\r\n if (valor !== \"\") valor += \"\\n\";\r\n var epi = seleccionFormulario.enfsRel[i].epi;\r\n if (Math.abs(epi)===3){\r\n if (epi<0)\r\n valor += \"No indicado para \" + item.Valor;\r\n else\r\n valor += \"Indicado para \" + item.Valor;\r\n }else if (Math.abs(epi)===13){\r\n if (epi<0)\r\n valor += \"No contraindicado en \" + item.Valor;\r\n else \r\n valor += \"Contraindicado en \" + item.Valor;\r\n }else if (Math.abs(epi)===14){\r\n if (epi<0)\r\n valor += \"Sin uso precautorio en \" + item.Valor;\r\n else \r\n valor += \"Uso precautorio en \" + item.Valor;\r\n }else if (Math.abs(epi)===7){\r\n if (epi<0)\r\n valor += \"Sin \" + item.Valor + \" como reacción adversa\";\r\n else \r\n valor += \"Con \" + item.Valor + \" como reacción adversa\";\r\n }\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Relación con enfermedades\", valor: valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.anasRel && seleccionFormulario.anasRel.length>0){\r\n if (datosFormulario.listaAnas){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.anasRel[i].codigo);\r\n if (item){\r\n if (valor !== \"\") valor += \"\\n\";\r\n var epi = seleccionFormulario.anasRel[i].epi;\r\n if (Math.abs(epi)===99){\r\n if (epi<0)\r\n valor += \"No interfiere en \" + item.Valor;\r\n else\r\n valor += \"Interfiere en \" + item.Valor;\r\n }else if (Math.abs(epi)===1){\r\n if (epi<0)\r\n valor += \"No provoca aumento de \" + item.Valor;\r\n else\r\n valor += \"Provoca aumento de \" + item.Valor;\r\n }else if (Math.abs(epi)===2){\r\n if (epi<0)\r\n valor += \"No provoca disminución de \" + item.Valor;\r\n else \r\n valor += \"Provoca disminución de \" + item.Valor;\r\n }else if (Math.abs(epi)===3){\r\n if (epi<0)\r\n valor += \"No provoca positivo en \" + item.Valor;\r\n else \r\n valor += \"Provoca positivo \" + item.Valor;\r\n }else if (Math.abs(epi)===4){\r\n if (epi<0)\r\n valor += \"No provoca negativo en \" + item.Valor;\r\n else \r\n valor += \"Provoca negativo \" + item.Valor;\r\n }\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Interferencia en análisis clínicos\", valor: valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.texto && seleccionFormulario.texto.trim().length>2){\r\n if (datosFormulario.listaEpis){\r\n var aux = \"Algún epígrafe contiene el texto \";\r\n if (seleccionFormulario.noTexto)\r\n aux = \"Ningún epígrafe contiene el texto\";\r\n if (seleccionFormulario.idEpi && seleccionFormulario.idEpi>0){\r\n var item = datosFormulario.listaEpis.find(x => x.Codigo === seleccionFormulario.idEpi);\r\n if (item){\r\n if (seleccionFormulario.noTexto)\r\n aux = item.Valor.trim() + \" no contiene el texto \";\r\n else\r\n aux = item.Valor.trim() + \" contiene el texto \";\r\n }\r\n }\r\n aux += \"\\\"\" + seleccionFormulario.texto + \"\\\"\";\r\n res.push({titulo: \"Búsquedas por texto\", valor: aux});\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = (seleccionFormulario.txt.length>=2)\r\n || (seleccionFormulario.idsGT && seleccionFormulario.idsGT.length>0)\r\n || (seleccionFormulario.idsAF && seleccionFormulario.idsAF.length>0)\r\n || (seleccionFormulario.idsAM && seleccionFormulario.idsAM.length>0)\r\n || (seleccionFormulario.ops && seleccionFormulario.ops.length>0)\r\n || (seleccionFormulario.enfsRel && seleccionFormulario.enfsRel.length>0\r\n || (seleccionFormulario.anasRel && seleccionFormulario.anasRel.length>0)\r\n || (seleccionFormulario.idsMen && seleccionFormulario.idsMen.length>0)\r\n || (seleccionFormulario.texto && seleccionFormulario.texto.length>2)\r\n );\r\n \r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BAvanzadaPAH\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n txt: seleccionFormulario.txt,\r\n idsAF: seleccionFormulario.idsAF,\r\n idsAM: seleccionFormulario.idsAM,\r\n idsGT: seleccionFormulario.idsGT,\r\n enfsRel: seleccionFormulario.enfsRel,\r\n anasRel: seleccionFormulario.anasRel,\r\n ops: seleccionFormulario.ops,\r\n idsMen: seleccionFormulario.idsMen,\r\n texto: seleccionFormulario.texto,\r\n idEpi: seleccionFormulario.idEpi,\r\n noTexto: seleccionFormulario.noTexto,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n txt: '',\r\n idsGT: [],\r\n idsAF: [],\r\n idsAM: [],\r\n enfsRel: [],\r\n anasRel: [],\r\n ops: [],\r\n idsMen: [],\r\n texto: '',\r\n idEpi: 0,\r\n noTexto: false,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsAM) { nuevaSeleccion.idsAM = []};\r\n nuevaSeleccion.idsAM.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveActividadM = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsAM.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsAM.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddActividadF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsAF) { nuevaSeleccion.idsAF = []};\r\n nuevaSeleccion.idsAF.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveActividadF = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsAF.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsAF.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n /*\r\n const CambioGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT= nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraGrupo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT = '';\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n */\r\n const AddGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsGT) { nuevaSeleccion.idsGT = []};\r\n nuevaSeleccion.idsGT.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveGrupo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsGT.indexOf(valor.trim());\r\n nuevaSeleccion.idsGT.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const UpdateEnfermedad = (idEnfermedad, epigrafe) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var item = nuevaSeleccion.enfsRel.find(item => item.codigo===idEnfermedad);\r\n if (item){\r\n item.epi = epigrafe;\r\n }else{\r\n nuevaSeleccion.enfsRel.push({codigo: idEnfermedad, epi: epigrafe});\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveEnfermedad = (idEnfermedad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.enfsRel = nuevaSeleccion.enfsRel.filter(item => item.codigo!==idEnfermedad);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (!nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n nuevaSeleccion.idsMen.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const NiegaAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n var idx = nuevaSeleccion.idsMen.indexOf(nuevovalor);\r\n nuevaSeleccion.idsMen.splice(idx,1,nuevovalor * -1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const RemoveAdvertencia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsMen.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMen.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdateAnalisis = (idEnfermedad, epigrafe) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var item = nuevaSeleccion.anasRel.find(item => item.codigo===idEnfermedad);\r\n if (item){\r\n item.epi = epigrafe;\r\n }else{\r\n nuevaSeleccion.anasRel.push({codigo: idEnfermedad, epi: epigrafe});\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveAnalisis = (idEnfermedad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.anasRel = nuevaSeleccion.anasRel.filter(item => item.codigo!==idEnfermedad);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioBusquedaTexto = (nuevoepi, nuevotexto, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEpi = nuevoepi;\r\n nuevaSeleccion.texto = nuevotexto;\r\n nuevaSeleccion.noTexto = negado;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaValorSNX = (valorSNX, idSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idSNX);\r\n if (item){\r\n if (valorSNX !== 'X'){\r\n item.valor = valorSNX;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valorSNX !=='X'){\r\n nuevaSeleccion.ops.push({cod:idSNX, valor:valorSNX});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaValorCHK = (valoresCHK,idCHK) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idCHK);\r\n if (item){\r\n if (valoresCHK.length>0){\r\n item.valores = valoresCHK;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valoresCHK.length>0){\r\n var newitem = {\r\n cod: idCHK,\r\n valores: valoresCHK,\r\n }\r\n nuevaSeleccion.ops.push(newitem);\r\n } \r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const listaCodValorAFs = (datosFormulario.listaAFs) ? datosFormulario.listaAFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorAMs = (datosFormulario.listaAMs) ? datosFormulario.listaAMs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorGTs = (datosFormulario.listaGTs) ? datosFormulario.listaGTs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEnfs = (datosFormulario.listaEnfs) ? datosFormulario.listaEnfs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorAnas = (datosFormulario.listaAnas) ? datosFormulario.listaAnas.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMens = (datosFormulario.listaMens) ? datosFormulario.listaMens.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEpis = (datosFormulario.listaEpis) ? datosFormulario.listaEpis.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 \";\r\n\r\n const HTMLOpcionesDG = OpcionesDGPA.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesPAC = OpcionesPAC.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesESP = OpcionesESP.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const HTMLDatosGenContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Grupo terapéutico ATC

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Actividades farmacológicas:

    \r\n \r\n
    \r\n
    \r\n

    Efectos metabólicos:

    \r\n \r\n
    \r\n
    \r\n
    \r\n {HTMLOpcionesDG}\r\n {/*HTMLOpcionesPAC*/}\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosEsp = (\r\n
    \r\n {HTMLOpcionesESP}\r\n
    \r\n );\r\n\r\n const HTMLDatosPac = (\r\n
    \r\n
    \r\n {HTMLOpcionesPAC}\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLAdvertenciasContenido = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosEnf = (\r\n \r\n );\r\n\r\n const HTMLDatosAna = (\r\n \r\n );\r\n\r\n const HTMLDatosBusquedaTexto = (\r\n \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaGTs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBAvanzadaPAH;\r\n ","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport { OpcionesADM, OpcionesCONPF, OpcionesDG, OpcionesDGPF, OpcionesDISP, OpcionesDISPPPF, OpcionesESP, OpcionesOTR, OpcionesPAC } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport SelectorMulti2No from \"../../Utilidades/Selector/SelectorMulti2No\";\r\nimport SelectorTexto from \"../../Utilidades/Selector/SelectorTexto\";\r\nimport SelectorNumero from \"../../Utilidades/Selector/SelectorNumero\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\n\r\nconst FBAvanzadaPPF= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaPAs: null,\r\n listaFFs: null,\r\n listaVias: null,\r\n listaIntsV: null,\r\n listaIntsNV: null,\r\n listaTipos: null,\r\n listaSubtipos: null,\r\n listaGTs: null,\r\n listaLabs: null,\r\n listaMens: null,\r\n listaEpis: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idsLab: props.idsLab,\r\n idsGT: props.idsGT,\r\n pas: props.pas,\r\n solo: (props.solo ? props.solo : false),\r\n idVia: props.idVia,\r\n idFF: props.idFF,\r\n idsTipo: props.idsTipo,\r\n idsSubtipo: props.idsSubtipo,\r\n ints: props.ints,\r\n enfsRel: (props.enfsRel ? props.enfsRel : []),\r\n ops: (props.ops ? props.ops : []),\r\n uds: props.uds,\r\n fechaAutoIni: props.fechaAutoIni,\r\n fechaAutoFin: props.fechaAutoFin,\r\n fechaBajaIni: props.fechaBajaIni,\r\n fechaBajaFin: props.fechaBajaFin,\r\n idsMen: props.idsMen,\r\n texto: props.texto,\r\n idEpi: props.idEpi,\r\n noTexto: props.noTexto,\r\n\r\n })\r\n\r\n const [ocultaIntolerancias, setOcultaIntolerancias] = useState(true);\r\n\r\n const claseIntoleranciasOcultas = (ocultaIntolerancias) ? \"cover hide\" : \"cover hide active\";\r\n const claseBotonIntolerancias = (ocultaIntolerancias) ? \"button button__arrow button__purple__line noUppercase verMas\" : \"button button__arrow button__purple__line noUppercase verMas active\";\r\n const txtbotonIntolerancias = (ocultaIntolerancias) ? \"Ver más\" : \"Ver menos\";\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPAs === null){\r\n DescargaDatos(seleccionFormulario.idTipo);\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = (idTipo) => { \r\n BP2022Service.datosFormularioAvanzadaPPF(idTipo)\r\n .then((response) => {\r\n var df = {\r\n listaPAs : response.data.Componentes,\r\n listaLabs: response.data.Laboratorios,\r\n listaGTs: response.data.Grupos,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaTipos : response.data.Tipos,\r\n listaSubtipos : response.data.Subtipos,\r\n listaIntsV : response.data.IntoleranciasV,\r\n listaIntsNV : response.data.IntoleranciasNoV,\r\n listaMens: response.data.Mensajes,\r\n //listaEpis: response.data.Epigrafes,\r\n listaEpis: [],\r\n };\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Indique un ingrediente'});\r\n df.listaLabs.splice(0,0,{Codigo:0, Valor:'Indique laboratorio'});\r\n df.listaGTs.splice(0,0,{Codigo:0, Valor:'Indique categoría'});\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n df.listaTipos.splice(0,0,{Codigo:0, Valor:'Indique un tipo'});\r\n df.listaSubtipos.splice(0,0,{Codigo:0, Valor:'Indique un subtipo'});\r\n df.listaMens.splice(0,0,{Codigo:0, Valor:'Indique advertencia'});\r\n df.listaEpis.splice(0,0,{Codigo:-1, Valor:'Seleccione una epígrafe'},{Codigo:0, Valor:'Todos los epígrafes'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const DescargaVias = (idTipo) => { \r\n BP2022Service.viasFormularioAvanzadaPPF(idTipo)\r\n .then((response) => {\r\n var df = {\r\n listaPAs : datosFormulario.listaPAs,\r\n listaLabs: datosFormulario.listaLabs,\r\n listaGTs: datosFormulario.listaGTs,\r\n listaVias : response.data.Vias,\r\n listaFFs : datosFormulario.listaFFs,\r\n listaTipos : datosFormulario.listaTipos,\r\n listaSubtipos : datosFormulario.listaSubtipos,\r\n listaIntsV : datosFormulario.listaIntsV,\r\n listaIntsNV : datosFormulario.listaIntsNV,\r\n listaMens: datosFormulario.listaMens,\r\n listaEpis: datosFormulario.listaEpis,\r\n };\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const clickVerIntolerancias=(e) =>{\r\n setOcultaIntolerancias(!ocultaIntolerancias);\r\n }\r\n\r\n const obtenDatoResumen = (opciones) =>{\r\n var strValores=[]\r\n for(var i=0; i< opciones.length; i++){\r\n var itemOpcion = opciones[i];\r\n if (itemOpcion.tip===\"CHK\"){\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \" o \";\r\n else strVal += itemOpcion.tit + \": \";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n }else if (itemOpcion.tip===\"SNX\"){\r\n var itemSel = seleccionFormulario.ops.find(item =>item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valor && itemSel.valor !== \"\" && itemSel.valor !== \"X\"){\r\n if (itemSel.valor === \"S\"){\r\n strValores.push(itemOpcion.tit);\r\n }else if (itemSel.valor === \"N\"){\r\n strValores.push(\"No \" + itemOpcion.tit.toLowerCase());\r\n }\r\n }\r\n }\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i {\r\n var res = [];\r\n\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n /* \r\n if (seleccionFormulario.idLab>0){\r\n if (datosFormulario.listaLabs){\r\n var item = datosFormulario.listaLabs.find(x => x.Codigo === seleccionFormulario.idLab);\r\n if (item)\r\n res.push ({titulo: \"Laboratorio\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idGT!==''){\r\n if (datosFormulario.listaGTs){\r\n var item = datosFormulario.listaGTs.find(x => x.Codigo === seleccionFormulario.idGT);\r\n if (item)\r\n res.push ({titulo: \"Categorización Consejo\", valor: item.Valor});\r\n }\r\n }\r\n */ \r\n\r\n\r\n if ((seleccionFormulario.idsLab) && (seleccionFormulario.idsLab.length>0)){\r\n if (datosFormulario.listaLabs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsLab[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Laboratorio/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsGT) && (seleccionFormulario.idsGT.length>0)){\r\n if (datosFormulario.listaGTs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsGT[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Categoría/s Consejo\", valor: valor});\r\n }\r\n } \r\n \r\n /*\r\n if (seleccionFormulario.idTipo>0){\r\n if (datosFormulario.listaTipos){\r\n var item = datosFormulario.listaTipos.find(x => x.Codigo === seleccionFormulario.idTipo);\r\n if (item)\r\n res.push ({titulo: \"Tipo de producto\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idSubtipo>0){\r\n if (datosFormulario.listaSubtipos){\r\n var item = datosFormulario.listaSubtipos.find(x => x.Codigo === seleccionFormulario.idSubtipo);\r\n if (item)\r\n res.push ({titulo: \"Subtipo de producto\", valor: item.Valor});\r\n }\r\n }\r\n */\r\n \r\n if ((seleccionFormulario.idsTipo) && (seleccionFormulario.idsTipo.length>0)){\r\n if (datosFormulario.listaTipos){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsTipo[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Tipo/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.idsSubtipo) && (seleccionFormulario.idsSubtipo.length>0)){\r\n if (datosFormulario.listaSubtipos){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsSubtipo[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Subtipo/s\", valor: valor});\r\n }\r\n } \r\n\r\n\r\n\r\n if (seleccionFormulario.idFF>0){\r\n if (datosFormulario.listaFFs){\r\n var item = datosFormulario.listaFFs.find(x => x.Codigo === seleccionFormulario.idFF);\r\n if (item)\r\n res.push ({titulo: \"Forma farmacéutica\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idVia>0){\r\n if (datosFormulario.listaVias){\r\n var item = datosFormulario.listaVias.find(x => x.Codigo === seleccionFormulario.idVia);\r\n if (item)\r\n res.push ({titulo: \"Vía\", valor: item.Valor});\r\n }\r\n }\r\n\r\n var idxEstado = seleccionFormulario.ops.findIndex(op => op.cod===\"EST\");\r\n if (idxEstado >= 0){\r\n var itemEstado=seleccionFormulario.ops[idxEstado];\r\n if (itemEstado.valores.length>0){\r\n var strValor = '';\r\n for (var i=0; i0) strValor += \" o \"\r\n strValor += OpcionesDGPF[0].ops.find(op=> op.val === itemEstado.valores[i]).tit;\r\n }\r\n res.push({titulo: \"Estado\", valor: strValor});\r\n }\r\n }\r\n\r\n var idxCom = seleccionFormulario.ops.findIndex(op => op.cod===\"COM\");\r\n if (idxCom >= 0){\r\n var itemCom=seleccionFormulario.ops[idxCom];\r\n if (itemCom.valor===\"S\"){\r\n res.push({titulo: \"Comercializado\", valor: \"Sí\"});\r\n }else if (itemCom.valor===\"N\"){\r\n res.push({titulo: \"Comercializado\", valor: \"No\"});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.uds>0){\r\n res.push ({titulo: \"Unidades envase\", valor: seleccionFormulario.uds.toString()});\r\n }\r\n \r\n if (seleccionFormulario.fechaAutoIni){\r\n if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de alta\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de alta\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoIni)});\r\n }\r\n }else if (seleccionFormulario.fechaAutoFin){\r\n res.push ({titulo: \"Fecha de alta\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaAutoFin)});\r\n }\r\n\r\n\r\n if (seleccionFormulario.fechaBajaIni){\r\n if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }else{\r\n res.push ({titulo: \"Fecha de baja\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaIni)});\r\n }\r\n }else if (seleccionFormulario.fechaBajaFin){\r\n res.push ({titulo: \"Fecha de baja\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fechaBajaFin)});\r\n }\r\n\r\n if ((seleccionFormulario.idsMen) && (seleccionFormulario.idsMen.length>0)){\r\n if (datosFormulario.listaMens){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.idsMen[i]));\r\n if (item){\r\n if (valor !== '')\r\n valor += \",\\n\";\r\n if (seleccionFormulario.idsMen[i]<0) \r\n valor += \"NO \"\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Advertencias/s\", valor: valor});\r\n }\r\n } \r\n\r\n if ((seleccionFormulario.pas) && (seleccionFormulario.pas.length>0)){\r\n if (datosFormulario.listaPAs){\r\n var titulo = \"Composición\";\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.pas[i].codigo));\r\n if (item){\r\n if (seleccionFormulario.pas[i].codigo<0)\r\n valor += \"No contiene \";\r\n valor += item.Valor;\r\n var sales = seleccionFormulario.pas[i].sales;\r\n if (sales && sales.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + sales[j].valor;\r\n }\r\n } \r\n var cants = seleccionFormulario.pas[i].cants;\r\n if (cants && cants.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + cants[j].des;\r\n }\r\n } \r\n }\r\n res.push({titulo:titulo, valor: valor});\r\n titulo = \"\";\r\n }\r\n if (seleccionFormulario.solo){ \r\n res.push({titulo: \"\", valor: \"Únicamente los principios activos seleccionados\"});\r\n }\r\n else{\r\n res.push({titulo: \"\", valor: \"Puede contener principios activos adicionales\"});\r\n }\r\n }\r\n }\r\n\r\n var str = obtenDatoResumen(OpcionesDISPPPF);\r\n if (str !== \"\")\r\n res.push({titulo: \"Opciones de dispensación y faturación\", valor:str});\r\n\r\n var str = obtenDatoResumen(OpcionesCONPF);\r\n if (str !== \"\")\r\n res.push({titulo: \"Opciones de conservación\", valor:str});\r\n\r\n if ((seleccionFormulario.ints) && (seleccionFormulario.ints.length>0)){\r\n if (datosFormulario.listaIntsV){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.ints[i]);\r\n if (!item) item = datosFormulario.listaIntsNV.find(x => x.Codigo === seleccionFormulario.ints[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Aptos para las intolerancias del paciente\", valor: valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.texto && seleccionFormulario.texto.trim().length>2){\r\n if (datosFormulario.listaEpis){\r\n var aux = \"Algún epígrafe contiene el texto \";\r\n if (seleccionFormulario.noTexto)\r\n aux = \"Ningún epígrafe contiene el texto\";\r\n if (seleccionFormulario.idEpi && seleccionFormulario.idEpi>0){\r\n var item = datosFormulario.listaEpis.find(x => x.Codigo === seleccionFormulario.idEpi);\r\n if (item){\r\n if (seleccionFormulario.noTexto)\r\n aux = item.Valor.trim() + \" no contiene el texto \";\r\n else\r\n aux = item.Valor.trim() + \" contiene el texto \";\r\n }\r\n }\r\n aux += \"\\\"\" + seleccionFormulario.texto + \"\\\"\";\r\n res.push({titulo: \"Búsquedas por texto\", valor: aux});\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = (seleccionFormulario.pas && seleccionFormulario.pas.length>0)\r\n || (seleccionFormulario.txt && seleccionFormulario.txt.length>=2)\r\n || (seleccionFormulario.idsLab && seleccionFormulario.idsLab.length>0)\r\n || (seleccionFormulario.idsGT && seleccionFormulario.idsGT.length>0)\r\n || (seleccionFormulario.idFF>0)\r\n || (seleccionFormulario.idVia>0)\r\n || (seleccionFormulario.idsTipo && seleccionFormulario.idsTipo.length>0)\r\n || (seleccionFormulario.idsSubtipo && seleccionFormulario.idsSubtipo.length>0)\r\n || (seleccionFormulario.ops && seleccionFormulario.ops.length>0)\r\n || (seleccionFormulario.ints && seleccionFormulario.ints.length>0)\r\n || (seleccionFormulario.uds > 0)\r\n || (seleccionFormulario.fechaAutoIni) || (seleccionFormulario.fechaAutoFin)\r\n || (seleccionFormulario.fechaBajaIni) || (seleccionFormulario.fechaBajaFin)\r\n || (seleccionFormulario.idsMen && seleccionFormulario.idsMen.length>0)\r\n || (seleccionFormulario.texto && seleccionFormulario.texto.length>2)\r\n \r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BAvanzadaPPF\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n txt: seleccionFormulario.txt,\r\n idsLab: seleccionFormulario.idsLab,\r\n idsGT: seleccionFormulario.idsGT,\r\n idsTipo: seleccionFormulario.idsTipo,\r\n idsSubtipo: seleccionFormulario.idsSubtipo,\r\n pas: seleccionFormulario.pas,\r\n solo: seleccionFormulario.solo,\r\n idVia: seleccionFormulario.idVia,\r\n idFF: seleccionFormulario.idFF,\r\n ints: seleccionFormulario.ints,\r\n ops: seleccionFormulario.ops,\r\n uds: seleccionFormulario.uds,\r\n fechaAutoFin: seleccionFormulario.fechaAutoFin,\r\n fechaAutoIni: seleccionFormulario.fechaAutoIni,\r\n fechaBajaFin: seleccionFormulario.fechaBajaFin,\r\n fechaBajaIni: seleccionFormulario.fechaBajaIni,\r\n idsMen: seleccionFormulario.idsMen,\r\n texto: seleccionFormulario.texto,\r\n idEpi: seleccionFormulario.idEpi,\r\n noTexto: seleccionFormulario.noTexto,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n pas: [],\r\n txt: '',\r\n idsLab: [],\r\n idsGT: [],\r\n idsTipo: [],\r\n idsSubtipo: [],\r\n solo: \"N\",\r\n idVia: 0,\r\n idFF: 0,\r\n ints: [],\r\n ops: [],\r\n uds: 0,\r\n fechaAutoFin: null,\r\n fechaAutoIni: null,\r\n fechaBajaFin: null,\r\n fechaBajaIni: null,\r\n idsMen: [],\r\n texto: '',\r\n idEpi: 0,\r\n noTexto: false,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n DescargaVias(0);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fechaAutoFin = origen.fechaAutoFin;\r\n destino.fechaAutoIni = origen.fechaAutoIni;\r\n destino.fechaBajaFin = origen.fechaBajaFin;\r\n destino.fechaBajaIni = origen.fechaBajaIni;\r\n }\r\n\r\n const CambioFechaAuto= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaAutoIni = inicio;\r\n nuevaSeleccion.fechaAutoFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaBaja= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.fechaBajaIni = inicio;\r\n nuevaSeleccion.fechaBajaFin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n /*\r\n const CambioLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLaboratorio = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idLab = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioTipo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idTipo = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n DescargaVias(nuevovalor);\r\n }\r\n\r\n const BorraTipo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idTipo = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n DescargaVias(0);\r\n }\r\n\r\n const CambioSubtipo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idSubtipo = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraSubtipo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idSubtipo = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT= nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraGrupo = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idGT = '';\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n */\r\n\r\n const AddLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsLab) { nuevaSeleccion.idsLab = []};\r\n nuevaSeleccion.idsLab.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveLaboratorio = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsLab.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsLab.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddGrupo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsGT) { nuevaSeleccion.idsGT = []};\r\n nuevaSeleccion.idsGT.push(nuevovalor.trim());\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveGrupo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsGT.indexOf(valor.trim());\r\n nuevaSeleccion.idsGT.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddTipo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsTipo) { nuevaSeleccion.idsTipo = []};\r\n nuevaSeleccion.idsTipo.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveTipo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsTipo.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsTipo.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddSubtipo = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsSubtipo) { nuevaSeleccion.idsSubtipo = []};\r\n nuevaSeleccion.idsSubtipo.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSubtipo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsSubtipo.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsSubtipo.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (!nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n nuevaSeleccion.idsMen.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const NiegaAdvertencia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.idsMen) { nuevaSeleccion.idsMen = []};\r\n if (nuevaSeleccion.idsMen.includes(nuevovalor)){\r\n var idx = nuevaSeleccion.idsMen.indexOf(nuevovalor);\r\n nuevaSeleccion.idsMen.splice(idx,1,nuevovalor * -1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const RemoveAdvertencia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n var i = nuevaSeleccion.idsMen.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMen.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const AddSal = (idPA, idSal, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal, valor: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad, des: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdatePA = (idPA, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => Math.abs(item.codigo)===Math.abs(idPA));\r\n if (pa){\r\n if (negado){\r\n pa.codigo = Math.abs(idPA) * (-1);\r\n pa.sales = [];\r\n pa.cants = [];\r\n }else{\r\n pa.codigo = Math.abs(idPA);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => Math.abs(item.codigo)!==Math.abs(idPA));\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioVia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idVia = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idFF = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioUds = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.uds = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioIntolerancia = (e, idInt) =>{\r\n var item = e.target;\r\n var idx = (seleccionFormulario.ints) ? seleccionFormulario.ints.indexOf(idInt) : -1;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (item.checked){\r\n if (!nuevaSeleccion.ints) nuevaSeleccion.ints = [];\r\n if (idx<0) nuevaSeleccion.ints.push(idInt);\r\n }else{\r\n if (idx>=0) nuevaSeleccion.ints.splice(idx,1);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioBusquedaTexto = (nuevoepi, nuevotexto, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idEpi = nuevoepi;\r\n nuevaSeleccion.texto = nuevotexto;\r\n nuevaSeleccion.noTexto = negado;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaValorSNX = (valorSNX, idSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idSNX);\r\n if (item){\r\n if (valorSNX !== 'X'){\r\n item.valor = valorSNX;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valorSNX !=='X'){\r\n nuevaSeleccion.ops.push({cod:idSNX, valor:valorSNX});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaValorCHK = (valoresCHK,idCHK) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idCHK);\r\n if (item){\r\n if (valoresCHK.length>0){\r\n item.valores = valoresCHK;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valoresCHK.length>0){\r\n var newitem = {\r\n cod: idCHK,\r\n valores: valoresCHK,\r\n }\r\n nuevaSeleccion.ops.push(newitem);\r\n } \r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const listaCodValorLabs = (datosFormulario.listaLabs) ? datosFormulario.listaLabs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorGTs = (datosFormulario.listaGTs) ? datosFormulario.listaGTs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPAs = (datosFormulario.listaPAs) ? datosFormulario.listaPAs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorFFs = (datosFormulario.listaFFs) ? datosFormulario.listaFFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorVias = (datosFormulario.listaVias) ? datosFormulario.listaVias.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorTipos = (datosFormulario.listaTipos) ? datosFormulario.listaTipos.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorSubtipos = (datosFormulario.listaSubtipos) ? datosFormulario.listaSubtipos.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMens = (datosFormulario.listaMens) ? datosFormulario.listaMens.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEpis = (datosFormulario.listaEpis) ? datosFormulario.listaEpis.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n const HTMLIntoleranciasV = (((datosFormulario.listaIntsV) && (datosFormulario.listaIntsV.length>0)) ?\r\n datosFormulario.listaIntsV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const HTMLIntoleranciasNV = (((datosFormulario.listaIntsNV) && (datosFormulario.listaIntsNV.length>0)) ?\r\n datosFormulario.listaIntsNV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n const HTMLOpcionesDG = OpcionesDGPF.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesDISP = OpcionesDISPPPF.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const HTMLOpcionesCON = OpcionesCONPF.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const estiloLab = (isMobile) ? {} : {width: '50%'} ;\r\n const estiloFF = (isMobile) ? {} : {width: '40%'} ;\r\n const estiloVia = (isMobile) ? {} : {width: '25%'} ;\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const HTMLDatosGenContenido = (\r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Laboratorio

    \r\n \r\n
    \r\n
    \r\n

    Categorización Consejo General

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Tipo de producto

    \r\n \r\n
    \r\n
    \r\n

    Subtipo de producto

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Forma farmacéutica

    \r\n \r\n
    \r\n
    \r\n

    Vía de administración

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {HTMLOpcionesDG}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosCompos = (\r\n \r\n );\r\n\r\n const HTMLDatosDisp = (\r\n
    \r\n {HTMLOpcionesDISP}\r\n
    \r\n );\r\n\r\n const HTMLDatosCon = (\r\n
    \r\n {HTMLOpcionesCON}\r\n
    \r\n );\r\n\r\n const HTMLDatosPac = (\r\n
    \r\n
    \r\n
    \r\n

    Intolerancias

    \r\n
    \r\n
    \r\n {HTMLIntoleranciasV}\r\n
    \r\n
    \r\n {HTMLIntoleranciasNV}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n clickVerIntolerancias(e)}>{txtbotonIntolerancias} \"arrowPurpleDown2\"\r\n
    \r\n
    \r\n );\r\n\r\n const HTMLAdvertenciasContenido = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLDatosBusquedaTexto = (\r\n \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaPAs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBAvanzadaPPF;\r\n ","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorNumero from \"../../Utilidades/Selector/SelectorNumero\";\r\nimport Emergente from \"../../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\n\r\n\r\nconst FBComposicion= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaPAs: null,\r\n listaFFs: null,\r\n listaVias: null,\r\n listaIntsV: null,\r\n listaIntsNV: null,\r\n tipo: (props.tipo),\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n tipoProd: props.tipoProd,\r\n pas: props.pas,\r\n solo: props.solo,\r\n idVia: props.idVia,\r\n idFF: props.idFF,\r\n uds: props.uds,\r\n pv: props.pv,\r\n ints: props.ints,\r\n })\r\n const [ocultaIntolerancias, setOcultaIntolerancias] = useState(true);\r\n const [muestraAviso, setMuestraAviso] = useState(false);\r\n\r\n const claseIntoleranciasOcultas = (ocultaIntolerancias) ? \"cover hide\" : \"cover hide active\";\r\n const claseBotonIntolerancias = (ocultaIntolerancias) ? \"button button__arrow button__purple__line noUppercase verMas\" : \"button button__arrow button__purple__line noUppercase verMas active\";\r\n const txtbotonIntolerancias = (ocultaIntolerancias) ? \"Ver más\" : \"Ver menos\";\r\n\r\n useEffect(() => {\r\n if ((datosFormulario.listaPAs === null) || props.tipoProd != seleccionFormulario.tipoProd || props.tipo != datosFormulario.tipo)\r\n {\r\n if ((seleccionFormulario.tipoProd != props.tipoProd || props.tipo != datosFormulario.tipo)){\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas=[];\r\n nuevaSeleccion.tipoProd = props.tipoProd;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n DescargaDatos();\r\n } \r\n },[props.tipoProd,props.tipo]);\r\n\r\n const nombreComponente = (datosFormulario.tipo===\"P\") ? \"Ingrediente\" : \"Principio activo\";\r\n const nombreComponentePlural = (datosFormulario.tipo===\"P\") ? \"Ingredientes\" : \"Principios activos\";\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioComposicion(props.tipo, props.tipoProd, props.pas)\r\n .then((response) => {\r\n var df = {\r\n tipo: props.tipo,\r\n listaPAs : response.data.Componentes,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaIntsV : response.data.IntoleranciasV,\r\n listaIntsNV : response.data.IntoleranciasNoV,\r\n };\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Indique ' + nombreComponente.toLowerCase()});\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const ActualizaFormasYVias = (pas) => { \r\n BP2022Service.actualizaFFyVias(props.tipo, props.tipoProd, pas)\r\n .then((response) => {\r\n var df = {\r\n tipo: datosFormulario.tipo,\r\n listaPAs : datosFormulario.listaPAs,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaIntsV : datosFormulario.listaIntsV,\r\n listaIntsNV : datosFormulario.listaIntsNV,\r\n };\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const ActualizaListaIngredientesYVias = () => { \r\n BP2022Service.datosFormularioComposicion(datosFormulario.tipo)\r\n .then((response) => {\r\n var df = JSON.parse(JSON.stringify(datosFormulario));\r\n df.listaPAs = response.data.Componentes;\r\n df.listaVias = response.data.Vias;\r\n if (datosFormulario.tipo===\"P\")\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Seleccione una ingrediente'});\r\n df.listaVias.splice(0,0,{Codigo:0, Valor:''});\r\n setDatosFormulario(df);\r\n setSeleccionFormulario(seleccionFormulario);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const clickVerIntolerancias=(e) =>{\r\n setOcultaIntolerancias(!ocultaIntolerancias);\r\n }\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n\r\n if ((seleccionFormulario.pas) && (seleccionFormulario.pas.length>0)){\r\n if (datosFormulario.listaPAs){\r\n var titulo = \"Composición\";\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.pas[i].codigo));\r\n if (item){\r\n if (seleccionFormulario.pas[i].codigo<0)\r\n valor += \"No contiene \";\r\n valor += item.Valor;\r\n var sales = seleccionFormulario.pas[i].sales;\r\n if (sales && sales.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + sales[j].valor;\r\n }\r\n } \r\n var cants = seleccionFormulario.pas[i].cants;\r\n if (cants && cants.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + cants[j].des;\r\n }\r\n } \r\n }\r\n res.push({titulo:titulo, valor: valor});\r\n titulo = \"\";\r\n }\r\n if (seleccionFormulario.solo){ \r\n res.push({titulo: \"\", valor: \"Únicamente los \" + nombreComponentePlural.toLowerCase() + \" seleccionados\"});\r\n }\r\n else{\r\n res.push({titulo: \"\", valor: \"Puede contener \" + nombreComponentePlural.toLowerCase() + \" adicionales\"});\r\n }\r\n\r\n if (seleccionFormulario.idVia>0){\r\n if (datosFormulario.listaVias){\r\n var item = datosFormulario.listaVias.find(x => x.Codigo === seleccionFormulario.idVia);\r\n if (item)\r\n res.push ({titulo: \"Vía\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.idFF>0){\r\n if (datosFormulario.listaFFs){\r\n var item = datosFormulario.listaFFs.find(x => x.Codigo === seleccionFormulario.idFF);\r\n if (item)\r\n res.push ({titulo: \"Forma farmacéutica\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.uds>0){\r\n res.push ({titulo: \"Unidades envase\", valor: seleccionFormulario.uds.toString()});\r\n }\r\n \r\n if (seleccionFormulario.pv>0){\r\n res.push ({titulo: \"Peso / volumen\", valor: seleccionFormulario.pv.toString() + ' g o ml'});\r\n }\r\n \r\n\r\n if ((seleccionFormulario.ints) && (seleccionFormulario.ints.length>0)){\r\n if (datosFormulario.listaIntsV){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.ints[i]);\r\n if (!item) item = datosFormulario.listaIntsNV.find(x => x.Codigo === seleccionFormulario.ints[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Intolerancias del paciente\", valor: valor});\r\n }\r\n }\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = seleccionFormulario.pas && (seleccionFormulario.pas.filter(item => item.codigo>0).length>0);\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BComposicion\";\r\n if (datosFormulario.tipo===\"P\")\r\n newpagina += \"PPF\";\r\n else if (datosFormulario.tipo===\"V\")\r\n newpagina += \"MUV\";\r\n else\r\n newpagina += \"MUH\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n pas: seleccionFormulario.pas,\r\n tipoProd: seleccionFormulario.tipoProd,\r\n solo: seleccionFormulario.solo,\r\n idVia: seleccionFormulario.idVia,\r\n idFF: seleccionFormulario.idFF,\r\n uds: seleccionFormulario.uds,\r\n pv: seleccionFormulario.pv,\r\n ints: seleccionFormulario.ints,\r\n })\r\n }\r\n else{\r\n setMuestraAviso(true);\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n pas: [],\r\n tipoProd: seleccionFormulario.tipoProd,\r\n solo: (datosFormulario.tipo===\"P\" ? \"N\":\"S\"),\r\n idVia: 0,\r\n idFF: 0,\r\n uds: 0,\r\n pv: 0,\r\n ints: [],\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n ActualizaFormasYVias([]);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal, valor: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad, des: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n ActualizaFormasYVias(nuevaSeleccion.pas);\r\n }\r\n\r\n const UpdatePA = (idPA, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => Math.abs(item.codigo)===Math.abs(idPA));\r\n if (pa){\r\n if (negado){\r\n pa.codigo = Math.abs(idPA) * (-1);\r\n pa.sales = [];\r\n pa.cants = [];\r\n }else{\r\n pa.codigo = Math.abs(idPA);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => Math.abs(item.codigo)!==Math.abs(idPA));\r\n setSeleccionFormulario(nuevaSeleccion);\r\n ActualizaFormasYVias(nuevaSeleccion.pas);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioVia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idVia = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idFF = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioUnidad = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.uds = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioPV = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pv = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioIntolerancia = (e, idInt) =>{\r\n var item = e.target;\r\n var idx = (seleccionFormulario.ints) ? seleccionFormulario.ints.indexOf(idInt) : -1;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (item.checked){\r\n if (!nuevaSeleccion.ints) nuevaSeleccion.ints = [];\r\n if (idx<0) nuevaSeleccion.ints.push(idInt);\r\n }else{\r\n if (idx>=0) nuevaSeleccion.ints.splice(idx,1);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const listaCodValorPAs = (datosFormulario.listaPAs) ? datosFormulario.listaPAs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorFFs = (datosFormulario.listaFFs) ? datosFormulario.listaFFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorVias = (datosFormulario.listaVias) ? datosFormulario.listaVias.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n /*const listaCodValorIntV = (datosFormulario.listaIntsV) ? datosFormulario.listaIntsV.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorIntNV = (datosFormulario.listaIntsNV) ? datosFormulario.listaIntsNV.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];*/\r\n\r\n const HTMLIntoleranciasV = (((datosFormulario.listaIntsV) && (datosFormulario.listaIntsV.length>0)) ?\r\n datosFormulario.listaIntsV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const HTMLIntoleranciasNV = (((datosFormulario.listaIntsNV) && (datosFormulario.listaIntsNV.length>0)) ?\r\n datosFormulario.listaIntsNV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n\r\n const modalKeyName = \"NoDataFCompos\"\r\n const modalContent = (\r\n
    \r\n

    Debe indicar al menos un {nombreComponente.toLowerCase()}

    \r\n
    \r\n );\r\n const cierraAviso = () =>{\r\n setMuestraAviso(false);\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.listaPAs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n {muestraAviso ?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n

    Vía de administración

    \r\n \r\n
    \r\n
    \r\n

    Forma farmacéutica

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {(props.tipo === \"H\" || (props.tipo === \"P\" && props.tipoProd === 1)) ?\r\n
    \r\n
    \r\n
    \r\n

    Intolerancias

    \r\n
    \r\n
    \r\n {HTMLIntoleranciasV}\r\n
    \r\n
    \r\n {HTMLIntoleranciasNV}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n clickVerIntolerancias(e)}>{txtbotonIntolerancias} \"arrowPurpleDown2\"\r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n \r\n
    \r\n \r\n \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBComposicion;\r\n","import { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\n\r\nconst FBDocumentos= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaMed: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idMed: props.idMed,\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaMed === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioDocumentos()\r\n .then((response) => {\r\n var df = {\r\n listaMed : response.data.Medicamentos,\r\n };\r\n df.listaMed.splice(0,0,{Codigo:0, Valor:'Indique un medicamento o principio activo'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n\r\n if (seleccionFormulario.idMed>0){\r\n if (datosFormulario.listaMed){\r\n var item = datosFormulario.listaMed.find(x => x.Codigo === seleccionFormulario.idMed);\r\n if (item)\r\n res.push ({titulo: \"Relacionado con \", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.inicio){\r\n if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha del documento\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }else{\r\n res.push ({titulo: \"Fecha del documento\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio)});\r\n }\r\n }else if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha del documento\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }\r\n\r\n \r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n \r\n const hayBusqueda = true;\r\n\r\n const clickBuscar = (e) =>{\r\n props.cambiaPagina({\r\n newpagina: 'BDocumentos',\r\n idMed: seleccionFormulario.idMed,\r\n inicio: seleccionFormulario.inicio,\r\n fin: seleccionFormulario.fin,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n idMed: 0,\r\n inicio: null,\r\n fin: null,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fin = origen.fin;\r\n destino.inicio = origen.inicio;\r\n }\r\n\r\n const CambioFecha= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.inicio = inicio;\r\n nuevaSeleccion.fin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioMed = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idMed = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraMed = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idMed = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n const listaCodValorMed = (datosFormulario.listaMed) ? datosFormulario.listaMed.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50 \" ;\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.listaMed === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Medicamento/Principio activo

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBDocumentos;\r\n","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport { GetAntecesorWhithClassName } from \"../../../services/utils\";\r\n\r\n\r\nconst FBEspecieIndicacion= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaEnf: null,\r\n listaEspecie: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idEspecie: props.idEspecie,\r\n idEnf: props.idEnf,\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaEnf === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioEspecieIndicacion()\r\n .then((response) => {\r\n var df = {\r\n listaEnf : response.data.Enfermedades,\r\n listaEspecie : response.data.Especies,\r\n };\r\n df.listaEnf.splice(0,0,{Codigo:0, Valor:'Escriba una enfermedad'});\r\n df.listaEspecie.splice(0,0,{Codigo:0, Valor:'Escriba una especie animal'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.idEnf>0){\r\n if (datosFormulario.listaEnf){\r\n var item = datosFormulario.listaEnf.find(x => x.Codigo === seleccionFormulario.idEnf);\r\n if (item)\r\n res.push ({titulo: \"Indicación\", valor: item.Valor});\r\n }\r\n }\r\n if (seleccionFormulario.idEspecie>0){\r\n if (datosFormulario.listaEspecie){\r\n var item = datosFormulario.listaEspecie.find(x => x.Codigo === seleccionFormulario.idEspecie);\r\n if (item)\r\n res.push ({titulo: \"Especie destino\", valor: item.Valor});\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = seleccionFormulario.idEnf>0 || seleccionFormulario.idEspecie>0; \r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n props.cambiaPagina({\r\n newpagina: 'BEspecieIndicacionMUV',\r\n idEnf: seleccionFormulario.idEnf,\r\n idEspecie: seleccionFormulario.idEspecie,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n idEnf: 0,\r\n idEspecie: 0,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEspecie = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEspecie = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEnfermedad = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEspecie = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEspecie = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%'} : {height:'76px', width:'100%', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n const listaCodValorEnf = (datosFormulario.listaEnf) ? datosFormulario.listaEnf.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEspecie = (datosFormulario.listaEspecie) ? datosFormulario.listaEspecie.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbol === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBEspecieIndicacion;\r\n","import { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\n\r\nconst FBExtranjeros= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaPaises: null,\r\n listaPA: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idPais: props.idPais,\r\n solo: (props.solo ? props.solo : true),\r\n pas: (props.pas ? props.pas : []),\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPA === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioEXT()\r\n .then((response) => {\r\n var df = {\r\n listaPA : response.data.PrincipiosActivos,\r\n listaPaises : response.data.Paises, \r\n };\r\n df.listaPaises.splice(0,0,{CodPais:0, Nombre:'Indique un país'});\r\n df.listaPA.splice(0,0,{Codigo:0, Valor:'Indique un principio activo'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n if (seleccionFormulario.idPais>0){\r\n if (datosFormulario.listaPaises){\r\n var item = datosFormulario.listaPaises.find(x => x.CodPais === seleccionFormulario.idPais);\r\n if (item)\r\n res.push ({titulo: \"País\", valor: item.Nombre});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.pas) && (seleccionFormulario.pas.length>0)){\r\n if (datosFormulario.listaPA){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.pas[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Composición\", valor: valor});\r\n }\r\n }\r\n\r\n \r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = seleccionFormulario.idPais>0 || seleccionFormulario.txt != \"\" || (seleccionFormulario.pas && seleccionFormulario.pas.length > 0);\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda)\r\n props.cambiaPagina({\r\n newpagina: 'BExtranjerosEXT',\r\n txt: seleccionFormulario.txt,\r\n idPais: seleccionFormulario.idPais,\r\n pas: seleccionFormulario.pas,\r\n solo: seleccionFormulario.solo,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n txt: '',\r\n idPais: 0,\r\n pas: [],\r\n solo: true,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idPais = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraPais = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idPais = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const AddPA = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.pas) { nuevaSeleccion.pas = []};\r\n nuevaSeleccion.pas.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.pas.indexOf(parseInt(valor));\r\n nuevaSeleccion.pas.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaSolo= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n const listaCodValorPais = (datosFormulario.listaPaises) ? datosFormulario.listaPaises.map(it => ({codigo: it.CodPais, valor: it.Nombre})) : [];\r\n const listaCodValorPA = (datosFormulario.listaPA) ? datosFormulario.listaPA.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50 \" ;\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.listaPA === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)}/ >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    País:

    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Principios activos

    \r\n \r\n {((seleccionFormulario.solo)?\r\n \r\n
    \r\n \r\n \r\n
    \r\n :\r\n
    \r\n \r\n \r\n
    \r\n )} \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBExtranjeros;\r\n","import { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName } from \"../../../services/utils\";\r\n\r\nconst FBFechas= (props) => {\r\n const fecha = new Date();\r\n fecha.setMonth(fecha.getMonth() - 3);\r\n //const timespanDefault = Math.round(fecha.getTime()/1000);\r\n \r\n\r\n const codigoPagina = props.codigoPagina\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n //inicio: (!props.inicio && !props.fin)? fecha : props.inicio,\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n })\r\n\r\n useEffect(() => {\r\n },[]);\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.inicio){\r\n if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha \", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }else{\r\n res.push ({titulo: \"Fecha \", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicio)});\r\n }\r\n }else if (seleccionFormulario.fin){\r\n res.push ({titulo: \"Fecha \", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.fin)});\r\n }\r\n\r\n \r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const clickBuscar = (e) =>{\r\n var newpagina = codigoPagina.substring(1);\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n inicio: seleccionFormulario.inicio,\r\n fin: seleccionFormulario.fin,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n inicio: null,\r\n fin: null,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.fin = origen.fin;\r\n destino.inicio = origen.inicio;\r\n }\r\n\r\n const CambioFecha= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.inicio = inicio;\r\n nuevaSeleccion.fin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50 \" ;\r\n\r\n return (\r\n
    \r\n\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FBFechas;\r\n","const PreviewForma = (props) => {\r\n const idForma = props.idForma;\r\n const color1 = (props.color1 ? props.color1 : \"transparent\");\r\n const color2 = (props.color2 ? props.color2 : \"transparent\");\r\n\r\n const HTMLCirculo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLCuadrado = ( \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLRectangulo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLTriangulo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLPentagono = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLHexagono = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLOvalo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLHuevo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLCorazon = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLDiamante = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLDobleFlecha = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLMediaLuna = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLManzana = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLOctogono = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLRombo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const HTMLEsmeralda = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n const HTMLEscudo = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n\r\n\r\n const ListaFormas = [\r\n HTMLCirculo,\r\n HTMLCuadrado,\r\n HTMLRectangulo,\r\n HTMLTriangulo,\r\n HTMLPentagono,\r\n HTMLHexagono,\r\n HTMLOvalo,\r\n HTMLHuevo,\r\n HTMLCorazon,\r\n HTMLDiamante,\r\n HTMLDobleFlecha,\r\n HTMLMediaLuna,\r\n HTMLManzana,\r\n HTMLOctogono,\r\n HTMLRombo,\r\n HTMLEsmeralda,\r\n HTMLEscudo,\r\n ]\r\n\r\n\r\n return(\r\n
    \r\n {ListaFormas[idForma-1]}\r\n
    \r\n );\r\n}\r\n\r\nexport default PreviewForma;\r\n\r\n\r\n/*\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n*/","\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { GetAntecesorWhithClassName, rootPath, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport { OpcionesADM, OpcionesDG, OpcionesDISP, OpcionesESP, OpcionesOTR, OpcionesPAC, OpcionesPacientePI, OpcionesPatologiasPI } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport PreviewForma from \"./PreviewForma\";\r\n\r\nconst FBFormaColor= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaFormas: null,\r\n listaColores: null,\r\n listaSabores: null,\r\n listaEnfs: null,\r\n listaPAs: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idForma: props.idForma,\r\n idColor1: props.idColor1,\r\n idColor2: props.idColor2,\r\n idSabor: props.idSabor,\r\n idEnf: props.idEnf,\r\n tamanos: (props.tamanos ? props.tamanos : []),\r\n CO1: props.CO1,\r\n CO2: props.CO2,\r\n col2: props.col2,\r\n anycol: props.anycol,\r\n ranura: props.ranura,\r\n logo: props.logo,\r\n difCol: props.difCol,\r\n solo: (props.solo ? props.solo : true),\r\n ins1: props.ins1,\r\n ins2: props.ins2,\r\n pas: (props.pas ? props.pas : []),\r\n })\r\n const [tipoFF, setTipoFF] = useState(props.tipoFF);\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaEnfs === null){\r\n DescargaDatos();\r\n } \r\n if (tipoFF !== props.tipoFF)\r\n setTipoFF(props.tipoFF);\r\n var col1 = document.getElementById('Seccion_Color1');\r\n var col1c = document.getElementById('Seccion_Color1_Copia');\r\n var col2 = document.getElementById('Seccion_Color2');\r\n var sab = document.getElementById('Seccion_Sabor');\r\n var ftr = document.getElementById('Seccion_Forma_Tamano_Ranura');\r\n var ins = document.getElementById('Seccion_Inscripciones');\r\n if (col1){\r\n if (props.tipoFF===\"CO\"){\r\n col1.style.display='block';\r\n col1c.style.display='none';\r\n col2.style.display='block';\r\n sab.style.display='block';\r\n ftr.style.display='block';\r\n ins.style.display='block';\r\n }\r\n if (props.tipoFF==='CA'){\r\n col1.style.display='none';\r\n col1c.style.display='block';\r\n col2.style.display='block';\r\n sab.style.display='none';\r\n ftr.style.display='none';\r\n ins.style.display='block';\r\n }\r\n if (props.tipoFF==='JA'){\r\n col1.style.display='none';\r\n col1c.style.display='block';\r\n col2.style.display='none';\r\n sab.style.display='block';\r\n ftr.style.display='none';\r\n ins.style.display='none';\r\n }\r\n }\r\n if (props.tipoFF != tipoFF)\r\n BorraBusqueda();\r\n },[props.tipoFF, datosFormulario, seleccionFormulario]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioFormaColor()\r\n .then((response) => {\r\n var df = {\r\n listaFormas : response.data.Formas,\r\n listaColores : response.data.Colores,\r\n listaSabores : response.data.Sabores,\r\n listaEnfs : response.data.Enfermedades,\r\n listaPAs : response.data.PrincipiosActivos,\r\n };\r\n df.listaSabores.splice(0,0,{Codigo:0, Valor:'Indique un sabor'});\r\n df.listaEnfs.splice(0,0,{Codigo:0, Valor:'Indique una enfermedad '});\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Indique un principio activo '});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const getStrColor=(idColor) =>{\r\n if (idColor){\r\n var color = datosFormulario.listaColores.find(col => col.Codigo===idColor)\r\n if (color)\r\n if (color.AuxStr)\r\n return color.AuxStr;\r\n else\r\n return \"transparent\";\r\n else\r\n return \"#FFFFFF\";\r\n }else{\r\n return \"#FFFFFF\";\r\n }\r\n }\r\n\r\n const getStrTamanos=() =>{\r\n var res = \"\";\r\n if (seleccionFormulario.tamanos){\r\n for (var i=0; i{\r\n var res = \"\";\r\n if (seleccionFormulario.ins1 && seleccionFormulario.ins1 !== \"\"){\r\n if (res != \"\")\r\n res += \"\\n\";\r\n res += seleccionFormulario.ins1;\r\n }\r\n if (seleccionFormulario.ins2 && seleccionFormulario.ins2 !== \"\"){\r\n if (res != \"\")\r\n res += \"\\n\";\r\n res += seleccionFormulario.ins2;\r\n }\r\n if (seleccionFormulario.logo){\r\n if (res != \"\")\r\n res += \"\\n\";\r\n res += \"Con dibujo\"\r\n }\r\n return res;\r\n }\r\n\r\n const getStrColorDesc=(idColor, co) =>{\r\n var res = \"\";\r\n if (idColor !== \"\" ){\r\n var color = datosFormulario.listaColores.find(col => col.Codigo===idColor)\r\n if (color)\r\n res = upperCaseFirstLetter(color.Valor);\r\n if (co===\"C\") \r\n res += \" claro\";\r\n else if (co===\"O\")\r\n res += \" oscuro\";\r\n }\r\n return res;\r\n }\r\n\r\n const getStrSabor=() =>{\r\n var res = \"\";\r\n if (seleccionFormulario.idSabor > 0 ){\r\n var item = datosFormulario.listaSabores.find(col => col.Codigo===seleccionFormulario.idSabor)\r\n if (item)\r\n res = upperCaseFirstLetter(item.Valor);\r\n }\r\n return res;\r\n }\r\n\r\n const getStrIndicacion=() =>{\r\n var res = \"\";\r\n if (seleccionFormulario.idEnf > 0 ){\r\n var item = datosFormulario.listaEnfs.find(col => col.Codigo===seleccionFormulario.idEnf)\r\n if (item)\r\n res = upperCaseFirstLetter(item.Valor);\r\n }\r\n return res;\r\n }\r\n\r\n const getStrPrincipiosActivos=() =>{\r\n var res = \"\";\r\n if (seleccionFormulario.pas && seleccionFormulario.pas.length > 0 ){\r\n /*for (var i=0; i col.Codigo===seleccionFormulario.pas[i])\r\n if (item)\r\n aux = item.Valor;\r\n if (res === \"\")\r\n res = aux;\r\n else\r\n res += \"\\n\" + aux;\r\n }*/\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.pas[i].codigo));\r\n if (item){\r\n if (seleccionFormulario.pas[i].codigo<0)\r\n valor += \"No contiene \";\r\n valor += item.Valor;\r\n var sales = seleccionFormulario.pas[i].sales;\r\n if (sales && sales.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + sales[j].valor;\r\n }\r\n } \r\n var cants = seleccionFormulario.pas[i].cants;\r\n if (cants && cants.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + cants[j].des;\r\n }\r\n } \r\n }\r\n res = valor;\r\n }\r\n if (seleccionFormulario.solo) \r\n res += \"\\n Únicamente los principios activos indicados\";\r\n else \r\n res += \"\\n Puede contener otros principios activos \";\r\n }\r\n return res;\r\n }\r\n\r\n const clickCambiaCol2 = (e) =>{\r\n var check = e.target;\r\n var item = GetAntecesorWhithClassName(check, 'checks__full');\r\n item = item.nextSibling;\r\n var content = item.nextSibling;\r\n if (check.checked){\r\n item.classList.add('active');\r\n content.classList.add('active');\r\n }else{\r\n item.classList.remove('active');\r\n content.classList.remove('active');\r\n }\r\n CambiaCol2(check.checked);\r\n }\r\n\r\n const despliegaColor2= (e) =>{\r\n var item = e.target;\r\n item = GetAntecesorWhithClassName(item,'showButton__colors');\r\n var content = item.nextSibling;\r\n item.classList.toggle(\"active\");\r\n content.classList.toggle(\"active\");\r\n }\r\n\r\n const clasesHeaderColor2 = (seleccionFormulario.col2) ? \"showButton showButton__colors active\" : \"showButton showButton__colors\";\r\n const clasesContentColor2 = (seleccionFormulario.col2) ? \"module module__filters showContent active\" : \"module module__filters showContent\";\r\n \r\n const hayBusqueda = seleccionFormulario.idEnf>0 || seleccionFormulario.idForma>0 || seleccionFormulario.idColor1!=='' || seleccionFormulario.idSabor>0 || seleccionFormulario.ins1 !== '' || (seleccionFormulario.pas && seleccionFormulario.pas.length>0);\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n var newpagina = \"BFormaColorMUH\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n tipoFF: tipoFF,\r\n idForma: seleccionFormulario.idForma,\r\n idColor1: seleccionFormulario.idColor1,\r\n idColor2: seleccionFormulario.idColor2,\r\n idSabor: seleccionFormulario.idSabor,\r\n idEnf: seleccionFormulario.idEnf,\r\n tamanos: seleccionFormulario.tamanos,\r\n CO1: seleccionFormulario.CO1,\r\n CO2: seleccionFormulario.CO2,\r\n ranura: seleccionFormulario.ranura,\r\n logo: seleccionFormulario.logo,\r\n difCol: seleccionFormulario.difCol,\r\n anycol: seleccionFormulario.anycol,\r\n col2: seleccionFormulario.col2,\r\n ins1: seleccionFormulario.ins1,\r\n ins2: seleccionFormulario.ins2,\r\n pas: seleccionFormulario.pas,\r\n solo: seleccionFormulario.solo,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n idForma: 0,\r\n idColor1: '',\r\n idColor2: '',\r\n idSabor: 0,\r\n idEnf: 0,\r\n tamanos: [],\r\n CO1: '',\r\n CO2: '',\r\n ranura: false,\r\n logo: false,\r\n difCol: false,\r\n anycol: false,\r\n col2: false,\r\n ins1: '',\r\n ins2: '',\r\n pas: [],\r\n solo: true,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n\r\n }\r\n\r\n const CambioEnfermedad = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEnfermedad = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const ClickForma = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (nuevaSeleccion.idForma === nuevovalor)\r\n nuevaSeleccion.idForma = 0;\r\n else\r\n nuevaSeleccion.idForma = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioForma = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idForma = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const ClickColor1 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (nuevaSeleccion.idColor1 === nuevovalor)\r\n nuevaSeleccion.idColor1 = '';\r\n else\r\n nuevaSeleccion.idColor1 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const ClickColor2 = (nuevovalor) =>{\r\n if (seleccionFormulario.idColor2 === nuevovalor)\r\n CambioColor2('');\r\n else\r\n CambioColor2(nuevovalor);\r\n }\r\n\r\n const CambioColor1 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idColor1 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioColor2 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idColor2 = nuevovalor;\r\n nuevaSeleccion.anycol = false;\r\n nuevaSeleccion.col2 = true;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambioSabor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idSabor = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraSabor = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idSabor = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddTamano= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.tamanos) { nuevaSeleccion.tamanos = []};\r\n nuevaSeleccion.tamanos.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const RemoveTamano = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.tamanos.indexOf(valor);\r\n nuevaSeleccion.tamanos.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const ToggleTamano = (valor) =>{\r\n if (seleccionFormulario.tamanos.includes(valor))\r\n RemoveTamano(valor);\r\n else\r\n AddTamano(valor);\r\n }\r\n\r\n const CambiaCO1= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.CO1 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaCO2= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.CO2 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n } \r\n\r\n const CambiaRanura= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.ranura = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaLogo= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.logo = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambiaDifCol= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.difCol = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambiaAnycol= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.anycol = nuevovalor;\r\n if (nuevovalor)\r\n nuevaSeleccion.idColor2 = \"\";\r\n else if (!nuevaSeleccion.idColor2 || nuevaSeleccion.idColor2===\"\")\r\n nuevaSeleccion.col2 = false;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambiaCol2= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.col2 = nuevovalor;\r\n if ((nuevovalor) && (!nuevaSeleccion.idColor2 || nuevaSeleccion.idColor2 == \"\"))\r\n nuevaSeleccion.anycol = true;\r\n if (!nuevovalor){\r\n nuevaSeleccion.anycol = false;\r\n nuevaSeleccion.idColor2 = \"\";\r\n }\r\n\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n const CambiaSolo= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambiaIns1= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.ins1 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n \r\n const CambiaIns2= (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.ins2 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n/*\r\n const AddPA = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.pas) { nuevaSeleccion.pas = []};\r\n nuevaSeleccion.pas.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.pas.indexOf(parseInt(valor));\r\n nuevaSeleccion.pas.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n*/\r\n\r\n const AddSal = (idPA, idSal, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal, valor: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad, des) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad, des: des});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n //ActualizaFormasYVias(nuevaSeleccion.pas);\r\n }\r\n\r\n const UpdatePA = (idPA, negado) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => Math.abs(item.codigo)===Math.abs(idPA));\r\n if (pa){\r\n if (negado){\r\n pa.codigo = Math.abs(idPA) * (-1);\r\n pa.sales = [];\r\n pa.cants = [];\r\n }else{\r\n pa.codigo = Math.abs(idPA);\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => Math.abs(item.codigo)!==Math.abs(idPA));\r\n setSeleccionFormulario(nuevaSeleccion);\r\n //ActualizaFormasYVias(nuevaSeleccion.pas);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.solo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n\r\n const listaTamanos = [\r\n {\r\n cod: \"P\",\r\n txt: \"<8 mm\",\r\n img: \"forma10size1.svg\",\r\n },\r\n {\r\n cod: \"M\",\r\n txt: \"8-15 mm\",\r\n img: \"forma10size2.svg\",\r\n },\r\n {\r\n cod: \"G\",\r\n txt: \">15 mm\",\r\n img: \"forma10size3.svg\",\r\n },\r\n ]\r\n\r\n\r\n const listaCodValorSabores = (datosFormulario.listaSabores) ? datosFormulario.listaSabores.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorColores = (datosFormulario.listaColores) ? datosFormulario.listaColores.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPAs = (datosFormulario.listaPAs) ? datosFormulario.listaPAs.map (it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorEnfs = (datosFormulario.listaEnfs) ? datosFormulario.listaEnfs.map (it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n listaCodValorColores.splice(0,0,{codigo:\"\", valor:''});\r\n listaCodValorColores.splice(0,0,{codigo:\"\", valor:'Selecciones un color'});\r\n\r\n const estiloSeleccionado = {\r\n backgroundColor: \"#f8f0ff\",\r\n borderColor: '#c8a6e5',\r\n }\r\n const estiloTamanoSeleccionado = {\r\n backgroundColor: \"#f8f0ff\",\r\n borderColor: '#c8a6e5',\r\n width: '63px',\r\n height: '63px',\r\n }\r\n const textoTamanoSeleccionado = {\r\n color: '#81509A',\r\n fontWeight: '500',\r\n }\r\n const estiloTamanoVacio = {\r\n width: '63px',\r\n height: '63px',\r\n }\r\n const textoTamanoVacio = {\r\n }\r\n const estiloVacio = { }\r\n\r\n const HTMLFormas = ((datosFormulario.listaFormas) ? \r\n datosFormulario.listaFormas.map(forma =>\r\n
    ClickForma(forma.Codigo)}>\r\n \r\n
    \r\n )\r\n :\r\n
    \r\n );\r\n\r\n const nomForma = (seleccionFormulario.idForma && seleccionFormulario.idForma>0 && datosFormulario.listaFormas ? datosFormulario.listaFormas.find(forma => forma.Codigo === seleccionFormulario.idForma).Valor : '');\r\n\r\n const HTMLTamanos = ((listaTamanos) ? \r\n listaTamanos.map(tam =>\r\n
    ToggleTamano(tam.cod)}>\r\n \r\n
    \r\n )\r\n :\r\n
    \r\n );\r\n\r\n const HTMLColores = ((datosFormulario.listaColores) ?\r\n datosFormulario.listaColores.map(color =>\r\n (color.Codigo !== 'ZY' || tipoFF !== 'CO') ? \r\n \r\n :\r\n <>\r\n )\r\n :\r\n
    \r\n );\r\n\r\n \r\n const HTMLColores2 = ((datosFormulario.listaColores) ?\r\n datosFormulario.listaColores.map(color =>\r\n (color.Codigo !== 'ZY' || tipoFF !== 'CO') ? \r\n \r\n :\r\n <>\r\n )\r\n :\r\n
    \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n const estiloFormaMin = (seleccionFormulario.idForma === 12 ? {width: '9px', marginRight: '14px', marginLeft: '4px'}: {width: '17px', marginRight: '10px', marginLeft: '0px'});\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaEnfs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Forma:

    \r\n
    \r\n
    \r\n
    \r\n {HTMLFormas}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Tamaño:

    \r\n
    \r\n
    \r\n {HTMLTamanos}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Ranura:

    \r\n
    \r\n
    \r\n {(seleccionFormulario.ranura) ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Color 1:

    \r\n
    \r\n
    \r\n {HTMLColores} \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {(seleccionFormulario.CO1 === 'C') ?\r\n \r\n :\r\n \r\n }\r\n {(seleccionFormulario.CO1 === 'O') ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Inscripciones:

    \r\n
    \r\n
    \r\n
    \r\n CambiaIns1(e.target.value)} />\r\n
    \r\n
    \r\n CambiaIns2(e.target.value)} />\r\n
    \r\n
    \r\n
    \r\n {(seleccionFormulario.logo) ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Color 1:

    \r\n
    \r\n
    \r\n {HTMLColores} \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {(seleccionFormulario.CO1 === 'C') ?\r\n \r\n :\r\n \r\n }\r\n {(seleccionFormulario.CO1 === 'O') ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    despliegaColor2(e)}>\r\n

    Color 2:

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {HTMLColores2} \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {(seleccionFormulario.CO2 === 'C') ?\r\n \r\n :\r\n \r\n }\r\n {(seleccionFormulario.CO2 === 'O') ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sabor:

    \r\n \r\n \r\n
    \r\n
    \r\n\r\n

    Indicacion:

    \r\n \r\n \r\n
    \r\n
    \r\n

    Composición de búsqueda:

    \r\n
    \r\n {(seleccionFormulario.idForma>0 && tipoFF===\"CO\") ?\r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n {(seleccionFormulario.idForma>0 && tipoFF===\"CO\") ?\r\n
    \r\n
    \r\n

    Forma:

    \r\n
    \r\n
    \r\n

    \r\n \r\n {nomForma}\r\n

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(seleccionFormulario.tamanos && seleccionFormulario.tamanos.length>0 && tipoFF===\"CO\") ?\r\n
    \r\n
    \r\n

    Tamaño:

    \r\n
    \r\n
    \r\n

    {getStrTamanos()}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(seleccionFormulario.ranura && tipoFF===\"CO\") ?\r\n
    \r\n
    \r\n

    Ranura:

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(((seleccionFormulario.ins1 && seleccionFormulario.ins1 !== \"\") \r\n || (seleccionFormulario.ins2 && seleccionFormulario.ins2 !== \"\")\r\n || (seleccionFormulario.logo)) \r\n && (tipoFF===\"CO\" || tipoFF===\"CA\")) ?\r\n
    \r\n
    \r\n

    Inscripciones:

    \r\n
    \r\n
    \r\n

    {getStrInscripciones()}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(seleccionFormulario.idColor1 && seleccionFormulario.idColor1 !== \"\") \r\n ?\r\n
    \r\n
    \r\n

    Color:

    \r\n
    \r\n
    \r\n

    \r\n {(seleccionFormulario.idColor1 === \"ZY\") ?\r\n \r\n :\r\n \r\n }\r\n \r\n {upperCaseFirstLetter(getStrColorDesc(seleccionFormulario.idColor1, seleccionFormulario.CO1))}\r\n \r\n

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(((seleccionFormulario.idColor2 && seleccionFormulario.idColor2 !== \"\") || seleccionFormulario.col2)\r\n && (tipoFF === \"CO\" || tipoFF === \"CA\"))\r\n ?\r\n
    \r\n
    \r\n

    Color 2:

    \r\n
    \r\n
    \r\n

    \r\n {(seleccionFormulario.anycol) ?\r\n \r\n : (seleccionFormulario.idColor2 === \"ZY\") ?\r\n \r\n :\r\n \r\n }\r\n \r\n {(seleccionFormulario.anycol) ?\r\n \"Cualquiera\"\r\n :\r\n upperCaseFirstLetter(getStrColorDesc(seleccionFormulario.idColor2, seleccionFormulario.CO2))\r\n }\r\n \r\n

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(seleccionFormulario.idSabor > 0 && (tipoFF===\"CO\" || tipoFF===\"JA\")) ?\r\n
    \r\n
    \r\n

    Sabor:

    \r\n
    \r\n
    \r\n

    {getStrSabor()}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n\r\n {(seleccionFormulario.idEnf > 0 ) ?\r\n
    \r\n
    \r\n

    Indicación:

    \r\n
    \r\n
    \r\n

    {getStrIndicacion()}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n\r\n {(seleccionFormulario.pas && seleccionFormulario.pas.length > 0 ) ?\r\n
    \r\n
    \r\n

    Principios activos:

    \r\n
    \r\n
    \r\n

    {getStrPrincipiosActivos()}

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(seleccionFormulario.difCol && (tipoFF===\"CO\" || tipoFF===\"CA\")) ?\r\n
    \r\n
    \r\n

    Tiene comprimidos diferentes

    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBFormaColor;\r\n /*, backgroundImage:'/img/ficha/transparent.svg', backgroundRepeat:'repeat', backgroundSize:'50%'*/","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport { OpcionesADM, OpcionesDG, OpcionesDISP, OpcionesESP, OpcionesOTR, OpcionesPAC, OpcionesPacientePI, OpcionesPatologiasPI } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\n\r\nconst FBPacienteIndicacion= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaEnfs: null,\r\n listaMeds: null,\r\n listaAlgs: null,\r\n listaFFs: null,\r\n listaVias: null,\r\n listaIntsV: null,\r\n listaIntsNV: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idEnf: props.idEnf,\r\n idsPat: props.idsPat,\r\n idsMed: props.idsMed,\r\n idsAlg: props.idsAlg,\r\n idVia: props.idVia,\r\n idFF: props.idFF,\r\n ints: props.ints,\r\n edad: props.edad,\r\n undEdad: (props.undEdad ? props.undEdad : 'A'),\r\n ops: (props.ops ? props.ops : []),\r\n })\r\n\r\n const [ocultaIntolerancias, setOcultaIntolerancias] = useState(true);\r\n\r\n const claseIntoleranciasOcultas = (ocultaIntolerancias) ? \"cover hide\" : \"cover hide active\";\r\n const claseBotonIntolerancias = (ocultaIntolerancias) ? \"button button__arrow button__purple__line noUppercase verMas\" : \"button button__arrow button__purple__line noUppercase verMas active\";\r\n const txtbotonIntolerancias = (ocultaIntolerancias) ? \"Ver más\" : \"Ver menos\";\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaEnfs === null){\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioPacienteIndicacion()\r\n .then((response) => {\r\n var df = {\r\n listaEnfs : response.data.Enfermedades,\r\n listaMeds : response.data.Medicamentos,\r\n listaAlgs : response.data.Alergias,\r\n listaVias : response.data.Vias,\r\n listaFFs : response.data.FormasFarma,\r\n listaIntsV : response.data.IntoleranciasV,\r\n listaIntsNV : response.data.IntoleranciasNoV,\r\n };\r\n df.listaMeds.splice(0,0,{Codigo:0, Valor:'Indique un medicamento o principio activo'});\r\n df.listaEnfs.splice(0,0,{Codigo:0, Valor:'Indique una enfermedad '});\r\n df.listaAlgs.splice(0,0,{Codigo:0, Valor:'Indique una alergia '});\r\n df.listaVias.splice(0,0,{Codigo:-1, Valor:'Seleccione una vía'},{Codigo:0, Valor:'-'});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const clickVerIntolerancias=(e) =>{\r\n setOcultaIntolerancias(!ocultaIntolerancias);\r\n }\r\n\r\n const obtenDatoResumen = (opciones) =>{\r\n var strValores=[]\r\n for(var i=0; i< opciones.length; i++){\r\n var itemOpcion = opciones[i];\r\n if (itemOpcion.tip===\"CHK\"){\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \" o \";\r\n else strVal += itemOpcion.tit + \": \";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n }else if (itemOpcion.tip===\"SNX\"){\r\n var itemSel = seleccionFormulario.ops.find(item =>item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valor && itemSel.valor !== \"\" && itemSel.valor !== \"X\"){\r\n if (itemSel.valor === \"S\"){\r\n strValores.push(itemOpcion.tit);\r\n }else if (itemSel.valor === \"N\"){\r\n strValores.push(\"No \" + itemOpcion.tit.toLowerCase());\r\n }\r\n }\r\n }\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i{\r\n var strValores=[]\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \", \";\r\n else strVal += \"\";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n if (valSel.val === \"NIN\"){\r\n if ((seleccionFormulario.edad>0) && (seleccionFormulario.undEdad) && (seleccionFormulario.undEdad!==\"\")){\r\n strVal += \" de \" + seleccionFormulario.edad.toString() + (seleccionFormulario.undEdad===\"M\" ? \" meses\": \" años\");\r\n }\r\n }\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i{\r\n var strValores=[]\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \", \";\r\n else strVal += \"\";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i {\r\n var res = [];\r\n\r\n if (seleccionFormulario.idEnf>0){\r\n if (datosFormulario.listaEnfs){\r\n var item = datosFormulario.listaEnfs.find(x => x.Codigo === seleccionFormulario.idEnf);\r\n if (item)\r\n res.push ({titulo: \"Medicamentos indicados para \", valor: item.Valor});\r\n }\r\n\r\n var itemPat = seleccionFormulario.ops.find(item => item.cod===\"PAT\");\r\n if (((seleccionFormulario.idsPat) && (seleccionFormulario.idsPat.length>0)) || itemPat){\r\n if (datosFormulario.listaEnfs){\r\n var valor = obtenDatoResumenPatologias(OpcionesPatologiasPI[0]);\r\n if (seleccionFormulario.idsPat){\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsPat[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: 'Otras patologías del paciente', valor: valor});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.idsMed) && (seleccionFormulario.idsMed.length>0)){\r\n if (datosFormulario.listaMeds){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsMed[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Otra medicación del paciente\", valor: valor});\r\n }\r\n }\r\n\r\n var valor = obtenDatoResumenPaciente(OpcionesPacientePI[0]);\r\n if (valor != \"\")\r\n res.push ({titulo: \"Características del paciente\", valor: valor});\r\n \r\n if (seleccionFormulario.idFF>0){\r\n if (datosFormulario.listaFFs){\r\n var item = datosFormulario.listaFFs.find(x => x.Codigo === seleccionFormulario.idFF);\r\n if (item)\r\n res.push ({titulo: \"Forma farmacéutica\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if (seleccionFormulario.idVia>0){\r\n if (datosFormulario.listaVias){\r\n var item = datosFormulario.listaVias.find(x => x.Codigo === seleccionFormulario.idVia);\r\n if (item)\r\n res.push ({titulo: \"Vía\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.ints) && (seleccionFormulario.ints.length>0)){\r\n if (datosFormulario.listaIntsV){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.ints[i]);\r\n if (!item) item = datosFormulario.listaIntsNV.find(x => x.Codigo === seleccionFormulario.ints[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Intolerancias del paciente\", valor: valor});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.idsAlg) && (seleccionFormulario.idsAlg.length>0)){\r\n if (datosFormulario.listaAlgs){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsAlg[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Alergias del paciente\", valor: valor});\r\n }\r\n } \r\n \r\n }\r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = seleccionFormulario.idEnf>0;\r\n\r\n const clickBuscar = (e) =>{\r\n if ( hayBusqueda){\r\n var newpagina = \"BPacienteIndicacionMUH\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n idEnf: seleccionFormulario.idEnf,\r\n idsPat: seleccionFormulario.idsPat,\r\n idsMed: seleccionFormulario.idsMed,\r\n idsAlg: seleccionFormulario.idsAlg,\r\n idVia: seleccionFormulario.idVia,\r\n idFF: seleccionFormulario.idFF,\r\n edad: seleccionFormulario.edad,\r\n undEdad: seleccionFormulario.undEdad,\r\n ints: seleccionFormulario.ints,\r\n ops: seleccionFormulario.ops,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n idEnf: 0,\r\n idsPat: [],\r\n idsMed: [],\r\n idsAlg: [],\r\n idVia: 0,\r\n idFF: 0,\r\n edad: 0,\r\n undEdad: '',\r\n ints: [],\r\n ops: [],\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEnfermedad = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPatologia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsPat) { nuevaSeleccion.idsPat = []};\r\n nuevaSeleccion.idsPat.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePatologia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsPat.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsPat.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddMedicamento = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsMed) { nuevaSeleccion.idsMed = []};\r\n nuevaSeleccion.idsMed.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveMedicamento = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsMed.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMed.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddAlergia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsAlg) { nuevaSeleccion.idsAlg = []};\r\n nuevaSeleccion.idsAlg.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveAlergia = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsAlg.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsAlg.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioVia = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idVia = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idFF = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioIntolerancia = (e, idInt) =>{\r\n var item = e.target;\r\n var idx = (seleccionFormulario.ints) ? seleccionFormulario.ints.indexOf(idInt) : -1;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (item.checked){\r\n if (!nuevaSeleccion.ints) nuevaSeleccion.ints = [];\r\n if (idx<0) nuevaSeleccion.ints.push(idInt);\r\n }else{\r\n if (idx>=0) nuevaSeleccion.ints.splice(idx,1);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEdad = (nuevaedad, nuevaunidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.edad = nuevaedad;\r\n nuevaSeleccion.undEdad = nuevaunidad;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaValorSNX = (valorSNX, idSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idSNX);\r\n if (item){\r\n if (valorSNX !== 'X'){\r\n item.valor = valorSNX;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valorSNX !=='X'){\r\n nuevaSeleccion.ops.push({cod:idSNX, valor:valorSNX});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaValorCHK = (valoresCHK,idCHK) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idCHK);\r\n if (item){\r\n if (valoresCHK.length>0){\r\n item.valores = valoresCHK;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valoresCHK.length>0){\r\n var newitem = {\r\n cod: idCHK,\r\n valores: valoresCHK,\r\n }\r\n nuevaSeleccion.ops.push(newitem);\r\n } \r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const listaCodValorEnfs = (datosFormulario.listaEnfs) ? datosFormulario.listaEnfs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMeds = (datosFormulario.listaMeds) ? datosFormulario.listaMeds.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorAlgs = (datosFormulario.listaAlgs) ? datosFormulario.listaAlgs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorFFs = (datosFormulario.listaFFs) ? datosFormulario.listaFFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorVias = (datosFormulario.listaVias) ? datosFormulario.listaVias.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n const HTMLIntoleranciasV = (((datosFormulario.listaIntsV) && (datosFormulario.listaIntsV.length>0)) ?\r\n datosFormulario.listaIntsV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const HTMLIntoleranciasNV = (((datosFormulario.listaIntsNV) && (datosFormulario.listaIntsNV.length>0)) ?\r\n datosFormulario.listaIntsNV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n /* const HTMLOpcionesPat = OpcionesPatologiasPI.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );*/\r\n\r\n const HTMLPiePat = (\r\n
    \r\n \"tip\"\r\n

    Puede añadir otras enfermedades diferentes a las anteriores buscándolas en el siguiente cuadro

    \r\n
    \r\n );\r\n\r\n const HTMLOpcionesPat = (\r\n
    \r\n it.cod===OpcionesPatologiasPI[0].cod) ? seleccionFormulario.ops.find(it => it.cod===OpcionesPatologiasPI[0].cod).valores : [])}\r\n opcionesCHK = {OpcionesPatologiasPI[0].ops}\r\n titulo = {OpcionesPatologiasPI[0].tit}\r\n idOrigen = {OpcionesPatologiasPI[0].cod}\r\n alCambiar = {CambiaValorCHK}\r\n pie = {HTMLPiePat}\r\n />\r\n
    \r\n );\r\n\r\n const HTMLPiePac = ((seleccionFormulario.ops.find(it=>it.cod===\"PAC\")) \r\n && (seleccionFormulario.ops.find(it=>it.cod===\"PAC\").valores)\r\n && (seleccionFormulario.ops.find(it=>it.cod===\"PAC\").valores.includes(\"NIN\")) ?\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {!seleccionFormulario.edad || seleccionFormulario.edad === 0 ?\r\n
    \r\n \"tip\"\r\n

    Debe indicar la edad del niño

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n :\r\n
    \r\n )\r\n\r\n const HTMLOpcionesPac = (\r\n
    \r\n it.cod===OpcionesPacientePI[0].cod) ? seleccionFormulario.ops.find(it => it.cod===OpcionesPacientePI[0].cod).valores : [])}\r\n opcionesCHK = {OpcionesPacientePI[0].ops}\r\n titulo = {OpcionesPacientePI[0].tit}\r\n idOrigen = {OpcionesPacientePI[0].cod}\r\n alCambiar = {CambiaValorCHK}\r\n pie = {HTMLPiePac}\r\n />\r\n
    \r\n );\r\n\r\n/* const HTMLOpcionesPac = OpcionesPacientePI.map(opt => \r\n (opt.tip === \"CHK\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valores : [])}\r\n opcionesCHK = {opt.ops}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n : (opt.tip === \"SNX\") ?\r\n it.cod===opt.cod) ? seleccionFormulario.ops.find(it => it.cod===opt.cod).valor : 'X')}\r\n idHTML = {\"FBAvanzadaSNX\"+ opt.cod}\r\n titulo = {opt.tit}\r\n idOrigen = {opt.cod}\r\n alCambiar = {CambiaValorSNX}\r\n />\r\n :
    \r\n );\r\n*/\r\n\r\n const HTMLDatosGeneral = (\r\n
    \r\n
    \r\n
    \r\n

    Indicación

    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Vía de administración

    \r\n \r\n
    \r\n
    \r\n

    Forma farmacéutica

    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLColumna1 = (\r\n
    \r\n {HTMLOpcionesPat}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Otros tratamientos

    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const HTMLColumna2 = (\r\n
    \r\n {HTMLOpcionesPac}\r\n
    \r\n
    \r\n

    Intolerancias

    \r\n
    \r\n
    \r\n {HTMLIntoleranciasV}\r\n
    \r\n
    \r\n {HTMLIntoleranciasNV}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n clickVerIntolerancias(e)}>{txtbotonIntolerancias} \"arrowPurpleDown2\"\r\n
    \r\n
    \r\n \"tip\"

    Puede seleccionar otras alergias en el listado inferior.

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n \r\n const HTMLDosColumnas = (\r\n
    \r\n
    \r\n

    Características del paciente

    \r\n
    \r\n
    \r\n {HTMLColumna1}\r\n {HTMLColumna2}\r\n
    \r\n
    \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaEnfs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n {HTMLDatosGeneral}\r\n {HTMLDosColumnas}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBPacienteIndicacion;\r\n ","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport { GetAntecesorWhithClassName, upperCaseFirstLetter } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport { OpcionesADM, OpcionesDG, OpcionesDISP, OpcionesESP, OpcionesOTR, OpcionesPAC, OpcionesPacienteProductosIndi, OpcionesPatologiasPI } from \"../../../services/objsAplicacion\";\r\nimport SelectorCHK from \"../../Utilidades/Selector/SelectorCHK\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport Acordeon from \"../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport ItemResumenFiltros from \"../../Resultados/FiltrosYBusqueda/ResumenFiltros/ItemResumenFiltros\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\n\r\nconst FBProductosIndicacion= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaEnfs: null,\r\n listaFFs: null,\r\n listaPAs: null,\r\n listaIntsV: null,\r\n listaIntsNV: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idEnf: props.idEnf,\r\n idFF: props.idFF,\r\n pas: props.pas,\r\n ints: props.ints,\r\n ops: (props.ops ? props.ops : []),\r\n })\r\n\r\n const [ocultaIntolerancias, setOcultaIntolerancias] = useState(true);\r\n\r\n const claseIntoleranciasOcultas = (ocultaIntolerancias) ? \"cover hide\" : \"cover hide active\";\r\n const claseBotonIntolerancias = (ocultaIntolerancias) ? \"button button__arrow button__purple__line noUppercase verMas\" : \"button button__arrow button__purple__line noUppercase verMas active\";\r\n const txtbotonIntolerancias = (ocultaIntolerancias) ? \"Ver más\" : \"Ver menos\";\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaEnfs === null){\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioProductosIndicacion()\r\n .then((response) => {\r\n var df = {\r\n listaEnfs : response.data.Enfermedades,\r\n listaFFs : response.data.FormasFarma,\r\n listaPAs : response.data.Componentes,\r\n listaIntsV : response.data.IntoleranciasV,\r\n listaIntsNV : response.data.IntoleranciasNoV,\r\n };\r\n df.listaEnfs.splice(0,0,{Codigo:0, Valor:'Indique una enfermedad '});\r\n df.listaFFs.splice(0,0,{Codigo:-1, Valor:'Seleccione una forma farmacéutica'},{Codigo:0, Valor:'-'});\r\n df.listaPAs.splice(0,0,{Codigo:0, Valor:'Indique un ingrediente '});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const clickVerIntolerancias=(e) =>{\r\n setOcultaIntolerancias(!ocultaIntolerancias);\r\n }\r\n\r\n const obtenDatoResumenPaciente = (itemOpcion) =>{\r\n var strValores=[]\r\n var itemSel = seleccionFormulario.ops.find(item => item.cod===itemOpcion.cod);\r\n if (itemSel && itemSel.valores && itemSel.valores.length>0){\r\n var strVal = \"\";\r\n for(var j=0; j0) strVal += \", \";\r\n else strVal += \"\";\r\n var valSel = itemOpcion.ops.find(val=> val.val === itemSel.valores[j]);\r\n strVal += valSel.tit;\r\n }\r\n if (strVal !== \"\")\r\n strValores.push(strVal);\r\n }\r\n\r\n var res=\"\";\r\n if (strValores.length>0){\r\n var res = strValores[0];\r\n for (var i=1; i0) || (seleccionFormulario.idFF>0) \r\n || (seleccionFormulario.pas && seleccionFormulario.pas.length>0) \r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n\r\n if (hayBusqueda){\r\n if (datosFormulario.listaEnfs && seleccionFormulario.idEnf>0){\r\n var item = datosFormulario.listaEnfs.find(x => x.Codigo === seleccionFormulario.idEnf);\r\n if (item)\r\n res.push ({titulo: \"Productos indicados para \", valor: item.Valor});\r\n }\r\n\r\n if (seleccionFormulario.idFF>0){\r\n if (datosFormulario.listaFFs){\r\n var item = datosFormulario.listaFFs.find(x => x.Codigo === seleccionFormulario.idFF);\r\n if (item)\r\n res.push ({titulo: \"Forma farmacéutica\", valor: item.Valor});\r\n }\r\n }\r\n \r\n if ((seleccionFormulario.pas) && (seleccionFormulario.pas.length>0)){\r\n if (datosFormulario.listaPAs){\r\n var titulo = \"Composición\";\r\n for (var i =0; i x.Codigo === Math.abs(seleccionFormulario.pas[i].codigo));\r\n if (item){\r\n if (seleccionFormulario.pas[i].codigo<0)\r\n valor += \"No contiene \";\r\n valor += item.Valor;\r\n var sales = seleccionFormulario.pas[i].sales;\r\n if (sales && sales.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + sales[j].valor;\r\n }\r\n } \r\n var cants = seleccionFormulario.pas[i].cants;\r\n if (cants && cants.length>0){\r\n for (var j=0; j0)\r\n valor += \" /\"\r\n else\r\n valor += \" \"\r\n valor += \" \" + cants[j].des;\r\n }\r\n } \r\n }\r\n res.push({titulo:titulo, valor: valor});\r\n titulo = \"\";\r\n }\r\n }\r\n }\r\n\r\n var valor = obtenDatoResumenPaciente(OpcionesPacienteProductosIndi[0]);\r\n if (valor != \"\")\r\n res.push ({titulo: \"Características del paciente\", valor: valor});\r\n \r\n if ((seleccionFormulario.ints) && (seleccionFormulario.ints.length>0)){\r\n if (datosFormulario.listaIntsV){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.ints[i]);\r\n if (!item) item = datosFormulario.listaIntsNV.find(x => x.Codigo === seleccionFormulario.ints[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Intolerancias del paciente\", valor: valor});\r\n }\r\n }\r\n \r\n }\r\n return res;\r\n }\r\n\r\n var resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const clickBuscar = (e) =>{\r\n if ( hayBusqueda){\r\n var newpagina = \"BProductosIndicacionPPF\";\r\n\r\n props.cambiaPagina({\r\n newpagina: newpagina,\r\n idEnf: seleccionFormulario.idEnf,\r\n idFF: seleccionFormulario.idFF,\r\n pas: seleccionFormulario.pas,\r\n ints: seleccionFormulario.ints,\r\n ops: seleccionFormulario.ops,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n idEnf: 0,\r\n idFF: 0,\r\n pas: [],\r\n ints: [],\r\n ops: [],\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraEnfermedad = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEnf = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddIngrediente = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveIngrediente = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => Math.abs(item.codigo)!==Math.abs(idPA));\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFF = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idFF = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioIntolerancia = (e, idInt) =>{\r\n var item = e.target;\r\n var idx = (seleccionFormulario.ints) ? seleccionFormulario.ints.indexOf(idInt) : -1;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (item.checked){\r\n if (!nuevaSeleccion.ints) nuevaSeleccion.ints = [];\r\n if (idx<0) nuevaSeleccion.ints.push(idInt);\r\n }else{\r\n if (idx>=0) nuevaSeleccion.ints.splice(idx,1);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaValorSNX = (valorSNX, idSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idSNX);\r\n if (item){\r\n if (valorSNX !== 'X'){\r\n item.valor = valorSNX;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valorSNX !=='X'){\r\n nuevaSeleccion.ops.push({cod:idSNX, valor:valorSNX});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const CambiaValorCHK = (valoresCHK,idCHK) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.ops)\r\n nuevaSeleccion.ops = [];\r\n var item = nuevaSeleccion.ops.find(it => it.cod===idCHK);\r\n if (item){\r\n if (valoresCHK.length>0){\r\n item.valores = valoresCHK;\r\n }else{\r\n var idx = nuevaSeleccion.ops.indexOf(item);\r\n nuevaSeleccion.ops.splice(idx,1);\r\n }\r\n }else{\r\n if (valoresCHK.length>0){\r\n var newitem = {\r\n cod: idCHK,\r\n valores: valoresCHK,\r\n }\r\n nuevaSeleccion.ops.push(newitem);\r\n } \r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n\r\n\r\n const listaCodValorEnfs = (datosFormulario.listaEnfs) ? datosFormulario.listaEnfs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorFFs = (datosFormulario.listaFFs) ? datosFormulario.listaFFs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaIngredientes = (datosFormulario.listaPAs) ? datosFormulario.listaPAs.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n const HTMLIntoleranciasV = (((datosFormulario.listaIntsV) && (datosFormulario.listaIntsV.length>0)) ?\r\n datosFormulario.listaIntsV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n\r\n const HTMLIntoleranciasNV = (((datosFormulario.listaIntsNV) && (datosFormulario.listaIntsNV.length>0)) ?\r\n datosFormulario.listaIntsNV.map(int => \r\n \r\n )\r\n :\r\n
    \r\n );\r\n\r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50\";\r\n\r\n\r\n const HTMLOpcionesPac = (\r\n
    \r\n it.cod===OpcionesPacienteProductosIndi[0].cod) ? seleccionFormulario.ops.find(it => it.cod===OpcionesPacienteProductosIndi[0].cod).valores : [])}\r\n opcionesCHK = {OpcionesPacienteProductosIndi[0].ops}\r\n titulo = {OpcionesPacienteProductosIndi[0].tit}\r\n idOrigen = {OpcionesPacienteProductosIndi[0].cod}\r\n alCambiar = {CambiaValorCHK}\r\n />\r\n
    \r\n );\r\n\r\n const HTMLDatosGeneral = (\r\n
    \r\n
    \r\n
    \r\n

    Situación del paciente

    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    Características del producto

    \r\n
    \r\n
    \r\n
    \r\n

    Ingredientes

    \r\n pa.codigo)}\r\n alAnadir={AddIngrediente }\r\n alBorrar={RemoveIngrediente} \r\n ancho=\"100%\"\r\n tipoFiltradoLista={1}\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Forma farmacéutica

    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Características del paciente

    \r\n
    \r\n
    \r\n {HTMLOpcionesPac}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Intolerancias

    \r\n
    \r\n
    \r\n {HTMLIntoleranciasV}\r\n
    \r\n
    \r\n {HTMLIntoleranciasNV}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n clickVerIntolerancias(e)}>{txtbotonIntolerancias} \"arrowPurpleDown2\"\r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n return(\r\n
    \r\n { (datosFormulario.listaEnfs === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n {HTMLDatosGeneral}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n \r\nexport default FBProductosIndicacion;\r\n ","import { useEffect, useState } from \"react\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport { FormatoFechaDDMMYYYY, GetAntecesorWhithClassName } from \"../../../services/utils\";\r\n\r\nconst FBProblemasSum= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaLab: null,\r\n listaPA: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n txt: props.txt,\r\n idLab: props.idLab,\r\n idPA: props.idPA,\r\n medExt: props.medExt,\r\n noSust: props.noSust,\r\n iniciod: props.iniciod,\r\n inicioh: props.inicioh,\r\n find: props.find,\r\n finh: props.finh,\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaPA === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioProblemasSuministro()\r\n .then((response) => {\r\n var df = {\r\n listaPA : response.data.PrincipiosActivos,\r\n listaLab : response.data.Laboratorios, \r\n };\r\n df.listaLab.splice(0,0,{Codigo:0, Valor:'Indique un laboratorio'});\r\n df.listaPA.splice(0,0,{Codigo:0, Valor:'Indique un principio activo'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.txt && seleccionFormulario.txt != \"\"){\r\n res.push ({titulo: 'Nombre contiene', valor: seleccionFormulario.txt});\r\n }\r\n\r\n if (seleccionFormulario.idLab>0){\r\n if (datosFormulario.listaLab){\r\n var item = datosFormulario.listaLab.find(x => x.Codigo === seleccionFormulario.idLab);\r\n if (item)\r\n res.push ({titulo: \"Laboratorio\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.idPA>0){\r\n if (datosFormulario.listaPA){\r\n var item = datosFormulario.listaPA.find(x => x.Codigo === seleccionFormulario.idPA);\r\n if (item)\r\n res.push ({titulo: \"Principio activo\", valor: item.Valor});\r\n }\r\n }\r\n\r\n if (seleccionFormulario.iniciod){\r\n if (seleccionFormulario.inicioh){\r\n res.push ({titulo: \"Fecha de inicio del problema\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.iniciod) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicioh)});\r\n }else{\r\n res.push ({titulo: \"Fecha de inicio del problema\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.iniciod)});\r\n }\r\n }else if (seleccionFormulario.inicioh){\r\n res.push ({titulo: \"Fecha de inicio del problema\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.inicioh)});\r\n }\r\n\r\n if (seleccionFormulario.find){\r\n if (seleccionFormulario.finh){\r\n res.push ({titulo: \"Fecha de finalización prevista del problema\", valor: 'entre las fechas ' + FormatoFechaDDMMYYYY(seleccionFormulario.find) + ' y ' + FormatoFechaDDMMYYYY(seleccionFormulario.finh)});\r\n }else{\r\n res.push ({titulo: \"Fecha de finalización prevista del problema\", valor: 'posterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.find)});\r\n }\r\n }else if (seleccionFormulario.finoh){\r\n res.push ({titulo: \"Fecha de finalización prevista del problema\", valor: 'anterior a ' + FormatoFechaDDMMYYYY(seleccionFormulario.finh)});\r\n }\r\n\r\n if (seleccionFormulario.noSust){\r\n res.push({titulo: \"Medicamento no sustituible\"})\r\n }\r\n\r\n if (seleccionFormulario.medExt){\r\n res.push({titulo: \"Medicamento puede obtenerse como medicación extranjera\"})\r\n }\r\n \r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = true;\r\n\r\n const clickBuscar = (e) =>{\r\n props.cambiaPagina({\r\n newpagina: 'BProblemasSumMUH',\r\n txt: seleccionFormulario.txt,\r\n idLab: seleccionFormulario.idLab,\r\n idPA: seleccionFormulario.idPA,\r\n iniciod: seleccionFormulario.iniciod,\r\n inicioh: seleccionFormulario.inicioh,\r\n find: seleccionFormulario.find,\r\n finh: seleccionFormulario.finh,\r\n noSust: seleccionFormulario.noSust,\r\n medExt: seleccionFormulario.medExt,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n txt: '',\r\n idLab: 0,\r\n idPA: 0,\r\n iniciod: null,\r\n inicioh: null,\r\n find: null,\r\n finh: null,\r\n noSust: false,\r\n medExt: false,\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n destino.find = origen.find;\r\n destino.finh = origen.finh;\r\n destino.iniciod = origen.iniciod;\r\n destino.inicioh = origen.inicioh;\r\n }\r\n\r\n\r\n const CambioFechaInicio= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.iniciod = inicio;\r\n nuevaSeleccion.inicioh = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechaFin= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.find = inicio;\r\n nuevaSeleccion.finh = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioLaboratorio = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idLab = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLaboratorio = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idLab = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n const CambioPA = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idPA = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraPA = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.idPA = 0;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaCheckMedExt = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.medExt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaCheckNoSust = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.noSust = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaTxt = (e) =>{\r\n const item = e.target;\r\n if (item){\r\n const valor = item.value;\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n copiaFechas(seleccionFormulario, nuevaSeleccion);\r\n nuevaSeleccion.txt = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n const listaCodValorLab = (datosFormulario.listaLab) ? datosFormulario.listaLab.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPA = (datosFormulario.listaPA) ? datosFormulario.listaPA.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2 cover__filters__2--1 cover__filters__2--1__50 \" ;\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbol === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n
    \r\n
    \r\n CambiaTxt(e)}/ >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {(seleccionFormulario.medExt) ?\r\n \r\n :\r\n \r\n }\r\n {(seleccionFormulario.noSust) ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBProblemasSum;\r\n","import LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport VolverCabeceraResultados from \"../../Resultados/CabeceraResultados/VolverCabeceraResultados\";\r\nimport { GetAntecesorWhithClassName } from \"../../../services/utils\";\r\n\r\n\r\nconst FBReaccionesAdversas= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n listaEnf: null,\r\n listaMed: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n idEpi: (props.idEpi ? props.idEpi : 7),\r\n idsEnfs: props.idsEnfs,\r\n idsMeds: props.idsMeds,\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.listaEnf === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioReaccionesAdversas()\r\n .then((response) => {\r\n var df = {\r\n listaEnf : response.data.Enfermedades,\r\n listaMed : response.data.Medicamentos,\r\n };\r\n df.listaEnf.splice(0,0,{Codigo:0, Valor:'Indique un síntoma o enfermedad'});\r\n df.listaMed.splice(0,0,{Codigo:0, Valor:'Indique una medicamento o principio activo'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const TituloByEpicod = (epi) =>{\r\n var res = '';\r\n switch (epi){\r\n case 3:\r\n res = 'Indicaciones';\r\n break;\r\n case 7:\r\n res = 'Reacciones adversas';\r\n break;\r\n case 13:\r\n res = 'Contraindicaciones';\r\n break;\r\n case 14:\r\n res = 'Uso precautorio';\r\n break;\r\n }\r\n return res;\r\n }\r\n\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n\r\n if ((seleccionFormulario.idsEnfs) && (seleccionFormulario.idsEnfs.length>0)){\r\n if (datosFormulario.listaEnf){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsEnfs[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: TituloByEpicod(seleccionFormulario.idEpi), valor: valor});\r\n }\r\n }\r\n\r\n if ((seleccionFormulario.idsMeds) && (seleccionFormulario.idsMeds.length>0)){\r\n if (datosFormulario.listaMed){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsMeds[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Medicamentos / Principios activos\", valor: valor});\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const hayBusqueda = seleccionFormulario.idsEnfs && seleccionFormulario.idsEnfs.length>0 && seleccionFormulario.idsMeds && seleccionFormulario.idsMeds.length>0; \r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n props.cambiaPagina({\r\n newpagina: 'BReaccionesAdversasMUH',\r\n idEpi: seleccionFormulario.idEpi,\r\n idsEnfs: seleccionFormulario.idsEnfs,\r\n idsMeds: seleccionFormulario.idsMeds,\r\n })\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n idEpi: 7,\r\n idsEnfs: [],\r\n idsMeds: [],\r\n }\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idEpi = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddEnfermedad = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsEnfs) { nuevaSeleccion.idsEnfs = []};\r\n nuevaSeleccion.idsEnfs.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveEnfermedad = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsEnfs.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsEnfs.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddMedicamento = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsMeds) { nuevaSeleccion.idsMeds = []};\r\n nuevaSeleccion.idsMeds.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveMedicamento = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsMeds.indexOf(parseInt(valor));\r\n nuevaSeleccion.idsMeds.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%'} : {height:'76px', width:'100%', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n const listaCodValorEnf = (datosFormulario.listaEnf) ? datosFormulario.listaEnf.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorMed = (datosFormulario.listaMed) ? datosFormulario.listaMed.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = \"cover cover__filters cover__filters__2\";\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbol === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n

    Síntomas / Enfermedades:

    \r\n \r\n
    \r\n
    \r\n {/*

    Relación:

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    */}\r\n

    Medicamentos y/o Principios activos

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBReaccionesAdversas;\r\n","import { elementIsOfClass, RemoveClassNameToDoubleClassItems, rootPath } from \"../../../../../services/utils\";\r\n\r\nconst AcordeonN1 = (props) => {\r\n const clasDiv = (props.activo ? \"accordion__module active\" : \"accordion__module\")\r\n var htmlTitulo = (props.ocultaCodigo) ? \r\n () \r\n : ()\r\n var htmlArrow = (\"arrowGreen2\");\r\n var claseContenido = \"accordion__content pad20\";\r\n\r\n const handleClickAcordeonHeader = (e) =>{\r\n var item = e.target;\r\n while (item && !elementIsOfClass(item,'accordion__header__check'))\r\n item = item.parentElement;\r\n if (item)\r\n item.parentElement.classList.toggle('active');\r\n }\r\n\r\n const handleClickAcordeonCheck = (e) =>{\r\n var item = e.target;\r\n e.stopPropagation();\r\n var parent = item.parentElement;\r\n RemoveClassNameToDoubleClassItems('active','titulo__rama__arbol','active');\r\n var checks = document.getElementsByClassName('check__rama__arbol');\r\n for (var i = 0; i \r\n
    handleClickAcordeonHeader(e)}>\r\n {(props.contenido) ?\r\n {htmlArrow}\r\n :\r\n \r\n } \r\n
    \r\n {(props.checked) || (props.codigo===props.valueSelected) ?\r\n handleClickAcordeonCheck(e)} checked />\r\n : \r\n handleClickAcordeonCheck(e)} />\r\n }\r\n {htmlTitulo}\r\n
    \r\n
    \r\n {(props.contenido) ?\r\n
    \r\n {props.contenido}\r\n
    \r\n :\r\n
    \r\n }\r\n \r\n )\r\n}\r\nexport default AcordeonN1;\r\n","import { elementIsOfClass, RemoveClassNameToClassItems, RemoveClassNameToDoubleClassItems, rootPath } from \"../../../../../services/utils\";\r\n\r\nconst AcordeonN2 = (props) => {\r\n const clasDiv = props.clasDiv;\r\n var htmlTitulo = (props.ocultaCodigo) ? \r\n ()\r\n :()\r\n //var htmlArrow = (\"arrowGreen2\");\r\n var claseContenido = \"accordion__mas__content\";\r\n var estiloContenido = {display: 'block', paddingTop: '2px', paddingBottom: '0px'};\r\n\r\n const handleClickAcordeonHeader = (e) =>{\r\n var item = e.target;\r\n while (item && !elementIsOfClass(item,'accordion__mas__header'))\r\n item = item.parentElement;\r\n if (item)\r\n item.parentElement.classList.toggle('active');\r\n }\r\n\r\n\r\n const handleClickAcordeonCheck = (e) =>{\r\n var item = e.target;\r\n e.stopPropagation();\r\n var parent = item.parentElement;\r\n RemoveClassNameToDoubleClassItems('active','titulo__rama__arbol','active');\r\n var checks = document.getElementsByClassName('check__rama__arbol');\r\n for (var i = 0; i \r\n
    handleClickAcordeonHeader(e)}>\r\n
    \r\n {(props.checked) || (props.codigo===props.valueSelected) ?\r\n handleClickAcordeonCheck(e)} checked />\r\n : \r\n handleClickAcordeonCheck(e)} />\r\n } \r\n {htmlTitulo}\r\n
    \r\n
    \r\n
    \r\n {props.contenido}\r\n
    \r\n \r\n )\r\n}\r\nexport default AcordeonN2;\r\n","import AcordeonN2 from \"./AcordeonN2/AccordeonN2\";\r\n\r\nfunction RamaSecundaria(props){\r\n const item = props.item; \r\n const codigo = item.Codigo\r\n const titulo = (props.ocultaCodigo) ? item.Valor : item.Valor.substring(codigo.length).trim();\r\n// const contenidoHTML = item.hijos.map(hijo =>
    {hijo.Valor}
    ) \r\n// const contenidoHTML = (item.hijos) ? item.hijos.map(hijo =>

    {hijo.Valor}

    ) :
    \r\n const contenidoHTML = (item.hijos) ? item.hijos.map(hijo => ) :
    \r\n const clasDiv = \r\n ((item.abierta && item.hijos && item.hijos.length>0) ? \r\n \"accordion__mas active\" \r\n : (item.abierta) ?\r\n \"accordion__mas accordion__mas__only active\" \r\n : (item.hijos && item.hijos.length>0) ?\r\n \"accordion__mas\" \r\n : \r\n \"accordion__mas accordion__mas__only\" \r\n );\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default RamaSecundaria;\r\n","import AcordeonN1 from \"./AcordeonN1/AcordeonN1\";\r\nimport RamaSecundaria from \"./RamaSecundaria\";\r\n\r\nfunction RamaPrincipal(props){\r\n const item = props.item; \r\n const codigo = item.Codigo\r\n const titulo = (props.ocultaCodigo) ? item.Valor : item.Valor.substring(codigo.length).trim();\r\n const contenidoHTML = (item.hijos) ? item.hijos.map(hijo => ) : null ;\r\n //const contenidoHTML = item.hijos.map(hijo =>
    {hijo.Valor}
    )\r\n return (\r\n \r\n )\r\n}\r\nexport default RamaPrincipal;\r\n","\r\nfunction OptionSelect({opt}){\r\n if (opt != null){\r\n return (\r\n \r\n ) \r\n }\r\n else return null;\r\n}\r\n\r\nexport default OptionSelect;","import { useEffect, useState } from \"react\";\r\nimport { deepEqual } from \"../../../../services/utils\";\r\nimport RamaPrincipal from \"./RamaPrincipal\";\r\n\r\nfunction SelectorTree(props){\r\n const [propiedades, setPropiedades] = useState({\r\n arbol: props.arbol,\r\n valueSelected: props.valueSelected,\r\n textSelected: '',\r\n });\r\n const valueSelected = propiedades.valueSelected;\r\n const idHTML = props.idHTML; \r\n\r\n const idInput = \"Input__\" + idHTML;\r\n \r\n \r\n useEffect(() => {\r\n var textSelected = props.textSelected;\r\n if ((props.arbol) && (props.valueSelected) && (props.valueSelected !== '')){\r\n for (var i1=0; i1< props.arbol.length; i1++){\r\n if (props.valueSelected.indexOf(props.arbol[i1].Codigo)===0 && (props.valueSelected !== props.arbol[i1].Codigo)){\r\n props.arbol[i1].abierta = true;\r\n for (var i2=0; i2< props.arbol[i1].hijos.length; i2++){\r\n if (props.valueSelected.indexOf(props.arbol[i1].hijos[i2].Codigo)===0 && (props.valueSelected !== props.arbol[i1].hijos[i2].Codigo)){\r\n props.arbol[i1].hijos[i2].abierta = true;\r\n for (var i3=0; i3< props.arbol[i1].hijos[i2].hijos.length; i3++){\r\n if (props.valueSelected.indexOf(props.arbol[i1].hijos[i2].hijos[i3].Codigo)===0 && (props.valueSelected !== props.arbol[i1].hijos[i2].hijos[i3].Codigo)){\r\n props.arbol[i1].hijos[i2].hijos[i3].abierta = true;\r\n for (var i4=0; i4< props.arbol[i1].hijos[i2].hijos[i3].hijos.length; i4++){\r\n if (props.valueSelected.indexOf(props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].Codigo)===0 && (props.valueSelected !== props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].Codigo)){\r\n props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].abierta = true;\r\n for (var i5=0; i5< props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].hijos.length; i5++){\r\n if (props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].hijos[5].Codigo===valueSelected)\r\n textSelected = props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].hijos[5].Valor\r\n }\r\n }\r\n if (props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].Codigo===valueSelected)\r\n textSelected = props.arbol[i1].hijos[i2].hijos[i3].hijos[i4].Valor\r\n }\r\n }\r\n if (props.arbol[i1].hijos[i2].hijos[i3].Codigo===valueSelected)\r\n textSelected = props.arbol[i1].hijos[i2].hijos[i3].Valor\r\n }\r\n }\r\n if (props.arbol[i1].hijos[i2].Codigo===valueSelected)\r\n textSelected = props.arbol[i1].hijos[i2].Valor\r\n }\r\n }\r\n if (props.arbol[i1].Codigo===valueSelected)\r\n textSelected = props.arbol[i1].Valor\r\n }\r\n }\r\n //if (props.textSelected === '' && props.valueSelected !== '' && textSelected !== '') \r\n if (props.textSelected === '' && props.valueSelected !== '' && textSelected !== '') \r\n cambiaSeleccion(valueSelected, textSelected.substring(props.valueSelected.length));\r\n setPropiedades({\r\n arbol: props.arbol,\r\n valueSelected: props.valueSelected,\r\n textSelected: textSelected,\r\n })\r\n \r\n }, [props.arbol, props.valueSelected]);\r\n\r\n\r\n const cambiaSeleccion = (codigo, valor) =>{\r\n if (codigo !== \"\"){\r\n var texto = valor; \r\n if (!props.ocultaCodigo)\r\n texto = codigo + ' ' + valor; \r\n }\r\n props.alCambiar(codigo,valor);\r\n }\r\n\r\n if ((props.arbol) && (props.arbol.length===1)){\r\n props.arbol[0].abierta=true;\r\n }\r\n\r\n const arbolHTML = ((propiedades.arbol) && (propiedades.arbol.length>0)) ?\r\n propiedades.arbol.slice(0,300).map(item => )\r\n :
    \r\n\r\n return (\r\n
    \r\n {arbolHTML}\r\n
    \r\n )\r\n}\r\nexport default SelectorTree;\r\n","import { useEffect, useState } from \"react\";\r\nimport SelectorArbol from \"../../Utilidades/Selector/SelectorArbol/SelectorArbol\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { RemoveClassNameToDoubleClassItems } from \"../../../services/utils\";\r\nimport Selector from \"../../Utilidades/Selector/Selector\";\r\nimport SelectorMultiple from \"../../Utilidades/Selector/SelectorMultiple\";\r\nimport SelectorComboBox from \"../../Utilidades/Selector/SelectorComboBox\";\r\nimport SelectorUno from \"../../Utilidades/Selector/SelectorUno\";\r\nimport SelectorMulti from \"../../Utilidades/Selector/SelectorMulti\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorTree from \"../../Utilidades/Selector/SelectorArbol/SelectorTree\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport SelectorFechas from \"../../Utilidades/Selector/SelectorFecha/SelectorFecha\";\r\nimport SelectorNumero from \"../../Utilidades/Selector/SelectorNumero\";\r\nimport SelectorSNX from \"../../Utilidades/Selector/SelectorSNX\";\r\nimport SelectorEnfRel from \"../../Utilidades/Selector/SelectorEnfRel/SelectorEnfRel\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport SelectorComposicion from \"../../Utilidades/Selector/SelectorComposicion/SelectorComposicion\";\r\n\r\nconst FBTest= (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n arbol: null,\r\n lista1: null,\r\n lista2: null,\r\n lista3: null,\r\n lista4: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n itemA: (props.idA) ? {codigo : props.idA, valor : ''} : null,\r\n idL1: props.idL1,\r\n idL2: props.idL2,\r\n idsL3: props.idsL3,\r\n enfsRel: (props.enfsRel ? props.enfsRel : []),\r\n snx: props.snx,\r\n edad: props.edad,\r\n unidad: props.unidad,\r\n inicio: props.inicio,\r\n fin: props.fin,\r\n num: 35,\r\n pas: (props.pas ? props.pas : []),\r\n pasolo: (props.pasolo ? props.pasolo : []),\r\n })\r\n\r\n useEffect(() => {\r\n if (datosFormulario.arbol === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.datosFormularioTest()\r\n .then((response) => {\r\n var df = {\r\n arbol : [response.data.Dietoterapicos],\r\n lista1 : response.data.Sabores,\r\n lista2 : JSON.parse(JSON.stringify(response.data.Sabores)),\r\n lista3 : response.data.NombresMeds, \r\n lista4 : response.data.Enfermedades, \r\n listaPA : response.data.PrincipiosActivos,\r\n };\r\n df.lista1.splice(0,0,{Codigo:0, Valor:'Seleccione un valor'});\r\n df.lista2.splice(0,0,{Codigo:0, Valor:'Seleccione un valor'});\r\n df.lista3.splice(0,0,{Codigo:0, Valor:'Seleccione valores'});\r\n df.lista4.splice(0,0,{Codigo:0, Valor:'Seleccione enfermedad'});\r\n df.listaPA.splice(0,0,{Codigo:0, Valor: 'Seleccione componente'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.itemA != null){\r\n res.push ({titulo: \"Arbol\", valor: seleccionFormulario.itemA.codigo + ' ' + seleccionFormulario.itemA.valor})\r\n }\r\n if (seleccionFormulario.idL1>0){\r\n if (datosFormulario.lista1){\r\n var item = datosFormulario.lista1.find(x => x.Codigo === seleccionFormulario.idL1);\r\n if (item)\r\n res.push ({titulo: \"Lista 1\", valor: item.Valor});\r\n }\r\n }\r\n if (seleccionFormulario.idL2>0){\r\n if (datosFormulario.lista2){\r\n var item = datosFormulario.lista2.find(x => x.Codigo === seleccionFormulario.idL2);\r\n if (item)\r\n res.push ({titulo: \"Lista 2\", valor: item.Valor});\r\n }\r\n }\r\n if ((seleccionFormulario.idsL3) && (seleccionFormulario.idsL3.length>0)){\r\n if (datosFormulario.lista3){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsL3[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Lista 3\", valor: valor});\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const clickBuscar = (e) =>{\r\n const datosnuevapagina = {\r\n newpagina: 'BTest',\r\n idA: (seleccionFormulario.itemA) ? seleccionFormulario.itemA.codigo : '',\r\n idL1: seleccionFormulario.idL1,\r\n idL2: seleccionFormulario.idL2,\r\n idsL3: seleccionFormulario.idsL3,\r\n snx: seleccionFormulario.snx,\r\n edad: seleccionFormulario.edad,\r\n unidad: seleccionFormulario.unidad,\r\n inicio: seleccionFormulario.inicio,\r\n fin: seleccionFormulario.fin,\r\n enfsRel: seleccionFormulario.enfsRel,\r\n pas: seleccionFormulario.pas,\r\n pasolo: seleccionFormulario.pasolo,\r\n }\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n itemA: null,\r\n idL1: 0,\r\n idL2: 0,\r\n idsL3: [],\r\n snx: 'X',\r\n edad: null,\r\n unidad: '',\r\n inicio: null,\r\n fin: null,\r\n num: 0,\r\n enfsRel : [],\r\n pas : [],\r\n pasolo : true,\r\n }\r\n //let df = JSON.parse(JSON.stringify(datosFormulario));\r\n //setDatosFormulario(df);\r\n setSeleccionFormulario(formularioVacio);\r\n }\r\n\r\n const CambioNumero = (nuevonumero) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.num = nuevonumero;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n const CambioSNX = (nuevoSNX) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.snx = nuevoSNX;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEdad = (nuevaedad, nuevaunidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.edad = nuevaedad;\r\n nuevaSeleccion.unidad = nuevaunidad;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioFechas= (inicio, fin) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.inicio = inicio;\r\n nuevaSeleccion.fin = fin;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaArbol = (nuevovalor, nuevoTexto) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (nuevovalor !== '')\r\n nuevaSeleccion.itemA = {codigo: nuevovalor, valor: nuevoTexto};\r\n else\r\n nuevaSeleccion.itemA = null;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioLista1 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idL1 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioLista2 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idL2 = nuevovalor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraLista2 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idL2 = null;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddItemLista3 = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idsL3.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveItemLista3 = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsL3.indexOf(valor);\r\n nuevaSeleccion.idsL3.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const UpdateEnfermedad = (idEnfermedad, epigrafe) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var item = nuevaSeleccion.enfsRel.find(item => item.codigo===idEnfermedad);\r\n if (item){\r\n item.epi = epigrafe;\r\n }else{\r\n nuevaSeleccion.enfsRel.push({codigo: idEnfermedad, epi: epigrafe});\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveEnfermedad = (idEnfermedad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.enfsRel = nuevaSeleccion.enfsRel.filter(item => item.codigo!==idEnfermedad);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n var sal = pa.sales.find(item => item.codigo === idSal);\r\n if (!sal){\r\n pa.sales.push({codigo:idSal});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveSal = (idPA, idSal) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.sales){\r\n pa.sales = []\r\n }\r\n pa.sales = pa.sales.filter(item => item.codigo !== idSal);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n var cant = pa.cants.find(item => item.cod === idUnd && item.cant === cantidad);\r\n if (!cant){\r\n pa.cants.push({cod: idUnd, cant: cantidad});\r\n }\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveCant = (idPA, idUnd, cantidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (pa){\r\n if (!pa.cants){\r\n pa.cants = []\r\n }\r\n pa.cants = pa.cants.filter(item => item.cod !== idUnd || item.cant !== cantidad);\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AddPA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var pa = nuevaSeleccion.pas.find(item => item.codigo===idPA);\r\n if (!pa){\r\n nuevaSeleccion.pas.push({\r\n codigo: idPA,\r\n sales: [],\r\n cants: [],\r\n })\r\n }\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemovePA = (idPA) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pas = nuevaSeleccion.pas.filter(item => item.codigo!==idPA);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaPASolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.pasolo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const ClearLista3 = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.idsL3 = [];\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const listaCodValor1 = (datosFormulario.lista1) ? datosFormulario.lista1.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValor2 = (datosFormulario.lista2) ? datosFormulario.lista2.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValor3 = (datosFormulario.lista3) ? datosFormulario.lista3.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValor4 = (datosFormulario.lista4) ? datosFormulario.lista4.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n const listaCodValorPA = (datosFormulario.listaPA) ? datosFormulario.listaPA.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n \r\n const clasedivmodulefilters = (datosFormulario.ancho) ? \"cover cover__filters cover__filters__2 cover__filters__2--1 ancho\" : \"cover cover__filters cover__filters__2 cover__filters__2--1\";\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbol === null) ?\r\n \r\n :\r\n
    e.preventDefault()}>\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sabores

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Tipo selector de una opcion\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Tipo selector de muchas opciones\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Edad

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBTest;\r\n\r\n/*\r\n
    \r\n \r\n
    \r\n*/","import RamaArbol3 from \"./RamaArbol3\";\r\n\r\nfunction ItemRamaArbol3(props){\r\n\r\n const item = props.item;\r\n const abierto = item.abierto;\r\n const hijos = item.hijos;\r\n const nombre = item.valor;\r\n const codigo = item.codigo;\r\n const seleccionado = item.seleccionado;\r\n const tieneHijos = item.tieneHijos;\r\n\r\n const accion = (abierto ? props.cierraRama :props.abreRama)\r\n\r\n var clasesDiv = \"accordion__mas\";\r\n var clasesSubdiv = \"text titulo__rama__arbol\";\r\n if (abierto) clasesDiv += \" active\";\r\n if (!tieneHijos)\r\n clasesDiv += \" accordion__mas__only\";\r\n\r\n if (seleccionado) clasesSubdiv += \" active2\";\r\n\r\n const estilodisabled = (item.disabled) ? {backgroundColor: '#D6D2D2', border: '1px solid #d6d2d2'} : {}\r\n const estilodisabledtexto = (item.disabled) ? {color: '#D6D2D2'} : {}\r\n\r\n const miHTML = (\r\n
    \r\n
    accion(codigo)}>\r\n
    \r\n props.cambiaSeleccion(e.target.checked,codigo,nombre)}/>\r\n \r\n
    \r\n
    \r\n
    \r\n {(abierto)?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n {miHTML}\r\n
    \r\n )\r\n}\r\nexport default ItemRamaArbol3;\r\n","import ItemRamaArbol3 from \"./ItemRamaArbol3\";\r\n\r\nfunction RamaArbol3(props){\r\n const arbol = props.arbol;\r\n\r\n const arbolHTML = (((arbol) && (arbol.length>0)) ?\r\n arbol.map(item => \r\n \r\n )\r\n : \r\n <>\r\n );\r\n\r\n return (\r\n
    \r\n {arbolHTML}\r\n
    \r\n )\r\n}\r\nexport default RamaArbol3;\r\n","\r\nimport { useEffect, useState } from \"react\";\r\nimport { rootPath } from \"../../../../services/utils\";\r\nimport RamaArbol3 from \"./RamaArbol3\";\r\n\r\nfunction SelectorArbolM(props){\r\n const [datosSeleccion, setDatosSeleccion] = useState({\r\n valorSeleccionado: props.valorSeleccionado,\r\n texto: props.texto\r\n });\r\n const [listaCompleta, setListaCompleta] = useState(props.listaCompleta);\r\n const [listaFiltrada, setListaFiltrada] = useState([]);\r\n const [numMostrar, setNumMostrar] = useState(20);\r\n var bMostrarMas = (listaFiltrada.length>=numMostrar);\r\n\r\n const codigoJerarquico = props.codigoJerarquico;\r\n\r\n useEffect(() => {\r\n /*if ((props.valorSeleccionado && props.valorSeleccionado !== datosSeleccion.valorSeleccionado) \r\n || (props.texto && props.texto !== datosSeleccion.texto)\r\n || (props.listaCompleta && props.listaCompleta != listaCompleta)){*/\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n nuevaSeleccion.valorSeleccionado = props.valorSeleccionado ? props.valorSeleccionado : '';\r\n nuevaSeleccion.texto = props.texto;\r\n var nuevalistafiltrada = filtraLista(props.listaCompleta,props.valorSeleccionado, props.texto);\r\n setListaCompleta(props.listaCompleta);\r\n setListaFiltrada(nuevalistafiltrada);\r\n setDatosSeleccion(nuevaSeleccion);\r\n /*}*/\r\n }, [props.valorSeleccionado, props.texto, props.listaCompleta,numMostrar]);\r\n\r\n\r\n const filtraLista = (lista, valor, texto) =>{\r\n if (valor && valor != ''){\r\n return filtraValorSeleccionado(lista, valor);\r\n }else{\r\n return filtraListaConTexto(lista, texto);\r\n }\r\n }\r\n\r\n const filtraListaConTexto = (lista, texto) =>{\r\n\r\n const nuevalista = [];\r\n const pendientes = [];\r\n pendientes.push(lista);\r\n var currentlista = pendientes.pop();\r\n var listaLlena = false;\r\n while (((currentlista && currentlista.length>0) || (pendientes && pendientes.length>0)) && !listaLlena){\r\n if (currentlista && currentlista.length>0){\r\n for (var i=0; i0),\r\n }\r\n nuevalista.push(newitem);\r\n listaLlena = nuevalista.length>=numMostrar;\r\n }\r\n else{\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!listaLlena)\r\n currentlista = pendientes.pop();\r\n }\r\n bMostrarMas = listaLlena;\r\n return nuevalista;\r\n }\r\n\r\n const filtraValorSeleccionado = (lista, seleccion) =>{\r\n const nuevalista = [];\r\n const pendientes = [];\r\n pendientes.push(lista);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n while (((currentlista && currentlista.length>0) || (pendientes && pendientes.length>0)) && !encontrado){\r\n if (currentlista && currentlista.length>0){\r\n for (var i=0; i0),\r\n }\r\n nuevalista.push(newitem);\r\n encontrado=true;\r\n }\r\n else{\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n bMostrarMas = false;\r\n return nuevalista;\r\n }\r\n\r\n const abreRama = (codigoRama) =>{\r\n const nuevaListaFiltrada = JSON.parse(JSON.stringify(listaFiltrada));\r\n var pendientes = [];\r\n pendientes.push(nuevaListaFiltrada);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaFiltrada = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n pendientes = [];\r\n pendientes.push(listaCompleta);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaCompleta = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n if (codigoJerarquico){\r\n if (EsCodigoPadre(currentlista[i].Codigo,codigoRama)){\r\n pendientes.push(currentlista[i].hijos); \r\n }\r\n }else{\r\n pendientes.push(currentlista[i].hijos);\r\n } \r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n if (itemListaFiltrada && itemListaCompleta){\r\n itemListaFiltrada.hijos = [];\r\n if (itemListaCompleta.hijos && itemListaCompleta.hijos.length>0){\r\n for (var i=0; i0),\r\n }\r\n itemListaFiltrada.hijos.push(newitem);\r\n }\r\n itemListaFiltrada.abierto = true;\r\n }\r\n }\r\n setListaFiltrada(nuevaListaFiltrada);\r\n }\r\n\r\n const cierraRama = (codigoRama) =>{\r\n const nuevaListaFiltrada = JSON.parse(JSON.stringify(listaFiltrada));\r\n const pendientes = [];\r\n pendientes.push(nuevaListaFiltrada);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaFiltrada = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n if (itemListaFiltrada){\r\n itemListaFiltrada.hijos = [];\r\n itemListaFiltrada.abierto = false;\r\n }\r\n setListaFiltrada(nuevaListaFiltrada);\r\n }\r\n\r\n const itemContieneTxt = (item, txt) =>{\r\n txt = txt.replace('/',' ').replace(',', ' ').replace('\\\\',' ').replace('-',' ');\r\n var textoSeparado = txt.split(' ');\r\n var res = true;\r\n for (var i=0; i{\r\n if (txt){\r\n txt = txt.trim().toLowerCase();\r\n var txt2 = ' ' + txt;\r\n return ((item.Codigo.toLowerCase().indexOf(txt)===0) || (item.Valor.toLowerCase().indexOf(txt)===0) || (item.Valor.toLowerCase().indexOf(txt2)>=0))\r\n }else return true;\r\n }\r\n\r\n const EsCodigoPadre = (padre, hijo) =>{\r\n if ((hijo) && (hijo !== \"\")){\r\n if (padre && padre !== \"\"){\r\n var res = (hijo.indexOf(padre)===0);\r\n if (!res){\r\n res = (padre === \"0\" \r\n &&(hijo.indexOf(\"1\")===0\r\n || hijo.indexOf(\"2\")===0\r\n || hijo.indexOf(\"3\")===0\r\n || hijo.indexOf(\"4\")===0\r\n )\r\n );\r\n }\r\n return res;\r\n }else return false;\r\n }else return false;\r\n }\r\n\r\n const cambiaTexto = (newtxt) =>{\r\n const nuevosDatosSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n nuevosDatosSeleccion.texto = newtxt;\r\n var nuevalistafiltrada = filtraListaConTexto(listaCompleta,newtxt);\r\n setListaFiltrada(nuevalistafiltrada);\r\n setDatosSeleccion(nuevosDatosSeleccion); \r\n props.cambiaTxt(newtxt); \r\n }\r\n\r\n const cambiaSeleccion = (checked, codigo, valor) =>{\r\n const nuevosDatosSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n if (checked)\r\n nuevosDatosSeleccion.valorSeleccionado = valor;\r\n else\r\n nuevosDatosSeleccion.valorSeleccionado = '';\r\n setDatosSeleccion(nuevosDatosSeleccion);\r\n if (checked)\r\n props.alCambiar(codigo,valor);\r\n else\r\n props.alCambiar('','');\r\n }\r\n\r\n const muestraMas = () =>{\r\n setNumMostrar(numMostrar + 20);\r\n }\r\n\r\n const arbolHTML = \r\n\r\n return (\r\n
    \r\n
    \r\n \"eliminar\"\r\n
    \r\n \r\n cambiaTexto(e.target.value)} style={{maxWidth:'600px'}}/> \r\n
    \r\n
    \r\n {arbolHTML}\r\n
    \r\n
    \r\n {bMostrarMas ?(\r\n muestraMas()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowPurpleDown2\"\r\n \r\n ):(\r\n
    \r\n )} \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default SelectorArbolM;\r\n","import { useEffect, useState } from \"react\";\r\nimport SelectorTipo2 from \"../../Utilidades/Selector/SelectorTipo2\";\r\nimport { GetAntecesorWhithClassName, GetSucesorWhithClassName, RemoveClassNameToChildClassItems, RemoveClassNameToDoubleClassItems } from \"../../../services/utils\";\r\nimport SelectorArbol from \"../../Utilidades/Selector/SelectorArbol/SelectorArbol\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport SelectorArbol2 from \"../../Utilidades/Selector/SelectorArbol2/SelectorArbol2\";\r\nimport SelectorArbol3 from \"../../Utilidades/Selector/SelectorArbol3/SelectorArbol3\";\r\n\r\nconst FBusquedaArbol = (props) => {\r\n //const [lista,setLista] = useState([]);\r\n const [datosFormulario, setDatosFormulario] = useState(props.datosFormulario);\r\n const [arbol, setArbol] = useState([]);\r\n const [refresh, setRefresh] = useState(1);\r\n const [txt, setTxt] = useState('');\r\n\r\n var seleccionado = datosFormulario.seleccionado;\r\n\r\n const clasedivmodulefilters = (datosFormulario.ancho) ? \"cover cover__filters cover__filters__2 cover__filters__2--1 ancho\" : \"cover cover__filters cover__filters__2 cover__filters__2--1\";\r\n\r\n var busqueda = datosFormulario.busqueda;\r\n\r\n const cambiaSeleccion = (cod, texto) => {\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = cod;\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n useEffect(() => {\r\n if ((arbol.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux)\r\n {\r\n DescargaLista(props.datosFormulario.tipo, props.datosFormulario.aux);\r\n } \r\n },[props.datosFormulario]);\r\n\r\n const DescargaLista = (tipo, aux) => { \r\n props.datosFormulario.descarga(tipo, aux, datosFormulario.seleccionado, 20)\r\n .then((response) => {\r\n if (props.datosFormulario.tipoForm === \"FBGTVMPPMUH\"){\r\n props.datosFormulario.descarga(tipo, aux, '', 0)\r\n .then((response) => {\r\n var newlista = response.data;\r\n setArbol(newlista);\r\n })\r\n }\r\n setDatosFormulario(props.datosFormulario);\r\n var newlista = response.data;\r\n setArbol(newlista);\r\n //ConstruyeArbol(newlista);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const cambiaTxt = (newtxt) =>{\r\n setTxt(newtxt);\r\n }\r\n\r\n const hayBusqueda= datosFormulario.seleccionado != '';\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n newid: datosFormulario.seleccionado,\r\n })\r\n }\r\n }\r\n\r\n const setCheckedFalse = (r) =>{\r\n if (r){\r\n for (var i=0; i{\r\n setTxt('');\r\n cambiaSeleccion('','');\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n\r\n return (\r\n
    \r\n\r\n { ((arbol.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n {(datosFormulario.tipoForm === \"FBGTVMPPMUH\")?\r\n

    \r\n {datosFormulario.tituloSelect}:\r\n

    \r\n :\r\n <>\r\n }\r\n {/**/}\r\n {/**/}\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBusquedaArbol;\r\n","\r\nimport { useEffect, useState } from \"react\";\r\nimport { rootPath } from \"../../../../services/utils\";\r\nimport RamaArbol3 from \"./RamaArbol3\";\r\n\r\nfunction SelectorArbol3(props){\r\n const [datosSeleccion, setDatosSeleccion] = useState({\r\n valuesSelected: props.valuesSelected,\r\n texto: props.texto\r\n });\r\n const [listaCompleta, setListaCompleta] = useState(props.listaCompleta);\r\n const [listaFiltrada, setListaFiltrada] = useState([]);\r\n const [numMostrar, setNumMostrar] = useState(20);\r\n var bMostrarMas = (listaFiltrada.length>=numMostrar);\r\n\r\n const codigoJerarquico = props.codigoJerarquico;\r\n\r\n useEffect(() => {\r\n /*if ((props.valorSeleccionado && props.valorSeleccionado !== datosSeleccion.valorSeleccionado) \r\n || (props.texto && props.texto !== datosSeleccion.texto)\r\n || (props.listaCompleta && props.listaCompleta != listaCompleta)){*/\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n nuevaSeleccion.valuesSelected = props.valuesSelected ? props.valuesSelected : [];\r\n nuevaSeleccion.texto = props.texto;\r\n var nuevalistafiltrada = filtraLista(props.listaCompleta,props.valuesSelected, props.texto);\r\n setListaCompleta(props.listaCompleta);\r\n setListaFiltrada(nuevalistafiltrada);\r\n setDatosSeleccion(nuevaSeleccion);\r\n /*}*/\r\n }, [props.valuesSelected, props.texto, props.listaCompleta,numMostrar]);\r\n\r\n\r\n const filtraLista = (lista, valores, texto) =>{\r\n /*if (valor && valor != ''){\r\n return filtraValorSeleccionado(lista, valor);\r\n }else{*/\r\n return filtraListaConTexto(lista, texto, valores);\r\n /*}*/\r\n }\r\n\r\n const filtraListaConTexto = (lista, texto, valores) =>{\r\n\r\n const nuevalista = [];\r\n const pendientes = [];\r\n pendientes.push(lista);\r\n var currentlista = pendientes.pop();\r\n var listaLlena = false;\r\n while (((currentlista && currentlista.length>0) || (pendientes && pendientes.length>0)) && !listaLlena){\r\n if (currentlista && currentlista.length>0){\r\n for (var i=0; i0),\r\n }\r\n if (newitem.abierto){\r\n newitem.hijos = [];\r\n if (currentlista[i].hijos && currentlista[i].hijos.length>0){\r\n for (var j=0; j0),\r\n }\r\n if (newitem2.abierto){\r\n newitem2.hijos = [];\r\n if (currentlista[i].hijos[j].hijos && currentlista[i].hijos[j].hijos.length>0){\r\n for (var k=0; k0),\r\n }\r\n if (newitem3.abierto){\r\n newitem3.hijos = [];\r\n if (currentlista[i].hijos[j].hijos[k].hijos && currentlista[i].hijos[j].hijos[k].hijos.length>0){\r\n for (var l=0; l0),\r\n }\r\n if (newitem4.abierto){\r\n newitem4.hijos = [];\r\n if (currentlista[i].hijos[j].hijos[k].hijos[l].hijos && currentlista[i].hijos[j].hijos[k].hijos[l].hijos.length>0){\r\n for (var m=0; m0),\r\n }\r\n newitem4.hijos.push(newitem5);\r\n }\r\n }\r\n }\r\n newitem3.hijos.push(newitem4);\r\n }\r\n }\r\n }\r\n newitem2.hijos.push(newitem3);\r\n }\r\n }\r\n }\r\n newitem.hijos.push(newitem2);\r\n }\r\n }\r\n }\r\n nuevalista.push(newitem);\r\n listaLlena = nuevalista.length>=numMostrar;\r\n }\r\n else{\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!listaLlena)\r\n currentlista = pendientes.pop();\r\n }\r\n bMostrarMas = listaLlena;\r\n return nuevalista;\r\n }\r\n\r\n const filtraValorSeleccionado = (lista, seleccion) =>{\r\n const nuevalista = [];\r\n const pendientes = [];\r\n pendientes.push(lista);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n while (((currentlista && currentlista.length>0) || (pendientes && pendientes.length>0)) && !encontrado){\r\n if (currentlista && currentlista.length>0){\r\n for (var i=0; i0),\r\n }\r\n nuevalista.push(newitem);\r\n encontrado=true;\r\n }\r\n else{\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n bMostrarMas = false;\r\n return nuevalista;\r\n }\r\n\r\n const abreRama = (codigoRama) =>{\r\n const nuevaListaFiltrada = JSON.parse(JSON.stringify(listaFiltrada));\r\n var pendientes = [];\r\n pendientes.push(nuevaListaFiltrada);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaFiltrada = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n pendientes = [];\r\n pendientes.push(listaCompleta);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaCompleta = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n if (codigoJerarquico){\r\n if (EsCodigoPadre(currentlista[i].Codigo,codigoRama)){\r\n pendientes.push(currentlista[i].hijos); \r\n }\r\n }else{\r\n pendientes.push(currentlista[i].hijos);\r\n } \r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n if (itemListaFiltrada && itemListaCompleta){\r\n itemListaFiltrada.hijos = [];\r\n if (itemListaCompleta.hijos && itemListaCompleta.hijos.length>0){\r\n for (var i=0; i0),\r\n }\r\n itemListaFiltrada.hijos.push(newitem);\r\n }\r\n itemListaFiltrada.abierto = true;\r\n }\r\n }\r\n setListaFiltrada(nuevaListaFiltrada);\r\n }\r\n\r\n const cierraRama = (codigoRama) =>{\r\n const nuevaListaFiltrada = JSON.parse(JSON.stringify(listaFiltrada));\r\n const pendientes = [];\r\n pendientes.push(nuevaListaFiltrada);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaFiltrada = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n pendientes.push(currentlista[i].hijos);\r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n if (itemListaFiltrada){\r\n itemListaFiltrada.hijos = [];\r\n itemListaFiltrada.abierto = false;\r\n }\r\n setListaFiltrada(nuevaListaFiltrada);\r\n }\r\n\r\n const itemContieneTxt = (item, txt) =>{\r\n txt = txt.replace('/',' ').replace(',', ' ').replace('\\\\',' ').replace('-',' ');\r\n var textoSeparado = txt.split(' ');\r\n var res = true;\r\n for (var i=0; i{\r\n if (txt){\r\n txt = txt.trim().toLowerCase();\r\n var txt2 = ' ' + txt;\r\n return ((item.Codigo.toLowerCase().indexOf(txt)===0) || (item.Valor.toLowerCase().indexOf(txt)===0) || (item.Valor.toLowerCase().indexOf(txt2)>=0))\r\n }else return true;\r\n }\r\n\r\n const EsCodigoPadre = (padre, hijo) =>{\r\n if ((hijo) && (hijo !== \"\")){\r\n if (padre && padre !== \"\"){\r\n var res = (hijo.indexOf(padre)===0);\r\n if (!res){\r\n res = (padre === \"0\" \r\n &&(hijo.indexOf(\"1\")===0\r\n || hijo.indexOf(\"2\")===0\r\n || hijo.indexOf(\"3\")===0\r\n || hijo.indexOf(\"4\")===0\r\n )\r\n );\r\n }\r\n return res;\r\n }else return false;\r\n }else return false;\r\n }\r\n\r\n const EsAlgunCodigoPadre = (padre, hijos) =>{\r\n if (hijos && hijos.length>0){\r\n var res = false;\r\n for(var i=0; i{\r\n const nuevosDatosSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n nuevosDatosSeleccion.texto = newtxt;\r\n var nuevalistafiltrada = filtraListaConTexto(listaCompleta,newtxt);\r\n setListaFiltrada(nuevalistafiltrada);\r\n setDatosSeleccion(nuevosDatosSeleccion); \r\n props.cambiaTxt(newtxt); \r\n }\r\n\r\n const cambiaSeleccion = (checked, codigo, valor) =>{\r\n const nuevosDatosSeleccion = JSON.parse(JSON.stringify(datosSeleccion));\r\n if (checked)\r\n nuevosDatosSeleccion.valuesSelected.push(codigo);\r\n else{\r\n var idx = nuevosDatosSeleccion.valuesSelected.indexOf(codigo);\r\n if (idx>0)\r\n nuevosDatosSeleccion.valuesSelected.splice(idx,1);\r\n }\r\n setDatosSeleccion(nuevosDatosSeleccion);\r\n if (checked)\r\n props.alAnadir(codigo,valor);\r\n else\r\n props.alBorrar(codigo,valor);\r\n }\r\n\r\n const muestraMas = () =>{\r\n setNumMostrar(numMostrar + 20);\r\n }\r\n\r\n const arbolHTML = \r\n\r\n return (\r\n
    \r\n
    \r\n \"eliminar\"\r\n
    \r\n \r\n cambiaTexto(e.target.value)} style={{maxWidth:'600px'}}/> \r\n
    \r\n
    \r\n {arbolHTML}\r\n
    \r\n
    \r\n {bMostrarMas ?(\r\n muestraMas()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowPurpleDown2\"\r\n \r\n ):(\r\n
    \r\n )} \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\nexport default SelectorArbol3;\r\n","import { useEffect, useState } from \"react\";\r\nimport SelectorTipo2 from \"../../Utilidades/Selector/SelectorTipo2\";\r\nimport { GetAntecesorWhithClassName, GetSucesorWhithClassName, RemoveClassNameToChildClassItems, RemoveClassNameToDoubleClassItems } from \"../../../services/utils\";\r\nimport SelectorArbol from \"../../Utilidades/Selector/SelectorArbol/SelectorArbol\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport SelectorArbolM from \"../../Utilidades/Selector/SelectorArbol3/SelectorArbolM\";\r\nimport SelectorArbol3 from \"../../Utilidades/Selector/SelectorArbol3/SelectorArbol3\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\n\r\n\r\nconst FBusquedaArbolMultiple = (props) => {\r\n //const [lista,setLista] = useState([]);\r\n const [datosFormulario, setDatosFormulario] = useState(props.datosFormulario);\r\n const [arbol, setArbol] = useState([]);\r\n const [refresh, setRefresh] = useState(1);\r\n const [txt, setTxt] = useState('');\r\n\r\n var seleccionados = datosFormulario.seleccionados;\r\n\r\n const clasedivmodulefilters = (datosFormulario.ancho) ? \"cover cover__filters cover__filters__2 cover__filters__2--1 ancho\" : \"cover cover__filters cover__filters__2 cover__filters__2--1\";\r\n const codigoJerarquico = datosFormulario.tipoForm===\"FBGTATCMUH\" || datosFormulario.tipoForm===\"FBGTATCMUV\" || datosFormulario.tipoForm===\"FBGTConPPF\" || datosFormulario.tipoForm===\"FBGTSanPPF\";\r\n\r\n var busqueda = datosFormulario.busqueda;\r\n\r\n\r\n /*const cambiaSeleccion = (cod, texto) => {\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = cod;\r\n setDatosFormulario(nuevaSeleccion);\r\n }*/\r\n\r\n const AddValor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n if (!nuevaSeleccion.seleccionados) { nuevaSeleccion.seleccionados = []};\r\n nuevaSeleccion.seleccionados.push(nuevovalor);\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveValor = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n var i = nuevaSeleccion.seleccionados.indexOf(valor);\r\n nuevaSeleccion.seleccionados.splice(i,1);\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n if ((arbol.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux)\r\n {\r\n DescargaLista(props.datosFormulario.tipo, props.datosFormulario.aux);\r\n } \r\n },[props.datosFormulario]);\r\n\r\n const DescargaLista = (tipo, aux) => { \r\n props.datosFormulario.descarga(tipo, aux, datosFormulario.seleccionado, 20)\r\n .then((response) => {\r\n if (props.datosFormulario.tipoForm === \"FBGTVMPPMUH\"){\r\n props.datosFormulario.descarga(tipo, aux, '', 0)\r\n .then((response) => {\r\n var newlista = response.data;\r\n setArbol(newlista);\r\n })\r\n }\r\n setDatosFormulario(props.datosFormulario);\r\n var newlista = response.data;\r\n setArbol(newlista);\r\n //ConstruyeArbol(newlista);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const cambiaTxt = (newtxt) =>{\r\n setTxt(newtxt);\r\n }\r\n\r\n const EsCodigoPadre = (padre, hijo) =>{\r\n if ((hijo) && (hijo !== \"\")){\r\n if (padre && padre !== \"\"){\r\n var res = (hijo.indexOf(padre)===0);\r\n if (!res){\r\n res = (padre === \"0\" \r\n &&(hijo.indexOf(\"1\")===0\r\n || hijo.indexOf(\"2\")===0\r\n || hijo.indexOf(\"3\")===0\r\n || hijo.indexOf(\"4\")===0\r\n )\r\n );\r\n }\r\n return res;\r\n }else return false;\r\n }else return false;\r\n }\r\n\r\n const buscaItemArbol = (listaCompleta, codigoBuscado) =>{\r\n var pendientes = [];\r\n pendientes.push(listaCompleta);\r\n var currentlista = pendientes.pop();\r\n var encontrado = false;\r\n var itemListaCompleta = null;\r\n while (currentlista && currentlista.length>0 && !encontrado){\r\n for (var i=0; i0){\r\n if (codigoJerarquico){\r\n if (EsCodigoPadre(currentlista[i].Codigo,codigoBuscado)){\r\n pendientes.push(currentlista[i].hijos); \r\n }\r\n }else{\r\n pendientes.push(currentlista[i].hijos);\r\n } \r\n }\r\n }\r\n }\r\n if (!encontrado)\r\n currentlista = pendientes.pop();\r\n }\r\n return itemListaCompleta\r\n }\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n var aux = \"\";\r\n if (datosFormulario.seleccionados && datosFormulario.seleccionados.length>0){\r\n for (var i=0; i0;\r\n\r\n const clickBuscar = (e) =>{\r\n if (hayBusqueda){\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n //newid: datosFormulario.seleccionado,\r\n seleccionados: datosFormulario.seleccionados,\r\n })\r\n }\r\n }\r\n\r\n const setCheckedFalse = (r) =>{\r\n if (r){\r\n for (var i=0; i{\r\n /*setTxt('');\r\n cambiaSeleccion('','');*/\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionados = [];\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'})\r\n\r\n\r\n\r\n return (\r\n
    \r\n\r\n { ((arbol.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n {(datosFormulario.tipoForm === \"FBGTVMPPMUH\")?\r\n

    \r\n {datosFormulario.tituloSelect}:\r\n

    \r\n :\r\n <>\r\n }\r\n {/**/}\r\n {/**/}\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBusquedaArbolMultiple;\r\n","import { useEffect, useState } from \"react\";\r\nimport SelectorArbol from \"../../Utilidades/Selector/SelectorArbol/SelectorArbol\";\r\nimport LoadingPopup from \"../../Resultados/Loading.Popup\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { GetAntecesorWhithClassName, RemoveClassNameToDoubleClassItems } from \"../../../services/utils\";\r\nimport Selector from \"../../Utilidades/Selector/Selector\";\r\nimport SelectorMultiple from \"../../Utilidades/Selector/SelectorMultiple\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport SelectorTree from \"../../Utilidades/Selector/SelectorArbol/SelectorTree\";\r\nimport SelectorEdad from \"../../Utilidades/Selector/SelectorEdad/SelectorEdad\";\r\nimport ResumenBusqueda from \"../ResumenBusqueda\";\r\nimport SelectorArbol3 from \"../../Utilidades/Selector/SelectorArbol3/SelectorArbol3\";\r\n\r\nconst FBusquedaSaborEdad = (props) => {\r\n const [datosFormulario, setDatosFormulario] = useState({\r\n arbolDieto: null,\r\n listaSabores: null,\r\n });\r\n const [seleccionFormulario, setSeleccionFormulario] = useState({\r\n itemDieto: (props.idDieto) ? {codigo : props.idDieto, valor : ''} : null,\r\n idsSabores: props.idsSabores,\r\n edad: props.edad,\r\n undEdad: props.undEdad,\r\n saborSolo: props.saborSolo,\r\n })\r\n const [txtInputDieto, setTxtInputDieto] = useState('');\r\n\r\n\r\n useEffect(() => {\r\n if (datosFormulario.arbolDieto === null)\r\n {\r\n DescargaDatosSaborEdad();\r\n } \r\n },[]);\r\n\r\n const cambiaTxt = (newtxt) =>{\r\n setTxtInputDieto(newtxt);\r\n }\r\n\r\n\r\n\r\n const DescargaDatosSaborEdad = () => { \r\n BP2022Service.datosFormularioSaborEdad()\r\n .then((response) => {\r\n var df = {\r\n arbolDieto : [response.data.Dietoterapicos],\r\n listaSabores : response.data.Sabores,\r\n };\r\n df.listaSabores.splice(0,0,{Codigo:0, Valor:'Seleccione un sabor'});\r\n setDatosFormulario(df);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const hayBusqueda = true;\r\n\r\n const clickBuscar = (e) =>{\r\n props.cambiaPagina({\r\n newpagina: 'BSaborEdadPPF',\r\n idDieto: (seleccionFormulario.itemDieto) ? seleccionFormulario.itemDieto.codigo : '',\r\n idsSabores: seleccionFormulario.idsSabores,\r\n edad: seleccionFormulario.edad,\r\n undEdad: seleccionFormulario.undEdad,\r\n saborSolo: seleccionFormulario.saborSolo,\r\n })\r\n }\r\n\r\n const BorraBusqueda = (e) =>{\r\n const formularioVacio={\r\n itemDieto:{codigo: '', valor: ''},\r\n idsSabores: [],\r\n edad: null,\r\n undEdad: null,\r\n saborSolo: false,\r\n }\r\n setTxtInputDieto('');\r\n setSeleccionFormulario(formularioVacio);\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (nuevovalor !== '')\r\n nuevaSeleccion.itemDieto = {codigo: nuevovalor, valor: nuevoTexto};\r\n else\r\n nuevaSeleccion.itemDieto = null;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const AnadeSabor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n if (!nuevaSeleccion.idsSabores){\r\n nuevaSeleccion.idsSabores = [];\r\n }\r\n nuevaSeleccion.idsSabores.push(nuevovalor);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const BorraSabor = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n var i = nuevaSeleccion.idsSabores.indexOf(valor);\r\n nuevaSeleccion.idsSabores.splice(i,1);\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambiaCheckSolo = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.saborSolo = valor;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const CambioEdad = (nuevaedad, nuevaunidad) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(seleccionFormulario));\r\n nuevaSeleccion.edad = nuevaedad;\r\n nuevaSeleccion.undEdad = nuevaunidad;\r\n setSeleccionFormulario(nuevaSeleccion);\r\n }\r\n\r\n const construyeResumenBusqueda = () => {\r\n var res = [];\r\n if (seleccionFormulario.itemDieto){\r\n res.push ({titulo: \"Dietoterápico\", valor: seleccionFormulario.itemDieto.codigo + ' ' + seleccionFormulario.itemDieto.valor})\r\n }\r\n if ((seleccionFormulario.idsSabores) && (seleccionFormulario.idsSabores.length>0)){\r\n if (datosFormulario.listaSabores){\r\n var valor = '';\r\n for (var i =0; i x.Codigo === seleccionFormulario.idsSabores[i]);\r\n if (item){\r\n if (valor !== '')\r\n valor += \", \";\r\n valor += item.Valor;\r\n }\r\n }\r\n if (valor != '')\r\n res.push ({titulo: \"Sabores\", valor: valor});\r\n }\r\n\r\n if (seleccionFormulario.saborSolo){\r\n res.push({titulo: \"Sólo puede tener los sabores seleccionados\"})\r\n }else{\r\n res.push({titulo: \"Puede contener sabor adicional\"})\r\n }\r\n }\r\n\r\n if (seleccionFormulario.edad && seleccionFormulario.edad>0 && seleccionFormulario.undEdad && seleccionFormulario.undEdad != \"\"){\r\n var str = seleccionFormulario.edad.toString();\r\n if (seleccionFormulario.undEdad.toLowerCase()===\"m\"){\r\n str += \" meses\"\r\n }else{\r\n str += \" años\"\r\n }\r\n res.push({titulo: \"Edad\", valor: str});\r\n }\r\n\r\n \r\n return res;\r\n }\r\n\r\n\r\n const KeyDownForm = (e) =>{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const estiloBotonesSup = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'space-between'} : {height:'76px', width:'100%', justifyContent: 'space-between', visibility:'hidden'})\r\n const estiloBotonesInf = (hayBusqueda ? {height:'76px', width:'100%', justifyContent: 'center'} : {height:'76px', width:'100%', justifyContent: 'center', display:'none'}) \r\n\r\n const resumen = construyeResumenBusqueda(seleccionFormulario);\r\n\r\n const listaCodValor = (datosFormulario.listaSabores) ? datosFormulario.listaSabores.map(it => ({codigo: it.Codigo, valor: it.Valor})) : [];\r\n\r\n return (\r\n
    \r\n\r\n { (datosFormulario.arbolDieto === null) ?\r\n \r\n :\r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} style={{visibility:'hidden'}} >\r\n Vaciar búsqueda\r\n \r\n \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n {/**/\r\n }\r\n {/*\r\n \r\n */}\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sabores

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {(seleccionFormulario.saborSolo) ?\r\n
    \r\n \r\n \r\n
    \r\n :\r\n
    \r\n \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Edad

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FBusquedaSaborEdad;\r\n","import { useEffect, useState } from \"react\";\r\nimport SelectorTipo2 from \"../../Utilidades/Selector/SelectorTipo2\";\r\nimport { GetAntecesorWhithClassName, GetSucesorWhithClassName, RemoveClassNameToChildClassItems } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\n\r\nconst FBusquedaSimple = (props) => {\r\n const [lista,setLista] = useState([]);\r\n const [datosFormulario, setDatosFormulario] = useState(props.datosFormulario);\r\n\r\n const clasedivmodulefilters = (datosFormulario.ancho) ? \"cover cover__filters cover__filters__2 cover__filters__2--1 ancho\" : \"cover cover__filters cover__filters__2 cover__filters__2--1\";\r\n\r\n var seleccionado = datosFormulario.seleccionado;\r\n\r\n var busqueda = datosFormulario.busqueda;\r\n\r\n if ((!datosFormulario.esIdStr) && (seleccionado))\r\n seleccionado = parseInt(seleccionado);\r\n \r\n if (!seleccionado)\r\n seleccionado = 0;\r\n \r\n const listaCodValor = lista.map(it => ({codigo: it.Codigo, valor: it.Valor}));\r\n\r\n\r\n useEffect(() => {\r\n if ((lista.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux)\r\n {\r\n DescargaLista(props.datosFormulario.tipo, props.datosFormulario.aux);\r\n } \r\n },[props.datosFormulario]);\r\n\r\n const DescargaLista = (tipo, aux) => { \r\n props.datosFormulario.descarga(tipo, aux)\r\n .then((response) => {\r\n setDatosFormulario(props.datosFormulario);\r\n var newlista = response.data;\r\n newlista.splice(0,0,{Codigo:props.datosFormulario.valorNulo, Valor:props.datosFormulario.placeholder});\r\n setLista(newlista);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n /*const clickBuscar = (e) =>{\r\n const item = document.getElementById(props.datosFormulario.idSelect);\r\n if (item){\r\n if (item.value!=datosFormulario.valorNulo){\r\n var valor = item.value;\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n newid: valor,\r\n })\r\n }\r\n }\r\n }*/\r\n\r\n const clickBuscar = (e) =>{\r\n if (datosFormulario.seleccionado!==datosFormulario.valorNulo){\r\n var valor = datosFormulario.seleccionado;\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n newid: valor,\r\n })\r\n }\r\n }\r\n\r\n const CambiaValor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = nuevovalor;\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const BorraValor = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = datosFormulario.valorNulo;\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n\r\n const BorraBusqueda = (e) =>{\r\n BorraValor();\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const maxLengthNormal = (datosFormulario.ancho && !isMobile ? 80 : 40);\r\n\r\n return (\r\n
    \r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {datosFormulario.tituloSelect}:\r\n

    \r\n {/* */}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FBusquedaSimple;\r\n\r\n\r\n/*\r\n \r\n*/","import { useEffect, useState } from \"react\";\r\nimport SelectorTipo2 from \"../../Utilidades/Selector/SelectorTipo2\";\r\nimport { GetAntecesorWhithClassName, GetSucesorWhithClassName, RemoveClassNameToChildClassItems } from \"../../../services/utils\";\r\nimport SelectorUno2 from \"../../Utilidades/Selector/SelectorUno2\";\r\nimport SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\n\r\nconst FBusquedaMultiple = (props) => {\r\n const [lista,setLista] = useState([]);\r\n const [datosFormulario, setDatosFormulario] = useState(props.datosFormulario);\r\n\r\n const clasedivmodulefilters = (datosFormulario.ancho) ? \"cover cover__filters cover__filters__2 cover__filters__2--1 ancho\" : \"cover cover__filters cover__filters__2 cover__filters__2--1\";\r\n\r\n var seleccionados = datosFormulario.seleccionados;\r\n\r\n var busqueda = datosFormulario.busqueda;\r\n\r\n if ((!datosFormulario.esIdStr) && (seleccionados))\r\n seleccionados = seleccionados.map(i => parseInt(i));\r\n \r\n if (!seleccionados)\r\n seleccionados = [];\r\n \r\n const listaCodValor = lista.map(it => ({codigo: it.Codigo, valor: it.Valor}));\r\n\r\n\r\n useEffect(() => {\r\n if ((lista.length === 0) \r\n || props.datosFormulario.tipo !== datosFormulario.tipo \r\n || props.datosFormulario.tipoForm !== datosFormulario.tipoForm \r\n || props.datosFormulario.aux !== datosFormulario.aux)\r\n {\r\n DescargaLista(props.datosFormulario.tipo, props.datosFormulario.aux);\r\n } \r\n },[props.datosFormulario]);\r\n\r\n const DescargaLista = (tipo, aux) => { \r\n props.datosFormulario.descarga(tipo, aux)\r\n .then((response) => {\r\n setDatosFormulario(props.datosFormulario);\r\n var newlista = response.data;\r\n newlista.splice(0,0,{Codigo:props.datosFormulario.valorNulo, Valor:props.datosFormulario.placeholder});\r\n setLista(newlista);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n /*const clickBuscar = (e) =>{\r\n const item = document.getElementById(props.datosFormulario.idSelect);\r\n if (item){\r\n if (item.value!=datosFormulario.valorNulo){\r\n var valor = item.value;\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n newid: valor,\r\n })\r\n }\r\n }\r\n }*/\r\n\r\n const clickBuscar = (e) =>{\r\n if (datosFormulario.seleccionados && datosFormulario.seleccionados.length>0){\r\n //var valor = datosFormulario.seleccionado;\r\n props.cambiaPagina({\r\n newpagina: busqueda,\r\n //newid: valor,\r\n seleccionados: datosFormulario.seleccionados,\r\n })\r\n }\r\n }\r\n\r\n/* const CambiaValor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = nuevovalor;\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const BorraValor = () =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionado = datosFormulario.valorNulo;\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n*/\r\n\r\n const AddValor = (nuevovalor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n if (!nuevaSeleccion.seleccionados) { nuevaSeleccion.seleccionados = []};\r\n nuevaSeleccion.seleccionados.push(nuevovalor);\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n const RemoveValor = (valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n var i = nuevaSeleccion.seleccionados.indexOf(parseInt(valor));\r\n nuevaSeleccion.seleccionados.splice(i,1);\r\n setDatosFormulario(nuevaSeleccion);\r\n }\r\n\r\n\r\n const BorraBusqueda = (e) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(datosFormulario));\r\n nuevaSeleccion.seleccionados = [];\r\n setDatosFormulario(nuevaSeleccion);\r\n /*BorraValor();\r\n var inputs = document.getElementsByClassName('inputSelector');\r\n if (inputs){\r\n for (var i=0; i{\r\n var keyCode = e.keyCode;\r\n if (keyCode === 13){\r\n clickBuscar(e);\r\n }\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const maxLengthNormal = (datosFormulario.ancho && !isMobile ? 80 : 40);\r\n\r\n return (\r\n
    \r\n
    e.preventDefault()} onKeyDown={(e) => KeyDownForm(e)} tabIndex=\"0\">\r\n
    \r\n BorraBusqueda(e)} >\r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {datosFormulario.tituloSelect}:\r\n

    \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FBusquedaMultiple;\r\n","const ItemIndiceFormularios = (props) => {\r\n const item = props.item;\r\n const activo = props.activo;\r\n const claseli = (activo ? \"active\" : \"\");\r\n const colorFill = (activo ? \"#B9B9B9\" : \"#81509a\");\r\n const estiloSpan = (activo ? {cursor:'default'} : {cursor:'pointer'})\r\n\r\n return (\r\n
  • \r\n props.cambiaPagina({newpagina : item.codigoPagina})} style={estiloSpan}>{item.display}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n );\r\n};\r\n\r\nexport default ItemIndiceFormularios;\r\n","import { useEffect, useState } from \"react\";\r\nimport { getDescripcionTipo, getListaFormularios } from \"../../../services/utils\";\r\nimport ItemIndiceFormularios from \"./ItemIndiceFormularios\";\r\nimport BP2022Service from \"./../../../services/user.service\";\r\n\r\nconst IndiceFormularios = (props) => {\r\n const tipo = props.tipo;\r\n const codigoPagina = props.codigoPagina;\r\n const [listaFormularios, setListaFormularios] = useState(getListaFormularios(tipo));\r\n const tipoDesc = getDescripcionTipo(tipo);\r\n const HTMLIndice = listaFormularios.map(item => \r\n \r\n );\r\n\r\n useEffect(() => {\r\n if (tipo === \"P\"){\r\n const nuevaLista = JSON.parse(JSON.stringify(listaFormularios));\r\n BP2022Service.moduloIndicacionesPF()\r\n .then((response) => {\r\n if (response.data){\r\n nuevaLista.splice(5,0,\r\n {\r\n codigoPagina: \"FBProductosIndicacionPPF\",\r\n display: \"Productos y complementos alimenticios\",\r\n });\r\n setListaFormularios(nuevaLista);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n }, []);\r\n\r\n\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default IndiceFormularios;\r\n","import { useEffect, useState } from \"react\";\r\nimport { getDatosFormulario } from \"../../services/objsAplicacion\";\r\nimport { getTipoFromCodigoPagina, getTituloFromCodigoPagina } from \"../../services/utils\";\r\nimport CabeceraFormulario from \"./CabeceraFormulario/CabeceraFormulario\";\r\nimport FBAlertasCalidad from \"./Formularios/FBAlertasCalidad\";\r\nimport FBAvanzadaMUH from \"./Formularios/FBAvanzadaMUH\";\r\nimport FBAvanzadaMUV from \"./Formularios/FBAvanzadaMUV\";\r\nimport FBAvanzadaPAH from \"./Formularios/FBAvanzadaPAH\";\r\nimport FBAvanzadaPPF from \"./Formularios/FBAvanzadaPPF\";\r\nimport FBComposicion from \"./Formularios/FBComposicion\";\r\nimport FBDocumentos from \"./Formularios/FBDocumentos\";\r\nimport FBEspecieIndicacion from \"./Formularios/FBEspecieIndicacion\";\r\nimport FBExtranjeros from \"./Formularios/FBExtranjeros\";\r\nimport FBFechas from \"./Formularios/FBFechas\";\r\nimport FBFormaColor from \"./Formularios/FBFormaColor\";\r\nimport FBPacienteIndicacion from \"./Formularios/FBPacienteIndicacion\";\r\nimport FBProductosIndicacion from \"./Formularios/FBProductosIndicacion\";\r\nimport FBProblemasSum from \"./Formularios/FBProblemasSum\";\r\nimport FBReaccionesAdversas from \"./Formularios/FBReaccionesAdversas\";\r\nimport FBTest from \"./Formularios/FBTest\";\r\nimport FBusquedaArbol from \"./Formularios/FBusquedaArbol\";\r\nimport FBusquedaArbolMultiple from \"./Formularios/FBusquedaArbolMultiple\";\r\nimport FBusquedaSaborEdad from \"./Formularios/FBusquedaSaborEdad\";\r\nimport FBusquedaSimple from \"./Formularios/FBusquedaSimple\";\r\nimport FBusquedaMultiple from \"./Formularios/FBusquedaMultiple\";\r\nimport IndiceFormularios from \"./IndiceFormularios/IndiceFormularios\";\r\n\r\nconst FormularioBusqueda = (props) => {\r\n const [infoPagina, setInfoPagina] = useState(props.infoPagina);\r\n const tipo = getTipoFromCodigoPagina(infoPagina.codigoPagina);\r\n var titulo = getTituloFromCodigoPagina(infoPagina.codigoPagina);\r\n\r\n if ((infoPagina.codigoPagina) === \"FBAFMUV\")\r\n titulo = \"Principios activos veterinarios por actividad farmacológica\"\r\n\r\n const datosFormulario = (infoPagina.seleccionados) ? getDatosFormulario(infoPagina.codigoPagina, infoPagina.seleccionados) : getDatosFormulario(infoPagina.codigoPagina, infoPagina.id);\r\n\r\n const formulario = (\r\n (infoPagina.codigoPagina === \"FBAgrupHomoAutoMUH\")\r\n || (infoPagina.codigoPagina === \"FBAgrupHomoMUH\")\r\n || (infoPagina.codigoPagina === \"FBAgrupHomoAutoPPF\")\r\n || (infoPagina.codigoPagina === \"FBAgrupHomoPPF\")\r\n || (infoPagina.codigoPagina === \"FBAnalisisMUH\")\r\n || (infoPagina.codigoPagina === \"FBGTVMPP2MUH\") \r\n || (infoPagina.codigoPagina === \"FBFarmacogeneticaMUH\") ?\r\n \r\n :\r\n (infoPagina.codigoPagina === \"FBLaboratorioPPF\") \r\n || (infoPagina.codigoPagina === \"FBLaboratorioMUV\")\r\n || (infoPagina.codigoPagina === \"FBLaboratorioMUH\") \r\n || (infoPagina.codigoPagina === \"FBFormaFarmaMUH\")\r\n || (infoPagina.codigoPagina === \"FBFormaFarmaMUV\")\r\n || (infoPagina.codigoPagina === \"FBFormaFarmaPPF\")\r\n || (infoPagina.codigoPagina === \"FBAFMUH\")\r\n || (infoPagina.codigoPagina === \"FBAMMUH\")\r\n || (infoPagina.codigoPagina === \"FBActPPF\")\r\n || (infoPagina.codigoPagina === \"FBAFMUV\")\r\n ?\r\n \r\n :\r\n (infoPagina.codigoPagina === \"FBGTConPPFxxx\")\r\n || (infoPagina.codigoPagina === \"FBGTSanPPF\") \r\n || (infoPagina.codigoPagina === \"FBGTVMPPMUH\") \r\n ?\r\n \r\n :\r\n (infoPagina.codigoPagina === \"FBGTATCMUV\") \r\n || (infoPagina.codigoPagina === \"FBGTATCMUH\")\r\n || (infoPagina.codigoPagina === \"FBGTConPPF\")\r\n ?\r\n \r\n /*:\r\n (infoPagina.codigoPagina === \"FBGTVMPPMUHxxxx\") ?\r\n */\r\n : (infoPagina.codigoPagina === \"FBSaborEdadPPF\") ?\r\n \r\n : (infoPagina.codigoPagina === \"FBEspecieIndicacionMUV\") ?\r\n \r\n : (infoPagina.codigoPagina === \"FBTest\") ?\r\n \r\n : (infoPagina.codigoPagina === \"FBProblemasSumMUH\") ?\r\n \r\n : (infoPagina.codigoPagina === \"FBAlertasCMUH\") \r\n || (infoPagina.codigoPagina === \"FBAlertasCMUV\") \r\n || (infoPagina.codigoPagina === \"FBAlertasCPPF\") ?\r\n \r\n : \r\n (infoPagina.codigoPagina === \"FBCambioNombre\")\r\n || (infoPagina.codigoPagina === \"FBCambioLaboratorio\") \r\n || (infoPagina.codigoPagina === \"FBCambioPrecioMUH\") \r\n || (infoPagina.codigoPagina === \"FBDesfinanciadosMUH\") \r\n || (infoPagina.codigoPagina === \"FBFechaAlta\") ?\r\n \r\n\r\n : (infoPagina.codigoPagina === \"FBReaccionesAdversasMUH\") ?\r\n \r\n : ((infoPagina.codigoPagina === \"FBComposicionMUH\") \r\n ||(infoPagina.codigoPagina === \"FBComposicionMUV\") \r\n ||(infoPagina.codigoPagina === \"FBComposicionPPF\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBAvanzadaMUH\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBAvanzadaMUV\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBAvanzadaPAH\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBAvanzadaPPF\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBPacienteIndicacionMUH\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBProductosIndicacionPPF\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBFormaColorMUH\") \r\n )?\r\n \r\n : ((infoPagina.codigoPagina === \"FBExtranjerosEXT\") \r\n )?\r\n \r\n : (infoPagina.codigoPagina === \"FBDocumentos\") ?\r\n \r\n :\r\n
    \r\n );\r\n\r\n useEffect(() => {\r\n setInfoPagina(props.infoPagina);\r\n },[props.infoPagina]);\r\n\r\n const cambiaTab = (codTab) =>{\r\n if (infoPagina.codigoPagina=== \"FBComposicionPPF\"){\r\n const nuevaInfoPagina = JSON.parse(JSON.stringify(infoPagina));\r\n nuevaInfoPagina.tipoProd = codTab;\r\n setInfoPagina(nuevaInfoPagina);\r\n }else if (infoPagina.codigoPagina === \"FBFormaColorMUH\"){\r\n const nuevaInfoPagina = JSON.parse(JSON.stringify(infoPagina));\r\n nuevaInfoPagina.tipoFF = codTab;\r\n setInfoPagina(nuevaInfoPagina);\r\n }\r\n }\r\n\r\n\r\n const tabsComposPF = [\r\n { \r\n cod: 2, \r\n texto: \"Dermofarmacia\",\r\n clase: (infoPagina.tipoProd === 2) ? \"active\" : \"\",\r\n },\r\n {\r\n cod: 1, \r\n texto: \"Otros productos\",\r\n clase: (infoPagina.tipoProd === 1) ? \"active\" : \"\",\r\n },\r\n ]\r\n\r\n const tiposFF = [\r\n { \r\n cod: 'CO', \r\n texto: \"Comprimidos\",\r\n clase: (infoPagina.tipoFF === 'CO') ? \"active\" : \"\",\r\n },\r\n {\r\n cod: 'CA', \r\n texto: \"Cápsulas\",\r\n clase: (infoPagina.tipoFF === 'CA') ? \"active\" : \"\",\r\n },\r\n { \r\n cod: 'JA', \r\n texto: \"Jarabes / Soluciones orales\",\r\n clase: (infoPagina.tipoFF === 'JA') ? \"active\" : \"\",\r\n },\r\n ]\r\n\r\n\r\n const HTMLTabs = (\r\n (infoPagina.codigoPagina === \"FBComposicionPPF\") ?\r\n
    \r\n
    \r\n
      \r\n {tabsComposPF.map(t =>
    • cambiaTab(t.cod)}>{t.texto}
    • )}\r\n
    \r\n
    \r\n
    \r\n :\r\n (infoPagina.codigoPagina === \"FBFormaColorMUH\") ?\r\n
    \r\n
    \r\n
      \r\n {tiposFF.map(t =>
    • cambiaTab(t.cod)}>{t.texto}
    • )}\r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n );\r\n\r\n\r\n return ( \r\n
    \r\n \r\n {HTMLTabs}\r\n {(infoPagina.codigoPagina === \"FBAvanzadaMUH\") \r\n ||(infoPagina.codigoPagina === \"FBAvanzadaMUV\") \r\n ||(infoPagina.codigoPagina === \"FBAvanzadaPAH\") \r\n ||(infoPagina.codigoPagina === \"FBAvanzadaPPF\") \r\n ||(infoPagina.codigoPagina === \"FBExtranjerosEXT\") \r\n ||(infoPagina.codigoPagina === \"FBCambioNombre\") \r\n ||(infoPagina.codigoPagina === \"FBCambioLaboratorio\") \r\n ||(infoPagina.codigoPagina === \"FBCambioPrecio\") \r\n ||(infoPagina.codigoPagina === \"FBDesfinanciados\") \r\n ||(infoPagina.codigoPagina === \"FBFechaAlta\") \r\n ||(infoPagina.codigoPagina === \"FBDocumentos\") \r\n ?\r\n
    \r\n {formulario}\r\n
    \r\n :\r\n
    \r\n \r\n {formulario}\r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default FormularioBusqueda;\r\n \r\n/*\r\n \r\n*/\r\n","import { GetAntecesorWhithClassName, rootPath } from \"../../../services/utils\";\r\nimport ItemMenuIconos from \"../../Cabecera/MenuIconos/ItemMenuIconos\";\r\n\r\nfunction Interaccion(props){\r\n const itemInteraccion = props.item\r\n var claseMask = \"mask\";\r\n if (itemInteraccion.IdSemaforo === 1)\r\n claseMask = \"mask red\";\r\n if (itemInteraccion.IdSemaforo === 2)\r\n claseMask = \"mask yellow\";\r\n if (itemInteraccion.IdSemaforo === 3)\r\n claseMask = \"mask green\";\r\n\r\n var imgSentido = rootPath + \"img/ficha/arrowRight.svg\";\r\n var txtSentido = itemInteraccion.PA1 + \" interfiere con la acción de \" + itemInteraccion.PA2;\r\n if (itemInteraccion.Sentido === 1){\r\n imgSentido = rootPath + \"img/ficha/arrowLeft.svg\";\r\n txtSentido = itemInteraccion.PA2 + \" interfiere con la acción de \" + itemInteraccion.PA1;\r\n }\r\n if (itemInteraccion.Sentido === 2){\r\n imgSentido = rootPath + \"img/ficha/arrowEqual.svg\";\r\n txtSentido = \"Interferencia mutua\";\r\n }\r\n\r\n const clickDetalles = (e) =>{\r\n var item = e.target;\r\n var header = GetAntecesorWhithClassName(item,'showCard');\r\n var covercard = GetAntecesorWhithClassName(item,'cover__card');\r\n if (header)\r\n header.classList.toggle('active');\r\n if (covercard)\r\n covercard.classList.toggle('active');\r\n }\r\n \r\n const clickDescripcion = (e) =>{\r\n var item = e.target;\r\n var header = GetAntecesorWhithClassName(item,'showCard__details');\r\n var covercard = GetAntecesorWhithClassName(item,'card__content');\r\n if (header)\r\n header.classList.toggle('active');\r\n if (covercard)\r\n covercard.classList.toggle('active');\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const anchos = (isMobile) ? ['37%','26%','37%'] : ['39%','27%','34%'];\r\n\r\n const HTMLSemaforoInter = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n (!isMobile) ?\r\n HTMLSemaforoInter\r\n :\r\n <> \r\n }\r\n
    \r\n

    {itemInteraccion.TxtSel1}

    \r\n

    {itemInteraccion.TipoRegistro1}

    \r\n {\r\n (itemInteraccion.IdSel1 !== itemInteraccion.IdPA1) ?\r\n
    \r\n

    {itemInteraccion.PA1}

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n {\r\n (isMobile) ?\r\n HTMLSemaforoInter\r\n :\r\n <> \r\n }\r\n
    \r\n {imgSentido}\r\n
    \r\n
    \r\n

    {itemInteraccion.DesSemaforo}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {itemInteraccion.TxtSel2}

    \r\n

    {itemInteraccion.TipoRegistro2}

    \r\n {\r\n (itemInteraccion.IdSel2 !== itemInteraccion.IdPA2) ?\r\n
    \r\n

    {itemInteraccion.PA2}

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n { (itemInteraccion.IdSemaforo<=3) ?\r\n
    \r\n clickDetalles(e)} >Detalles \r\n \r\n \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n { (itemInteraccion.IdSemaforo<=3) ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Importancia clínica:

    \r\n
    \r\n
    \r\n

    {itemInteraccion.Significacion}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sentido de la interacción:

    \r\n
    \r\n
    \r\n

    {txtSentido}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Efecto clínico:

    \r\n
    \r\n
    \r\n

    {itemInteraccion.Naturaleza}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Medidas a tomar:

    \r\n
    \r\n
    \r\n

    {itemInteraccion.Medidas}

    \r\n
    \r\n
    \r\n { (itemInteraccion.Textos) ?\r\n
    \r\n
    \r\n

    Descripción:

    \r\n
    \r\n
    \r\n clickDescripcion(e)} >\r\n Mostrar descripción \r\n \r\n \r\n
    \r\n

    {itemInteraccion.Titulo}

    \r\n
    \r\n {(itemInteraccion.Textos.Efecto) ?\r\n
    \r\n

    Efecto

    \r\n

    \r\n {itemInteraccion.Textos.Efecto} \r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n {(itemInteraccion.Textos.Importancia) ?\r\n
    \r\n

    Importancia

    \r\n

    \r\n {itemInteraccion.Textos.Importancia} \r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n {(itemInteraccion.Textos.Mecanismo) ?\r\n
    \r\n

    Mecanismo

    \r\n

    \r\n {itemInteraccion.Textos.Mecanismo} \r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n {(itemInteraccion.Textos.Evidencias) ?\r\n
    \r\n

    Evidencias

    \r\n

    \r\n {itemInteraccion.Textos.Evidencias} \r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n {(itemInteraccion.Textos.Referencias) ?\r\n
    \r\n

    Referencias

    \r\n

    \r\n {itemInteraccion.Textos.Referencias}\r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n clickDescripcion(e)} >\r\n Ocultar descripción \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n} \r\nexport default Interaccion;\r\n","import OptionSelect from \"../../../Utilidades/Select/OptionSelect\";\r\n\r\nfunction FiltroLista(props){\r\n const filtro = props.filtro;\r\n const opcionesLista = filtro.posibles.map(opcion => );\r\n const idInput = \"input__\" + filtro.idGrupo;\r\n \r\n const avoidEnter = (e) =>{\r\n if (e.which == '13') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n e.target.blur();\r\n }\r\n }\r\n\r\n const handleCambioLista=(e) =>{\r\n props.cambiaLista(filtro.idGrupo, e.target.value)\r\n }\r\n\r\n return (\r\n
    e.preventDefault()}>\r\n handleCambioLista(e)} \r\n onKeyDown={e => avoidEnter(e)}/>\r\n { \r\n (filtro.posibles && filtro.posibles.length>0) ? (\r\n \r\n {opcionesLista}\r\n \r\n ) : (\r\n

    \r\n )\r\n }\r\n
    \r\n );\r\n} \r\nexport default FiltroLista;","import OptionSelect from \"../../../Utilidades/Select/OptionSelect\";\r\nimport SelectorComboBox from \"../../../Utilidades/Selector/SelectorComboBox\";\r\n\r\nfunction FiltroListBox(props){\r\n const filtro = props.filtro;\r\n const opcionesLista = filtro.posibles.map(opcion => );\r\n const idInput = \"input__\" + filtro.idGrupo;\r\n \r\n const avoidEnter = (e) =>{\r\n if (e.which == '13') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n e.target.blur();\r\n }\r\n }\r\n\r\n const handleCambioLista=(valor) =>{\r\n props.cambiaLista(filtro.idGrupo, valor)\r\n }\r\n\r\n\r\n return (\r\n
    e.preventDefault()}>\r\n \r\n
    \r\n );\r\n} \r\nexport default FiltroListBox;","function FiltroText(props){\r\n const filtro = props.filtro;\r\n const idInput = \"input__\" + filtro.idGrupo;\r\n \r\n const avoidEnter = (e) =>{\r\n if (e.which == '13') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n e.target.blur();\r\n }\r\n }\r\n\r\n const handleCambioLista=(e) =>{\r\n props.cambiaLista(filtro.idGrupo, e.target.value)\r\n }\r\n\r\n return (\r\n
    e.preventDefault()}>\r\n handleCambioLista(e)} \r\n onKeyDown={e => avoidEnter(e)}/>\r\n
    \r\n );\r\n} \r\nexport default FiltroText;\r\n","import React, { useState, useEffect } from \"react\";\r\n\r\nfunction CheckBoxFiltro(props){\r\n var claseCheckBox = props.idGrupo;\r\n if (props.excluyente)\r\n claseCheckBox = claseCheckBox + ' excluyente';\r\n\r\n var claseLabel = (props.nivel===1 ? 'filter' : 'filter filter__child');\r\n if (props.grupoActivo)\r\n claseLabel += \" grupoActivo\";\r\n const idCheckBox = props.idGrupo + '__' + (props.idValor ? props.idValor : props.value);\r\n const valueCheckBox = props.value;\r\n const texto = props.texto;\r\n\r\n const handleCambioCheckBox=(e) =>{\r\n var marcado = e.target.checked;\r\n props.cambiaCheck(props.idGrupo, (props.idValor ? props.idValor : props.value), marcado);\r\n }\r\n\r\n\r\n return(\r\n \r\n )\r\n}\r\n\r\n\r\nexport default CheckBoxFiltro;","import React, { useState, useEffect } from \"react\";\r\nimport CheckBoxFiltro from \"./CheckBoxFiltro\";\r\n\r\nfunction GrupoCheckBoxFiltro(props){\r\n const filtro = props.filtro;\r\n const items = filtro.valores;\r\n const grupoActivo = (items.find(item => item.activo) ? true : false);\r\n const listaCheckBox = items.map(item => );\r\n\r\n\r\n return(\r\n
    \r\n
    \r\n {listaCheckBox}\r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\nexport default GrupoCheckBoxFiltro;\r\n","import { elementIsOfClass } from \"../../../../services/utils\";\r\nimport FiltroLista from \"./FiltroLista\";\r\nimport FiltroListBox from \"./FiltroListBox\";\r\nimport FiltroText from \"./FiltroText\";\r\nimport GrupoCheckBoxFiltro from \"./GrupoCheckBoxFiltro\";\r\n\r\nfunction FiltroBusqueda(props){\r\n const filtro = props.filtro\r\n var contenido;\r\n\r\n const claseAcordeon = (filtro.abierto ? \"accordion__module accordion__module__filters active\" : \"accordion__module accordion__module__filters\");\r\n\r\n const handleClickAcordeonFiltro = (e) =>{\r\n var item = e.target;\r\n while (item && !elementIsOfClass(item,'accordion__header'))\r\n item = item.parentElement;\r\n if (item)\r\n item.parentElement.classList.toggle('active');\r\n }\r\n\r\n\r\n if (filtro.tipo ==='List')\r\n contenido = (\r\n \r\n \r\n );\r\n else if ((filtro.tipo ==='Text')||(filtro.tipo==='CN'))\r\n contenido = (\r\n \r\n \r\n );\r\n else if (filtro.tipo ==='ListBox'){\r\n contenido = (\r\n \r\n \r\n );\r\n }else /* filtro.tipo === 'Check' */\r\n contenido = (\r\n \r\n \r\n );\r\n\r\n return(\r\n
    \r\n
    handleClickAcordeonFiltro(e)}>\r\n
    \r\n

    {filtro.nombre}

    \r\n
    \r\n
    \r\n
    \r\n {contenido}\r\n
    \r\n
    \r\n )\r\n\r\n } \r\nexport default FiltroBusqueda;\r\n\r\n\r\n","import SelectorMulti2 from \"../../Utilidades/Selector/SelectorMulti2\";\r\nimport FiltroBusqueda from \"../FiltrosYBusqueda/Filtros/FiltroBusqueda\";\r\n\r\nfunction MargenIzquierdoInter(props){\r\n const filtros = props.filtros;\r\n const htmlFiltros = (filtros ?\r\n
    \r\n {filtros.map(filtro => \r\n )}\r\n
    \r\n :\r\n
    \r\n );\r\n/*\r\n const handleClickFiltrosHeader = (e) =>{\r\n ToggleClassNameToClassItems('cover__aside', null, 'active');\r\n }\r\n*/\r\n const listaCodValorMeds = (props.listaPosibles) ? props.listaPosibles.map(it => ({codigo: it.Codigo, valor: it.Valor, codigo2: it.Codigo2})) : [];\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Medicamentos o complementos

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Filtrar

    \r\n
    \r\n {htmlFiltros}\r\n
    \r\n )\r\n} \r\nexport default MargenIzquierdoInter;\r\n","function MedsSeleccionados(props){\r\n\r\n const itemsHtml = props.itemsSelected.map(item => \r\n \r\n {item.Valor}\r\n \"eliminar\" props.alBorrar(item.Codigo)} />\r\n );\r\n\r\n const texto = (props.nFiltrados > 0 ? props.nFiltrados.toString() + \" interacciones encontradas\" : \"\");\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {itemsHtml}\r\n
    \r\n
    \r\n \r\n Vaciar búsqueda\r\n \r\n
    \r\n
    \r\n {(texto !== \"\") ?\r\n
    \r\n

    {texto}

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n )\r\n} \r\nexport default MedsSeleccionados;\r\n","import { useEffect, useState } from \"react\";\r\nimport { filtrosInteracciones } from \"../../../services/objsAplicacion\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\nimport { GetFiltrosStr, handleClasesCheckbox, rootPath } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../Loading.Popup\";\r\nimport Interaccion from \"./Interaccion\";\r\nimport MargenIzquierdoInter from \"./MargenIzquierdoInter\";\r\nimport MedsSeleccionados from \"./MedsSeleccionados\";\r\nimport { isNumeric } from \"validator\";\r\n\r\nconst BInteracciones = (props) => {\r\n const [listaPosibles, setListaPosibles] = useState(null);\r\n const [idsSel, setIdsSel] = useState((props.infoPagina.idsSel) ? props.infoPagina.idsSel : []);\r\n const [listaResultados, setListaResultados] = useState(null);\r\n const [listaFiltrada, setListaFiltrada] = useState(null);\r\n const [configuracionVista, setConfiguracionVista] = useState({\r\n filtros: (props.infoPagina.filtrosActivos) ? props.infoPagina.filtrosActivos : [],\r\n numMostrar: (props.infoPagina.numMostrar) ? props.infoPagina.numMostrar: 10,\r\n })\r\n const [itemsSelected, setItemsSelected] = useState(null);\r\n \r\n \r\n const ActulizaItemsSelected = () =>{\r\n var nuevosItemsSelected = [];\r\n\r\n for (var i = 0; iparseInt(x.Codigo)===parseInt(id));\r\n if (item)\r\n nuevosItemsSelected.push(item);\r\n }\r\n setItemsSelected(nuevosItemsSelected);\r\n }\r\n\r\n\r\n const filtrosInt = filtrosInteracciones;\r\n\r\n for (var i=0; i0){\r\n for (var j=0; j0 ? \r\n (configuracionVista.filtros.find(x => x.nombre === idGrupo && parseInt(x.valor) === parseInt(valor)) ? true : false)\r\n : \r\n false\r\n );\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (listaPosibles === null){\r\n DescargaDatos();\r\n }else if (idsSel && idsSel.length>0 && !listaResultados){\r\n ActulizaItemsSelected();\r\n BuscaInteracciones();\r\n }else if((!idsSel || idsSel.length===0) && !listaResultados){\r\n setItemsSelected([]);\r\n setListaResultados([]);\r\n }else if(listaResultados && (!listaFiltrada) ) {\r\n var nuevaListaFiltrada = [];\r\n if (configuracionVista.filtros && configuracionVista.filtros.length>0){\r\n AplicaFiltrosInteracciones(listaResultados,configuracionVista.filtros)\r\n }\r\n else{\r\n nuevaListaFiltrada = listaResultados;\r\n setListaFiltrada(nuevaListaFiltrada);\r\n }\r\n }else{\r\n }\r\n\r\n if ((idsSel) && idsSel.length>0){\r\n var newpath = rootPath + \"BInteraccionesMUH?idsSel=\" + idsSel.toString();\r\n if (configuracionVista.filtros && configuracionVista.filtros.length>0){\r\n newpath += \"&\" + GetFiltrosStr(filtrosInteracciones);\r\n }\r\n window.history.replaceState(null,'',newpath);\r\n }\r\n\r\n },[listaPosibles, idsSel, listaResultados, listaFiltrada, configuracionVista]);\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.listaPosiblesInteractores(idsSel)\r\n .then((response) => {\r\n var nuevaListaPosibles = response.data.Medicamentos;\r\n nuevaListaPosibles.splice(0,0,{Codigo:0, Valor:'Medicamento o complemento'});\r\n setListaPosibles(nuevaListaPosibles);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const BuscaInteracciones = () => { \r\n BP2022Service.buscaInteracciones(idsSel)\r\n .then((response) => {\r\n var nuevaListaResultados = response.data;\r\n setListaResultados(nuevaListaResultados);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const AnadeSiCodigo = (sCodigo) => {\r\n if (sCodigo){\r\n if (sCodigo.length >= 5){\r\n if (isNumeric(sCodigo)){\r\n BP2022Service.getItemsFromEspecod(sCodigo)\r\n .then((response) => {\r\n if (response.data){\r\n let tempList = JSON.parse(JSON.stringify(listaPosibles));\r\n var added = false;\r\n for (i=0; i x.Codigo2 === response.data[i].CodigoNacional)){\r\n var item = {Codigo: response.data[i].Id, Valor: response.data[i].Nombre, Codigo2: response.data[i].CodigoNacional}\r\n tempList.push(item);\r\n added = true;\r\n }\r\n else{\r\n }\r\n }\r\n if (added) setListaPosibles(tempList);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n const cambioFiltroCheck = (idFiltro, idValor, marcado, ) => {\r\n let tempVar = JSON.parse(JSON.stringify(configuracionVista));\r\n var item = tempVar.filtros.findIndex(x => x.nombre === idFiltro && parseInt(x.valor) === parseInt(idValor));\r\n if (item<0 && marcado){\r\n tempVar.filtros.push({nombre: idFiltro, valor:idValor})\r\n }\r\n if (item>=0 && !marcado){\r\n tempVar.filtros.splice(item,1);\r\n }\r\n setConfiguracionVista(tempVar);\r\n //setListaFiltrada(null);\r\n AplicaFiltrosInteracciones(listaResultados,tempVar.filtros);\r\n };\r\n\r\n function AplicaFiltro(lista, filtroInter, filtroSel)\r\n {\r\n if (lista){\r\n if (filtroInter.valores){\r\n var seleccionados = [];\r\n for (var i=0; i y.nombre === filtroInter.idGrupo && parseInt(y.valor) === parseInt(filtroInter.valores[i].value))\r\n if (aux){\r\n seleccionados.push(filtroInter.valores[i].value);\r\n if (filtroInter.valores[i].otrosValores)\r\n for (var j=0; j0){\r\n lista = lista.filter(item => seleccionados.includes(item[filtroInter.campolista]));\r\n }\r\n }\r\n }\r\n return lista;\r\n };\r\n\r\n const AddMedicamento = (nuevovalor) =>{\r\n const nuevosIdsSel = JSON.parse(JSON.stringify(idsSel));\r\n if (!nuevosIdsSel) { nuevosIdsSel = []};\r\n if (!nuevosIdsSel.includes(nuevovalor))\r\n nuevosIdsSel.push(nuevovalor);\r\n setIdsSel(nuevosIdsSel);\r\n setListaResultados(null);\r\n setListaFiltrada(null);\r\n }\r\n\r\n const RemoveMedicamento = (valor) =>{\r\n const nuevosIdsSel = JSON.parse(JSON.stringify(idsSel));\r\n if (!nuevosIdsSel) { nuevosIdsSel = []};\r\n var i = nuevosIdsSel.indexOf(parseInt(valor));\r\n nuevosIdsSel.splice(i,1);\r\n setIdsSel(nuevosIdsSel);\r\n setListaResultados(null);\r\n setListaFiltrada(null);\r\n }\r\n\r\n const ClearMedicamentos = () =>{\r\n const nuevosIdsSel = [];\r\n setIdsSel(nuevosIdsSel);\r\n setItemsSelected([]);\r\n setListaResultados(null);\r\n setListaFiltrada(null);\r\n }\r\n\r\n const AplicaFiltrosInteracciones = (listaCompleta,filtros) => {\r\n var lista = listaCompleta;\r\n if (filtrosInteracciones)\r\n {\r\n for (var i=0; i{\r\n let tempVar = JSON.parse(JSON.stringify(configuracionVista));\r\n tempVar.numMostrar += 10;\r\n setConfiguracionVista(tempVar);\r\n }\r\n\r\n var bMostrarMas = (listaFiltrada ? (configuracionVista.numMostrar0 ? \r\n listaFiltrada.slice(0,configuracionVista.numMostrar).map(inter => ) : \r\n
    No se han encontrado interacciones farmacológicas
    : \r\n
    ;\r\n\r\n if ((listaPosibles === null) || (listaResultados === null) || (listaFiltrada === null))\r\n if (listaPosibles === null)\r\n return( \r\n \r\n );\r\n else\r\n return( \r\n \r\n );\r\n else\r\n return(\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {HTMLListaInteracciones}\r\n
    \r\n {(listaFiltrada && listaFiltrada.length>0) ?\r\n
    \r\n

    \r\n {Math.min(configuracionVista.numMostrar,listaFiltrada.length)} interacciones de {listaFiltrada.length}\r\n

    \r\n
    \r\n {bMostrarMas ?(\r\n muestraMas()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowPurpleDown2\"\r\n \r\n ):(\r\n
    \r\n )} \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default BInteracciones;","import { useEffect } from 'react/cjs/react.development';\r\nimport { IconosListadosPI } from '../../../../services/objsAplicacion.js';\r\nimport {FormatoFechaDDMMYYYY, FormatoFechaDDMMYYYYHHMM, PerfilUsuario, numberWithCommas, rootPath} from '../../../../services/utils.js'\r\nimport BusqMedsService from \"../../../../services/user.service\";\r\n\r\nfunction FilaListaResBusqueda(props){\r\n const item = props.item;\r\n const tiposPersona = new Array (\"MUH\",\"PAH\",\"ASOH\",\"FM\",\"PO\",\"MHO\",\"PHO\");\r\n const tiposAnimal = new Array (\"MUV\",\"PAV\",\"ASOV\");\r\n const tiposParafar = new Array (\"PPF\",\"ING\");\r\n const patologias = new Array(\"PATH\",\"PATV\");\r\n const conPrecio = new Array(\"MUH\", \"MUV\", \"PPF\",\"MHO\",\"FM\");\r\n const conEstado = new Array(\"MUH\",\"MUV\",\"PAH\",\"PAV\",\"ASOH\",\"ASOV\",\"PPF\",\"ING\",\"MHO\",\"PHO\");\r\n const conLaboratorio = new Array(\"MUH\",\"MUV\",\"PPF\",\"MHO\");\r\n const claseEstado = (item.IdEstadoAutorizacion === '0' ?\r\n \"estado__item estado__item__1 autorizado\"\r\n : \r\n (item.IdEstadoAutorizacion === '1' ?\r\n \"estado__item estado__item__1 suspendido\"\r\n :\r\n (item.IdEstadoAutorizacion === '2' || item.IdEstadoAutorizacion === '4' ?\r\n \"estado__item estado__item__1 anulado\"\r\n :\r\n \"estado__item estado__item__1\"\r\n )\r\n )\r\n );\r\n const colorEstado = (item.IdEstadoAutorizacion === '0' ?\r\n \"greenColor4\"\r\n : \r\n (item.IdEstadoAutorizacion === '1' ?\r\n \"yellowColor2\"\r\n :\r\n (item.IdEstadoAutorizacion === '2' || item.IdEstadoAutorizacion === '4' ?\r\n \"redColor\"\r\n :\r\n \"greyColor2\"\r\n )\r\n )\r\n );\r\n const claseTextoEstado = \"fs fs12 \" + colorEstado;\r\n\r\n const literalCodigo = (conPrecio.includes(item.CodTipoRegistro) ?\r\n \"Cód. Nacional:\"\r\n :\r\n (patologias.includes(item.CodTipoRegistro) ?\r\n \"Código CIE:\"\r\n :\r\n \"Código\"\r\n )\r\n );\r\n const pictogramatipo = (tiposPersona.includes(item.CodTipoRegistro) ?\r\n rootPath + \"img/person.svg\" \r\n :\r\n (tiposAnimal.includes(item.CodTipoRegistro) ? \r\n rootPath + \"img/perro.svg\" \r\n :\r\n (tiposParafar.includes(item.CodTipoRegistro) ?\r\n rootPath + \"img/jabonLiquido.svg\"\r\n :(item.CodTipoRegistro===\"PATH\") ?\r\n rootPath + \"img/patHumana.svg\"\r\n :\r\n rootPath + \"img/patVet.svg\"\r\n )\r\n )\r\n )\r\n const problemaSuministro = ((item.ProblemaSuministro===\"S\")?\r\n {\r\n img : rootPath + \"img/icoTrouble.svg\",\r\n leyenda : 'Medicamento con problemas de suministro',\r\n texto : 'Problema de suministro AEMPS'\r\n }\r\n : ((item.ProblemaSuministro===\"X\") ? \r\n {\r\n img : rootPath + \"img/icoCee.svg\",\r\n leyenda : 'Medicamento con problemas de suministro.\\nLa AEMPS informa que se puede solicitar como medicamento extranjero',\r\n texto : 'Problema de suministro AEMPS'\r\n }\r\n :\r\n null\r\n ));\r\n\r\n const vesAFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"Ficha\"+it.CodTipoRegistro,\r\n newid: it.Id,\r\n filtros: props.filtros,\r\n numMostrar: props.numMostrar,\r\n idxOrden: props.idxOrden,\r\n });\r\n }\r\n\r\n const mostrarPI = props.mostrarPI;\r\n const infoPacienteIndica = ((mostrarPI && item.ListaAux1 && item.ListaAux1.length>0)) ?\r\n item.ListaAux1.map(icon => \r\n
    \r\n

    \r\n aux.cod === icon).img} alt={IconosListadosPI.find(aux => aux.cod === icon).txt} />\r\n {IconosListadosPI.find(aux => aux.cod === icon).txt}\r\n

    \r\n
    )\r\n :\r\n \r\n\r\n const mostrarAuxStr = props.mostrarAuxStr;\r\n const infoAuxStr = ((mostrarAuxStr && item.AuxStr && item.AuxStr != \"\") ?\r\n
    \r\n

    \r\n {item.AuxStr}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n var mensStrAux2 = item.AuxStr2;\r\n if (mensStrAux2===\"NHUER\")\r\n mensStrAux2 = \"\";\r\n else if (mensStrAux2===\"SHUER\")\r\n mensStrAux2 = \"Medicamento huérfano\";\r\n\r\n const infoAuxStr2 = ((mostrarAuxStr && item.AuxStr2 && item.AuxStr2 != \"\") ?\r\n
    \r\n

    \r\n {mensStrAux2}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const mostrarListaAuxStr = props.mostrarListaAuxStr;\r\n const infoListaAuxStr = ((mostrarListaAuxStr && item.ListaStr && item.ListaStr.length != \"\") ?\r\n
    \r\n {item.ListaStr.map(x => \r\n

    \r\n {x}\r\n

    \r\n )}\r\n
    \r\n :\r\n \r\n );\r\n\r\n const mostrarAuxFecha = props.mostrarAuxFecha;\r\n const infoAuxFecha = ((mostrarAuxFecha && item.AuxFecha && new Date(item.AuxFecha).getTime() > 0) ?\r\n
    \r\n

    \r\n Fecha exclusión financiación individualizada: {FormatoFechaDDMMYYYY(item.AuxFecha)}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const infoAuxFecha2 = ((mostrarAuxFecha && item.AuxFecha2 && new Date(item.AuxFecha2).getTime()> 0) ?\r\n
    \r\n

    \r\n Fecha exclusión Insalud: {FormatoFechaDDMMYYYY(item.AuxFecha2)}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const mostrarFechaAlta = props.mostrarFechaAlta;\r\n const infoFechaAlta = ((mostrarFechaAlta && item.FechaAlta && new Date(item.FechaAlta).getTime() > 0) ?\r\n
    \r\n

    \r\n Fecha de alta: {FormatoFechaDDMMYYYY(item.FechaAlta)}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const mostrarFechaEntrada = props.mostrarFechaEntrada;\r\n const infoFechaEntrada = ((mostrarFechaEntrada && item.AuxFecha && new Date(item.AuxFecha).getTime() > 0) ?\r\n
    \r\n

    \r\n Fecha cambio de precio: {FormatoFechaDDMMYYYY(item.AuxFecha)}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n\r\n\r\n const mostrarFVisita = props.mostrarFVisita;\r\n const infoFechaVisita = ((mostrarFVisita && item.FechaVisita && new Date(item.FechaVisita).getTime() > 0) ?\r\n
    \r\n

    \r\n Fecha visita: {FormatoFechaDDMMYYYYHHMM(item.FechaVisita)}\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const clickBorrar = (tipo,id) => {\r\n BusqMedsService.borraProductoHistorial(tipo,id);\r\n props.alBorrar(tipo,id);\r\n }\r\n\r\n\r\n const mostrarBotonBorrar = props.mostrarBotonBorrar;\r\n const infoBorrarItem = ((mostrarBotonBorrar) ?\r\n
    \r\n

    mouseOverLink(e)} onMouseOut={(e) => mouseOutLink(e)} onClick={(e) => clickBorrar(item.CodTipoRegistro, item.Id)}>\r\n Borrar del historial\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n var rol = PerfilUsuario();\r\n\r\n const mostrarAvisoPrecio = props.mostrarAvisoPrecio && rol !== \"EST\" && rol !==\"INS\";\r\n const mostrarAvisoPMenor = (props.pvpMenor && props.pvpMenor>0 && item.AuxDbl>props.pvpMenor);\r\n const mostrarAvisoPMasBajo = (props.pvpMasBajo && props.pvpMasBajo>0 && item.AuxDbl>props.pvpMasBajo);\r\n const infoAvisoPrecioMenor = ((mostrarAvisoPrecio) && (mostrarAvisoPMenor)?\r\n
    \r\n

    \r\n Supera el precio menor\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const infoAvisoPrecioMasBajo = ((mostrarAvisoPrecio) && (mostrarAvisoPMasBajo)?\r\n
    \r\n

    \r\n Supera el precio más bajo\r\n

    \r\n
    \r\n :\r\n \r\n );\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n var literalPrecio = props.literalPVP;\r\n var precio = item.PVPIVA;\r\n if (item.AmbitoHospitalario === \"S\" && false){\r\n literalPrecio = (item.Notificado === \"S\") ? \"PVL Notificado\" : \"PVL\";\r\n precio = item.PVL\r\n }else{\r\n if (item.CodTipoRegistro === \"FM\") literalPrecio = \"Precio\";\r\n else literalPrecio = (mostrarAvisoPrecio && item.AuxStr===\"PN\" ? \"Precio facturación\": props.literalPVP);\r\n precio = (mostrarAvisoPrecio && item.AuxStr===\"PN\" ? item.PFacturacion : item.PVPIVA);\r\n if (props.mostrarHist && item.AuxDbl>0 && item.AuxStr2==='001' && item.CodTipoRegistro==='MUH' && item.AuxStr3 === \"PN\"){\r\n literalPrecio = \"Precio Facturación\"\r\n precio = item.PFacturacion\r\n }\r\n }\r\n const maxHeight=150;\r\n const maxWidth=228;\r\n\r\n const estilhorizontal = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', width: '100%', height: 'auto'}\r\n const estilvertical = {maxWidth: maxWidth.toString() + 'px', maxHeight: maxHeight.toString() + 'px', height: '100%', width: 'auto'}\r\n\r\n const loadImage = (e) => {\r\n var h = e.target.height;\r\n if (h===maxHeight){\r\n e.target.style.height = '100%';\r\n e.target.style.width = 'auto';\r\n e.target.style.maxWidth = maxWidth.toString() + 'px';\r\n e.target.style.maxHeight = maxHeight.toString() + 'px';\r\n }\r\n }\r\n\r\n var estiloItem = (props.oculto) ? {visibility:'hidden'} : {};\r\n if (props.visitado)\r\n estiloItem.backgroundColor = '#fafafa';\r\n\r\n var displayTipoPack = item.TipoRegistro;\r\n if (item.CodTipoRegistro === \"MUH\" || item.CodTipoRegistro === \"MUV\") displayTipoPack = \"Medicamento\";\r\n if (item.CodTipoRegistro === \"MHO\") displayTipoPack = \"Medicamento homeopático\";\r\n if (item.CodTipoRegistro === \"PAH\" || item.CodTipoRegistro === \"PAV\") displayTipoPack = \"Principio activo\";\r\n if (item.CodTipoRegistro === \"PPF\") displayTipoPack = \"Parafarmacia\";\r\n if (item.CodTipoRegistro === \"ING\") displayTipoPack = \"Ingrediente\";\r\n if (item.CodTipoRegistro === \"PATH\" || item.CodTipoRegistro === \"PATV\") displayTipoPack = \"Enfermedad\";\r\n if (item.CodTipoRegistro === \"ASOH\" || item.CodTipoRegistro === \"ASOV\") displayTipoPack = \"Asociación\";\r\n\r\n const espacioPrimero = (props.primero? {paddingTop: '7px'} : {})\r\n const espacioPrimeroPrecio = (props.primero? {paddingTop: '7px', whiteSpace: 'nowrap'} : {whiteSpace: 'nowrap'})\r\n\r\n const estiloNombre = {...espacioPrimero , whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', maxWidth: '406px'}\r\n const estiloLaborat = {...espacioPrimero , whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', maxWidth: '140px'}\r\n\r\n\r\n const mouseOverLink = (e) => {\r\n e.target.style.fontWeight='bold';\r\n e.target.style.fontFamily='Flama-Bold, sanserif';\r\n e.target.style.textDecoration='none';\r\n }\r\n const mouseOutLink = (e) => {\r\n e.target.style.fontWeight='normal';\r\n e.target.style.fontFamily='Flama-Basic, sanserif';\r\n }\r\n\r\n if (!props.comoPackList){\r\n return (\r\n
    \r\n
    \r\n {(((props.comoGrid || isMobile) && item.ImagenEnvase) ?\r\n
    vesAFicha(props.item)} >\r\n {item.TipoRegistro}\r\n
    \r\n :(props.comoGrid || isMobile) ?\r\n
    vesAFicha(props.item)} style={{cursor:'pointer'}}>\r\n {item.TipoRegistro}\r\n
    \r\n :\r\n
    vesAFicha(props.item)} style={{cursor:'pointer'}}>\r\n {item.TipoRegistro}\r\n
    \r\n )}\r\n
    \r\n
    \r\n

    \r\n vesAFicha(props.item)} style={{cursor:'pointer'}}>{item.NombreCompleto}\r\n

    \r\n
    \r\n {\r\n (item.NombreAnterior ?\r\n
    \r\n

    Nombre anterior: {item.NombreAnterior}

    \r\n
    \r\n :\r\n \r\n )\r\n }\r\n {\r\n (props.mostrarHist && item.AuxInt>0 ?\r\n
    \r\n

    Laboratorio anterior: {item.AuxStr}

    \r\n
    \r\n :props.mostrarHist && item.AuxDbl>0 && rol !== \"EST\" && rol !== \"INS\"?\r\n
    \r\n

    Precio anterior: {numberWithCommas(item.AuxDbl)} €

    \r\n
    \r\n :\r\n \r\n )\r\n }\r\n
    \r\n

    {item.TipoRegistro}

    \r\n {\r\n (problemaSuministro && rol !== \"EST\" && rol !== \"INS\" ? \r\n

    {problemaSuministro.leyenda}{problemaSuministro.texto}

    \r\n :\r\n \r\n ) \r\n }\r\n
    \r\n {infoPacienteIndica}\r\n {infoAuxStr}\r\n {infoAuxStr2}\r\n {infoListaAuxStr}\r\n {infoAuxFecha}\r\n {infoAuxFecha2}\r\n {infoFechaAlta}\r\n {infoFechaVisita}\r\n {infoBorrarItem}\r\n {infoFechaEntrada}\r\n {infoAvisoPrecioMenor}\r\n {infoAvisoPrecioMasBajo} \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n (conPrecio.includes(item.CodTipoRegistro) && (precio > 0) && (rol != \"EST\") && (rol != \"INS\") ?\r\n
    \r\n

    {literalPrecio}

    \r\n {\r\n (((precio>999999.99) || (precio>9999.99 && props.comoGrid)) ?\r\n {numberWithCommas(precio)}\r\n : ((precio>9999.99) || (precio>999.99 && props.comoGrid)) ?\r\n {numberWithCommas(precio)}\r\n :\r\n {numberWithCommas(precio)}\r\n )\r\n }\r\n {\r\n (props.mostrarFuturo && item.AuxDbl>0)?\r\n

    {numberWithCommas(item.AuxDbl)}

    \r\n :\r\n \r\n }\r\n

    EUR

    \r\n
    \r\n :\r\n
    \r\n )\r\n }\r\n {\r\n (conEstado.includes(item.CodTipoRegistro) ?\r\n (conLaboratorio.includes(item.CodTipoRegistro) ?\r\n
    \r\n
    {item.EstadoAutorizacion}
    \r\n
    {item.Laboratorio}
    \r\n
    \r\n :\r\n
    \r\n
    {item.EstadoAutorizacion}
    \r\n
    \r\n )\r\n :\r\n \r\n )\r\n }\r\n
    \r\n {\r\n ((item.Codigo != '') && (item.Codigo != null) ?\r\n
    \r\n {literalCodigo}\r\n
    {item.Codigo}
    \r\n
    \r\n :\r\n \r\n ) \r\n }\r\n
    \r\n
    \r\n );\r\n }else{\r\n return(\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n {\r\n (problemaSuministro) ? \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n

    \r\n {\r\n ((item.Codigo != '') && (item.Codigo != null) ?\r\n item.Codigo\r\n :\r\n \r\n ) \r\n }\r\n

    \r\n
    \r\n
    \r\n

    \r\n vesAFicha(props.item)} style={{cursor:'pointer'}}>{item.NombreCompleto}\r\n

    \r\n
    \r\n {(rol !== \"EST\" && rol !== \"INS\") ?\r\n
    \r\n

    \r\n {(conPrecio.includes(item.CodTipoRegistro) && (precio > 0)) ?\r\n {numberWithCommas(precio)} €\r\n :\r\n \r\n }\r\n

    \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n

    \r\n {(conLaboratorio.includes(item.CodTipoRegistro)) ?\r\n {item.Laboratorio}\r\n : \r\n \r\n }\r\n \r\n

    \r\n
    \r\n
    \r\n

    \r\n {(conEstado.includes(item.CodTipoRegistro)) ?\r\n {item.EstadoAutorizacion}\r\n : \r\n \r\n }\r\n

    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default FilaListaResBusqueda;\r\n\r\n","import { useEffect } from 'react/cjs/react.development';\r\nimport { IconosListadosPI } from '../../../../services/objsAplicacion.js';\r\nimport {numberWithCommas, rootPath} from '../../../../services/utils.js'\r\n\r\nfunction FilaListaFM(props){\r\n const item = props.item;\r\n const literalCodigo = \"Cód. Nacional:\";\r\n const pictogramatipo = rootPath + \"img/person.svg\" ;\r\n const vesAFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"FichaFM\",\r\n newid: it.Id,\r\n filtros: props.filtros,\r\n numMostrar: props.numMostrar,\r\n idxOrden: props.idxOrden,\r\n });\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n var txtFina = \"\";\r\n var txtApor = \"\";\r\n var txtVisa = \"\";\r\n\r\n if (item.Financiado===\"S\")\r\n txtFina = \"Sí\";\r\n else if (item.Financiado === \"X\")\r\n txtFina = \"Según indicación\";\r\n else if (item.Financiado === \"N\")\r\n txtFina = \"No\";\r\n\r\n if (item.AuxStr===\"AR\")\r\n txtApor = \"Reducida\";\r\n else if (item.AuxStr === \"AN\")\r\n txtApor = \"Normal\";\r\n\r\n if (item.AuxStr2===\"S\")\r\n txtVisa = \"Sí\";\r\n else if (item.AuxStr2 === \"N\")\r\n txtVisa = \"No\";\r\n\r\n return (\r\n
    \r\n
    \r\n
    vesAFicha(props.item)} style={{cursor:'pointer'}}>\r\n {item.TipoRegistro}\r\n
    \r\n
    \r\n
    \r\n

    \r\n vesAFicha(props.item)} style={{cursor:'pointer'}}>{item.NombreCompleto}\r\n

    \r\n
    \r\n
    \r\n

    {item.TipoRegistro}

    \r\n
    \r\n
    \r\n \r\n
    {item.Codigo}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n ((item.PVPIVA > 0) ?\r\n
    \r\n

    PVP con IVA

    \r\n {\r\n (((item.PVPIVA>999999.99) || (item.PVPIVA>9999.99 && props.comoGrid)) ?\r\n {numberWithCommas(item.PVPIVA)}\r\n : ((item.PVPIVA>9999.99) || (item.PVPIVA>999.99 && props.comoGrid)) ?\r\n {numberWithCommas(item.PVPIVA)}\r\n :\r\n {numberWithCommas(item.PVPIVA)}\r\n )\r\n }\r\n

    EUR

    \r\n
    \r\n :\r\n
    \r\n

    PVP con IVA

    \r\n -\r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n Financiado:\r\n
    {txtFina}
    \r\n
    \r\n
    \r\n Aportación:\r\n
    {txtApor}
    \r\n
    \r\n
    \r\n Visado:\r\n
    {txtVisa}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) \r\n}\r\n\r\nexport default FilaListaFM;\r\n","function OpcionOrden(props){\r\n const index = props.index;\r\n const currentIndex = props.currentIndex;\r\n const texto = props.texto\r\n\r\n const getIndexSetOrden = (obj) =>{\r\n var idx = obj.index;\r\n props.setOrden(idx);\r\n }\r\n\r\n if (currentIndex===index)\r\n return (\r\n getIndexSetOrden({index})}>{texto} \r\n )\r\n else\r\n return (\r\n getIndexSetOrden({index})}>{texto} \r\n )\r\n}\r\n\r\nexport default OpcionOrden;","import React, { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport {ToggleClassNameToClassItems, RemoveClassNameToClassItems, AddClassNameToClassItems, rootPath} from '../../../../services/utils.js'\r\nimport OpcionOrden from './OpcionOrden.js'\r\n\r\n\r\nfunction EncabezadoListado(props){\r\n const [estadoOpcionesOrden, setEstadoOpcionesOrden] = useState(false);\r\n const ordenesPosibles = ['Nombre ascendente', 'Nombre descendente'\r\n , 'Código nacional ascendente', 'Código nacional descendente'\r\n , 'Precio de menor a mayor', 'Precio de mayor a menor'];\r\n if (props.mostrarFVisita)\r\n ordenesPosibles.push (\"Fecha visita\");\r\n\r\n if (props.mostrarDocumentos){\r\n ordenesPosibles.splice(0,6,\"Título ascendente\")\r\n ordenesPosibles.push(\"Título descendente\")\r\n ordenesPosibles.push(\"Fecha ascendente\")\r\n ordenesPosibles.push(\"Fecha descendente\")\r\n }\r\n const currentIndex = props.currentIndex; \r\n \r\n const opciones = ordenesPosibles.map(opcion => );\r\n\r\n const handleClickOrden = (e) =>{\r\n ToggleClassNameToClassItems('ordenListado',null,'active');\r\n setEstadoOpcionesOrden(!estadoOpcionesOrden);\r\n }\r\n \r\n \r\n const handleExport = (e) =>{\r\n //alert(\"Exportación de resultados no implementada\");\r\n props.alExportar(true);\r\n }\r\n\r\n const muestraBotonTabla = !props.mostrarFM && !props.mostrarEXT && !props.mostrarDocumentos;\r\n\r\n var claseSwitchGrid = 'switch__grid';\r\n var claseSwitchList = 'switch__list';\r\n var claseSwitchPackList = 'switch__packlist';\r\n\r\n if (props.comoGrid && !props.mostrarFM && !props.mostrarEXT)\r\n claseSwitchGrid += \" active\";\r\n else if (props.listaPack && muestraBotonTabla)\r\n claseSwitchPackList += \" active\";\r\n else\r\n claseSwitchList += \" active\";\r\n \r\n const nFiltrados = props.listaitems.length;\r\n const nDescargados = props.numDescargados;\r\n const nTotal = props.numTotal;\r\n var texto = nTotal + \"resultados\";\r\n if (nFiltrados === nDescargados)\r\n if (nTotal > nDescargados)\r\n texto = \"Descargados \" + nDescargados + \" de \" + nTotal + \". Descargando el resto... \"\r\n else\r\n texto = nDescargados.toString() + \" resultados \" \r\n else\r\n if (nTotal > nDescargados)\r\n texto = nFiltrados + \" de \" + nDescargados + \". Descargando el resto... \"\r\n else\r\n texto = nFiltrados + \" de \" + nDescargados + \" \"\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n

    {texto}

    \r\n {(!props.mostrarDocumentos) ?\r\n handleExport(e)} >\r\n \"Export\" Exportar\r\n \r\n :\r\n \r\n }\r\n {(props.mostrarLimpiaHistorial) ?\r\n props.alVaciar()} style={{paddingLeft:'10px', marginLeft:'10px', borderLeftStyle:'solid', borderLeftColor:'#414139', borderLeftWidth:'1px'}}>\r\n \"Vaciar Vaciar historial\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n {(!props.mostrarFM && !props.mostrarEXT) ?\r\n
    \r\n {/*
    props.clickComoGrid(e)}>\r\n \r\n
    */}\r\n {(muestraBotonTabla) ? \r\n
    props.clickComoPackList(e)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n :\r\n <>\r\n }\r\n
    props.clickComoList(e)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    props.clickComoGrid(e)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n {(!props.mostrarEXT) ?\r\n
    \r\n
    handleClickOrden(e)}>\r\n \"order\"\r\n Ordenar por…\r\n
    \r\n {opciones}\r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default EncabezadoListado;\r\n","import { useEffect } from 'react/cjs/react.development';\r\nimport { IconosListadosPI } from '../../../../services/objsAplicacion.js';\r\nimport {numberWithCommas, rootPath} from '../../../../services/utils.js'\r\n\r\nfunction FilaListaEXT(props){\r\n const item = props.item;\r\n const pictogramatipo = rootPath + \"img/person.svg\" ;\r\n const vesAFicha = (it) =>{\r\n props.cambiaPagina({\r\n newpagina: \"FichaEXT\",\r\n newid: it.Id,\r\n filtros: props.filtros,\r\n numMostrar: props.numMostrar,\r\n idxOrden: props.idxOrden,\r\n });\r\n }\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n return (\r\n
    \r\n
    \r\n
    vesAFicha(props.item)} style={{cursor:'pointer'}}>\r\n {item.TipoRegistro}\r\n
    \r\n
    \r\n
    \r\n

    \r\n vesAFicha(props.item)} style={{cursor:'pointer'}}>{item.NombreCompleto}\r\n

    \r\n
    \r\n
    \r\n

    {item.AuxStr}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) \r\n}\r\n\r\nexport default FilaListaEXT;\r\n","import { useEffect } from 'react/cjs/react.development';\r\nimport { IconosListadosPI } from '../../../../services/objsAplicacion.js';\r\nimport {FormatoFechaBonito, numberWithCommas, rootPath} from '../../../../services/utils.js'\r\n\r\nfunction FilaListaDOC(props){\r\n const item = props.item;\r\n const pictogramatipo = rootPath + \"img/alertas.svg\" ;\r\n\r\n const ancho = window.innerWidth;\r\n const isMobile = (ancho<768);\r\n\r\n const ano = (item.Fecha) ? new Date(item.Fecha).getFullYear() : 0; //( item.Fecha ? item.Fecha.substring(0,4) : '');\r\n const fecha = ( ano>1900 ? FormatoFechaBonito (new Date(item.Fecha)) : '');\r\n /*const tipoDoc = (item.IdTipo===15 ? \"Nota de seguridad\": \r\n (item.IdTipo===30 ? \"Alerta de calidad\" : \r\n (item.IdTipo===41 ? \"Nota de seguridad veterinaria\" : item.Tipo)));*/\r\n const tipoDoc = (item.IdTipo===15 ? \"Nota seguridad AEMPS\": \r\n (item.IdTipo===30 ? \"Alerta de calidad\" : \r\n (item.IdTipo===41 ? \"Nota de seguridad veterinaria\" : \r\n (item.IdTipo===44 ? \"Nota informativa AEMPS\" : \r\n (item.IdTipo===48 ? \"Nota informativa AESAN\" : \r\n (item.IdTipo===64 ? \"Nota informativa AEMPS\" : \r\n (item.Tipo && item.Tipo !== \"\" ? item.Tipo.substring(0,1).toUpperCase() + item.Tipo.substring(1).toLowerCase() :\r\n \"Otro\"\r\n )))))))\r\n\r\n var titulo = (item.Titulo.toLowerCase().endsWith(\".pdf\") ? item.Titulo.substring(0,item.Titulo.length - 4) : item.Titulo) \r\n \r\n if (titulo.substring(0,17).toUpperCase()===\"NOTA INFORMATIVA \")\r\n titulo = titulo.substring(17);\r\n else if (titulo.substring(0,15).toUpperCase()===\"NOTA SEGURIDAD \")\r\n titulo = titulo.substring(15);\r\n else if (titulo.substring(0,14).toUpperCase()===\"NOTA SEGURIDA \")\r\n titulo = titulo.substring(14);\r\n else if (titulo.substring(0,5).toUpperCase()===\"NOTA \")\r\n titulo = titulo.substring(5);\r\n else if (titulo.substring(0,3).toUpperCase()===\"NI \")\r\n titulo = titulo.substring(3);\r\n else if (titulo.substring(0,15).toUpperCase()===\"ALERTA CALIDAD \")\r\n titulo = titulo.substring(15);\r\n else if (titulo.substring(0,23).toUpperCase()===\"ALERTA DE MEDICAMENTOS \")\r\n titulo = titulo.substring(23);\r\n else if (titulo.substring(0,21).toUpperCase()===\"ALERTA DE VIGILANCIA \")\r\n titulo = titulo.substring(21);\r\n else if (titulo.substring(0,7).toUpperCase()===\"ALERTA \")\r\n titulo = titulo.substring(7);\r\n else if (titulo.substring(0,18).toUpperCase()===\"AMPLIACION ALERTA \")\r\n titulo = \"Ampliación alerta \" + titulo.substring(18);\r\n else if (titulo.substring(0,11).toUpperCase()===\"AMPLIACION \")\r\n titulo = \"Ampliación \" + titulo.substring(11);\r\n\r\n titulo = titulo.trim();\r\n\r\n if (titulo !== \"\")\r\n titulo = titulo.substring(0,1).toUpperCase() + titulo.substring(1);\r\n\r\n\r\n\r\n return (\r\n \r\n ) \r\n}\r\n\r\nexport default FilaListaDOC;\r\n\r\n/*\r\n
  • \r\n \r\n \r\n {fecha}\r\n \r\n

    \r\n

    \r\n {titulo}\r\n

    \r\n

    \r\n {tipoDoc}\r\n

    \r\n
    \r\n
  • \r\n\r\n*/","import React, { useState, useEffect } from \"react\";\r\nimport FilaResultadoBusqueda from './FilaListaResBusqueda';\r\nimport FilaListaFM from './FilaListaFM';\r\nimport EncabezadoListado from './EncabezadoListado';\r\nimport { AddClassNameToClassItems, getIdCCAA, PerfilUsuario, RemoveClassNameToClassItems, rootPath } from \"../../../../services/utils\";\r\nimport FilaListaEXT from \"./FilaListaEXT\";\r\nimport FilaListaDOC from \"./FilaListaDOC\";\r\n\r\nfunction ListaResBusqueda(props){\r\n const [numMostrar, setNumMostrar] = useState((props.filtrosYlista.numMostrar) ? parseInt(props.filtrosYlista.numMostrar) : 10);\r\n const idxOrden = (props.filtrosYlista.idxOrden) ? props.filtrosYlista.idxOrden : 0;\r\n const [estadoVerComoGrid, setEstadoVerComoGrid] = useState(JSON.parse(localStorage.getItem(\"comoGrid\")));\r\n const [estadoVerListaPack, setEstadoVerListaPack] = useState(JSON.parse(localStorage.getItem(\"listaPack\")));\r\n const listaitems = props.filtrosYlista.listaFiltrada;\r\n const numTotal = props.filtrosYlista.numTotal;\r\n const numDescargados = props.filtrosYlista.numDescargados;\r\n const filtros = props.filtrosYlista.filtros;\r\n const numDefectoListaPack = 50;\r\n const numDefectoLista = 10;\r\n const numDefectoGrid = 9;\r\n const numMedio = 5;\r\n const ancho = window.innerWidth;\r\n const numColsGrid = (ancho>=944 ? 3 : ancho>=768 ? 2 : 1);\r\n const numMostrados = Math.min(numMostrar,listaitems.length);\r\n const numUltimaFila = numMostrados % numColsGrid;\r\n const unoOculto = (estadoVerComoGrid && numUltimaFila>1);\r\n\r\n useEffect(() => {\r\n var divisor = (estadoVerComoGrid ? numDefectoGrid : estadoVerListaPack ? numDefectoListaPack : numDefectoLista);\r\n var resto = numMostrar % divisor;\r\n if (resto > 0 ){\r\n if (resto < numMedio)\r\n setNumMostrar(numMostrar - resto);\r\n else\r\n setNumMostrar(numMostrar + (divisor - resto));\r\n }\r\n })\r\n\r\n const vistaComoGrid = () =>{\r\n AddClassNameToClassItems('switch__grid',null,'active');\r\n RemoveClassNameToClassItems('switch__list',null,'active');\r\n RemoveClassNameToClassItems('switch__packlist',null,'active');\r\n AddClassNameToClassItems('content__results',null,'grid');\r\n }\r\n \r\n const vistaComoList = () =>{\r\n AddClassNameToClassItems('switch__list',null,'active');\r\n RemoveClassNameToClassItems('switch__grid',null,'active');\r\n RemoveClassNameToClassItems('switch__packlist',null,'active');\r\n RemoveClassNameToClassItems('content__results',null,'grid');\r\n }\r\n\r\n const vistaComoPackList = () =>{\r\n AddClassNameToClassItems('switch__packlist',null,'active');\r\n RemoveClassNameToClassItems('switch__list',null,'active');\r\n RemoveClassNameToClassItems('switch__grid',null,'active');\r\n RemoveClassNameToClassItems('content__results',null,'grid');\r\n }\r\n\r\n const handleClickGrid = (e) =>{\r\n vistaComoGrid();\r\n localStorage.setItem(\"comoGrid\", true);\r\n setEstadoVerComoGrid(true);\r\n }\r\n \r\n const handleClickList = (e) =>{\r\n vistaComoList();\r\n localStorage.setItem(\"comoGrid\", false);\r\n localStorage.setItem(\"listaPack\", false);\r\n setEstadoVerComoGrid(false);\r\n setEstadoVerListaPack(false);\r\n }\r\n\r\n const handleClickPackList = (e) =>{\r\n vistaComoPackList();\r\n localStorage.setItem(\"comoGrid\", false);\r\n localStorage.setItem(\"listaPack\", true);\r\n setEstadoVerComoGrid(false);\r\n setEstadoVerListaPack(true);\r\n }\r\n\r\n const claseContentResults = (estadoVerComoGrid ? \"content__results grid\" : \"content__results\");\r\n\r\n var visitados = JSON.parse(localStorage.getItem(\"visitados\"));\r\n if (!visitados)\r\n visitados = [];\r\n\r\n var idCCAA = getIdCCAA();\r\n const literalPVP = (((idCCAA === 5 || idCCAA === 18 || idCCAA === 19) && props.codigoPagina !== \"BAgrupHomoMUH\") ? 'PVP sin IVA': 'PVP con IVA');\r\n\r\n const isMobile = (ancho<768); \r\n\r\n const muestraTabla = !isMobile && !estadoVerComoGrid && estadoVerListaPack && !props.mostrarFM && !props.mostrarEXT && !props.mostrarDocumentos;\r\n\r\n const borraDeLista = (tipo, id) => {\r\n props.borraDeLista(tipo,id);\r\n }\r\n\r\n var rol = PerfilUsuario();\r\n\r\n \r\n const muestraMas = () => {\r\n var incremento = (estadoVerComoGrid ? numDefectoGrid : estadoVerListaPack ? numDefectoListaPack : numDefectoLista);\r\n var newLength = numMostrar + incremento;\r\n\r\n if (props.mostrarFM){\r\n filas = listaitems.slice(0,newLength).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else if (props.mostrarEXT){\r\n filas = listaitems.slice(0,newLength).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else if (props.mostrarDocumentos){\r\n filas = listaitems.slice(0,newLength).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else{\r\n filas = listaitems.slice(0,newLength).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n primero = {(listaitems.indexOf(fila)===0)}\r\n alBorrar = {borraDeLista}\r\n >)\r\n } \r\n setNumMostrar(newLength);\r\n };\r\n\r\n var filas;\r\n if (listaitems != null)\r\n {\r\n if (props.mostrarFM){\r\n filas = listaitems.slice(0,numMostrar).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else if (props.mostrarEXT){\r\n filas = listaitems.slice(0,numMostrar).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else if (props.mostrarDocumentos){\r\n filas = listaitems.slice(0,numMostrar).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n >)\r\n }else{\r\n filas = listaitems.slice(0,numMostrar).map(fila => item.id===fila.Id && item.tipo===fila.CodTipoRegistro)>=0}\r\n primero = {(listaitems.indexOf(fila)===0)}\r\n alBorrar = {borraDeLista}\r\n >)\r\n } \r\n var nTotal = listaitems.length;\r\n var bMostrarMas = (nTotal>numMostrar);\r\n \r\n\r\n return (\r\n
    \r\n \r\n \r\n {(!muestraTabla) ? \r\n
    \r\n {(!props.mostrarEXT) && (!props.mostrarDocumentos) ?\r\n
    \r\n {(rol !== \"EST\" && rol !== \"INS\") ?\r\n
    \r\n

    {literalPVP}

    \r\n {(props.mostrarFuturo) ?\r\n

    nuevo

    \r\n :\r\n \r\n }\r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n {(!props.mostrarFM) && (!props.mostrarEXT) ?\r\n

    Estado / Laboratorio

    \r\n :\r\n

    Dispensación/Financiación

    \r\n }\r\n \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n {filas}\r\n {\r\n (unoOculto)?\r\n \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n

    \r\n {filas.length} resultados de {nTotal}\r\n

    \r\n
    \r\n {bMostrarMas ?(\r\n muestraMas()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowPurpleDown2\"\r\n \r\n ):(\r\n
    \r\n )} \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n
    \r\n
    \r\n

     

    \r\n
    \r\n
    \r\n

     

    \r\n
    \r\n
    \r\n

    Código

    \r\n
    \r\n
    \r\n

    Nombre

    \r\n
    \r\n {(rol !== \"EST\" & rol !== \"INS\") ?\r\n
    \r\n

    {literalPVP}

    \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n

    Laboratorio

    \r\n
    \r\n
    \r\n

    Estado

    \r\n
    \r\n
    \r\n {filas}\r\n
    \r\n
     
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {filas.length} resultados de {nTotal}\r\n

    \r\n
    \r\n {bMostrarMas ?(\r\n muestraMas()} style={{cursor:'pointer'}}>\r\n Ver más \"arrowPurpleDown2\"\r\n \r\n ):(\r\n
    \r\n )} \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n } \r\n else{\r\n return(\r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default ListaResBusqueda;\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { numberWithCommas, ToggleClassNameToClassItems } from \"../../../../services/utils\";\r\nimport FiltroBusqueda from \"./FiltroBusqueda\";\r\n\r\nfunction FiltrosBusqueda(props){\r\n const filtros = props.filtros;\r\n const htmlFiltros = (filtros ?\r\n
    \r\n {filtros.filter(f=>!f.oculto).map(filtro => \r\n )}\r\n
    \r\n :\r\n
    \r\n );\r\n\r\n const handleClickFiltrosHeader = (e) =>{\r\n ToggleClassNameToClassItems('cover__aside', null, 'active');\r\n }\r\n\r\n const estiloAsideConPMenores = {borderTopStyle:'none'}\r\n const estiloAsideNormal = {};\r\n const estiloAside = (props.conPreciosMenores) ? estiloAsideConPMenores : estiloAsideNormal\r\n const estiloSegundoAsideNormal = {marginTop:'0px', borderTopStyle: 'none'}\r\n const estiloSegundoAside = (props.conPreciosMenores) ? estiloAsideConPMenores : estiloSegundoAsideNormal\r\n\r\n\r\n return ( \r\n \r\n )\r\n} \r\nexport default FiltrosBusqueda;\r\n\r\n","import ItemResumenFiltros from \"./ItemResumenFiltros\"\r\n\r\nfunction ResumenFiltros(props){\r\n const filtros = props.filtros\r\n var items = []\r\n for(var i=0 ; i -1){\r\n items.push(\r\n {\r\n descripcion: filtros[i].display + ' ' + filtros[i].displayValor,\r\n idFiltro : filtros[i].idGrupo,\r\n valor: filtros[i].valor\r\n }\r\n )\r\n }\r\n }\r\n if (filtros[i].tipo==='Text' || filtros[i].tipo==='CN'){\r\n if (filtros[i].valor !== ''){\r\n items.push(\r\n {\r\n descripcion: filtros[i].display + ' ' + filtros[i].valor,\r\n idFiltro : filtros[i].idGrupo,\r\n valor: filtros[i].valor\r\n }\r\n )\r\n }\r\n }\r\n if (filtros[i].tipo === 'Check'){\r\n for (var j=0; j )\r\n\r\n return (\r\n
    \r\n
     
    \r\n
     
    \r\n
    \r\n
    Filtros
    \r\n
    \r\n
    \r\n {itemsHtml}\r\n
    \r\n props.borraTodosFiltros()} style={{width:'120px'}}>\r\n Quitar filtros\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ResumenFiltros;\r\n","import Acordeon from \"../../../../Fichas/FichaMUH/Apartados/Composicion/Acordeon\";\r\n\r\nconst GrupoCamposExportables = (props) => {\r\n const codGrupo = props.codGrupo;\r\n const titulo = props.titulo;\r\n const campos = props.campos;\r\n const activo = props.activo;\r\n const seleccionados = props.seleccionados;\r\n const disabledAdd = props.disabledAdd;\r\n\r\n var contenidoAcordeon = (\r\n ((campos) ?\r\n campos.map(campo =>\r\n ((seleccionados.includes(campo.CodCampo) || !disabledAdd) ?\r\n \r\n :\r\n \r\n )\r\n )\r\n :\r\n
    \r\n )\r\n );\r\n\r\n const HTMLAcordeon = (\r\n
    \r\n
    \r\n {contenidoAcordeon}\r\n
    \r\n
    \r\n );\r\n\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default GrupoCamposExportables;\r\n \r\n","import BP2022Service from \"../../../../../services/user.service\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { CSVLink, CSVDownload } from \"react-csv\";\r\nimport GrupoCamposExportables from \"./GrupoCamposExportable\";\r\nimport LoadingPopup from \"../../../Loading.Popup\";\r\nimport { AddClassNameToClassItems, numberWithCommas, PerfilUsuario } from \"../../../../../services/utils\";\r\nimport Emergente from \"../../../../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\n\r\n\r\nconst CamposExportacion= (props) => {\r\n const [listasPosibles, setListasPosibles] = useState([]);\r\n const [listasResultados, setListasResultados] = useState(props.listasResultados);\r\n const [codTipoExporta, setCodTipoExporta] = useState(props.codTipoExporta);\r\n const [codsSeleccionados, setCodsSeleccionados] = useState(null);\r\n const [datosAExportar, setDatosAExportar] = useState({\r\n headers: [],\r\n data: [],\r\n });\r\n const [loading, setLoading] = useState(false);\r\n const [txtExportar, setTxtExportar] = useState(\"Exportar\");\r\n const [txtCancelar, setTxtCancelar] = useState(\"Cancelar\");\r\n// const [setMuestraEmergenteMaxRegistros, setMuestraEmergenteMaxRegistros] = useState(false);\r\n const maxRegs = 5000;\r\n\r\n\r\n\r\n var listaPosibles = ((listasPosibles.find(item => item.codTipoExporta === codTipoExporta)) ? listasPosibles.find(item => item.codTipoExporta === codTipoExporta).lista : null);\r\n var listaResultados = ((listasResultados.find(item => item.codTipoExporta === codTipoExporta)) ? listasResultados.find(item => item.codTipoExporta === codTipoExporta).lista : null);\r\n\r\n\r\n var numTotalCampos = 0;\r\n if (listaPosibles){\r\n for (var i=0; i0)\r\n\r\n //var maxCampos = 100;\r\n var maxCampos = (codTipoExporta===\"MUH\") ? 7 : 5;\r\n\r\n \r\n\r\n\r\n useEffect(() => {\r\n if (listaPosibles === null)\r\n {\r\n DescargaDatos();\r\n } \r\n },[codTipoExporta]);\r\n\r\n\r\n const DescargaDatos = () => { \r\n BP2022Service.obtenCamposExportables(codTipoExporta, props.codBusqueda)\r\n .then((response) => {\r\n var lp = {\r\n codTipoExporta : codTipoExporta,\r\n lista : response.data,\r\n };\r\n const nuevasListasPosibles = JSON.parse(JSON.stringify(listasPosibles));\r\n nuevasListasPosibles.push(lp);\r\n /*var nuevaSeleccion=[];\r\n for (var i=0; i<2; i++){\r\n if(lp.lista[0].Campos[i])\r\n nuevaSeleccion.push(lp.lista[0].Campos[i].CodCampo);\r\n }\r\n setCodsSeleccionados(nuevaSeleccion);*/\r\n setListasPosibles(nuevasListasPosibles);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n \r\n const clickExportar = (e) =>{\r\n if (codTipoExporta && codTipoExporta != \"\" && listaResultados && listaResultados.length>0 && codsSeleccionados && codsSeleccionados.length>0){\r\n if (listaResultados.length<=maxRegs || PerfilUsuario() === \"CON\" ){\r\n setLoading(true)\r\n BP2022Service.obtenRegistrosAExportar(codTipoExporta, listaResultados, codsSeleccionados, '', props.codBusqueda, props.aux1, props.aux2)\r\n .then((response) => {\r\n const nuevosDatosAExportar = {\r\n headers: response.data.cabeceras,\r\n data: response.data.datos,\r\n }\r\n setLoading(false);\r\n setDatosAExportar(nuevosDatosAExportar);\r\n setTxtExportar(\"Volver a generar\");\r\n setTxtCancelar(\"Volver al listado\")\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setLoading(false);\r\n });\r\n }\r\n else{\r\n abreEmergenteMaxRegs();\r\n }\r\n }\r\n }\r\n\r\n const checkCampo= (e, valor) =>{\r\n const nuevaSeleccion = JSON.parse(JSON.stringify(codsSeleccionados));\r\n var activo = e.target.checked;\r\n if (activo){\r\n if (!nuevaSeleccion.includes(valor)){\r\n nuevaSeleccion.push(valor);\r\n }\r\n }\r\n if (!activo){\r\n if (nuevaSeleccion.includes(valor)){\r\n var idx = nuevaSeleccion.indexOf(valor);\r\n nuevaSeleccion.splice(idx,1);\r\n }\r\n }\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }\r\n\r\n const disabledAdd = (codsSeleccionados && codsSeleccionados.length>=maxCampos && PerfilUsuario() !== \"CON\");\r\n\r\n if (!codsSeleccionados && listaPosibles){\r\n if (codTipoExporta === \"MUH\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"CNMUH\");\r\n nuevaSeleccion.push(\"NOMMUH\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else if (codTipoExporta === \"MUV\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"CNMUV\");\r\n nuevaSeleccion.push(\"NOMMUV\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else if (codTipoExporta === \"PPF\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"CNPPF\");\r\n nuevaSeleccion.push(\"NOMPPF\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else if (codTipoExporta === \"FM\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"CNFM\");\r\n nuevaSeleccion.push(\"NOMFM\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else if (codTipoExporta === \"PA\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"NOMPA\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else if (codTipoExporta === \"EXT\"){\r\n var nuevaSeleccion=[];\r\n nuevaSeleccion.push(\"NOMEXT\");\r\n setCodsSeleccionados(nuevaSeleccion);\r\n }else{\r\n setCodsSeleccionados([]);\r\n }\r\n }\r\n\r\n const HTMLGruposExportables = (\r\n (listaPosibles) ?\r\n listaPosibles.map(grupo => \r\n ((grupo.Campos && grupo.Campos.length>0) ?\r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n )\r\n )\r\n :\r\n
    \r\n );\r\n\r\n function getTipoFromCodTipo(codTipo){\r\n var res = \"\";\r\n switch (codTipo){\r\n case \"MUH\":\r\n res = \"Medicamentos uso humano\";\r\n break;\r\n case \"MUV\":\r\n res = \"Medicamentos veterinarios\";\r\n break;\r\n case \"PPF\":\r\n res = \"Productos de parafarmacia\";\r\n break;\r\n case \"PA\":\r\n res = \"Principios activos\";\r\n break;\r\n case \"FM\":\r\n res = \"Formulación magistral\";\r\n break;\r\n case \"ING\":\r\n res = \"Ingredientes\";\r\n break;\r\n case \"EXT\":\r\n res = \"Medicamentos extranjeros\";\r\n break;\r\n case \"PAT\":\r\n res = \"Enfermedades\";\r\n break;\r\n }\r\n return res;\r\n }\r\n\r\n const cambiaTab = (codTab) =>{\r\n if (codTab !== codTipoExporta)\r\n setCodsSeleccionados(null);\r\n setCodTipoExporta(codTab);\r\n }\r\n\r\n const abreEmergenteMaxRegs = () => {\r\n //e.preventDefault();\r\n AddClassNameToClassItems(modalKeyName, null, 'active');\r\n }\r\n\r\n const tiposRegs = [];\r\n\r\n for (var j=0; j\r\n
    \r\n
      \r\n {tiposRegs.map(t =>
    • cambiaTab(t.cod)}>{t.texto}
    • )}\r\n
    \r\n
    \r\n \r\n );\r\n /* style={{marginTop:'0px'}}*/\r\n\r\n const modalTitulo = 'Número máximo de registros excedido';\r\n const modalContent = (\r\n
    \r\n

    \r\n El listado generado supera el límite máximo de registros que pueden exportarse\r\n (máximo {numberWithCommas(maxRegs)}). Puede volver a generar el listado limitando los criterios de búsqueda \r\n de forma que obtenga un listado con un menor número de registros.\r\n

    \r\n

    \r\n En caso de que necesite exportar una cantidad superior de información, le rogamos se ponga \r\n en contacto con el Consejo General en el correo electrónico congral@redfarma.org.\r\n

    \r\n
    \r\n );\r\n\r\n const modalKeyName=\"ModalMaxRegsExporta\"\r\n\r\n return (\r\n
    \r\n {HTMLTabs}\r\n
    \r\n {(loading) ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n
    e.preventDefault()}>\r\n
    \r\n

    {listaResultados.length} registros

    \r\n
    \r\n
    \r\n

    {literalTitulo}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {(numTotalCampos>maxCampos)?\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Puedes seleccionar hasta {maxCampos.toString()} campos. En caso de querer cambiar un campo por otro, desmarca previamente el que desees eliminar\r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n {HTMLGruposExportables}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {(datosAExportar.data && datosAExportar.data.length>0 && datosAExportar.headers && datosAExportar.headers.length>0) ?\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Si el archivo no se descarga automáticamente pulse sobre el siguiente botón\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n};\r\n\r\nexport default CamposExportacion;\r\n/*\r\n \r\n \r\n*/","import { RemoveClassNameToClassItems } from \"../../services/utils\";\r\nimport Emergente from \"../Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\n\r\nconst AccesoRestringido = (props) => {\r\n const modalTitulo = \"Acceso restringido\";\r\n const modalKeyName = \"AccessNotAllowed\"\r\n const modalContent = (\r\n
    \r\n

    Para acceder a la funcionalidad solicitada debe estár suscrito a BOT PLUS.\r\n

    \r\n

    Puede encontrar más información acerca de BOT PLUS y de como suscribirse aquí\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n const modalContentEST = (\r\n
    \r\n

    Este usuario de pruebas está destinado exclusivamente al aprendizaje del manejo de\r\n BOT PLUS por parte de alumnos de facultades de Farmacia cuyas Universidades\r\n estén adscritas a la Conferencia de Decanos y que hayan suscrito el correspondiente\r\n convenio de colaboración con el Consejo General de Colegios Oficiales de\r\n Farmacéuticos. Esta funcionalidad no está disponible para este usuario de pruebas.\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n const modalContentINS = (\r\n
    \r\n

    Este usuario de pruebas está destinado exclusivamente al aprendizaje del manejo de\r\n BOT PLUS por parte de alumnos de Grado de Técnico en Farmacia y Parafarmacia de centros de \r\n Formación Profesional que hayan adquirido la correspondiente licencia de acceso. \r\n Esta funcionalidad no está disponible para este usuario de pruebas.\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n var miModalContent = modalContent;\r\n var alto = '260px'\r\n if (props.rol === \"EST\"){\r\n miModalContent = modalContentEST;\r\n alto='320px'\r\n }\r\n\r\n if (props.rol === \"INS\"){\r\n miModalContent = modalContentINS;\r\n alto='320px'\r\n }\r\n\r\n const cerrar = () =>{\r\n if (!props.atras){\r\n RemoveClassNameToClassItems(modalKeyName, null, 'active');\r\n }else{\r\n props.atras();\r\n }\r\n\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default AccesoRestringido;","import React, { useState, useEffect } from \"react\";\r\nimport ListaResBusqueda from \"./Listado/ListaResBusqueda\";\r\nimport FiltrosBusqueda from \"./Filtros/FiltrosBusqueda\";\r\nimport ResumenFiltros from \"./ResumenFiltros/ResumenFiltros\";\r\nimport BusqMedsService from \"../../../services/user.service\";\r\nimport { elementIsOfClass, GetFiltrosStr, handleClasesCheckbox, PerfilUsuario, RemoveClassNameToClassItems } from \"../../../services/utils\";\r\nimport LoadingPopup from \"../Loading.Popup\";\r\nimport ColumnaSeccionMenuBlanco from \"../../Cabecera/MenuBlanco/ColumnaSeccionMenuBlanco\";\r\nimport CamposExportacion from \"./Listado/Exportacion/CamposExportacion\";\r\nimport AccesoRestringido from \"../../Configuarcion/AccesoRestringido\";\r\nimport BP2022Service from \"../../../services/user.service\";\r\n\r\nvar idUltimaBusqueda = 0;\r\n\r\nconst FiltrosYResultados = (props) => {\r\n const [filtrosYlista, setFiltrosYLista] = useState({\r\n listaFiltrada: props.infoPagina.listaRes, //aplicaFiltros(, props.filtros, props.infoPagina.idxOrden),\r\n filtros: props.filtros,\r\n idxOrden: props.infoPagina.idxOrden,\r\n numMostrar: props.infoPagina.numMostrar,\r\n numTotal: props.infoPagina.total,\r\n numDescargados: (props.infoPagina.listaRes) ? props.infoPagina.listaRes.length : 0,\r\n });\r\n const [codigoPagina, setCodigoPagina] = useState(props.infoPagina.codigoPagina);\r\n const [verCamposExporta, setVerCamposExporta] = useState (null);\r\n const [infoExportacion, setInfoExportacion] = useState (null);\r\n var loading = false;\r\n\r\n var campo = '';\r\n var ascendente = true;\r\n\r\n\r\n function compare (xa, xb) {\r\n var a = xa;\r\n var b = xb;\r\n if (a[campo] === null) \r\n {\r\n if ((campo === 'PVPIVA')||(campo === 'Codigo'))\r\n a[campo] = 0;\r\n else\r\n a[campo]='';\r\n }\r\n else{\r\n if (campo === \"FechaVisita\")\r\n a[campo] = new Date(a[campo]).getTime();\r\n }\r\n\r\n if (b[campo] === null) \r\n {\r\n if ((campo === 'PVPIVA')||(campo === 'Codigo'))\r\n b[campo]=0;\r\n else\r\n b[campo]='';\r\n } \r\n else{\r\n if ((campo === \"FechaVisita\")||(campo === \"Fecha\"))\r\n b[campo] = new Date(b[campo]).getTime();\r\n }\r\n\r\n if(((a[campo]>b[campo]) && ascendente) || ((a[campo]b[campo]) && !ascendente))\r\n return -1;\r\n else\r\n return 0\r\n }\r\n\r\n function cambioOrden (lista,idx) {\r\n\r\n if ((lista) && (idx>=0))\r\n {\r\n let templista = JSON.parse(JSON.stringify(lista));\r\n if (props.infoPagina.codigoPagina !== \"BDocumentos\"){\r\n switch(idx){\r\n case 0:\r\n campo = 'NombreCompleto';\r\n ascendente = true;\r\n break;\r\n case 1:\r\n campo = 'NombreCompleto';\r\n ascendente = false;\r\n break;\r\n case 2:\r\n campo = 'Codigo';\r\n ascendente = true;\r\n break;\r\n case 3:\r\n campo = 'Codigo';\r\n ascendente = false;\r\n break;\r\n case 4:\r\n campo = 'PVPIVA';\r\n ascendente = true;\r\n break;\r\n case 5:\r\n campo = 'PVPIVA';\r\n ascendente = false;\r\n break; \r\n case 6:\r\n campo = 'FechaVisita';\r\n ascendente = false;\r\n break; \r\n }\r\n lista = lista.sort(compare);\r\n return lista;\r\n }\r\n else{\r\n switch(idx){\r\n case 0:\r\n campo = 'Titulo';\r\n ascendente = true;\r\n break;\r\n case 1:\r\n campo = 'Titulo';\r\n ascendente = false;\r\n break;\r\n case 2:\r\n campo = 'Fecha';\r\n ascendente = true;\r\n break; \r\n case 3:\r\n campo = 'Fecha';\r\n ascendente = false;\r\n break; \r\n }\r\n lista = lista.sort(compare);\r\n return lista;\r\n }\r\n }\r\n return lista;\r\n }\r\n\r\n function aplicaFiltros(lista, filtros, orden)\r\n {\r\n if (filtros)\r\n {\r\n for (var i=0; i item[filtro.campolista]===filtro.valor);\r\n if (filtro.tipoCampolista==='int')\r\n if (filtro.valor && filtro.valor !== -1)\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valor);\r\n if (filtro.tipoCampolista==='string')\r\n if (filtro.valor && filtro.valor !== ''){\r\n lista = lista.filter(item => item[filtro.campolista]);\r\n lista = lista.filter(item => item[filtro.campolista].toString().toLowerCase().includes(filtro.valor.toLowerCase()));\r\n }\r\n }\r\n if (filtro.tipo==='ListBox'){\r\n if (filtro.tipoCampolista==='codString')\r\n if (filtro.valor && filtro.valor !== '')\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valor);\r\n if (filtro.tipoCampolista==='int')\r\n if (filtro.valor && filtro.valor !== -1)\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valor);\r\n if (filtro.tipoCampolista === 'array')\r\n if (filtro.valor && filtro.valor !== -1)\r\n lista = lista.filter(item => item[filtro.campolista].includes(filtro.valor));\r\n }\r\n if (filtro.tipo==='Text'){\r\n if (filtro.tipoCampolista==='string')\r\n if (filtro.valor && filtro.valor !== ''){\r\n //lista = lista.filter(item => item[filtro.campolista]);\r\n lista = lista.filter(item => item[filtro.campolista].toString().toLowerCase().includes(filtro.valor.toLowerCase()));\r\n }\r\n }\r\n if (filtro.tipo==='CN'){\r\n if (filtro.valor && filtro.valor > 0){\r\n lista = lista.filter(item => (item[filtro.campolista].toString()===filtro.valor.toString() \r\n || item[filtro.campolista].toString().substring(0,6)===filtro.valor.toString().substring(0,6)\r\n || item[filtro.campolista].toString().substring(0,filtro.valor.toString().length)===filtro.valor.toString()\r\n ));\r\n }\r\n }\r\n if (filtro.tipo==='Check'){\r\n if ((filtro.tipoCampolista==='codString') || (filtro.tipoCampolista==='int') || (filtro.tipoCampolista==='array') || (filtro.tipoCampolista==='float')){\r\n if (filtro.valores){\r\n if (filtro.excluyente){\r\n var enc = false;\r\n for (var i=0; i parseInt(item[filtro.campolista])===parseInt(filtro.valores[i].value));\r\n else\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valores[i].value);\r\n }else if (relacion === \"comparacion\"){\r\n if (filtro.valores[i].comparacion===\">\"){\r\n lista = lista.filter(item => item[filtro.campolista]>filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\">=\"){\r\n lista = lista.filter(item => item[filtro.campolista]>=filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"<\"){\r\n lista = lista.filter(item => item[filtro.campolista] item[filtro.campolista]<=filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"<>\"){\r\n lista = lista.filter(item => item[filtro.campolista]!==filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"=\"){\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valores[i].value);\r\n }\r\n }else if (relacion === \"AND\"){\r\n lista = lista.filter(item => parseInt(filtro.valores[i].value)===(parseInt(filtro.valores[i].value) & item[filtro.campolista]));\r\n }else if (relacion === \"OR\"){\r\n lista = lista.filter(item => parseInt(filtro.valores[i].value)===(parseInt(filtro.valores[i].value) | item[filtro.campolista]));\r\n }\r\n \r\n }\r\n }\r\n }\r\n else{ //no excluyente\r\n const relacion = (filtro.relacion) ? filtro.relacion : \"igualdad\";\r\n if ((relacion === \"igualdad\") || (relacion === \"notIn\")){\r\n var seleccionados = [];\r\n for (var i=0; i0){\r\n if (filtro.tipoCampolista === 'array'){ \r\n if (filtro.relacion === \"notIn\"){ \r\n lista = lista.filter(item => (!item[filtro.campolista] || item[filtro.campolista].filter(valorlista => seleccionados.includes(valorlista) ).length==0));\r\n }else{\r\n lista = lista.filter(item => (item[filtro.campolista].filter(valorlista => seleccionados.includes(valorlista) ).length>0));\r\n }\r\n }\r\n else\r\n lista = lista.filter(item => seleccionados.includes(item[filtro.campolista]));\r\n }\r\n }else if (relacion === \"comparacion\"){\r\n for (var i=0; i\"){\r\n lista = lista.filter(item => item[filtro.campolista]>filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\">=\"){\r\n lista = lista.filter(item => item[filtro.campolista]>=filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"<\"){\r\n lista = lista.filter(item => item[filtro.campolista] item[filtro.campolista]<=filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"<>\"){\r\n lista = lista.filter(item => item[filtro.campolista]!==filtro.valores[i].value);\r\n }else if (filtro.valores[i].comparacion===\"=\"){\r\n lista = lista.filter(item => item[filtro.campolista]===filtro.valores[i].value);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return lista;\r\n };\r\n\r\n\r\n const mostrarCamposExporta= (valor) => {\r\n if (valor){\r\n var infoExport = [];\r\n var tieneMUH = false;\r\n var tieneMUV = false;\r\n var tienePPF = false;\r\n var tieneFM = false;\r\n var defaultTipoExporta = \"\";\r\n for (var i=0; i ie.codTipoExporta === codTipoExporta);\r\n if (!info){\r\n info = {codTipoExporta : codTipoExporta, lista : []}\r\n infoExport.push(info);\r\n }\r\n if (item.CodTipoRegistro===\"ASO\" || item.CodTipoRegistro===\"ASOH\" || item.CodTipoRegistro===\"ASOV\"){\r\n info.lista.push(item.Id + 1000000);\r\n }else{\r\n info.lista.push(item.Id);\r\n }\r\n if (i===0)\r\n defaultTipoExporta = codTipoExporta;\r\n }\r\n if (tieneMUH) defaultTipoExporta = \"MUH\";\r\n else if (tieneMUV) defaultTipoExporta = \"MUV\";\r\n else if (tienePPF) defaultTipoExporta = \"PPF\";\r\n setVerCamposExporta(defaultTipoExporta);\r\n setInfoExportacion(infoExport);\r\n }\r\n else{\r\n setVerCamposExporta(null);\r\n }\r\n }\r\n\r\n const vaciarHistorial = () => {\r\n BP2022Service.emptyHistorial();\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n tempVar.listaFiltrada = [];\r\n tempVar.numTotal = 0;\r\n tempVar.numMostrar = 0;\r\n tempVar.numDescargados = 0;\r\n setFiltrosYLista(tempVar);\r\n };\r\n\r\n const cambioFiltroCheck = (idFiltro, idValor, marcado, ) => {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n var enc = false;\r\n for (var i=0; i{\r\n var fTipoPPF = fils.find(f=>f.idGrupo === \"TIPOPPF\");\r\n if (fTipoPPF){\r\n fTipoPPF.oculto = true;\r\n if (fTipoPPF){\r\n var fTipo = fils.find(f=>f.idGrupo === \"TIPO\")\r\n if (fTipo){\r\n var vPPF = fTipo.valores.find(v=>(v.value === \"PPF\"));\r\n if (vPPF){\r\n fTipoPPF.oculto = !vPPF.activo || !(fTipoPPF.posibles.length>2);\r\n if (fTipoPPF.oculto){\r\n fTipoPPF.valor = -1;\r\n }else if (fTipoPPF.valor>0){\r\n var item = fTipoPPF.posibles.find(item => item.codigo === fTipoPPF.valor)\r\n if (item) fTipoPPF.displayValor = item.valor;\r\n }\r\n } \r\n }\r\n else{\r\n fTipoPPF.oculto = !(fTipoPPF.posibles.length>2)\r\n if (fTipoPPF.oculto){\r\n fTipoPPF.valor = -1;\r\n }else if (fTipoPPF.valor>0){\r\n var item = fTipoPPF.posibles.find(item => item.codigo === fTipoPPF.valor)\r\n if (item) fTipoPPF.displayValor = item.valor;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n const cambioFiltroList = (idFiltro, valor) => {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n var enc = false;\r\n for (var i=0; i item.codigo === valor)\r\n if (item) tempVar.filtros[i].displayValor = item.valor;\r\n }\r\n tempVar.listaFiltrada = aplicaFiltros(props.infoPagina.listaRes, tempVar.filtros, tempVar.idxOrden);\r\n setFiltrosYLista(tempVar);\r\n }\r\n }\r\n };\r\n\r\n const cambioOrdenList = (idxOrden) => {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n tempVar.idxOrden = idxOrden;\r\n tempVar.listaFiltrada = cambioOrden(tempVar.listaFiltrada,idxOrden);\r\n setFiltrosYLista(tempVar);\r\n };\r\n\r\n const borraFiltro = (idFiltro, idValor) =>\r\n {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n var enc = false;\r\n for (var i=0; i\r\n {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista));\r\n for (var i=0; i{\r\n if ((props.infoPagina.listaRes != null) && (filtros != null))\r\n {\r\n for (var i=0; i0)){\r\n filtros[i].posibles = props.filtros[i].posibles;\r\n if (filtros[i].tipo === 'ListBox'){\r\n if (filtros[i].valor>0){\r\n var item = filtros[i].posibles.find(item => item.codigo === filtros[i].valor)\r\n if (item) filtros[i].displayValor = item.valor;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n useEffect(() => {\r\n let tempVar = JSON.parse(JSON.stringify(filtrosYlista)); \r\n if (props.infoPagina.codigoPagina !== codigoPagina){\r\n tempVar.filtros = props.filtros;\r\n setFiltrosYLista(tempVar);\r\n setCodigoPagina(props.codigoPagina);\r\n setVerCamposExporta(null);\r\n }\r\n if (JSON.stringify(tempVar.filtros) !== JSON.stringify(props.filtros)){\r\n tempVar.filtros = props.filtros;\r\n setFiltrosYLista(tempVar);\r\n }\r\n if (props.infoPagina.listaRes===null){\r\n tempVar.filtros = props.filtros;\r\n if (verCamposExporta)\r\n setVerCamposExporta(null);\r\n }\r\n if ((!props.infoPagina.listaRes) || (!props.infoPagina.completa && !loading)){\r\n busqueda();\r\n if (verCamposExporta)\r\n setVerCamposExporta(null);\r\n }\r\n if (props.infoPagina.listaRes){\r\n ChequeaPosiblesFiltros(tempVar.filtros);\r\n tempVar.listaFiltrada = aplicaFiltros(props.infoPagina.listaRes, tempVar.filtros, tempVar.idxOrden);\r\n tempVar.numTotal = props.infoPagina.total;\r\n tempVar.numDescargados = props.infoPagina.listaRes.length;\r\n setFiltrosYLista(tempVar);\r\n }\r\n for (var i=0; i {\r\n if (rutaAlInicioBusqueda == window.location.href)\r\n {\r\n var completa = true;\r\n if (incompleta)\r\n completa = false;\r\n props.cambiaPagina({\r\n newpagina: props.infoPagina.codigoPagina,\r\n newid: props.infoPagina.id,\r\n newlista: resultados,\r\n texto: props.infoPagina.texto,\r\n filtros: filtrosYlista.filtros,\r\n titulo: titulo,\r\n filtrosActivos: props.infoPagina.filtrosActivos,\r\n numMostrar: props.infoPagina.numMostrar,\r\n idxOrden: filtrosYlista.idxOrden,\r\n tipoPagina: \"ResultadosBusqueda\",\r\n completa: completa,\r\n total: total,\r\n idEpi: props.infoPagina.idEpi,\r\n idsEnfs: props.infoPagina.idsEnfs,\r\n idsMeds: props.infoPagina.idsMeds,\r\n txt: props.infoPagina.txt,\r\n idLab: props.infoPagina.idLab,\r\n idGT: props.infoPagina.idGT,\r\n idsLab: props.infoPagina.idsLab,\r\n idsGT: props.infoPagina.idsGT,\r\n pas: props.infoPagina.pas,\r\n solo: props.infoPagina.solo,\r\n idVia: props.infoPagina.idVia,\r\n idFF: props.infoPagina.idFF,\r\n ints: props.infoPagina.ints,\r\n uds: props.infoPagina.uds,\r\n emr: props.infoPagina.emr,\r\n edad: props.infoPagina.edad,\r\n undEdad: props.infoPagina.undEdad,\r\n enfsRel: props.infoPagina.enfsRel,\r\n anasRel: props.infoPagina.anasRel,\r\n ops: props.infoPagina.ops,\r\n idEspecie: props.infoPagina.idEspecie,\r\n idEnf: props.infoPagina.idEnf,\r\n idTipo: props.infoPagina.idTipo,\r\n idSubtipo: props.infoPagina.idSubtipo,\r\n idsTipo: props.infoPagina.idsTipo,\r\n idsSubtipo: props.infoPagina.idsSubtipo,\r\n tipoFF: props.infoPagina.tipoFF,\r\n idForma: props.infoPagina.idForma,\r\n idColor1: props.infoPagina.idColor1,\r\n idColor2: props.infoPagina.idColor2,\r\n idSabor: props.infoPagina.idSabor,\r\n CO1: props.infoPagina.CO1,\r\n CO2: props.infoPagina.CO2,\r\n tamanos: props.infoPagina.tamanos,\r\n ranura: props.infoPagina.ranura,\r\n logo: props.infoPagina.logo,\r\n difCol: props.infoPagina.difCol,\r\n ins1: props.infoPagina.ins1,\r\n ins2: props.infoPagina.ins2,\r\n anycol: props.infoPagina.anycol,\r\n col2: props.infoPagina.col2,\r\n idPais: props.infoPagina.idPais,\r\n inicio: props.infoPagina.inicio,\r\n fin: props.infoPagina.fin,\r\n pvpMenor: pvpMenor,\r\n pvpMasBajo: pvpMasBajo,\r\n literalPMenor: literalPMenor,\r\n literalPMasBajo: literalPMasBajo,\r\n fechaAutoIni: props.infoPagina.fechaAutoIni,\r\n fechaAutoFin: props.infoPagina.fechaAutoFin,\r\n fechaBajaIni: props.infoPagina.fechaBajaIni,\r\n fechaBajaFin: props.infoPagina.fechaBajaFin,\r\n fechaExFIIni: props.infoPagina.fechaExFIIni,\r\n fechaExFIFin: props.infoPagina.fechaExFIFin,\r\n fechaExSNSIni: props.infoPagina.fechaExSNSIni,\r\n fechaExSNSFin: props.infoPagina.fechaExSNSFin,\r\n fechaInSNSIni: props.infoPagina.fechaInSNSIni,\r\n fechaInSNSFin: props.infoPagina.fechaInSNSFin,\r\n fechaComerIni: props.infoPagina.fechaComerIni,\r\n fechaComerFin: props.infoPagina.fechaComerFin,\r\n idCampoP: props.infoPagina.idCampoP,\r\n idOpP: props.infoPagina.idOpP,\r\n pre: props.infoPagina.pre,\r\n idPredefP: props.infoPagina.idPredefP,\r\n idsAA: props.infoPagina.idsAA,\r\n idsAN: props.infoPagina.idsAN,\r\n idsDC: props.infoPagina.idsDC,\r\n idsMen: props.infoPagina.idsMen,\r\n idEpi: props.infoPagina.idEpi,\r\n texto: props.infoPagina.texto,\r\n noTexto : props.infoPagina.noTexto,\r\n opb: props.infoPagina.opb,\r\n seleccionados: props.infoPagina.seleccionados,\r\n });\r\n }\r\n }\r\n\r\n\r\n var rutaAlInicioBusqueda = '';\r\n \r\n const busqueda = () => {\r\n var numMax = 500;\r\n if (props.infoPagina.listaRes){\r\n numMax = 100000;\r\n }\r\n loading = true;\r\n rutaAlInicioBusqueda = window.location.href;//history.location.pathname + history.location.search;\r\n var idBusqueda = Math.floor(Math.random() * (1000000));\r\n idUltimaBusqueda = idBusqueda;\r\n switch (props.infoPagina.codigoPagina){\r\n case 'BInicio':\r\n BusqMedsService.getMedsByName(props.infoPagina.texto, props.infoPagina.opb, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case 'BLaboratorioMUV':\r\n case 'BLaboratorioMUH':\r\n case 'BLaboratorioMHO':\r\n BusqMedsService.medicamentosLaboratorio(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case 'BLaboratorioPPF':\r\n BusqMedsService.productosLaboratorio(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAgrupHomoAutoMUH\":\r\n BusqMedsService.medicamentosAgrupacionAuto (props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n var filtroscp = filtrosYlista.filtros.find(f => f.idGrupo === \"COMPPRE\");\r\n if (filtroscp && filtroscp.valores){\r\n var filtropm = filtroscp.valores.find(v => v.idValor === \"SPM\")\r\n if (filtropm){\r\n filtropm.value=response.data.AuxDbl;\r\n }\r\n filtropm = filtroscp.valores.find(v => v.idValor === \"APM\")\r\n if (filtropm){\r\n filtropm.value=response.data.AuxDbl;\r\n }\r\n var filtropmb = filtroscp.valores.find(v => v.idValor === \"SPMB\")\r\n if (filtropmb){\r\n filtropmb.value=response.data.AuxDbl2;\r\n }\r\n filtropmb = filtroscp.valores.find(v => v.idValor === \"APMB\")\r\n if (filtropmb){\r\n filtropmb.value=response.data.AuxDbl2;\r\n }\r\n }\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, false, response.data.Resultados.length, -1, response.data.AuxDbl, response.data.AuxDbl2, response.data.AuxStr, response.data.AuxStr2);\r\n });\r\n break;\r\n case \"BAgrupHomoMUH\":\r\n BusqMedsService.medicamentosAgrupacioNac(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n var filtroscp = filtrosYlista.filtros.find(f => f.idGrupo === \"COMPPRE\");\r\n if (filtroscp && filtroscp.valores){\r\n var filtropm = filtroscp.valores.find(v => v.idValor === \"SPM\")\r\n if (filtropm){\r\n filtropm.value=response.data.AuxDbl;\r\n }\r\n filtropm = filtroscp.valores.find(v => v.idValor === \"APM\")\r\n if (filtropm){\r\n filtropm.value=response.data.AuxDbl;\r\n }\r\n var filtropmb = filtroscp.valores.find(v => v.idValor === \"SPMB\")\r\n if (filtropmb){\r\n filtropmb.value=response.data.AuxDbl2;\r\n }\r\n filtropmb = filtroscp.valores.find(v => v.idValor === \"APMB\")\r\n if (filtropmb){\r\n filtropmb.value=response.data.AuxDbl2;\r\n }\r\n }\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, false, response.data.Resultados.length, -1, response.data.AuxDbl, response.data.AuxDbl2, response.data.AuxStr, response.data.AuxStr2);\r\n });\r\n break;\r\n case \"BAgrupHomoAutoPPF\":\r\n BusqMedsService.productosAgrupacionAuto(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, false, response.data.Resultados.length, -1, response.data.AuxDbl, response.data.AuxDbl2, response.data.AuxStr, response.data.AuxStr2);\r\n });\r\n break;\r\n case \"BAgrupHomoPPF\":\r\n BusqMedsService.productosAgrupacionNac(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, false, response.data.Resultados.length, -1, response.data.AuxDbl, response.data.AuxDbl2, response.data.AuxStr, response.data.AuxStr2);\r\n });\r\n break;\r\n case \"BFormaFarmaMUH\":\r\n case \"BFormaFarmaMUV\":\r\n BusqMedsService.medicamentosFormaFarma(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BFormaFarmaPPF\":\r\n BusqMedsService.productosFormaFarma(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BAFMUH\":\r\n case \"BAFMUV\":\r\n case \"BAMMUH\":\r\n BusqMedsService.principiosActividad(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BActPPF\":\r\n BusqMedsService.ingredientesActividad(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case 'BLaboratoriosMUH':\r\n case 'BLaboratoriosMUV':\r\n case 'BLaboratoriosMHO':\r\n BusqMedsService.medicamentosLaboratorios(props.infoPagina.seleccionados, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case 'BLaboratoriosPPF':\r\n BusqMedsService.productosLaboratorios(props.infoPagina.seleccionados, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BFormasFarmaMUH\":\r\n case \"BFormasFarmaMUV\":\r\n BusqMedsService.medicamentosFormasFarma(props.infoPagina.seleccionados, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BFormasFarmaPPF\":\r\n BusqMedsService.productosFormasFarma(props.infoPagina.seleccionados, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BAFsMUH\":\r\n case \"BAFsMUV\":\r\n BusqMedsService.principiosActividadesY(props.infoPagina.seleccionados, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAMsMUH\":\r\n BusqMedsService.principiosActividadesY(props.infoPagina.seleccionados, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BActsPPF\":\r\n BusqMedsService.ingredientesActividadesO(props.infoPagina.seleccionados, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAnalisisMUH\":\r\n BusqMedsService.medicamentosAnalisis(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BFarmacogeneticaMUH\":\r\n BusqMedsService.medicamentosBiomarcador(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BPAMUH\":\r\n case \"BPAMUV\":\r\n BusqMedsService.medicamentosConPA(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAsoMUH\":\r\n case \"BAsoMUV\":\r\n BusqMedsService.medicamentosConAso(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BIngPPF\":\r\n BusqMedsService.productosConIng(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BTipoPPF\":\r\n BusqMedsService.productosTipo(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BSubtipoPPF\":\r\n BusqMedsService.productosSubtipo(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data);\r\n });\r\n break;\r\n case \"BIndicacionMUH\":\r\n BusqMedsService.medicamentosPorEnf(props.infoPagina.id, 3, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BIndicacionMUV\":\r\n BusqMedsService.medicamentosPorEnf(props.infoPagina.id, 83, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BIndicacionPPF\":\r\n BusqMedsService.productosPorEnf(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BContraindicacionMUH\":\r\n BusqMedsService.medicamentosPorEnf(props.infoPagina.id, 13, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BPrecaucionMUH\":\r\n BusqMedsService.medicamentosPorEnf(props.infoPagina.id, 14, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BReaccionAdversaMUH\":\r\n BusqMedsService.medicamentosPorEnf(props.infoPagina.id, 7, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BGTsATCMUH\":\r\n case \"BGTsATCMUV\":\r\n BusqMedsService.medicamentos2GTATC(props.infoPagina.seleccionados, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BGTATCMUH\":\r\n case \"BGTATCMUV\":\r\n BusqMedsService.medicamentosGTATC(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BGTConPPF\":\r\n BusqMedsService.productosGTCon(props.infoPagina.id, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BGTsConPPF\":\r\n BusqMedsService.productos2GTCon(props.infoPagina.seleccionados, props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BGTSanPPF\":\r\n BusqMedsService.productosGTSan(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BGTVMPPMUH\":\r\n BusqMedsService.medicamentosGTVMPP(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BSaborEdadPPF\":\r\n BusqMedsService.productosSaborEdad(props.infoPagina).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BEspecieIndicacionMUV\":\r\n BusqMedsService.medicamentosEspecieIndicacion(props.infoPagina.idEnf, props.infoPagina.idEspecie, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BProblemasSumMUH\":\r\n BusqMedsService.medicamentosProblemasSuministro(props.infoPagina, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BAlertasCMUH\":\r\n BusqMedsService.medicamentosAlertasCalidad(props.infoPagina, props.infoPagina.idxOrden, \"H\").then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BAlertasCMUV\":\r\n BusqMedsService.medicamentosAlertasCalidad(props.infoPagina, props.infoPagina.idxOrden,\"V\").then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n \r\n case \"BAlertasCPPF\":\r\n BusqMedsService.PFAlertasCalidad(props.infoPagina, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BReaccionesAdversasMUH\":\r\n BusqMedsService.medicamentosReaccionesAdversas(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BComposicionMUH\":\r\n case \"BComposicionMUV\":\r\n case \"BComposicionPPF\":\r\n BusqMedsService.productosPorComposicion(props.infoPagina).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAvanzadaMUH\":\r\n BusqMedsService.medicamentosAvanzadaMUH(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BAvanzadaMUV\":\r\n BusqMedsService.medicamentosAvanzadaMUV(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BAvanzadaPAH\":\r\n BusqMedsService.principiosActivosAvanzadaPAH(props.infoPagina).then((response) => {\r\n //console.log(response.data);\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BAvanzadaPPF\":\r\n BusqMedsService.productosAvanzadaPPF(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BPacienteIndicacionMUH\":\r\n BusqMedsService.medicamentosPacienteIndicacion(props.infoPagina).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n\r\n case \"BProductosIndicacionPPF\":\r\n BusqMedsService.productosIndicacion(props.infoPagina).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n\r\n case \"BFormMagistralMUH\":\r\n BusqMedsService.medicamentosFM(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BMedsHomeoMUH\":\r\n BusqMedsService.medicamentosHomeo(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BFormaColorMUH\":\r\n BusqMedsService.medicamentosFormaColor(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n\r\n case \"BExtranjerosEXT\":\r\n BusqMedsService.medicamentosEXT(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case 'BMedEspanolesMUH':\r\n BusqMedsService.medicamentosEspanoles(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BConGluten\":\r\n BusqMedsService.productosConGluten(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BConLactosa\":\r\n BusqMedsService.productosConLactosa(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BSinGluten\":\r\n BusqMedsService.productosSinGluten(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BSinLactosa\":\r\n BusqMedsService.productosSinLactosa(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BDopantesMUH\":\r\n BusqMedsService.medicamentosDopantes(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BNoLentes\":\r\n BusqMedsService.productosNoLentes(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BComparaPrecioMenorMUH\":\r\n BusqMedsService.medicamentosConPrecioSupMenor(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BComparaPrecioMasBajoMUH\":\r\n BusqMedsService.medicamentosConPrecioSupMasBajo(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BPrecioNotificadoMUH\":\r\n BusqMedsService.medicamentosConPrecioNotificado(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BSeguimientoAdicionalMUH\":\r\n BusqMedsService.medicamentosSeguimientoAdicional(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BDispositivoSeguridadMUH\":\r\n BusqMedsService.medicamentosDispositivoSeguridad(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BLibroRecetarioM\":\r\n BusqMedsService.medicamentosLibroRecetario(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BLibroEstupefacientesM\":\r\n BusqMedsService.medicamentosLibroEstupefacientes(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BNotificacionESVACMUV\":\r\n BusqMedsService.medicamentosNotificacionESVAC(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BEnfermedadesPATH\":\r\n BusqMedsService.enfermedadesH(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BEnfermedadesPATV\":\r\n BusqMedsService.enfermedadesV(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BDispositivoSeguridadMUH\":\r\n BusqMedsService.medicamentosDeduccionesRDL(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BNoSustituiblesMUH\":\r\n BusqMedsService.medicamentosNoSustituibles(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BAlertadosCismedMUH\":\r\n BusqMedsService.medicamentosAlertaCismed(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, false, response.data.Total, 0);\r\n });\r\n break;\r\n case \"BDeduccionesRDLMUH\":\r\n BusqMedsService.medicamentosDeduccionesRDL(props.infoPagina.idxOrden,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n\r\n case \"BCambioNombre\":\r\n BusqMedsService.productosCambioNombre(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n\r\n case \"BCambioLaboratorio\":\r\n BusqMedsService.productosCambioLaboratorio(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n\r\n case \"BCambioPrecioMUH\":\r\n BusqMedsService.medicamentosCambioPrecio(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BDesfinanciadosMUH\":\r\n BusqMedsService.medicamentosDesfinanciados(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BFechaAlta\":\r\n BusqMedsService.productosFechaAlta(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n case \"BNovedadesUltimoMes\":\r\n BusqMedsService.productosUltimoMes(props.infoPagina,numMax,idBusqueda).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n if (idUltimaBusqueda === response.data.IdBusqueda)\r\n MuestraResultados(miListaBusqeda, response.data.Titulo, !response.data.Completo, response.data.Total, response.data.IdBusqueda);\r\n });\r\n break;\r\n \r\n case \"BMedicamentosPSUltimoMes\":\r\n BusqMedsService.medicamentosPSUltimoMes(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BCambioPrecioPrevistoMUH\":\r\n BusqMedsService.medicamentosCambioPrecioPrevisto(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BHistorialUsuario\":\r\n BusqMedsService.productosHistorialUsuario(props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n case \"BDocumentos\":\r\n BusqMedsService.documentosPorMedFecha(props.infoPagina).then((response) => {\r\n const miListaBusqeda = response.data;\r\n MuestraResultados(miListaBusqeda, \"Notas de seguridad y alertas de calidad\");\r\n });\r\n break;\r\n case \"BMismoNombreMUH\":\r\n BusqMedsService.medicamentosMismoNombre(props.infoPagina.id, props.infoPagina.idxOrden).then((response) => {\r\n const miListaBusqeda = response.data.Resultados;\r\n MuestraResultados(miListaBusqeda, response.data.Titulo);\r\n });\r\n break;\r\n\r\n\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n var conPreciosMenores = (props.infoPagina.codigoPagina===\"BAgrupHomoMUH\"\r\n || props.infoPagina.codigoPagina ===\"BAgrupHomoAutoMUH\"\r\n || props.infoPagina.codigoPagina===\"BAgrupHomoPPF\"\r\n || props.infoPagina.codigoPagina ===\"BAgrupHomoAutoPPF\");\r\n\r\n const hayFiltros = (GetFiltrosStr(filtrosYlista.filtros)!==\"\" ? true : false)\r\n\r\n if (filtrosYlista.listaFiltrada != null && props.infoPagina.listaRes != null)\r\n {\r\n if (props.infoPagina.listaRes.length >0){\r\n return (\r\n (verCamposExporta && infoExportacion) ? (\r\n (PerfilUsuario() !==\"COL\") ?\r\n \r\n :\r\n \r\n )\r\n :(\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {hayFiltros ?\r\n \r\n \r\n :\r\n <>\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n )\r\n }\r\n else{\r\n return(\r\n
    \r\n

     

    \r\n

     

    \r\n

     

    \r\n

     

    \r\n

    No se han encontrado resultados

    \r\n
    \r\n );\r\n }\r\n } \r\n else{\r\n return(\r\n \r\n );\r\n }\r\n}\r\nexport default FiltrosYResultados;\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport BusqMedsService from \"../../services/user.service\";\r\nimport BInteracciones from \"./BInteracciones/BInteracciones\";\r\nimport CabeceraResultados from \"./CabeceraResultados/CabeceraResultados\";\r\nimport FiltrosYResultados from \"./FiltrosYBusqueda/FiltrosYResultados\";\r\nimport LoadingPopup from \"./Loading.Popup\";\r\nimport { PerfilUsuario } from \"../../services/utils\";\r\n\r\nconst SeccionResultados = (props) => {\r\n const infoPagina = props.infoPagina;\r\n\r\n const filtroNombre = {\r\n idGrupo : 'NOMBRE',\r\n nombre : 'Nombre',\r\n tipo: 'Text',\r\n campolista: 'NombreCompleto',\r\n tipoCampolista: 'string',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NOMBRE')) ? infoPagina.filtrosActivos.find(x => x.nombre === 'NOMBRE').valor : ''\r\n : ''),\r\n display: 'Nombre: ',\r\n abierto: true,\r\n }\r\n\r\n const filtroCodigo = {\r\n idGrupo : 'CODIGO',\r\n nombre : 'Codigo',\r\n tipo: 'CN',\r\n campolista: 'Codigo',\r\n tipoCampolista: 'string',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'CODIGO')) ? infoPagina.filtrosActivos.find(x => x.nombre === 'CODIGO').valor : ''\r\n : ''),\r\n display: 'Código: ',\r\n abierto: true,\r\n }\r\n\r\n const filtroTitulo = {\r\n idGrupo : 'TITULO',\r\n nombre : 'Titulo',\r\n tipo: 'Text',\r\n campolista: 'Titulo',\r\n tipoCampolista: 'string',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TITULO')) ? infoPagina.filtrosActivos.find(x => x.nombre === 'TITULO').valor : ''\r\n : ''),\r\n display: 'Titulo: ',\r\n abierto: true,\r\n }\r\n\r\n const valorFiltroFinanciadoSegun = {\r\n texto:'Según indicación',\r\n display: 'Financiado',\r\n value:'X',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'FINAN' && x.valor ==='X') ? true : false)\r\n : false),\r\n nivel:1\r\n }\r\n\r\n const filtroAportacionFM = {\r\n idGrupo : 'APORT',\r\n nombre : 'Aportación',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'AuxStr',\r\n tipoCampolista: 'codString',\r\n abierto: false,\r\n valores : [\r\n {\r\n texto:'Normal',\r\n display: 'Aportación normal',\r\n value:'AN',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'APORT' && x.valor ==='AN') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Reducida',\r\n display: 'Aportación reducida',\r\n value:'AR',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'APORT' && x.valor ==='AR') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n const filtroVisadoFM = {\r\n idGrupo : 'VISA',\r\n nombre : 'Visado',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxStr2',\r\n tipoCampolista: 'codString',\r\n abierto: false,\r\n valores : [\r\n {\r\n texto:'Sí',\r\n display: 'Visado',\r\n value:'S',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'VISA' && x.valor ==='S') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No',\r\n display: 'No visado',\r\n value:'N',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'VISA' && x.valor ==='N') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroTipoFM = {\r\n idGrupo : 'TIPOFM',\r\n nombre : 'Tipo',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxInt',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Fórmula magistral',\r\n display: 'Fórmula magistral',\r\n value: 1,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPOFM' && x.valor.toString() === '1') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Preparado oficinal',\r\n display: 'Preparado oficinal',\r\n value: 2,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPOFM' && x.valor.toString() === '2') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroPaises = {\r\n idGrupo : 'PAIS',\r\n nombre : 'País',\r\n tipo: 'ListBox',\r\n getPosibles : getPosiblesPaises,\r\n posibles:[],\r\n excluyente : true,\r\n campolista: 'AuxInt',\r\n tipoCampolista: 'int',\r\n placeholder: 'Seleccione un pais',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'PAIS')) ? parseInt(infoPagina.filtrosActivos.find(x => x.nombre === 'PAIS').valor) : -1\r\n : -1),\r\n display: 'País: ',\r\n abierto: true,\r\n }\r\n\r\n const filtroEspecies = {\r\n idGrupo : 'ESPECIE',\r\n nombre : 'Especie',\r\n tipo: 'ListBox',\r\n getPosibles : getPosiblesEspecies,\r\n posibles:[],\r\n excluyente : true,\r\n campolista: 'ListaAux1',\r\n tipoCampolista: 'array',\r\n placeholder: 'Seleccione una especie',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'ESPECIE')) ? parseInt(infoPagina.filtrosActivos.find(x => x.nombre === 'ESPECIE').valor) : -1\r\n : -1),\r\n display: 'Especie: ',\r\n abierto: true,\r\n }\r\n\r\n const filtroPAHomeo = {\r\n idGrupo : 'PAHOMEO',\r\n nombre : 'Principio activo',\r\n tipo: 'ListBox',\r\n getPosibles : getPosiblesPAHomeo,\r\n posibles:[],\r\n excluyente : true,\r\n campolista: 'ListaAux1',\r\n tipoCampolista: 'array',\r\n placeholder: 'Indique principio activo',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'PAHOMEO')) ? parseInt(infoPagina.filtrosActivos.find(x => x.nombre === 'PAHOMEO').valor) : -1\r\n : -1),\r\n display: 'Principio activo: ',\r\n abierto: true,\r\n }\r\n\r\n const filtroTipoProductoPPF = {\r\n idGrupo : 'TIPOPPF',\r\n nombre : 'Tipo producto parafarmacia',\r\n tipo: 'ListBox',\r\n getPosibles : getPosiblesTiposProd,\r\n posibles:[],\r\n excluyente : true,\r\n campolista: 'AuxInt',\r\n tipoCampolista: 'int',\r\n placeholder: 'Indique tipo producto parafarmacia',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPOPPF')) ? parseInt(infoPagina.filtrosActivos.find(x => x.nombre === 'TIPOPPF').valor) : -1\r\n : -1),\r\n display: 'Tipo producto parafarmacia: ',\r\n abierto: true,\r\n oculto: true,\r\n }\r\n\r\n const filtroCisMEDFecha = {\r\n idGrupo : 'CISMEDFECHA',\r\n nombre : 'Fecha incidenica',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxInt2',\r\n tipoCampolista: 'int',\r\n abierto: false,\r\n relacion: 'AND',\r\n valores : [\r\n {\r\n texto:'Semana actual',\r\n display: 'Incidencias en la semana actual',\r\n value: 1,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'CISMEDFECHA' && parseInt(x.valor) ===1) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Semana pasada',\r\n display: 'Incidencias durante la semana pasada',\r\n value: 2,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'CISMEDFECHA' && parseInt(x.valor) ===2) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroCisMEDEstado = {\r\n idGrupo : 'CISMEDESTADO',\r\n nombre : 'Estado incidencia',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxInt',\r\n tipoCampolista: 'int',\r\n abierto: false,\r\n valores : [\r\n {\r\n texto:'Con incidencias',\r\n display: 'Con incidencias CisMED',\r\n value: 1,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'CISMEDESTADO' && parseInt(x.valor) ===1) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'En seguimiento',\r\n display: 'En seguimiento CisMED',\r\n value: 2,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'CISMEDESTADO' && parseInt(x.valor) ===2) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n \r\n const filtrosStandard = [\r\n {\r\n idGrupo : 'LABO',\r\n nombre : 'Laboratorio',\r\n tipo: 'List',\r\n getPosibles : getPosiblesLaboratorios,\r\n posibles:[],\r\n excluyente : true,\r\n campolista: 'Laboratorio',\r\n tipoCampolista: 'string',\r\n valor : (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'LABO')) ? infoPagina.filtrosActivos.find(x => x.nombre === 'LABO').valor : ''\r\n : ''),\r\n display: 'Laboratorio: ',\r\n abierto: true,\r\n },\r\n {\r\n idGrupo : 'TIPO',\r\n nombre : 'Tipo de producto',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'CodTipoRegistro',\r\n tipoCampolista: 'codString',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Medicamentos uso humano',\r\n value:'MUH',\r\n otrosValores: ['FM','MHO'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='MUH') ? true : false)\r\n : false),\r\n nivel:1,\r\n },\r\n {\r\n texto:'Principios activos',\r\n value:'PAH',\r\n otrosValores: ['ASOH','PHO'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='PAH') ? true : false)\r\n : false),\r\n nivel:2\r\n },\r\n {\r\n texto:'Medicamentos veterinarios',\r\n value:'MUV',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='MUV') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Principios activos',\r\n value:'PAV',\r\n otrosValores: ['ASOV'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='PAV') ? true : false)\r\n : false),\r\n nivel:2\r\n },\r\n {\r\n texto:'Parafarmacia',\r\n value:'PPF',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='PPF') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Ingredientes',\r\n value:'ING',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='ING') ? true : false)\r\n : false),\r\n nivel:2\r\n },\r\n {\r\n texto:'Enfermedades',\r\n value:'PAT',\r\n otrosValores: ['PATH','PATV'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'TIPO' && x.valor ==='PAT') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n },\r\n {\r\n idGrupo : 'ESTADO',\r\n nombre : 'Estado',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'IdEstadoAutorizacion',\r\n tipoCampolista: 'codString',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Comercializado',\r\n value:'0',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'ESTADO' && x.valor ==='0') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No comercializado',\r\n value:'3',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'ESTADO' && x.valor ==='3') ? true : false)\r\n : false),\r\n nivel:2\r\n },\r\n {\r\n texto:'Suspendido',\r\n value:'1',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'ESTADO' && x.valor ==='1') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Anulado',\r\n value:'2',\r\n otrosValores: ['4'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'ESTADO' && x.valor ==='2') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n },\r\n {\r\n idGrupo : 'RECETA',\r\n nombre : 'Receta',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'Receta',\r\n tipoCampolista: 'codString',\r\n abierto: false,\r\n valores : [\r\n {\r\n texto:'Con receta',\r\n value:'R',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECETA' && x.valor ==='R') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Sin receta',\r\n value:'MSR',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECETA' && x.valor ==='MSR') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n },\r\n {\r\n idGrupo : 'FINAN',\r\n nombre : 'Financiado en farmacia comunitaria',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'Financiado',\r\n tipoCampolista: 'codString',\r\n abierto: false,\r\n valores : [\r\n {\r\n texto:'Sí',\r\n display: 'Financiado',\r\n value:'S',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'FINAN' && x.valor ==='S') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No',\r\n display: 'No financiado',\r\n value:'N',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'FINAN' && x.valor ==='N') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n },\r\n {\r\n idGrupo : 'PSUM',\r\n nombre : 'Problemas de suministro',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'ProblemaSuministro',\r\n tipoCampolista: 'codString',\r\n abierto: false,\r\n valores : [\r\n {\r\n texto:'Sí',\r\n display: 'Con problemas de suministro',\r\n value:'S',\r\n otrosValores: ['X'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'PSUM' && x.valor ==='S') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No',\r\n display: 'Sin problemas de suministro',\r\n value:'N',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'PSUM' && x.valor ==='N') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n },\r\n ];\r\n\r\n function getPosiblesLaboratorios() {\r\n var listaLaboratorios = [];\r\n var listaitems = props.infoPagina.listaRes;\r\n if (listaitems != null){\r\n for (var i=0; i0){ \r\n var laboratorio = {nombre: listaitems[i].Laboratorio ,id: listaitems[i].IdLaboratorio}\r\n if (! listaLaboratorios.some((element => element.id === laboratorio.id)))\r\n listaLaboratorios.push(laboratorio);\r\n }\r\n }\r\n }\r\n var aux = listaLaboratorios.sort((a, b) => b.nombre < a.nombre ? 1 : -1);\r\n return listaLaboratorios;\r\n };\r\n\r\n\r\n function getPosiblesPaises() {\r\n var listaPaises = [];\r\n var listaitems = props.infoPagina.listaRes;\r\n if (listaitems != null){\r\n for (var i=0; i0){ \r\n var pais = {codigo: listaitems[i].AuxInt ,valor: listaitems[i].AuxStr}\r\n if (! listaPaises.some((element => element.codigo === pais.codigo))){\r\n listaPaises.push(pais);\r\n }\r\n }\r\n }\r\n }\r\n var aux = listaPaises.sort((a, b) => b.valor < a.valor ? 1 : -1);\r\n if (listaPaises.length>0){\r\n listaPaises.splice(0,0,{codigo:-1, valor: \"Seleccione un país\"});\r\n }\r\n return listaPaises;\r\n };\r\n\r\n function getPosiblesEspecies() {\r\n var listaEspecies = [];\r\n var listaitems = props.infoPagina.listaRes;\r\n if (listaitems != null){\r\n for (var i=0; i0){ \r\n if (j element.codigo === especie.codigo))){\r\n listaEspecies.push(especie);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n var aux = listaEspecies.sort((a, b) => b.valor < a.valor ? 1 : -1);\r\n if (listaEspecies.length>0){\r\n listaEspecies.splice(0,0,{codigo:-1, valor: \"Seleccione una especie\"});\r\n }\r\n return listaEspecies;\r\n };\r\n\r\n function getPosiblesPAHomeo() {\r\n var listaEspecies = [];\r\n var listaitems = props.infoPagina.listaRes;\r\n if (listaitems != null){\r\n for (var i=0; i0){ \r\n if (j element.codigo === especie.codigo))){\r\n listaEspecies.push(especie);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n var aux = listaEspecies.sort((a, b) => b.valor < a.valor ? 1 : -1);\r\n if (listaEspecies.length>0){\r\n listaEspecies.splice(0,0,{codigo:-1, valor: \"Indique principio activo\"});\r\n }\r\n return listaEspecies;\r\n };\r\n\r\n function getPosiblesTiposProd() {\r\n var listaFiltro = [];\r\n var listaitems = props.infoPagina.listaRes;\r\n if (listaitems != null){\r\n for (var i=0; i0){ \r\n var itemLista = {codigo: listaitems[i].AuxInt ,valor: listaitems[i].TipoRegistro}\r\n if (! listaFiltro.some((element => element.codigo === itemLista.codigo))){\r\n listaFiltro.push(itemLista);\r\n }\r\n }\r\n }\r\n }\r\n var aux = listaFiltro.sort((a, b) => b.valor < a.valor ? 1 : -1);\r\n if (listaFiltro.length>0){\r\n listaFiltro.splice(0,0,{codigo:-1, valor: \"Indique tipo de producto\"});\r\n }\r\n return listaFiltro;\r\n };\r\n\r\n function anadeSiProcedeTiposPPF(){\r\n var exclusivoPPF = false;\r\n if (infoPagina.codigoPagina.substring(infoPagina.codigoPagina.length - 3)===\"PPF\"){\r\n exclusivoPPF = true;\r\n }\r\n var fTipo = filtros.find(f=>f.idGrupo === \"TIPO\")\r\n if (fTipo || exclusivoPPF){\r\n var fSubtipoIndex = (fTipo ? filtros.findIndex(f=>f.idGrupo === \"TIPO\") : filtros.findIndex(f=>f.idGrupo === \"LABO\")) + 1;\r\n filtroTipoProductoPPF.posibles = filtroTipoProductoPPF.getPosibles();\r\n if (filtroTipoProductoPPF.posibles.length>2){\r\n if (exclusivoPPF || fTipo.valores.find(v=>(v.value === \"PPF\"))){\r\n filtroTipoProductoPPF.oculto = !exclusivoPPF;\r\n filtros.splice(fSubtipoIndex,0,filtroTipoProductoPPF);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const filtroCompos =\r\n {\r\n idGrupo : 'NUMCOMPOS',\r\n nombre : 'Composición',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxStr',\r\n tipoCampolista: 'codString',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Sólo',\r\n value:'S',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NUMCOMPOS' && x.valor ==='S') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'En asociación',\r\n value:'N',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NUMCOMPOS' && x.valor ==='N') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroAnalisis =\r\n {\r\n idGrupo : 'RELACION',\r\n nombre : 'Efecto en el análisis',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'ListaStr',\r\n tipoCampolista: 'array',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Aumento',\r\n value:'1',\r\n otrosValores: ['5','7','8','E','F'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RELACION' && x.valor ==='1') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Disminución',\r\n value:'2',\r\n otrosValores: ['6','7','8','E','F'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RELACION' && x.valor ==='2') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Positivo',\r\n value:'3',\r\n otrosValores: ['B'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RELACION' && x.valor ==='3') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Negativo',\r\n value:'4',\r\n otrosValores: ['C'],\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RELACION' && x.valor ==='4') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroEfectoFG =\r\n {\r\n idGrupo : 'EFECTOFG',\r\n nombre : 'Efecto farmacológico',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'ListaAux1',\r\n tipoCampolista: 'array',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Respuesta terapéutica favorable',\r\n value: 1,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===1) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Respuesta terapéutica desfavorable',\r\n value:2,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===2) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Mayor riesgo de reacciones adversas',\r\n value:3,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===3) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Mayor riesgo de perdida de eficacia',\r\n value:4,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===4) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Sin efecto farmacológico significativo',\r\n value:5,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===5) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Sin datos concluyentes',\r\n value:6,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'EFECTOFG' && x.valor ===6) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n const filtroRecoFG =\r\n {\r\n idGrupo : 'RECOFG',\r\n nombre : 'Recomendación terapéutica',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'ListaAux2',\r\n tipoCampolista: 'array',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Considerar la administración de otro fármaco',\r\n value: 1,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===1) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Debe realizarse un test genético previo',\r\n value:2,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===2) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Monitorizar al paciente',\r\n value:3,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===3) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No existe información suficiente para una recomendación terapéutica',\r\n value:4,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===4) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Posible necesidad de ajuste posológico con aumento de la dosis',\r\n value:5,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===5) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Posible necesidad de ajuste posológico con disminución de la dosis',\r\n value:6,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===6) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Seleccionar farmaco alternativo',\r\n value:7,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'RECOFG' && x.valor ===7) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n const filtroIntolerancias =\r\n {\r\n idGrupo : 'INTOL',\r\n nombre : 'Intolerancias',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'ListaIntolerancias',\r\n tipoCampolista: 'array',\r\n abierto: false,\r\n relacion: 'notIn',\r\n valores : [\r\n {\r\n texto:'Gluten',\r\n display:'Permitido en pacientes celíacos',\r\n value: 1,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'INTOL' && x.valor ===1) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Lactosa',\r\n display:'Permitido en intolerancia a la lactosa',\r\n value: 2,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'INTOL' && x.valor ===2) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Azúcares y polialcoholes',\r\n display:'Permitido en intolerancia a azúcares y polialcoholes',\r\n value: 3,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'INTOL' && x.valor ===3) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Etanol',\r\n display:'Permitido en intolerancia al etanol',\r\n value: 4,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'INTOL' && x.valor ===4) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Aceite de cacahuete o soja',\r\n display:'Permitido en intolerancia al aceite de cacahuete o soja',\r\n value: 5,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'INTOL' && x.valor ===5) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n const filtroDeduccionesRDL =\r\n {\r\n idGrupo : 'DEDUCCION',\r\n nombre : 'Tipo de deducción',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'AuxInt',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'4 %',\r\n display: 'Deducción del 4 %',\r\n value: 888,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'DEDUCCION' && x.valor ===888) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'7,5 %',\r\n display: 'Deducción del 7,5 %',\r\n value: 936,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'DEDUCCION' && x.valor ===936) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'15 %',\r\n display: 'Deducción del 15 %',\r\n value: 889,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'DEDUCCION' && x.valor ===889) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroHuerfano = {\r\n idGrupo : 'HUER',\r\n nombre : 'Huérfano',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxStr2',\r\n tipoCampolista: 'codString',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Sí',\r\n display: 'Huérfano',\r\n value:'SHUER',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'HUER' && x.valor ==='SHUER') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'No',\r\n display: 'No huérfano',\r\n value:'NHUER',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'HUER' && x.valor ==='NHUER') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtroNoSustituible =\r\n {\r\n idGrupo : 'NOSUST',\r\n nombre : 'Causa',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'AuxInt',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Biológico',\r\n value: 2175,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NOSUST' && x.valor ===2175) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Inhalatorio',\r\n value: 2178,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NOSUST' && x.valor ===2178) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Estrecho margen terapéutico',\r\n value: 2176,\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'NOSUST' && x.valor ===2176) ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n\r\n const filtroComparaPrecios = {\r\n idGrupo : 'COMPPRE',\r\n nombre : 'Comparación precios',\r\n tipo: 'Check',\r\n excluyente : true,\r\n campolista: 'AuxDbl',\r\n tipoCampolista: 'float',\r\n abierto: true,\r\n relacion: 'comparacion',\r\n valores : [\r\n {\r\n texto:'Ajustado a precio menor',\r\n display: 'Ajustado a precio menor',\r\n value: infoPagina.pvpMenor,\r\n idValor:'APM',\r\n comparacion: '<=',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'COMPPRE' && x.valor ==='APM') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Supera precio menor',\r\n display: 'Precio mayor que precio menor',\r\n value: infoPagina.pvpMenor,\r\n idValor:'SPM',\r\n comparacion: '>',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'COMPPRE' && x.valor ==='SPM') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Ajustado a precio más bajo',\r\n display: 'Ajustado a precio más bajo',\r\n value:infoPagina.pvpMasBajo,\r\n idValor:'APMB',\r\n comparacion: '<=',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'COMPPRE' && x.valor ==='APMB') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n {\r\n texto:'Supera precio más bajo',\r\n display: 'Supera precio más bajo',\r\n value:infoPagina.pvpMasBajo,\r\n idValor:'SPMB',\r\n comparacion: '>',\r\n activo: (infoPagina.filtrosActivos ? \r\n (infoPagina.filtrosActivos.find(x => x.nombre === 'COMPPRE' && x.valor ==='SPMB') ? true : false)\r\n : false),\r\n nivel:1\r\n },\r\n ]\r\n }\r\n\r\n const filtros = filtrosStandard\r\n\r\n switch (infoPagina.codigoPagina){\r\n case 'BInicio':\r\n case 'BHistorialUsuario':\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case 'BLaboratorioMUH':\r\n case 'BLaboratorioMHO':\r\n //Sólo productos de un laboratorio \r\n filtros.splice(0,2,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case 'BLaboratorioPPF':\r\n //Sólo productos de un laboratorio. Quitamos PS\r\n filtros.splice(0,2,filtroNombre);\r\n filtros.splice(4,1);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case 'BLaboratorioMUV':\r\n //Sólo productos de un laboratorio. Quitamos financiado y PS \r\n filtros.splice(0,2,filtroNombre);\r\n filtros.splice(3,2);\r\n break;\r\n case \"BFormaFarmaMUH\":\r\n case \"BGTVMPPMUH\": \r\n case \"BComposicionMUH\": \r\n case \"BAvanzadaMUH\":\r\n case \"BMedEspanolesMUH\": \r\n case \"BComparaPrecioMenorMUH\":\r\n case \"BComparaPrecioMasBajoMUH\":\r\n case \"BPrecioNotificadoMUH\":\r\n case \"BSeguimientoAdicionalMUH\": \r\n case \"BDispositivoSeguridadMUH\": \r\n //case \"BCambioPrecioPrevistoMUH\":\r\n case \"BDesfinanciadosMUH\":\r\n case \"BFormaColorMUH\":\r\n case 'BLaboratoriosMUH':\r\n case \"BFormasFarmaMUH\":\r\n //Sólo medicamentos (H o V pero sólo 1)\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BNoSustituiblesMUH\":\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(2,0,filtroNoSustituible);\r\n filtros[3].abierto=false;\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BDeduccionesRDLMUH\":\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(2,0,filtroDeduccionesRDL);\r\n filtros.splice(3,0,filtroHuerfano);\r\n filtros[1].abierto=false;\r\n filtros[4].abierto=false;\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n\r\n case \"BNotificacionESVACMUV\":\r\n filtros[1].valores.splice(3,4);\r\n filtros[1].valores.splice(1,1);\r\n filtros.splice(4,2);\r\n filtros.splice(0,0,filtroNombre)\r\n break;\r\n case \"BComposicionMUV\": \r\n case \"BFormaFarmaMUV\":\r\n case \"BEspecieIndicacionMUV\": \r\n case \"BAvanzadaMUV\": \r\n case \"BAlertasCMUV\": \r\n case 'BLaboratoriosMUV':\r\n case \"BFormasFarmaMUV\":\r\n //Sólo medicamentos Sin financiados ni PS. Con receta\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre)\r\n filtros.splice(4,2);\r\n break;\r\n case \"BProblemasSumMUH\":\r\n case \"BAlertasCMUH\": \r\n //Sólo medicamentos. Sin financiado/PS/Receta\r\n filtros.splice(3,3);\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre)\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BAgrupHomoAutoMUH\":\r\n case \"BAgrupHomoMUH\":\r\n //Sólo medicamentos. No filtro financiado\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre)\r\n filtros.splice(4,1);\r\n filtros.splice(2,0,filtroComparaPrecios);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BPAMUH\":\r\n case \"BAsoMUH\":\r\n //Sólo medicamentos (H o V pero sólo 1) pero añade filtro sólo/asociación\r\n filtros.splice(1,1,filtroCompos);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BPAMUV\":\r\n case \"BAsoMUV\":\r\n //Sólo medicamentos (H o V pero sólo 1) pero añade filtro sólo/asociación\r\n filtros.splice(1,1,filtroCompos);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(5,2);\r\n break;\r\n //case \"BAgrupHomoAutoPPF\":\r\n //case \"BAgrupHomoPPF\":\r\n case \"BFormaFarmaPPF\":\r\n case \"BIngPPF\":\r\n case \"BTipoPPF\":\r\n case \"BSubtipoPPF\":\r\n case \"BGTConPPF\": \r\n case \"BSaborEdadPPF\": \r\n case \"BComposicionPPF\": \r\n case \"BAvanzadaPPF\": \r\n case \"BAlertasCPPF\":\r\n case 'BLaboratoriosPPF':\r\n case \"BFormasFarmaPPF\":\r\n //Sólo productos de PF\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(5,1);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BAgrupHomoAutoPPF\":\r\n case \"BAgrupHomoPPF\":\r\n case \"BGTSanPPF\": \r\n //Sólo productos de PF. Quita filtro financiado\r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(4,2);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BAFMUH\":\r\n case \"BAMMUH\":\r\n case \"BActPPF\":\r\n case \"BAFMUV\":\r\n case \"BAFsMUH\":\r\n case \"BAMsMUH\":\r\n case \"BActsPPF\":\r\n case \"BAFsMUV\":\r\n case \"BAvanzadaPAH\":\r\n //Sólo PA\r\n filtros.splice(0,2,filtroNombre);\r\n filtros.splice(2,3);\r\n break;\r\n case \"BAnalisisMUH\":\r\n //Medicamentos, PA y Enfermedades de H. Añade la relación\r\n filtros[1].valores.splice(2,5);\r\n filtros.splice(1,0,filtroAnalisis);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BIndicacionMUH\":\r\n case \"BContraindicacionMUH\":\r\n case \"BPrecaucionMUH\":\r\n case \"BReaccionAdversaMUH\":\r\n case \"BGTATCMUH\":\r\n case \"BGTsATCMUH\":\r\n case \"BReaccionesAdversasMUH\": \r\n case \"BPacienteIndicacionMUH\": \r\n //Medicamentos y PA de H\r\n filtros[1].valores.splice(2,5);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BFarmacogeneticaMUH\":\r\n //Medicamentos y PA de H. Añade filtros de farmacogenética\r\n filtros[1].valores.splice(2,5);\r\n filtros.splice(1,0,filtroEfectoFG);\r\n filtros.splice(2,0,filtroRecoFG);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros[0].abierto=false;\r\n filtros[1].abierto=false;\r\n filtros[4].abierto=false;\r\n filtros[5].abierto=false;\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BDopantesMUH\": \r\n //Medicamentos y PA de H\r\n filtros[1].valores.splice(4,3);\r\n filtros[1].valores.splice(2,2);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BGTATCMUV\":\r\n case \"BGTsATCMUV\":\r\n //Medicamentos y PA de V\r\n filtros[1].valores.splice(4,3);\r\n filtros[1].valores.splice(0,2);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(5,2);\r\n break;\r\n case \"BIndicacionMUV\":\r\n //Medicamentos y PA de V\r\n filtros[1].valores.splice(4,3);\r\n filtros[1].valores.splice(0,2);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(5,2);\r\n filtros.splice(2,0,filtroEspecies);\r\n break;\r\n case \"BFormMagistralMUH\":\r\n filtros.splice(0,3,filtroNombre);\r\n filtros[2].valores.push(valorFiltroFinanciadoSegun);\r\n filtros[2].excluyente = false;\r\n filtros.splice(3,1,filtroAportacionFM);\r\n filtros.splice(4,0,filtroVisadoFM);\r\n filtros.splice(1,0,filtroTipoFM);\r\n break;\r\n case \"BMedsHomeoMUH\":\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(2,1,filtroPAHomeo);\r\n filtros.splice(4,3);\r\n break;\r\n case \"BExtranjerosEXT\":\r\n filtros.splice(0,6,filtroNombre);\r\n filtros.push(filtroPaises);\r\n break;\r\n case \"BConGluten\":\r\n case \"BConLactosa\":\r\n case \"BSinGluten\":\r\n case \"BSinLactosa\":\r\n case \"BCambioPrecioMUH\":\r\n case \"BCambioPrecioPrevistoMUH\": \r\n case \"BNoLentes\":\r\n //Medicamentos de humana o parafarmacia\r\n filtros[1].valores.splice(5,2);\r\n filtros[1].valores.splice(1,3);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BLibroRecetarioM\":\r\n case \"BLibroEstupefacientesM\":\r\n //Medicamentos de humana y veterinarios\r\n filtros[1].valores.splice(3,4);\r\n filtros[1].valores.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BCambioNombre\":\r\n case \"BCambioLaboratorio\":\r\n //Medicamentos de humana, Medicamentos de veterinaría o parafarmacia\r\n filtros[1].valores.splice(5,2);\r\n filtros[1].valores.splice(3,1);\r\n filtros[1].valores.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BFechaAlta\":\r\n case \"BNovedadesUltimoMes\":\r\n //Medicamentos de humana, Medicamentos de veterinaría o parafarmacia\r\n filtros[1].valores.splice(5,2);\r\n filtros[1].valores.splice(3,1);\r\n filtros[1].valores.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n filtros.splice(0,0,filtroCodigo);\r\n filtros.push(filtroIntolerancias);\r\n break;\r\n case \"BEnfermedadesPATH\":\r\n case \"BEnfermedadesPATV\":\r\n filtros.splice(0,6,filtroNombre);\r\n break;\r\n case \"BDocumentos\":\r\n filtros.splice(0,6,filtroTitulo);\r\n break;\r\n case \"BAlertadosCismedMUH\":\r\n filtros.splice(3,0,filtroCisMEDEstado);\r\n filtros.splice(3,0,filtroCisMEDFecha); \r\n filtros.splice(1,1);\r\n filtros.splice(0,0,filtroNombre);\r\n break;\r\n }\r\n\r\n if (PerfilUsuario() == \"EST\" || PerfilUsuario() == \"INS\"){\r\n var idx = filtros.findIndex(item => item.idGrupo === \"RECETA\");\r\n if (idx>=0)\r\n filtros.splice(idx,1);\r\n idx = filtros.findIndex(item => item.idGrupo === \"FINAN\");\r\n if (idx>=0)\r\n filtros.splice(idx,1);\r\n idx = filtros.findIndex(item => item.idGrupo === \"PSUM\");\r\n if (idx>=0)\r\n filtros.splice(idx,1);\r\n }\r\n\r\n\r\n if ((props.infoPagina.listaRes != null) && (filtros != null))\r\n {\r\n for (var i=0; i \r\n \r\n {(infoPagina.codigoPagina===\"BInteraccionesMUH\" || infoPagina.codigoPagina===\"BInteraccionesPPF\") ?\r\n \r\n :\r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nexport default SeccionResultados;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Ayuda from \"./Ayuda/Ayuda\";\r\nimport Configuracion from \"./Configuarcion/Configuracion\";\r\nimport EditaBuscadores from \"./Configuarcion/EditaBuscadores\";\r\nimport Exporta from \"./Exporta/Exporta\";\r\nimport Ficha from \"./Fichas/Ficha\";\r\nimport FichaMUH from \"./Fichas/FichaMUH/FichaMUH\";\r\nimport FormularioBusqueda from \"./FomulariosBusqueda/ForumularioBusqueda\";\r\n\r\nimport Inicio from \"./Inicio/Inicio\";\r\nimport SeccionResultados from \"./Resultados/SeccionResultados\";\r\n\r\n\r\nconst Cuerpo = (props) => {\r\n const infoPagina = props.infoPagina;\r\n\r\n useEffect(() => {\r\n }, [])\r\n\r\n switch(infoPagina.tipoPagina){\r\n case \"ResultadosBusqueda\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"Inicio\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"Ayuda\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"Exporta\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"Ficha\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"FormularioBusqueda\":\r\n return (\r\n \r\n );\r\n break;\r\n case \"Conf\":\r\n return (\r\n \r\n \r\n );\r\n break;\r\n case \"EditaBuscadores\":\r\n return (\r\n \r\n );\r\n break;\r\n default:\r\n return (\r\n \r\n );\r\n break;\r\n }\r\n};\r\n\r\nexport default Cuerpo;\r\n","import BP2022Service from \"../services/user.service\";\r\nimport { rootPath } from \"../services/utils\";\r\nimport AuthService from \"../services/auth.service\";\r\nimport packageJson from '../../package.json';\r\nimport { useEffect, useState } from \"react\";\r\nimport Tippy from '@tippyjs/react';\r\nimport 'tippy.js/dist/tippy.css';\r\nimport 'tippy.js/themes/botplustt.css';\r\n\r\nconst Pie = (props) => {\r\n\r\n const hacernada = () => {\r\n };\r\n\r\n const frontVersion = {Version : packageJson.version, Dateversion : packageJson.dateversion, Serial : packageJson.serial};\r\n const [backVersion, setBackVersion] = useState(null);\r\n const urlLicencia = (AuthService.getUserRol()===\"COL\")? rootPath + \"Ayuda/Licencia3.pdf\" : rootPath + \"Ayuda/Licencia.pdf\" \r\n const estiloLinks = {cursor:'pointer', fontSize: '12px'}\r\n const estiloLiRRSSs = {marginRight: '24px'}\r\n const estiloLiMenus = {paddingLeft: '12px', paddingRight: '12px'}\r\n\r\n useEffect(() => {\r\n if (!backVersion)\r\n {\r\n //ConsultaBackVersion();\r\n }\r\n },[]);\r\n\r\n const ConsultaBackVersion = () => {\r\n BP2022Service.getBackVersion()\r\n .then((response) => {\r\n setBackVersion(response.data)\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n })\r\n };\r\n\r\n\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
      \r\n {(props.codigoPagina === \"Inicio\") ?\r\n
    • window.scroll({ top: 0, behavior: 'smooth' })} style={estiloLinks}>BOT PLUS
    • \r\n :\r\n
    • props.cambiaPagina({newpagina: 'Inicio'})} style={estiloLinks}>BOT PLUS
    • \r\n }\r\n
    • props.cambiaPagina({newpagina: 'Ayuda'})} style={{cursor:'pointer'}}>Ayuda
    • \r\n
    • Contacto
    • \r\n
    • Aviso Legal
    • \r\n
    • Política de privacidad
    • \r\n
    • Política de cookies
    • \r\n
    • Licencia de uso
    • \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \"Twitter\"
    • \r\n
    • \"Instagram\"
    • \r\n
    • \"facebook\"
    • \r\n
    • \"YouTube\"
    • \r\n
    • \"LinkedIn\"
    • \r\n
    • \"TikTok\"
    • \r\n
    • \"Telegram\"
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"logoFarmaceuticos\"\r\n
    \r\n
    \r\n

    © 2022 Consejo General de Colegios Oficiales de Farmacéuticos. Todos los derechos reservados

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\t
    \r\n )\r\n};\r\n\r\nexport default Pie\r\n","import { useState } from \"react\";\r\n\r\nconst Licencia = (props) => {\r\n const [checkedAceptar, setCheckedAcpetar] = useState(false);\r\n\r\n const clickAcepta = () =>{\r\n if (checkedAceptar)\r\n props.alAceptar();\r\n }\r\n\r\n const clickCheckAceptar = (valor) =>{\r\n setCheckedAcpetar(valor);\r\n }\r\n\r\n const estiloCheckBox = {\r\n height: '16px',\r\n }\r\n\r\n\r\n return(\r\n
    \r\n

    \r\n Debe de aceptar la licencia de uso de BOT PLUS para poder continuar\r\n

    \r\n

    \r\n Si no puede leer el acuerdo correctamente pulse aquí\r\n

    \r\n \r\n

    \r\n \r\n

    \r\n
    \r\n {(checkedAceptar) ?\r\n \r\n \r\n         \r\n \r\n :\r\n <>\r\n }\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Licencia;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {createBrowserHistory} from 'history';\r\nimport AuthService from \"../services/auth.service\";\r\n \r\n\r\nimport Cabecera from \"./Cabecera/Cabecera\";\r\nimport Cuerpo from \"./Cuerpo\";\r\nimport Pie from \"./Pie\";\r\nimport Licencia from \"./Licencia\";\r\nimport {RemoveClassNameToClassItems, AddClassNameToClassItems, rootPath, deepEqual, getParam, getCurrentURL\r\n , getParamsURL, getPathURL, getIdProvincia, getStringProvincia, fromParmaURLToListaPAsCompos, fromListaPAsComposToParamURL\r\n , fromListaOpsAvanzadaToParamURL, fromParamURLToListaOpsAvanzada, GetFiltrosStr, PerfilUsuario, \r\n elementIsOfClass} from '../services/utils.js'\r\nimport BP2022Service from \"./../services/user.service\";\r\nimport Configuracion from \"./Configuarcion/Configuracion\";\r\nimport Emergente from \"./Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\nimport { validaAccesoPorRol } from \"../services/objsAplicacion\";\r\nimport AccesoRestringido from \"./Configuarcion/AccesoRestringido\";\r\n\r\n\r\nconst Contenido = (props) => {\r\n const [infoPagina, setInfoPagina] = useState({\r\n codigoPagina:'Inicio',\r\n tipoPagina:'Inicio',\r\n listaRes: null,\r\n texto: '',\r\n id:0, \r\n fuerzaTexto : true,\r\n })\r\n const [isTopWindow, setIsTopWindow] = useState(window.pageYOffset === 0);\r\n const [historial, setHistorial] = useState([]);\r\n const [provincia, setProvincia] = useState(props.provincia);\r\n\r\n const history = createBrowserHistory();\r\n\r\n const [refresh, setRefresh] = useState(1);\r\n const [lastVisitedPath, setLastVisitedPath] = useState('');\r\n const [haAceptadoLicencia, setHaAceptadoLicencia] = useState(true);\r\n const [licenciaAAceptar, setLicenciaAAceptar] = useState('');\r\n\r\n const tiempoCheck = 60 * 60 * 1000 \r\n\r\n const [accesoRestringido, setAccesoRestringido] = useState(false);\r\n const [cambiopass, setCambiopass] = useState(props.cambiopass);\r\n const [cambiomail, setCambiomail] = useState(props.cambiomail);\r\n const [confirmamail, setConfirmamail] = useState(props.confirmamail);\r\n\r\n var myTimeout;\r\n\r\n const BorraCambioMailPass = () =>{\r\n setCambiomail(false);\r\n setCambiopass(false);\r\n setConfirmamail(false);\r\n }\r\n\r\n function ChequeaSesion() {\r\n props.checkSesion();\r\n myTimeout = setTimeout(ChequeaSesion, tiempoCheck);\r\n }\r\n\r\n useEffect(() => {\r\n if (myTimeout)\r\n clearTimeout(myTimeout);\r\n myTimeout = setTimeout(ChequeaSesion, tiempoCheck);\r\n construyeInfoPaginaFromPath();\r\n window.removeEventListener('scroll', AlHacerScroll);\r\n window.removeEventListener('popstate', onBackButtonEvent); \r\n window.addEventListener('scroll', AlHacerScroll, { passive: true });\r\n window.addEventListener('popstate', onBackButtonEvent);\r\n RefrescaProvincia(getStringProvincia());\r\n const user = AuthService.getLocalUser();\r\n if (user && user.botPlusUser){\r\n if (!user.botPlusUser.HaAceptadoLicencia){\r\n setLicenciaAAceptar(user.botPlusUser.LicenciaAAceptar);\r\n setHaAceptadoLicencia(false);\r\n window.removeEventListener('scroll', AlHacerScroll);\r\n window.removeEventListener('popstate', onBackButtonEvent); \r\n }\r\n }\r\n return () => {\r\n window.removeEventListener('scroll', AlHacerScroll);\r\n window.removeEventListener('popstate', onBackButtonEvent); \r\n }\r\n }, [refresh]);\r\n\r\n const borraDeLista = (tipo,id) =>{\r\n if (infoPagina.listaRes){\r\n var pos = infoPagina.listaRes.findIndex(item => item.CodTipoRegistro === tipo && item.Id === id);\r\n if (pos>=0){\r\n var infoAux = JSON.parse(JSON.stringify(infoPagina));\r\n infoAux.listaRes.splice(pos,1);\r\n setInfoPagina(infoAux);\r\n }\r\n }\r\n }\r\n\r\n const RefrescaProvincia = (prov) =>{\r\n if (provincia !== prov)\r\n setProvincia(prov);\r\n }\r\n\r\n const ClickAceptaLicencia = () =>{\r\n AuthService.aceptaLicencia();\r\n const user = AuthService.getLocalUser();\r\n if (user && user.botPlusUser){\r\n user.botPlusUser.HaAceptadoLicencia = true;\r\n localStorage.setItem(\"login\", JSON.stringify(user));\r\n }\r\n setHaAceptadoLicencia(true);\r\n }\r\n\r\n const DescargaHistorial = () => {\r\n BP2022Service.getHistorial(8)\r\n .then((response) => {\r\n setHistorial(response.data.Resultados);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n\r\n const ParseaFiltros = (strFiltros) => {\r\n var arrayFiltros = strFiltros.split('|');\r\n var res =[];\r\n for (var j=0; j {\r\n var rol = PerfilUsuario();\r\n var res = validaAccesoPorRol(pagina, rol);\r\n //var res = true;\r\n /*if (rol === \"COL\"){\r\n if (paginasRestringidas.includes(pagina)){\r\n res = false;\r\n }\r\n }else if (rol === \"EST\"){\r\n if (paginasRestringidasEST.includes(pagina)){\r\n res = false;\r\n }\r\n }*/\r\n return res;\r\n }\r\n\r\n \r\n const construyeInfoPaginaFromPath = () => {\r\n var newInfoPagina = {\r\n codigoPagina:'Inicio',\r\n tipoPagina:'Inicio',\r\n listaRes: null,\r\n texto: '',\r\n fuerzaTexto : false,\r\n };\r\n var ruta = getCurrentURL();\r\n if (ruta.length>=rootPath.length)\r\n ruta = ruta.substring(rootPath.length);\r\n //console.log(ruta);\r\n if (ruta.length>0){\r\n var params = getParamsURL(ruta);\r\n ruta = getPathURL(ruta);\r\n var partes = ruta.split('/');\r\n if (accesoRestringido !== validaAcceso(partes[0]))\r\n setAccesoRestringido(validaAcceso(partes[0]));\r\n switch (partes[0].toLowerCase()){\r\n case \"ayuda\":\r\n case \"help\":\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'Ayuda',\r\n }\r\n break;\r\n case \"exportaws\":\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'Exporta',\r\n }\r\n break;\r\n case \"fichamuh\":\r\n case \"fichamuv\":\r\n case \"fichafm\":\r\n case \"fichappf\":\r\n case \"fichapah\":\r\n case \"fichapav\":\r\n case \"fichaaso\":\r\n case \"fichaasoh\":\r\n case \"fichaasov\":\r\n case \"fichaing\":\r\n case \"fichamho\": \r\n case \"fichapho\": \r\n case \"fichapat\":\r\n case \"fichapath\":\r\n case \"fichapatv\":\r\n case \"fichaext\":\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'Ficha',\r\n listaRes: null,\r\n texto: '',\r\n id: parseInt(partes[1]), \r\n fuerzaTexto : false,\r\n }\r\n break;\r\n case \"fbagruphomoautomuh\":\r\n case \"fbagruphomomuh\":\r\n case \"fbagruphomoautoppf\":\r\n case \"fbagruphomoppf\":\r\n case \"fbfarmacogeneticamuh\":\r\n case \"fbanalisismuh\":\r\n var id = getParam(params,'id');\r\n if (!id)\r\n id = 0;\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n id: id,\r\n }\r\n break;\r\n case \"fblaboratoriomuv\":\r\n case \"fblaboratorioppf\":\r\n case \"fblaboratoriomuh\":\r\n case \"fbformafarmamuh\":\r\n case \"fbformafarmamuv\":\r\n case \"fbformafarmappf\":\r\n case \"fbafmuh\":\r\n case \"fbammuh\":\r\n case \"fbactppf\":\r\n case \"fbafmuv\":\r\n var auxIds = getParam(params,'seleccionados');\r\n var seleccionados = (auxIds!=='') ? auxIds.split(',') : [];\r\n seleccionados = (seleccionados) && (seleccionados.length>0) ? seleccionados.map(id=> parseInt(id)) : []; \r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n seleccionados: seleccionados,\r\n }\r\n break;\r\n case \"fbsaboredadppf\":\r\n case \"bsaboredadppf\":\r\n var idDieto = getParam(params,'idDieto');\r\n var auxIdsSabores = getParam(params,'idsSabores');\r\n var idsSabores = (auxIdsSabores!=='') ? auxIdsSabores.split(',') : [];\r\n var edad = getParam(params, 'edad');\r\n var undEdad = getParam(params, 'undEdad');\r\n var saborSolo = getParam(params, 'saborSolo');\r\n idDieto = (idDieto) ? idDieto : '';\r\n idsSabores = (idsSabores) && (idsSabores.length>0) ? idsSabores.map(id=> parseInt(id)) : [];\r\n edad = (edad) ? parseInt(edad) : null;\r\n undEdad = (undEdad) ? undEdad : '';\r\n saborSolo = (saborSolo==='S');\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idDieto: idDieto,\r\n idsSabores: idsSabores,\r\n edad: edad,\r\n undEdad: undEdad,\r\n saborSolo: saborSolo,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbespecieindicacionmuv\":\r\n case \"bespecieindicacionmuv\":\r\n var idEspecie = getParam(params,'idEspecie');\r\n var idEnf = getParam(params,'idEnf');\r\n idEspecie = (idEspecie) ? parseInt(idEspecie) : 0;\r\n idEnf = (idEnf) ? parseInt(idEnf) : 0;\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idEspecie: idEspecie,\r\n idEnf: idEnf,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbproblemassummuh\":\r\n case \"bproblemassummuh\":\r\n var txt = getParam(params,'med');\r\n var idLab = getParam(params,'idLab');\r\n var idPA = getParam(params,'idPA');\r\n var noSust = getParam(params, 'noSust');\r\n var medExt = getParam(params, 'medExt');\r\n var iniciod = getParam(params, 'iniciod');\r\n var inicioh = getParam(params, 'inicioh');\r\n var find = getParam(params, 'find');\r\n var finh = getParam(params, 'finh');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n idLab = (idLab) ? parseInt(idLab) : 0;\r\n idPA = (idPA) ? parseInt(idPA) : 0;\r\n noSust = (noSust==='S');\r\n medExt = (medExt==='S');\r\n iniciod = (iniciod) ? new Date(parseInt(iniciod)*1000) : null;\r\n inicioh = (inicioh) ? new Date(parseInt(inicioh)*1000) : null;\r\n find = (find) ? new Date(parseInt(find)*1000) : null;\r\n finh = (finh) ? new Date(parseInt(finh)*1000) : null;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n idLab: idLab,\r\n idPA: idPA,\r\n noSust: noSust,\r\n medExt: medExt,\r\n iniciod: iniciod,\r\n inicioh: inicioh,\r\n find: find,\r\n finh: finh,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbalertascmuh\":\r\n case \"balertascmuh\":\r\n case \"fbalertascmuv\":\r\n case \"balertascmuv\":\r\n case \"fbalertascppf\":\r\n case \"balertascppf\":\r\n var txt = getParam(params,'med');\r\n var txtLote = getParam(params,'txtLote');\r\n var idLab = getParam(params,'idLab');\r\n var idPA = getParam(params,'idPA');\r\n var inicio = getParam(params, 'inicio');\r\n var fin = getParam(params, 'fin');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n txtLote = (txtLote) ? decodeURI(txtLote) : '';\r\n idLab = (idLab) ? parseInt(idLab) : 0;\r\n idPA = (idPA) ? parseInt(idPA) : 0;\r\n inicio = (inicio) ? new Date(parseInt(inicio)*1000) : null;\r\n fin = (fin) ? new Date(parseInt(fin)*1000) : null;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n txtLote: txtLote,\r\n idLab: idLab,\r\n idPA: idPA,\r\n inicio: inicio,\r\n fin: fin,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbcambionombre\":\r\n case \"bcambionombre\":\r\n case \"fbcambiolaboratorio\":\r\n case \"bcambiolaboratorio\":\r\n case \"fbcambiopreciomuh\":\r\n case \"bcambiopreciomuh\":\r\n case \"fbdesfinanciadosmuh\":\r\n case \"bdesfinanciadosmuh\":\r\n case \"fbfechaalta\":\r\n case \"bfechaalta\":\r\n case \"bnovedadesultimomes\":\r\n case \"bmedicamentospsultimomes\":\r\n case \"bhistorialusuario\":\r\n var inicio = getParam(params, 'inicio');\r\n var fin = getParam(params, 'fin');\r\n inicio = (inicio) ? new Date(parseInt(inicio)*1000) : null;\r\n fin = (fin) ? new Date(parseInt(fin)*1000) : null;\r\n if (partes[0].toLowerCase() === \"bnovedadesultimomes\"){\r\n inicio = new Date();\r\n inicio.setMonth(inicio.getMonth() - 1);\r\n fin = null;\r\n }\r\n if (partes[0].toLowerCase() === \"bmedicamentospsultimomes\"){\r\n inicio = new Date();\r\n inicio.setMonth(inicio.getMonth() - 1);\r\n fin = null;\r\n }\r\n\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n inicio: inicio,\r\n fin: fin,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : (partes[0].toLowerCase() === \"bhistorialusuario\") ? 6 : 0;\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbextranjerosext\":\r\n case \"bextranjerosext\":\r\n var id = getParam(params,'id');\r\n id = (id) ? parseInt(id) : 0;\r\n var txt = getParam(params,'med');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n var idPais = getParam(params,'idPais');\r\n idPais = (idPais) ? parseInt(idPais) : 0;\r\n var auxPas = getParam(params,'pas');\r\n var pas= (auxPas!=='') ? auxPas.split(',') : [];\r\n pas = (pas) && (pas.length>0) ? pas.map(id=> parseInt(id)) : []; \r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : true );\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n id:id,\r\n txt: txt,\r\n idPais: idPais,\r\n solo: solo,\r\n pas: pas,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbreaccionesadversasmuh\":\r\n case \"breaccionesadversasmuh\":\r\n var idEpi = getParam(params,'idEpi');\r\n var auxIdsEnfs = getParam(params,'idsEnfs');\r\n var idsEnfs = (auxIdsEnfs!=='') ? auxIdsEnfs.split(',') : [];\r\n var auxIdsMeds = getParam(params,'idsMeds');\r\n var idsMeds = (auxIdsMeds!=='') ? auxIdsMeds.split(',') : [];\r\n idEpi = (idEpi) ? parseInt(idEpi) : 0;\r\n idsEnfs = (idsEnfs) && (idsEnfs.length>0) ? idsEnfs.map(id=> parseInt(id)) : [];\r\n idsMeds = (idsMeds) && (idsMeds.length>0) ? idsMeds.map(id=> parseInt(id)) : [];\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idEpi: idEpi,\r\n idsEnfs: idsEnfs,\r\n idsMeds: idsMeds,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n case \"fbcomposicionmuh\":\r\n case \"bcomposicionmuh\":\r\n case \"fbcomposicionmuv\":\r\n case \"bcomposicionmuv\":\r\n case \"fbcomposicionppf\":\r\n case \"bcomposicionppf\": \r\n var tipo = partes[0].substring(partes[0].length-1).toUpperCase(); \r\n var tipoProd = getParam(params,'tipoProd');\r\n tipoProd = (tipoProd ? parseInt(tipoProd) : 1);\r\n var auxPAs = getParam(params,'pas');\r\n var pas = fromParmaURLToListaPAsCompos(auxPAs);\r\n pas = (pas && pas.length>0 ? pas : [] );\r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : (tipo === \"F\") ? false : true );\r\n var idVia = getParam(params, 'idVia');\r\n idVia = (idVia ? parseInt(idVia) : 0);\r\n var idFF = getParam(params, 'idFF');\r\n idFF = (idFF ? parseInt(idFF) : 0);\r\n var uds = getParam(params, 'uds');\r\n uds = (uds ? parseInt(uds) : 0);\r\n var pv = getParam(params, 'pv');\r\n pv = (pv ? parseFloat(pv) : 0.0);\r\n var auxInts = getParam(params,'ints');\r\n var ints = (auxInts!=='') ? auxInts.split(',') : [];\r\n ints = (ints) && (ints.length>0) ? ints.map(id=> parseInt(id)) : []; \r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n tipoProd: tipoProd,\r\n pas: pas,\r\n solo: solo,\r\n idVia: idVia,\r\n idFF: idFF,\r\n uds: uds,\r\n pv: pv,\r\n ints: ints\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbpacienteindicacionmuh\":\r\n case \"bpacienteindicacionmuh\":\r\n var idEnf = getParam(params,'idEnf');\r\n idEnf = (idEnf) ? parseInt(idEnf) : 0;\r\n var auxIdsPat = getParam(params,'idsPat');\r\n var idsPat = (auxIdsPat!=='') ? auxIdsPat.split(',') : [];\r\n idsPat = (idsPat) && (idsPat.length>0) ? idsPat.map(id=> parseInt(id)) : []; \r\n var auxIdsMed = getParam(params,'idsMed');\r\n var idsMed = (auxIdsMed!=='') ? auxIdsMed.split(',') : [];\r\n idsMed = (idsMed) && (idsMed.length>0) ? idsMed.map(id=> parseInt(id)) : []; \r\n var idVia = getParam(params, 'idVia');\r\n idVia = (idVia ? parseInt(idVia) : 0);\r\n var idFF = getParam(params, 'idFF');\r\n idFF = (idFF ? parseInt(idFF) : 0);\r\n var edad = getParam(params, 'edad');\r\n var undEdad = getParam(params, 'undEdad');\r\n edad = (edad) ? parseInt(edad) : null;\r\n undEdad = (undEdad) ? undEdad : '';\r\n var auxInts = getParam(params,'ints');\r\n var ints = (auxInts!=='') ? auxInts.split(',') : [];\r\n ints = (ints) && (ints.length>0) ? ints.map(id=> parseInt(id)) : []; \r\n var auxIdsAlg = getParam(params,'idsAlg');\r\n var idsAlg = (auxIdsAlg!=='') ? auxIdsAlg.split(',') : [];\r\n idsAlg = (idsAlg) && (idsAlg.length>0) ? idsAlg.map(id=> parseInt(id)) : []; \r\n var auxOps = getParam(params,'ops');\r\n var ops = fromParamURLToListaOpsAvanzada(auxOps);\r\n ops = (ops) && (ops.length>0) ? ops : [];\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idEnf: idEnf,\r\n idsPat: idsPat,\r\n idsMed: idsMed,\r\n idVia: idVia,\r\n idFF: idFF,\r\n edad: edad,\r\n undEdad: undEdad,\r\n ints: ints,\r\n idsAlg: idsAlg,\r\n ops: ops,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n case \"fbproductosindicacionppf\":\r\n case \"bproductosindicacionppf\":\r\n var idEnf = getParam(params,'idEnf');\r\n idEnf = (idEnf) ? parseInt(idEnf) : 0;\r\n var idFF = getParam(params, 'idFF');\r\n idFF = (idFF ? parseInt(idFF) : 0);\r\n var auxPAs = getParam(params,'pas');\r\n var pas = fromParmaURLToListaPAsCompos(auxPAs);\r\n pas = (pas && pas.length>0 ? pas : [] );\r\n var auxInts = getParam(params,'ints');\r\n var ints = (auxInts!=='') ? auxInts.split(',') : [];\r\n ints = (ints) && (ints.length>0) ? ints.map(id=> parseInt(id)) : []; \r\n var auxOps = getParam(params,'ops');\r\n var ops = fromParamURLToListaOpsAvanzada(auxOps);\r\n ops = (ops) && (ops.length>0) ? ops : [];\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idEnf: idEnf,\r\n idFF: idFF,\r\n pas: pas,\r\n ints: ints,\r\n ops: ops,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n\r\n case \"fbformacolormuh\":\r\n case \"bformacolormuh\":\r\n var tipoFF = getParam(params,'tipoFF');\r\n tipoFF = (tipoFF) ? tipoFF : 'CO';\r\n var idEnf = getParam(params,'idEnf');\r\n idEnf = (idEnf) ? parseInt(idEnf) : 0;\r\n var idForma = getParam(params, 'idForma');\r\n idForma = (idForma ? parseInt(idForma) : 0);\r\n var idColor1 = getParam(params, 'idColor1');\r\n idColor1 = (idColor1 ? idColor1 : '');\r\n var idColor2 = getParam(params, 'idColor2');\r\n idColor2 = (idColor2 ? idColor2 : '');\r\n var idSabor = getParam(params, 'idSabor');\r\n idSabor = (idSabor ? parseInt(idSabor) : 0);\r\n var CO1 = getParam(params, 'CO1');\r\n CO1 = (CO1 ? CO1 : '');\r\n var CO2 = getParam(params, 'CO2');\r\n CO2 = (CO2 ? CO2 : '');\r\n var auxTamanos = getParam(params,'tamanos');\r\n var tamanos = (auxTamanos!=='') ? auxTamanos.split(',') : [];\r\n var ranura = getParam(params,'ranura');\r\n ranura = (ranura === \"S\" ? true : false);\r\n var logo = getParam(params,'logo');\r\n logo = (logo === \"S\" ? true : false)\r\n var difCol = getParam(params,'difCol');\r\n difCol = (difCol === \"S\" ? true : false)\r\n var anycol = getParam(params,'anycol');\r\n anycol = (anycol === \"S\" ? true : false)\r\n var col2 = getParam(params,'col2');\r\n col2 = (col2 === \"S\" ? true : false)\r\n var ins1 = getParam(params,'ins1');\r\n ins1 = (ins1) ? ins1 : '';\r\n var ins2 = getParam(params,'ins2');\r\n ins2 = (ins2) ? ins2 : '';\r\n var auxPAs = getParam(params,'pas');\r\n var pas = fromParmaURLToListaPAsCompos(auxPAs);\r\n pas = (pas && pas.length>0 ? pas : [] );\r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : true );\r\n\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n tipoFF: tipoFF,\r\n idForma: idForma,\r\n idColor1: idColor1,\r\n idColor2: idColor2,\r\n idSabor: idSabor,\r\n CO1: CO1,\r\n CO2: CO2,\r\n tamanos: tamanos,\r\n ranura: ranura,\r\n difCol: difCol,\r\n anycol: anycol,\r\n col2: col2,\r\n logo: logo,\r\n ins1: ins1,\r\n ins2: ins2,\r\n idEnf: idEnf,\r\n pas: pas,\r\n solo: solo\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n\r\n case \"fbavanzadamuh\":\r\n case \"bavanzadamuh\":\r\n var txt = getParam(params,'med');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n /*var idLab = getParam(params,'idLab');\r\n idLab = (idLab) ? parseInt(idLab) : 0;\r\n var idGT = getParam(params,'idGT');\r\n idGT = (idGT) ? idGT : \"\";*/\r\n var auxIdsLab = getParam(params,'idsLab');\r\n var idsLab = (auxIdsLab!=='') ? auxIdsLab.split(',') : [];\r\n idsLab = (idsLab) && (idsLab.length>0) ? idsLab.map(id=> parseInt(id)) : []; \r\n var auxIdsGT = getParam(params,'idsGT');\r\n var idsGT = (auxIdsGT!=='') ? auxIdsGT.split(',') : [];\r\n idsGT = (idsGT) && (idsGT.length>0) ? idsGT.map(id=> id) : []; \r\n\r\n var auxPAs = getParam(params,'pas');\r\n var pas = fromParmaURLToListaPAsCompos(auxPAs);\r\n pas = (pas && pas.length>0 ? pas : [] );\r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : (tipo === \"F\") ? false : true );\r\n var idVia = getParam(params, 'idVia');\r\n idVia = (idVia ? parseInt(idVia) : 0);\r\n var idFF = getParam(params, 'idFF');\r\n idFF = (idFF ? parseInt(idFF) : 0);\r\n var uds = getParam(params, 'uds');\r\n uds = (uds ? parseInt(uds) : 0);\r\n var emr = getParam(params, 'emr');\r\n emr = (emr ? parseInt(emr) : 0);\r\n var edad = getParam(params, 'edad');\r\n var undEdad = getParam(params, 'undEdad');\r\n edad = (edad) ? parseInt(edad) : null;\r\n undEdad = (undEdad) ? undEdad : '';\r\n var auxInts = getParam(params,'ints');\r\n var ints = (auxInts!=='') ? auxInts.split(',') : [];\r\n ints = (ints) && (ints.length>0) ? ints.map(id=> parseInt(id)) : []; \r\n var listaEnfs = getParam(params,'enfsRel');\r\n var enfsRelAux = (listaEnfs!=='') ? listaEnfs.split(',') : [];\r\n var enfsRel = [];\r\n for (var i=0; i0) ? enfsRel : [];\r\n var listaAnas = getParam(params,'anasRel');\r\n var anasRelAux = (listaAnas!=='') ? listaAnas.split(',') : [];\r\n var anasRel = [];\r\n for (var i=0; i0) ? anasRel : [];\r\n var auxOps = getParam(params,'ops');\r\n var ops = fromParamURLToListaOpsAvanzada(auxOps);\r\n ops = (ops) && (ops.length>0) ? ops : [];\r\n var fechaAutoIni = getParam(params, 'fechaAutoIni');\r\n fechaAutoIni = (fechaAutoIni) ? new Date(parseInt(fechaAutoIni)*1000) : null;\r\n var fechaAutoFin = getParam(params, 'fechaAutoFin');\r\n fechaAutoFin = (fechaAutoFin) ? new Date(parseInt(fechaAutoFin)*1000) : null;\r\n var fechaInSNSIni = getParam(params, 'fechaInSNSIni');\r\n fechaInSNSIni = (fechaInSNSIni) ? new Date(parseInt(fechaInSNSIni)*1000) : null;\r\n var fechaInSNSFin = getParam(params, 'fechaInSNSFin');\r\n fechaInSNSFin = (fechaInSNSFin) ? new Date(parseInt(fechaInSNSFin)*1000) : null;\r\n var fechaExSNSIni = getParam(params, 'fechaExSNSIni');\r\n fechaExSNSIni = (fechaExSNSIni) ? new Date(parseInt(fechaExSNSIni)*1000) : null;\r\n var fechaExSNSFin = getParam(params, 'fechaExSNSFin');\r\n fechaExSNSFin = (fechaExSNSFin) ? new Date(parseInt(fechaExSNSFin)*1000) : null;\r\n var fechaExFIIni = getParam(params, 'fechaExFIIni');\r\n fechaExFIIni = (fechaExFIIni) ? new Date(parseInt(fechaExFIIni)*1000) : null;\r\n var fechaExFIFin = getParam(params, 'fechaExFIFin');\r\n fechaExFIFin = (fechaExFIFin) ? new Date(parseInt(fechaExFIFin)*1000) : null;\r\n var fechaBajaIni = getParam(params, 'fechaBajaIni');\r\n fechaBajaIni = (fechaBajaIni) ? new Date(parseInt(fechaBajaIni)*1000) : null;\r\n var fechaBajaFin = getParam(params, 'fechaBajaFin');\r\n fechaBajaFin = (fechaBajaFin) ? new Date(parseInt(fechaBajaFin)*1000) : null;\r\n var fechaComerIni = getParam(params, 'fechaComerIni');\r\n fechaComerIni = (fechaComerIni) ? new Date(parseInt(fechaComerIni)*1000) : null;\r\n var fechaComerFin = getParam(params, 'fechaComerFin');\r\n fechaComerFin = (fechaComerFin) ? new Date(parseInt(fechaComerFin)*1000) : null;\r\n var idPredefP = getParam(params, 'idPredefP');\r\n idPredefP = (idPredefP) ? parseInt(idPredefP) : 0;\r\n var idOpP = getParam(params, 'idOpP');\r\n idOpP = (idOpP) ? parseInt(idOpP) : 0;\r\n var idCampoP = getParam(params, 'idCampoP');\r\n idCampoP = (idCampoP) ? idCampoP.trim() : '';\r\n var pre = getParam(params, 'pre');\r\n pre = (pre) ? parseFloat(pre)/100 : 0;\r\n var auxIdsAA = getParam(params,'idsAA');\r\n var idsAA = (auxIdsAA!=='') ? auxIdsAA.split(',') : [];\r\n idsAA = (idsAA) && (idsAA.length>0) ? idsAA.map(id=> id) : []; \r\n var auxIdsAN = getParam(params,'idsAN');\r\n var idsAN = (auxIdsAN!=='') ? auxIdsAN.split(',') : [];\r\n idsAN = (idsAN) && (idsAN.length>0) ? idsAN.map(id=> id) : []; \r\n var auxIdsDC = getParam(params,'idsDC');\r\n var idsDC = (auxIdsDC!=='') ? auxIdsDC.split(',') : [];\r\n idsDC = (idsDC) && (idsDC.length>0) ? idsDC.map(id=> id) : []; \r\n var auxIdsMen = getParam(params,'idsMen');\r\n var idsMen = (auxIdsMen!=='') ? auxIdsMen.split(',') : [];\r\n idsMen = (idsMen) && (idsMen.length>0) ? idsMen.map(id=> parseInt(id)) : []; \r\n var texto = getParam(params,'texto');\r\n texto = (texto) ? decodeURI(texto) : '';\r\n var noTexto = getParam(params,'noTexto');\r\n noTexto = (noTexto) ? (noTexto===\"S\" || noTexto === \"s\") : false;\r\n var idEpi = getParam(params, 'idEpi');\r\n idEpi = (idEpi) ? parseInt(idEpi) : 0;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n idsLab: idsLab,\r\n idsGT: idsGT,\r\n pas: pas,\r\n solo: solo,\r\n idVia: idVia,\r\n idFF: idFF,\r\n uds: uds,\r\n emr: emr,\r\n edad: edad,\r\n undEdad: undEdad,\r\n ints: ints,\r\n enfsRel: enfsRel,\r\n anasRel: anasRel,\r\n ops: ops,\r\n fechaAutoIni: fechaAutoIni,\r\n fechaAutoFin: fechaAutoFin,\r\n fechaBajaFin: fechaBajaFin,\r\n fechaBajaIni: fechaBajaIni,\r\n fechaComerFin: fechaComerFin,\r\n fechaComerIni: fechaComerIni,\r\n fechaExFIFin: fechaExFIFin,\r\n fechaExFIIni: fechaExFIIni,\r\n fechaExSNSIni: fechaExSNSIni,\r\n fechaExSNSFin: fechaExSNSFin,\r\n fechaInSNSFin: fechaInSNSFin,\r\n fechaInSNSIni: fechaInSNSIni,\r\n idCampoP: idCampoP,\r\n idOpP: idOpP,\r\n pre: pre,\r\n idPredefP: idPredefP,\r\n idsAA: idsAA,\r\n idsAN: idsAN,\r\n idsDC: idsDC,\r\n idsMen: idsMen,\r\n idEpi: idEpi,\r\n texto: texto, \r\n noTexto: noTexto,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n case \"fbavanzadamuv\":\r\n case \"bavanzadamuv\":\r\n var txt = getParam(params,'med');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n /*var idLab = getParam(params,'idLab');\r\n idLab = (idLab) ? parseInt(idLab) : 0;\r\n var idGT = getParam(params,'idGT');\r\n idGT = (idGT) ? idGT : \"\";*/\r\n var auxIdsLab = getParam(params,'idsLab');\r\n var idsLab = (auxIdsLab!=='') ? auxIdsLab.split(',') : [];\r\n idsLab = (idsLab) && (idsLab.length>0) ? idsLab.map(id=> parseInt(id)) : []; \r\n var auxIdsGT = getParam(params,'idsGT');\r\n var idsGT = (auxIdsGT!=='') ? auxIdsGT.split(',') : [];\r\n idsGT = (idsGT) && (idsGT.length>0) ? idsGT.map(id=> id) : []; \r\n var auxPAs = getParam(params,'pas');\r\n var pas = fromParmaURLToListaPAsCompos(auxPAs);\r\n pas = (pas && pas.length>0 ? pas : [] );\r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : (tipo === \"F\") ? false : true );\r\n var idVia = getParam(params, 'idVia');\r\n idVia = (idVia ? parseInt(idVia) : 0);\r\n var idFF = getParam(params, 'idFF');\r\n idFF = (idFF ? parseInt(idFF) : 0);\r\n var uds = getParam(params, 'uds');\r\n uds = (uds ? parseInt(uds) : 0);\r\n var fechaAutoIni = getParam(params, 'fechaAutoIni');\r\n fechaAutoIni = (fechaAutoIni) ? new Date(parseInt(fechaAutoIni)*1000) : null;\r\n var fechaAutoFin = getParam(params, 'fechaAutoFin');\r\n fechaAutoFin = (fechaAutoFin) ? new Date(parseInt(fechaAutoFin)*1000) : null;\r\n var fechaBajaIni = getParam(params, 'fechaBajaIni');\r\n fechaBajaIni = (fechaBajaIni) ? new Date(parseInt(fechaBajaIni)*1000) : null;\r\n var fechaBajaFin = getParam(params, 'fechaBajaFin');\r\n fechaBajaFin = (fechaBajaFin) ? new Date(parseInt(fechaBajaFin)*1000) : null;\r\n var auxOps = getParam(params,'ops');\r\n var ops = fromParamURLToListaOpsAvanzada(auxOps);\r\n ops = (ops) && (ops.length>0) ? ops : [];\r\n var idEspecie = getParam(params,'idEspecie');\r\n idEspecie = (idEspecie) ? parseInt(idEspecie) : 0;\r\n var idEnf = getParam(params,'idEnf');\r\n idEnf = (idEnf) ? parseInt(idEnf) : 0;\r\n var auxIdsMen = getParam(params,'idsMen');\r\n var idsMen = (auxIdsMen!=='') ? auxIdsMen.split(',') : [];\r\n idsMen = (idsMen) && (idsMen.length>0) ? idsMen.map(id=> parseInt(id)) : []; \r\n var texto = getParam(params,'texto');\r\n texto = (texto) ? decodeURI(texto) : '';\r\n var noTexto = getParam(params,'noTexto');\r\n noTexto = (noTexto) ? (noTexto===\"S\" || noTexto === \"s\") : false;\r\n var idEpi = getParam(params, 'idEpi');\r\n idEpi = (idEpi) ? parseInt(idEpi) : 0;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n idsLab: idsLab,\r\n idsGT: idsGT,\r\n pas: pas,\r\n solo: solo,\r\n idVia: idVia,\r\n idFF: idFF,\r\n uds: uds,\r\n fechaAutoIni: fechaAutoIni,\r\n fechaAutoFin: fechaAutoFin,\r\n fechaBajaFin: fechaBajaFin,\r\n fechaBajaIni: fechaBajaIni,\r\n ops: ops,\r\n idEspecie: idEspecie,\r\n idEnf: idEnf,\r\n idsMen: idsMen,\r\n idEpi: idEpi,\r\n texto: texto, \r\n noTexto: noTexto,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n case \"fbavanzadapah\":\r\n case \"bavanzadapah\":\r\n var txt = getParam(params,'med');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n var auxAF = getParam(params,'idsAF');\r\n var idsAF = (auxAF!=='') ? auxAF.split(',') : [];\r\n idsAF = (idsAF) && (idsAF.length>0) ? idsAF.map(id=> parseInt(id)) : []; \r\n var auxAM = getParam(params,'idsAM');\r\n var idsAM = (auxAM!=='') ? auxAM.split(',') : [];\r\n idsAM = (idsAM) && (idsAM.length>0) ? idsAM.map(id=> parseInt(id)) : []; \r\n /*var idGT = getParam(params,'idGT');\r\n idGT = (idGT) ? idGT : \"\";*/\r\n var auxIdsGT = getParam(params,'idsGT');\r\n var idsGT = (auxIdsGT!=='') ? auxIdsGT.split(',') : [];\r\n idsGT = (idsGT) && (idsGT.length>0) ? idsGT.map(id=> id) : []; \r\n var listaEnfs = getParam(params,'enfsRel');\r\n var enfsRelAux = (listaEnfs!=='') ? listaEnfs.split(',') : [];\r\n var enfsRel = [];\r\n for (var i=0; i0) ? enfsRel : [];\r\n var listaAnas = getParam(params,'anasRel');\r\n var anasRelAux = (listaAnas!=='') ? listaAnas.split(',') : [];\r\n var anasRel = [];\r\n for (var i=0; i0) ? anasRel : [];\r\n var auxOps = getParam(params,'ops');\r\n var ops = fromParamURLToListaOpsAvanzada(auxOps);\r\n ops = (ops) && (ops.length>0) ? ops : [];\r\n var auxIdsMen = getParam(params,'idsMen');\r\n var idsMen = (auxIdsMen!=='') ? auxIdsMen.split(',') : [];\r\n idsMen = (idsMen) && (idsMen.length>0) ? idsMen.map(id=> parseInt(id)) : []; \r\n var texto = getParam(params,'texto');\r\n texto = (texto) ? decodeURI(texto) : '';\r\n var noTexto = getParam(params,'noTexto');\r\n noTexto = (noTexto) ? (noTexto===\"S\" || noTexto === \"s\") : false;\r\n var idEpi = getParam(params, 'idEpi');\r\n idEpi = (idEpi) ? parseInt(idEpi) : 0;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n idsAF: idsAF,\r\n idsAM: idsAM,\r\n idsGT: idsGT,\r\n enfsRel: enfsRel,\r\n anasRel: anasRel,\r\n ops: ops,\r\n idsMen: idsMen,\r\n idEpi: idEpi,\r\n texto: texto, \r\n noTexto: noTexto,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n case \"fbavanzadappf\":\r\n case \"bavanzadappf\":\r\n var txt = getParam(params,'med');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n /*var idLab = getParam(params,'idLab');\r\n idLab = (idLab) ? parseInt(idLab) : 0;\r\n var idGT = getParam(params,'idGT');\r\n idGT = (idGT) ? idGT : \"\";*/\r\n var auxIdsLab = getParam(params,'idsLab');\r\n var idsLab = (auxIdsLab!=='') ? auxIdsLab.split(',') : [];\r\n idsLab = (idsLab) && (idsLab.length>0) ? idsLab.map(id=> parseInt(id)) : []; \r\n var auxIdsGT = getParam(params,'idsGT');\r\n var idsGT = (auxIdsGT!=='') ? auxIdsGT.split(',') : [];\r\n idsGT = (idsGT) && (idsGT.length>0) ? idsGT.map(id=> id) : []; \r\n var auxPAs = getParam(params,'pas');\r\n var pas = fromParmaURLToListaPAsCompos(auxPAs);\r\n pas = (pas && pas.length>0 ? pas : [] );\r\n var solo = getParam(params, 'solo');\r\n solo = (solo ? (solo === \"S\") : false);\r\n var idVia = getParam(params, 'idVia');\r\n idVia = (idVia ? parseInt(idVia) : 0);\r\n var idFF = getParam(params, 'idFF');\r\n idFF = (idFF ? parseInt(idFF) : 0);\r\n /*var idTipo = getParam(params, 'idTipo');\r\n idTipo = (idTipo ? parseInt(idTipo) : 0);\r\n var idSubtipo = getParam(params, 'idSubtipo');\r\n idSubtipo = (idSubtipo ? parseInt(idSubtipo) : 0);*/\r\n var auxIdsTipo = getParam(params,'idsTipo');\r\n var idsTipo = (auxIdsTipo!=='') ? auxIdsTipo.split(',') : [];\r\n idsTipo = (idsTipo) && (idsTipo.length>0) ? idsTipo.map(id=> parseInt(id)) : []; \r\n var auxIdsSubtipo = getParam(params,'idsSubtipo');\r\n var idsSubtipo = (auxIdsSubtipo!=='') ? auxIdsSubtipo.split(',') : [];\r\n idsSubtipo = (idsSubtipo) && (idsSubtipo.length>0) ? idsSubtipo.map(id=> parseInt(id)) : []; \r\n var uds = getParam(params, 'uds');\r\n uds = (uds ? parseInt(uds) : 0);\r\n var fechaAutoIni = getParam(params, 'fechaAutoIni');\r\n fechaAutoIni = (fechaAutoIni) ? new Date(parseInt(fechaAutoIni)*1000) : null;\r\n var fechaAutoFin = getParam(params, 'fechaAutoFin');\r\n fechaAutoFin = (fechaAutoFin) ? new Date(parseInt(fechaAutoFin)*1000) : null;\r\n var fechaBajaIni = getParam(params, 'fechaBajaIni');\r\n fechaBajaIni = (fechaBajaIni) ? new Date(parseInt(fechaBajaIni)*1000) : null;\r\n var fechaBajaFin = getParam(params, 'fechaBajaFin');\r\n fechaBajaFin = (fechaBajaFin) ? new Date(parseInt(fechaBajaFin)*1000) : null;\r\n var auxInts = getParam(params,'ints');\r\n var ints = (auxInts!=='') ? auxInts.split(',') : [];\r\n ints = (ints) && (ints.length>0) ? ints.map(id=> parseInt(id)) : []; \r\n var auxOps = getParam(params,'ops');\r\n var ops = fromParamURLToListaOpsAvanzada(auxOps);\r\n ops = (ops) && (ops.length>0) ? ops : [];\r\n var auxIdsMen = getParam(params,'idsMen');\r\n var idsMen = (auxIdsMen!=='') ? auxIdsMen.split(',') : [];\r\n idsMen = (idsMen) && (idsMen.length>0) ? idsMen.map(id=> parseInt(id)) : []; \r\n var texto = getParam(params,'texto');\r\n texto = (texto) ? decodeURI(texto) : '';\r\n var noTexto = getParam(params,'noTexto');\r\n noTexto = (noTexto) ? (noTexto===\"S\" || noTexto === \"s\") : false;\r\n var idEpi = getParam(params, 'idEpi');\r\n idEpi = (idEpi) ? parseInt(idEpi) : 0;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n txt: txt,\r\n idsLab: idsLab,\r\n idsGT: idsGT,\r\n pas: pas,\r\n solo: solo,\r\n idVia: idVia,\r\n idFF: idFF,\r\n idsTipo: idsTipo,\r\n idsSubtipo: idsSubtipo,\r\n uds: uds,\r\n fechaAutoIni: fechaAutoIni,\r\n fechaAutoFin: fechaAutoFin,\r\n fechaBajaFin: fechaBajaFin,\r\n fechaBajaIni: fechaBajaIni,\r\n ints: ints,\r\n ops: ops,\r\n idsMen: idsMen,\r\n idEpi: idEpi,\r\n texto: texto, \r\n noTexto: noTexto,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n\r\n case \"binteraccionesmuh\":\r\n case \"binteraccionesppf\":\r\n var auxIdsSel = getParam(params,'idsSel');\r\n var idsSel = (auxIdsSel!=='') ? auxIdsSel.split(',') : [];\r\n idsSel = (idsSel) && (idsSel.length>0) ? idsSel.map(id=> parseInt(id)) : []; \r\n\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n\r\n var numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n var idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 0\r\n var filtrosActivos = misFiltros;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'ResultadosBusqueda',\r\n idsSel: idsSel,\r\n titulo: 'Búsqueda de interacciones',\r\n numMostrar: numMostrar,\r\n idxOrden: idxOrden,\r\n filtrosActivos: filtrosActivos \r\n }\r\n break;\r\n\r\n case \"fbtest\":\r\n var idA = getParam(params,'idA');\r\n var idL1 = getParam(params,'idL1');\r\n var idL2 = getParam(params,'idL2');\r\n var listaIds = getParam(params,'idsL3');\r\n var idsL3 = (listaIds!=='') ? listaIds.split('--') : [];\r\n var listaEnfs = getParam(params,'enfsRel');\r\n var enfsRelAux = (listaEnfs!=='') ? listaIds.split('--') : [];\r\n var enfsRel = [];\r\n for (var i=0; i0) ? idsL3 : [];\r\n enfsRel = (enfsRel) && (enfsRel.length>0) ? enfsRel : [];\r\n snx = (snx) ? snx : 'X';\r\n edad = (edad) ? parseInt(edad) : null;\r\n unidad = (unidad) ? unidad : '';\r\n inicio = (inicio) ? new Date(parseInt(inicio)*1000) : null;\r\n fin = (fin) ? new Date(parseInt(fin)*1000) : null;\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idA: idA,\r\n idL1: idL1,\r\n idL2: idL2,\r\n idsL3: idsL3,\r\n snx: snx,\r\n edad: edad,\r\n unidad: unidad,\r\n inicio: inicio,\r\n fin: fin,\r\n enfsRel: enfsRel,\r\n }\r\n break;\r\n case \"fbgtvmppmuh\":\r\n case \"fbgtvmpp2muh\": \r\n case \"fbgtsanppf\":\r\n var id = getParam(params,'id');\r\n if (!id)\r\n id = '';\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n id: id,\r\n }\r\n break;\r\n case \"fbgtatcmuh\":\r\n case \"fbgtatcmuv\":\r\n case \"fbgtconppf\":\r\n var auxIds = getParam(params,'seleccionados');\r\n var seleccionados = (auxIds!=='') ? auxIds.split(',') : [];\r\n seleccionados = (seleccionados) && (seleccionados.length>0) ? seleccionados : []; \r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n seleccionados: seleccionados,\r\n }\r\n break;\r\n case \"configuracion\":\r\n case \"cambiopass\":\r\n case \"cambiomail\":\r\n case \"confirmamail\":\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'Conf',\r\n }\r\n break;\r\n case \"editabuscadores\":\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'EditaBuscadores',\r\n }\r\n break;\r\n case \"binicio\":\r\n case \"blaboratoriomuv\":\r\n case \"blaboratorioppf\":\r\n case \"blaboratoriomuh\":\r\n case \"blaboratoriomho\": \r\n case \"bformafarmamuh\":\r\n case \"bformafarmamuv\":\r\n case \"bformafarmappf\":\r\n case \"bafmuh\":\r\n case \"bammuh\":\r\n case \"bactppf\":\r\n case \"bafmuv\":\r\n case \"bagruphomoautomuh\":\r\n case \"bagruphomomuh\":\r\n case \"bagruphomoautoppf\":\r\n case \"bagruphomoppf\":\r\n case \"banalisismuh\":\r\n case \"bfarmacogeneticamuh\":\r\n case \"bpamuh\":\r\n case \"basomuh\":\r\n case \"bpamuv\":\r\n case \"basomuv\":\r\n case \"bingppf\":\r\n case \"btipoppf\":\r\n case \"bsubtipoppf\":\r\n case \"bindicacionmuh\":\r\n case \"bindicacionmuv\":\r\n case \"bindicacionppf\": \r\n case \"bcontraindicacionmuh\":\r\n case \"bprecaucionmuh\":\r\n case \"breaccionadversamuh\":\r\n case \"bgtatcmuh\":\r\n case \"bgtatcmuv\":\r\n case \"bgtvmppmuh\":\r\n case \"bgtconppf\":\r\n case \"bgtsanppf\":\r\n case \"bformmagistralmuh\":\r\n case \"bmedshomeomuh\": \r\n case \"bmedespanolesmuh\": \r\n case \"bmismonombremuh\": \r\n var txt = getParam(params,'txt');\r\n txt = (txt) ? decodeURI(txt) : '';\r\n var opb = getParam(params,'opb');\r\n opb = (opb) ? parseInt(opb) : 0;\r\n var id = getParam(params,'id');\r\n if (!id)\r\n id = 0;\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'ResultadosBusqueda',\r\n listaRes: null,\r\n texto: txt,\r\n id: id, \r\n fuerzaTexto : true,\r\n numMostrar : (snumMostrar) ? parseInt(snumMostrar) : 10,\r\n idxOrden : (sidxOrden) ? parseInt(sidxOrden) : 0,\r\n filtrosActivos : misFiltros,\r\n opb: opb,\r\n }\r\n break;\r\n case \"bgtsatcmuh\":\r\n case \"bgtsatcmuv\":\r\n case \"bgtsconppf\":\r\n var auxIds = getParam(params,'seleccionados');\r\n var seleccionados = (auxIds!=='') ? auxIds.split(',') : [];\r\n seleccionados = (seleccionados) && (seleccionados.length>0) ? seleccionados : []; \r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'ResultadosBusqueda',\r\n listaRes: null,\r\n texto: txt,\r\n seleccionados: seleccionados, \r\n fuerzaTexto : true,\r\n numMostrar : (snumMostrar) ? parseInt(snumMostrar) : 10,\r\n idxOrden : (sidxOrden) ? parseInt(sidxOrden) : 0,\r\n filtrosActivos : misFiltros,\r\n opb: opb,\r\n }\r\n break;\r\n case \"blaboratoriosmuv\":\r\n case \"blaboratoriosppf\":\r\n case \"blaboratoriosmuh\":\r\n case \"blaboratoriosmho\":\r\n case \"bformasfarmamuh\":\r\n case \"bformasfarmamuv\":\r\n case \"bformasfarmappf\":\r\n case \"bafsmuh\":\r\n case \"bamsmuh\":\r\n case \"bactsppf\":\r\n case \"bafsmuv\":\r\n var auxIds = getParam(params,'seleccionados');\r\n var seleccionados = (auxIds!=='') ? auxIds.split(',') : [];\r\n seleccionados = (seleccionados) && (seleccionados.length>0) ? seleccionados.map(id=> parseInt(id)) : []; \r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'ResultadosBusqueda',\r\n listaRes: null,\r\n texto: txt,\r\n seleccionados: seleccionados, \r\n fuerzaTexto : true,\r\n numMostrar : (snumMostrar) ? parseInt(snumMostrar) : 10,\r\n idxOrden : (sidxOrden) ? parseInt(sidxOrden) : 0,\r\n filtrosActivos : misFiltros,\r\n opb: opb,\r\n }\r\n break;\r\n case \"bcongluten\":\r\n case \"bconlactosa\":\r\n case \"bsingluten\":\r\n case \"bsinlactosa\":\r\n case \"bdopantesmuh\":\r\n case \"bnolentes\":\r\n case \"bcomparapreciomenormuh\":\r\n case \"bcomparapreciomasbajomuh\":\r\n case \"bprecionotificadomuh\":\r\n case \"bseguimientoadicionalmuh\":\r\n case \"bdispositivoseguridadmuh\":\r\n case \"blibrorecetariom\":\r\n case \"blibroestupefacientesm\":\r\n case \"bnotificacionesvacmuv\":\r\n case \"benfermedadespath\":\r\n case \"benfermedadespatv\":\r\n case \"bdeduccionesrdlmuh\":\r\n case \"bnosustituiblesmuh\":\r\n case \"bcambioprecioprevistomuh\":\r\n case \"balertadoscismedmuh\":\r\n\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'ResultadosBusqueda',\r\n listaRes: null,\r\n numMostrar : (snumMostrar) ? parseInt(snumMostrar) : 10,\r\n idxOrden : (sidxOrden) ? parseInt(sidxOrden) : 0,\r\n filtrosActivos : misFiltros,\r\n }\r\n break;\r\n case \"fbdocumentos\":\r\n case \"bdocumentos\":\r\n var idMed = getParam(params,'idMed');\r\n var inicio = getParam(params, 'inicio');\r\n var fin = getParam(params, 'fin');\r\n idMed = (idMed) ? parseInt(idMed) : 0;\r\n inicio = (inicio) ? new Date(parseInt(inicio)*1000) : null;\r\n fin = (fin) ? new Date(parseInt(fin)*1000) : null;\r\n\r\n newInfoPagina = {\r\n codigoPagina:partes[0],\r\n tipoPagina:'FormularioBusqueda',\r\n idMed: idMed,\r\n inicio: inicio,\r\n fin: fin,\r\n }\r\n if (newInfoPagina.codigoPagina.toLowerCase().substring(0,1)===\"b\"){\r\n //Es la búsqueda\r\n var filtros = getParam(params, 'filtro');\r\n if (filtros)\r\n var misFiltros = ParseaFiltros(filtros);\r\n var snumMostrar = getParam(params, 'numMostrar');\r\n var sidxOrden = getParam(params, 'idxOrden');\r\n newInfoPagina.tipoPagina = 'ResultadosBusqueda';\r\n newInfoPagina.numMostrar = (snumMostrar) ? parseInt(snumMostrar) : 10;\r\n newInfoPagina.idxOrden = (sidxOrden) ? parseInt(sidxOrden) : 3\r\n newInfoPagina.filtrosActivos = misFiltros;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n if (newInfoPagina)\r\n if (!deepEqual(newInfoPagina, infoPagina)){\r\n setInfoPagina(newInfoPagina); \r\n } \r\n return;\r\n }\r\n \r\n const onBackButtonEvent = (e) => {\r\n construyeInfoPaginaFromPath();\r\n }\r\n \r\n const AccionesComunesBusqueda = (datosPagina) =>{\r\n if (datosPagina.newlista != infoPagina.listaRes){\r\n var newInfoPagina = {\r\n codigoPagina: datosPagina.newpagina,\r\n tipoPagina:'ResultadosBusqueda',\r\n listaRes: datosPagina.newlista,\r\n titulo: datosPagina.titulo,\r\n texto: datosPagina.texto,\r\n id: datosPagina.newid, \r\n seleccionados: datosPagina.seleccionados,\r\n fuerzaTexto : false,\r\n filtros : datosPagina.filtros,\r\n numMostrar : (datosPagina.numMostrar) ? datosPagina.numMostrar : 10,\r\n idxOrden : (datosPagina.idxOrden) ? datosPagina.idxOrden : 0,\r\n filtrosActivos : (datosPagina.filtrosActivos) ? datosPagina.filtrosActivos : [],\r\n completa: datosPagina.completa,\r\n total: datosPagina.total,\r\n idEpi: datosPagina.idEpi,\r\n idsEnfs: datosPagina.idsEnfs,\r\n idsMeds: datosPagina.idsMeds,\r\n txt: datosPagina.txt,\r\n idLab: datosPagina.idLab,\r\n idGT: datosPagina.idGT,\r\n idsLab: datosPagina.idsLab,\r\n idsGT: datosPagina.idsGT,\r\n pas: datosPagina.pas,\r\n solo: datosPagina.solo,\r\n idVia: datosPagina.idVia,\r\n idFF: datosPagina.idFF,\r\n ints: datosPagina.ints,\r\n uds: datosPagina.uds,\r\n emr: datosPagina.emr,\r\n edad: datosPagina.edad,\r\n undEdad: datosPagina.undEdad,\r\n enfsRel: datosPagina.enfsRel,\r\n anasRel: datosPagina.anasRel,\r\n ops: datosPagina.ops,\r\n idEspecie: datosPagina.idEspecie,\r\n idEnf: datosPagina.idEnf,\r\n idTipo: datosPagina.idTipo,\r\n idSubtipo: datosPagina.idSubtipo,\r\n idsTipo: datosPagina.idsTipo,\r\n idsSubtipo: datosPagina.idsSubtipo,\r\n tipoFF: datosPagina.tipoFF,\r\n idForma: datosPagina.idForma,\r\n idColor1: datosPagina.idColor1,\r\n idColor2: datosPagina.idColor2,\r\n idSabor: datosPagina.idSabor,\r\n CO1: datosPagina.CO1,\r\n CO2: datosPagina.CO2,\r\n tamanos: datosPagina.tamanos,\r\n ranura: datosPagina.ranura,\r\n logo: datosPagina.logo,\r\n difCol: datosPagina.difCol,\r\n anycol: datosPagina.anycol,\r\n col2: datosPagina.col2,\r\n ins1: datosPagina.ins1,\r\n ins2: datosPagina.ins2,\r\n idPais: datosPagina.idPais,\r\n inicio: datosPagina.inicio,\r\n fin: datosPagina.fin,\r\n pvpMenor : datosPagina.pvpMenor,\r\n pvpMasBajo : datosPagina.pvpMasBajo,\r\n literalPMenor : datosPagina.literalPMenor,\r\n literalPMasBajo : datosPagina.literalPMasBajo,\r\n fechaAutoIni: datosPagina.fechaAutoIni,\r\n fechaAutoFin: datosPagina.fechaAutoFin,\r\n fechaBajaIni: datosPagina.fechaBajaIni,\r\n fechaBajaFin: datosPagina.fechaBajaFin,\r\n fechaExFIIni: datosPagina.fechaExFIIni,\r\n fechaExFIFin: datosPagina.fechaExFIFin,\r\n fechaExSNSIni: datosPagina.fechaExSNSIni,\r\n fechaExSNSFin: datosPagina.fechaExSNSFin,\r\n fechaInSNSIni: datosPagina.fechaInSNSIni,\r\n fechaInSNSFin: datosPagina.fechaInSNSFin,\r\n fechaComerIni: datosPagina.fechaComerIni,\r\n fechaComerFin: datosPagina.fechaComerFin,\r\n idCampoP: datosPagina.idCampoP,\r\n idOpP: datosPagina.idOpP,\r\n pre: datosPagina.pre,\r\n idPredefP: datosPagina.idPredefP,\r\n idsAA: datosPagina.idsAA,\r\n idsAN: datosPagina.idsAN,\r\n idsDC: datosPagina.idsDC,\r\n idsMen: datosPagina.idsMen,\r\n idEpi: datosPagina.idEpi,\r\n texto: datosPagina.texto,\r\n noTexto : datosPagina.noTexto,\r\n opb: datosPagina.opb,\r\n }\r\n setInfoPagina(newInfoPagina);\r\n }\r\n }\r\n\r\n const QuitaFiltrosURL = (miUrl) =>{\r\n var idx = miUrl.indexOf(\"&filtro=\");\r\n var newUrl = miUrl;\r\n if (idx > 0)\r\n newUrl = miUrl.substr(0,idx);\r\n idx = newUrl.indexOf(\"&numMostrar=\");\r\n if (idx>0)\r\n newUrl = newUrl.substr(0,idx);\r\n idx = newUrl.indexOf(\"&idxOrden=\");\r\n if (idx>0)\r\n newUrl = newUrl.substr(0,idx);\r\n return newUrl; \r\n }\r\n\r\n const MismaURL = (url1, url2) =>{\r\n url1 = decodeURI(url1);\r\n url2 = decodeURI(url2);\r\n var sinparametros1 = url1.split('?')[0];\r\n var sinparametros2 = url2.split('?')[0];\r\n var params1 = getParamsURL(url1);\r\n var params2 = getParamsURL(url2);\r\n var txt1 = getParam(params1, 'txt');\r\n var txt2 = getParam(params2, 'txt');\r\n var res = (sinparametros1 === sinparametros2 && txt1===txt2);\r\n return res;\r\n }\r\n\r\n const CompletaURLBusqueda = (datosPagina) =>{\r\n var addToUrl = '';\r\n if (infoPagina.tipoPagina===\"ResultadosBusqueda\"){\r\n if (datosPagina.filtros){\r\n var filtrosStr = GetFiltrosStr(datosPagina.filtros);\r\n if (filtrosStr!=='')\r\n addToUrl += '&filtro=' + filtrosStr;\r\n }\r\n if (datosPagina.numMostrar>=0){\r\n addToUrl += '&numMostrar=' + datosPagina.numMostrar.toString();\r\n }\r\n if (datosPagina.idxOrden>=0){\r\n addToUrl += '&idxOrden=' + datosPagina.idxOrden.toString();\r\n }\r\n }\r\n return addToUrl;\r\n }\r\n\r\n const AccionesComunesFicha = (currentpath, datosPagina) =>{\r\n if (infoPagina.tipoPagina===\"ResultadosBusqueda\"){\r\n var changedpath = QuitaFiltrosURL(currentpath);\r\n var newpath = changedpath + CompletaURLBusqueda(datosPagina);\r\n if (newpath !== currentpath)\r\n window.history.replaceState(null,'',newpath);\r\n }\r\n }\r\n\r\n const checkSesion = (datosPagina) => {\r\n AuthService.isSesionOk()\r\n .then((response) => {\r\n if (!response)\r\n props.checkSesion()\r\n });\r\n }\r\n \r\n const CambiaAPagina = (datosPagina) => {\r\n checkSesion();\r\n CierraMenuBurguer();\r\n const currentpath = history.location.pathname + history.location.search;\r\n var newpath = currentpath;\r\n var newpagina = datosPagina.newpagina;\r\n //console.log(datosPagina.newpagina);\r\n if (accesoRestringido !== validaAcceso(newpagina))\r\n setAccesoRestringido(validaAcceso(newpagina));\r\n\r\n if (getIdProvincia()>0 || newpagina===\"Configuracion\"){ \r\n switch(newpagina){\r\n case \"Inicio\":\r\n newpath = rootPath;\r\n break;\r\n case \"Ayuda\":\r\n case \"Help\":\r\n newpath = rootPath + newpagina;\r\n break;\r\n case \"ExportaWS\":\r\n newpath = rootPath + newpagina;\r\n break;\r\n case \"BInicio\":\r\n newpath = rootPath;\r\n newpath += newpagina + \"?txt=\" + datosPagina.texto;\r\n if (datosPagina.opb > 0)\r\n newpath += \"&opb=\" + datosPagina.opb.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n case \"BLaboratorioMUV\":\r\n case \"BLaboratorioMUH\":\r\n case \"BLaboratorioMHO\":\r\n case \"BLaboratorioPPF\":\r\n case \"BFormaFarmaMUH\":\r\n case \"BFormaFarmaMUV\":\r\n case \"BFormaFarmaPPF\":\r\n case \"BAFMUH\":\r\n case \"BAMMUH\":\r\n case \"BActPPF\":\r\n case \"BAFMUV\":\r\n case \"BAgrupHomoAutoMUH\":\r\n case \"BAgrupHomoMUH\":\r\n case \"BAgrupHomoAutoPPF\":\r\n case \"BAgrupHomoPPF\":\r\n case \"BAnalisisMUH\":\r\n case \"BFarmacogeneticaMUH\":\r\n case \"BPAMUH\":\r\n case \"BAsoMUH\":\r\n case \"BPAMUV\":\r\n case \"BAsoMUV\":\r\n case \"BIngPPF\":\r\n case \"BTipoPPF\":\r\n case \"BSubtipoPPF\":\r\n case \"BIndicacionMUH\":\r\n case \"BIndicacionMUV\":\r\n case \"BIndicacionPPF\": \r\n case \"BContraindicacionMUH\":\r\n case \"BPrecaucionMUH\":\r\n case \"BReaccionAdversaMUH\":\r\n case \"BGTATCMUH\":\r\n case \"BGTATCMUV\":\r\n case \"BGTVMPPMUH\":\r\n case \"BGTConPPF\":\r\n case \"BGTSanPPF\":\r\n case \"BFormMagistralMUH\":\r\n case \"BMedsHomeoMUH\":\r\n case \"BMedEspanolesMUH\":\r\n case \"BMismoNombreMUH\":\r\n newpath = rootPath;\r\n newpath += newpagina + \"?id=\" + datosPagina.newid;\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',history.location.pathname+ \"?id=\" + datosPagina.newid);\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n case \"BLaboratoriosMUV\":\r\n case \"BLaboratoriosMUH\":\r\n case \"BLaboratoriosMHO\":\r\n case \"BLaboratoriosPPF\":\r\n case \"BFormasFarmaMUH\":\r\n case \"BFormasFarmaMUV\":\r\n case \"BFormasFarmaPPF\":\r\n case \"BAFsMUH\":\r\n case \"BAMsMUH\":\r\n case \"BActsPPF\":\r\n case \"BAFsMUV\":\r\n case \"BGTsATCMUH\":\r\n case \"BGTsATCMUV\":\r\n case \"BGTsConPPF\":\r\n newpath = rootPath;\r\n newpath += newpagina + \"?seleccionados=\" + datosPagina.seleccionados.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',history.location.pathname+ \"?seleccionados=\" + datosPagina.seleccionados.toString());\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n case \"BConGluten\":\r\n case \"BConLactosa\":\r\n case \"BSinGluten\":\r\n case \"BSinLactosa\":\r\n case \"BDopantesMUH\":\r\n case \"BNoLentes\":\r\n case \"BComparaPrecioMenorMUH\":\r\n case \"BComparaPrecioMasBajoMUH\":\r\n case \"BPrecioNotificadoMUH\":\r\n case \"BSeguimientoAdicionalMUH\":\r\n case \"BDispositivoSeguridadMUH\":\r\n case \"BLibroRecetarioM\":\r\n case \"BLibroEstupefacientesM\":\r\n case \"BNotificacionESVACMUV\":\r\n case \"BEnfermedadesPATH\":\r\n case \"BEnfermedadesPATV\":\r\n case \"BNoSustituiblesMUH\":\r\n case \"BDeduccionesRDLMUH\":\r\n case \"BCambioPrecioPrevistoMUH\":\r\n case \"BAlertadosCismedMUH\":\r\n newpath = rootPath;\r\n newpath += newpagina + \"?lst\";\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BSaborEdadPPF\":\r\n newpath = rootPath + newpagina + \"?se\";\r\n if (datosPagina.idDieto != \"\")\r\n newpath += \"&idDieto=\" + datosPagina.idDieto;\r\n if (datosPagina.idsSabores && (datosPagina.idsSabores.length > 0))\r\n newpath += \"&idsSabores=\" + datosPagina.idsSabores.toString();\r\n if (datosPagina.saborSolo)\r\n newpath += \"&saborSolo=S\";\r\n if (datosPagina.edad)\r\n newpath += \"&edad=\" + datosPagina.edad.toString();\r\n if (datosPagina.undEdad)\r\n newpath += \"&undEdad=\" + datosPagina.undEdad;\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BProblemasSumMUH\":\r\n newpath = rootPath + newpagina + \"?ps\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n if (datosPagina.idLab > 0)\r\n newpath += \"&idLab=\" + datosPagina.idLab.toString();\r\n if (datosPagina.idPA > 0)\r\n newpath += \"&idPA=\" + datosPagina.idPA.toString();\r\n if (datosPagina.noSust)\r\n newpath += \"&noSust=S\";\r\n if (datosPagina.medExt)\r\n newpath += \"&medExt=S\";\r\n if (datosPagina.iniciod)\r\n newpath += \"&iniciod=\" + Math.round(datosPagina.iniciod.getTime()/1000).toString();\r\n if (datosPagina.inicioh)\r\n newpath += \"&inicioh=\" + Math.round(datosPagina.inicioh.getTime()/1000).toString();\r\n if (datosPagina.find)\r\n newpath += \"&find=\" + Math.round(datosPagina.find.getTime()/1000).toString();\r\n if (datosPagina.finh)\r\n newpath += \"&finh=\" + Math.round(datosPagina.finh.getTime()/1000).toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BAlertasCMUH\":\r\n case \"BAlertasCMUV\":\r\n case \"BAlertasCPPF\":\r\n newpath = rootPath + newpagina + \"?ac\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n if (datosPagina.txtLote && datosPagina.txtLote !== '')\r\n newpath += \"&txtLote=\" + datosPagina.txtLote;\r\n if (datosPagina.idLab > 0)\r\n newpath += \"&idLab=\" + datosPagina.idLab.toString();\r\n if (datosPagina.idPA > 0)\r\n newpath += \"&idPA=\" + datosPagina.idPA.toString();\r\n if (datosPagina.inicio)\r\n newpath += \"&inicio=\" + Math.round(datosPagina.inicio.getTime()/1000).toString();\r\n if (datosPagina.fin)\r\n newpath += \"&fin=\" + Math.round(datosPagina.fin.getTime()/1000).toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BCambioNombre\":\r\n case \"BCambioLaboratorio\":\r\n case \"BCambioPrecioMUH\":\r\n case \"BDesfinanciadosMUH\":\r\n case \"BFechaAlta\":\r\n newpath = rootPath + newpagina + \"?bf\";\r\n if (datosPagina.inicio)\r\n newpath += \"&inicio=\" + Math.round(datosPagina.inicio.getTime()/1000).toString();\r\n if (datosPagina.fin)\r\n newpath += \"&fin=\" + Math.round(datosPagina.fin.getTime()/1000).toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BNovedadesUltimoMes\":\r\n case \"BMedicamentosPSUltimoMes\":\r\n case \"BHistorialUsuario\":\r\n newpath = rootPath + newpagina + \"?um\";\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BExtranjerosEXT\":\r\n newpath = rootPath + newpagina + \"?ex\";\r\n if (datosPagina.newid > 0)\r\n newpath += \"&id=\" + datosPagina.newid.toString();\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n if (datosPagina.idPais > 0)\r\n newpath += \"&idPais=\" + datosPagina.idPais.toString();\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + datosPagina.pas.toString();\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n\r\n case \"BEspecieIndicacionMUV\":\r\n newpath = rootPath + newpagina + \"?ei\";\r\n if (datosPagina.idEspecie != \"\")\r\n newpath += \"&idEspecie=\" + datosPagina.idEspecie;\r\n if (datosPagina.idEnf != \"\")\r\n newpath += \"&idEnf=\" + datosPagina.idEnf;\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n \r\n case \"BReaccionesAdversasMUH\":\r\n newpath = rootPath + newpagina + \"?se\";\r\n if (datosPagina.idEpi > 0)\r\n newpath += \"&idEpi=\" + datosPagina.idEpi;\r\n if (datosPagina.idsEnfs && (datosPagina.idsEnfs.length > 0))\r\n newpath += \"&idsEnfs=\" + datosPagina.idsEnfs.toString();\r\n if (datosPagina.idsMeds && (datosPagina.idsMeds.length > 0))\r\n newpath += \"&idsMeds=\" + datosPagina.idsMeds.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BComposicionMUH\":\r\n case \"BComposicionMUV\":\r\n case \"BComposicionPPF\":\r\n newpath = rootPath + newpagina + \"?c\";\r\n if (datosPagina.tipoProd != \"\")\r\n newpath += \"&tipoProd=\" + datosPagina.tipoProd;\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + fromListaPAsComposToParamURL(datosPagina.pas);\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n if (datosPagina.idVia>0)\r\n newpath += \"&idVia=\" + datosPagina.idVia.toString();\r\n if (datosPagina.idFF>0)\r\n newpath += \"&idFF=\" + datosPagina.idFF.toString();\r\n if (datosPagina.uds>0)\r\n newpath += \"&uds=\" + datosPagina.uds.toString();\r\n if (datosPagina.pv>0)\r\n newpath += \"&pv=\" + datosPagina.pv.toString();\r\n if (datosPagina.ints && (datosPagina.ints.length > 0))\r\n newpath += \"&ints=\" + datosPagina.ints.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BPacienteIndicacionMUH\":\r\n newpath = rootPath + newpagina + \"?av\";\r\n if (datosPagina.idEnf>0)\r\n newpath += \"&idEnf=\" + datosPagina.idEnf.toString();\r\n if (datosPagina.idsPat && (datosPagina.idsPat.length > 0))\r\n newpath += \"&idsPat=\" + datosPagina.idsPat.toString();\r\n if (datosPagina.idsMed && (datosPagina.idsMed.length > 0))\r\n newpath += \"&idsMed=\" + datosPagina.idsMed.toString();\r\n if (datosPagina.idVia>0)\r\n newpath += \"&idVia=\" + datosPagina.idVia.toString();\r\n if (datosPagina.idFF>0)\r\n newpath += \"&idFF=\" + datosPagina.idFF.toString();\r\n if (datosPagina.edad)\r\n newpath += \"&edad=\" + datosPagina.edad.toString();\r\n if (datosPagina.undEdad)\r\n newpath += \"&undEdad=\" + datosPagina.undEdad;\r\n if (datosPagina.ints && (datosPagina.ints.length > 0))\r\n newpath += \"&ints=\" + datosPagina.ints.toString();\r\n if (datosPagina.ops && (datosPagina.ops.length > 0))\r\n newpath += \"&ops=\" + fromListaOpsAvanzadaToParamURL(datosPagina.ops);\r\n if (datosPagina.idsAlg && (datosPagina.idsAlg.length > 0))\r\n newpath += \"&idsAlg=\" + datosPagina.idsAlg.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BProductosIndicacionPPF\":\r\n newpath = rootPath + newpagina + \"?pi\";\r\n if (datosPagina.idEnf>0)\r\n newpath += \"&idEnf=\" + datosPagina.idEnf.toString();\r\n if (datosPagina.idFF>0)\r\n newpath += \"&idFF=\" + datosPagina.idFF.toString();\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + fromListaPAsComposToParamURL(datosPagina.pas);\r\n if (datosPagina.ints && (datosPagina.ints.length > 0))\r\n newpath += \"&ints=\" + datosPagina.ints.toString();\r\n if (datosPagina.ops && (datosPagina.ops.length > 0))\r\n newpath += \"&ops=\" + fromListaOpsAvanzadaToParamURL(datosPagina.ops);\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BFormaColorMUH\":\r\n newpath = rootPath + newpagina + \"?fc\";\r\n if (datosPagina.tipoFF!=='')\r\n newpath += \"&tipoFF=\" + datosPagina.tipoFF;\r\n if (datosPagina.idForma>0)\r\n newpath += \"&idForma=\" + datosPagina.idForma.toString();\r\n if (datosPagina.idColor1!==\"\")\r\n newpath += \"&idColor1=\" + datosPagina.idColor1.toString();\r\n if (datosPagina.idColor2!==\"\")\r\n newpath += \"&idColor2=\" + datosPagina.idColor2.toString();\r\n if (datosPagina.idSabor>0)\r\n newpath += \"&idSabor=\" + datosPagina.idSabor.toString();\r\n if (datosPagina.idEnf>0)\r\n newpath += \"&idEnf=\" + datosPagina.idEnf.toString();\r\n if (datosPagina.tamanos && (datosPagina.tamanos.length > 0))\r\n newpath += \"&tamanos=\" + datosPagina.tamanos.toString();\r\n if (datosPagina.CO1)\r\n newpath += \"&CO1=\" + datosPagina.CO1;\r\n if (datosPagina.CO2)\r\n newpath += \"&CO2=\" + datosPagina.CO2;\r\n if (datosPagina.col2)\r\n newpath += \"&col2=S\" \r\n if (datosPagina.anycol)\r\n newpath += \"&anycol=S\" \r\n if (datosPagina.ranura)\r\n newpath += \"&ranura=S\" \r\n if (datosPagina.logo)\r\n newpath += \"&logo=S\" \r\n if (datosPagina.difCol)\r\n newpath += \"&difCol=S\" \r\n if (datosPagina.ins1 && datosPagina.ins1 !== '')\r\n newpath += \"&ins1=\" + datosPagina.ins1;\r\n if (datosPagina.ins2 && datosPagina.ins2 !== '')\r\n newpath += \"&ins2=\" + datosPagina.ins2;\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + fromListaPAsComposToParamURL(datosPagina.pas);\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BAvanzadaMUH\":\r\n newpath = rootPath + newpagina + \"?av\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n /*if (datosPagina.idLab > 0)\r\n newpath += \"&idLab=\" + datosPagina.idLab.toString();\r\n if (datosPagina.idGT && datosPagina.idGT !== '')\r\n newpath += \"&idGT=\" + datosPagina.idGT;*/\r\n\r\n if (datosPagina.idsLab && (datosPagina.idsLab.length > 0))\r\n newpath += \"&idsLab=\" + datosPagina.idsLab.toString();\r\n if (datosPagina.idsGT && (datosPagina.idsGT.length > 0))\r\n newpath += \"&idsGT=\" + datosPagina.idsGT.toString();\r\n\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + fromListaPAsComposToParamURL(datosPagina.pas);\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n if (datosPagina.idVia>0)\r\n newpath += \"&idVia=\" + datosPagina.idVia.toString();\r\n if (datosPagina.idFF>0)\r\n newpath += \"&idFF=\" + datosPagina.idFF.toString();\r\n if (datosPagina.uds)\r\n newpath += \"&uds=\" + datosPagina.uds.toString();\r\n if (datosPagina.emr)\r\n newpath += \"&emr=\" + datosPagina.emr.toString();\r\n if (datosPagina.edad)\r\n newpath += \"&edad=\" + datosPagina.edad.toString();\r\n if (datosPagina.undEdad)\r\n newpath += \"&undEdad=\" + datosPagina.undEdad;\r\n if (datosPagina.ints && (datosPagina.ints.length > 0))\r\n newpath += \"&ints=\" + datosPagina.ints.toString();\r\n if (datosPagina.ops && (datosPagina.ops.length > 0))\r\n newpath += \"&ops=\" + fromListaOpsAvanzadaToParamURL(datosPagina.ops);\r\n\r\n if (datosPagina.fechaAutoIni)\r\n newpath += \"&fechaAutoIni=\" + Math.round(datosPagina.fechaAutoIni.getTime()/1000).toString();\r\n if (datosPagina.fechaAutoFin)\r\n newpath += \"&fechaAutoFin=\" + Math.round(datosPagina.fechaAutoFin.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaIni)\r\n newpath += \"&fechaBajaIni=\" + Math.round(datosPagina.fechaBajaIni.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaFin)\r\n newpath += \"&fechaBajaFin=\" + Math.round(datosPagina.fechaBajaFin.getTime()/1000).toString();\r\n if (datosPagina.fechaComerIni)\r\n newpath += \"&fechaComerIni=\" + Math.round(datosPagina.fechaComerIni.getTime()/1000).toString();\r\n if (datosPagina.fechaComerFin)\r\n newpath += \"&fechaComerFin=\" + Math.round(datosPagina.fechaComerFin.getTime()/1000).toString();\r\n if (datosPagina.fechaInSNSIni)\r\n newpath += \"&fechaInSNSIni=\" + Math.round(datosPagina.fechaInSNSIni.getTime()/1000).toString();\r\n if (datosPagina.fechaInSNSFin)\r\n newpath += \"&fechaInSNSFin=\" + Math.round(datosPagina.fechaInSNSFin.getTime()/1000).toString();\r\n if (datosPagina.fechaExSNSIni)\r\n newpath += \"&fechaExSNSIni=\" + Math.round(datosPagina.fechaExSNSIni.getTime()/1000).toString();\r\n if (datosPagina.fechaExSNSFin)\r\n newpath += \"&fechaExSNSFin=\" + Math.round(datosPagina.fechaExSNSFin.getTime()/1000).toString();\r\n if (datosPagina.fechaExFIIni)\r\n newpath += \"&fechaExFIIni=\" + Math.round(datosPagina.fechaExFIIni.getTime()/1000).toString();\r\n if (datosPagina.fechaExFIFin)\r\n newpath += \"&fechaExFIFin=\" + Math.round(datosPagina.fechaExFIFin.getTime()/1000).toString();\r\n if (datosPagina.idCampoP)\r\n newpath += \"&idCampoP=\" + datosPagina.idCampoP;\r\n if (datosPagina.idOpP)\r\n newpath += \"&idOpP=\" + datosPagina.idOpP.toString();\r\n if (datosPagina.idPredefP)\r\n newpath += \"&idPredefP=\" + datosPagina.idPredefP.toString();\r\n if (datosPagina.pre)\r\n newpath += \"&pre=\" + Math.trunc(datosPagina.pre * 100).toString();\r\n if (datosPagina.idsAA && (datosPagina.idsAA.length > 0))\r\n newpath += \"&idsAA=\" + datosPagina.idsAA.toString();\r\n if (datosPagina.idsAN && (datosPagina.idsAN.length > 0))\r\n newpath += \"&idsAN=\" + datosPagina.idsAN.toString();\r\n if (datosPagina.idsDC && (datosPagina.idsDC.length > 0))\r\n newpath += \"&idsDC=\" + datosPagina.idsDC.toString();\r\n if (datosPagina.idsMen && (datosPagina.idsMen.length > 0))\r\n newpath += \"&idsMen=\" + datosPagina.idsMen.toString();\r\n if (datosPagina.texto && datosPagina.texto !== '')\r\n newpath += \"&texto=\" + encodeURI(datosPagina.texto);\r\n if (datosPagina.noTexto)\r\n newpath += \"&noTexto=S\"\r\n if (datosPagina.idEpi)\r\n newpath += \"&idEpi=\" + datosPagina.idEpi.toString();\r\n\r\n if (datosPagina.enfsRel && (datosPagina.enfsRel.length > 0)){\r\n var strEnf = \"\";\r\n for (var i=0; i0) strEnf += \",\"\r\n strEnf += datosPagina.enfsRel[i].codigo + \"_\" + datosPagina.enfsRel[i].epi;\r\n }\r\n newpath += \"&enfsRel=\" + strEnf;\r\n } \r\n if (datosPagina.anasRel && (datosPagina.anasRel.length > 0)){\r\n var strAna = \"\";\r\n for (var i=0; i0) strAna += \",\"\r\n strAna += datosPagina.anasRel[i].codigo + \"_\" + datosPagina.anasRel[i].epi;\r\n }\r\n newpath += \"&anasRel=\" + strAna;\r\n } \r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n case \"BAvanzadaMUV\":\r\n newpath = rootPath + newpagina + \"?av\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n /*if (datosPagina.idLab > 0)\r\n newpath += \"&idLab=\" + datosPagina.idLab.toString();\r\n if (datosPagina.idGT && datosPagina.idGT !== '')\r\n newpath += \"&idGT=\" + datosPagina.idGT;*/\r\n\r\n if (datosPagina.idsLab && (datosPagina.idsLab.length > 0))\r\n newpath += \"&idsLab=\" + datosPagina.idsLab.toString();\r\n if (datosPagina.idsGT && (datosPagina.idsGT.length > 0))\r\n newpath += \"&idsGT=\" + datosPagina.idsGT.toString();\r\n\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + fromListaPAsComposToParamURL(datosPagina.pas);\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n if (datosPagina.idVia>0)\r\n newpath += \"&idVia=\" + datosPagina.idVia.toString();\r\n if (datosPagina.idFF>0)\r\n newpath += \"&idFF=\" + datosPagina.idFF.toString();\r\n if (datosPagina.uds)\r\n newpath += \"&uds=\" + datosPagina.uds.toString();\r\n if (datosPagina.fechaAutoIni)\r\n newpath += \"&fechaAutoIni=\" + Math.round(datosPagina.fechaAutoIni.getTime()/1000).toString();\r\n if (datosPagina.fechaAutoFin)\r\n newpath += \"&fechaAutoFin=\" + Math.round(datosPagina.fechaAutoFin.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaIni)\r\n newpath += \"&fechaBajaIni=\" + Math.round(datosPagina.fechaBajaIni.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaFin)\r\n newpath += \"&fechaBajaFin=\" + Math.round(datosPagina.fechaBajaFin.getTime()/1000).toString();\r\n if (datosPagina.ops && (datosPagina.ops.length > 0))\r\n newpath += \"&ops=\" + fromListaOpsAvanzadaToParamURL(datosPagina.ops);\r\n if (datosPagina.idEspecie != \"\")\r\n newpath += \"&idEspecie=\" + datosPagina.idEspecie;\r\n if (datosPagina.idEnf != \"\")\r\n newpath += \"&idEnf=\" + datosPagina.idEnf;\r\n if (datosPagina.idsMen && (datosPagina.idsMen.length > 0))\r\n newpath += \"&idsMen=\" + datosPagina.idsMen.toString();\r\n if (datosPagina.texto && datosPagina.texto !== '')\r\n newpath += \"&texto=\" + encodeURI(datosPagina.texto);\r\n if (datosPagina.noTexto)\r\n newpath += \"&noTexto=S\"\r\n if (datosPagina.idEpi)\r\n newpath += \"&idEpi=\" + datosPagina.idEpi.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n \r\n case \"BAvanzadaPAH\":\r\n newpath = rootPath + newpagina + \"?av\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n if (datosPagina.idsAF && (datosPagina.idsAF.length > 0))\r\n newpath += \"&idsAF=\" + datosPagina.idsAF.toString();\r\n if (datosPagina.idsAM && (datosPagina.idsAM.length > 0))\r\n newpath += \"&idsAM=\" + datosPagina.idsAM.toString();\r\n /*if (datosPagina.idGT && datosPagina.idGT !== '')\r\n newpath += \"&idGT=\" + datosPagina.idGT;*/\r\n if (datosPagina.idsGT && (datosPagina.idsGT.length > 0))\r\n newpath += \"&idsGT=\" + datosPagina.idsGT.toString();\r\n if (datosPagina.ops && (datosPagina.ops.length > 0))\r\n newpath += \"&ops=\" + fromListaOpsAvanzadaToParamURL(datosPagina.ops);\r\n if (datosPagina.idsMen && (datosPagina.idsMen.length > 0))\r\n newpath += \"&idsMen=\" + datosPagina.idsMen.toString();\r\n if (datosPagina.texto && datosPagina.texto !== '')\r\n newpath += \"&texto=\" + encodeURI(datosPagina.texto);\r\n if (datosPagina.noTexto)\r\n newpath += \"&noTexto=S\"\r\n if (datosPagina.idEpi)\r\n newpath += \"&idEpi=\" + datosPagina.idEpi.toString();\r\n if (datosPagina.enfsRel && (datosPagina.enfsRel.length > 0)){\r\n var strEnf = \"\";\r\n for (var i=0; i0) strEnf += \",\"\r\n strEnf += datosPagina.enfsRel[i].codigo + \"_\" + datosPagina.enfsRel[i].epi;\r\n }\r\n newpath += \"&enfsRel=\" + strEnf;\r\n } \r\n if (datosPagina.anasRel && (datosPagina.anasRel.length > 0)){\r\n var strAna = \"\";\r\n for (var i=0; i0) strAna += \",\"\r\n strAna += datosPagina.anasRel[i].codigo + \"_\" + datosPagina.anasRel[i].epi;\r\n }\r\n newpath += \"&anasRel=\" + strAna;\r\n } \r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n case \"BAvanzadaPPF\":\r\n newpath = rootPath + newpagina + \"?av\";\r\n if (datosPagina.txt && datosPagina.txt !== '')\r\n newpath += \"&med=\" + datosPagina.txt;\r\n /*if (datosPagina.idLab > 0)\r\n newpath += \"&idLab=\" + datosPagina.idLab.toString();\r\n if (datosPagina.idGT && datosPagina.idGT !== '')\r\n newpath += \"&idGT=\" + datosPagina.idGT;*/\r\n\r\n if (datosPagina.idsLab && (datosPagina.idsLab.length > 0))\r\n newpath += \"&idsLab=\" + datosPagina.idsLab.toString();\r\n if (datosPagina.idsGT && (datosPagina.idsGT.length > 0))\r\n newpath += \"&idsGT=\" + datosPagina.idsGT.toString();\r\n\r\n if (datosPagina.pas && (datosPagina.pas.length > 0))\r\n newpath += \"&pas=\" + fromListaPAsComposToParamURL(datosPagina.pas);\r\n if (datosPagina.solo)\r\n newpath += \"&solo=S\";\r\n else\r\n newpath += \"&solo=N\";\r\n if (datosPagina.idVia>0)\r\n newpath += \"&idVia=\" + datosPagina.idVia.toString();\r\n if (datosPagina.idFF>0)\r\n newpath += \"&idFF=\" + datosPagina.idFF.toString();\r\n /*if (datosPagina.idTipo>0)\r\n newpath += \"&idTipo=\" + datosPagina.idTipo.toString();\r\n if (datosPagina.idSubtipo>0)\r\n newpath += \"&idSubtipo=\" + datosPagina.idSubtipo.toString();*/\r\n if (datosPagina.idsTipo && (datosPagina.idsTipo.length > 0))\r\n newpath += \"&idsTipo=\" + datosPagina.idsTipo.toString();\r\n if (datosPagina.idsSubtipo && (datosPagina.idsSubtipo.length > 0))\r\n newpath += \"&idsSubtipo=\" + datosPagina.idsSubtipo.toString();\r\n if (datosPagina.uds)\r\n newpath += \"&uds=\" + datosPagina.uds.toString();\r\n if (datosPagina.fechaAutoIni)\r\n newpath += \"&fechaAutoIni=\" + Math.round(datosPagina.fechaAutoIni.getTime()/1000).toString();\r\n if (datosPagina.fechaAutoFin)\r\n newpath += \"&fechaAutoFin=\" + Math.round(datosPagina.fechaAutoFin.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaIni)\r\n newpath += \"&fechaBajaIni=\" + Math.round(datosPagina.fechaBajaIni.getTime()/1000).toString();\r\n if (datosPagina.fechaBajaFin)\r\n newpath += \"&fechaBajaFin=\" + Math.round(datosPagina.fechaBajaFin.getTime()/1000).toString();\r\n\r\n if (datosPagina.ints && (datosPagina.ints.length > 0))\r\n newpath += \"&ints=\" + datosPagina.ints.toString();\r\n if (datosPagina.ops && (datosPagina.ops.length > 0))\r\n newpath += \"&ops=\" + fromListaOpsAvanzadaToParamURL(datosPagina.ops);\r\n if (datosPagina.idsMen && (datosPagina.idsMen.length > 0))\r\n newpath += \"&idsMen=\" + datosPagina.idsMen.toString();\r\n if (datosPagina.texto && datosPagina.texto !== '')\r\n newpath += \"&texto=\" + encodeURI(datosPagina.texto);\r\n if (datosPagina.noTexto)\r\n newpath += \"&noTexto=S\"\r\n if (datosPagina.idEpi)\r\n newpath += \"&idEpi=\" + datosPagina.idEpi.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n \r\n case \"BInteraccionesMUH\":\r\n case \"BInteraccionesPPF\":\r\n newpath = rootPath + newpagina + \"?ia\";\r\n if (datosPagina.idsSel && (datosPagina.idsSel.length > 0))\r\n newpath += \"&idsSel=\" + datosPagina.idsSel.toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n break;\r\n\r\n case \"BDocumentos\":\r\n newpath = rootPath + newpagina + \"?do\";\r\n if (datosPagina.idMed > 0)\r\n newpath += \"&idMed=\" + datosPagina.idMed.toString();\r\n if (datosPagina.inicio)\r\n newpath += \"&inicio=\" + Math.round(datosPagina.inicio.getTime()/1000).toString();\r\n if (datosPagina.fin)\r\n newpath += \"&fin=\" + Math.round(datosPagina.fin.getTime()/1000).toString();\r\n newpath += CompletaURLBusqueda(datosPagina);\r\n if (infoPagina.tipoPagina===\"FormularioBusqueda\"){\r\n window.history.replaceState(null,'',newpath.replace(newpagina, infoPagina.codigoPagina));\r\n }\r\n AccionesComunesBusqueda(datosPagina);\r\n break;\r\n\r\n case \"FichaMUH\":\r\n case \"FichaMUV\":\r\n case \"FichaFM\":\r\n case \"FichaPPF\":\r\n case \"FichaPAH\":\r\n case \"FichaPAV\":\r\n case \"FichaASO\":\r\n case \"FichaASOH\":\r\n case \"FichaASOV\":\r\n case \"FichaING\": \r\n case \"FichaMHO\": \r\n case \"FichaPHO\": \r\n case \"FichaPAT\":\r\n case \"FichaPATH\":\r\n case \"FichaPATV\":\r\n case \"FichaEXT\":\r\n var newpath = rootPath + newpagina + \"/\" +datosPagina.newid.toString();\r\n AccionesComunesFicha(currentpath, datosPagina);\r\n break;\r\n case \"Configuracion\":\r\n case \"EditaBuscadores\":\r\n case \"FBLaboratorioMUH\":\r\n case \"FBLaboratorioMUV\":\r\n case \"FBLaboratorioPPF\":\r\n case \"FBAgrupHomoAutoMUH\":\r\n case \"FBAgrupHomoMUH\":\r\n case \"FBAgrupHomoAutoPPF\":\r\n case \"FBAgrupHomoPPF\":\r\n case \"FBFormaFarmaMUH\":\r\n case \"FBFormaFarmaMUV\":\r\n case \"FBFormaFarmaPPF\":\r\n case \"FBAFMUH\":\r\n case \"FBAMMUH\":\r\n case \"FBActPPF\":\r\n case \"FBAFMUV\":\r\n case \"FBAnalisisMUH\":\r\n case \"FBFarmacogeneticaMUH\":\r\n case \"FBGTATCMUH\":\r\n case \"FBGTATCMUV\":\r\n case \"FBGTVMPPMUH\":\r\n case \"FBGTVMPP2MUH\":\r\n case \"FBGTConPPF\":\r\n case \"FBGTSanPPF\": \r\n case \"FBSaborEdadPPF\":\r\n case \"FBEspecieIndicacionMUV\":\r\n case \"FBProblemasSumMUH\":\r\n case \"FBAlertasCMUH\":\r\n case \"FBAlertasCMUV\":\r\n case \"FBAlertasCPPF\":\r\n case \"FBReaccionesAdversasMUH\":\r\n case \"FBComposicionMUH\":\r\n case \"FBComposicionMUV\":\r\n case \"FBComposicionPPF\":\r\n case \"FBPacienteIndicacionMUH\":\r\n case \"FBProductosIndicacionPPF\":\r\n case \"FBFormaColorMUH\": \r\n case \"FBAvanzadaMUH\":\r\n case \"FBAvanzadaMUV\":\r\n case \"FBAvanzadaPAH\":\r\n case \"FBAvanzadaPPF\":\r\n case \"FBExtranjerosEXT\":\r\n case \"FBCambioNombre\":\r\n case \"FBCambioLaboratorio\":\r\n case \"FBCambioPrecioMUH\":\r\n case \"FBDesfinanciadosMUH\":\r\n case \"FBFechaAlta\":\r\n case \"FBDocumentos\":\r\n \r\n case \"FBTest\": \r\n newpath = rootPath;\r\n newpath += newpagina;\r\n break;\r\n\r\n default:\r\n console.log(newpagina);\r\n alert(\"Página no implementada\");\r\n break;\r\n }\r\n }\r\n else{\r\n newpath = rootPath;\r\n newpath += newpagina;\r\n }\r\n \r\n //if (QuitaFiltrosURL(newpath) != QuitaFiltrosURL(currentpath)){\r\n if (!MismaURL(newpath, currentpath)){\r\n setLastVisitedPath(currentpath);\r\n if (newpagina === \"BNovedadesUltimoMes\"){\r\n var auxdate = new Date();\r\n auxdate.setMonth(auxdate.getMonth() - 1);\r\n var aux = \"FBFechaAlta?inicio=\"+Math.round(auxdate.getTime()/1000).toString();\r\n history.push(aux);\r\n }\r\n if (newpagina === \"BMedicamentosPSUltimoMes\"){\r\n var auxdate = new Date();\r\n auxdate.setMonth(auxdate.getMonth() - 1);\r\n var aux = \"FBProblemasSumMUH?iniciod=\"+Math.round(auxdate.getTime()/1000).toString();\r\n history.push(aux);\r\n }\r\n history.push(newpath);\r\n window.scroll({ top: 0, behavior: 'smooth' })\r\n construyeInfoPaginaFromPath();\r\n }\r\n else{\r\n }\r\n }\r\n\r\n const Atras = () => { \r\n history.goBack();\r\n //setRefresh (prev => prev + 1 );\r\n }\r\n\r\n function checkAltoFiltros(e)\r\n {\r\n try{\r\n if (infoPagina && (infoPagina.tipoPagina = 'ResultadosBusqueda')){\r\n var itemRes = document.getElementById('divContainerRes');\r\n var itemFil = document.getElementById('divContainerFiltros');\r\n var offsetsRes =itemRes.getBoundingClientRect();\r\n var offsetsFil =itemFil.getBoundingClientRect();\r\n if (itemRes && itemFil && itemRes!==null && itemFil !== null){\r\n var topRes = offsetsRes.top;\r\n var topFil = offsetsFil.top;\r\n var altoFil = itemFil.clientHeight;\r\n var altoWin = document.documentElement.clientHeight;\r\n var offsetsRes =itemRes.getBoundingClientRect();\r\n var offsetsFil =itemFil.getBoundingClientRect();\r\n var topRes = offsetsRes.top;\r\n var topFil = offsetsFil.top;\r\n var altoFil = itemFil.clientHeight;\r\n var altoWin = document.documentElement.clientHeight;\r\n var minTop = (altoWin - altoFil)-16;\r\n if (minTopaltoWin)||(topFil<200)){\r\n if (maxTop + altoFil<=altoWin){\r\n newTop = maxTop\r\n }else{\r\n if (newTop maxTop){\r\n newTop = maxTop;\r\n }\r\n else{\r\n }\r\n }\r\n newTopStyle = newTop.toString() + 'px';\r\n itemFil.style.top = newTopStyle;\r\n }\r\n }else{\r\n itemFil.style.top = itemRes.style.top;\r\n } \r\n window.oldScroll = window.scrollY; \r\n }\r\n }\r\n }\r\n catch{}\r\n };\r\n\r\n const AlHacerScroll = (e) => {\r\n if (window.pageYOffset === 0){\r\n if (!isTopWindow)\r\n setIsTopWindow(true);\r\n RemoveClassNameToClassItems('header', null, 'active');\r\n RemoveClassNameToClassItems('contenedor__buscador__sticky.', null, 'active');\r\n var elements = document.getElementsByTagName('section');\r\n if (elements.length >0)\r\n {\r\n if (!elements[0].classList.contains(\"AccessNotAllowed\"))\r\n elements[0].classList.remove('active');\r\n }\r\n RemoveClassNameToClassItems('section__buscador', 'container', 'active');\r\n RemoveClassNameToClassItems('medicamento-infoGeneral', 'nav__info', 'active');\r\n RemoveClassNameToClassItems('medicamento-infoGeneral', 'medicamento', 'active');\r\n }\r\n else{\r\n if (isTopWindow)\r\n setIsTopWindow(false);\r\n AddClassNameToClassItems('header', null, 'active');\r\n AddClassNameToClassItems('contenedor__buscador__sticky.', null, 'active');\r\n var elements = document.getElementsByTagName('section');\r\n if (elements.length >0)\r\n {\r\n elements[0].classList.add('active');\r\n }\r\n AddClassNameToClassItems('section__buscador', 'container', 'active');\r\n AddClassNameToClassItems('medicamento-infoGeneral', 'nav__info', 'active');\r\n AddClassNameToClassItems('medicamento-infoGeneral', 'medicamento', 'active');\r\n }\r\n var infogenItems = document.getElementsByClassName('medicamento-infoGeneral');\r\n var infoGenItem = null;\r\n if (infogenItems.length>0)\r\n {\r\n infoGenItem = infogenItems[0];\r\n var secciones = document.getElementsByClassName('activeAside');\r\n var menus = document.getElementsByClassName(' elemento__menu__ficha');\r\n \r\n if (window.pageYOffset>=100)\r\n {\r\n for (var i = 0, len = secciones.length; i < len; i++) {\r\n var y0 = secciones[i].getBoundingClientRect().top;\r\n //if (y0>0 && y<= ((window.pageYOffset + 100) - offsetY ))\r\n if (y0>-80 && y0<= 200)\r\n {\r\n RemoveClassNameToClassItems('nav__info', 'elemento', 'active');\r\n if (menus.length>i)\r\n menus[i].classList.add('active');\r\n break;\r\n }\r\n }\r\n }\r\n else\r\n {\r\n RemoveClassNameToClassItems('nav__info', 'elemento', 'active');\r\n if (menus.length>0)\r\n menus[0].classList.add('active')\r\n }\r\n }\r\n checkAltoFiltros(e);\r\n }\r\n\r\n const CierraMenuBurguer = () => {\r\n \r\n RemoveClassNameToClassItems('child__menu1',null, 'active');\r\n RemoveClassNameToClassItems('child__menu1',null, 'active2');\r\n RemoveClassNameToClassItems('child__menu2',null, 'active');\r\n RemoveClassNameToClassItems('historial__content',null, 'active');\r\n RemoveClassNameToClassItems('child__1',null, 'active');\r\n RemoveClassNameToClassItems('child__2',null, 'active');\r\n RemoveClassNameToClassItems('nenuChilds',null, 'active');\r\n RemoveClassNameToClassItems('coverToggleMenu',null, 'active');\r\n RemoveClassNameToClassItems('coverToggleMenu','historial', 'active');\r\n RemoveClassNameToClassItems('toggle',null, 'active');\r\n RemoveClassNameToClassItems('backItem__3',null, 'active');\r\n RemoveClassNameToClassItems(\"historial\",null, 'active');\r\n RemoveClassNameToClassItems('backItem__2',null, 'active');\r\n RemoveClassNameToClassItems('backItem__1',null, 'active');\r\n RemoveClassNameToClassItems(\"coverMenuHistorial\",null, 'active');\r\n RemoveClassNameToClassItems('list__1',null,'displayblock');\r\n AddClassNameToClassItems('list__1',null,'displaynone');\r\n var imagen = document.getElementById('imgMenuBurger');\r\n if (imagen)\r\n imagen.src = rootPath + 'img/MBTran0.png';\r\n }\r\n\r\n const logOut = () => {\r\n AuthService.logout();\r\n }; \r\n\r\n const modalContentLicencia = (\r\n \r\n );\r\n\r\n return (\r\n
    \r\n {!haAceptadoLicencia ?\r\n \r\n :\r\n <>\r\n }\r\n \r\n
    CierraMenuBurguer()}>\r\n {(getIdProvincia()>0) ?\r\n (validaAcceso(infoPagina.codigoPagina) ?\r\n \r\n :\r\n \r\n )\r\n :\r\n \r\n }\r\n
    \r\n \r\n
    \r\n );\r\n\r\n};\r\n\r\nexport default Contenido;\r\n","import { useEffect, useState } from \"react\";\r\nimport BP2022AuthService from \"../services/auth.service\";\r\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"../services/utils\";\r\nimport Emergente from \"./Fichas/FichaMUH/Apartados/Cismed/Emergente\";\r\n\r\nconst Credenciales = (props) => {\r\n\r\n const [mensaje, setMensaje] = useState('');\r\n const [estado, setEstado] = useState(0);\r\n const [datosAcceso, setDatosAcceso] = useState(null);\r\n\r\n const getInfoCredenciales = (str) =>{\r\n setEstado(1);\r\n BP2022AuthService.infoCredenciales(str)\r\n .then((response) => {\r\n if ((response.ok) && (response.info)){\r\n setDatosAcceso({\r\n usuarioActual: response.info.UsuarioActual,\r\n passActual: response.info.PassActual,\r\n });\r\n setEstado(2);\r\n }\r\n else{\r\n setMensaje(response.msg);\r\n setEstado(3);\r\n } \r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n setMensaje(error.message);\r\n setEstado(3);\r\n });\r\n }\r\n\r\n useEffect (() =>{\r\n if (estado===0){\r\n var ruta = getCurrentURL();\r\n if (ruta.length>=rootPath.length)\r\n ruta = ruta.substring(rootPath.length);\r\n if (ruta.length>0){\r\n var params = getParamsURL(ruta);\r\n var str = getParam(params,'a');\r\n getInfoCredenciales(str);\r\n }\r\n }\r\n },[]);\r\n\r\n\r\n const cancelaProceso = () =>{\r\n window.location.href = \"https://botplusweb.farmaceuticos.com\";\r\n }\r\n\r\n\r\n const contenido = (\r\n (estado === 0) ?\r\n
    \r\n

    Iniciando...

    \r\n
    \r\n :(estado === 1) ?\r\n
    \r\n

    Buscando información...

    \r\n
    \r\n :(estado === 2) ?\r\n
    \r\n

    \r\n Usuario:\r\n {datosAcceso.usuarioActual}\r\n

    \r\n

    \r\n Contraseña:\r\n {datosAcceso.passActual}\r\n

    \r\n
    \r\n :(estado === 3) ?\r\n
    \r\n

    {mensaje}

    \r\n
    \r\n :\r\n
    \r\n

    Este paso no está implementado

    \r\n
    \r\n );\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nexport default Credenciales;\r\n","import React, { useState, useEffect } from \"react\";\n\nimport {\n BrowserRouter as Router,\n Link,\n useLocation,\n Switch,\n Route,\n} from \"react-router-dom\";\n\nimport \"./css/style.css\"\nimport \"./css/style.scss\"\nimport \"./css/fran.css\"\nimport \"./App.css\";\nimport BP2022AuthService from \"./services/auth.service\";\n\n\nimport Login from \"./components/Login\";\nimport Contenido from \"./components/Contenido\";\nimport Credenciales from \"./components/Credenciales\";\n\nimport AuthService from \"./services/auth.service\";\nimport { getCurrentURL, getParam, getParamsURL, rootPath } from \"./services/utils\";\n\nconst App = () => {\n const [currentUser, setCurrentUser] = useState(undefined);\n const [sesionOK, setSesionOk] = useState(true);\n const [estado, setEstado] = useState(0);\n const [mensaje, setMensaje] = useState(\"\");\n\n useEffect(() => {\n const user = AuthService.getLocalUser();\n if (!user || !user.botPlusUser || !sesionOK){\n var ruta = getCurrentURL();\n var params = getParamsURL(ruta);\n var keypass = getParam(params,'keypass');\n var token = getParam(params,'token');\n\n if (token && token !== ''){\n OpenDeferredSession(token);\n }else if (keypass && keypass !== ''){\n SpecialAuthentication(keypass);\n }else{\n IPAuthentication();\n }\n }else if (user != currentUser) {\n setCurrentUser(user);\n CheckNetworkUser();\n }\n }, [sesionOK]);\n\n const CheckNetworkUser = () => {\n BP2022AuthService.getNetworkUser()\n .then((response) => {\n var bpu = response.botPlusUser;\n var lu = JSON.parse(localStorage.getItem(\"login\"));\n if (lu.botPlusUser.Username === bpu.Username && response.Status===0){\n console.log(\"Renovado TOKEN\");\n localStorage.setItem(\"login\", JSON.stringify(response));\n if (estado != 0)\n setEstado(0);\n if (mensaje != \"\")\n setMensaje(\"\");\n }\n else{\n setEstado(response.Status);\n setMensaje(response.Mensaje);\n setSesionOk(false);\n }\n })\n .catch(function (error) {\n console.log('Error', error.message);\n setSesionOk(false);\n });\n };\n\n const OpenDeferredSession = (token) => {\n BP2022AuthService.openDeferredSesion(token)\n .then((response) => {\n //console.log(response);\n setCurrentUser(response.botPlusUser.Usuario)\n if (response.Status === 0){\n setEstado(0);\n window.location.reload();\n }\n if (mensaje != \"\")\n setMensaje(\"\");\n })\n .catch(function (error) {\n console.log('Error', error.message);\n setSesionOk(false);\n });\n };\n\n const SpecialAuthentication = (str) => {\n BP2022AuthService.getSpecialAuthentication(str)\n .then((response) => {\n if (response.Status===0){\n localStorage.setItem(\"login\", JSON.stringify(response));\n setCurrentUser(response.botPlusUser.Usuario)\n window.location.reload();\n }\n else{\n setEstado(response.Status);\n setMensaje(response.Mensaje);\n setSesionOk(false);\n }\n })\n .catch(function (error) {\n console.log('Error', error.message);\n setSesionOk(false);\n });\n };\n\n const IPAuthentication = () => {\n BP2022AuthService.getIPAuthentication()\n .then((response) => {\n if (response.Status===0){\n localStorage.setItem(\"login\", JSON.stringify(response));\n setCurrentUser(response.botPlusUser.Usuario)\n window.location.reload();\n }\n else{\n setEstado(response.Status);\n setMensaje(response.Mensaje);\n setSesionOk(false);\n }\n })\n .catch(function (error) {\n console.log('Error', error.message);\n setSesionOk(false);\n });\n };\n\n if (window.location.host === 'localhost:3000')\n document.title = \"BOTPLUS Desarrollo\";\n else if (window.location.host === 'botplus2022.nitramsoftware.es:8088')\n document.title = \"BOTPLUS Nitram\";\n else if (window.location.host === 'botpluswebdesa.consejo.es')\n document.title = \"BOTPLUS Pruebas\";\n else if (window.location.host === 'botpluswebpreproduccion.consejo.es')\n document.title = \"BOTPLUS Preproducción\";\n\n var ruta = getCurrentURL();\n if (ruta.length>=rootPath.length)\n ruta = ruta.substring(rootPath.length);\n var params = getParamsURL(ruta);\n var link = getParam(params,'link');\n\n\n return (\n \n
    \n \n \n \n \n \n \n \n \n {(currentUser) && sesionOK ? (\n \n ) : (\n \n ) } \n \n \n {(currentUser) && sesionOK ? (\n \n ) : (\n \n ) } \n \n \n {(currentUser) && sesionOK ? (\n \n ) : (\n \n ) } \n \n \n {(currentUser) && sesionOK ? (\n \n ) : (\n \n ) } \n \n \n
    \n
    \n );\n};\n\nexport default App;","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}