{"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","tipoEmergente","Grupos","msgAviso","setMsgAviso","strPaginaTrasAviso","setStrPaginaTrasAviso","idPaginaTrasAviso","setIdPaginaTrasAviso","muestraEmergenteGrupo","setMuestraEmergenteGrupo","contentEmergenteGrupo","setContentEmergenteGrupo","tituloEmeregenteGrupo","setTituloEmergenteGrupo","altoEmergenteGrupo","setAltoEmergenteGrupo","nombreGrupos","tituloGrupos","tipoRegLink","datosGrupos","MuestraEmergenteGrupo","muestra","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","tooltipEstadoAuto","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.13b22091.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, rootPath } 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 props.muestraEmergente(props.tipoEmergente)}>\r\n \"\"\r\n \r\n

    \r\n\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, rootPath } 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 const [muestraEmergenteGrupo, setMuestraEmergenteGrupo] = useState(false);\r\n const [contentEmergenteGrupo, setContentEmergenteGrupo] = useState('');\r\n const [tituloEmeregenteGrupo, setTituloEmergenteGrupo] = useState('');\r\n const [altoEmergenteGrupo, setAltoEmergenteGrupo] = useState('400px')\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 const MuestraEmergenteGrupo = (tipo) =>{\r\n var muestra = true;\r\n var content = <>;\r\n var titulo = '';\r\n var alto = '400px'\r\n if (tipoRegLink === \"MUH\"){\r\n if (tipo===\"AHA\"){\r\n content =(\r\n
    \r\n

    \r\n Permite obtener un listado con todos los medicamentos financiados que la Consejería de Sanidad haya incluido en la misma agrupación homogénea, al tener el mismo principio activo en cuanto a dosis, contenido, forma farmacéutica o agrupación de forma farmacéutica, y vía de administración, y que son intercambiables entre sí. Esta opción es la que debe seleccionarse para realizar una sustitución o para seleccionar un medicamento ante una prescripción por principio activo en recetas del Sistema Nacional de Salud. Recuerde que en ambas situaciones deberá seleccionar el medicamento ajustado a precio más bajo de la agrupación.\r\n

    \r\n
    \r\n );\r\n titulo = \"Agrupación homogénea autonómica\" \r\n }else if (tipo===\"AHN\"){\r\n content =(\r\n
    \r\n

    \r\n Permite obtener un listado con todos los medicamentos financiados que el Ministerio de Sanidad ha incluido en la misma agrupación homogénea, al tener el mismo principio activo en cuanto a dosis, contenido, forma farmacéutica o agrupación de forma farmacéutica, y vía de administración, y que son intercambiables entre sí. Esta opción es la que debe seleccionarse para realizar una sustitución o para seleccionar un medicamento ante una prescripción por principio activo en recetas de Mutualidades. Recuerde que en ambas situaciones deberá seleccionar el medicamento ajustado a precio más bajo de la agrupación.\r\n

    \r\n
    \r\n );\r\n titulo = \"Agrupación homogénea nacional\" \r\n }else if (tipo===\"ATC\"){\r\n content =(\r\n
    \r\n

    \r\n Permite obtener un listado con todos los medicamentos incluidos en el mismo grupo de la ATC por parte de la AEMPS.\r\n

    \r\n
    \r\n );\r\n titulo = \"Grupo terapéutico ATC\" \r\n alto = '180px' \r\n }else if (tipo===\"DCA\"){\r\n content =(\r\n
    \r\n

    \r\n Permite obtener un listado con todos los medicamentos incluidos la misma descripción clínica por parte de la AEMPS al tener la misma composición, dosis, forma farmacéutica, tamaño de envase, en su caso, independientemente de las opciones de financiación. Esta opción no debe usarse para realizar sustituciones con cargo al Sistema Nacional de Salud. No obstante, se puede utilizar para conocer posibles medicamentos intercambiables al medicamento prescrito en el caso de medicamentos que no tengan agrupaciones homogéneas o en caso de dispensaciones fuera del SNS.\r\n

    \r\n
    \r\n );\r\n titulo = \"Descripción clínica AEMPS\" \r\n alto = '380px'\r\n }else{\r\n muestra = false;\r\n }\r\n }else if (tipoReg === \"MUV\"){\r\n if (tipo===\"ATC\"){\r\n content =(\r\n
    \r\n

    \r\n Permite obtener un listado con todos los medicamentos veterinarios incluidos en el mismo grupo de la ATC por parte de la AEMPS.\r\n

    \r\n
    \r\n );\r\n titulo = \"Grupo terapéutico ATC\" \r\n alto = '180px' \r\n }else{\r\n muestra = false;\r\n }\r\n }else if (tipoReg === \"PPF\"){\r\n if (tipo===\"AHA\"){\r\n content =(\r\n
    \r\n

    \r\n Permite obtener un listado con todos los productos de parafarmacia financiados que la comunidad autónoma ha incluido en la misma agrupación homogénea, y que son intercambiables entre sí.\r\n

    \r\n
    \r\n );\r\n titulo = \"Agrupación homogénea autonómica\" \r\n alto = '210px' \r\n }else if (tipo===\"AHN\"){\r\n content =(\r\n
    \r\n

    \r\n Permite obtener un listado con todos los productos de parafarmacia financiados que MUFACE ha incluido en la misma agrupación homogénea, y que son intercambiables entre sí.\r\n

    \r\n
    \r\n );\r\n titulo = \"Agrupación homogénea mutualidades\" \r\n alto = '210px' \r\n }else if (tipo===\"NOM\"){\r\n content =(\r\n
    \r\n

    \r\n Permite obtener un listado con todos los productos de parafarmacia financiados que, según el Nomenclátor oficial de la prestación farmacéutica del Sistema Nacional de Salud (en el caso de productos sanitarios) o el Nomenclátor de productos dietéticos, están incluidos en un mismo grupo.\r\n

    \r\n
    \r\n );\r\n titulo = \"Clasificación Nomenclátor\" \r\n alto = '260px' \r\n }else if (tipo===\"CON\"){\r\n content =(\r\n
    \r\n

    \r\n Permite obtener un listado de todos los productos de parafarmacia que han sido clasificados por parte del CGCOF en la misma categoría en base a sus usos posibles usos.\r\n

    \r\n
    \r\n );\r\n titulo = \"Categorización Consejo General\" \r\n alto = '210px' \r\n }else{\r\n muestra = false;\r\n }\r\n }else if (tipoReg === \"MHO\"){\r\n if (tipo===\"ATC\"){\r\n content =(\r\n
    \r\n

    \r\n Permite obtener un listado con todos los medicamentos homeopáticos incluidos en el mismo grupo de la ATC por parte de la AEMPS.\r\n

    \r\n
    \r\n );\r\n titulo = \"Grupo terapéutico ATC\" \r\n alto = '180px' \r\n }else{\r\n muestra = false;\r\n }\r\n }else{\r\n muestra=false;\r\n }\r\n if (muestra){\r\n setContentEmergenteGrupo(content);\r\n setTituloEmergenteGrupo(titulo);\r\n setAltoEmergenteGrupo(alto);\r\n setMuestraEmergenteGrupo(true);\r\n }\r\n }\r\n\r\n const OcultaEmergenteGrupo = (tipo) =>{\r\n setMuestraEmergenteGrupo(false);\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 {(muestraEmergenteGrupo && contentEmergenteGrupo) ?\r\n \r\n :\r\n <>\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 { \r\n (tipoReg===\"PPF\") ?\r\n MuestraEmergenteGrupo(\"NOM\")}>\r\n \"\"\r\n \r\n :\r\n <>\r\n }\r\n

    \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 (tipoReg===\"MHO\" || tipoReg === \"MUV\" || tipoReg === \"PPF\" || tipoRegLink===\"MUH\") ?\r\n MuestraEmergenteGrupo(tipoReg===\"PPF\"?\"CON\":\"ATC\")}>\r\n \"\"\r\n \r\n :\r\n <>\r\n }\r\n

    \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 (tipoRegLink===\"MUH\") ?\r\n MuestraEmergenteGrupo(\"DCA\")}>\r\n \"\"\r\n \r\n :\r\n <>\r\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 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 tooltipEstadoAuto = \r\n
    \r\n

    \r\n En relación con la fecha de comercialización de los medicamentos incluida en BOT PLUS, esta información es meramente informativa, \r\n ya que procede de la última comunicación al respecto que voluntariamente ha hecho el titular de la autorización de comercialización \r\n del medicamento al CGCOF. A efectos de conocer la fecha de comercialización efectiva, debe atenderse a lo que le indiquen en cada \r\n momento los respectivos laboratorios comercializadores.\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 tooltip: (ficha.CodTipoRegistro === \"MUH\" ? tooltipEstadoAuto : null),\r\n altotooltip: '360px',\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":""}