{"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","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","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","tablaFM","Interoperable","LibroRecetario","tablaPF","LinksFichaMUH","colorlink","PreciosResumen","tienePFacturacion","PFact","ambitoHospitalario","DatosF","some","CodigoDato","PVL","precioAComparar","precioAComparar2","mostrarAvisoPMenorAuto","mostrarAvisoPMasBajoAuto","mostrarAvisoPMenorNac","AgrupacionNacional","mostrarAvisoPMasBajoNac","avisoprecioauto","avisoprecionac","infoAvisoPrecio","ItemTablaDF","claseDiv","srcImgTooltip","sigla","TablaDatosFarmaceuticos","versionFM","ResumenInfo","textoEncabezado","TipoPF","Homeopatico","svgImagenH","svgImagenV","svgImagenPF","svgImagenPAT","svgImagenPATV","svgImagen","PreciosFuturos","FilaPictogramas","pictogramas","Texto","Archivo","ZonaImagenYPictos","sliderRef","literalCodigo","imgDefecto","srcImagen","ImagenEnvase","URLFull","ImagenFormula","srcImagenFF","ImagenMatAcond","ImagenFormaF","tieneImagenes","arrayImgs","imagenesHTML","srcImg","onLoad","loadImageGrande","tieneImagen","maxHeight","estilhorizontal","h","w","maxHeightG","innerHeight","maxWidthG","seccionImagen","clickImagen","loadImage","ref","slidesToShow","slidesToScroll","infinite","speed","arrows","touchMove","accessibility","adaptativeHeight","dots","focusOnSelect","pictogramasEnFilas","Pictogramas","literalNumRegistro","tieneCodigoUdi","CodUDIDI","estiloCodigos1","estiloCodigos2","CodCAS","CodCIE","NumRegistro","overflowWrap","wordWrap","minHeight","InfoPrincipalMUH","FilaMenuIzquierda","iddiv","current","scrollIntoView","behavior","block","inline","cambiaImgIndex","MenuIzquierda","seccionActiva","apartadosHTML","FilaAnalisis","interferencia","Observaciones","tieneInfo","tooltip","handleMouseOverIcon","handleMouseOutIcon","clasesDivAnalisis","clasesDivEfecto","itemImg","itemTooltip","itemAccordionContent","itemInfoContent","rect","getBoundingClientRect","rectdiv","rectdiv2","finYdiv","finYdiv2","finYtootip","incremento","newAltura","idAnalisis","IdAnalisis","Analisis","Efecto","HTMLAnalisis","datosAnalisis","AnalisisPAAso","ContAcordeon","Causa","AnalisisAso","HTMLAnalisisAso","datosAnalisisAso","FilaTE","tiempoEspera","clasesDiv","itemDropdownContent","rectdiv3","finYdiv3","Tejido","Tiempo","IdUnidad","Unidad","TiemposEsperaEspecie","tiemposEspera","Especie","HTMLTiemposEsperaTejidos","TiemposEsperaTejido","tet","contenidoAcordeon","TiemposEspera","tiemposEsperaEspecie","tee","FilaNombrePA","IdPA","NombrePA","ConfusionNombresPA","HTMLNombresPA","nombresPA","Advertencias","datosAdver","datosAdvertencias","advertenciasPorTipo","tipoAdver","advertenciasTipo","textosSeccion","Textos","Epigrafe","AdvertenciasTipo","advertencias","Mensajes","mensa","URLPictograma","HTMLImagen","datosDopaje","FilaNombreValor","verEmergenteTooltip","setVerEmergenteTooltip","claseFila","claseColI","claseCol","claseColD","esCodigoONumero","esNumero","conValoresNumericos","MostrarAvisoOCambiaPagina","aviso","letterSpacing","contenidoValor","altotooltip","BloqueNombreValor","claseBloque","estiloEspecial","filasNumericas","filasHTML","bloque","FilaDDD","dosificacion","dosis","Dosis","Via","DDD","HTMLDDD","datosDDD","ddd","InfoGeneralPA","formula","FormulaEmpirica","regex","RegExp","formulaPartida","formulaBonita","isNaN","bloque1","EstadoAuto","Descripcion","PesoMolecular","estiloGrupos","bloqueATC","nombreCampo","DatosGrupos","contEP","busquedaActividad","HTMLAF","ActividadesFarmacologicas","af","HTMLCM","CaracteristicasMetabolicas","HTMLSin","Sinonimias","sino","HTMLAING","Actividades","contAF","contCM","contSin","contAING","contDDD","Dosificacion","DenQuiHTML","DenominacionQuimica","sonValoresNumericos","HTMLSinonimias","sinonimias","FilaLMR","lmr","LMR","LMREspecie","HTMLLMRTejidos","LMRsTejidos","lmrtej","estiloUltimaFila","UsoAnimalesProductores","datosAnimalesProductores","HTMLLMREspecie","LMRsEspecies","lmre","IngestaDiariaAceptada","bloqueComun","ResiduoMarcador","Cie","HTMLFila","HTMLTablaCie","InfoGeneralPAT","DescripcionCIE","Jerarquias","nivelSuperior","datosJerarquia","NivelSuperior","nivelInferior","NivelInferior","HTMLNS","enf","Enfermedad","HTMLNI","contNS","contNI","FilaTablaProductos","producto","TablaProductos","productos","prod","FilaLotes","lote","NumLote","FechaCaducidad","TablaLotes","HTMLLotes","lotes","AlertaCalidad","alerta","bloqueAlerta","NumAlerta","FechaAlerta","Todos","codTipoRegistro","LotesAfectados","htmlInfoAdicional","InfoAdicional","AlertasCalidad","datosAlertas","htmlAlertas","Alertas","ChartJS","register","CategoryScale","LinearScale","BarElement","Title","Tooltip","Legend","GraficaCismed","inactivo","datosCismed","estiloImg","WebkitFilter","datosGraph","labels","datasets","PorcentajeNacional","PorcentajeCCAA","PorcentajeProvincia","borderColor","borderWidth","optionsGraph","responsive","maintainAspectRatio","legend","text","scales","stacked","min","suggestedMin","suggestedMax","plugins","options","SemaforosCismed","getImagenFromEstado","getTextoFromEstado","imgSemaforoAnt","EstadoSemanaAnterior","imgSemaforoAct","EstadoSemanaActual","txtSemaforoAnt","txtSemaforoAct","EsInicioSemana","borderRadius","TablaFParticipantes","textShadow","abreEmergenteCismed","NFarmaciasNacional","NFarmaciasCCAA","NFarmaciasProvincia","NoConsolidada","FechaConsolidacion","CismedKO","yesterday","HayConexion","EstaAutorizado","DatosVisibles","NoConsolidado","CumpleCriterioDia","CumpleCriterioSemanaPasada","CumpleCriterioSemanaActual","AbreEmergenteCismed","CismedOK","textJustify","Cismed","Componente","alturadivinicial","PA","componente","PrincipioActivo","IdPrincipioActivo","sal","Sal","Cantidad","uni","codUnidad","CodUnidad","sub","resto","dangerouslySetInnerHTML","__html","classdivPA","unidadesLargas","sizeFontUnidades","IdPrincipal","estiloNombreComponente","siguiente","estiloCantidadComponente","estiloUnidadComponente","estiloP","CambiaPaginaFichaPA","Composicion","composicion","por","componentes","Componentes","excipientes","Excipientes","excipientesB","ExcipientesB","tituloE","NombreExcipientes","tituloE2","NombreExcipientesB","nombreComponentes","datosCompos","ComposicionPor","composiciones","compo","FilaNombreMed","clasesDivCompos","HTMLNombresComponentes","IdMed","NombreMed","ConfusionNombresMed","HTMLNombresMed","nombresMed","DatoFarmaceutico","dato","tienePicto","Dato","DatosConservacion","htmlConservacion","datosConservacion","Conservacion","infoConservacion","mensajesConservacion","MensajesConservacion","datosValidez","mensajecomodato","GrupoPolimorfismos","grupo","polimorfismos","Polimorfismos","recos","RecomendacionesTerapeuticas","estiloObservaciones","estiloRecomendaciones","estiloPrimeraFila","ultimaFila","Fenotipo","FarmacogeneticaBioPA","biomarcador","gruposPolimorfismos","FarmacogeneticaPA","farmacogenetica","biomarcadores","Biomarcadores","biom","esAcordeon","Farmacogenetica","farmacogeneticaComponentes","farmacogeneticas","fgpa","FilaBloquePrecios","estilopfuturo","valor2","colSpan","tienePFuturos","valor1","gridTemplateColumns","valor3","AgrupacionHomogenea","agrupFutura","claseDivTabla","Filas","agrup","tipoReg","literalAgrupacion","literalFecha","mostrarPExtra","PVPExtra","LiteralPExtra","TablaHTML","estilobordes","noBordeSup","ccaa","Grupos","msgAviso","setMsgAviso","strPaginaTrasAviso","setStrPaginaTrasAviso","idPaginaTrasAviso","setIdPaginaTrasAviso","nombreGrupos","tituloGrupos","tipoRegLink","datosGrupos","bloqueVTM","descClinica","GVTM","GVMP","GVMPP","sustituible","exceptSust","estiloSinBorde","estiloGTATC","hayPFuturos","pFuturos","hayAgrupAuto","agrupCCAA","hayAgrupNac","agrupNac","pFuturosHTML","estiloPrimerGrupo","estiloGrupoGT","GNomenclator","CambiaPaginaBusquedaGrupo","CambioHistorico","cambio","esCambioPrecio","PreAnterior","esCambioNombre","NomAnterior","esCambioLab","LabAnterior","tieneObservaciones","esECoH","FechaHistorico","htmlCambios","Cambios","Historico","htmlHistorico","datosHistorico","FilaTitulosIdent","htmlFila","idxBloque","borderTopWidth","FilaIdent","colsperrow","idxForma","URLForma","line","titulos","Identificacion","datosIdentificacion","tablas","iaux","Titulos","Identificaciones","Valores","htmlTablas","InformacionAdicional","datosInfoAdicional","BloquePrecios","PRef","PVLRef","literalPVPsinIVA","literalPVL","precioReferencia","IVA","CjtoRef","InfoGeneral","tooltipMaxEnvases","tooltipMaxEnvasesDieto","bloque1H","CodEAN13","MaxEnvReceta","bloque1V","bloque1PF","LiteralSubtipo","SubtipoPF","IdSubtipoPF","LiteralCodigoRegistro","precioAuto","formaFarma","FormaFarma","Formafarmaceutica","via","bloque1FM","lab","Laboratorio","bloque1HO","abreEmergenteLabo","bloque2","datosLaboratorio","Direccion","CodigoPostal","Localidad","Pais","Telefono","Fax","Email","IdPais","bloque2PF","Esteril","bloque3","EstadoNom","FechaAutorizacion","fecha0","FechaComercializacion","IdEstadoAuto","FechaInclusionSNS","FechaBajaInclusionFinanIndiv","IdEstadoNomPF","EstadoNomPF","FechaBajaEfectoYAccesorio","FechaExclusionSNS","FechaBaja","ocultaPrecios","modalTitulo","NombreLargo","PrecaucionExtrema","textos","formatedtexto","ProblemaS","problema","bloqueProblema","Estado","FechaInicio","FechaFin","ProblemasS","datosProblemasS","htmlProblemas","Problemas","EnfermedadesRelacionadas","enfermedadesHTML","enfermedades","CambiaAFichaEnf","codigoEnf","epigrafe","epigrafeActivo","IdEpigrafe","epigrafesActivos","datosTextos","TextosHTML","Epigrafes","anclasEpis","anc","hayIndicaciones","PatologiasIndicadas","hayContraindicaciones","PatologiasContraindicadas","hayPrecauciones","PatologiasPrecaucion","hayRA","EfectosAdversos","hayEnfermedades","Video","video","IdDocumento","idFrame","idMask","itemFrame","itemMask","handleVideoClick","Videos","datosVideos","htmlVideos","Apartado","detalleApartado","muestraEmergenteSimil","setMuestraEmergenteSimil","handleClickTitulo","DatosTextos","DatosAdvertencias","DatosConsejos","DatosPrecaucionExtrema","Interferencias","NombresSimilares","FarmacogeneticaComponentes","InfoConservacion","DatosHistorico","DatosIdentificacion","DatosAlertas","DatosProblemasS","DatosInfoAdicional","DatosCismed","DatosVideos","PackContiene","PackContenidoEn","DatosDopaje","DatosAnimalesProductores","Jerarquia","DatosJerarquia","DatosCIE","clickTop","scroll","ContenedorApartados","setRefresh","Apartados","aptdo","MensajesEmergentes","restoMensajes","mensajes","primerMensaje","keyME","URLImagen","htmlResto","mostrado","setMostrado","MargenDerechoPA","estildefecto","valorDopaje","FichaASO","setFicha","descargaFicha","descargaAdvertencias","descargaDopaje","descargaInterferencias","descargaFarmacogenetica","descargaHistorico","descargaInformacionAdicional","descargaUsoAnimalesProductores","descargaVideos","auxFicha","TipoPA","miId","miFicha","descargaHistorial","LinksFichaExt","TablaInfoPrincipalExt","ResumenInfoExt","ZonaImagenYPictosExt","InfoPrincipalExt","MargenDerechoExt","FichaEXT","descargaCompos","IdComposicionPor","miIdCPor","miIdFF","MargenDerechoFM","literalPrecio","ShortFinanciado","FichaFM","descargaMensajesEmergentes","IdFormaFarma","codGrupo","CodATCN5","CodATCN4","CodATCN3","descargaGrupos","CodVMPP","descargaDatosConservacion","miGTATC","nivelGTATC","miGTVMPP","l","FichaING","descargaTextos","MargenDerecho","useRef","notificado","precioFuturoAMostrar","textoDispensable","FichaMUH","setImgIndex","muestraAmpliada","setMuestraAmpliada","sliderRef2","idxSlider","setIdxSlider","muestraEmergentePrecios","setMuestraEmergentePrecios","sEpigrafes","createBrowserHistory","Number","seHaHechoScroll","SetSeHaHechoScroll","estiloImagenFlotante","alignContent","slickGoTo","descargaConsejos","descargaPrecaucionExtrema","descargaIdentificacion","descargaNombresSimilares","descargaAlertasCalidad","descargaProblemasSuministro","descargaDatosCismed","currentAncla","eAnt","eAct","leyenda","getLeyendaPictoCismed","IdPictograma","anadeIconoCismed","MargenDerchoMUV","txtDispensable","FichaMUV","descargaTiemposEspera","FichaPA","linkRef","FichaPAH","FichaPAV","MargenDerechoPAT","CodEspecialidadMedica","FichaPAT","descargaJerarquiaInfo","descargaSinonimias","descargaCieInfo","MargenDerechoPPF","FichaPPF","descargaFichaPF","descargaComposPF","CodConN5","CodConN4","CodConN3","descargaGruposPF","CodNom","descargaTextosPF","descargaAdvertenciasPF","descargaDatosConservacionPF","descargaHistoricoPF","descargaAlertasCalidadPF","descargaContenidoPackPF","descargaPacksContenedoresPF","descargaInformacionAdicionalPF","descargaVideosPF","rectpie","finpie","scrollHeight","offsetHeight","GConNivel1","GConNivel2","GConNivel3","GConNivel4","GConNivel5","AgrpacionCCAA","AgrpacionNacional","Ficha","visitados","findIndex","TituloFormularioBusqueda","codPagina","textoGen","CabeceraFormulario","SelectorUno","textPlaceholder","BorraItem","HTMLTagSelected","strlabel","bMostrar","textoDividido","alBorrar","ResumenBusqueda","condiciones","HTMLCondicionesBusqueda","cond","SelectorFechas","seleccion","setSeleccion","idHMTL","idDesde","idHasta","cambiaSeleccion","keyDateDown","charCode","estiloTitulo","registerLocale","es","createAutoCorrectedDatePipe","estilosubtitulos","fontFace","subtitulodesde","subtitulohasta","locale","cambioInicio","dateFormat","placeholderText","customInput","cambioFin","SelectorUno2","listavisible","setListaVisible","search1","dropdownclases","multiple","FBAlertasCalidad","listaLab","listaPA","tituloPA","placeholderNombre","PrincipiosActivos","Laboratorios","resumen","construyeResumenBusqueda","clickBuscar","BorraBusqueda","inputs","itemContainer","copiaFechas","origen","destino","estiloBotonesSup","estiloBotonesInf","listaCodValorLab","listaCodValorPA","arbol","KeyDownForm","CambiaTxt","CambiaTxtLote","nuevovalor","SelectorFecha","SelectorComposicion","valuesSelected","infoComponentes","setInfoComponentes","codiog","currentComponente","setCurrentComponente","negado","setNegado","itemsSelected","vs","vsitem","abs","infoComponente","salesPosibles","Sales","cantsPosibles","Cantidades","HTMLTagsSelected","SeleccionaItem","des","HTMLTags","borderLeft","borderLeftColor","borderLeftStyle","currentItemSelected","HTMLSalesYCantidades","ocultaNegado","alUpdatePA","ClickNegado","clickEnCabeceraSC","cp","cs","Cant","Cod","alBorrarCant","Des","alAnadirCant","sp","ss","alBorrarSal","alAnadirSal","DescargaInfoValuesSelected","listaCodigos","itemdescarga","itemvs","salvs","saldescarga","cantvs","cantdescarga","alCambiarPASolo","pasolo","alAnadirPA","tag","alBorrarPA","strComponente","opcionesComposHTML","muestraChecks","SelectorMulti2","inputText","setInputText","small","alCambiarTexto","codigo2","classInputName","estrecho","onpaste","ocultaTags","SelectorCHK","valoresCHK","opcionesCHK","idOrigen","HTMLChecks","opt","check","cambiaCheck","pie","SelectorSNX","valorSNX","setValorSNX","idChkAct","idChkSN","txtS","txtN","checkedChkAct","checkedChkSN","calculaSNX","act","SN","checkAct","checkSN","cambiaCheckActivo","cambiaCheckSN","for","SelectorEdad","unidad","ivalue","cambioEdad","newunidad","SelectorEnfRel","setEpigrafe","currentEnf","setCurrentEnf","EpigrafeByCod","ClickEpigrafe","alUpdate","itemepi","codEpi","esNegado","ItemResumenFiltros","descripcion","borraFiltro","idFiltro","SelectorNumero","setNum","valorVacio","sufijo","numNull","pulsaPunto","HTMLSufijo","cambioNum","checkDot","SelectorMulti2No","currentValue","ClickTag","nuevaProps","pal","alNegar","SelectorAnaRel","SelectorTexto","listaEpigrafes","estiloLab","tituloTexto","tituloEpigrafe","FBAvanzadaMUH","listaFFs","listaVias","listaIntsV","listaIntsNV","listaEnfs","listaGTs","listaLabs","listaCamposPrecio","listaOperadoresPrecio","listaPredefinidasPrecio","listaAgrupAuto","listaAgrupNac","listaDescrip","listaAnas","listaMens","listaEpis","ocultaIntolerancias","setOcultaIntolerancias","claseIntoleranciasOcultas","claseBotonIntolerancias","txtbotonIntolerancias","Vias","FormasFarma","IntoleranciasV","IntoleranciasNoV","Enfermedades","CamposPrecio","OperadoresPrecio","PredefinidasPrecio","AgrupacionesAutonomicas","AgrupacionesNacionales","DescripcionesClinicas","obtenDatoResumen","opciones","strValores","itemOpcion","itemSel","strVal","idxEstado","itemEstado","strValor","idxCom","itemCom","c","o","hayBusqueda","CambioIntolerancia","idInt","CambiaValorSNX","idSNX","CambiaValorCHK","idCHK","newitem","listaCodValorLabs","listaCodValorGTs","listaCodValorPAs","listaCodValorFFs","listaCodValorVias","listaCodValorEnfs","listaCodValorAnas","listaCodValorCPs","listaCodValorOPs","listaCodValorPPs","listaCodValorAAs","listaCodValorANs","listaCodValorDCs","listaCodValorMens","listaCodValorEpis","HTMLIntoleranciasV","int","HTMLIntoleranciasNV","clasedivmodulefilters","HTMLOpcionesDG","HTMLOpcionesDISP1","HTMLOpcionesDISP2","HTMLOpcionesDISP3","HTMLOpcionesDISP4","HTMLOpcionesDISP5","HTMLOpcionesPAC","HTMLOpcionesESP","HTMLOpcionesESP2","HTMLOpcionesOTR1","HTMLOpcionesOTR2","HTMLOpcionesCONV","HTMLDatosGenContenido","nuevonumero","HTMLFechasContenido","HTMLPrecioContenido","HTMLGruposContenido","HTMLDatosCompos","idSal","idUnd","cantidad","HTMLDatosDisp","HTMLDatosPac","nuevaedad","nuevaunidad","HTMLDatosOtr","HTMLDatosCon","HTMLAdvertenciasContenido","HTMLDatosEnf","idEnfermedad","HTMLDatosAna","HTMLDatosBusquedaTexto","nuevoepi","nuevotexto","FBAvanzadaMUV","listaEsps","Especies","listaCodValorEsps","HTMLOpcionesDISP","estiloFF","estiloVia","HTMLDatosEspInd","FBAvanzadaPAH","listaAFs","listaAMs","ActividadesF","ActividadesM","listaCodValorAFs","listaCodValorAMs","FBAvanzadaPPF","listaTipos","listaSubtipos","Tipos","Subtipos","listaCodValorTipos","listaCodValorSubtipos","HTMLOpcionesCON","FBComposicion","setMuestraAviso","nombreComponente","nombreComponentePlural","ActualizaFormasYVias","formularioVacio","FBDocumentos","listaMed","Medicamentos","listaCodValorMed","FBEspecieIndicacion","listaEnf","listaEspecie","listaCodValorEnf","listaCodValorEspecie","FBExtranjeros","listaPaises","Paises","CodPais","CambiaSolo","listaCodValorPais","FBFechas","PreviewForma","color1","color2","ListaFormas","xmlnsXlink","points","strokeWidth","FBFormaColor","listaFormas","listaColores","listaSabores","setTipoFF","col1","col1c","sab","ftr","ins","Formas","Colores","Sabores","getStrColor","idColor","col","AuxStr","getStrColorDesc","co","clasesHeaderColor2","clasesContentColor2","CambioColor1","CambioColor2","ToggleTamano","RemoveTamano","AddTamano","CambiaCO1","CambiaCO2","CambiaRanura","CambiaLogo","CambiaCol2","listaTamanos","listaCodValorSabores","listaCodValorColores","estiloSeleccionado","estiloTamanoSeleccionado","textoTamanoSeleccionado","estiloTamanoVacio","textoTamanoVacio","estiloVacio","HTMLFormas","forma","ClickForma","nomForma","HTMLTamanos","tam","HTMLColores","ClickColor1","HTMLColores2","estiloFormaMin","CambiaIns1","CambiaIns2","clickCambiaCol2","despliegaColor2","CambiaAnycol","CambiaDifCol","getStrTamanos","getStrInscripciones","backgroundImage","getStrSabor","getStrIndicacion","getStrPrincipiosActivos","FBPacienteIndicacion","listaMeds","listaAlgs","Alergias","itemPat","obtenDatoResumenPatologias","valSel","obtenDatoResumenPaciente","listaCodValorMeds","listaCodValorAlgs","HTMLPiePat","HTMLOpcionesPat","HTMLPiePac","HTMLOpcionesPac","HTMLDatosGeneral","HTMLColumna1","HTMLColumna2","HTMLDosColumnas","FBProductosIndicacion","listaIngredientes","FBProblemasSum","finoh","CambiaCheckMedExt","CambiaCheckNoSust","FBReaccionesAdversas","TituloByEpicod","AcordeonN1","handleClickAcordeonCheck","parent","checks","AcordeonN2","RamaSecundaria","contenidoHTML","hijo","abierta","RamaPrincipal","OptionSelect","SelectorTree","i1","i2","i3","i4","i5","arbolHTML","FBTest","lista1","lista2","lista3","lista4","itemA","idA","idL1","idL2","idsL3","snx","Dietoterapicos","NombresMeds","listaCodValor1","listaCodValor2","listaCodValor3","listaCodValor4","ocultaInputText","nuevoTexto","nuevoSNX","ItemRamaArbol3","accion","cierraRama","abreRama","clasesSubdiv","estilodisabled","estilodisabledtexto","miHTML","muestraCodigo","RamaArbol3","SelectorArbolM","valorSeleccionado","datosSeleccion","setDatosSeleccion","listaCompleta","setListaCompleta","listaFiltrada","setListaFiltrada","numMostrar","setNumMostrar","bMostrarMas","codigoJerarquico","nuevalistafiltrada","filtraLista","filtraValorSeleccionado","filtraListaConTexto","pendientes","currentlista","listaLlena","itemContieneTxt","encontrado","textoSeparado","itemContienePalabra","txt2","EsCodigoPadre","codigoRama","nuevaListaFiltrada","itemListaFiltrada","itemListaCompleta","nuevosDatosSeleccion","newtxt","cambiaTxt","cambiaTexto","FBusquedaArbol","setArbol","setTxt","DescargaLista","SelectorArbol3","EsAlgunCodigoPadre","newitem2","newitem3","newitem4","m","newitem5","FBusquedaArbolMultiple","buscaItemArbol","codigoBuscado","FBusquedaSaborEdad","arbolDieto","itemDieto","txtInputDieto","setTxtInputDieto","DescargaDatosSaborEdad","CambiaCheckSolo","listaCodValor","FBusquedaSimple","setLista","BorraValor","FBusquedaMultiple","ItemIndiceFormularios","claseli","colorFill","estiloSpan","IndiceFormularios","listaFormularios","setListaFormularios","tipoDesc","HTMLIndice","nuevaLista","FormularioBusqueda","setInfoPagina","f","getTituloFromCodigoPagina","formulario","cambiaTab","codTab","nuevaInfoPagina","tabsComposPF","tiposFF","HTMLTabs","Interaccion","itemInteraccion","claseMask","IdSemaforo","imgSentido","txtSentido","PA1","PA2","Sentido","clickDescripcion","header","covercard","anchos","HTMLSemaforoInter","mixBlendMode","TxtSel1","TipoRegistro1","IdSel1","IdPA1","DesSemaforo","TxtSel2","TipoRegistro2","IdSel2","IdPA2","clickDetalles","Significacion","Naturaleza","Medidas","Importancia","Mecanismo","Evidencias","Referencias","FiltroLista","opcionesLista","opcion","idInput","cambiaLista","handleCambioLista","which","blur","avoidEnter","FiltroListBox","FiltroText","CheckBoxFiltro","claseCheckBox","claseLabel","idCheckBox","valueCheckBox","handleCambioCheckBox","GrupoCheckBoxFiltro","listaCheckBox","FiltroBusqueda","claseAcordeon","handleClickAcordeonFiltro","MargenIzquierdoInter","htmlFiltros","listaPosibles","Codigo2","MedsSeleccionados","itemsHtml","nFiltrados","alLimpiar","BInteracciones","setListaPosibles","setIdsSel","listaResultados","setListaResultados","filtrosActivos","configuracionVista","setConfiguracionVista","setItemsSelected","filtrosInt","nuevosItemsSelected","ActulizaItemsSelected","BuscaInteracciones","AplicaFiltrosInteracciones","newpath","history","replaceState","nuevaListaPosibles","nuevaListaResultados","AplicaFiltro","filtroInter","filtroSel","RemoveMedicamento","nuevosIdsSel","HTMLListaInteracciones","inter","tempVar","sCodigo","isNumeric","tempList","added","CodigoNacional","nTotal","muestraMas","FilaListaResBusqueda","tiposPersona","Array","tiposAnimal","tiposParafar","patologias","conPrecio","conEstado","conLaboratorio","claseEstado","IdEstadoAutorizacion","claseTextoEstado","pictogramatipo","problemaSuministro","vesAFicha","infoPacienteIndica","mostrarPI","ListaAux1","icon","mostrarAuxStr","infoAuxStr","mensStrAux2","AuxStr2","infoAuxStr2","infoListaAuxStr","mostrarListaAuxStr","ListaStr","mostrarAuxFecha","infoAuxFecha","AuxFecha","infoAuxFecha2","AuxFecha2","infoFechaAlta","mostrarFechaAlta","infoFechaEntrada","mostrarFechaEntrada","infoFechaVisita","mostrarFVisita","infoBorrarItem","mostrarBotonBorrar","mostrarAvisoPrecio","mostrarAvisoPMenor","pvpMenor","AuxDbl","mostrarAvisoPMasBajo","pvpMasBajo","infoAvisoPrecioMenor","infoAvisoPrecioMasBajo","literalPVP","precio","AmbitoHospitalario","PFacturacion","mostrarHist","AuxStr3","estiloItem","oculto","visitado","espacioPrimero","espacioPrimeroPrecio","estiloNombre","textOverflow","estiloLaborat","comoPackList","EstadoAutorizacion","comoGrid","NombreAnterior","AuxInt","mostrarFuturo","FilaListaFM","txtFina","txtApor","txtVisa","OpcionOrden","index","currentIndex","getIndexSetOrden","obj","setOrden","EncabezadoListado","estadoOpcionesOrden","setEstadoOpcionesOrden","ordenesPosibles","mostrarDocumentos","cambioOrden","muestraBotonTabla","mostrarFM","mostrarEXT","claseSwitchGrid","claseSwitchList","claseSwitchPackList","listaPack","listaitems","nDescargados","numDescargados","numTotal","alExportar","mostrarLimpiaHistorial","alVaciar","borderLeftWidth","clickComoPackList","clickComoList","clickComoGrid","FilaListaEXT","FilaListaDOC","ListaResBusqueda","filtrosYlista","estadoVerComoGrid","setEstadoVerComoGrid","estadoVerListaPack","setEstadoVerListaPack","numColsGrid","numMostrados","unoOculto","divisor","claseContentResults","muestraTabla","borraDeLista","newLength","borderSpacing","maginBottom","sytle","FiltrosBusqueda","estiloAsideConPMenores","borderTopStyle","estiloAside","conPreciosMenores","estiloSegundoAside","borderBottomStyle","borderBottomColor","borderBottomWidth","literalPMasBajo","ResumenFiltros","displayValor","borraTodosFiltros","GrupoCamposExportables","campo","CodCampo","onCheck","HTMLAcordeon","CamposExportacion","listasPosibles","setListasPosibles","listasResultados","setCodTipoExporta","codsSeleccionados","setCodsSeleccionados","txtCancelar","setTxtCancelar","numTotalCampos","Campos","literalTitulo","maxCampos","lp","nuevasListasPosibles","checkCampo","HTMLGruposExportables","GrupoCamposExportable","CodGrupo","getTipoFromCodTipo","codTipo","abreEmergenteMaxRegs","tiposRegs","aux1","aux2","alSalir","AccesoRestringido","modalContentEST","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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ACA,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,GAAgC,CACzC,OACA,OACA,OACA,QAGG,SAASC,GAAmBC,EAAQnsB,GACvC,IAAIzO,GAAM,EAUV,MATY,QAARyO,EACI+rB,GAAoBrR,SAASyR,KAC7B56B,GAAM,GAEI,QAARyO,GACFgsB,GAAuBtR,SAASyR,KAChC56B,GAAM,GAGPA,ECl6CX,IAiGe66B,GAjGkB,SAAC3rB,GAE9B,IAAM4rB,EAAsC,SAACxqB,EAAG2lB,GAC5C,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yCACTurB,OAAS,gBACTM,aAAe,MAEnB,CACI7rB,OAAS,2BACTurB,OAAS,oBACTM,aAAe,MAEnB,CACI7rB,OAAS,+BACTurB,OAAS,gBACTM,aAAe,MAEnB,CACI7rB,OAAS,2BACTurB,OAAS,mBACTM,aAAe,QAI3B,CACIoE,YAAc,EACdI,gBAAkB,CAAC,EAAE,EAAE,EAAE,GACzBrwB,OAAS,cACTstB,UAAY,CACR,CACIttB,OAAS,uBACTurB,OAAS,gBACTM,aAAe,MAEnB,CACI7rB,OAAS,kCACTurB,OAAS,mBACTM,aAAe,MAEnB,CACI7rB,OAAS,yCACTurB,OAAS,kBACTM,aAAe,MAEnB,CACI7rB,OAAS,+BACTurB,OAAS,mBACTM,aAAe,MAEnB,CACI7rB,OAAS,mCACTurB,OAAS,UACTM,aAAe,MAEnB,CACI7rB,OAAS,4CACTurB,OAAS,aACTM,aAAe,MAEnB,CACI7rB,OAAS,qCACTurB,OAAS,yBACTM,aAAe,MAEnB,CACI7rB,OAAS,yCACTurB,OAAS,gBACTM,aAAe,QAI3B,CACIoE,YAAc,EACdI,gBAAkB,CAAC,EAAE,EAAE,EAAE,GACzBrwB,OAAS,eACTstB,UAAY,CACR,CACIttB,OAAS,uBACTurB,OAAS,gBACTM,aAAe,MAEnB,CACI7rB,OAAS,+BACTurB,OAAS,mBACTM,aAAe,MAEnB,CACI7rB,OAAS,gBACTurB,OAAS,oBACTM,aAAe,MAEnB,CACI7rB,OAAS,sCACTurB,OAAS,kBACTM,aAAe,MAEnB,CACI7rB,OAAS,4BACTurB,OAAS,mBACTM,aAAe,MAEnB,CACI7rB,OAAS,2CACTurB,OAAS,WACTM,aAAe,MAEnB,CACI7rB,OAAS,oBACTurB,OAAS,iBACTM,aAAe,MAEnB,CACI7rB,OAAS,yCACTurB,OAAS,gBACTM,aAAe,MAEnB,CACI7rB,OAAS,sBACTurB,OAAS,KACTM,aAAe,CACX,CACI7rB,OAAS,8CACTurB,OAAS,kBAEb,CACIvrB,OAAS,+CACTurB,OAAS,sBAEb,CACIvrB,OAAS,4CACTurB,OAAS,cAEb,CACIvrB,OAAS,sCACTurB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","file":"static/js/main.5a1a16b9.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 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 , 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 : \"BGTConPPF\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getGruposCon,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Grupo categorización Consejo\",\r\n placeholder : \"Escriba el código o nombre de la categoría\",\r\n valorNulo : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n if (tipoForm === \"FBGTSanPPF\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"p\",\r\n busqueda : \"BGTSanPPF\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getGruposSan,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Grupo clasificación Nomenclátor\",\r\n placeholder : \"Escriba el código o nombre del grupo\",\r\n valorNulo : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n esIdStr : true,\r\n }\r\n }\r\n\r\n /*\r\n if (tipoForm === \"FBGTVMPPMUH\"){\r\n res = {\r\n tipoForm : tipoForm,\r\n tipo : \"H\",\r\n busqueda : \"BGTVMPPMUH\",\r\n seleccionado : id,\r\n descarga : BP2022Service.getGruposVMPP,\r\n idSelect : \"Arbol__\" + tipoForm,\r\n tituloSelect : \"Descripción clínica AEMPS\",\r\n placeholder : \"Escriba el nombre de un principio activo\",\r\n valorNulo : '',\r\n aux : '',\r\n ancho : true,\r\n tipoFiltradoLista : 3,\r\n ocultaCodigo: true,\r\n esIdStr : true,\r\n }\r\n }\r\n */\r\n return res;\r\n}\r\n\r\n\r\nexport const OpcionesDG = [\r\n {\r\n cod: 'EST',\r\n tit: 'Estado autorización',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: '0'\r\n },\r\n {\r\n tit: 'Suspendido',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Anulado',\r\n val: '2'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'COM',\r\n tit: 'Comercializado',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDGPF = [\r\n {\r\n cod: 'EST',\r\n tit: 'Estado',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Alta',\r\n val: '0'\r\n },\r\n {\r\n tit: 'Suspendido',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Baja',\r\n val: '2'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'COM',\r\n tit: 'Comercializado',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDGPA = [\r\n {\r\n cod: 'EST',\r\n tit: 'Estado autorización',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: '0'\r\n },\r\n {\r\n tit: 'Suspendido',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Anulado',\r\n val: '2'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'COM',\r\n tit: 'Comercializado',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PSI',\r\n tit: 'Psicotropo',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DRG',\r\n tit: 'Estupefaciente',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDISP = [\r\n {\r\n cod: 'R',\r\n tit: 'Receta',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'D',\r\n tit: 'Dispensable en farmacia
    comunitaria',\r\n tip: 'SNX',\r\n },\r\n /*{\r\n cod: 'F',\r\n tit: 'Financiado en farmacia comunitaria',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Financiado',\r\n val: 'INSNS'\r\n },\r\n {\r\n tit: 'Excluido',\r\n val: 'EXO'\r\n },\r\n {\r\n tit: 'No financiado',\r\n val: 'NOF'\r\n },\r\n ],\r\n },*/\r\n {\r\n cod: 'F',\r\n tit: 'Financiado en farmacia
    comunitaria',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'EXO',\r\n tit: 'Excluido',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'EXOI',\r\n tit: 'Excluido con indicaciones
    financiadas',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'S',\r\n tit: 'Sustituible',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'A',\r\n tit: 'Aportación',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Reducida',\r\n val: 'AR'\r\n },\r\n {\r\n tit: 'Normal',\r\n val: 'AN'\r\n },\r\n {\r\n tit: 'Reducida en HFH',\r\n val: 'HFH'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'V',\r\n tit: 'Visado',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Sí',\r\n val: 'V'\r\n },\r\n {\r\n tit: 'Sólo para > 75',\r\n val: 'M75'\r\n },\r\n {\r\n tit: 'No',\r\n val: 'NV'\r\n },\r\n {\r\n tit: 'Validación mutualidades',\r\n val: 'VM'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'TLD',\r\n tit: 'Tratamiento larga duración',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'H',\r\n tit: 'Uso hospitalario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DH',\r\n tit: 'Diagnóstico hospitalario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DIHSC',\r\n tit: 'Reserva singular
    financiado hospital',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'VERIF',\r\n tit: 'Dispositivo seguridad',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'RGIE',\r\n tit: 'Con receta, en guía
    de enfermería',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PN',\r\n tit: 'Precio notificado',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LR',\r\n tit: 'Anotación libro recetario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LE',\r\n tit: 'Anotación libro
    estupefacientes',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDISPPPF = [\r\n {\r\n cod: 'R',\r\n tit: 'Receta',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'F',\r\n tit: 'Financiado',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'A',\r\n tit: 'Aportación',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Reducida',\r\n val: 'AR'\r\n },\r\n {\r\n tit: 'Normal',\r\n val: 'AN'\r\n },\r\n {\r\n tit: 'Nula',\r\n val: 'ANUL'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'V',\r\n tit: 'Visado',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesCON = [\r\n {\r\n cod: 'FR',\r\n tit: 'Nevera',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'CO',\r\n tit: 'Congelador',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LUZ',\r\n tit: 'Proteger de luz',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T25',\r\n tit: 'Conservar a 25ºC',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T30',\r\n tit: 'Conservar a 30ºC',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesPAC = [\r\n {\r\n cod: 'EMB',\r\n tit: 'Embarazo',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: 'A'\r\n },\r\n {\r\n tit: 'Precaución',\r\n val: 'P'\r\n },\r\n {\r\n tit: 'No recomendado',\r\n val: 'C'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'LAC',\r\n tit: 'Lactancia',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Autorizado',\r\n val: 'A'\r\n },\r\n {\r\n tit: 'Precaución',\r\n val: 'P'\r\n },\r\n {\r\n tit: 'No recomendado',\r\n val: 'C'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nexport const OpcionesADM = [\r\n {\r\n cod: 'DG',\r\n tit: 'Fraccionable',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'ALM',\r\n tit: 'Administración con alimentos',\r\n tip: 'CHK',\r\n ops: [\r\n {\r\n tit: 'Con alimentos',\r\n val: 'CA'\r\n },\r\n {\r\n tit: 'En ayunas',\r\n val: 'EA'\r\n },\r\n {\r\n tit: 'Indiferente',\r\n val: 'IN'\r\n },\r\n ],\r\n },\r\n {\r\n cod: 'SPD',\r\n tit: 'Acondicionable en SPD',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesESP = [\r\n {\r\n cod: 'O',\r\n tit: 'Ototóxico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'FS',\r\n tit: 'Fotosensible',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'DOP',\r\n tit: 'Dopante',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'COND',\r\n tit: 'Efecto sobre conducción',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'CIT',\r\n tit: 'Citotóxico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'HD',\r\n tit: 'Hemoderivado',\r\n tip: 'SNX',\r\n },\r\n] \r\nexport const OpcionesOTR = [\r\n {\r\n cod: 'E',\r\n tit: 'Estupefaciente',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PS',\r\n tit: 'Psicotropo',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'GEN',\r\n tit: 'Genérico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PUB',\r\n tit: 'Publicitario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'EC',\r\n tit: 'Envase clínico',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'IP',\r\n tit: 'Importación paralela',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'UNID',\r\n tit: 'Unidosis',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'MTP',\r\n tit: 'Tradicional plantas',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesOTRV = [\r\n {\r\n cod: 'E',\r\n tit: 'Estupefaciente',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'PS',\r\n tit: 'Psicotropo',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'HSI',\r\n tit: 'Medicamento homeopático',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'IP',\r\n tit: 'Importación paralela',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesDISPV = [\r\n {\r\n cod: 'R',\r\n tit: 'Receta',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'AEV',\r\n tit: 'Administración exclusiva veterinario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'ACV',\r\n tit: 'Administración control veterinario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LR',\r\n tit: 'Anotación libro recetario',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LE',\r\n tit: 'Anotación libro estupefacientes',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesESPV = [\r\n {\r\n cod: 'ESVAC',\r\n tit: 'Notificación ESVAC',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesCONV = [\r\n {\r\n cod: 'FR',\r\n tit: 'Nevera',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'CO',\r\n tit: 'Congelador',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'LUZ',\r\n tit: 'Proteger de luz',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T25',\r\n tit: 'Conservar a 25ºC',\r\n tip: 'SNX',\r\n },\r\n {\r\n cod: 'T30',\r\n tit: 'Conservar a 30ºC',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesCONPF = [\r\n {\r\n cod: 'FR',\r\n tit: 'Nevera',\r\n tip: 'SNX',\r\n },\r\n]\r\n\r\nexport const OpcionesPacientePI = [\r\n {\r\n cod: 'PAC',\r\n tit: 'Condiciones fisiológicas',\r\n tip: 'CHECK',\r\n ops: [\r\n {\r\n tit: 'Embarazada',\r\n val: 'EMB'\r\n },\r\n {\r\n tit: 'Deportista competición',\r\n val: 'DEP'\r\n },\r\n {\r\n tit: 'Lactancia',\r\n val: 'LAC'\r\n },\r\n {\r\n tit: 'Usuario lentes de contacto',\r\n val: 'LEN'\r\n },\r\n {\r\n tit: 'Niño',\r\n val: 'NIN'\r\n },\r\n {\r\n tit: 'Dificultad deglución',\r\n val: 'DEG'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nexport const OpcionesPacienteProductosIndi = [\r\n {\r\n cod: 'PAC',\r\n tit: 'Condiciones fisiológicas',\r\n tip: 'CHECK',\r\n ops: [\r\n {\r\n tit: 'Embarazada',\r\n val: 'EMB'\r\n },\r\n {\r\n tit: 'Lactancia',\r\n val: 'LAC'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nexport const OpcionesPatologiasPI = [\r\n {\r\n cod: 'PAT',\r\n tit: 'Otras patologías',\r\n tip: 'CHECK',\r\n ops: [\r\n {\r\n tit: 'Asma',\r\n val: '6'\r\n },\r\n {\r\n tit: 'Hipertensión',\r\n val: '2'\r\n },\r\n {\r\n tit: 'Insuf. hepática',\r\n val: '5'\r\n },\r\n {\r\n tit: 'Diabetes',\r\n val: '1'\r\n },\r\n {\r\n tit: 'Insuf. renal',\r\n val: '4'\r\n },\r\n {\r\n tit: 'Insuf. cardíaca',\r\n val: '3'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nexport const IconosListadosPI = [\r\n {\r\n cod: 1,\r\n txt: 'Uso precautorio con alguna enfermedad declarada',\r\n img: rootPath + 'img/pacienteindicacion/EnfermedadPrecaucion.png',\r\n },\r\n {\r\n cod: 2,\r\n txt: 'Interacción de importancia moderada detectada',\r\n img: rootPath + 'img/pacienteindicacion/InteraccionPrecaucion.png',\r\n },\r\n {\r\n cod: 3,\r\n txt: 'Embarazo: consultar con el médico',\r\n img: rootPath + 'img/pacienteindicacion/EmbarazoPrecaucion.gif',\r\n },\r\n {\r\n cod: 4,\r\n txt: 'Lactancia: consultar con el médico',\r\n img: rootPath + 'img/pacienteindicacion/LactanciaPrecaucion.gif',\r\n },\r\n {\r\n cod: 5,\r\n txt: 'Niños: medicamento con limitaciones',\r\n img: rootPath + 'img/pacienteindicacion/NinosPrecaucion.png',\r\n },\r\n {\r\n cod: 6,\r\n txt: 'Niños: autorización por peso',\r\n img: rootPath + 'img/pacienteindicacion/NinosPeso.png',\r\n },\r\n {\r\n cod: 7,\r\n txt: 'No aplicar con lentes de contacto',\r\n img: rootPath + 'img/pacienteindicacion/LentesPrecaucion.gif',\r\n },\r\n {\r\n cod: 8,\r\n txt: 'No adaptado a problemas de deglución',\r\n img: rootPath + 'img/pacienteindicacion/DDeglucionNo.png',\r\n },\r\n {\r\n cod: 9,\r\n txt: 'Adaptado a problemas de deglución',\r\n img: rootPath + 'img/pacienteindicacion/DDeglucionSi.png',\r\n },\r\n]\r\n\r\nexport const filtrosInteracciones = [\r\n {\r\n idGrupo : 'GRAV',\r\n nombre : 'Gravedad',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'IdSemaforo',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Grave',\r\n value:1,\r\n otrosValores: [9],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'GRAV' && x.valor ===1) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Moderada',\r\n value:2,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'GRAV' && x.valor ===2) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Leve',\r\n value:3,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'GRAV' && x.valor ===3) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n ]\r\n },\r\n {\r\n idGrupo : 'MED',\r\n nombre : 'Medidas a tomar',\r\n tipo: 'Check',\r\n excluyente : false,\r\n campolista: 'IdMedidas',\r\n tipoCampolista: 'int',\r\n abierto: true,\r\n valores : [\r\n {\r\n texto:'Evitar asociación',\r\n value:0,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===0) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Vigilar al enfermo',\r\n value:1,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===1) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Espaciar administración',\r\n value:2,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===2) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n {\r\n texto:'Tomar medidas dietéticas',\r\n value:3,\r\n otrosValores: [],\r\n activo: false,\r\n /*activo: (seleccionBusqueda.filtros ? \r\n (seleccionBusqueda.filtros.find(x => x.nombre === 'MED' && x.valor ===3) ? true : false)\r\n : false),*/\r\n nivel:1,\r\n },\r\n ]\r\n },\r\n]\r\n\r\nexport const paginasRestringidas = [\r\n \"BLaboratorioMUH\",\r\n \"BLaboratorioMUV\",\r\n \"BLaboratorioPPF\",\r\n \"BAgrupHomoAutoMUH\",\r\n \"BAgrupHomoMUH\",\r\n \"BAgrupHomoAutoPPF\",\r\n \"BAgrupHomoPPF\",\r\n \"BFormaFarmaMUH\",\r\n \"BFormaFarmaMUV\",\r\n \"BFormaFarmaPPF\",\r\n \"BAFMUH\",\r\n \"BAMMUH\",\r\n \"BActPPF\",\r\n \"BAFMUV\",\r\n \"BAnalisisMUH\",\r\n \"BFarmacogeneticaMUH\",\r\n //\"BPAMUH\",\r\n //\"BAsoMUH\",\r\n //\"BPAMUV\",\r\n //\"BAsoMUV\",\r\n //\"BIngPPF\",\r\n \"BTipoPPF\",\r\n \"BSubtipoPPF\",\r\n \"BIndicacionMUH\",\r\n \"BIndicacionMUV\",\r\n \"BContraindicacionMUH\",\r\n \"BPrecaucionMUH\",\r\n \"BReaccionAdversaMUH\",\r\n \"BGTATCMUH\",\r\n \"BGTATCMUV\",\r\n \"BGTVMPPMUH\",\r\n \"BGTConPPF\",\r\n \"BGTSanPPF\",\r\n \"BFormMagistralMUH\",\r\n \"BMedEspanolesMUH\",\r\n \"BConGluten\",\r\n \"BConLactosa\",\r\n \"BSinGluten\",\r\n \"BSinLactosa\",\r\n \"BDopantesMUH\",\r\n \"BNoLentes\",\r\n \"BComparaPrecioMenorMUH\",\r\n \"BPrecioNotificadoMUH\",\r\n \"BSeguimientoAdicionalMUH\",\r\n \"BDispositivoSeguridadMUH\",\r\n \"BLibroRecetarioM\",\r\n \"BLibroEstupefacientesM\",\r\n \"BNotificacionESVACMUV\",\r\n \"BEnfermedadesPATH\",\r\n \"BEnfermedadesPATV\",\r\n \"BNoSustituiblesMUH\",\r\n \"BDeduccionesRDLMUH\",\r\n \"BCambioPrecioPrevistoMUH\",\r\n \"BSaborEdadPPF\",\r\n \"BProblemasSumMUH\",\r\n \"BAlertasCMUH\",\r\n \"BAlertasCMUV\",\r\n \"BAlertasCPPF\",\r\n \"BCambioNombre\",\r\n \"BCambioLaboratorio\",\r\n \"BCambioPrecioMUH\",\r\n \"BDesfinanciadosMUH\",\r\n \"BMedicamentosPSUltimoMes\",\r\n \"BExtranjerosEXT\",\r\n \"BEspecieIndicacionMUV\",\r\n \"BReaccionesAdversasMUH\",\r\n \"BComposicionMUH\",\r\n \"BComposicionMUV\",\r\n \"BComposicionPPF\",\r\n \"BPacienteIndicacionMUH\",\r\n \"BFormaColorMUH\",\r\n \"BAvanzadaMUH\",\r\n \"BAvanzadaMUV\",\r\n \"BAvanzadaPAH\",\r\n \"BAvanzadaPPF\",\r\n \"EditaBuscadores\",\r\n \"FBLaboratorioMUH\",\r\n \"FBLaboratorioMUV\",\r\n \"FBLaboratorioPPF\",\r\n \"FBAgrupHomoAutoMUH\",\r\n \"FBAgrupHomoMUH\",\r\n \"FBAgrupHomoAutoPPF\",\r\n \"FBAgrupHomoPPF\",\r\n \"FBFormaFarmaMUH\",\r\n \"FBFormaFarmaMUV\",\r\n \"FBFormaFarmaPPF\",\r\n \"FBAFMUH\",\r\n \"FBAMMUH\",\r\n \"FBActPPF\",\r\n \"FBAFMUV\",\r\n \"FBAnalisisMUH\",\r\n \"FBFarmacogeneticaMUH\",\r\n \"FBGTATCMUH\",\r\n \"FBGTATCMUV\",\r\n \"FBGTVMPPMUH\",\r\n \"FBGTConPPF\",\r\n \"FBGTSanPPF\", \r\n \"FBSaborEdadPPF\",\r\n \"FBEspecieIndicacionMUV\",\r\n \"FBProblemasSumMUH\",\r\n \"FBAlertasCMUH\",\r\n \"FBAlertasCMUV\",\r\n \"FBAlertasCPPF\",\r\n \"FBReaccionesAdversasMUH\",\r\n \"FBComposicionMUH\",\r\n \"FBComposicionMUV\",\r\n \"FBComposicionPPF\",\r\n \"FBPacienteIndicacionMUH\",\r\n \"FBFormaColorMUH\", \r\n \"FBAvanzadaMUH\",\r\n \"FBAvanzadaMUV\",\r\n \"FBAvanzadaPAH\",\r\n \"FBAvanzadaPPF\",\r\n \"FBExtranjerosEXT\",\r\n \"FBCambioNombre\",\r\n \"FBCambioLaboratorio\",\r\n \"FBCambioPrecioMUH\",\r\n \"FBDesfinanciadosMUH\",\r\n \"BInteraccionesMUH\",\r\n \"BInteraccionesPPF\",\r\n \"BMedsHomeoMUH\",\r\n \"BProductosIndicacionPPF\",\r\n \"FBMedsHomeoMUH\",\r\n \"FBProductosIndicacionPPF\",\r\n \"BComparaPrecioMasBajoMUH\"\r\n]\r\n\r\nexport const paginasRestringidasEST = [\r\n //\"BLaboratorioMUH\",\r\n \"BLaboratorioMUV\",\r\n \"BLaboratorioPPF\",\r\n \"BAgrupHomoAutoMUH\",\r\n \"BAgrupHomoMUH\",\r\n \"BAgrupHomoAutoPPF\",\r\n \"BAgrupHomoPPF\",\r\n //\"BFormaFarmaMUH\",\r\n \"BFormaFarmaMUV\",\r\n \"BFormaFarmaPPF\",\r\n //\"BAFMUH\",\r\n //\"BAMMUH\",\r\n \"BActPPF\",\r\n \"BAFMUV\",\r\n //\"BAnalisisMUH\",\r\n //\"BFarmacogeneticaMUH\",\r\n //\"BPAMUH\",\r\n //\"BAsoMUH\",\r\n \"BPAMUV\",\r\n \"BAsoMUV\",\r\n \"BIngPPF\",\r\n \"BTipoPPF\",\r\n \"BSubtipoPPF\",\r\n //\"BIndicacionMUH\",\r\n \"BIndicacionMUV\",\r\n //\"BContraindicacionMUH\",\r\n //\"BPrecaucionMUH\",\r\n //\"BReaccionAdversaMUH\",\r\n //\"BGTATCMUH\",\r\n \"BGTATCMUV\",\r\n //\"BGTVMPPMUH\",\r\n \"BGTConPPF\",\r\n \"BGTSanPPF\",\r\n \"BFormMagistralMUH\",\r\n //\"BMedEspanolesMUH\",\r\n //\"BConGluten\",\r\n //\"BConLactosa\",\r\n //\"BSinGluten\",\r\n //\"BSinLactosa\",\r\n //\"BDopantesMUH\",\r\n //\"BNoLentes\",\r\n \"BComparaPrecioMenorMUH\",\r\n \"BPrecioNotificadoMUH\",\r\n \"BSeguimientoAdicionalMUH\",\r\n \"BDispositivoSeguridadMUH\",\r\n \"BLibroRecetarioM\",\r\n \"BLibroEstupefacientesM\",\r\n \"BNotificacionESVACMUV\",\r\n //\"BEnfermedadesPATH\",\r\n \"BEnfermedadesPATV\",\r\n \"BNoSustituiblesMUH\",\r\n \"BDeduccionesRDLMUH\",\r\n \"BCambioPrecioPrevistoMUH\",\r\n \"BSaborEdadPPF\",\r\n \"BProblemasSumMUH\",\r\n \"BAlertasCMUH\",\r\n \"BAlertasCMUV\",\r\n \"BAlertasCPPF\",\r\n \"BCambioNombre\",\r\n \"BCambioLaboratorio\",\r\n \"BCambioPrecioMUH\",\r\n \"BDesfinanciadosMUH\",\r\n \"BMedicamentosPSUltimoMes\",\r\n //\"BExtranjerosEXT\",\r\n \"BEspecieIndicacionMUV\",\r\n //\"BReaccionesAdversasMUH\",\r\n //\"BComposicionMUH\",\r\n \"BComposicionMUV\",\r\n \"BComposicionPPF\",\r\n //\"BPacienteIndicacionMUH\",\r\n //\"BFormaColorMUH\",\r\n \"BAvanzadaMUH\",\r\n \"BAvanzadaMUV\",\r\n //\"BAvanzadaPAH\",\r\n \"BAvanzadaPPF\",\r\n //\"EditaBuscadores\",\r\n //\"FBLaboratorioMUH\",\r\n \"FBLaboratorioMUV\",\r\n \"FBLaboratorioPPF\",\r\n \"FBAgrupHomoAutoMUH\",\r\n \"FBAgrupHomoMUH\",\r\n \"FBAgrupHomoAutoPPF\",\r\n \"FBAgrupHomoPPF\",\r\n //\"FBFormaFarmaMUH\",\r\n \"FBFormaFarmaMUV\",\r\n \"FBFormaFarmaPPF\",\r\n //\"FBAFMUH\",\r\n //\"FBAMMUH\",\r\n \"FBActPPF\",\r\n \"FBAFMUV\",\r\n //\"FBAnalisisMUH\",\r\n //\"FBFarmacogeneticaMUH\",\r\n //\"FBGTATCMUH\",\r\n \"FBGTATCMUV\",\r\n //\"FBGTVMPPMUH\",\r\n \"FBGTConPPF\",\r\n \"FBGTSanPPF\", \r\n \"FBSaborEdadPPF\",\r\n \"FBEspecieIndicacionMUV\",\r\n \"FBProblemasSumMUH\",\r\n \"FBAlertasCMUH\",\r\n \"FBAlertasCMUV\",\r\n \"FBAlertasCPPF\",\r\n //\"FBReaccionesAdversasMUH\",\r\n //\"FBComposicionMUH\",\r\n \"FBComposicionMUV\",\r\n \"FBComposicionPPF\",\r\n //\"FBPacienteIndicacionMUH\",\r\n //\"FBFormaColorMUH\", \r\n \"FBAvanzadaMUH\",\r\n \"FBAvanzadaMUV\",\r\n //\"FBAvanzadaPAH\",\r\n \"FBAvanzadaPPF\",\r\n //\"FBExtranjerosEXT\",\r\n \"FBCambioNombre\",\r\n \"FBCambioLaboratorio\",\r\n \"FBCambioPrecioMUH\",\r\n \"FBDesfinanciadosMUH\",\r\n //\"BInteraccionesMUH\",\r\n \"BInteraccionesPPF\",\r\n \"BMedsHomeoMUH\",\r\n \"BProductosIndicacionPPF\",\r\n \"FBMedsHomeoMUH\",\r\n \"FBProductosIndicacionPPF\",\r\n \"BComparaPrecioMasBajoMUH\"\r\n]\r\n\r\nexport const 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 }\r\n return res;\r\n}\r\n","import { validaAccesoPorRol } from '../../../services/objsAplicacion.js';\r\nimport {AddClassNameToClassItems\r\n , GetAntecesorWhithClassName\r\n , GetIndexFromIndexedClass\r\n , RemoveClassNameToClassItems} from '../../../services/utils.js'\r\n\r\n\r\nconst ItemMenuSecundarioMorado = (props) => {\r\n\r\n const HandleHover_OpcionMenunMoradaNivel2 = (e, hayclick) =>{\r\n if ((document.documentElement.clientWidth > 959) || hayclick)\r\n {\r\n const numPadres = 5;\r\n const numItems = 14;\r\n const itemMenuPadre = GetAntecesorWhithClassName(e.target, 'child__menu1');\r\n if (itemMenuPadre != null){\r\n const idxMenuPadre = GetIndexFromIndexedClass(itemMenuPadre,'child__',numPadres);\r\n const itemMenu = GetAntecesorWhithClassName(e.target,'menu__2_item');\r\n const idx = GetIndexFromIndexedClass(itemMenu,'menu__2_item__',numItems);\r\n const namechild = \"child__\" + idxMenuPadre.toString() + \"__\" + idx.toString();\r\n var i;\r\n for (i = 1; i<=numItems; i++)\r\n {\r\n var namechildtmp = \"child__\" + idxMenuPadre.toString() + \"__\" + i.toString();\r\n if (namechild != namechildtmp)\r\n RemoveClassNameToClassItems(namechildtmp,null,'active');\r\n else\r\n AddClassNameToClassItems(namechildtmp,null, 'active');\r\n }\r\n AddClassNameToClassItems('nenuChilds',null, 'active');\r\n AddClassNameToClassItems('coverToggleMenu','historial', 'active');\r\n }\r\n }\r\n }\r\n \r\n const HandleClick_OpcionMenunMoradaNivel2 = (e) =>{\r\n HandleHover_OpcionMenunMoradaNivel2(e,true);\r\n const numPadres = 5;\r\n const itemMenuPadre = GetAntecesorWhithClassName(e.target, 'child__menu1');\r\n const idxMenuPadre = GetIndexFromIndexedClass(itemMenuPadre,'child__',numPadres);\r\n const nameParent = \"child__\" + idxMenuPadre.toString();\r\n var i;\r\n for (i = 1; i<=numPadres; i++)\r\n {\r\n var nameparenttmp = \"child__\" + idxMenuPadre.toString();\r\n if (nameParent != nameparenttmp)\r\n RemoveClassNameToClassItems(nameparenttmp,null,'active2');\r\n else\r\n AddClassNameToClassItems(nameparenttmp,null, 'active2');\r\n }\r\n RemoveClassNameToClassItems('backItem__1',null, 'active');\r\n AddClassNameToClassItems('backItem__2',null, 'active');\r\n }\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n const tieneHijos = (props.item.subapartados != null ? true : false);\r\n const clasesItemA = \"menu__2_item menu__2_item__\" + props.idx.toString();\r\n const miCursor = (tieneHijos ? 'default' : 'pointer');\r\n\r\n const habilitado = (props.item.subapartados ? (props.item.subapartados.find(subitem => validaAccesoPorRol(subitem.pagina,props.perfil))) ? true : false : validaAccesoPorRol(props.item.pagina,props.perfil));\r\n\r\n\r\n //const estilo = (props.perfil === \"COL\") ? {cursor:'pointer', color:'#B9B9B9'} : {cursor:'pointer'}\r\n const estilo = (!habilitado) ? {cursor:'pointer', color:'#B9B9B9'} : {cursor:'pointer'}\r\n\r\n\r\n if (tieneHijos){ \r\n return (\r\n
  • \r\n HandleClick_OpcionMenunMoradaNivel2(e)} \r\n onMouseOver={(e) => HandleHover_OpcionMenunMoradaNivel2(e,false)} \r\n title={props.item.titulo} >{props.item.titulo}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n )\r\n }\r\n else {\r\n return (\r\n
  • \r\n CambiaPaginaSimple(props.item.pagina)} \r\n onMouseOver={(e) => HandleHover_OpcionMenunMoradaNivel2(e,false)} \r\n title={props.item.titulo} >{props.item.titulo}\r\n
  • \r\n )\r\n }\r\n}\r\nexport default ItemMenuSecundarioMorado;\r\n","import ItemMenuSecundarioMorado from \"./ItemMenuSecundarioMorado\"\r\n\r\nconst MenuSecundarioMorado = (props) => {\r\n const clasesItemUL = \"list list__1 list__purple child__\" + props.idx.toString() + \" child__menu1\"\r\n const items = props.lista.map(item => )\r\n return (\r\n
      \r\n {items}\r\n
    \r\n )\r\n}\r\nexport default MenuSecundarioMorado;\r\n","import { validaAccesoPorRol } from \"../../../services/objsAplicacion\";\r\n\r\nconst ItemMenuTerciarioMorado = (props) => {\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n\r\n //const estilo = (props.perfil === \"COL\") ? {cursor:'pointer', color:'#B9B9B9'} : {cursor:'pointer'}\r\n const estilo = (!validaAccesoPorRol(props.item.pagina,props.perfil)) ? {cursor:'pointer', color:'#B9B9B9'} : {cursor:'pointer'}\r\n\r\n return (\r\n
  • \r\n CambiaPaginaSimple(props.item.pagina)} \r\n title={props.item.titulo} >{props.item.titulo}\r\n
  • \r\n )\r\n}\r\nexport default ItemMenuTerciarioMorado;\r\n","import ItemMenuTerciarioMorado from \"./ItemMenuTerciarioMorado\"\r\n\r\n\r\nconst MenuTerciarioMorado = (props) => {\r\n const clasesItemUL = \"list list__2 list__purple child__\"+ props.idxPadre.toString() +\"__\"+ props.idx.toString() +\" child__menu2\"; \r\n const items = props.lista.map(item => )\r\n\r\n return (\r\n
      \r\n {items}\r\n
    \r\n )\r\n}\r\nexport default MenuTerciarioMorado;\r\n","import { FormatoFechaBonito } from \"../../../services/utils\";\r\n\r\nconst ItemContenidoHistorial = (props) => {\r\n const CambiaAFicha = () => {\r\n props.cambiaPagina({\r\n newpagina: \"Ficha\"+props.item.CodTipoRegistro,\r\n newid: props.item.Id,\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {FormatoFechaBonito(props.item.FechaVisita)}\r\n

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

    \r\n
    \r\n

    {props.item.TipoRegistro}

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

    Historial de navegación

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

    MIS BUSCADORES FAVORITOS

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

    Ayuda

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

    {props.titulo}

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

    {props.titulo}

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

    {props.titulo}

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

    {props.titulo}

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

    {titulo}…

    \r\n

    {texto}

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

    Buscando…

    \r\n

    Analizando 219.325 archivos

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

    {emp.Nombre}

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

    {emp.Key}

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

    quitaEmpresa(emp.IdEmpresa) }>

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

    Iniciando...

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

    Buscando información...

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

    {mensaje}

    \r\n

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

    \r\n

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

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

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

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

    Empresa

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

    KEY

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

     

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

    {mensaje}

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

    Este paso no está implementado

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

    {titulo}

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

    Iniciando...

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

    Buscando información...

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

    {mensaje}

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

    \r\n \r\n

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

    \r\n Usuario adicional:\r\n

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

    \r\n

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

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

    \r\n

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

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

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

    {mensaje}

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

    Este paso no está implementado

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

    Iniciando...

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

    {mensaje}

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

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

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

    \r\n

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

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

    \r\n

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

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

    \r\n

    \r\n \r\n

    \r\n

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

    \r\n

    \r\n \r\n

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

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

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

    \r\n

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

    \r\n

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

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

    \r\n

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

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

    \r\n

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

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

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

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

    \r\n

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

    \r\n

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

    \r\n

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

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

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

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

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

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

    \r\n

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

    \r\n

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

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

    \r\n

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

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

    {mensaje}

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

    Este paso no está implementado

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

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

    \r\n

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

    \r\n

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

    \r\n

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

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

    Gracias por acceder a BOT PLUS.\r\n

    \r\n

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

    \r\n

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

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

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

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

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

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

    Selecciona tus buscadores preferidos

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

    Uso humano

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

    Veterinaria

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

    Parafarmacia

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

    Exportar listado

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

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

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

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

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

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

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

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

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

    MIS BUSCADORES FAVORITOS

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

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

    \r\n
    \r\n

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

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

    Novedades

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

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

    \r\n

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

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

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

    \r\n

    \r\n {fecha}\r\n

    \r\n
  • \r\n );\r\n};\r\n\r\nexport default ProblemaSuministro;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport ProblemaSuministro from \"./ProblemaSuministro\";\r\nimport BP2022Service, {getProductosConPS} from \"../../../../services/user.service\";\r\nimport { PerfilUsuario, rootPath } from \"../../../../services/utils\";\r\n\r\nconst ProblemasSuministroInicio = (props) => {\r\n const [listaItems, setListaItems] = useState(null);\r\n\r\n useEffect(() => {\r\n descargaPS();\r\n }, [])\r\n \r\n const descargaPS = () => {\r\n BP2022Service.getProductosConPS(6)\r\n .then((response) => {\r\n setListaItems(response.data.Resultados);\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n };\r\n\r\n const problemas = listaItems ? (\r\n listaItems.map(fila => )\r\n ):(\r\n
    \r\n );\r\n\r\n const CambiaPaginaSimple = (codigoPagina) => {\r\n props.cambiaPagina({\r\n newpagina: codigoPagina\r\n });\r\n }\r\n \r\n const vesAUltimoMes = (codigo) =>{\r\n //CambiaPaginaSimple(\"BMedicamentosPSUltimoMes\")\r\n CambiaPaginaSimple(\"FBProblemasSumMUH\")\r\n }\r\n\r\n const rol = PerfilUsuario();\r\n const classButton = (rol === \"COL\" ? \"button button__arrow button__grey\" : \"button button__arrow button__purple\")\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ProblemasSuministroInicio;\r\n\r\n","import { PerfilUsuario } from \"../../../services/utils\";\r\nimport NovedadesInicio from \"./Novedades/NovedadesInicio\";\r\nimport ProblemasSuministroInicio from \"./ProblemasSuministro/ProblemasSuministroInicio\";\r\n\r\nconst NovedadesYProblemasSuministro = (props) => {\r\n var perfil = PerfilUsuario();\r\n //perfil = \"CLI\";\r\n var anchoNovedades = (perfil === \"EST\")? '100%' : '';\r\n return (\r\n
    \r\n
    \r\n \r\n {(perfil!==\"EST\")?\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\")?\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\r\n const tablaFM = [\r\n {\r\n titulo:'Interoperable',\r\n valor: ficha.Interoperable,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Receta médica',\r\n valor: ficha.Receta,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Financiado en farmacia comunitaria',\r\n valor: ficha.Financiado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Tipo de aportación',\r\n valor: ficha.TipoAportacion,\r\n valorPositivo: 'Normal',\r\n },\r\n {\r\n titulo:'Visado de inspección',\r\n valor: ficha.Visado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Anotación en libro recetario',\r\n valor: ficha.LibroRecetario,\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n\r\n if (!ficha.Interoperable) tablaFM.splice(0,1);\r\n\r\n const tablaPF = [\r\n {\r\n titulo:'Receta médica',\r\n valor: ficha.Receta,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Dispensable en farmacia comunitaria',\r\n valor: ficha.Dispensable,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Financiado en farmacia comunitaria',\r\n valor: ficha.Financiado,\r\n valorPositivo: 'Sí',\r\n },\r\n {\r\n titulo:'Tipo de aportación',\r\n valor: ficha.TipoAportacion,\r\n valorPositivo: 'Normal',\r\n },\r\n {\r\n titulo:'Visado de inspección',\r\n valor: ficha.Visado,\r\n valorPositivo: 'Sí',\r\n },\r\n ]\r\n\r\n if (ficha.CodTipoRegistro === \"MHO\"){\r\n tabla.splice(3,3);\r\n }\r\n\r\n const tablaHTML = ((ficha.CodTipoRegistro === \"MUV\") ? \r\n tablaV.map(fila => )\r\n : \r\n (((ficha.CodTipoRegistro === \"FM\") || (ficha.CodTipoRegistro === \"PO\") || (ficha.CodTipoRegistro === \"VI\")) ? \r\n tablaFM.map(fila => )\r\n :\r\n ((ficha.CodTipoRegistro === \"PPF\") ? \r\n tablaPF.map(fila => )\r\n :\r\n tabla.map(fila => )\r\n )\r\n )\r\n );\r\n return (\r\n
    \r\n

    Condiciones de dispensación y facturación

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

    \r\n {avisoprecioauto}\r\n

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

    \r\n {avisoprecionac}\r\n

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

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

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

    {numberWithCommas(precioAMostrar)}

    \r\n :\r\n

    -

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

    {numberWithCommas(preciofuturoAMostrar)}

    \r\n :\r\n

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

    EUR

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

    Precio facturación

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

    {numberWithCommas(ficha.PFact)}

    \r\n :\r\n

    -

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

    {numberWithCommas(ficha.PFuturos.PFact)}

    \r\n :\r\n

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

    EUR

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

    {ficha.CCAA}

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

    {literalPMenor}

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

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMenor)}

    \r\n : \r\n

    -

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

    -

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

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

    \r\n : \r\n

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

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

    EUR

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

    {LiteralPMasBajo}

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

    {numberWithCommas(ficha.AgrupacionCCAA.PVPMasBajo)}

    \r\n : \r\n

    -

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

    -

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

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

    \r\n : \r\n

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

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

    EUR

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

    {item.texto}

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

     

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

     

    \r\n

     

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

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

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

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

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

    Análisis clínico

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

    Efecto

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

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

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

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

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

    Tejido

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

    Tiempo

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

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

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

    Principios activos

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

    {texto.Epigrafe}

    \r\n

    {texto.Texto}

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

    {mensa.Mensaje}

    \r\n :\r\n

    {mensa.Mensaje}

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

    {advertenciasTipo.Tipo}

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

    {texto.Epigrafe}

    \r\n

    {texto.Texto}

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

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

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

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

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

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

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

    Dosis

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

    Unidades

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

    Via

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

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

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

        Denominación Química

    \r\n

    {ficha.DenominacionQuimica}

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

    {tituloGrupos}

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

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

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

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

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

    Tejido

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

    LMR

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

    Observaciones

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

    {lmr.Observaciones}

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

     

    \r\n

     

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

    {item.Codigo}

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

    {item.Valor}

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

    Código CIE

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

    Descripción

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

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

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

    {ficha.Descripcion}

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

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

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

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

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

    Código nacional

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

    Producto

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

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

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

    {FormatoFechaDDMMYYYY(lote.FechaCaducidad)}

    \r\n :\r\n

    -

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

    Nº LOTE

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

    FECHA DE CADUCIDAD

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

    Nº Alerta

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

    R_17/2021/

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

    Fecha alerta

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

    03/09/2021

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

    Descripción del defecto

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

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

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

    Clasificación del defecto

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

    CLASE 2

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

    Medidas cautelares

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

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

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

    Lotes afectados

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

    Nº de lote

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

    Fecha de caducidad lote

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

    V08540A

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

    31/03/2022

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

    W06660B

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

    28/02/2023

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

    W16689A

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

    31/07/2023

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

    Otros documentos relacionados

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

    Porcentaje de farmacias con falta de suministro

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

    Porcentaje de farmacias con falta de suministro

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

    Semana anterior

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

    Semana actual

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

    {txtSemaforoAnt}

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

    {txtSemaforoAct}

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

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

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

    España

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

    {datosCismed.NFarmaciasNacional} farmacias

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

    {datosCismed.CCAA}

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

    {datosCismed.NFarmaciasCCAA} farmacias

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

    {datosCismed.Provincia}

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

    {datosCismed.NFarmaciasProvincia} farmacias

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

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

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

    {FormatoFechaDDMMYYYY(datosCismed.FechaConsolidacion)}

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

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

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

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

    \r\n

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

    \r\n

    Actualmente {datosCismed.NFarmaciasNacional} farmacias participan en CisMED.

    \r\n

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

    \r\n

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

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

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

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

     

    \r\n

     

    \r\n

     

    \r\n

     

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

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

    \r\n

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

    \r\n

    CRITERIOS CISMED

    \r\n

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

    \r\n

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

    \r\n

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

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

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

    \r\n

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

    \r\n

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

    \r\n

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

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

     

    \r\n

     

    \r\n

     

    \r\n

     

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

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

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

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

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

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

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

    {nombreComponentes}

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

    Cantidad

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

    Unidad

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

    {tituloE}

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

    {tituloE2}

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

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

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

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

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

    Medicamentos

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

    Composición

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

    {dato.Dato}

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

    {props.titulo}

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

    \r\n {polimorfismos}\r\n

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

    {grupo.Fenotipo}

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

    {grupo.Efecto}

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

    \r\n {recos}\r\n

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

    {grupo.Observaciones}

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

    Biomarcador

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

    Nombre

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

    Tipo

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

    {biomarcador.Nombre}

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

    {biomarcador.Tipo}

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

    Observaciones

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

    {biomarcador.Observaciones}

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

    Polimorfismos del biomarcador

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

    Polimorfismo

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

    Fenotipo metabolizador

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

    Efecto farmacológico

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

    {props.titulo}

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

    {literalAgrupacion} {props.ccaa} {literalFecha}

    \r\n

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

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

    \r\n {msgAviso}\r\n

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

     

    \r\n
    \r\n

    Clasificación Nomenclátor

    \r\n

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

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

    {tituloGrupos}

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

     

    \r\n
    \r\n

    Descripciones clínicas AEMPS

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

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

    \r\n :\r\n

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

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

    Nombre anterior: {cambio.NomAnterior}

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

    Laboratorio anterior: {cambio.LabAnterior}

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

    {cambio.Observaciones}

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

    {FormatoFechaDDMMYYYY(fecha.Fecha)}

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

    {item}

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

    {line}

    )}
    \r\n :\r\n

    -

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

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

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

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

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

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

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

    {textoGen}: {props.titulo}

    \r\n :\r\n

    {props.titulo}

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

    {props.titulo}

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

    {cond.titulo}:

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

    {cond.valor}

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

    {cond.titulo}

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

    Mi búsqueda:

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

    {props.subtitulodesde}

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

    {props.subtitulohasta}

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

    {props.titulo}

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

    Nombre

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

    Número de lote

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

    Laboratorio

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

    {tituloPA}

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

    {currentItemSelected.valor}

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

    {props.titulo}

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

    {titulo}

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

    {titulo}

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

    {props.titulo}

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

    {props.tituloTexto}

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

    {props.tituloEpigrafe}

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

    Nombre

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

    Laboratorio

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

    Grupo terapéutico ATC

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

    Forma farmacéutica

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

    Vía de administración

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

    Precio

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

     

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

    Comparativa con precio menor/más bajo

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

    Agrupación homogénea nacional

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

    Agrupación homogénea autonómica

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

    Descripción clínica AEMPS

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

    Intolerancias

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

    Nombre

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

    Laboratorio

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

    Grupo terapéutico ATC

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

    Forma farmacéutica

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

    Vía de administración

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

    Especie destino

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

    Indicación

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

    Nombre

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

    Grupo terapéutico ATC

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

    Actividades farmacológicas:

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

    Efectos metabólicos:

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

    Nombre

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

    Laboratorio

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

    Categorización Consejo General

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

    Tipo de producto

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

    Subtipo de producto

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

    Forma farmacéutica

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

    Vía de administración

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

    Intolerancias

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

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

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

    Vía de administración

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

    Forma farmacéutica

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

    Intolerancias

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

    Medicamento/Principio activo

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

    Nombre

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

    País:

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

    Principios activos

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

    Forma:

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

    Tamaño:

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

    Ranura:

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

    Color 1:

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

    Inscripciones:

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

    Color 1:

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

    Color 2:

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

    Sabor:

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

    Indicacion:

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

    Composición de búsqueda:

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

    Forma:

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

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

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

    Tamaño:

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

    {getStrTamanos()}

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

    Ranura:

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

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

    Inscripciones:

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

    {getStrInscripciones()}

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

    Color:

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

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

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

    Color 2:

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

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

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

    Sabor:

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

    {getStrSabor()}

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

    Indicación:

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

    {getStrIndicacion()}

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

    Principios activos:

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

    {getStrPrincipiosActivos()}

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

    Tiene comprimidos diferentes

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

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

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

    Debe indicar la edad del niño

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

    Indicación

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

    Vía de administración

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

    Forma farmacéutica

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

    Otros tratamientos

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

    Intolerancias

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

    Puede seleccionar otras alergias en el listado inferior.

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

    Características del paciente

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

    Situación del paciente

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

    Características del producto

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

    Ingredientes

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

    Forma farmacéutica

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

    Características del paciente

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

    Intolerancias

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

    Nombre

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

    Síntomas / Enfermedades:

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

    Relación:

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

    Medicamentos y/o Principios activos

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

    {hijo.Valor}

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

    Sabores

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

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

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

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

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

    Edad

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

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

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

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

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

    Sabores

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

    Edad

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

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

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

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

    \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FBusquedaMultiple;\r\n","const ItemIndiceFormularios = (props) => {\r\n const item = props.item;\r\n const activo = props.activo;\r\n const claseli = (activo ? \"active\" : \"\");\r\n const colorFill = (activo ? \"#B9B9B9\" : \"#81509a\");\r\n const estiloSpan = (activo ? {cursor:'default'} : {cursor:'pointer'})\r\n\r\n return (\r\n
  • \r\n props.cambiaPagina({newpagina : item.codigoPagina})} style={estiloSpan}>{item.display}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n );\r\n};\r\n\r\nexport default ItemIndiceFormularios;\r\n","import { useEffect, useState } from \"react\";\r\nimport { getDescripcionTipo, getListaFormularios } from \"../../../services/utils\";\r\nimport ItemIndiceFormularios from \"./ItemIndiceFormularios\";\r\nimport BP2022Service from \"./../../../services/user.service\";\r\n\r\nconst IndiceFormularios = (props) => {\r\n const tipo = props.tipo;\r\n const codigoPagina = props.codigoPagina;\r\n const [listaFormularios, setListaFormularios] = useState(getListaFormularios(tipo));\r\n const tipoDesc = getDescripcionTipo(tipo);\r\n const HTMLIndice = listaFormularios.map(item => \r\n \r\n );\r\n\r\n useEffect(() => {\r\n if (tipo === \"P\"){\r\n const nuevaLista = JSON.parse(JSON.stringify(listaFormularios));\r\n BP2022Service.moduloIndicacionesPF()\r\n .then((response) => {\r\n if (response.data){\r\n nuevaLista.splice(5,0,\r\n {\r\n codigoPagina: \"FBProductosIndicacionPPF\",\r\n display: \"Productos y complementos alimenticios\",\r\n });\r\n setListaFormularios(nuevaLista);\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Error', error.message);\r\n });\r\n }\r\n }, []);\r\n\r\n\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default IndiceFormularios;\r\n","import { useEffect, useState } from \"react\";\r\nimport { getDatosFormulario } from \"../../services/objsAplicacion\";\r\nimport { getTipoFromCodigoPagina, getTituloFromCodigoPagina } from \"../../services/utils\";\r\nimport CabeceraFormulario from \"./CabeceraFormulario/CabeceraFormulario\";\r\nimport FBAlertasCalidad from \"./Formularios/FBAlertasCalidad\";\r\nimport FBAvanzadaMUH from \"./Formularios/FBAvanzadaMUH\";\r\nimport FBAvanzadaMUV from \"./Formularios/FBAvanzadaMUV\";\r\nimport FBAvanzadaPAH from \"./Formularios/FBAvanzadaPAH\";\r\nimport FBAvanzadaPPF from \"./Formularios/FBAvanzadaPPF\";\r\nimport FBComposicion from \"./Formularios/FBComposicion\";\r\nimport FBDocumentos from \"./Formularios/FBDocumentos\";\r\nimport FBEspecieIndicacion from \"./Formularios/FBEspecieIndicacion\";\r\nimport FBExtranjeros from \"./Formularios/FBExtranjeros\";\r\nimport FBFechas from \"./Formularios/FBFechas\";\r\nimport FBFormaColor from \"./Formularios/FBFormaColor\";\r\nimport FBPacienteIndicacion from \"./Formularios/FBPacienteIndicacion\";\r\nimport FBProductosIndicacion from \"./Formularios/FBProductosIndicacion\";\r\nimport FBProblemasSum from \"./Formularios/FBProblemasSum\";\r\nimport FBReaccionesAdversas from \"./Formularios/FBReaccionesAdversas\";\r\nimport FBTest from \"./Formularios/FBTest\";\r\nimport FBusquedaArbol from \"./Formularios/FBusquedaArbol\";\r\nimport FBusquedaArbolMultiple from \"./Formularios/FBusquedaArbolMultiple\";\r\nimport FBusquedaSaborEdad from \"./Formularios/FBusquedaSaborEdad\";\r\nimport FBusquedaSimple from \"./Formularios/FBusquedaSimple\";\r\nimport FBusquedaMultiple from \"./Formularios/FBusquedaMultiple\";\r\nimport IndiceFormularios from \"./IndiceFormularios/IndiceFormularios\";\r\n\r\nconst FormularioBusqueda = (props) => {\r\n const [infoPagina, setInfoPagina] = useState(props.infoPagina);\r\n const tipo = getTipoFromCodigoPagina(infoPagina.codigoPagina);\r\n var titulo = getTituloFromCodigoPagina(infoPagina.codigoPagina);\r\n\r\n if ((infoPagina.codigoPagina) === \"FBAFMUV\")\r\n titulo = \"Principios activos veterinarios por actividad farmacológica\"\r\n\r\n const datosFormulario = (infoPagina.seleccionados) ? getDatosFormulario(infoPagina.codigoPagina, infoPagina.seleccionados) : getDatosFormulario(infoPagina.codigoPagina, infoPagina.id);\r\n\r\n const formulario = (\r\n (infoPagina.codigoPagina === \"FBAgrupHomoAutoMUH\")\r\n || (infoPagina.codigoPagina === \"FBAgrupHomoMUH\")\r\n || (infoPagina.codigoPagina === \"FBAgrupHomoAutoPPF\")\r\n || (infoPagina.codigoPagina === \"FBAgrupHomoPPF\")\r\n || (infoPagina.codigoPagina === \"FBAnalisisMUH\")\r\n || (infoPagina.codigoPagina === \"FBGTVMPP2MUH\") \r\n || (infoPagina.codigoPagina === \"FBFarmacogeneticaMUH\") ?\r\n \r\n :\r\n (infoPagina.codigoPagina === \"FBLaboratorioPPF\") \r\n || (infoPagina.codigoPagina === \"FBLaboratorioMUV\")\r\n || (infoPagina.codigoPagina === \"FBLaboratorioMUH\") \r\n || (infoPagina.codigoPagina === \"FBFormaFarmaMUH\")\r\n || (infoPagina.codigoPagina === \"FBFormaFarmaMUV\")\r\n || (infoPagina.codigoPagina === \"FBFormaFarmaPPF\")\r\n || (infoPagina.codigoPagina === \"FBAFMUH\")\r\n || (infoPagina.codigoPagina === \"FBAMMUH\")\r\n || (infoPagina.codigoPagina === \"FBActPPF\")\r\n || (infoPagina.codigoPagina === \"FBAFMUV\")\r\n ?\r\n \r\n :\r\n (infoPagina.codigoPagina === \"FBGTConPPF\") \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 ?\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\";\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\" ?\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\" ? \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\") ?\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\") ?\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\") ?\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\") ?\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 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 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 \"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\"){\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 \"fbgtconppf\":\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 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 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 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":""}