{"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","primerPrecioAutonomico","primerPrecioAutonomicoFuturo","primerLiteralPrecioAutonomico","tienePrimerPrecioAutonomico","segundoPrecioAutonomico","segundoPrecioAutonomicoFuturo","segundoLiteralPrecioAutonomico","tieneSegundoPrecioAutonomico","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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M,MAMTC,GAAsB,CAC/B,kBACA,kBACA,kBACA,oBACA,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,kBA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","file":"static/js/main.7624fe1b.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 cod: 'DISFRAC',\r\n tit: 'Autorizada dispensación fraccionada',\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 : 'Integración',\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 var primerPrecioAutonomico = ficha.AgrupacionCCAA? ficha.AgrupacionCCAA.PVPMenor : 0;\r\n var primerPrecioAutonomicoFuturo = ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA? ficha.PFuturos.AgrupacionCCAA.PVPMenor: 0;\r\n var primerLiteralPrecioAutonomico = literalPMenor;\r\n var tienePrimerPrecioAutonomico = tienePMenorCCAA;\r\n var segundoPrecioAutonomico = ficha.AgrupacionCCAA? ficha.AgrupacionCCAA.PVPMasBajo : 0;\r\n var segundoPrecioAutonomicoFuturo = ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA? ficha.PFuturos.AgrupacionCCAA.PVPMasBajo: 0;\r\n var segundoLiteralPrecioAutonomico = LiteralPMasBajo;\r\n var tieneSegundoPrecioAutonomico = tienePMasBajoCCAA;\r\n\r\n\r\n if ((ficha.CodTipoRegistro === \"MUH\") && (ficha.AgrupacionCCAA) && (ficha.IdCCAA === 6)){\r\n segundoPrecioAutonomico = ficha.AgrupacionCCAA? ficha.AgrupacionCCAA.PVPMenor : 0;\r\n segundoPrecioAutonomicoFuturo = ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA? ficha.PFuturos.AgrupacionCCAA.PVPMenor: 0;\r\n segundoLiteralPrecioAutonomico = literalPMenor;\r\n tieneSegundoPrecioAutonomico = tienePMenorCCAA;\r\n primerPrecioAutonomico = ficha.AgrupacionCCAA? ficha.AgrupacionCCAA.PVPMasBajo : 0;\r\n primerPrecioAutonomicoFuturo = ficha.PFuturos && ficha.PFuturos.AgrupacionCCAA? ficha.PFuturos.AgrupacionCCAA.PVPMasBajo: 0;\r\n primerLiteralPrecioAutonomico = LiteralPMasBajo;\r\n tienePrimerPrecioAutonomico = tienePMasBajoCCAA;\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

    {primerLiteralPrecioAutonomico}

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

    {numberWithCommas(primerPrecioAutonomico)}

    \r\n : \r\n

    -

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

    -

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

    {numberWithCommas(primerPrecioAutonomicoFuturo)}

    \r\n : \r\n

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

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

    EUR

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

    {segundoLiteralPrecioAutonomico}

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

    {numberWithCommas(segundoPrecioAutonomico)}

    \r\n : \r\n

    -

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

    -

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

    {numberWithCommas(segundoPrecioAutonomicoFuturo)}

    \r\n : \r\n

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

    \r\n )\r\n :\r\n \r\n )}\r\n {(tieneSegundoPrecioAutonomico ?\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 sigla: 'DNI',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'DNI').length > 0),\r\n texto: 'Anotación DNI persona que retira el medicamento',\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 sigla: 'LR_R',\r\n valor: (ficha.DatosF.filter(e => e.CodigoDato === 'LR_R').length > 0),\r\n texto: 'Anotación en libro recetario con receta',\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 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":""}