{"version":3,"sources":["containers/Sincronizacion/SincronizacionListaMonitor.module.css","components/Pedidos/ProductoLista/Producto.module.css","components/Recibos/Recibo/Recibo.module.css","components/Recibos/Facturas/CuotasTable.module.css","containers/Asignacion/Asignacion.module.css","assets/nodisponible.png","components/Pedidos/PedidosBreadCrumb/PedidosBreadCrumb.module.css","utils/Enviroment.js","components/Authorize/AuthForm.js","store/reducer.js","utils/bemnames.js","store/store.js","utils/geopostioning.js","components/Layout/Content.js","components/Layout/EmptyLayout.js","components/Layout/Footer.js","utils/http.js","components/Global/Loading.js","components/Layout/Header.js","components/Layout/LayoutRoute.js","components/Global/LoadingModal.js","components/Layout/MainLayout.js","components/Seguridad/Permisos.js","components/Layout/Sidebar.js","components/Layout/Tour.js","containers/Authorize/AuthModalPage.js","containers/Authorize/AuthPage.js","components/Pedidos/NavigationBreadcrumb/NavigationBreadcrumb.js","components/Pedidos/Colecciones/Coleccion.js","components/Global/CustomIcon.js","components/Pedidos/ProductoLista/SearchButton.js","components/Pedidos/Colecciones/ColeccionesList.js","components/Pedidos/ProductoLista/Producto.js","components/Pedidos/ProductoLista/ProductosList.js","components/Pedidos/ProductoLista/ModalFiltros.js","components/Pedidos/ProductoLista/VistaRapidaProducto.js","components/Pedidos/Global/CeldaTallas.js","components/Pedidos/ProductoDetalle/ColorSinStockModal.js","components/Pedidos/ProductoDetalle/TablaVistaProducto.js","components/Pedidos/ProductoDetalle/Slider.js","components/Pedidos/ProductoDetalle/RelatedProduct.js","components/Pedidos/ProductoDetalle/RelatedSlider.js","components/Pedidos/ProductoLista/FiltroChips.js","components/Pedidos/ProductoDetalle/RelatedContainer.js","components/Pedidos/ProductoDetalle/Expandable.js","components/Pedidos/ProductoDetalle/DeshabilitarModal.js","components/Pedidos/ProductoDetalle/EliminarModal.js","components/Pedidos/ProductoDetalle/EliminarImagenModal.js","components/Pedidos/ProductoDetalle/VistaProducto.js","components/Pedidos/SelectCliente/Historico.js","components/Global/snackbar.js","components/Pedidos/SelectCliente/ClienteContado.js","utils/common.js","components/Pedidos/SelectCliente/ReservadoDetalleLinea.js","components/Pedidos/SelectCliente/SelectCliente.js","components/Pedidos/SelectTipoPedido/SelectTipoPedido.js","components/Pedidos/SelectBodega/SelectBodega.js","components/Pedidos/SelectLinea/Linea.js","components/Pedidos/SelectLinea/SelectLinea.js","components/Pedidos/MatrizResumen/ProductoTable.js","components/Pedidos/MatrizResumen/MatrizResumen.js","components/Pedidos/MatrizResumen/MatrizResumenExpandable.js","components/Pedidos/ResumenPedido/ResumenPedido.js","components/Pedidos/TotalXPedido/TotalXPedido.js","components/Pedidos/PedidosBreadCrumb/PedidosBreadCrumb.js","components/Pedidos/Global/Countdown.js","containers/Pedidos/GuardPedidoActivo.js","components/Global/Loader.js","components/Pedidos/ResumenPedido/ImprimirPedidoOriginal.js","containers/Pedidos/Pedidos.js","components/Cartera/InformacionGeneral.js","components/RecolocacionPedido/SelectCliente/SelectCliente.js","components/RecolocacionPedido/CeldaTallaRecolocacion.js","components/RecolocacionPedido/ProductoTableRecolocacion.js","components/RecolocacionPedido/ExpandableRecolocacion.js","components/RecolocacionPedido/Recolocacion.js","components/RecolocacionPedido/ImprimirRecolocacionPedido.js","containers/RecolocacionPedido/RecolocacionPedido.js","components/Inventario/CargarInventario.js","components/Inventario/PieChart.js","components/Inventario/InventarioAnterior.js","components/Inventario/ResumenExcel.js","components/Inventario/SelectCliente/SelectCliente.js","components/Inventario/ImprimirInventario.js","components/Inventario/CeldaTallaInventario.js","components/Inventario/ProductoTableInventario.js","components/Inventario/ExpandableInventario.js","components/Inventario/ExpandableNoEncontrados.js","components/Inventario/Inventario.js","containers/Inventario/Inventario.js","components/Recibos/SelectCliente/SelectCliente.js","components/Recibos/FacturasModal/FacturasModal.js","components/Recibos/FacturasModal/FacturasModalPrecompra.js","components/Recibos/FacturasModal/CuotaModal.js","components/Recibos/Facturas/FacturaTable.js","components/Recibos/Facturas/CustomFooter.js","components/Recibos/Facturas/CuotasTable.js","components/Recibos/Facturas/CuotasAgrupadasExpandableRow.js","components/Recibos/Facturas/CuotasAgrupadasTable.js","components/Recibos/Facturas/CuotasACancelarTable.js","components/Recibos/Facturas/CuotasAgrupadasACancelarTable.js","components/Recibos/Facturas/CuotasACancelarAgrupadasTable.js","components/Recibos/Recibo/InputPagoReciboTable.js","components/Recibos/Recibo/PagoReciboTable.js","components/Recibos/Recibo/PedidosModal.js","components/Recibos/Recibo/DetalleRecibo.js","components/Recibos/Recibo/Recibo.js","components/Recibos/RecibosBreadCrumb/RecibosBreadCrumb.js","components/Cartera/DescargarCuentaExcel.js","containers/CuentaCorriente/CuentaCorienteTable.js","containers/Recibos/Recibos.js","containers/Fotografias/Fotografias.js","components/EstadisticaVisita/FunnelChart.js","components/EstadisticaVisita/PieChart.js","components/EstadisticaVisita/BarChart.js","components/Layout/CustomFooter.js","containers/EstadisticaVisita/EstadisticaVisita.js","containers/Coordenadas/CoordenadasGlobal.js","components/ListadoPedidos/DetallePedido.js","components/ListadoPedidos/ImprimirPedido.js","containers/ListaPedidos/ListaPedidos.js","components/ListadoRecibos/DepositosModal.js","components/ListadoRecibos/DetalleRecibo.js","components/ListadoRecibos/Recibo.js","components/ListadoRecibos/ReciboReporte.js","components/ListadoRecibos/Listado.js","containers/ListaRecibos/ListaRecibos.js","components/Agenda/AsignacionModal.js","components/Agenda/CargarAsignaciones.js","containers/Asignacion/Asignacion.js","components/Agenda/Calendar.js","containers/Agenda/Agenda.js","containers/Sincronizacion/Sincronizacionlista.js","containers/Sincronizacion/SincronizacionListaMonitor.js","components/Seguridad/Mantenimiento/Roles/TablaRoles.js","components/Seguridad/Mantenimiento/FormularioCrud.js","containers/Seguridad/Mantenimiento/Roles.js","components/Seguridad/Mantenimiento/Pantallas/TablaPantallas.js","components/Seguridad/Mantenimiento/Pantallas/FormularioCrud.js","containers/Seguridad/Mantenimiento/Pantallas.js","components/Seguridad/Mantenimiento/Usuario/TablaUsuario.js","containers/Seguridad/Mantenimiento/Usuario.js","components/Seguridad/Mantenimiento/Funciones/TablaFunciones.js","containers/Seguridad/Mantenimiento/Funciones.js","containers/Seguridad/Mantenimiento/Mantenimiento.js","components/Seguridad/Relacional/TablaRelacion.js","containers/Seguridad/Relacional/RolesFunciones.js","containers/Seguridad/Relacional/UsuarioRoles.js","components/Seguridad/Relacional/TablaFuncionesPantalla.js","containers/Seguridad/Relacional/PantallasFunciones.js","containers/Seguridad/Relacional/UsuariosEmpresas.js","containers/Seguridad/Relacional/UsuarioAsesor.js","containers/Seguridad/Mantenimiento/AsignacionLinea.js","containers/Seguridad/Relacional/Relacional.js","containers/Home/SteperSync.js","containers/Home/Home.js","containers/ListaPedidos/ListaPedidosPendientes.js","containers/ListaPedidos/ListaPedidosFlotante.js","containers/ListaRecibos/ListaReciboPendiente.js","containers/ListaRecibos/ListaReciboCreditos.js","components/Cartera/Cliente.js","components/Cartera/ListaClientes.js","components/Cartera/CuentaCorriente.js","components/Cartera/FacturasReservadas.js","components/Cartera/DiasGracia.js","components/Cartera/ChequesContabilizados.js","components/Cartera/ExcepcionDescuento.js","components/Cartera/RemoverDescuento.js","containers/Cartera/Cartera.js","components/Coordenadas/MapaAsesor.js","components/Coordenadas/AsesorCard.js","components/Coordenadas/ListaAsesores.js","containers/Coordenadas/CoordenadasAsesor.js","components/ListadoPedidos/ImprimirBandejaSalida.js","containers/ListaPedidos/BandejaSalida.js","components/ListadoRecibos/ImpresionBandejaSalida.js","containers/ListaRecibos/BadejaSalidaRecibos.js","containers/ListaRecibos/ListaRecibosFlotante.js","components/Sincronizacion/SincronizacionTable.js","containers/Sincronizacion/SincronizacionColeccionEspecifica.js","containers/Sincronizacion/SincronizacionCliente.js","containers/ReconstruccionRuta/components/PedidoMarker.js","containers/ReconstruccionRuta/components/ReciboMarker.js","containers/ReconstruccionRuta/components/ClientesMarker.js","containers/ReconstruccionRuta/components/MapaReconstruccion.js","containers/ReconstruccionRuta/components/FormularioReconstruccion.js","containers/ReconstruccionRuta/ReconstruccionRuta.js","components/Encuestas/TiposIngreso/TablaTiposIngreso.js","components/Encuestas/TiposIngreso/TiposIngreso.js","components/Encuestas/GrupoOpciones/TablaGrupoOpciones.js","components/Encuestas/GrupoOpciones/GrupoOpciones.js","components/Encuestas/GrupoOpcionesDetalle/TablaGrupoOpcionesDetalle.js","components/Encuestas/GrupoOpcionesDetalle/GrupoOpcionesDetalle.js","components/Encuestas/Secciones/TablaSecciones.js","components/Encuestas/Preguntas/TablaPreguntas.js","components/Encuestas/Preguntas/Preguntas.js","components/Encuestas/Secciones/Secciones.js","containers/Encuestas/MantenimientoEncuesta/MantenimientoEncuesta.js","containers/Encuestas/EncuestaBreadCrumb.js","components/Encuestas/Encuestas/TablaEncuesta.js","components/Encuestas/Encuestas/RangoFecha.js","components/Encuestas/Encuestas/Encuestas.js","components/Encuestas/Secciones/SeccionesEncuesta.js","components/Encuestas/EncuestasCliente/SelectClienteEncuesta.js","components/Encuestas/EncuestasCliente/TablaEncuestasActivas.js","components/Encuestas/EncuestasCliente/Formulario/TextError.js","components/Encuestas/EncuestasCliente/Formulario/Input.js","components/Encuestas/EncuestasCliente/Formulario/TextArea.js","components/Encuestas/EncuestasCliente/Formulario/Select.js","components/Encuestas/EncuestasCliente/Formulario/RadioButton.js","components/Encuestas/EncuestasCliente/Formulario/CheckBox.js","components/Encuestas/EncuestasCliente/Formulario/DatePicker.js","components/Encuestas/EncuestasCliente/Formulario/FormikControl.js","components/Encuestas/EncuestasCliente/FormularioEncuesta.js","components/Encuestas/EncuestasResueltas/TablaResueltas.js","containers/Encuestas/EncuestasResueltas.js","components/Encuestas/EncuestasCliente/FormularioRespuestas.js","containers/Encuestas/Encuestas.js","containers/PaqueteBodega/components/TablaPaqueteBodega.js","containers/PaqueteBodega/PaqueteBodega.js","containers/SitioBodega/SitioBodega.js","containers/AlmacenSitio/components/ModalEditar.js","containers/AlmacenSitio/AlmacenSitio.js","containers/ListaRecibos/ListaRecibosProforma.js","containers/Ubicaciones/Ubicaciones.js","components/Devoluciones/ClienteSelected.js","components/Devoluciones/CeldaTallaDevolucion.js","components/Devoluciones/ProductoTableDevolucion.js","components/Devoluciones/ExpandableDevolucion.js","components/Devoluciones/ProductosDevolucion.js","containers/Devoluciones/DevolucionesBreadCrumb.js","components/Devoluciones/ImprimirDevolucionOriginal.js","components/Devoluciones/ImprimirPedidoDevolucion.js","containers/Devoluciones/DevolucionParcialReporte.js","containers/Devoluciones/Devoluciones.js","components/Devoluciones/MotivosDevolucion/ListadoMotivosDevolucion.js","components/Devoluciones/MotivosDevolucion/MotivosDevolucion.js","containers/Devoluciones/ListadoDevolucion/ListadoDevolucion.js","components/Inventario/ImprimirInventarioDetalle.js","containers/Inventario/ListadoInventario.js","containers/Devoluciones/ListadoDevolucion/AprobacionDevoluciones.js","containers/Devoluciones/ListadoDevolucion/ListadoDevolucionPendiente.js","components/AcuerdosVenta/PagosDeAcuerdos.js","components/AcuerdosVenta/FacturasDeAcuerdo.js","components/AcuerdosVenta/CuotasDeAcuerdo.js","components/AcuerdosVenta/Acuerdos.js","components/AcuerdosVenta/ClienteSelected.js","containers/AcuerdosVenta/AcuerdoVenta.js","containers/Agenda/RazonesNoVenta/RazonesNoVenta.js","components/GastoAsesores/TipoGasto/TablaTipoGasto.js","components/GastoAsesores/TipoGasto/TipoGasto.js","components/GastoAsesores/CategoriaGasto/TablaCategoriaGasto.js","components/GastoAsesores/CategoriaGasto/CategoriaGasto.js","components/GastoAsesores/GrupoImpuestos/TablaGrupoImpuesto.js","components/GastoAsesores/GrupoImpuestos/GrupoImpuesto.js","containers/GastosAsesores/MantenimientoGastos/MantenimientoGastosAsesores.js","components/GastoAsesores/DetalloGasto/DetalleGasto.js","containers/GastosAsesores/GastosPendientes.js","containers/GastosAsesores/Gastos.js","containers/GastosAsesores/GastosNoSync.js","containers/GastosAsesores/GastosRechazar.js","components/Devoluciones/ImprimirTrackingDevolucionCalidad.js","containers/Devoluciones/ListadoDevolucion/SeguimientoCalidad.js","containers/Sincronizacion/SincronizacionEspecifica.js","containers/Seguridad/Firmas/FirmaPantalla.js","containers/Agenda/MotivoTiempoFuera/MotivoTiempoFuera.js","containers/Agenda/TiemposFuera/TiemposFuera.js","containers/BaseColorImpuesto/components/BaseColorImpuestoTable.js","containers/BaseColorImpuesto/BaseColorImpuesto.js","containers/Devoluciones/ClasificacionProductos.js","containers/InventarioEspecifico/InventarioEspecifico.js","containers/IncidenciaVisita/ListadoIncidenciaVisita.js","containers/Correo/ListadoModulos.js","containers/Correo/ListaMailServicios.js","containers/Correo/ListaMailCorreos.js","containers/Correo/ListaEjecucionCorreos.js","containers/ServiciosYTareasProgramadas/ListadoSTP.js","App.js","serviceWorker.js","index.js","components/Layout/Layout.module.css","components/Pedidos/ProductoDetalle/VistaProducto.module.css","components/Pedidos/Global/CeldaTallas.module.css","components/Pedidos/Colecciones/Coleccion.module.css","components/Pedidos/ProductoLista/SearchButton.module.css","components/Pedidos/ProductoLista/VistaRapidaProducto.module.css","utils/img/honduras.png","utils/img/costarica.png","utils/img/guatemala.png","utils/img/salvador.jpg","components/Recibos/RecibosBreadCrumb/RecibosBreadCrumb.module.css","components/Pedidos/ProductoDetalle/RelatedProduct.module.css","components/Pedidos/ProductoLista/FiltroChips.module.css","components/ListadoRecibos/Recibo.module.css","assets/img/logo/Barra.png","components/Pedidos/MatrizResumen/MatrizResumenExpandable.module.css","components/ListadoPedidos/DetallePedido.module.css","components/Pedidos/SelectCliente/SelectCliente.module.css","assets/georecorrido/Inicia_dia.png","assets/georecorrido/Finaliza_dia.png","components/Pedidos/SelectCliente/Historico.module.css","components/Pedidos/ResumenPedido/ResumenPedido.module.css","components/Agenda/AsignacionModal.module.css","components/Pedidos/ProductoDetalle/RelatedContainer.module.scss","assets/img/Icon/Brand.png","components/Pedidos/MatrizResumen/MatrizResumen.module.css","components/ListadoPedidos/ImprimirPedido.module.css","containers/Agenda/Agenda.module.css","assets/img/logo/Cabecera.png","components/Pedidos/Colecciones/ColeccionesList.module.css","assets/img/logo/LogoSinLetrasB.png","assets/img/Icon/Base.png","assets/img/Icon/Category.png","assets/img/Icon/Fabric.png","assets/img/Icon/Type.png","components/Pedidos/SelectCliente/iconfinder_Close_2001866.png","assets/update1.jpeg","assets/update2.jpeg","components/ListadoRecibos/DetalleRecibo.module.css","assets/SinCoordenadas.png","containers/Pedidos/Pedidos.module.css"],"names":["module","exports","APIURL","APP_VERSION","AuthForm","urlApi","state","username","password","error","logged","loading","message","changeAuthState","authState","event","preventDefault","props","onChangeAuthState","cerrarSesion","a","fetch","headers","method","body","JSON","stringify","handleSubmit","setState","then","res","json","result","Message","localStorage","setItem","Data","Nombre","toLowerCase","Token","Empresa","toUpperCase","logSesion","alert","usuario","data","logSession","Usuario","version_navegador","window","navigator","appVersion","IP_Publica","ip","Latitud","latitude","Longitud","longitude","Version_App","registrarLogSesion","catch","console","log","location","reload","usernameChange","target","value","passwordChange","buttonText","this","isLogin","isSignup","showLogo","usernameLabel","usernameInputProps","passwordLabel","passwordInputProps","confirmPasswordLabel","confirmPasswordInputProps","children","onLogoClick","styleInputFormLogin","color","borderTop","borderLeft","borderRight","borderBottomStyle","borderRadius","Form","onSubmit","style","className","maxWidth","maxHeight","src","logo200Image","alt","onClick","FormGroup","textAlign","Label","for","icon","faUser","disabled","onChange","bind","faLock","check","type","Button","size","block","background","css","height","bottom","position","transform","to","STATE_LOGIN","STATE_SIGNUP","React","Component","defaultProps","placeholder","namespace","initialState","Login","colecciones","producto","coleccion","clientes","cliente","listaProductosAgregados","TipoPedido","AcuerdoVenta","TiposPedido","MaestroLineas","LineaSeleccionada","TableValue","PedidoEnCurso","codigoColeccionActiva","TotalPedido","Limite","Infinity","NumeroOrden","AsesorId","TiposColeccion","DetalleInventario","pedidoSelected","Recibo","clienteSelected","cuotasXCliente","cuotasAPagar","facturasXCliente","cuotasCuentaCorriente","clienteContado","clientesContado","requiereEntrega","asesor","empresasTransporte","precioCajas","comunidadesAutonomas","flete","ClienteImpuestos","ProductoImpuestos","Empresas","Monedas","CuentaImprimir","Bloqueo","Anterior","Asignaciones","AbreviacionMonedas","Permisos","PedidoSincronizar","ReciboSincronizar","RecibosEnCache","Cartera","MonedasGlobal","BancosGlobal","TipoPagoGlobal","Configuraciones","EmpresaTransporteGlobal","PrecioCajasGlobal","ClienteImpuestosGlobal","ProductoImpuestosGlobal","TipoVisita","ListaPrecios","SeccionEncuesta","PreguntasEncuesta","TipoIngreso","GrupoOpciones","EncuestaSelected","DocumentosPendientes","RespuestaDetalle","MaestroBodegaAlmacenes","BodegaSeleccionada","Devolucion","devolucionCompleta","motivosDevolucion","motivoDevolucion","motivoDevolucionDetalle","Inventario","CorrelativoReciboDiario","CorrelativoRecibo","TrasladoPedido","clienteSeleccionado","ClienteImpuestosRecolocacion","ProductoImpuestosRecolocacion","CodigoColeccionRecolocacion","tipoCreditoRecolocacion","pedidoRecolocacion","configuracionBaseColor","ClienteInventario","direccionEntrega","calcularLimite","LimiteCredito","reducer","action","findIndex","productoAgregado","ProductoId","selected","push","CodigoColeccion","pedidoEnCurso","maestroLineas","forEach","element","payload","ColeccionesFiltradas","coleccionesFiltradas","Edades","productos","length","codigosProductos","map","x","includes","productosEstado","index","indexOf","borrador","parse","getItem","persistConfig","key","storage","localForage","persistedReducer","persistReducer","store","createStore","__REDUX_DEVTOOLS_EXTENSION__","saveGeolocation","CodigoAsesor","getState","Latitude","coords","Longitude","status","bemNames","create","blockName","b","more","classNames","e","m","bem","bn","Content","Tag","tag","restProps","classes","Container","EmptyLayout","fluid","Footer","year","Date","getFullYear","queries","mobile","desktop","matches","href","get","url","subkey","getLocalStorage","axios","request","fecha","moment","format","post","info","verificarConexion","isOnline","timeout","dispatch","EncabezadoPedido","PedidoId","postPedidoStorage","NumeroReferencia","backgroundPostPedidos","globalState","pedidoSincronizar","newPedidoSincronizar","pedido","backgroundPost","backgroundPostRecibos","reciboSincronizar","newReciboSincronizar","recibo","ruta","EsAnticipo","local","onLine","Loading","Dialog","disableBackdropClick","scroll","open","DialogTitle","id","fontWeight","fontSize","fontFamily","title","DialogContent","CircularProgress","disableShrink","AppBar","withStyles","colorDefault","MuiAppBar","Menu","paper","minWidth","MuiMenu","useStyles","makeStyles","theme","grow","flexGrow","menuButton","marginRight","spacing","display","breakpoints","up","sectionDesktop","sectionMobile","Header","useState","anchorEl","setAnchorEl","mobileMoreAnchorEl","setMobileMoreAnchorEl","Visible","setVisible","Online","setIsOnline","isMenuOpen","Boolean","isMobileMenuOpen","useSelector","UsuarioOficina","undefined","setLoading","PedidosCache","p","RecibosCache","r","StyledMenu","border","elevation","getContentAnchorEl","anchorOrigin","vertical","horizontal","transformOrigin","StyledMenuItem","root","backgroundColor","palette","primary","main","common","white","MenuItem","handleProfileMenuOpen","currentTarget","handleMobileMenuClose","handleClick","contieneRuta","LogOut","Swal","fire","text","confirmButtonText","clear","renderMenu","keepMounted","onClose","renderMobileMenu","styles","MarginBottomHeader","Toolbar","IconButton","edge","aria-label","LogoHeaderContainer","Logo","LogoHeader","aria-controls","aria-haspopup","variant","hidden","history","pathname","ListItemIcon","ListItemText","BodegaPrincipal","LayoutRoute","component","Layout","layout","rest","render","LoadingModal","isLoading","nativeFetch","args","apply","MainLayout","online","setOnline","snack","setSnack","useSnackbar","enqueueSnackbar","closeSnackbar","useEffect","addEventListener","handleOnline","handleOffline","cleanupListener","removeEventListener","persist","IsAllow","Ruta","expanded","ModoOffline","usu","RolesUsuarios","rol","RolesFunciones","fun","PantallasFunciones","pan","PermisoExcepcionDescuento","Permiso","PermisoUsuarioOficinaCreditos","Roles","PermisoHabilitarReimpresion","PermisoAprobarFlotantes","permisoEliminarInventario","Drawer","MuiSwipeableDrawer","list","width","nested","paddingLeft","navItem","navItems","name","dataTut","Icon","Home","AssessmentIcon","Dashboard","Explore","MyLocation","DriveEta","Public","EventAvailable","EventNote","AccountBox","MonetizationOn","MailOutline","LocalLibrary","LibraryBooks","Description","MenuBook","Assignment","FeaturedPlayListOutlined","Input","AllInbox","CloudQueueIcon","PostAdd","ListAlt","Sync","Receipt","AddBoxOutlined","SyncAlt","FlashAuto","Dvr","ViewCompact","SwapHorizOutlined","Security","StoreMallDirectoryOutlined","CameraAltOutlined","LocationOnOutlined","AirplanemodeActive","Settings","History","Cancel","Build","AllInboxOutlined","HomeWork","ListItemLink","renderLink","useMemo","forwardRef","itemProps","ref","innerRef","Titulo","data-tut","button","Sidebar","setIsMenuOpen","NodeGuia","setNodeGuia","left","right","SideMenu","setSideMenu","node","document","getElementById","toggleDrawer","Submenus","menu","side","setTimeout","guia","Submenu","handleClick2","sideList","role","Divider","List","Fragment","data-content","Icons","ExpandLess","ExpandMore","Collapse","in","unmountOnExit","disablePadding","submenu","ind","Link","HelpOutline","tourConfig","selector","content","querySelector","getAttribute","onOpen","anchor","Tour","startAt","Steps","Color","Node","Guia","isTourOpen","setIsTourOpen","accentColor","openTour","onRequestClose","steps","isOpen","maskClassName","rounded","onAfterOpen","disableBodyScroll","onBeforeClose","enableBodyScroll","AuthModalPage","show","toggle","handleAuthState","externalCloseBtn","top","Col","md","sm","xs","Card","CardHeader","CardBody","backdrop","backdropClassName","external","centered","ModalBody","AuthPage","handleLogoClick","justifyContent","alignItems","backgroundImage","lg","NavigationBreadcrumb","Breadcrumbs","separator","BreadcrumbItems","breadcrumbItem","Typography","linkButton","Click","locale","MuiCardHeader","Coleccion","Raised","setRaised","useDispatch","cargarProductos","GrupoPrecio","EmpresaId","CodigoSitio","Almacen","nuevaData","Edad","IdEdad","Orden","ProductosXEdad","err","iniciarBorrador","Codigo","empresa","selectColeccion","HoraIngreso","HoraActual","subtract","productosEnCarrito","ProdEnCarrito","showCancelButton","cancelButtonColor","confirmButtonColor","cancelButtonText","allowOutsideClick","removeItem","convertirData","el","$id","obtenerInventario","IdColeccion","InfoConFormato","guardarExcel","csvData","fileName","wb","Sheets","XLSX","utils","json_to_sheet","SheetNames","excelBuffer","write","bookType","Blob","FileSaver","saveAs","raised","onMouseEnter","onMouseLeave","CardActionArea","onClickCapture","Estatus","titleTypographyProps","CardMedia","FotoPortada","loader","margin","CardContent","BorderTop","TitleColeccion","VentaInicio","VentaFinal","EntregaInicio","EntregaFinal","CardActions","AdministradorProductos","reiniciarPedido","mensaje","response","marginBottom","startIcon","CustomIcon","IconName","ViewComfy","SearchButton","SearchText","setSearchText","SearchChange","trim","onSearch","wrap","inputSearch","WithBackground","inputSearchSubmit","iconSearch","createMuiTheme","secondary","blue","Colecciones","TextboxValue","setTextboxValue","match","params","TipoColeccion","ThemeProvider","Tabs","indicatorColor","textColor","pathArray","split","pop","replace","join","changeTab","array","tipCol","found","ColeccionTipo","Lineas","IdLinea","getValidCollections","Tab","Icono","label","Descripcion","SearchColeccionContainer","float","padding","memo","stockDisponible","isFuture","fisicaDisponible","reduce","Cantidad","Toast","mixin","toast","showConfirmButton","timer","alertDeshabilitado","customClass","container","ToastOnTopModal","setselected","primerRender","setPrimerRender","totalProducto","setTotalProducto","precioProducto","setPrecio","permisos","isSelectedTemporal","precioProductoTemporal","Linea","GrupoTalla","Productos","Selected","Precio","find","precioxProd","GrupoPrecioCliente","precio","precioFisicoDisponible","fsDis","PreciosEspecificos","ps","tempTotal","Object","keys","Colores","codigoColor","Tallas","codigoTalla","valorTalla","isNaN","parseInt","selectableClassName","selectable","Primero","Deshabilitado","LimiteVenta","alertaLimiteCredito","acc","curr","toggleSelectProducto","alertaPrecio","card","SoldOut","soldOut","InOut","inOut","Nuevo","nuevo","PiezaSuelta","piezaSuelta","ListaImagenes","FotografiaProducto","notFound","NombreProducto","marginTop","ListaColores","cdtrigger","tableed","ClickVistaRapida","cda","checkmark","strokeWidth","prevProps","nextProps","filtro","arrayAtributosXProducto","filtroAtributos","tipos","values","arraydDescripcion","filtroAtributo","atributoProducto","encontrado","cantidad","disponible","areEqual","iguales","buscador","filtroEdad","searched","nombre","codigo","texto","productosList","Row","ListProducts","itemsPerRow","items","fromIndex","toIndex","Math","min","Restante","AltClass","i","visibility","AltRowProducto","RowProducto","edad","NoStock","AtributosXProducto","productoConEdad","stock","Ordenamiento","sort","localeCompare","productosNuevo","filter","Prioridad","productosInOut","productosRegulares","rowCount","ceil","itemData","itemCount","itemSize","mensajeCantidad","CantidadProductos","current","innerText","ExpansionPanel","boxShadow","borderBottom","MuiExpansionPanel","ExpansionPanelSummary","minHeight","MuiExpansionPanelSummary","ExpansionPanelDetails","MuiExpansionPanelDetails","ModalFiltros","setIsOpen","IdNode","handleClickOpen","handleClose","SearchContainerDialog","SearchFiltrosIcon","buscadorFiltros","searchToggle","active","OnClickSearch","SearchFiltros","Filtros","atributoXcoleccion","square","verificarExpandirFiltroAtributos","toString","toggleExpandirFiltroAtributos","TitleExpansionContainerDialog","expandIcon","Tipo","overflow","Descripciones","index2","atrib","checked","VerificarFiltro","MarcarFiltro","DialogActions","Transition","Fade","decimalColorToHTMLcolor","number","intnumber","HTMLcolor","substring","VistaRapidaProducto","Cliente","imagenProducto","visible","changeImageProducto","TransitionComponent","CerrarDialog","fullWidth","marginLeft","autoplay","indicatorPosition","Item","item","ReactImageMagnify","imageClassName","smallImage","isFluidWidth","largeImage","enlargedImagePortalId","enlargedImageContainerDimensions","hrDetalle","paddingRight","colorId","data-tip","data-for","place","effect","NombreColor","ListaTalla","Talla","futuro","CeldaTallas","Focused","setFocused","Disponible","alertaFisicoDisponible","esMultiplo","multiplo","agregarAlCarrito","agregarProducto","handleMultiplo","codigoProducto","grupoTalla","cantidadMinima","onBlur","verticalAlign","setListaImagenesPrincipal","setColor","Border","NoEsFuturo","stockVisibleFuturo","BordetBottom","spring","presets","stiff","hasBackOrder","backorder","toFixed","onFocusCapture","onFocus","onKeyDownCapture","handleArrowKeys","onBlurCapture","pattern","maxLength","handleChange","ColorSinStockModal","colores","close","scope","CodigoColor","numberWithCommas","parts","handleColorFiltrado","colorFiltrado","zIndex","activo","ListItem","TablaVistaProducto","SelectedImage","setSelectedImage","imagenes","setImagenes","IsOpen","colorSeleccionado","setColorSeleccionado","setColorFiltrado","showFiltro","setShowFiltro","showFiltroStock","setShowFiltroStock","listaColoresCopia","setListaColoresCopia","openColores","setOpenColores","isChecked","setIsChecked","isInOut","setIsInOut","isDeshabilitado","setisDeshabilitado","isNuevo","setisNuevo","piezasSueltas","setPiezaSuelta","prioridadProducto","setPrioridadProducto","StockVisible","calcularStockPorColor","ordenarColores","listaColores","StockColor","stockColor","s","onMostrar","CodigoProducto","deshabilitar","deshabilitarColor","IdColorxProducto","colorOriginal","actualizarPrioridad","prioridad","actualizarPrioridadColor","keyCode","form","Array","prototype","call","elements","focus","IsDist","talla","Distribucion","dist","checkDist","handleClickColores","ListaColoresSinStock","Chip","onDelete","colorFiltradoCopia","splice","nuevosColoresFiltrados","FormControlLabel","control","Checkbox","Dropdown","selection","options","noResultsMessage","closeOnChange","borderColor","TrTest","ThTest","paddingBottom","popupId","popupState","InfoOutlined","bindTrigger","cursor","Popover","bindPopover","Box","NombreDistribucion","NombreTalla","TableBody","index1","hasImages","totalXColor","cantidadTotalXColor","setListaImagenes","imagenesColor","openImagenes","backOrder","cantidadXTalla","totalXTalla","onchangeText","CrearDetallePedidoOnline","CantidadMinima","mainSrc","nextSrc","prevSrc","onCloseRequest","onMovePrevRequest","onMoveNextRequest","SliderFunction","slider1","slider2","nav1","nav2","isInfinite","multipleImages","PrimaryCarouselSettings","lazyLoad","fade","slidesToShow","slidesToScroll","focusOnSelect","nextArrow","prevArrow","SecondaryCarouselSettings","swipeToSlide","infinite","asNavFor","slider","imagen","stylesD","ImagenProducto","ImagenProductoSmall","PrimaryNextArrow","PrimaryPrevArrow","SecondaryNextArrow","SecondaryPrevArrow","Carousel","mySlider","useRef","settings","speed","responsive","breakpoint","checkCurrent","slickGoTo","Number","ListaProductos","product","FiltroChips","chips","filtroActivo","categ","indCateg","Chips","handleDeleteFiltros","charAt","slice","setFiltroEdad","handleDeleteAllFiltros","foundName","foundAttribute","atributo","Fab","FabButton","Add","AddIcon","Expandable","panel","Expandido","setExpandido","isExpanded","icono","Base","Brand","Category","Fabric","Type","IconContainer","IconTitle","Subtitle","DeshabilitarModal","hideDeshabilitar","setCodigo","handleChangeCodigo","EliminarModal","hideEliminar","codigoImagen","eliminarImagen","ocultarTodo","EliminarImagenModal","listaImagenes","navegar","imagenesProducto","setImagenesProducto","setImagenesColor","setImagen","mostrar","setMostrar","setCodigoImagen","seleccionarImagen","nuevaImagen","listaImagenesData","IdFotografia","Fotografia","NombreFotografia","listaColoresData","obtenerImagenes","setHasBackOrder","openDeshabilitar","setOpenDeshabilitar","openEliminar","setOpenEliminar","productoSeleccionado","cargarBackOrder","Mounted","Unmounted","BO","querySelectorAll","toggleSelect","deshabilitarProducto","Pais","Producto","isEmptyImages","Slider","Title","ContainerTablaTallas","newProduct","onfocus","RelatedContainer","columns","filterType","print","download","expandableRows","expandableRowsOnClick","selectableRows","renderExpandableRow","rowData","rowMeta","colSpan","textLabels","noMatch","toolTip","pagination","next","previous","rowsPerPage","displayRows","toolbar","search","downloadCsv","viewColumns","filterTable","all","reset","titleAria","selectedRows","delete","deleteAria","getMuiTheme","overrides","MUIDataTable","responsiveScroll","MUIDataTableBodyRow","Historico","fin","toDate","ini","add","fechaInicio","setFechaInicio","fechaFin","setFechaFin","showTable","setShowTable","loadTable","unloadTable","Text","DatePicker","disableToolbar","autoOk","disableFuture","date","fech","setDate","getDate","handleFechaInicio","minDate","diffTime","diffDays","handleFechaFin","TableDialog","variantIcon","success","FiCheckCircle","warning","IoIosWarning","FiAlertOctagon","IoIosInformationCircleOutline","green","dark","amber","iconVariant","opacity","MySnackbarContentWrapper","other","SnackbarContent","clsx","aria-describedby","yup","msg","test","exclusive","reference","path","resolve","validationSchema","shape","required","Direccion","Provincia","RTN","RTN2","equalTo","Telefono","ClienteContado","initialValues","edit","save","habilitado","FlagClientePotencial","ComunidadAutonoma","Asesor","validacion","enableEdit","setEnableEdit","enableSave","setEnableSave","enableNew","setEnableNew","context","cargarClientes","warn","enableReinitialize","errors","resetForm","setValues","as","CheckBox","helperText","TextField","ButtonGroup","handleEdit","ObtenerCoordenadas","callBackSucces","callBackError","geolocation","getCurrentPosition","reemplazarUrl","original","offline","mostrarModal","step","textConfirmation","textCancelation","mostrarAlerta","numberWithCommasNoDec","ReservadoDetalleLinea","detalle","abreviacion","setData","isArray","ReservadoClienteColeccionesLineas","newData","elemento","MontoPendiente","UnidadesPendientes","prev","TransitionGrow","Grow","TransitionSlide","Slide","direction","appBar","flex","ModalDirecciones","direcciones","cerrar","postalAddress","nombreDireccion","direccion","principal","SelectCliente","setOpen","Value","setValue","openContado","setOpenContado","Comunidad","BloqueoCredito","setMensaje","clientesPedido","c","clientesRecibo","openModalDirecciones","setOpenModalDirecciones","verPedidoPendientes","setVerPedidoPendientes","detalleColeccion","setDetalleColeccion","locationAsesor","setLocationAsesor","locationCliente","setLocationCliente","distancia","setDistancia","gpsActivo","setGPSActivo","isLoaded","useJsApiLoader","googleMapsApiKey","ApiKey_GoogleMaps","codigoClientePreseleccionado","cl","onSelect","validarGPSInicio","autocompleteValue","direccionPrincipal","Direcciones","UsuarioTest","infoCliente","FacturacionEntrega","alerta","mostrarAdvertencia","recargarClientes","recargarListaPrecios","listaPrecios","Set","paises","Paises","edades","prod","img","imagenBlob","UrlImages","UrlImagesOffline","imagenColorBlob","convertirHora","time","asignacion","Hora_Inicio","Hora_Final","obtenerReporteAsignaciones","dataTransformada","validacionPedidosCache","Credito","setCliente","onSetTableValue","onSetTotalPedido","onSetNumeroOrden","CalcularDistaciaCoordenadas","latitudAsesor","longitudAsesor","CalcularDistancia","rad","PI","lat1","lon1","lat2","lon2","dLat","dLong","sin","cos","atan2","sqrt","actualizarData","latitud","longitud","copiaClientes","indice","refrescarClienteSeleccionado","actualizarCoordenadasPedido","actualizarCoordenadasRecibo","enviarCoordenadasApi","coor","confirmacionCoordenadas","optionsMap","DistPermitidaPedido","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","clickable","draggable","editable","radius","DisponibleTotal","ValorCreditoTotal","CXCTotal","Abreviacion","STATEID","NAME","Moneda","IdMoneda","InfoLabel","InfoLabelDetail","Alias","NombreGrupoPrecio","Departamento","Ciudad","permissions","query","credito","Valor","SaldoTotal","parseFloat","ReservadoClientePorLinea","reservado","reservadoCliente","initialCoors","lat","lng","zoom","center","mapContainerStyle","mapLocation","logo","val","handleOnChange","ModuloConfiguraciones","Snackbar","mensajeError","fullScreen","SelectTipoPedido","lineaSeleccionada","acuerdosSeleccionados","setAcuerdosSeleccionados","tipoPedidoSeleccionado","setTipoPedidoSeleccionado","acuerdosFiltrados","AcuerdosVenta","tiposPedido","tipoPedido","Aplica_Todos","setTipoPedido","outline","acuerdosFiltradoTipoPedido","IdTipoPedido","plural","t","Zoom","ac","showDivider","IdAcuerdoxCliente","Saldo","SelectBodega","Bodegas","bodegas","bodega","unshift","BodegasOrdenadas","setBodega","Etiqueta","BodegaEspecifico","usuarioOficina","Imagen","nodisponible","cargarColecciones","setLinea","gutterBottom","objectFit","SelectLinea","LineaIndividual","dirty","setDirty","ArregloProductos","mostrarVacios","tallas","productoConCantindad","on","onIcon","Visibility","offIcon","VisibilityOff","backgroundSize","image","FiTrash2","grupo","cod","Eliminar","index3","onValueChange","setMostrarVacios","productoImpuestos","clienteImpuestos","clienteImpuesto","GRUPO","GrupoImpuesto","gruposTalla","tableValue","unidadesTotales","totalGlobal","impuesto","moneda","productosSinCantindad","ListaTallas","Mostrar","HeaderTest","findProduct","productoImpuesto","IMPUESTO","mostrarResumen","getTotales","Totales","totalCantidad","totalPrecio","totalPrecioXColor","setExpanded","referenceCantidad","referenceTotal","configuracionBaseColorPais","configuracionBaseColorImpuesto","codigobase","IncluyeImpuesto","nuevoImpuesto","expandido","sinProductos","BorderExpansion","BorderExpansionWarning","BorderHeader","BorderHeaderSecondary","input","responsiveScrollMaxHeight","ResumenPedido","fechaInicioEntrega","fechaMinimaEntrega","day","firma","setFirma","mostrarFirma","setMostrarFirma","ErrorFecha","setErrorFecha","ErrorFirma","setErrorFirma","FechaEntrega","setFechaEntrega","TipoCredito","sigPad","setFlete","COMPANY_CODE","comunidadSelected","modoEntrega","ModoEntrega","pais","transporte","setTransporte","comunidad","setComunidad","esBiomedico","correlativoCache","correlativo","CorrelativoActual","Iniciales","lastIndexOf","NumeroActual","NumeroSiguiente","Finalizar","guardarFecha","loadingRecibo","desactivarLoading","FinalizarPedidoOnline","obtenerUltimoCorrelativo","enviarPedido","CreditoDisponible","cancelarReinicio","which","valorFlete","precioCaja","STATE","CODE","multiploCaja","MULTIPLO","division","cajas","trunc","valorImpuesto","UNITVALUEBOXES","calcularFlete","DataDetallePedido","ColoresProductos","totalXProducto","cantidadTotal","Datos","TotalPrecio","dato","tallasXcolor","total","Total","ExpandedRow","DatatableOptions","TableRow","TableCell","dataIndex","tallaXColor","ResumenCard","ResumenCardHeader","paddingTop","invalidDateMessage","shouldDisableDate","onError","onAccept","onAcceptDate","maxDateMessage","minDateMessage","maxDate","onChangeDate","defaultValue","TXT","COUNTRYREGIONID","FISCAL_DOCUMENT","aria-labelledby","canvasProps","sigCanvas","isEmpty","guardarFirma","getCanvas","toDataURL","mostrarRecibo","CargarImpresionPedido","setLimite","colorDiferencia","row","lineal","PedidosBreadCrumb","routeProps","clickBreadCrumb","onCommand","cancelarPedido","command","FaSignOutAlt","exact","FaExclamationCircle","ColBreadCrumb","Countdown","seconds","componentDidMount","seg","segundos","interval","setInterval","segundosCount","StopInterval","clearInterval","inactivo","in_min","out_min","secondsRadius","SVGCircle","fill","stroke","d","describeArc","polarToCartesian","centerX","centerY","angleInDegrees","angleInRadians","y","startAngle","endAngle","start","end","largeArcFlag","GuardPedidoActivo","detenerNavegacion","setDetenerNavegacion","when","isPedidoActivo","matchPath","Loader","Loop","contentWindow","postMessage","ImprimirPedidoOriginal","k","empresas","modoVenta","nuevafecha","componentRef","TotalUnidad","tallasDist","CantDist","getTableGroup","grupoTabla","tabla","Distribuciones","getTableProduct","productosTabla","getTableColor","colorTabla","arreglo","totalcantidad","PrecioDistribucion","TotalXProdDist","TotalXTalla","CantidadDistribucion","index4","cant","listaTallas","trigger","endIcon","dividers","LineHeight_Normal","NIFCIF","ValoresPedido","data-holder-rendered","ReactSwal","withReactContent","Pedidos","IsEncabezadoCreado","NotFoundImage","createRef","collapse","nombreColeccionAutocompleteValue1","nombreColeccionAutocompleteValue2","numbervalue","ProductoPorAgregar","imagenProductoDialogSeleccionada","unidadesCarrito","activeTab","activeCollapse","productoDialog","mostrarAlertaBackButton","mostrarAlertaPrimerBackButton","selectClienteLoading","expandable","loadingColecciones","errorEnviarRecibo","firmaPedido","fechaEntregaPedido","NumPedido","clientesFiltrados","paisSeleccionado","cargarData","cargarMaestroLinea","cargarTiposPedido","cargarTiposColeccion","cargarEmpresasTransporteGlobal","cargarPrecioCajasGlobal","cargarImpuestoClienteGlobal","cargarImpuestoProductosGlobal","cargarAbreviacionMonedas","cargarClientesContado","cargarComunidadAutonoma","cargarMonedasGlobal","onStoreMonedas","onStoreComunidadAutonoma","onStoreClienteContado","onSetEmpresasTransporte","onStorePrecioCajasGlobal","onStoreImpuestoClientesGlobal","onStoreImpuestoProductosGlobal","onStoreAbreviacionMonedas","onStoreColecciones","onStoreMaestroLinea","onStoreClientes","prevState","onStoreTipoPedido","cargarMonedas","monedasCliente","onSaveMonedas","onStoreTiposColeccion","cargarEmpresasTransporte","empresasTransporteCliente","COMPANY","onStoreEmpresasTransporte","cargarPrecioCajas","precioCajasCliente","onStorePrecioCajas","cargarImpuestoClientes","impuestosCliente","EMPRESA","onStoreImpuestoClientes","cargarImpuestoProductos","impuestoProductosCliente","onStoreImpuestoProductos","Alerta","classList","inactivityTime","onload","resetTimer","onmousemove","onkeypress","onscroll","InactivoErase","countdownHTML","inactivityTimeUp","html","clearTimeout","onBackButtonEvent","pushState","onResetProductosAgreagados","setMatrizProducto","fisicoDisponible","fd","IdTalla","PreciosEspecifico","setProductoDialog","stopPropagation","dialogVistaRapida","querySearch","queryString","cb","createFilter","handleSelect","changeNombreColeccionAutocomplete1","selectClienteProps","cssStyle","GrupoCliente","C15Dias","changeNombreColeccionAutocomplete2","getProducto","onSetProducto","getColeccion","onSetColeccion","seleccionarCliente","onSetCliente","seleccionarTipoPedido","acuerdoVenta","onSetTipoPedido","textValueChange","textValue","seleccionarLinea","linea","onSetLineaSeleccionada","seleccionarBodega","onSetBodegaSeleccionada","nuevaRuta","clickBreadCrumbColecciones","cambiarTabColecciones","tab","productosSeleccionado","isSelected","carrito","every","productoId","totalAcumulado","onSetProductoLista","changeImagenProductoDialogSeleccionada","tipoAtributo","indexFiltroAtributo","arregloIndexFiltroAtributo","tipo","indexDescripcion","descripcion","onReinicarPedido","setNoStock","EliminarProducto","setFechaEntregaPedido","onCancelarPedido","errorCor","enviarPedidoAx","reemplazarListaPreciosOriginal","listaPreciosCopia","listaPreciosNueva","onSaveListaPrecios","reducirStockOffline","productoEdad","fisico","reducirStockBackground","enviarPeticionPedido","nuevoSubtotal","random","CodigoCliente","Firma","EmpresaUsuario","DetallePedido","TipoVenta","calcularTipoVenta","ClienteContadoId","ModoVenta","Flete","RequiereEntrega","Impuesto","subtotal","MonedaCliente","BodegaEspecifica","Sitio","DireccionEntrega","productosReducir","codigoGrupoTalla","matriz","IdProducto","Unidad","PrecioUnitario","PorcentajeDescuento","codigoImpuesto","impuestoFinal","reducirDisponibleAcuerdo","numPedido","codigoCliente","montoTotal","numAcuerdo","newlistaClientes","ClientesLista","acuerdo","nDisponible","valor","CrearEncabezadoPedidoOnline","SendEmailPDF","html2canvas","canvas","pdfExportSetting","pageSize","pdfMake","createPdf","getBase64","base64","email","pdf","CorreoEnviado","detalleCarrito","cdcardli","ImgCarrito","Remove","CarritoPedido","NoHover","HeaderCart","Trash","hrsuccess","cdcardItems","cdcartotal","CompleteButton","SearchProductos","ClearSearch","categoria","ListaFiltros","filtros","some","filt","inde","AtributosXColeccion","atri","seleccionarPais","paisFiltrado","OpcionesOrdenamiento","ScrollToTop","scrollIntoView","behavior","SelectFiltroEdad","edadSelected","AgregarProducto","prods","agregados","contador","agregado","indexC","indexT","CuentaCorriente","isSticky","wasSticky","distanceFromTop","distanceFromBottom","calculatedHeight","letterSpacing","MatrizResumenExpandable","listFiltros","col","index0","self","ChipContainer","CantidadProductosLabel","Radio","contenedorLoadingColecciones","from","stylePaises","honduras","costarica","guatemala","salvador","fetchSuggestions","onSetBloqueo","validity","valid","valorPrevio","Restrictivo","connect","CodigoColeccionActiva","EmpresasUsuarios","onToggleSelectProducto","onSetPedidoEnCurso","onStoreDatosParaPedido","impuestos","monedas","precios","InformacionGeneral","ClienteSelected","multiple","CeldaTallaRecolocacion","marcado","Marcado","ExpandableRecolocacion","eliminarProducto","actualizarProducto","expandir","setExpandir","Recolocacion","rma","setRma","setTitle","tipoCredito","setTipoCredito","ColeccionRecolocacion","bodegaMaestro","totalCant","productosSinCantidad","bodegaLocal","obtenerProductoRma","grupoPrecio","coleccionId","codigoProductos","productosResult","products","nuevosProductos","agregarDevolucionCompleta","productosAPI","miTableValue","productosDevolver","productoDevolver","Id","productoValores","PrecioGeneral","enviarRecolocacion","codigoColeccion","PedidoCache","coleccionTipo","imprimirPedido","ventaFinal","isBefore","productoConCantidad","totales","obtenerTotales","ImprimirRecolocacionPedido","NombreCliente","FechaActual","NombreColeccion","gruposXDetPed","prodsXDetPed","coloresXProdXDetPed","detalles","DetallesXPedido","detalleXPedido","tall","cellSize","TotalXProducto","totalcant","det","TallaObject","CantidadXColor","TotalXColor","TotalUnidades","SubTotalXPedido","TotalXPedido","RecolocacionPedido","TablaAsignaciones","inventario","CodBarra","CargarInventario","showDialog","setDialog","productosCargados","initialData","setInitialData","isDisabled","setIsDisabled","fechaInv","closeDialog","ErrorCode","accept","file","files","extension","reader","FileReader","Promise","reject","readedData","xlsx","read","cellDates","readAsBinaryString","readFile","dataConvertida","primeraPagina","sheet_to_row_object_array","informacionValidada","PieChart","labels","datasets","plugins","fontColor","InventarioAnterior","setInventario","anterior","obtenerInventarioCliente","fechaCrea","fechaModificado","borderWidth","textSizeAdjust","Users","ResumenExcel","informacion","setInfo","sincronizarInventario","NumInventario","NoProcesados","Procesados","Encontrados","NoEncontrados","TotalCodigos","CodigosBarrasAgrupados","setShowDialog","invAnterior","setInvAnterior","pendienteProcesar","setPendienteProcesar","asesores","setAsesores","AsesoresUsuario","getMonth","AsesorSelected","setAsesorSelected","asesoresMap","Ase","obtenerClientes","continuarInventrio","handleOnChangeAsesor","ImprimirInventario","tallasIndividual","Correlativo","CeldaTallaInventario","nombreColor","eliminarColor","EliminarColor","ExpandableInventario","ingresoCantidad","ExpandableNoEncontrados","codigoBarra","TomarInventario","useHistory","detalleInventario","setCodigoBarra","tallaTxt","setTalla","noEncontrados","totalUnid","existeVariante","pCodigo","pColor","pTalla","aumentarCantidad","aƱadir","limpiarCampos","factura","noExistenProductosEnFactura","tableValueOriginal","Factura","coloresUnicos","productosColor","CodigoTalla","nuevaCantidad","cantidadPrevia","pCantidad","invCompleto","cantidadTalla","nuevoTableValue","productosAgregados","aƱadirScanner","obtenerAtributosBarra","productoExiste","tallaId","cargarInventario","inv","construirDetalleInventario","enviarInventario","completo","numInventario","Completo","ProductosNoEncontrados","overflowY","onKeyPress","f","finalizar","exactpath","recibosSinDeposito","setRecibosSinDeposito","sindepositos","Validacion","FacturasModal","Open","sortFilterList","FacturasModalPrecompra","CuotaModal","FacturaTable","DataModal","setDataModal","DataModalPrecompra","setDataModalPrecompra","openModal","setOpenModal","openModalPrecompra","setOpenModalPrecompra","cuotasa","setCuotasa","openModalCuota","setOpenModalCuota","Vencido","ProcesarFactura","dias","FechaVencimiento","diff","diasDescuento","fechaDescuento","FechaMaxDescuento","isValid","cuotasTmp","Cuotas","cuota","ProcesarCuota","NumeroFactura","NumeroFEL","Dias","DiasDescuento","Fecha","FechaFactura","Vencimiento","FechaDescuento","TotalFactura","Acuerdo","Cuota","NumeroCuota","ValorCuota","FechaVencido","isFecha","facturasEnAcuerdo","AcuerdosXTipoPedido","Acuerdos","facturasVencidas","Facturas","fechaVencimiento","FactVencidas","vencidas","diasParaVencer","acuXTipPed","saldo","saldoVencido","saldo15DiasAvencer","acu","AgrupaPorCuota","fact","cuot","isSameOrBefore","isAfter","FechaV","DiasVencidos","CantFactVencidas","facturas","OpenModalVencido","FactXVencer","OpenModalAVencer","Accion","cuotas","SetCuotas","setCuotas","IgnorarSecuenciaFactura","dataTmp","tempData","newAction","cloneElement","IgnorarRestriccionPago","creditosVencidos","abs","creditosActivos","Pedido","CreditoVencido","RestriccionPago","handleAnticipo","anticipo","IdFactura","PendienteFactura","Descuento","FacturaStatus","NumeroPagos","Referencia","LineaString","TipoPedidoString","IdSubFactura","FechaVencimientoDescuento","SaldoDivisa","PendientePago","TipoDocumento","ReferenciaFacturas","ReferenciaAcuerdo","ValorVencidoCuota","ReferenciaCuotas","CargarCuotasAPagar","customFooter","CustomFooter","count","page","changeRowsPerPage","changePage","CustomButtonComponent","CustomButton","TablePagination","labelRowsPerPage","labelDisplayedRows","backIconButtonProps","nextIconButtonProps","rowsPerPageOptions","onChangePage","_","onChangeRowsPerPage","CuotasTable","selectedRowsIndex","setSelectedRowsIndex","foundExpired","Expired","isRowSelectable","IsVencida","selectableRowsOnClick","rowsSelected","getButtonPagar","customToolbarSelect","onRowsSelect","currentRowsSelected","allRowsSelected","Apagar","facturaEnTransito","DiasVencido","ValorDescuento","isVencida","excepcionDescuento","ExcepcionDescuento","APagar","Fechaa","Facturaa","WarnRecibo","isSame","selectedExpired","selRowsIndex","select","SetCuotasAPagar","setCuotasAPagar","CuotasAgrupadasExpandableRow","IdsSubFactura","SelectedRowsIndexXAcuerdo","NumeroAcuerdo","CuotasAgrupadas","cuotAgru","ValorDescuentoBack","DescuentoBack","idsub","FechaDes","FechaCreacion","Acciones","cuotasConNumero","cuotasCero","selectableRowsHeader","disableToolbarSelect","customToolbar","rowSeleccionada","seleccionadasActuales","allRowSel","selRowInd","ColSpan","CuotasAgrupadasTable","rowExpandidas","setRowExpandidas","selectedRowsIndexXAcuerdo","setSelectedRowsIndexXAcuerdo","rowsExpanded","onRowsExpand","currentRowsExpanded","allRowsExpanded","expRow","OpenModal","Numero","isVencidos","newArray","setCuotasSeleccionadas","cuotasAgrupadas","cuotasSinAgrupar","ValorVencido","ValorMoneda","cuotaAgrupada","cuotAgr","concat","IdsSubFacturaArray","idAcuerdo","newSelectedRowsIndexXAcuerdo","BotonPagar","customBodyRender","tableMeta","updateValue","CuotasACancelarTable","CuotasSinAgruparACancelar","CuotasAgrupadasACancelarTable","Map","setCuotasAgrupadas","cuotasMap","CuotasAPagar","has","agrupacionFactura","set","agrupacionFacturas","allRowsSelectedIndex","setLineasfiltradas","saldoTotal","PedidoSelected","acumulado","Acumulado","ValorPagos","faltante","DescuentoAplicado","lineasFiltradas","SetLineasfiltradas","CuotasACancelarAgrupadasTable","InputPago","OnpagosXReciboChange","indexArray","indexTiposPago","indexTiposdePagoDetalle","indexMoneda","indexBanco","referencia","PagoReciboTable","validacionDatosRecibo","TotalRecibo","TotalCredito","notTotal","isNotAnticipo","diferencia","difTotal","showAlert","isCheque","isDeposito","isEfectivo","isLetraCambio","isTarjeta","fechaActual","setHours","fechaRecibida","ConfirmEditarPago","setHabilitado","isAlDia","fac","fechaParseada","validacionFechaPago","PagosXRecibo","pagXRec","Editar","TiposPago","tipPag","TiposdePagoDetalle","tipPagDet","mon","Bancos","ban","NombreBanco","CancelEditarPago","SetEditPagoXRecibo","DeletePago","arrayPagoRecibo","EnviarRecibo","PedidosModal","rowSelection","Disable","ValoresAPagar","ValorApagar","DetalleRecibo","correlativoReciboDiario","correlativoRecibo","clientesCartera","bancos","setBancos","ModalRecibo","setModalRecibo","recibosAplicados","setRecibosAplicados","tipoPagoEditando","setTipoPagoEditando","addedNewPayment","setAddedNewPayment","InfoModal","setInfoModal","openPedidoModal","setOpenPedidoModal","correrValidacionAcuerdos","setCorrerValidacionAcuerdos","TotalPorPagar","cuotasYDescuentoAplicado","setCuotasYDescuentoAplicado","opens","setMonedas","setMonedaSeleccionada","tiposPago","setTiposPago","calculo","arregloModificado","pagosXRecibo","setPagosXRecibo","cuotasYDescuentoCalculado","CalculoCuotasAgrupadasYDescuento","CalculoCuotasSingAgruparYDescuento","CalculoCuotasAgrupadasYDescuentoValidacion","validacionCorrelativoRecibo","CargarDatos","pago","obtenerCorrelativo","rebajarSaldoFacturaCartera","numFactura","numCuota","valorPago","clientesCarteraCopia","entry","PagoAplicado","calcularDescuentoAplicar","descuentoCuota","saldoMayorADescuento","nuevasFacturas","esFacturaConMayorSaldoCuota","numeroCuota","existeFacturaCubreDescuento","facturasCuota","copiaDescuento","facturaCuota","valorPagos","descuentoAcumulado","cuotasAProcesar","PagoAcumulado","fechaPago","saldoCuota","pagadoCuota","cuotProc","saldoTotalCuota","descuentoTotalCuota","isChequePosFechado","aplicaADescuento","aplicaDescuentoFechaPosfechado","montoAPagar","descuentoAplicar","NumeroFel","cuo","ValorAPagar","DescuentoTotal","agrupadas","CuotasSinAgrupar","CuotasSinAgruparSort","monedaOnchange","bancosEmpresa","cargarBancos","tipoPagoEmpresa","cargarTiposPago","EnviarReciboApi","cargarCliente","Authorization","clientesStorage","saldoAFavor","apiURL","parametros","FechaPago","SaldoFavor","Pagos","pagXRecib","IdTipoPago","CodigoDetalle","IdBanco","NumeroRecibo","SubFacturas","NumeroPedido","EsContado","onBeforeOpen","showLoading","ValorPago","ReciboCache","ReciboId","ReciboProforma","LogImpresion","Mensaje","CodigoUltimoRecibo","descuento","Aplicado","Clientes","ped","CodigoPaquete","Paquete","OpenPedidosModal","EspecificacionesPago","newPago","pagos","OnAddPagoXRecibo","abrir","CargarImpresion","autoHideDuration","showModalUpload","setShowModalUpload","setNumeroImpresion","imagenDepositos","setImagenDepositos","empresaCliente","DireccionCliente","RecibosAplicados","RegistrarLogs","logRecibo","numRecibo","postLogRecibos","copiaEstado","uploadDepositos","formData","FormData","append","Watermark","LineHeight_1_5","pag","TipoPago","EspecificacionPago","tdTableAdjustText","Banco","TableCellAmmount","Monto","factu","TableRowNoBorder","EsAbono","Parcial","Parcial2","flexDirection","alignSelf","FirmaContainer","onAfterPrint","RecibosBreadCrumb","cancelarRecibo","ExcelFile","ReactExport","ExcelSheet","ExcelColumn","DescargarCuentaExcel","cuentaCorriente","filename","DiasV","columnRender","columnMeta","updateDirection","customHeadRender","numero","MuiToolbar","MUIDataTableToolbar","actions","CuentaCorrienteTable","CuotasCuentaCorriente","cuenCorr","cartera","PermisoCuentaCorrientePDF","doc","jsPDF","setFontSize","cantidadFacturas","totalValor","pre","totalSaldo","totalDescuento","totalPagar","startY","head","didDrawPage","addImage","autoTable","PermisoCuentaCorrienteExcel","monedasGlobal","onStoreReciboClientes","onStoreReciboClienteSelected","onStoreReciboCuotasXCliente","onStoreReciboCuotasAPagar","onStoreReciboFacturasXCliente","onStoreReciboCuotasCuentaCorriente","onStoreCuotasImprimir","onStoreReciboLoading","onStoreClientesCartera","onSetStoreBancos","onSetStoreTipoPago","onDeleteCuentaCorriente","isCreditoVencido","setCreditoVencido","setClientes","setClientesFiltrados","setPaisSeleccionado","creditoVencido","vencido","calcularCuotasCuentaCorriente","cargarTipoPago","agrupacionCuentCorriente","agrupacionCuentaCorriente","totalAPagar","acuXTip","diasVencimiento","aPagar","colorFuente","InfoText","idmoneda","FacturasVencidas","acuerdoFiltrado","clientesStorageCartera","indexCartera","cargarFacturasXCliente","cargarCuotasXCliente","filtrados","BreadCrumb","SelectedCliente","acuerdosFacturas","DiasGracia","SinDescuento","descuentoAplicadoCuotaAcuerdo","MaestroDescuento","DescuentoDetalle","noAplicaDescuento","porcentajeDescuento","descuentoArreglo","CodigoDescuento","Porcentaje","totalDocumentosAplicados","DocumentosAplicadosAFacturas","valordescuento","DescuentoEnAcuerdos","DocumentoCuota","DocumentosAplicadosxCuotas","SaldoCuota","DisponibleCuota","fechaMaxDescuent","DiasTransporte","totalfactura","EliminarCuota","Fotografias","getUploadParams","meta","fileUrl","encodeURIComponent","onChangeStatus","allFiles","remove","inputContent","extra","dropzoneReject","inputLabel","dropzone","FunnelChart","grafica","ctx","getContext","CantidadVisitas","Atendidas","Efectivas","Productivas","cur","myChart","Chart","scales","yAxes","ticks","beginAtZero","destroy","ClienteCancelo","NoAtendidas","BarChart","visitas","setVisitas","cargarVisitasPorMes","obtenerValores","imhn","visita","VISITAS","imcr","imgt","imsl","MES","legend","tooltips","enabled","useStyles1","flexShrink","TablePaginationActions","useTheme","max","cargarEstadisticaVisita","inicio","EstadisticaVisita","clone","startOf","estadisticasVisita","setEstadisticasVisita","estadisticaVisitaFiltrada","setestadisticaVisitaFiltrada","Usuarios","setUsuarios","setSelected","EmpresaSelected","setEmpresaSelected","Asesores","setOptions","users","obtenerReporteAsignacionesAsesor","final","obtenerReporteAsignacionesGlobal","TableFooter","ActionsComponent","PaisFiltrado","VisitasProductivas","VisitasEfectivas","VisitasAtendidas","estVis","Recibos","ValorPedidos","TotalPedidos","ValorRecibos","TotalRecibos","Reporte","shadowColor","estadoCredito","estado","CoordenadasGlobal","paiseSelected","setpaiseSelected","paisList","setpaisList","setAsesor","asesoresFiltrados","setAsesoresFiltrados","mapRef","mapsRef","coordenadas","setCoordenadas","setEstado","marcadores","cargarRutas","cargarAsesores","APIKEY","renderMarkers","marcador","setMap","CREDITSTATUS","contentString","ACCOUNT","ADVISERNAME","LATITUDE","LONGITUD","infowindow","InfoWindow","marker","Marker","addListener","setBounds","LatLngList","LatLng","bounds","LatLngBounds","extend","fitBounds","todos","newlist","paisesFiltrados","handleDropdownChangeCountry","ADVISER","handleDropdownChangeAsesor","filtradas","handleDropdownChangeStatus","bootstrapURLKeys","defaultCenter","defaultZoom","onGoogleApiLoaded","maps","yesIWantToUseGoogleMapApiInternals","longitudCliente","latitudCliente","RegresarListaPedidos","Sincronizado","Observacion","TotalCant","detallePedido","MontoLinea","ImprimirPedido","Rtn","hidePrint","HeadersListaPedidos","ListaPedidos","startDate","endDate","pedidos","Detalles","DialogPedido","setDialogPedido","cargarPedidos","FechaInicio","FechaFin","Inicio","Fin","Valores","GetPedidoDetalle","EsImpresion","EnDetalle","titulo","obtenerReporteDistanciaPedido","obtenerReportePedidos","dataTable","EstadoPedido","SaleStatus","DataPedidos","PrintOutlined","DepositosModal","numeroRecibo","depositos","setDepositos","obtenerDepositos","deposito","dpi","DetalleDeposito","setDpi","actualizarDpi","eliminarImagenDeposito","confirm","addMarker","latLng","pinText","RegresarListaRecibos","re","ValorSinDescuento","NumeroCopia","setNumeroCopia","Original","anulado","DescripcionBanco","ValorFactura","DiasVencimiento","NombreAsesor","ReciboReporte","nombreAsesor","setNombreAsesor","firmaAsesor","setFirmaAsesor","obtenerFirmaRecibo","Listado","mostrarGenerarReporte","recibos","cargarRecibos","DataRecibos","HeadersListaRecibos","DialogRecibo","ListaRecibos","setNumeroRecibo","setError","setIsLoaded","setStartDate","setEndDate","setRecibos","setRecibo","setDialogRecibo","anularRecibo","habilitarReimpresion","activado","put","habilitarReimpresionOriginal","showPrint","copyRecibo","setMonth","recib","fechaIni","cambiarRecibo","Reimpresion","handleOpenModal","asesorFiltadro","getRadio","ColorChecked","RadioColor","Modal","LoadedTiempoEstimado","setLoadedTiempoEstimado","RadioValue","setRadioValue","HoraDialogFin","setHoraDialogFin","TiempoTotal","setTiempoTotal","setConfiguraciones","PrioridadesAsignacion","setPrioridadesAsignacion","TiposVisitaCliente","setTiposVisitaCliente","TipoValues","setTipoValues","TipoInitialValues","setTipoInitialValues","Configuracion","NoWarn","cargarPrioridadesAsignacion","cargarTiempoEstimado","cargarTiposAsignacionCliente","getTipos","ArrayValues","idTipoVisita","ArrayInitalValues","getLabelTiempoEstimado","toISOString","substr","Horas","Minutos","PaperDialog","ShowDialog","ButtonQuitarDisabled","DialogContentText","ClienteNombre","TimePicker","HoraDialogInicio","handleFechaDialogInicio","FormControl","FormLabel","RadioGroup","handlePrioridadRadio","priAsig","idPrioridad","ColorBorde","ColorRelleno","NombrePrioridad","labelPlacement","TableContainer","tipVisCli","Tiempo","SelectTiempo","Index","ArrayTipos","olddate","IN","MV","Tiempos","Interval","Max","getTiempos","tiempo","handleInputChange","ClienteCodigo","fechaAsignacion","handleInputEdit","asignaciones","FechaAsignacion","HoraInicio","HoraFinal","CargarAsignaciones","horaFecha","convertirFechaHora","resultado","StatusCode","Lista","copiaAsignaciones","Asignacion","valueOf","ShowTable","GuardarAsignacion","FechaFinDialog","Rutas","RutaSelected","TipoVisitaClienteDialogValue","ArrayTipoValues","showCargar","RutasSinFiltro","IdAsignacion","limpiarAsignacionesShow","eliminarRangoAsignacionesShow","setCargar","limpiarAsignaciones","eliminarRangoAsignaciones","AsesorSelect","CodigoRuta","DropdownRutas","Opciones","cargarAsignaciones","eliminarAsignacion","onChangeTipos","OnChangeFechaInicio","RutaFiltrada","handleTiempoEstimadoChange","handleTipoVisitaClienteChange","asesorSelected","handleCheckbox","evento","current_datetime","dia","dateInicio","dateFin","tipoVisita","tiempoEstimado","ListaAsignaciones","asignacionIndex","isValidDate","HoraFin","IdPrioridad","IdTipoVisita","IdAsignacionxAsesor","horarioChoca","fechaAsignacionIni","fechaAsignacionFin","fechainiValid","fechafinValid","finTiempoValid","indexAsignacion","Table","header","days","di","dayName","getDay","StickyHeader","filas","Filas","fechas","diaAsignado","diaAsignacion","valueMinutes","disablePast","ComboBoxContainer","ComboBoxOnTop","AsignacionModal","Calendario","calendarEl","eventos","calendar","Calendar","dayGridPlugin","timeGridPlugin","listPlugin","interactionPlugin","defaultView","esLocale","customButtons","click","onClickAsignacion","onClickAsesores","dateClick","onClickAgenda","listWeek","listDay","droppable","innerHeight","eventLimit","eventSources","events","eventTimeFormat","hour","minute","meridiem","eventClick","onClickEvento","Agenda","TiemposFuera","mostrarAcciones","Eventos","mostarEvento","isModalLoaded","ShowModalFacturas","DataModalFacturas","IdAccion","UrlRedirect","Estado","noAtendido","tipoSelected","razon","razonSelected","guardandoRazon","estadoFacturasClienteActivo","mostarNoAtendido","checkin","checkout","OpenModalAsesor","OpenModalPromesaPago","OpenModalNoVenta","RazonNoVenta","NoVentaSelected","ComentarioRazonNoVenta","myRef","refCoordenadas","cargarEmpresas","onSaveEmpresas","onSaveClientesContado","obtenerClientesUnicos","getFechas","setAsignaciones","obtenerTiemposFueraAsesorDia","cargarAsignacionesConClientes","cargarRazonNoVenta","CausaNoVenta","cargarListadoRazonNoVenta","enviarCheckinApi","horaSalida","origen","alertPromesaPago","msjAsignacion","enviarPromesaPago","postBody","IdAsignacionXAsesor","FechaPromesa","msjPromesa","enviarRazonesNoVenta","IdRazonNoVenta","Comentarios","enviarCheckin","meses","actual","mesesdespues","setMapsApi","tareas","fechainicio","objetoCliente","Checkin","Checkout","EsPromesaPago","clien","extendedProps","tarea","CheckinApi","CheckoutApi","fechaIngreso","onSaveAsignaciones","clienteActivo","showAcciones","onClickModal","route","OpenModalFacturas","futuras","vencio","isBetween","CloseModalFacturas","onCloseModalAtendido","dayEl","opcionTipos","opciones","opcion","IdRazonNoVentaTipo","opcionRazonNoVenta","Activo","razonId","opcionAsesores","ase","opcionCausas","RazonesNoVenta","IdRazonNoVentaCausa","Causa","onChangeAsesor","handleChangeTipo","handleRazonNoVenta","handleChangeCausa","handleChangeObservacion","handleChangeComentario","handleChangeValorPago","guardarRazon","cargarConfiguraciones","onSaveConfiguraciones","cargarTipoVisitas","onSaveTipoVisita","verifyBlock","verifyBlockNoseVisito","onSaveClientesPedido","onSaveClientesRecibo","actualizarDataExterna","mensajeErrorCoordenadas","verificarObtencionCoordenadas","registrarCheckOut","Cobros","Promesa_de_Pago","Ventas","openModalRazonNoVenta","accesoPineo","asignacionId","tipoDisabled","causaDisabled","PermisoAdministradorVisita","accion","AtenderContainer","InputLabel","htmlFor","multiline","rowsMax","rows","Sincronizacionlista","modulos","setModulos","gestores","setGestores","moduloSelected","setModuloSelected","NOMBRE","modulo","ID","ID_MODULO","gestor","SincronizacionListaMonitor","listado","setListado","fechaSelected","setFechaSelected","SincronizarListado","intervalo","FECHA","ID_GESTOR","MODULO","FECHASTR","EN_ESPERA","readOnly","EN_EJECUCION","FINALIZADO","TablaRoles","roles","modificarEstado","modificarRol","class","setMostar","striped","Status","FormularioCrud","Crear","OcultarModal","Modificar","setRoles","setRol","cargarRoles","crearRol","TablaPantallas","pantallas","modificarPantalla","modificarModoOffline","pantalla","Pantallas","setPantallas","setPantalla","cargarPantallas","crearPantalla","TablaUsuario","modificarBloqueoCredito","modificarTodosAsesores","UpdateUsuarioOficina","modificarAdministradorProducto","modificarManejaBodegaEspecifico","seleccionarUsuario","BloqueoAsesores","ManejaBodegaEspecifico","usuarios","setUsuario","mostrarEditar","setMostrarEditar","usuarioEdit","setUsuarioEdit","cargarUsuarios","crearUsuario","newUsuario","creador","verificarUsuario","actualizarCorreo","TablaFunciones","Funciones","ModificarFuncion","ModificarEstado","setFunciones","Funcion","setFuncion","ObtenerFunciones","CrearFuncion","Mantenimiento","Paper","newValue","TablaRelacion","cabeceras","valores","funcion","estilo","dataTabla","funcionesAsignadas","setFuncionesAsignadas","funcionesNoAsignadas","setFuncionesNoAsignadas","cargarFuncionesAsignadas","cargarFuncionesNoAsignadas","asignarFuncion","cargarFunciones","removerFuncion","UsuarioRoles","rolesAsignados","setRolesAsignados","rolesNoAsignados","setRolesNoAsignados","cargarRolesAsignados","cargarRolesNoAsignados","asignarRol","removerRol","TablaFuncionesPantalla","PantallasAsignadas","setPantallasAsignadas","PantallasNoAsignadas","setPantallasNoAsignadas","CargarFunciones","cargarPantallasAsignadas","cargarPantallasNoAsignadas","asignarPantalla","UsuariosEmpresas","EmpresasAsignadas","setEmpresasAsignadas","EmpresasNoAsignadas","setEmpresasNoAsignadas","cargarEmpresasAsignadas","cargarEmpresasNoAsignadas","asignarEmpresa","removerEmpresa","UsuarioAsesor","AsesoresAsignados","setAsesoresAsignados","AsesoresNoAsignados","setAsesoresNoAsignados","cargarAsesoresAsignados","cargarAsesoresNoAsignados","asignarAsesores","removerAsesores","AsignacionLinea","LineasAsignadas","setLineasAsignadas","LineasNoAsignadas","setLineasNoAsignadas","cargarLineasAsignadas","cargarLineasNoAsignadas","asignarLinea","removerLinea","Relacional","CheckCircle","actionsContainer","resetContainer","VerticalLinearStepper","SyncDiaria","CargarModuloInicial","Stepper","activeStep","orientation","labelProps","ModulosError","optional","isStepFailed","Step","StepLabel","StepContent","getStepContent","setloading","setActiveStep","setSyncDiaria","setUsuarioOficina","displaySincronizacion","setDisplaySincronizacion","update","setUpdate","setModulosError","velocidad","setVelocidad","cargarConfiguracionesUsuarioOficina","CargaPermisos","cargarConfiguracionBaseColor","inicioSesion","MeasureConnectionSpeed","startTime","endTime","Image","cacheBuster","getTime","showResults","speedMbps","intervalFun","ObtenerPermisos","cargarMotivosDevolucion","cargarCorrelativoPedido","cargarMaestroBodega","cargarCorrelativoRecibo","cargarTipoVisitasOficina","CargaModuloPedidosPendientes","tienePedidosPendientes","prevActiveStep","CargaModuloRecibosPendientes","tieneRecibosPendientes","CargarModuloConfiguraciones","ModuloCarteracliente","cargarDocumentosPendientes","CarteraClientes","CargaModuloRecibo","cargarFirmaRecibo","cargarClientesRecibos","CargaModuloPedidos","cargarClientesPedidos","cargarListaPrecios","CargaImagenes","ColeccionOriginal","imges","imgColor","verManual","update1","update2","SteperSync","ListaPedidosPendientes","sincronizarPedido","Procesando","ErrorAx","ListaPedidosFlotante","setTodos","cargarPedidosFlotantes","fechafin","obtenerDetallePedido","sincronizarPedidoFlotante","cancelarPedidoFlotante","PedidoGenerado","ListaReciboPendiente","sincronizar","FechaCheque","IdCuentaBancaria","Anticipo","ListaReciboCreditos","styleText","styleIcon","seleccionado","ListaClientes","HeaderDocumentoPendientes","FacturasReservadas","Pendientes","FechaDocumento","NumeroDocumento","CreadoPor","ReferenciaAx","IdentificadorAx","setFacturas","facturaSeleccionada","setFacturaSeleccionada","diasfactSelec","setdiasfactSelec","diasFactura","setDiasFactura","setMostrarModal","obtenerdiasgracia","documento","diasGracia","vencimiento","vencimientoDescuento","editarDiasGracia","actualizarDias","ChequesContabilizados","chequesCont","setchequesCont","cheques","obtenerDatos","getCheques","chequesContabilizados","NumRecibo","FechaRecepcion","NumCheque","NumeroCheque","ValorCheque","TipoCheque","che","sumatoria","obtenerFacturasDescuentoVencido","facturasDescuento","actualizarExcepcionDescuento","RemoverDescuento","obtenerFacturasDescuentoActivo","sinDescuento","setFiltrados","showClientes","setShowClientes","calcularDescuentoNuevaLogica","cargarCartera","requestPendientes","moverClientesConFlecha","nuevoCliente","busqueda","filtradosNuevos","handleChangeBusqueda","InputProps","endAdornment","InputAdornment","MapaAsesor","ubicaciones","ubicacion","nombreApellido","iniciales","handleVisibleClick","markerStyle","closewindow","ultimaFecha","fechacheckout","nombrecliente","codigocliente","infowindowTitle","infowindowButton","borderStyle","AsesorCard","asesorSeleccionado","seleccionarAsesor","ListaAsesores","CoordenadasAsesor","asesoresSeleccionados","setAsesoresSeleccionados","setUbicaciones","setChecked","EMPRESAS_ASIGNADAS","cargarUltimaLocalizacion","cargarUltimaLocalizacionIntervalo","useCallback","intervaloUbicacion","limpiarMarcadores","ImprimirBandejaSalida","Detalle","CantProducto","TotalProducto","BandejaSalida","existeCorrelativoPrevio","Sincronizar","pedidoId","nuevosPedidos","ImpresionPedido","productoUnico","nuevoColor","ImpresionBandejaSalida","BadejaSalidaRecibos","reciboId","nuevosRecibos","ListaRecibosFlotante","cargarRecibosFlotantes","fechafinal","cancelarReciboFlotante","sincronizarReciboFlotante","ReciboGenerado","RazonFlotante","SincronizacionTable","enviarCancelarLista","idListaACancelar","IdLista","Recargar","idLista","PAQUETE","FORZOSA","SincronizacionColeccionEspecifica","setEmpresa","setColeccion","listaEspecifica","setListaEspecifica","forzar","setForzar","bodegaEspecifico","setBodegaEspecifico","GESTOR_ESPECIFICO","SyncColeccion","GESTOR_BODEGAESPECIFICO","SyncBodegaEspecifica","limpiar","enviarSincronizacionEspecifica","IdGestor","ColeccionId","Forzar","cargarListaEspecifica","enviarSincronizacionEspecificaEmpresas","verificarColeccion","HeadersListaClientes","SincronizacionCliente","clientesCache","sincronizarCliente","confirmarSincronizacion","PedidoMarker","datos","onCloseClick","nombreCliente","numeroPedido","totalPedido","ReciboMarker","totalRecibo","ClientesMarker","recorrido","lastCoors","inicioruta","setInicio","finalruta","setFinal","paths","onLoad","mapi","lineSymbol","google","SymbolPath","CIRCLE","scale","icons","offset","onUnmount","clicMarcadorInicio","clicMarcadorFinal","clientesAgendado","polyline","line","animateCircle","FormularioReconstruccion","filtroAsesoresPorPais","cargarRecorrido","fechaFinalInicial","selectedDate","setSelectedDate","Grid","justify","handleMostrarDescripcion","libInstance","MomentUtils","KeyboardButtonProps","fechaFinal","ReconstruccionRuta","setRecorrido","setClientesAgendados","mostrarDescripcion","setMostrarDescripcion","SinCoordenadas","Simbologia","TablaTiposIngreso","TiposIngreso","tip","openEdit","tiposIngresos","setTiposIngresos","tipoIngreso","setTipoIngreso","RequiereGrupoOpciones","cargarTipoIngreso","registrarTipoIngreso","modificar","TablaSeccion","sec","setGrupoOpciones","grupoOpcion","setgrupoOpcion","cargarGrupoOpciones","registrarGrupoOpciones","modificarGrupoOpciones","TablaGrupoOpciones","GrupoOpcionesDetalle","opc","NombreGrupoOpciones","setGrupoOpcionesDetalle","grupoOpcionDetalle","setGrupoOpcionDetalle","cargarGrupoOpcionesDetalle","g","registrarGrupoOpcionesDetalle","GrupoOpcionesId","TablaGrupoOpcionesDetalle","Secciones","cargarPreguntas","TablaPreguntas","MostrarPregunta","setMostrarPregunta","Preguntas","preg","PreguntaOpciones","openModalAnidado","openEditarPreguntaAnidada","Preg","pregunta","setPregunta","requiereGrupoOpciones","setRequiereGrupoOpciones","setGrupoOpcion","grupoOpcionPregunta","setgrupoOpcionPregunta","modalPreguntaAnidada","setmodalPreguntaAnidada","EditarPreguntaAnidada","setEditarPreguntaAnidada","preguntasAnidadas","setPreguntasAnidadas","PreguntaOpcion","setPreguntaOpcion","setrender","setmensaje","Obligatorio","RespuestaObligatorio","Validaciones","PreguntasOpcionesId","cargarPreguntasAnidadas","preguntaOpcionesId","cargarPreguntasOpciones","preguntaId","GrupoOpcion","registrarPreguntas","TipoIngresoId","RequiereOpciones","SeccionEncuestaId","NombreSeccion","registrarPreguntasAnidadas","GrupoOpcionesDetalleId","modificarPreguntaAnidada","SeccionId","requiereOpciones","changePreguntaAnidada","Pregunta","preguntaOpcionId","tig","grupoOpcionesDetalle","resp","op","mostrarUsuario","setMostrarUsuario","Seccion","setSeccion","UsuariosConAcceso","setUsuariosConAcceso","UsuariosSinAcceso","setUsuariosSinAcceso","seccionSelected","setSeccionSelected","cargarSecciones","EncuestaId","NombreEncuesta","registrarSecciones","seccionId","cargarUsuariosConAcceso","cargarUsuariosSinAcceso","asignarUsuario","usuarioId","removerUsuario","preguntas","GrupoOpcionId","TablaSecciones","MantenimientoEncuesta","EncuestaBreadCrumb","cancelarEncuesta","TablaEncuesta","abrirRango","Tooltip","CargarEmpresasUsuario","AgregarSeccion","RangoFecha","convertirArreglo","resueltas","encuesta","respuestas","encuestaId","transformada","Encuesta","encuestas","setEncuestas","encuestasInactivas","setEncuestasInactivas","setEncuestaSelected","mostrarEmpresas","setMostrarEmpresas","setEncuesta","setfechaFin","SeccionesPermitidas","setSeccionesPermitidas","SeccionesNoPermitidas","setSeccionesNoPermitidas","MostrarSecciones","setMostrarSecciones","setEncuestaId","cargarEncuestas","EncuestasActivas","EncuestasInactivas","registrarEncuesta","ModificarEncuestas","cargarSeccionesPermitidas","cargarSeccionesNoPermitidas","cargarEmpresasPermitidas","cargarEmpresasNoPermitidas","asignarSeccion","removerSeccion","setFieldValue","cargarSeccion","SeccionesEncuesta","SelectClienteEncuesta","cargarEncuestasActivas","TablaEncuestasActivas","cargarFormulario","TextError","classname","fontStyle","autoFocus","align","focusDelay","ease","duration","TextArea","Select","Respuestas","RadioButton","field","option","String","respuestaCheckBox","isDisable","datePicker","inputVariant","FormikControl","FormularioEncuesta","secciones","modelo","seccion","EsRequerido","fields","PreguntaId","_nodes","validaciones","tipoDato","obtenerModelo","registrarRespuestas","Info","respuestasAnidadas","respuestaObjeto","respuestaAnidadaObjeto","esFecha","_isAMomentObject","ValorRespuesta","RespuestaAlfanumerica","PreguntasOpciones","RespuestasDetalle","RespuestasAnidadasDetalle","gp","PreguntasAnidadas","pa","GOpcionesDetalleNombre","preguntaAnidada","HeaderEncuestasResueltas","TablaResueltas","encuestasResueltas","detalleEncuesta","RespuestaId","EncuestasResueltas","setEncuestasResueltas","inicioFecha","finalFecha","cargarEncuestasResueltas","cargarRespuestas","respuestaId","FormularioRespuestas","Respuesta","respuesta","RespuestaNumerica","Encuestas","nombreEncuesta","TablaPaqueteBodega","paquetes","CodigoAlmacen","cambiarEstado","PaqueteBodega","almacenes","setAlmacenes","sitios","setSitios","setColecciones","coleccionesCopia","setColeccionesCopia","sitiosCopia","setSitiosCopia","almacenesCopia","setAlmacenesCopia","almacen","setAlmacen","sitio","setSitio","setPaquetes","cargarPaquetes","cargarAlmacenes","cargarSitios","crearBodegaEspecifico","sitioFiltrados","coleccionesFiltrado","seleccionarEmpresa","almacenesFiltrados","SitioId","seleccionarSitio","HeaderSitios","SitioBodega","estatus","acciones","ModalEditar","etiqueta","modificarSitio","HeaderAlmacenes","AlmacenSitio","setEtiqueta","setId","ide","etiqu","ListaReciboProforma","Ubicaciones","cargarUbicaciones","modificarEstadoBodegaLocal","modificarEstadoUbicacionDevolucion","Ubicacion","CodigoUbicacion","UbicacionId","estatusDevolucion","ActivoDevolucion","cargarProductoDevolucion","CeldaTallaDevolucion","ExpandableDevolucion","obtenerFacturasCliente","partes","handleChangeFactura","Abierta","dataFacturas","ProductosDevolucion","setFactura","facturaDestino","setFacturaDestino","facturasDestino","setFacturasDestino","motivosDevolucionMaestro","setMotivosDevolucionMaestro","motivosDevolucionDetalle","setMotivosDevolucionDetalle","almaceneSelected","setAlmaceneSelected","mostrarAlertaCalidad","setMostrarAlertaCalidad","obtenerProductosFactura","obtenerFacturasAbiertas","obtenerAlmacenes","obtenerCorrelativoDevolucion","motivosDevolucionCliente","obtenerMotivosDevolucion","precioOriginalSinFactura","limpiarPreciosCantidades","precioGeneral","precioEspecifico","variante","DisponibleAnterior","construirEncabezado","productoFactura","facDestino","DetalleDevolucion","MotivoDevolucion","MotivoDevolucionDetalle","FacturaDestino","SubTotal","FacturaOriginal","PedidoOriginal","generarCorrelativoParcial","parteNumerica","validacionDevolucionParcial","devoluciones","devolucionSinFactura","nuevoEncabezado","construirDevolucionParcial","devolucionSinProducto","enviarDevolucionParcial","enviarDevolucion","devolucion","nuevasDevoluciones","devolucionesGeneradas","motivosDevolucionFiltrado","dataMotivos","esDefectuoso","handleChangeMotivo","handleChangeMotivoDetalle","handleChangeAlmacen","handleChangeFacturaDestino","detalleDevolucion","subTotal","construirDetalleDevolucion","DevolucionesBreadCrumb","cancelarDevolucion","ImprimirDevolucionOriginal","precioTalla","ImprimirPedidoDevolucion","esDevolucion","NumDevolucion","CodigoMotivoDevolucion","DevolucionParcialReporte","setDevolucion","setDetalleDevolucion","obtenerDevolucionCompleta","obtenerDevolucion","obtenerDetalleDevolucion","indiceDevolucionGenerada","Devoluciones","ListadoMotivosDevolucion","MotivosDevolucion","aprobacionObligatoria","ActualizarAprobacion","IdMotivoDevolucion","setMotivosDevolucion","MotDevolucionSelected","setMotDevolucionSelected","idMotDevId","idMotivoDevolucion","ListadoDevolucion","setDevoluciones","ObtenerlistadoDevoluciones","devolucionSeleccionada","dev","obtenerReporteDevolucion","NumeroRMA","PedidoDevolucion","EstadoBodega","UsuarioModifica","notaCredito","NotaCredito","fechaNotaCredito","FechaNotaCredito","fechaCreacionAx","FechaCreacionAx","fechaCreacion","mostrarDetalleDevolucion","ImprimirInventarioDetalle","creado","completado","ListadoInventario","inventarios","setInventarios","setDetalleInventario","ObtenerListadoInventarios","eliminarInventario","obtenerDetalleInventario","modificado","unidades","AprobacionDevolucion","showModalCancelar","setshowModalCancelar","observacion","setobservacion","getDevoluciones","CancelarDevolucion","motivo","AprobarDevolucion","lista","FacturaOrigen","PedidoOrigen","IdDevAprobacion","ListadoDevolucionPendiente","sincronizarDevolucion","PagosDeAcuerdo","PagosEnFacturas","Documento","FechaLiquidacion","FechaDeposito","MuiTableCell","FacturasDeAcuerdo","FacturasCuotas","CuotasDeAcuerdos","NumCuota","SaldoDisponible","CuotasDeAcuerdo","acuerdos","Acu","Facturado","Desde","Hasta","cargarAcuerdosActivos","ClienteSelecte","AcuerdosXCliente","setAcuerdosXCliente","razonNoVenta","setRazonesNoVenta","setRazon","cargarRazonesNoVenta","registrarRazonesNoVisita","TablaTiposGasto","TiposGastos","Diario","TipoGasto","tiposGasto","setTiposGasto","tipoGasto","setTipoGasto","setEmpresas","empresasList","cargarTipoGasto","registrarTipoGasto","TablacategoriasGasto","CategoriasGastos","idCategoriaTipoGastoViaje","TipoNombre","CategoriaNombre","ProveedorPredefinido","CuentaContrapartida","FacturaObligatoria","CategoriaGasto","categoriasGasto","setCategoriasGasto","categoriaGasto","setCategoriaGasto","tipoOpciones","setTipoOpciones","empresasData","setEmpresasData","empresaSelected","cargarTipoOpcionesDetalle","TipoOpciones","cargarCategoriaGasto","registrarCategoriaGasto","idCategoriaTipoGasto","idTipoGastoViaje","IdTipoGastoViaje","ImagenObligatoria","TablaGrupoImpuesto","empresaID","grupoImpuestoGravado","grupoImpuestoArticuloGravado","grupoImpuestoExento","grupoImpuestoArticuloExento","grupoImpuestos","setGrupoImpuestos","grupoImpuesto","setGrupoImpuesto","cargarGrupoImpuestos","MantenimientoGastosAsesores","DetalleGasto","getImagen","RegresarGastosPendientes","textDecoration","serie","NoFactura","importeExento","importeGravado","GastosPendientes","gastos","setGastos","IdRechazado","setIdRechazado","setDetalle","detalleGasto","setDetalleGasto","idDetalle","setIdDetalle","buttonsEnabled","setButtonsEnabled","cargarHistorialGastos","getGastoDetalle","aprobarGasto","enviarAX","rechazarGasto","HeaderHistorialGastos","Option","DataGastos","gasto","IdGastoViajeDetalle","Gastos","setTipoSelected","tipoId","setTipoId","nombreTipo","setNombreTipo","guardarPdf","responseType","URL","createObjectURL","link","createElement","setAttribute","appendChild","removeChild","revokeObjectURL","temp","handleOnChangeTipo","DescripcionAdmin","GastosNoSync","MensajeAX","GastosRechazar","ImprimirTrackingDevolucionCalidad","SeguimientoCalidad","cargarDevoluvionesAprobadas","generarPlantilla","actualizarEstadoDevoluvion","newEstadoBodega","nEstado","devoluvion","obtenerReporteDevolucionTracking","DataDevoluciones","Aprobado","plantillaGenerada","HeadersListaDevoluviones","SincronizacionEspecifica","empresasUsuario","setAcuerdo","empresasMap","emp","objectSincronizar","objectmsg","msgType","handleOnChangeEmpresa","FirmaPantalla","obtenerAsesoresActivos","createBase64Image","fileObject","onerror","readAsDataURL","onFileChange","IMG_EXTENSION","fileBase","MotivosTiempoFuera","motivosTiempoFuera","setMotivosTiempoFuera","setMotivo","cargarMotivosTiempoFuera","registrarMotivoTiempoFuera","setDescripcion","motivos","setMotivos","tiemposFuera","setTiemposFuera","obtenerMotivosTiemposFuera","registrarTiempoFuera","latitudEntrada","longitudEntrada","motivoTiempoFueraId","codigoAsesor","completarTiempoFuera","tiempoFueraId","latitudSalida","longitudSalida","horaEntrada","BaseColorImpuestoTable","combinaciones","handleModalEdit","BaseColorImpuesto","comibinacionId","setCombinacionId","setCodigobase","setCodigoImpuesto","setImpuesto","setCombinaciones","setColores","bases","setBases","codigosImpuesto","setCodigosImpuesto","codigosImpuestoTmp","setCodigosImpuestoTmp","crearCombinacion","obtenerCombinaciones","modificarCombinacion","cambiarEstadoCombinacion","patch","obtenerColores","obtenerBases","obtenerImpuestos","base","combinacion","ClasficacionProductos","numDevolucion","operaciones","setOperaciones","defectos","setDefectos","clasificaciones","setClasificaciones","obtenerOperaciones","obtenerDefectos","obtenerClasificaciones","devolucionDetalleId","clasificacion","ClasificacionDetalle","operacionId","setOpereacionId","defectoId","setDefectoId","cantidadMantenimiento","descripcionText","setDescripcionText","actualizarDetalle","InventarioEspecifico","obtenerColeccionesInventarioEspecifico","cambiarEstadoPaquete","paquete","inventarioEspecifico","ListadoReportesVisita","incidencias","setIncidencias","incidenciaDetalle","setIncidenciaDetalle","selectedImage","incidencia","setIncidencia","estados","setEstados","estadosCombo","showModalCmabiarEstado","setCambiarEstado","estadoNuevo","setEstadoNuevo","isZoomed","setIsZoomed","openDelete","setOpenDelete","estadoSelect","setEstadoSelected","obtenerEstados","asesoresData","estadoFuntion","selectedEstado","idEstado","actualizarEstado","IdEstado","ObtenerlistadoIncidencias","EliminarImagenes","inc","fotografia","textFieldStyle","inputLabelStyle","inputPropsStyle","handleExportFiltered","fieldsToRemove","transformedData","fotos","foto","ws","book_new","book_append_sheet","wbout","blob","exportToExcel","tipoIncidencia","PaperProps","InputLabelProps","transition","gap","overflowX","CorreosMain","obtenermodulos","ModuloId","newRow","setNewRow","editRow","setEditRow","rowIndex","columnName","updatedData","handleAddRow","handleUpdateRow","handleDeleteRow","moduloId","Save","isConfirmed","dismiss","DismissReason","cancel","MailServicios","currentRow","setCurrentRow","warningMessage","setWarningMessage","setmoduloId","Modulo","ServicioID","UsuarioCreacion","ValidaType","Consulta","valida_empresaid","modalData","setModalData","URLSearchParams","fetchData","formattedDate","month","padStart","handleSave","handleDelete","goToMailCorreos","Alarm","goToMailEjecucion","alternativeLabel","shrink","labelId","MailCorreos","dataEmpresas","setDataEmpresas","childModalOpen","setChildModalOpen","setModuloId","CorreoElectronico","FechaModifiacion","obtenerEmpresas","obtenerCorreos","prevData","handleChildModalClose","errorMessage","statusText","MailEjecucion","ProximaEjecucion","IntervalType","IntervalValue","obtenerRegistros","inputProps","ListadoSTP","servicios","setServicios","tipoServicio","setTipoServicio","proximaEjecucionEnvio","setProximaEjecucionEnvio","UltimaEjecucionEnvio","setUltimaEjecucionEnvio","proximaEjecucionGenerarArchivo","setProximaEjecucionGenerarArchivo","ultimaEjecucionGenerarArchivo","setUltimaEjecucionGenerarArchivo","automatico","setAutomatico","setActivo","reIniciar","setReIniciar","reIniciarGenerarcionArchivo","setReIniciarGenerarcionArchivo","numeroEjecucion","setNumeroEjecucion","proximaEjecucionEnvioDisable","setProximaEjecucionEnvioDisable","proximaEjecucionGenerarArchivoDisable","setProximaEjecucionGenerarArchivoDisable","obtenerServiciosYTareas","actualizarServicio","ProximaEjecucionEnvio","ProximaEjecucionGenerarArchivo","ReIniciar","ReIniciarGenerarcionArchivo","TipoServicio","UltimaEjecucionGenerarArchivo","Automatico","NumeroEjecucion","updatedDate","blank","componentQueries","token","isLogged","enableHighAccuracy","maximumAge","dense","maxSnack","exactz","AsignacionPage","frameBorder","AgendaPage","isLocalhost","hostname","registerValidSW","swUrl","config","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","i18n","use","persistor","persistStore","ReactDOM","process","origin","contentType","ready","unregister","checkValidServiceWorker"],"mappings":"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","file":"static/js/main.83b6c89c.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"StickyHeader\":\"SincronizacionListaMonitor_StickyHeader__3qKlm\",\"ToastOnTopModal\":\"SincronizacionListaMonitor_ToastOnTopModal__9h215\",\"ComboBoxOnTop\":\"SincronizacionListaMonitor_ComboBoxOnTop__290Tb\",\"ComboBoxContainer\":\"SincronizacionListaMonitor_ComboBoxContainer__Q2DSZ\",\"TableContainer\":\"SincronizacionListaMonitor_TableContainer__qyiii\",\"PaperDialog\":\"SincronizacionListaMonitor_PaperDialog__1Wpy9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"Producto_card__1aR8r\",\"selectable\":\"Producto_selectable__Lzmc5\",\"check\":\"Producto_check__1G5Yb\",\"checkmark\":\"Producto_checkmark__3NSto\",\"selected\":\"Producto_selected__XDRmK\",\"cdtrigger\":\"Producto_cdtrigger__2xBfx\",\"cda\":\"Producto_cda__393cO\",\"tableed\":\"Producto_tableed__17GjG\",\"RowProducto\":\"Producto_RowProducto__33RsH\",\"AltRowProducto\":\"Producto_AltRowProducto__NMM0v\",\"soldOut\":\"Producto_soldOut__1ZZTZ\",\"inOut\":\"Producto_inOut__1_Xc7\",\"nuevo\":\"Producto_nuevo__g-YHs\",\"piezaSuelta\":\"Producto_piezaSuelta__1_yWU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Title\":\"Recibo_Title__22tK6\",\"LineHeight_1_5\":\"Recibo_LineHeight_1_5__Zpvjb\",\"LineHeight_Normal\":\"Recibo_LineHeight_Normal__3OPW5\",\"TableRow\":\"Recibo_TableRow__3aeQ4\",\"TableCellAmmount\":\"Recibo_TableCellAmmount__2ikGw\",\"FirmaContainer\":\"Recibo_FirmaContainer__2DSJq\",\"Size\":\"Recibo_Size__2ibpQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"WarnRecibo\":\"CuotasTable_WarnRecibo__LFU61\",\"InfoText\":\"CuotasTable_InfoText__18mgq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StickyHeader\":\"Asignacion_StickyHeader__2w0ao\",\"ToastOnTopModal\":\"Asignacion_ToastOnTopModal__3g8gF\",\"ComboBoxOnTop\":\"Asignacion_ComboBoxOnTop__3Xghn\",\"ComboBoxContainer\":\"Asignacion_ComboBoxContainer__1VaR5\",\"TableContainer\":\"Asignacion_TableContainer__3e6ky\",\"PaperDialog\":\"Asignacion_PaperDialog__hQIce\"};","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPMAAAFiCAYAAAAju+5tAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGymlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTA2LTI3VDEyOjEzOjE0LTA2OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wOC0xM1QxODowMzoxNi0wNjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0wOC0xM1QxODowMzoxNi0wNjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2N2E0ZjhjZS05Y2IyLWRhNDItYTFjMi0xYWM2ZWU2Mjk1ZjIiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0MzIwZDIxYS01YTk4LTViNGMtYjFjMi1jZDEyNDRiNTVhM2UiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMDc1OTU4ZS0yNDM0LTE0NDgtYjc2Yy0yNGYxNzcyOTI3OTYiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjAwNzU5NThlLTI0MzQtMTQ0OC1iNzZjLTI0ZjE3NzI5Mjc5NiIgc3RFdnQ6d2hlbj0iMjAxOS0wNi0yN1QxMjoxMzoxNC0wNjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YWIxYmI2ZC1mZTBkLTUzNDQtOTBhNy1lMDU4YjY3OGNhZmEiIHN0RXZ0OndoZW49IjIwMTktMDYtMjdUMTI6MTc6MjAtMDY6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NjdhNGY4Y2UtOWNiMi1kYTQyLWExYzItMWFjNmVlNjI5NWYyIiBzdEV2dDp3aGVuPSIyMDE5LTA4LTEzVDE4OjAzOjE2LTA2OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VpD0GgAAEZdJREFUeNrt3U2PHMd5wHGaS93nI8xHGOQT7EdYLJD7IAGYQy4LBDnZhwF8M3zYawAfNrccVwiGRJCIWCqSZUsyNRQjibReMKYpLRQoyRxIEBQcbFjEjNNsVnVX97xu7+/wBwRxu6enpv9VTz31du3i4uIagMuPQgDIDIDMAMgMgMwAmQGQGQCZAZAZIDMAMgMgMwAyAyAzQGYAZAZAZgBkBsgMgMwAyAyAzACZAZAZAJkBkBkAmQEyAyAzADIDIDNAZgBkBkBmAGQGyKwQADIDIDMAMgMgM0BmAGQGQGYAZAbIDIDMAMgMgMwAyAyQGQCZAZAZAJkBMgMgMwAyAyAzQGYAZAZAZgBkBkBmgMwAyAyAzADIDJAZAJkBkBkAmQEyKwSAzADIDIDMAMgMkBkAmQGQGQCZATIDIDMAMgMgMwAyA2QGQGYAZAZAZoDMAMgMgMwAyAyQGQCZAZAZAJkBkBkgMwAyAyAzADIDZAZAZgBkBkDmjjP9/uGecgCZM/j6yac3lAPI3BF+e//ftH4gM1bO4YsXL/72hx9++NWuEJ4nPJffhszI5Mcff/zrJ0+evPPhhx9ejMfji7fffnvrhOcIz/PVV199E57P70TmlfMfX//mra61yLPZ7JdBnl0kiB1aaS00mZEh87179/7cGlZx69Z2hH7vvfcuyEzmS8Xj77/YeELs+fPnf7errXKR8JzeETJfKj5+cHeTQh8+evTof3Ja5W2H2uE5tc5kRkWrfPv27YvL0DKH59Q6kxkVrfJlEHmB1pnMiBDGcENi6TLJHJ53PvbsNyQzFq1yGFdeRV95kxnu8LzhubXOZO6UjMvy7rvvrkyyTQodnnsV3987ROat8OmXv36rPMkjjA0vw2UKr8ss870/++yzC9NEybwz4XHI7O76cNKuZ8bNKiPzVgkt8p07d3Zq/DeIEZ4pJKfCXOoy4d92sfIJ4bqhLjJvjVUlrZYVOLBYBBFauFDJBDHCgogiIZx9+vTpT8PfhGcPYe6uiB2e4fz8fOy9IvOVlDm0sqHPGQStSiT9ZvKv11NJu8UKrVUm4JbMjHu3yHx1ZA4Shwkb86WIWdng6bf3b9Rl40PLuK2xbjKTeWdk3tRwUAiN15gserUhQqgoNj2tlMxkvjItc/ic0Cfe0LjsYagwNpncIzOZr4TMoZXMnGl1c8HLEPzvZ7PZPxR5/vz5z4t/Uyd0COM31ZcmM5k7L3MQeZ7lrRL5ZhD15d+9lqFObf8T+sUvW/nHT58+/UWN2IchK77YvojMZCbz+uY+v5I4iNm0BV2MSYdseGi1q4QO2fJ1h9xkJnOnZS70kaPh9Mt+7T+tIgyeZ8dnFa304bp3QCEzmTsrcwhtE7tgvuoPhxZ1lZ8d7hUqhopW+jBULmQm89WV+dZK5yrffPHixc9yN/xr20qHFj8mdKhc1tV/JjOZO9kyJ3bweBUCb2KFVRA60UIfrms+OpnJ3DmZQ6ucCq9XHVpnLHz4eUzodVQoZCZzp2QO9wqixFrlEPpucupo4VmirTOZyUzmGgqLJor7g/1sG3Om56dXxPrPh6sOtclM5k7JHISNhNg3wzjyNjfti8kcMturjkrITOZLJ3NsUUZqY/nQb93m8sT5DLR3ykKHCILMZNYyJ4gszn/VV972OuOQeCvLHCKIVYbaZCZzZ2SeDwf9cpsZ7IzM9tqy2mQmc2dkDn3TyB5YN3dlj7H5uPNrMq/yXCwyk7kzMiemb97clf25Xn7X98uh9iq/P5nJ3BmZY+PLoTXcFZlj/WYyk5nMiZa5LPOmJ4pkVDZkJjOZc2T50//+6S+L9w9DQmQGmTvQZ9Yyg8wdyWbveJ9ZNpvMZG4yzrwrMocppWWZjTOTmczVGxK8JvOm969OiVYeZw5dglUu/iAzmTsjc2lf7MVn/M0uHPcamwG26j3ByEzmTs3NjiTBbp6fn9/ZZqidWNd8uI613GQmc6fWMz979uyn5VVT25zSOd+Avzz763DV66vJTObO7TQSWQa59fXMYTfQ8j7adhohM5kzstq7sqZ5fmZyeS3zYRimIjOZydxu8/ubIdTd9B5gkV1G7M5JZjK3HHN+TehNZrbDMxTOonptbLnuO7c53pbMZO6kzIlVVK82wN/EIW6JjfBfHcbuRAsyk7kFkUPjXh0UF4Re5+fG+snhEPZ1TmAhM5k7LfN8h483wu2QXV5HC51qkYPI697ql8xk7rzMqf7zYshqFcmoxdGuIYwvixwmsWyir05mMnde5kKLGT1ILiSpgoiLA9abyLOYdVYIq18TObCJPjqZyXxlZI4cvP5GK/3s2bNf5B66HsQPrW1YPDGfEBI9giaE1lv4ft4tMndb5gWhFZ6ve36tlf72Pz/fK7SuN4OoocUtEvrDhVA6drD64WLe9aankJKZzFdO5kXYHWul7z14Z6/ldzlcTNMMYfU2ll2SmcxXUubFy7+Qer444zDSp66VOGSqQ3983cNdZCYzmTOlDuF3eJ7Q1y2E4W8QstOhBQ4TQMKijm2cLklmMpM5IzsdxA5JsCBpaG1DoiuIHv47EP5/+Jum2W8yk5nMSHOLzGQmc+cgM5nJ3KD1IzOZUSMzVgOZybw1QtY4ZIRDggnLEcoxcqQtyLw5wjhteAmxHKEcvU9kRof4aPIv15UDmdER/nj++Z5yIDMy+PrxvRvKgczoCO//biycJTMAMgMgM64udz/6558oBzKjIzyaStqRGVk8/v6RhBiZ0RU++fw947tkBkBmAGQGQGZ0gPtf/vtbyoHM6Ajn//2NMWgyI4cvph8Z3yUzADIDIDNAZqAD/HZy5zqZgY7wx/OH18kMZPDwyT3ju2RGV/ig/VnQIDOATso8Ho93jcFL9hP0d/B50QIyXw2ZzyoORhsRgcxkvjwyn86FnhUkPpszIMJ2efiHj98iM5nbttBnV0mWb89/f13LTOauybxolU8aXNMr9K9z+uRt+vC9ht9jv+HnXfvk81/vlb5L23zB4toBmcm8zSRYXT+52HKHF3ZS6l+HMH1YuN9ppA8+Tbzog8j9Lkphf5Ug/UTff1a477Tiu59VfG4voyzOGlxLZjKvlYPCS7hf03LPKqQLHNf8+2nk3kc11yxkjMkxzHimVPdhGPmbWP4gVRbTms8ckZnMm2ZUeAH7iZavLNZw/v/789A8JvV+obIoChKT6mT+d73S555UVDSDwn0npX/vlSqJUUUFdhqpKIqfO8goi0HkM8/ITOZtZLQXrW6qL7h4QY9qWu6zRIVwWiHztZoQOiZzr9AyThKtdvHaYenaWU2OoJe4dj+j5Z2sU+Z7X7x7g8xkTjGteflGNSL2Ml7wk5oKo5wAG87vdZyQ+Sija3CQaF2PCs/Sy0gKHjUoi42MDHz3wzc/ITOZq17a45qWe5LRcu+3eMEX4XRd33cQud80s/sQazlz2W9QFjnlKczuksz3f//+jR35oXNC6ElF8qqcSEoN6cwq+q6zRCJqVMoUNxUmJd5FQ/oNyqKXUZ5k1jKvhWGDTHYqhD6uCaFTfdd+JJGUEvIscV1Vxjgm3v6S2ea6a3OiFDKTeS0c1/QBB0uG0FUv+ElGiz6NJKpyhYz9zTIyF8viIPE3Ry0TfWS+7DI//u6zvR2ZxjldQQh93LDvOstIFMXE62XMWBslKpBBy9luuWVxktGXXzkfP7i7R2Yt82yFmeyjmhd8UjERJSbOtCIqmJZEX0ylPIpM5ugnvvNFIrQvfv5g1zLZKb759sEema+ezAeFJFOxz3oWaV3bhtA5CbRpZHbYWSKr3Ws4a6xqkkr52sm8wjmJTM0sXne3ZSQhzCbzRvrJZU4Swh23bLmvZc7CukhktKsSa6NEJnw/oxIaZVQGo4z+eyrRd0BmMu/a7iJ1q4j6GauUqu4xKLSIp3OBBqXnHGR8n36L4aH+/N+PC1HJqELEurLoLbHai8xkRou55nYaIfP6Zf7kyw9uePmyIovFwox+xcKMY2VFZi3zbjPMmLU12bVQdxt8Of34BpnJfFllnm4yk/z4uy+ua5nJjNXMK9/f9nY9nz7a/a4RmckMfWYyr0rmD+7f2vMygswdaZkfTj+S4QaZhdkAmcmcN4vMqRfNE3b9DV9LZjK3WqQ/HF/t420WU0PvrnARxtK7l5CZzDk7Zg7H6YPoruKkjVliPfMyO5AsvXsJmcmcs2n+ILGyaHpFQ+nUZv85Gxtcy9i9pEdmMq9rIYO+cLNlp7MNX0vmDcjciywdHBT2ix5l1uD90jVHK1wptHjGxb2H8/+X2vUyZwlgv3TPqiRa+V79eVQwKi2VXGX5xJZ0LnYwWVzfy1gCWbcDSblsD5bcvaRX+p6vlQ+Z1ytzeY+q1OFlw4ofr2qTgWVXDB1V7GM9S4SSVX271DE2xTnV/cS9hhXlM1px+RTFGY7j50nNEhVJVcRSPEHjuOHikKrvWvc9w/fokXm9Mp9UvNQXNftj9UobuYdr/jGy5U7bBQcn4/oD1WL3T73MvdK1iy2KJhWbzQ8rymdWcV2qfE4yy2ea+bucNtinu1dRKU5ryrQq2Vj+npPx/58CUrzvCZnXK/NZZM/oXuJHGozT5zYdjdOHqc1atsjFLYSq9t7az9yZ8qRGvFHkWY8ryudazbrlZcqnXIkdJK69aLDX2X5E2FQU0iQLXtxWqSq0n5F5vTK33So25wSKo5ZDGTnb0FZlZVMvc5utbc/G+cfAnK2ofPYzujdnFTLnRCyp/vpp4r6paGdYUdm/MepA5vXJnLOZ+igxHHGaMfTTdlyyeLhbr0UmO/UyF1ud3OeZZfT9Y4mhZconZwgoVckMWkQsOeWaCt2nGRXkPpnXL/NBRq0aG47oZSa42sqc04KmMqtVFdRZYmvbVGY4d8bTNJIhXqZ8coaAJi3GkXOy0amTRWKf1x83PC+LzOuTue1m6vuZW7ketZigkBNiVrWYVRXUoCKxNIt8Xm5lVI4Eli2fHOmaJv9yp3Ge1RwUMEpUHGcZSICtUebTBv3B1I9Y9ZKftkiAHWTcu6rFzKmgFuOqsWGmpvc6iIi7bPnUhfY50UeTiOXa9//153OWZ5GoKHVt40k7ZF6fzE02Ux9mJMVSwjVJOOXcOyezmnssS68iy53TxzyJCLlM+fTHeUfWpCKeaYuI5RW3bo3/KiFt6vNGTad3knl9Mrc9FjQnFD5uOQd4uERSLlVB9WqeIRUN1FUMB+P6Ex6blk9OaF81jt42YukVym6See1Rg7kEAzKvT+ZVvTTTiFCjJWaADSpmIh1ExsWbdAtGkWftlcZ7e4khp37FzLSzFZbPMofCVf2mxZC+H4nAJhX/nvq8finncDROnyc2IfP6ZM5ZPXNS0ac+Lv2QiyTHNDHuWslXf/jdjUjmNDXr6aLhyzyK3O8sct9holIpf8+cqY9tyycntE91j44yIpbic8dmvx189ODOXoPhp+NEGUVnqpF5PTIvM/xRNxV0tuSe0YPEfOxpqRIaZb7Mw4oKoXjIWyqEnjScj71M+dSVeVUofZwRsaS+y+T27Vt/0XJ4blQxf37xXfbJvD6Zc7bbydkiZlBaITNc0WYAxdU3R5E++34iXKw6PG4QWX01yOxiDAqrlprOZmtSPsscClf1mxavKa7gGta8A7mH0MVWX71xDZmtZ94GOcN2sJ6ZzJeAnGmKIDMAMgMgMwAyA2QGQGYAZAZAZoDMAMgMgMwAyAyAzACZAZAZAJkBkBkgMwAyAyAzADIDZAZAZgBkBkBmAGQGyAyAzADIDIDMAJkBkBkAmQGQGQCZATIDIDMAMgMgM0BmAGQGQGYAZAbIDIDMAMgMgMwAyAyQGQCZAZAZAJkBMgMgMwAyAyAzQGYAZAZAZgBkBkBmgMwAyAyAzADIDJAZAJkBkBkAmQGQGSAzADIDIDMAMgNkBkBmAGQGQGaAzADIDIDMAMgMgMwAmQGQGQCZAZAZIDMAMgMgMwAyA2QGQGYAZAZAZgBkBsgMgMwAyAyAzACZAZAZAJkBkBkAmQEyA9gp/g8fSa/lsRULDwAAAABJRU5ErkJggg==\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"FaSignOutAlt\":\"PedidosBreadCrumb_FaSignOutAlt__i7cCO\",\"ColBreadCrumb\":\"PedidosBreadCrumb_ColBreadCrumb__2LK-k\",\"FaExclamationCircle\":\"PedidosBreadCrumb_FaExclamationCircle__3mZX9\",\"FechaEntrega\":\"PedidosBreadCrumb_FechaEntrega__DXPkl\",\"linkButton\":\"PedidosBreadCrumb_linkButton__1IZQl\"};","// export const APIURL = 'https://aventas.devcit.com:3044';\r\nexport const APIURL = 'https://crm.intermoda.hn:41443';\r\nexport const APIKEY = 'AIzaSyCpnDhF1L7k1MJdu7UJLElTUnlAhFMi1_0';\r\nexport const APP_VERSION = \"2.9.6\";","import logo200Image from 'assets/img/logo/Barra.png';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faUser, faLock } from '@fortawesome/free-solid-svg-icons'\r\nimport { Button, Form, FormGroup, Input, Label } from 'reactstrap';\r\nimport { ScaleLoader } from 'react-spinners';\r\nimport {APIURL ,APP_VERSION} from 'utils/Enviroment';\r\n\r\nclass AuthForm extends React.Component {\r\n urlApi = APIURL;\r\n\r\n state = {\r\n username: '',\r\n password: '',\r\n error: false,\r\n logged: false,\r\n loading: false,\r\n message:''\r\n };\r\n\r\n get isLogin() {\r\n return this.props.authState === STATE_LOGIN;\r\n }\r\n\r\n get isSignup() {\r\n return this.props.authState === STATE_SIGNUP;\r\n }\r\n\r\n changeAuthState = authState => event => {\r\n event.preventDefault();\r\n this.props.onChangeAuthState(authState);\r\n };\r\n\r\n cerrarSesion = async () => {\r\n try {\r\n await fetch(APIURL + \"/api/cerrarSesion\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(this.state.username)\r\n });\r\n\r\n this.handleSubmit({ preventDefault: () => { } });\r\n\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n handleSubmit = event => {\r\n\r\n this.setState({ loading: true });\r\n event.preventDefault();\r\n fetch(this.urlApi + \"/api/authentication\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify({ 'UserAccount': this.state.username, 'Password': this.state.password })\r\n })\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n if (result.Message === 'Ok') {\r\n localStorage.setItem(\"asesor\",result.Data.Nombre);\r\n localStorage.setItem('codigo',this.state.username.toLowerCase());\r\n localStorage.setItem('token', result.Data.Token);\r\n localStorage.setItem('empresa', result.Data.Empresa.toUpperCase());\r\n localStorage.setItem(\"SesionObligatorio\",1);\r\n this.logSesion(this.state.username.toLowerCase());\r\n } else {\r\n if(result.Message === \"Usuario cuenta con una sesiĆ³n activa, acceso denegado.\"){\r\n alert(\"Actualmente cuenta con una sesiĆ³n activa, Āædesea cerrarla para continuar?\");\r\n this.cerrarSesion();\r\n }\r\n this.setState({ error: true, loading: false,message:result.Message });\r\n\r\n }\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n error: true\r\n });\r\n }\r\n )\r\n\r\n };\r\n\r\n logSesion = (usuario) => {\r\n fetch('https://ipapi.co/json')\r\n .then(res=>res.json())\r\n .then(data=>{\r\n let logSession = {\r\n Usuario: usuario,\r\n version_navegador: window.navigator.appVersion,\r\n IP_Publica: data.ip,\r\n Latitud: data.latitude,\r\n Longitud: data.longitude,\r\n Version_App: APP_VERSION\r\n }\r\n this.registrarLogSesion(logSession);\r\n })\r\n .catch(error=>console.log(error))\r\n }\r\n\r\n registrarLogSesion = (data) => {\r\n fetch(this.urlApi + \"/api/logsesion\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(data)\r\n })\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n this.setState({ logged: true });\r\n window.location.reload();\r\n console.log(result.Message)\r\n },\r\n )\r\n }\r\n usernameChange = (event) => {\r\n if (this.state.error) {\r\n this.setState({ username: event.target.value, error: false });\r\n } else {\r\n this.setState({ username: event.target.value });\r\n }\r\n }\r\n passwordChange = (event) => {\r\n if (this.state.error) {\r\n this.setState({ password: event.target.value, error: false });\r\n } else {\r\n this.setState({ password: event.target.value });\r\n }\r\n }\r\n renderButtonText() {\r\n const { buttonText } = this.props;\r\n\r\n if (!buttonText && this.isLogin) {\r\n return 'Login';\r\n }\r\n\r\n if (!buttonText && this.isSignup) {\r\n return 'Signup';\r\n }\r\n\r\n return buttonText;\r\n }\r\n\r\n render() {\r\n\r\n const {\r\n showLogo,\r\n usernameLabel,\r\n usernameInputProps,\r\n passwordLabel,\r\n passwordInputProps,\r\n confirmPasswordLabel,\r\n confirmPasswordInputProps,\r\n children,\r\n onLogoClick,\r\n } = this.props;\r\n const styleFormLogin = {\r\n // backgroundColor: '#153950',\r\n color: '#153950',\r\n };\r\n const styleInputFormLogin = {\r\n // backgroundColor: '#153950',\r\n color: '#153950',\r\n borderTop: 'none',\r\n borderLeft: 'none',\r\n borderRight: 'none',\r\n borderBottomStyle: 'solid',\r\n borderRadius: 'unset'\r\n };\r\n return (\r\n\r\n
\r\n {showLogo && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n {this.state.error ?
{this.state.message}
: null}\r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {this.isSignup && (\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {/* \r\n \r\n */}\r\n
\r\n \r\n {this.state.loading ?\r\n : 'Iniciar'\r\n }\r\n\r\n \r\n\r\n {/*
\r\n
or
\r\n
\r\n {this.isSignup ? (\r\n \r\n Login\r\n \r\n ) : (\r\n \r\n Signup\r\n \r\n )}\r\n
\r\n
*/}\r\n\r\n {children}\r\n {this.state.logged && }\r\n \r\n );\r\n }\r\n}\r\n\r\nexport const STATE_LOGIN = 'LOGIN';\r\nexport const STATE_SIGNUP = 'SIGNUP';\r\n\r\nAuthForm.propTypes = {\r\n authState: PropTypes.oneOf([STATE_LOGIN, STATE_SIGNUP]).isRequired,\r\n showLogo: PropTypes.bool,\r\n usernameLabel: PropTypes.string,\r\n usernameInputProps: PropTypes.object,\r\n passwordLabel: PropTypes.string,\r\n passwordInputProps: PropTypes.object,\r\n confirmPasswordLabel: PropTypes.string,\r\n confirmPasswordInputProps: PropTypes.object,\r\n onLogoClick: PropTypes.func,\r\n};\r\n\r\nAuthForm.defaultProps = {\r\n authState: 'LOGIN',\r\n showLogo: true,\r\n usernameLabel: ' Usuario',\r\n usernameInputProps: {\r\n type: 'email',\r\n placeholder: 'Codigo Usuario',\r\n },\r\n passwordLabel: ' ContraseƱa',\r\n passwordInputProps: {\r\n type: 'password',\r\n placeholder: 'ContraseƱa',\r\n },\r\n confirmPasswordLabel: 'Confirm Password',\r\n confirmPasswordInputProps: {\r\n type: 'password',\r\n placeholder: 'confirm your password',\r\n },\r\n onLogoClick: () => { },\r\n};\r\n\r\nexport default AuthForm;\r\n","const initialState = {\r\n Login: false,\r\n colecciones: [],\r\n producto: null,\r\n coleccion: null,\r\n clientes: [],\r\n cliente: null,\r\n listaProductosAgregados: [],\r\n TipoPedido: null,\r\n AcuerdoVenta: null,\r\n TiposPedido: [],\r\n MaestroLineas: [],\r\n LineaSeleccionada: null,\r\n TableValue: {},\r\n PedidoEnCurso: false,\r\n codigoColeccionActiva: '',\r\n TotalPedido: 0.0,\r\n Limite: Infinity,\r\n NumeroOrden: null,\r\n AsesorId: 80,\r\n TiposColeccion: [],\r\n DetalleInventario: [],\r\n pedidoSelected: null,\r\n Recibo: {\r\n clientes: [],\r\n clienteSelected: null,\r\n cuotasXCliente: null,\r\n cuotasAPagar: null,\r\n facturasXCliente: null,\r\n cuotasCuentaCorriente: [],\r\n },\r\n clienteContado: null,\r\n clientesContado: [],\r\n requiereEntrega: true,\r\n asesor: '',\r\n empresasTransporte: [],\r\n precioCajas: [],\r\n comunidadesAutonomas: [],\r\n flete: 0.0,\r\n ClienteImpuestos: [],\r\n ProductoImpuestos: [],\r\n Empresas: [],\r\n Monedas: [],\r\n CuentaImprimir: [],\r\n Bloqueo: false,\r\n Anterior: true,\r\n Asignaciones: [],\r\n AbreviacionMonedas: [],\r\n Permisos: [],\r\n PedidoSincronizar: [],\r\n ReciboSincronizar: [],\r\n RecibosEnCache: [],\r\n Cartera: [],\r\n MonedasGlobal: [],\r\n BancosGlobal: [],\r\n TipoPagoGlobal: [],\r\n Configuraciones: null,\r\n EmpresaTransporteGlobal: [],\r\n PrecioCajasGlobal: [],\r\n ClienteImpuestosGlobal: [],\r\n ProductoImpuestosGlobal: [],\r\n TipoVisita: [],\r\n ListaPrecios: [],\r\n SeccionEncuesta: [],\r\n PreguntasEncuesta: [],\r\n TipoIngreso: [],\r\n GrupoOpciones: [],\r\n EncuestaSelected: [],\r\n DocumentosPendientes: [],\r\n RespuestaDetalle: [],\r\n MaestroBodegaAlmacenes: [],\r\n BodegaSeleccionada: null,\r\n Devolucion: {\r\n clienteSelected: null,\r\n TableValue: {},\r\n devolucionCompleta: false,\r\n motivosDevolucion: [],\r\n motivoDevolucion: \"\",\r\n motivoDevolucionDetalle: \"\"\r\n },\r\n Inventario: {\r\n clienteSelected: null,\r\n TableValue: {}\r\n },\r\n CorrelativoReciboDiario: null,\r\n CorrelativoRecibo: null,\r\n TrasladoPedido: {\r\n clienteSeleccionado: null,\r\n TableValue: {},\r\n ClienteImpuestosRecolocacion: [],\r\n ProductoImpuestosRecolocacion: [],\r\n CodigoColeccionRecolocacion: \"\",\r\n coleccion: {},\r\n tipoCreditoRecolocacion: \"\",\r\n pedidoRecolocacion: {}\r\n },\r\n configuracionBaseColor:[],\r\n ClienteInventario:[],\r\n direccionEntrega: null,\r\n}\r\n\r\nconst calcularLimite = (state) => {\r\n if (state.AcuerdoVenta) {\r\n return state.AcuerdoVenta;\r\n }\r\n return state.cliente.LimiteCredito;\r\n\r\n}\r\nconst reducer = (state = initialState, action) => {\r\n if (action.type === 'STORE_COLECCIONES') {\r\n return {\r\n ...state,\r\n colecciones: action.colecciones,\r\n TableValue: {},\r\n TotalPedido: 0.0\r\n }\r\n }\r\n if (action.type === 'SET_PRODUCTO') {\r\n return {\r\n ...state,\r\n producto: action.producto\r\n }\r\n }\r\n if (action.type === 'TOGGLE_SELECT_PRODUCTO') {\r\n let listaProductosAgregados = [...state.listaProductosAgregados];\r\n let producto = { ...action.producto };\r\n\r\n if (listaProductosAgregados.findIndex(productoAgregado => producto.ProductoId === productoAgregado.ProductoId) >= 0) {\r\n\r\n listaProductosAgregados[listaProductosAgregados.findIndex(productoAgregado => producto.ProductoId === productoAgregado.ProductoId)].selected =\r\n\r\n !listaProductosAgregados[listaProductosAgregados.findIndex(productoAgregado => producto.ProductoId === productoAgregado.ProductoId)].selected;\r\n } else {\r\n producto.selected = true;\r\n listaProductosAgregados.push(producto);\r\n }\r\n\r\n return {\r\n ...state,\r\n listaProductosAgregados: listaProductosAgregados\r\n }\r\n }\r\n if (action.type === 'SET_COLECCION') {\r\n return {\r\n ...state,\r\n coleccion: action.coleccion,\r\n codigoColeccionActiva: action.coleccion.CodigoColeccion\r\n }\r\n }\r\n if (action.type === 'SET_NUMEROORDEN') {\r\n return {\r\n ...state,\r\n NumeroOrden: action.NumeroOrden,\r\n }\r\n }\r\n if (action.type === 'SET_PEDIDOENCURSO') {\r\n return {\r\n ...state,\r\n PedidoEnCurso: action.pedidoEnCurso\r\n }\r\n }\r\n if (action.type === 'STORE_CLIENTES') {\r\n\r\n return {\r\n ...state,\r\n clientes: action.clientes\r\n }\r\n }\r\n if (action.type === 'STORE_DATOSPARAPEDIDO') {\r\n return {\r\n ...state,\r\n clientes: action.clientes,\r\n colecciones: action.colecciones,\r\n TiposPedido: action.TiposPedido,\r\n MaestroLineas: action.maestroLineas\r\n\r\n }\r\n }\r\n if (action.type === 'CALCULARLIMITE') {\r\n return {\r\n ...state,\r\n Limite: calcularLimite(state)\r\n\r\n }\r\n }\r\n if (action.type === 'SET_CLIENTE') {\r\n return {\r\n ...state,\r\n cliente: action.cliente\r\n }\r\n }\r\n if (action.type === 'SET_PEDIDO') {\r\n return {\r\n ...state,\r\n TipoPedido: action.TipoPedido,\r\n AcuerdoVenta: action.AcuerdoVenta,\r\n Limite: calcularLimite(state)\r\n }\r\n }\r\n if (action.type === 'CANCELAR_PEDIDO') {\r\n return {\r\n ...state,\r\n producto: null,\r\n coleccion: null,\r\n cliente: null,\r\n TipoPedido: null,\r\n AcuerdoVenta: null,\r\n listaProductosAgregados: [],\r\n LineaSeleccionada: null,\r\n TableValue: {},\r\n TotalPedido: 0.0,\r\n NumeroOrden: null,\r\n BodegaSeleccionada: null\r\n }\r\n }\r\n if (action.type === 'SET_TOTALPEDIDO') {\r\n return {\r\n ...state,\r\n TotalPedido: action.TotalPedido\r\n }\r\n }\r\n if (action.type === 'REINICIAR_PEDIDO') {\r\n return {\r\n ...state,\r\n producto: null,\r\n coleccion: null,\r\n TipoPedido: null,\r\n AcuerdoVenta: null,\r\n listaProductosAgregados: [],\r\n LineaSeleccionada: null,\r\n TableValue: {},\r\n TotalPedido: 0.0,\r\n NumeroOrden: null,\r\n BodegaSeleccionada: null\r\n }\r\n }\r\n if (action.type === 'RESET_PRODUCTOS_AGREGADOS') {\r\n\r\n let listaProductosAgregados = [...state.listaProductosAgregados];\r\n listaProductosAgregados.forEach(element => {\r\n element.selected = false;\r\n });\r\n return {\r\n ...state,\r\n\r\n listaProductosAgregados: listaProductosAgregados\r\n }\r\n }\r\n if (action.type === 'STORE_TIPO_PEDIDO') {\r\n\r\n return {\r\n ...state,\r\n\r\n TiposPedido: action.TipoPedido\r\n }\r\n }\r\n if (action.type === 'STORE_TIPOS_COLECCION') {\r\n return {\r\n ...state,\r\n\r\n TiposColeccion: action.TiposColeccion\r\n }\r\n }\r\n if (action.type === 'STORE_MAESTROLINEA') {\r\n return {\r\n ...state,\r\n\r\n MaestroLineas: action.maestroLineas\r\n }\r\n }\r\n if (action.type === 'SET_LINEA') {\r\n return {\r\n ...state,\r\n\r\n LineaSeleccionada: action.LineaSeleccionada\r\n }\r\n }\r\n if (action.type === 'SET_BODEGASELECCIONADA') {\r\n return {\r\n ...state,\r\n\r\n BodegaSeleccionada: action.payload\r\n }\r\n }\r\n if (action.type === 'SET_TABLEVALUE') {\r\n return {\r\n ...state,\r\n\r\n TableValue: { ...action.TableValue }\r\n }\r\n }\r\n if (action.type === 'SET_COLECCIONESFILTRADAS') {\r\n return {\r\n ...state,\r\n\r\n ColeccionesFiltradas: action.coleccionesFiltradas\r\n }\r\n }\r\n\r\n\r\n if (action.type === 'STORE_RECIBO_CLIENTES') {\r\n return {\r\n ...state,\r\n\r\n Recibo: {\r\n ...state.Recibo,\r\n clientes: action.clientes\r\n }\r\n }\r\n }\r\n if (action.type === 'STORE_RECIBO_CLIENTESELECTED') {\r\n return {\r\n ...state,\r\n\r\n Recibo: {\r\n ...state.Recibo,\r\n clienteSelected: action.clienteSelected\r\n }\r\n }\r\n }\r\n if (action.type === 'STORE_RECIBO_CUOTASXCLIENTE') {\r\n return {\r\n ...state,\r\n\r\n Recibo: {\r\n ...state.Recibo,\r\n cuotasXCliente: action.cuotasXCliente\r\n }\r\n }\r\n }\r\n if (action.type === 'STORE_RECIBO_CUOTASAPAGAR') {\r\n return {\r\n ...state,\r\n\r\n Recibo: {\r\n ...state.Recibo,\r\n cuotasAPagar: action.cuotasAPagar\r\n }\r\n }\r\n }\r\n if (action.type === 'STORE_RECIBO_FACTURASXCLIENTE') {\r\n return {\r\n ...state,\r\n\r\n Recibo: {\r\n ...state.Recibo,\r\n facturasXCliente: action.facturasXCliente\r\n }\r\n }\r\n }\r\n if (action.type === 'STORE_RECIBO_CUOTASCUENTACORRIENTE') {\r\n return {\r\n ...state,\r\n\r\n Recibo: {\r\n ...state.Recibo,\r\n cuotasCuentaCorriente: action.cuotasCuentaCorriente\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'DELETE_RECIBO_CUOTASCUENTACORRIENTE') {\r\n return {\r\n ...state,\r\n\r\n Recibo: {\r\n ...state.Recibo,\r\n cuotasCuentaCorriente: []\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'DELETE_RECIBO_CLIENTESELECTED') {\r\n return {\r\n ...state,\r\n\r\n Recibo: {\r\n ...state.Recibo,\r\n clienteSelected: null\r\n }\r\n }\r\n }\r\n\r\n if (action.type === \"SET_CLIENTECONTADO\") {\r\n return {\r\n ...state,\r\n clienteContado: action.payload\r\n }\r\n }\r\n\r\n if (action.type === \"DELETE_CLIENTECONTADO\") {\r\n return {\r\n ...state,\r\n clienteContado: null\r\n }\r\n }\r\n\r\n if (action.type === \"SET_CLIENTESCONTADO\") {\r\n return {\r\n ...state,\r\n clientesContado: action.payload\r\n }\r\n }\r\n\r\n if (action.type === \"SET_REQUIEREENTREGA\") {\r\n return {\r\n ...state,\r\n requiereEntrega: action.payload\r\n }\r\n }\r\n\r\n if (action.type === \"DELETE_REQUIEREENTREGA\") {\r\n return {\r\n ...state,\r\n requiereEntrega: true\r\n }\r\n }\r\n\r\n if (action.type === \"SET_ASESOR\") {\r\n return {\r\n ...state,\r\n asesor: action.payload\r\n }\r\n }\r\n if (action.type === 'store_pedidoselected') {\r\n return {\r\n ...state,\r\n pedidoSelected: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'delete_pedidoselected') {\r\n return {\r\n ...state,\r\n pedidoSelected: null\r\n }\r\n }\r\n\r\n if (action.type === 'SET_EMPRESASTRANSPORTE') {\r\n return {\r\n ...state,\r\n empresasTransporte: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_EMPRESASTRANSPORTEGLOBAL') {\r\n return {\r\n ...state,\r\n EmpresaTransporteGlobal: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_PRECIOCAJAS') {\r\n return {\r\n ...state,\r\n precioCajas: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_PRECIOCAJASGLOBAL') {\r\n return {\r\n ...state,\r\n PrecioCajasGlobal: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_COMUNIDADAUTONOMA') {\r\n return {\r\n ...state,\r\n comunidadesAutonomas: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_CLIENTEIMPUESTOS') {\r\n return {\r\n ...state,\r\n ClienteImpuestos: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_CLIENTEIMPUESTOSGLOBAL') {\r\n return {\r\n ...state,\r\n ClienteImpuestosGlobal: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_PRODUCTOIMPUESTOS') {\r\n return {\r\n ...state,\r\n ProductoImpuestos: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_PRODUCTOIMPUESTOSGLOBAL') {\r\n return {\r\n ...state,\r\n ProductoImpuestosGlobal: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_FLETE') {\r\n return {\r\n ...state,\r\n flete: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'DELETE_FLETE') {\r\n return {\r\n ...state,\r\n flete: 0.0\r\n }\r\n }\r\n\r\n if (action.type === 'SET_EMPRESAS') {\r\n return {\r\n ...state,\r\n Empresas: action.payload\r\n }\r\n }\r\n\r\n\r\n if (action.type === 'SET_MONEDAS') {\r\n return {\r\n ...state,\r\n Monedas: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_MONEDASGLOBAL') {\r\n return {\r\n ...state,\r\n MonedasGlobal: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_BANCOSGLOBAL') {\r\n return {\r\n ...state,\r\n BancosGlobal: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_TIPOPAGOGLOBAL') {\r\n return {\r\n ...state,\r\n TipoPagoGlobal: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_PERMISOS') {\r\n return {\r\n ...state,\r\n Permisos: action.payload\r\n }\r\n }\r\n if (action.type === 'SET_CUENTAIMPRIMIR') {\r\n return {\r\n ...state,\r\n CuentaImprimir: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_BLOQUEO') {\r\n return {\r\n ...state,\r\n Bloqueo: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_PRODUCTOSCOLECCION') {\r\n\r\n let colecciones = state.colecciones;\r\n\r\n colecciones.forEach((coleccion) => {\r\n if (coleccion.CodigoColeccion === state.coleccion.CodigoColeccion) {\r\n coleccion.Edades = action.payload;\r\n }\r\n })\r\n\r\n return {\r\n ...state,\r\n //TableValue:{},\r\n colecciones,\r\n coleccion: {\r\n ...state.coleccion,\r\n Edades: action.payload\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_ASIGNACIONES') {\r\n return {\r\n ...state,\r\n Asignaciones: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_ABREVACIONMONEDAS') {\r\n return {\r\n ...state,\r\n AbreviacionMonedas: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_PEDIDOSINCRONIZAR') {\r\n return {\r\n ...state,\r\n PedidoSincronizar: [...state.PedidoSincronizar, action.payload]\r\n }\r\n }\r\n\r\n if (action.type === 'SET_RECIBOSENCACHELOG') {\r\n return {\r\n ...state,\r\n RecibosEnCache: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_RECIBOSENCACHE') {\r\n return {\r\n ...state,\r\n RecibosEnCache: [...state.RecibosEnCache, action.payload]\r\n }\r\n }\r\n\r\n if (action.type === 'SET_RECIBOSINCRONIZAR') {\r\n return {\r\n ...state,\r\n ReciboSincronizar: [...state.ReciboSincronizar, action.payload]\r\n }\r\n }\r\n\r\n if (action.type === 'SET_RESETPEDIDOSINCRONIZAR') {\r\n return {\r\n ...state,\r\n PedidoSincronizar: action.payload\r\n }\r\n }\r\n if (action.type === 'SET_RESETRECIBOSENCACHE') {\r\n return {\r\n ...state,\r\n RecibosEnCache: action.payload\r\n }\r\n }\r\n if (action.type === 'SET_RESETRECIBOSINCRONIZAR') {\r\n return {\r\n ...state,\r\n ReciboSincronizar: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_CARTERA') {\r\n return {\r\n ...state,\r\n Cartera: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_CONFIGURACIONES') {\r\n return {\r\n ...state,\r\n Configuraciones: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_TIPOVISITA') {\r\n return {\r\n ...state,\r\n TipoVisita: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_LISTAPRECIOS') {\r\n return {\r\n ...state,\r\n ListaPrecios: action.payload\r\n }\r\n }\r\n\r\n if (action.type === \"SET_PRODUCTOAGREGADO\") {\r\n let productos = [];\r\n\r\n if (state.listaProductosAgregados.length > 0) {\r\n let codigosProductos = state.listaProductosAgregados.map(x => x.ProductoId);\r\n\r\n if (!codigosProductos.includes(action.payload.ProductoId)) {\r\n productos = [...state.listaProductosAgregados, action.payload];\r\n } else {\r\n let productosEstado = state.listaProductosAgregados;\r\n let index = codigosProductos.indexOf(action.payload.ProductoId);\r\n productosEstado[index] = action.payload;\r\n productos = productosEstado;\r\n }\r\n } else {\r\n productos.push(action.payload);\r\n }\r\n\r\n let borrador = JSON.parse(localStorage.getItem(\"borrador\"));\r\n borrador.listaProductosAgregados = productos;\r\n localStorage.setItem(\"borrador\", JSON.stringify(borrador));\r\n\r\n return {\r\n ...state,\r\n listaProductosAgregados: productos\r\n };\r\n }\r\n\r\n if (action.type === \"RESET_PRODUCTOAGREGADO\") {\r\n return { ...state, listaProductosAgregados: [] }\r\n }\r\n\r\n\r\n if (action.type === 'SET_SECCIONESENCUESTA') {\r\n return {\r\n ...state,\r\n SeccionEncuesta: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_PREGUNTASENCUESTA') {\r\n return {\r\n ...state,\r\n PreguntasEncuesta: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_TIPOINGRESO') {\r\n return {\r\n ...state,\r\n TipoIngreso: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_GRUPOOPCIONES') {\r\n return {\r\n ...state,\r\n GrupoOpciones: action.payload\r\n }\r\n }\r\n\r\n\r\n if (action.type === 'SET_ENCUESTASELECTED') {\r\n return {\r\n ...state,\r\n EncuestaSelected: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_DOCUMENTOSPENDIENTES') {\r\n return {\r\n ...state,\r\n DocumentosPendientes: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_RESPUESTADETALLE') {\r\n return {\r\n ...state,\r\n RespuestaDetalle: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_INVENTARIOCLIENTE') {\r\n return {\r\n ...state,\r\n ClienteInventario: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_DETALLEINVENTARIO') {\r\n return {\r\n ...state,\r\n DetalleInventario: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_BODEGAALMACENES') {\r\n return {\r\n ...state,\r\n MaestroBodegaAlmacenes: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'STORE_DEVOLUCION_CLIENTESELECTED') {\r\n return {\r\n ...state,\r\n Devolucion: {\r\n ...state.Devolucion,\r\n clienteSelected: action.clienteSelected,\r\n TableValue: {},\r\n devolucionCompleta: false,\r\n motivoDevolucionDetalle: \"\",\r\n motivoDevolucion: \"\"\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_TABLEVALUEDEVOLUCION') {\r\n return {\r\n ...state,\r\n\r\n Devolucion: {\r\n ...state.Devolucion,\r\n TableValue: action.payload\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_TABLEVALUEINVENTARIO') {\r\n return {\r\n ...state,\r\n\r\n Inventario: {\r\n ...state.Inventario,\r\n TableValue: action.payload\r\n }\r\n }\r\n }\r\n if (action.type === 'SET_INVENTARIOANTERIOR') {\r\n return {\r\n ...state,\r\n Anterior: action.payload\r\n }\r\n }\r\n if (action.type === 'SET_DEVOLUCIONCOMPLETA') {\r\n return {\r\n ...state,\r\n\r\n Devolucion: {\r\n ...state.Devolucion,\r\n devolucionCompleta: !state.Devolucion.devolucionCompleta\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_MOTIVOSDEVOLUCION') {\r\n return {\r\n ...state,\r\n\r\n Devolucion: {\r\n ...state.Devolucion,\r\n motivosDevolucion: action.payload\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_MOTIVODEVOLUCION') {\r\n return {\r\n ...state,\r\n\r\n Devolucion: {\r\n ...state.Devolucion,\r\n motivoDevolucion: action.payload,\r\n motivoDevolucionDetalle: \"\"\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_MOTIVODEVOLUCIONDETALLE') {\r\n return {\r\n ...state,\r\n\r\n Devolucion: {\r\n ...state.Devolucion,\r\n motivoDevolucionDetalle: action.payload\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_CORRELATIVORECIBODIARIO') {\r\n return {\r\n ...state,\r\n CorrelativoReciboDiario: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_CORRELATIVORECIBO') {\r\n return {\r\n ...state,\r\n CorrelativoRecibo: action.payload\r\n }\r\n }\r\n\r\n if (action.type === \"SET_BORRADOR\") {\r\n return {\r\n ...state,\r\n TableValue: action.payload.TableValue ? action.payload.TableValue : {},\r\n TotalPedido: action.payload.TotalPedido,\r\n listaProductosAgregados: action.payload.listaProductosAgregados ? action.payload.listaProductosAgregados : []\r\n }\r\n }\r\n\r\n if (action.type === \"RESET_TABLEVALUETOTALPEDIDO\") {\r\n return {\r\n ...state,\r\n TableValue: {},\r\n TotalPedido: 0.0,\r\n }\r\n }\r\n\r\n if (action.type === 'SET_TRASLADO_CLIENTE') {\r\n return {\r\n ...state,\r\n TrasladoPedido: {\r\n ...state.TrasladoPedido,\r\n clienteSeleccionado: action.payload,\r\n TableValue: {}\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_TABLEVALUERECOLOCACION') {\r\n return {\r\n ...state,\r\n TrasladoPedido: {\r\n ...state.TrasladoPedido,\r\n TableValue: action.payload\r\n }\r\n }\r\n }\r\n\r\n\r\n if (action.type === 'SET_RECOLOCACIONCLIENTEIMPUESTO') {\r\n return {\r\n ...state,\r\n TrasladoPedido: {\r\n ...state.TrasladoPedido,\r\n ClienteImpuestosRecolocacion: action.payload\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_RECOLOCACIONPRODUCTOINMPUESTO') {\r\n return {\r\n ...state,\r\n TrasladoPedido: {\r\n ...state.TrasladoPedido,\r\n ProductoImpuestosRecolocacion: action.payload\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_CODIGOCOLECCIONTRECOLOCACION') {\r\n return {\r\n ...state,\r\n TrasladoPedido: {\r\n ...state.TrasladoPedido,\r\n CodigoColeccionRecolocacion: action.payload\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_COLECCIONRECOLOCACION') {\r\n return {\r\n ...state,\r\n TrasladoPedido: {\r\n ...state.TrasladoPedido,\r\n coleccion: action.payload\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_TIPOCREDITORECOLOCACION') {\r\n return {\r\n ...state,\r\n TrasladoPedido: {\r\n ...state.TrasladoPedido,\r\n tipoCreditoRecolocacion: action.payload\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_PEDIDORECOLOCACION') {\r\n return {\r\n ...state,\r\n TrasladoPedido: {\r\n ...state.TrasladoPedido,\r\n pedidoRecolocacion: action.payload\r\n }\r\n }\r\n }\r\n\r\n if (action.type === 'SET_CONFIGURACIONBASECOLOR') {\r\n\r\n return {\r\n ...state,\r\n configuracionBaseColor: action.payload\r\n }\r\n }\r\n\r\n if (action.type === 'SET_DIRECCIONENTREGA') {\r\n\r\n return {\r\n ...state,\r\n direccionEntrega: action.payload\r\n }\r\n }\r\n\r\n return state;\r\n};\r\n\r\nexport default reducer;","import classNames from 'classnames';\r\n\r\nexport const createBEM = namespace => {\r\n return {\r\n create: blockName => {\r\n let block = blockName;\r\n\r\n if (typeof namespace === 'string') {\r\n block = `${namespace}-${blockName}`;\r\n }\r\n\r\n return {\r\n b: (...more) => {\r\n return classNames(block, more);\r\n },\r\n e: (className, ...more) => {\r\n return classNames(`${block}__${className}`, more);\r\n },\r\n m: (className, ...more) => {\r\n return classNames(`${block}--${className}`, more);\r\n },\r\n };\r\n },\r\n };\r\n};\r\n\r\nexport const bemNames = createBEM('cr');\r\n\r\nexport default bemNames;\r\n","import reducer from './reducer'\r\nimport { createStore } from 'redux'\r\nimport { persistReducer } from 'redux-persist';\r\nimport localForage from 'localforage';\r\n\r\nconst persistConfig = {\r\n key: 'root',\r\n storage: localForage,\r\n // blacklist:['coleccion'],\r\n}\r\nconst persistedReducer = persistReducer(persistConfig, reducer)\r\nconst store = createStore(persistedReducer,window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__());\r\nexport default store;\r\n","import store from '../store/store';\r\nimport {APIURL} from 'utils/Enviroment';\r\n\r\nconst saveGeolocation = (position) => {\r\n fetch(`${APIURL}/api/Geoposicion` , {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n },\r\n method: 'POST',\r\n body: JSON.stringify({CodigoAsesor:store.getState().AsesorId,Latitude:position.coords.latitude,Longitude:position.coords.longitude})\r\n }).then((res) => {\r\n if (res.status === 200) {\r\n } else {\r\n }\r\n })\r\n}\r\nexport const getGeopostion = (asignacionID, asesorId) => {\r\n navigator.geolocation.getCurrentPosition(saveGeolocation , (err)=>{console.log('Error',err)}, {\r\n enableHighAccuracy: true,\r\n timeout: 5000,\r\n maximumAge: 0\r\n });\r\n};","import React from 'react';\r\n\r\nimport bn from 'utils/bemnames';\r\n\r\nimport { Container } from 'reactstrap';\r\n\r\nconst bem = bn.create('content');\r\n\r\nconst Content = ({ tag: Tag, className, ...restProps }) => {\r\n const classes = bem.b(className);\r\n\r\n return ;\r\n};\r\n\r\nContent.defaultProps = {\r\n tag: Container,\r\n};\r\n\r\nexport default Content;\r\n","import { Content } from 'components/Layout';\r\nimport React from 'react';\r\n\r\nconst EmptyLayout = ({ children, ...restProps }) => (\r\n
\r\n {children}\r\n
\r\n);\r\n\r\nexport default EmptyLayout;\r\n","import React from 'react';\r\nimport Media from 'react-media';\r\nimport {APP_VERSION} from 'utils/Enviroment';\r\n\r\n\r\nconst Footer = () => {\r\n let year = new Date().getFullYear();\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import axios from 'axios';\r\nimport moment from 'moment';\r\nimport store from 'store/store';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nexport const get = async (url, key, subkey) => {\r\n var data, error;\r\n\r\n try {\r\n data = getLocalStorage(key, subkey);\r\n\r\n if (data) {\r\n return { data, error };\r\n }\r\n const request = await axios.get(url, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n }\r\n });\r\n\r\n data = request.data;\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-${key}`, moment(`${fecha} 23:59:59`));\r\n\r\n } catch (err) {\r\n return { data, error: err };\r\n }\r\n\r\n return { data, error }\r\n}\r\n\r\nexport const post = async (url, info, action) => {\r\n let isOnline = await verificarConexion();\r\n var data, error;\r\n try {\r\n if (isOnline) {\r\n const request = await axios.post(url, info, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token'),\r\n 'Content-Type': 'application/json'\r\n },\r\n timeout: 500 * 1000\r\n });\r\n\r\n data = request.data;\r\n return { data, error };\r\n }\r\n\r\n store.dispatch({ type: action, payload: info });\r\n\r\n if (action === \"SET_PEDIDOSINCRONIZAR\") {\r\n data = { EncabezadoPedido: { PedidoId: \"No Disponible\" } };\r\n } else if (action === \"SET_RECIBOSINCRONIZAR\") {\r\n data = [];\r\n }\r\n\r\n return { data, error };\r\n\r\n } catch (err) {\r\n return { data, error: err }\r\n }\r\n}\r\n\r\nexport const postPedidoStorage = (info)=>{\r\n store.dispatch({ type: \"SET_PEDIDOSINCRONIZAR\", payload: info });\r\n const data = { EncabezadoPedido: { PedidoId: info.NumeroReferencia === \"\" ? \"No Disponible\" : info.NumeroReferencia } };\r\n return data;\r\n}\r\n\r\nexport const backgroundPostPedidos = async () => {\r\n let isOnline = await verificarConexion();\r\n const url = APIURL + \"/api/PedidosXCliente\";\r\n const globalState = store.getState();\r\n const pedidoSincronizar = globalState[\"PedidoSincronizar\"];\r\n let newPedidoSincronizar = [];\r\n\r\n if (isOnline && pedidoSincronizar.length > 0) {\r\n for (let pedido of pedidoSincronizar) {\r\n const { error } = await backgroundPost(url, pedido);\r\n\r\n if (error) {\r\n newPedidoSincronizar.push(pedido);\r\n }\r\n }\r\n\r\n store.dispatch({ type: \"SET_RESETPEDIDOSINCRONIZAR\", payload: newPedidoSincronizar });\r\n return newPedidoSincronizar.length > 0;\r\n }\r\n\r\n return pedidoSincronizar.length > 0;\r\n}\r\n\r\nexport const backgroundPostRecibos = async () => {\r\n let isOnline = await verificarConexion();\r\n const globalState = store.getState();\r\n const reciboSincronizar = globalState[\"RecibosEnCache\"];\r\n let newReciboSincronizar = [];\r\n\r\n if (isOnline && reciboSincronizar.length > 0) {\r\n for (let recibo of reciboSincronizar) {\r\n let ruta = recibo.EsAnticipo ? '/api/Recibo/Anticipo' : '/api/proforma';\r\n const { error } = await backgroundPost(APIURL+ruta, recibo);\r\n\r\n if (error) {\r\n newReciboSincronizar.push(recibo);\r\n }\r\n }\r\n\r\n store.dispatch({ type: \"SET_RESETRECIBOSENCACHE\", payload: newReciboSincronizar });\r\n return newReciboSincronizar.length > 0;\r\n }\r\n\r\n return reciboSincronizar.length > 0;\r\n}\r\n\r\nexport const getLocalStorage = (key, subkey) => {\r\n const globalState = store.getState();\r\n let local = localStorage.getItem(`expiracion-${key}`);\r\n\r\n if (!local) {\r\n return null;\r\n }\r\n\r\n local = moment(local);\r\n\r\n if (local <= moment()) {\r\n return null;\r\n }\r\n\r\n if (subkey) {\r\n return globalState[key][subkey];\r\n }\r\n\r\n return globalState[key];\r\n}\r\n\r\nconst backgroundPost = async (url, info) => {\r\n var data, error;\r\n try {\r\n\r\n const request = await axios.post(url, info, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token'),\r\n 'Content-Type': 'application/json'\r\n },\r\n timeout: 900 * 1000\r\n });\r\n\r\n data = request.data;\r\n return { data, error };\r\n } catch (err) {\r\n return { data, error: err }\r\n }\r\n}\r\n\r\nexport const verificarConexion = async() => {\r\n if (navigator.onLine) {\r\n try {\r\n // eslint-disable-next-line\r\n const request = await axios.get(APIURL + \"/api/configuraciones/conexion\", {timeout:6000});\r\n return true;\r\n } catch (err) {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n}","import React from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nexport const Loading = props =>{\r\n return (\r\n <>\r\n \r\n \r\n
\r\n {props.title}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n )\r\n}","//Components\r\nimport React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n AppBar as MuiAppBar,\r\n Toolbar,\r\n IconButton,\r\n //Badge,\r\n MenuItem,\r\n Menu as MuiMenu\r\n} from '@material-ui/core';\r\n\r\n//Icons\r\nimport {\r\n Menu as MenuIcon,\r\n PersonOutline as AccountIcon,\r\n // Mail as MailIcon,\r\n //NotificationsOutlined as NotificationsIcon,\r\n MoreVert as MoreIcon,\r\n} from '@material-ui/icons';\r\n//Styles\r\nimport {\r\n makeStyles,\r\n withStyles\r\n} from '@material-ui/core/styles';\r\nimport Logo from 'assets/img/logo/Cabecera.png'\r\nimport styles from 'components/Layout/Layout.module.css'\r\nimport Button from '@material-ui/core/Button';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport InboxIcon from '@material-ui/icons/MoveToInbox';\r\nimport {useSelector} from 'react-redux';\r\nimport { FaWifi } from \"react-icons/fa\";\r\nimport { verificarConexion } from 'utils/http';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport {APIURL} from 'utils/Enviroment';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nconst Header = (props) => {\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const [mobileMoreAnchorEl, setMobileMoreAnchorEl] = React.useState(null);\r\n const [Visible, setVisible] = React.useState(null);\r\n const [Online, setIsOnline] = React.useState(true);\r\n const isMenuOpen = Boolean(anchorEl);\r\n const isMobileMenuOpen = Boolean(mobileMoreAnchorEl);\r\n const Permisos = useSelector(e=> e.Permisos);\r\n const UsuarioOficina = Permisos !== undefined && Permisos !== null && Permisos.length > 0 ? Permisos[0].UsuarioOficina : false;\r\n const [loading,setLoading] = React.useState(false);\r\n const PedidosCache = useSelector(p=>p.PedidoSincronizar);\r\n const RecibosCache = useSelector(r=> r.RecibosEnCache);\r\n const BodegaSeleccionada = useSelector(e=>e.BodegaSeleccionada);\r\n \r\n const StyledMenu = withStyles({\r\n paper: {\r\n border: '1px solid #d3d4d5',\r\n },\r\n })((props) => (\r\n \r\n ));\r\n \r\n const StyledMenuItem = withStyles((theme) => ({\r\n root: {\r\n '&:focus': {\r\n backgroundColor: theme.palette.primary.main,\r\n '& .MuiListItemIcon-root, & .MuiListItemText-primary': {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n }))(MenuItem);\r\n\r\n const handleProfileMenuOpen = event => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleMobileMenuClose = () => {\r\n setMobileMoreAnchorEl(null);\r\n };\r\n\r\n const handleMenuClose = () => {\r\n setAnchorEl(null);\r\n handleMobileMenuClose();\r\n };\r\n\r\n const handleMobileMenuOpen = event => {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClick = async () => {\r\n setLoading(true);\r\n let isOnline = await verificarConexion();\r\n setLoading(false);\r\n setIsOnline(isOnline);\r\n setVisible(true)\r\n\r\n };\r\n\r\n const handleClose = () => {\r\n localStorage.setItem(\"Conexion\", \"offline\");\r\n props.history.push('/home');\r\n setVisible(null);\r\n };\r\n\r\n const contieneRuta = ruta => {\r\n return ruta.toLowerCase().includes(\"/pedidos\") || ruta.includes(\"/recibos\") || ruta.includes(\"/Recibos\")|| ruta.includes(\"/cartera\");\r\n }\r\n\r\n const handleCloseOnline = () => {\r\n localStorage.setItem(\"Conexion\", \"Online\")\r\n if(!contieneRuta(props.history.location.pathname)){\r\n props.history.push('/home');\r\n }\r\n setVisible(null);\r\n \r\n };\r\n const handleCloseOffline = () => {\r\n localStorage.setItem(\"Conexion\", \"offline\");\r\n if (props.history.location.pathname.toLowerCase().includes(\"/bodega\")) {\r\n props.history.push('/home');\r\n Swal.fire({\r\n title: 'Bodega Especifico',\r\n text: \"La funcionalidad de bodega especifico funciona unicamente online.\",\r\n type: 'warning',\r\n confirmButtonText: 'OK',\r\n });\r\n } else if (props.history.location.pathname.toLowerCase().includes(\"/pedidos\")) {\r\n if (BodegaSeleccionada) {\r\n if (!BodegaSeleccionada.BodegaPrincipal) {\r\n Swal.fire({\r\n title: 'Bodega Especifico',\r\n text: \"La funcionalidad de bodega especifico funciona unicamente online.\",\r\n type: 'warning',\r\n confirmButtonText: 'OK',\r\n });\r\n props.history.push('/home');\r\n }\r\n }\r\n } else {\r\n if (!contieneRuta(props.history.location.pathname)) {\r\n props.history.push('/home');\r\n }\r\n }\r\n setVisible(null);\r\n };\r\n\r\n const tieneDocumentosPendientes = () => {\r\n return PedidosCache.length > 0 || RecibosCache.length > 0;\r\n }\r\n\r\n const LogOut = async () => {\r\n if (tieneDocumentosPendientes()) {\r\n Swal.fire({\r\n title: 'Documentos Pendientes',\r\n text: 'Tiene documentos pendientes por sincronizar. Sincronice los documentos antes de cerrar sesiĆ³n.',\r\n type: 'warning',\r\n confirmButtonText: 'Ok',\r\n });\r\n } else {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n fetch(APIURL + \"/api/cerrarSesion\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(localStorage.getItem(\"codigo\"))\r\n })\r\n .then(res => res.json())\r\n .then((result) => {\r\n console.log(result.Message);\r\n localStorage.clear();\r\n window.location.reload();\r\n },\r\n )\r\n }\r\n else {\r\n Swal.fire({\r\n title: 'Sin Internet',\r\n text: 'Ā”La sesion se puede cerrar unicamente si cuenta con acceso a internet!',\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n }\r\n\r\n const menuId = 'account-menu';\r\n const renderMenu = (\r\n \r\n Cerrar SesiĆ³n\r\n \r\n );\r\n\r\n const mobileMenuId = 'account-menu-mobile';\r\n const renderMobileMenu = (\r\n \r\n {/*\r\n \r\n \r\n \r\n
\r\n Notificaciones\r\n
\r\n
*/}\r\n\r\n \r\n\r\n \r\n
\r\n Perfil\r\n
\r\n
\r\n \r\n );\r\n if(localStorage.getItem(\"Conexion\") === null){\r\n localStorage.setItem(\"Conexion\", \"Online\");\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"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 \r\n \r\n \r\n
\r\n
\r\n {/*\r\n \r\n \r\n \r\n */}\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {renderMobileMenu}\r\n {renderMenu}\r\n
\r\n );\r\n}\r\n\r\nconst AppBar = withStyles({\r\n colorDefault: {\r\n background: '#243746',//'linear-gradient(178deg, rgba(67,191,240,94) 0%, rgba(19,53,66,26) 100%)',\r\n color: 'white',\r\n },\r\n})(MuiAppBar);\r\n\r\nconst Menu = withStyles({\r\n paper: {\r\n minWidth: 150,\r\n }\r\n})(MuiMenu);\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n title: {\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'block',\r\n },\r\n },\r\n sectionDesktop: {\r\n display: 'none',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n}));\r\n\r\nexport default Header;","import React from 'react';\r\nimport { Route } from 'react-router-dom';\r\n\r\nconst LayoutRoute = ({ component: Component, layout: Layout, ...rest }) => (\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n);\r\n\r\nexport default LayoutRoute;\r\n","import React,{useState} from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nconst LoadingModal =(props)=>{\r\n\r\n const [isLoading,setLoading] = useState(false);\r\n\r\n const nativeFetch = window.fetch;\r\n window.fetch = (...args)=>{\r\n \r\n if(args[0].includes(\"Geoposicion\") || args[0].includes(\"Configuraciones\"))\r\n {\r\n return nativeFetch.apply(window,args);\r\n }\r\n\r\n setLoading(true);\r\n return nativeFetch.apply(window,args).then((e)=>{\r\n setLoading(false);\r\n return e;\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n Cargando\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\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 LoadingModal;","import React from 'react';\r\nimport { useSnackbar } from \"notistack\";\r\nimport { Content, Footer, Header, Sidebar } from 'components/Layout';\r\nimport LoadingModal from 'components/Global/LoadingModal';\r\n\r\nconst MainLayout = (props) => {\r\n const { children } = props;\r\n const [online, setOnline] = React.useState(navigator.onLine);\r\n const [snack, setSnack] = React.useState(null);\r\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\r\n\r\n\r\n React.useEffect(() => {\r\n Online();\r\n window.addEventListener('online', handleOnline);\r\n window.addEventListener('offline', handleOffline);\r\n\r\n return cleanupListener;\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n const cleanupListener = () => {\r\n window.removeEventListener('online', handleOnline);\r\n window.removeEventListener('offline', handleOffline);\r\n }\r\n\r\n const handleOnline = () => {\r\n if (navigator.onLine) {\r\n setOnline(true);\r\n Online();\r\n }\r\n }\r\n const handleOffline = () => {\r\n if (!navigator.onLine) {\r\n setOnline(false);\r\n Online();\r\n }\r\n }\r\n\r\n const Online = () => {\r\n if (!online) {\r\n if (localStorage.getItem(\"Conexion\") !== \"Online\") {\r\n if (snack === null) {\r\n const key = enqueueSnackbar('Sin conexiĆ³n!', {\r\n variant: 'error',\r\n anchorOrigin: {\r\n vertical: \"bottom\",\r\n horizontal: \"right\"\r\n },\r\n persist: true,\r\n });\r\n\r\n setSnack(key);\r\n }\r\n }\r\n }\r\n else {\r\n if (snack !== null) {\r\n closeSnackbar(snack);\r\n setSnack(null);\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 {children}\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default MainLayout;\r\n","import store from 'store/store';\r\n\r\nexport const IsAllow = (Ruta, expanded) => {\r\n let ModoOffline = localStorage.getItem(\"Conexion\") === \"Online\" ? false : true;\r\n const globalState = store.getState();\r\n const Permisos = globalState[\"Permisos\"];\r\n for (let usu of Permisos) {\r\n for (let rol of usu.RolesUsuarios) {\r\n for (let fun of rol.RolesFunciones) {\r\n for (let pan of fun.PantallasFunciones) {\r\n if (expanded === true) {\r\n if (pan.Ruta.toUpperCase() === Ruta.toUpperCase()) {\r\n if (ModoOffline) {\r\n if (pan.ModoOffline === true) {\r\n return true;\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n }\r\n else {\r\n if (pan.Ruta.toUpperCase().includes(Ruta.toUpperCase())) {\r\n if (ModoOffline) {\r\n if (pan.ModoOffline === true) {\r\n return true;\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n};\r\n\r\nexport const PermisoExcepcionDescuento = () => {\r\n const globalState = store.getState();\r\n const Permisos = globalState[\"Permisos\"];\r\n\r\n for (const Permiso of Permisos) {\r\n for (const Roles of Permiso.RolesUsuarios) {\r\n if (Roles.Nombre === \"Aprobador excepcion descuento\") {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport const PermisoCuentaCorrientePDF = () => {\r\n const globalState = store.getState();\r\n const Permisos = globalState[\"Permisos\"];\r\n\r\n for (const Permiso of Permisos) {\r\n for (const Roles of Permiso.RolesUsuarios) {\r\n if (Roles.Nombre === \"Cuenta corriente PDF\") {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport const PermisoCuentaCorrienteExcel = () => {\r\n const globalState = store.getState();\r\n const Permisos = globalState[\"Permisos\"];\r\n\r\n for (const Permiso of Permisos) {\r\n for (const Roles of Permiso.RolesUsuarios) {\r\n if (Roles.Nombre === \"Cuenta corriente EXCEL\") {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport const PermisoUsuarioOficinaCreditos = () => {\r\n const globalState = store.getState();\r\n const Permisos = globalState[\"Permisos\"];\r\n\r\n for (const Permiso of Permisos) {\r\n for (const Roles of Permiso.RolesUsuarios) {\r\n if (Roles.Nombre === \"Usuario Oficina CrĆ©ditos\" || Roles.Nombre === \"Usuario Elevado Oficina CrĆ©ditos\") {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport const PermisoHabilitarReimpresion = () => {\r\n const globalState = store.getState();\r\n const Permisos = globalState[\"Permisos\"];\r\n\r\n for (const Permiso of Permisos) {\r\n for (const Roles of Permiso.RolesUsuarios) {\r\n if (Roles.Nombre === \"Habilitar reimpresion\") {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport const PermisoAprobarFlotantes = () => {\r\n const globalState = store.getState();\r\n const Permisos = globalState[\"Permisos\"];\r\n\r\n for (const Permiso of Permisos) {\r\n for (const Roles of Permiso.RolesUsuarios) {\r\n if (Roles.Nombre === \"Aprobar flotantes\") {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport const PermisoAdministradorVisita = () => {\r\n const globalState = store.getState();\r\n const Permisos = globalState[\"Permisos\"];\r\n\r\n for (const Permiso of Permisos) {\r\n for (const Roles of Permiso.RolesUsuarios) {\r\n if (Roles.Nombre === \"Administrador de Visitas\") {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport const permisoEliminarInventario = () => {\r\n const globalState = store.getState();\r\n const Permisos = globalState[\"Permisos\"];\r\n\r\n for (const Permiso of Permisos) {\r\n for (const Roles of Permiso.RolesUsuarios) {\r\n if (Roles.Nombre === \"Eliminar inventario\") {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport { Tour } from 'components/Layout';\r\nimport {\r\n SwipeableDrawer as MuiSwipeableDrawer,\r\n Divider,\r\n //ListSubheader,\r\n List,\r\n ListItem,\r\n ListItemIcon,\r\n ListItemText,\r\n Collapse\r\n} from '@material-ui/core';\r\n\r\n//Icons\r\nimport {\r\n ExpandLess,\r\n ExpandMore,\r\n //DashboardOutlined,\r\n FeaturedPlayListOutlined,\r\n PostAdd,\r\n AddBoxOutlined,\r\n Sync,\r\n Dvr,\r\n FlashAuto,\r\n AllInbox,\r\n Input,\r\n Dashboard,\r\n //Book,\r\n ListAlt,\r\n EventNote,\r\n EventAvailable,\r\n Receipt,\r\n SwapHorizOutlined,\r\n StoreMallDirectoryOutlined,\r\n CameraAltOutlined,\r\n LocationOnOutlined,\r\n HelpOutline,\r\n Public,\r\n Security,\r\n AccountBox,\r\n SyncAlt,\r\n ViewCompact,\r\n Explore,\r\n MyLocation,\r\n DriveEta,\r\n Home,\r\n MenuBook,\r\n LibraryBooks,\r\n LocalLibrary,\r\n Description,\r\n Assignment,\r\n Build,\r\n AllInboxOutlined,\r\n HomeWork,\r\n MonetizationOn,\r\n History,\r\n AirplanemodeActive,\r\n Settings,\r\n Cancel,\r\n MailOutline\r\n} from '@material-ui/icons';\r\nimport AssessmentIcon from '@material-ui/icons/Assessment';\r\nimport CloudQueueIcon from '@material-ui/icons/CloudQueue';\r\n//components\r\nimport Logo from 'assets/img/logo/Barra.png';\r\nimport styles from 'components/Layout/Layout.module.css';\r\nimport {IsAllow} from 'components/Seguridad/Permisos';\r\n\r\n\r\n\r\n\r\nconst Drawer = withStyles({\r\n paper: {\r\n background: '#243746',//'linear-gradient(110deg, rgba(67,191,240,94) 0%, rgba(19,53,66,26) 100%)',\r\n },\r\n})(MuiSwipeableDrawer);\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n list: {\r\n width: 250,\r\n },\r\n nested: {\r\n paddingLeft: theme.spacing(4),\r\n color: 'white',\r\n //transition: \"all 0.5s\",\r\n \"&:hover\": {\r\n color : \"white\"\r\n } //Color blanco al apuntar con el mouse\r\n },\r\n navItem: {\r\n color: 'white'\r\n }\r\n}));\r\n\r\n\r\nconst navItems = [\r\n { to: '/home', name: 'Inicio', dataTut: 'DataTut_home', Icon: Home },\r\n { to: '/estadistica-visita', name: 'Estadistica Visita', dataTut: 'DataTut_EstadisticaVisista', Icon: AssessmentIcon },\r\n { to: '/DashBoard-Comercial', name: 'Estadistica Comercial', dataTut: 'DataTut_DashBoardComercial', Icon: Dashboard },\r\n {\r\n to: '/monitoreo', name: 'Monitoreo', dataTut: 'DataTut_Sinc', Icon: Explore,\r\n expanded: [\r\n { to: '/ultima-geolocalizacion-monitoreo', name: 'Ultima GeolocalizaciĆ³n', dataTut: 'DataTut_SincLista', Icon: MyLocation, backgroundColor:'' },\r\n { to: '/recorrido-monitoreo', name: 'Recorrido', dataTut: 'DataTut_SincLista', Icon: DriveEta, backgroundColor:'' }\r\n ]\r\n },\r\n { to: '/coordenadas-global', name: 'Coordenadas Global', dataTut: 'DataTut_Coordenadas', Icon: Public },\r\n { to: '/asignacion', name: 'AsignaciĆ³n', dataTut: 'DataTut_AsignaciĆ³n', Icon: EventAvailable },\r\n { to: '/agenda', name: 'Agenda', dataTut: 'DataTut_Agenda', Icon: EventNote },\r\n { to: '/tiempofueraagenda', name: 'Tiempo Fuera Agenda', dataTut: 'DataTut_Agenda', Icon: EventNote },\r\n { to: '/cartera', name: 'Cartera Clientes', dataTut: 'DataTut_Agenda', Icon: AccountBox },\r\n { to: '/acuerdosVenta', name: 'Acuerdos de Venta', dataTut: 'DataTut_Agenda', Icon: MonetizationOn },\r\n { to: '/listadoReportesVisita', name: 'Reporte Visita', dataTut: 'DataTut_Agenda', Icon: EventNote },\r\n \r\n \r\n { to: '/CorreosMain', name: 'Configuracion Correos', dataTut: 'DataTut_Agenda', Icon: MailOutline,\r\n\r\n expanded: [\r\n { to: '/MailServicios', name: 'Configuracion Servicios', dataTut: 'DataTut_Agenda', Icon: LocalLibrary, backgroundColor:'' },\r\n ]\r\n\r\n },\r\n\r\n \r\n {\r\n to: '/encuesta', name: 'Encuesta', dataTut: 'DataTut_EncuetasGeneral', Icon: LibraryBooks,\r\n expanded: [\r\n { to: '/Mantenimiento/Encuesta', name: 'Configuraciones Encuesta', dataTut: 'DataTut_MantenimientoEncuestas', Icon: LocalLibrary, backgroundColor:'' },\r\n { to: '/Encuesta', name: 'Encuestas', dataTut: 'DataTut_Encuestas', Icon: Description, backgroundColor:'' },\r\n { to: '/encuesta/selectCliente', name: 'Responder Encuesta', dataTut: 'DataTut_Encuestas', Icon: MenuBook, backgroundColor:'' },\r\n { to: '/Encuesta/Resueltas', name: 'Encuestas Realizadas', dataTut: 'DataTut_EncuestasRealizadas', Icon: Assignment, backgroundColor:'' },\r\n ]\r\n },\r\n {\r\n to: '/pedidos', name: 'Pedidos', dataTut: 'DataTut_Pedidos', Icon: FeaturedPlayListOutlined,\r\n expanded: [\r\n { to: '/lista-pedidos-BandejaSalida', name: 'Bandeja Salida', dataTut: 'DataTut_ListadoPedidos', Icon: Input, backgroundColor:'#c41021' },\r\n { to: '/lista-pedidos-pendientes', name: 'Pendientes AX', dataTut: 'DataTut_ListadoPedidos', Icon: AllInbox, backgroundColor:'#d49008' },\r\n { to: '/lista-pedidos-flotante', name: 'Pedidos Flotantes', dataTut: 'DataTut_ListadoPedidos', Icon: CloudQueueIcon, backgroundColor:'' },\r\n { to: '/pedidos', name: 'Nuevo Pedido', dataTut: 'DataTut_NuevoPedido', Icon: PostAdd, backgroundColor:'' },\r\n { to: '/lista-pedidos', name: 'Listado Pedidos', dataTut: 'DataTut_ListadoPedidos', Icon: ListAlt, backgroundColor:'' },\r\n { to: '/recolocacion-pedido', name: 'Recolocar Pedido', dataTut: 'DataTut_ListadoPedidos', Icon: Sync, backgroundColor:'' },\r\n { to: '/inventario', name: 'Inventario', dataTut: 'DataTut_ListadoPedidos', Icon: AssessmentIcon, backgroundColor:'#1A6BA0' },\r\n { to: '/ListadoInventario', name: 'Lista Inventarios', dataTut: 'DataTut_ListadoPedidos', Icon: ListAlt, backgroundColor:'#1A6BA0' },\r\n ]\r\n },\r\n {\r\n to: '/recibos', name: 'Recibos', dataTut: 'DataTut_Recibos', Icon: Receipt,\r\n expanded: [\r\n { to: '/lista-recibos-BandejaSalida', name: 'Bandeja Salida', dataTut: 'DataTut_BandejaSalida', Icon: Input, backgroundColor:'#c41021' },\r\n { to: '/lista-recibos-pendientes', name: 'Pendientes AX', dataTut: 'DataTut_BandejaSalida', Icon: AllInbox, backgroundColor:'#d49008' },\r\n { to: '/lista-recibos-flotante', name: 'Recibos Flotantes', dataTut: 'DataTut_ListadoPedidos', Icon: CloudQueueIcon, backgroundColor:'' },\r\n { to: '/recibos', name: 'Nuevo Recibo', dataTut: 'DataTut_NuevoRecibo', Icon: AddBoxOutlined, backgroundColor:'' },\r\n { to: '/lista-recibos', name: 'Listado Recibos', dataTut: 'DataTut_ListadoRecibos', Icon: ListAlt, backgroundColor:'' },\r\n { to: '/lista-recibos-creditos', name: 'ResincronizaciĆ³n recibos', dataTut: 'DataTut_ListadoRecibos', Icon: SyncAlt, backgroundColor:'' },\r\n { to: '/lista-recibos-proforma', name: 'Recibos Proforma', dataTut: 'DataTut_ListadoRecibosProforma', Icon: ListAlt, backgroundColor:'' }\r\n ]\r\n },\r\n {\r\n to: '/sincronizacion', name: 'Sincronizacion', dataTut: 'DataTut_Sinc', Icon: Sync,\r\n expanded: [\r\n { to: '/sincronizacionlista', name: 'Sincronizacion AutomĆ”tica', dataTut: 'DataTut_SincLista', Icon: FlashAuto, backgroundColor:'' },\r\n { to: '/sincronizacionListaMonitor', name: 'Monitor Sincronizaciones', dataTut: 'DataTut_SincListaMonitor', Icon: Dvr, backgroundColor:'' },\r\n //{ to: '/sincronizacionespecifica', name: 'Sincronizacion Manual', dataTut: 'DataTut_SincEspec', Icon: Book },\r\n { to: '/sincronizacion-especifica-coleccion', name: 'ColecciĆ³n EspecĆ­fica', dataTut: 'DataTut_SincLista', Icon: ViewCompact, backgroundColor:'' },\r\n { to: '/sincronizacion-especifica-cliente', name: 'Cliente EspecĆ­fica', dataTut: 'DataTut_SincLista', Icon: AccountBox, backgroundColor:'' },\r\n { to: '/sincronizacionEspecifica', name: 'SincronizaciĆ³n Especifica', dataTut: 'DataTut_SincLista', Icon: SyncAlt, backgroundColor:'' }\r\n ]\r\n },\r\n {\r\n to: '/devolucion', name: 'Devolucion', dataTut: 'DataTut_Devolucion', Icon: SwapHorizOutlined,\r\n expanded: [\r\n { to: '/devolucion', name: 'Devoluciones', dataTut: 'DataTut_Devoluciones', Icon: SwapHorizOutlined, backgroundColor:'' },\r\n { to: '/listadoDevolucionPendiente', name: 'Pendientes AX', dataTut: 'DataTut_Devoluciones', Icon: SwapHorizOutlined, backgroundColor:'#d49008' },\r\n { to: '/listadoDevolucion', name: 'Listado Devolucion', dataTut: 'DataTut_Devoluciones', Icon: SwapHorizOutlined, backgroundColor:'' },\r\n { to: '/aprobarDevoluciones', name: 'Aprobar Devolucion', dataTut: 'DataTut_Devoluciones', Icon: SwapHorizOutlined, backgroundColor:'' },\r\n { to: '/MotivosDevolucion', name: 'Motivos Devolucion', dataTut: 'DataTut_Devoluciones', Icon: SwapHorizOutlined, backgroundColor:'' },\r\n { to: '/seguimientoCalidad', name: 'Seguimiento Calidad', dataTut: 'DataTut_Devoluciones', Icon: SwapHorizOutlined, backgroundColor:'' },\r\n ]\r\n },\r\n {\r\n to: '/seguridad', name: 'Seguridad', dataTut: 'DataTut_Seguridad', Icon: Security,\r\n expanded: [\r\n { to: '/seguridad-permisos', name: 'Asignar Permisos', dataTut: 'DataTut_AsignarPermisos', Icon: AddBoxOutlined, backgroundColor:'' },\r\n { to: '/seguridad-mantenimiento', name: 'Mantenimiento', dataTut: 'DataTut_Mantenimiento', Icon: ListAlt, backgroundColor:'' },\r\n { to: '/seguridad-firma', name: 'Firmas', dataTut: 'DataTut_Mantenimiento', Icon: ListAlt, backgroundColor:'' },\r\n ]\r\n },\r\n { to: '/inventarios', name: 'Inventarios', dataTut: 'DataTut_Inventarios', Icon: StoreMallDirectoryOutlined },\r\n { to: '/fotografias', name: 'Fotografias', dataTut: 'DataTut_Fotografias', Icon: CameraAltOutlined },\r\n { to: '/coordenadas', name: 'Coordenadas', dataTut: 'DataTut_Coordenadas', Icon: LocationOnOutlined },\r\n {\r\n to: '/GiraAsesores', name: 'Gira', dataTut: 'DataTut_GastosGira', Icon: AirplanemodeActive,\r\n expanded: [\r\n { to: '/GiraAsesores/Mantenimiento', name: 'Mantenimiento Gastos', dataTut: 'DataTut_mantenimientoGira', Icon: Settings, backgroundColor:'' },\r\n { to: '/GiraAsesores/HistorialGasto', name: 'Historial Gastos', dataTut: 'DataTut_historialGastos', Icon: History, backgroundColor:'' },\r\n { to: '/GiraAsesores/GastosPendientes', name: 'Aprobar Gastos', dataTut: 'DataTut_AprobarGasto', Icon: Description, backgroundColor:'' },\r\n { to: '/GiraAsesores/GastosRechazar', name: 'Rechazar Gastos', dataTut: 'DataTut_pendientesSync', Icon: Cancel, backgroundColor:'' },\r\n { to: '/GiraAsesores/GastosNoSincronizados', name: 'Gastos Pendientes Ax', dataTut: 'DataTut_pendientesSync', Icon: Sync, backgroundColor:'' },\r\n ]\r\n },\r\n {\r\n to: '/configuracion', name: 'Configuracion', dataTut: 'DataTut_Sinc', Icon: Build,\r\n expanded: [\r\n { to: '/configuracion-paquete-bodega', name: 'Paquete bodega especifico', dataTut: 'DataTut_SincLista', Icon: AllInboxOutlined, backgroundColor:'' },\r\n { to: '/configuracion-sitio', name: 'Sitio', dataTut: 'DataTut_SincLista', Icon: HomeWork, backgroundColor:'' },\r\n { to: '/configuracion-almacenes', name: 'Almacen', dataTut: 'DataTut_SincLista', Icon: Home, backgroundColor:'' },\r\n { to: '/configuracion-ubicaciones', name: 'Ubicacion', dataTut: 'DataTut_SincLista', Icon: Home, backgroundColor:'' },\r\n { to: '/configuracion-RazonesNoVenta', name: 'Razones no venta', dataTut: 'DataTut_RazonesNoVenta', Icon: ListAlt, backgroundColor:'' },\r\n { to: '/configuracion-tiemposfuera', name: 'Motivos tiempo fuera', dataTut: 'DataTut_RazonesNoVenta', Icon: ListAlt, backgroundColor:'' },\r\n { to: '/configuracion-basecolor', name: 'CombinaciĆ³n base color', dataTut: 'DataTut_RazonesNoVenta', Icon: ListAlt, backgroundColor:'' },\r\n { to: '/configuracion-obtencion-inventario', name: 'ConfiguraciĆ³n obtenciĆ³n inventario', dataTut: 'DataTut_RazonesNoVenta', Icon: ListAlt, backgroundColor:'' },\r\n { to: '/ServiciosTareas', name: 'Servicios y tareas programadas', dataTut: 'DataTut_RazonesNoVenta', Icon: ListAlt, backgroundColor:'' }\r\n ]\r\n }\r\n];\r\n\r\nconst Sidebar = (props) => {\r\n const classes = useStyles();\r\n const [isMenuOpen, setIsMenuOpen] = useState([]);\r\n const [NodeGuia, setNodeGuia] = useState(null);\r\n const [SideMenu, setSideMenu] = useState({\r\n left: false,\r\n right: false,\r\n });\r\n useEffect(() => {\r\n // Update the document title using the browser API\r\n let node = document.getElementById(\"SidebarToggle\");\r\n\r\n if (node !== null) {\r\n node.addEventListener(\"click\", () => toggleDrawer('left', true));\r\n }\r\n\r\n let Submenus = [];\r\n navItems.map((menu, index) => {\r\n if (menu.expanded && menu.expanded !== null && menu.expanded !== undefined) {\r\n Submenus[index] = false;\r\n }\r\n return false;\r\n });\r\n setIsMenuOpen(Submenus);\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const toggleDrawer = (side, open) => {\r\n setSideMenu({ ...SideMenu, [side]: open });\r\n\r\n setTimeout(() => {\r\n let guia = document.getElementById('OpenHelperGuide');\r\n\r\n if (guia !== null) {\r\n setNodeGuia(guia);\r\n }\r\n }, 300)\r\n\r\n };\r\n\r\n const handleClick = (index) => {\r\n let Submenu = [...isMenuOpen];\r\n Submenu[index] = !Submenu[index];\r\n\r\n setIsMenuOpen(Submenu);\r\n };\r\n\r\n const handleClick2 = (index) => {\r\n toggleDrawer('left', false);\r\n };\r\n\r\n const sideList = side => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n // Nested List Items\r\n // \r\n // }\r\n >\r\n {\r\n // eslint-disable-next-line\r\n navItems.map((menu, index) => {\r\n if (menu.expanded && menu.expanded !== null && menu.expanded !== undefined) {\r\n if(IsAllow(menu.name))\r\n {\r\n return (\r\n \r\n handleClick(index)}>\r\n \r\n \r\n \r\n \r\n {isMenuOpen[index] ? : }\r\n \r\n \r\n \r\n {\r\n // eslint-disable-next-line\r\n menu.expanded.map((submenu, ind) => {\r\n\r\n if(IsAllow(submenu.to, true))\r\n {\r\n return (\r\n /*}\r\n />*/\r\n \r\n handleClick2(index)}>\r\n \r\n \r\n \r\n \r\n \r\n )\r\n } \r\n })\r\n }\r\n \r\n \r\n \r\n )\r\n }\r\n }\r\n if(IsAllow(menu.to)){\r\n return (\r\n /*}\r\n />*/\r\n handleClick2(index)}>\r\n \r\n \r\n \r\n \r\n \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 tourConfig = [\r\n {\r\n selector: '[data-tut=\"DataTut_EstadisticaVisista\"]',\r\n content: `InformaciĆ³n de las visistas.`\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_Dashboard\"]',\r\n content: `InformaciĆ³n del dashboard.`\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_Pedidos\"]',\r\n content: `Controles Pedidos.`\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_NuevoPedido\"]',\r\n content: \"Realizar Nuevo Pedido\",\r\n action: () => {\r\n let node = document.querySelector('[data-tut=\"DataTut_Pedidos\"]');\r\n let index = node.getAttribute('data-content');\r\n\r\n if (!isMenuOpen[index]) {\r\n handleClick(index);\r\n }\r\n }\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_ListadoPedidos\"]',\r\n content: \"Ver listado de pedidos\",\r\n action: () => {\r\n let node = document.querySelector('[data-tut=\"DataTut_Pedidos\"]');\r\n let index = node.getAttribute('data-content');\r\n\r\n if (!isMenuOpen[index]) {\r\n handleClick(index);\r\n }\r\n }\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_Agenda\"]',\r\n content: `Ver agenda y las asignaciones de trabajo.`\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_AsignaciĆ³n\"]',\r\n content: `Configurar asignaciones de trabajo.`\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_Recibos\"]',\r\n content: `Recibos.`\r\n },\r\n\r\n {\r\n selector: '[data-tut=\"DataTut_NuevoRecibo\"]',\r\n content: \"Realizar Nuevo Recibo\",\r\n action: () => {\r\n let node = document.querySelector('[data-tut=\"DataTut_Recibos\"]');\r\n let index = node.getAttribute('data-content');\r\n\r\n if (!isMenuOpen[index]) {\r\n handleClick(index);\r\n }\r\n }\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_ListadoRecibos\"]',\r\n content: \"Ver Listado de Recibos\",\r\n action: () => {\r\n let node = document.querySelector('[data-tut=\"DataTut_Recibos\"]');\r\n let index = node.getAttribute('data-content');\r\n\r\n if (!isMenuOpen[index]) {\r\n handleClick(index);\r\n }\r\n }\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_Devoluciones\"]',\r\n content: `Devoluciones.`\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_Inventarios\"]',\r\n content: `Inventarios.`\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_Fotografias\"]',\r\n content: `Fotografias.`\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_Coordenadas\"]',\r\n content: `Ver coordenadas.`\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_HelperButton\"]',\r\n content: `Obtener ayuda de la interfaz`\r\n },\r\n {\r\n selector: '[data-tut=\"DataTut_GastosGira\"]',\r\n content: `Gastos de gira para asesores de venta.`\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n toggleDrawer('left', true)} open={SideMenu.left} onClose={() => toggleDrawer('left', false)}>\r\n {sideList('left')}\r\n \r\n toggleDrawer('right', true)} onClose={() => toggleDrawer('right', false)}>\r\n {sideList('right')}\r\n \r\n\r\n \r\n
\r\n );\r\n}\r\n\r\nconst ListItemLink = (props) => {\r\n const { icon, primary, to } = props;\r\n\r\n const renderLink = React.useMemo(\r\n () =>\r\n React.forwardRef((itemProps, ref) => (\r\n // With react-router-dom@^6.0.0 use `ref` instead of `innerRef`\r\n // See https://github.com/ReactTraining/react-router/issues/6056\r\n \r\n )),\r\n [to],\r\n );\r\n let classes = styles.Titulo;\r\n if (props.nested !== undefined) {\r\n classes += \" \" + props.classes.nested;\r\n }\r\n\r\n return (\r\n
  • \r\n \r\n {icon ? {icon} : null}\r\n \r\n \r\n
  • \r\n );\r\n}\r\n\r\nexport default Sidebar;","import React, { useState } from \"react\";\r\nimport { disableBodyScroll, enableBodyScroll } from \"body-scroll-lock\";\r\nimport Tour from \"reactour\";\r\n\r\nconst Guia = (props) => {\r\n const [isTourOpen, setIsTourOpen] = useState(false);\r\n const accentColor = props.Color;\r\n\r\n if (props.Node !== null) {\r\n props.Node.addEventListener(\"click\", () => openTour());\r\n }\r\n\r\n const disableBody = target => disableBodyScroll(target);\r\n const enableBody = target => enableBodyScroll(target);\r\n\r\n const closeTour = () => {\r\n setIsTourOpen(false);\r\n };\r\n\r\n const openTour = () => {\r\n setIsTourOpen(true);\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default Guia;\r\n","import AuthForm, { STATE_LOGIN } from 'components/Authorize/AuthForm';\r\nimport React from 'react';\r\nimport {\r\n Button,\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Col,\r\n Modal,\r\n ModalBody,\r\n Row,\r\n} from 'reactstrap';\r\n\r\nclass AuthModalPage extends React.Component {\r\n state = {\r\n show: false,\r\n authState: STATE_LOGIN,\r\n };\r\n\r\n toggle = () => {\r\n this.setState({\r\n show: !this.state.show,\r\n });\r\n };\r\n\r\n handleAuthState = authState => {\r\n this.setState({\r\n authState,\r\n });\r\n };\r\n\r\n render() {\r\n const externalCloseBtn = (\r\n \r\n ×\r\n \r\n );\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n Login Modala Example\r\n \r\n \r\n \r\n \r\n \r\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 AuthModalPage;\r\n","import AuthForm, { STATE_LOGIN } from 'components/Authorize/AuthForm';\r\nimport React from 'react';\r\nimport { Card, Col, Row } from 'reactstrap';\r\n\r\nclass AuthPage extends React.Component {\r\n handleAuthState = authState => {\r\n if (authState === STATE_LOGIN) {\r\n this.props.history.push('/login');\r\n } else {\r\n this.props.history.push('/signup');\r\n }\r\n };\r\n\r\n handleLogoClick = () => {\r\n this.props.history.push('/');\r\n };\r\n render() {\r\n const styleBody = {\r\n height: '100vh',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n // backgroundColor: '#153950',\r\n backgroundColor:'#243746',\r\n // backgroundImage:'linear-gradient(to left, #4CA1AF, #2C3E50)', /* Chrome 10-25, Safari 5.1-6 */\r\n backgroundImage: '#243746'//'linear-gradient(to left, #64c4ee, #2C3E50)' /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */,\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\nexport default AuthPage;\r\n","import React from 'react';\r\nimport NavigateNextIcon from '@material-ui/icons/NavigateNext';\r\n\r\nimport { Breadcrumbs, Typography } from '@material-ui/core';\r\nimport styles from 'components/Pedidos/PedidosBreadCrumb/PedidosBreadCrumb.module.css';\r\n\r\nconst NavigationBreadcrumb = (props) => {\r\n return (\r\n\r\n } aria-label=\"breadcrumb\">\r\n {\r\n props.BreadcrumbItems.map((breadcrumbItem, index) => {\r\n if ((index + 1) !== props.BreadcrumbItems.length) {\r\n return (\r\n \r\n {breadcrumbItem.Titulo}\r\n \r\n )\r\n } else {\r\n return (\r\n {breadcrumbItem.Titulo}\r\n )\r\n }\r\n })\r\n }\r\n \r\n )\r\n};\r\n\r\nexport default NavigationBreadcrumb;","import React from 'react';\r\nimport moment from \"moment\";\r\nimport Img from 'react-image'\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport { ScaleLoader } from 'react-spinners';\r\nimport {\r\n Card,\r\n CardActionArea,\r\n CardHeader as MuiCardHeader,\r\n CardContent,\r\n CardMedia,\r\n CardActions,\r\n} from '@material-ui/core';\r\nimport PhotoLibraryIcon from '@material-ui/icons/PhotoLibrary';\r\nimport InventoryIcon from '@material-ui/icons/ArchiveSharp';\r\nimport styles from \"components/Pedidos/Colecciones/Coleccion.module.css\";\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { verificarConexion } from 'utils/http';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport 'moment/locale/es';\r\nimport Button from '@material-ui/core/Button';\r\nimport axios from 'axios';\r\nimport FileSaver from 'file-saver';\r\nimport XLSX from 'xlsx';\r\nmoment.locale('es');\r\n\r\nconst CardHeader = withStyles({\r\n title: {\r\n fontWeight: '600',\r\n textAlign: 'center'\r\n },\r\n})(MuiCardHeader);\r\n\r\nconst Coleccion = (props) => {\r\n const [Raised, setRaised] = React.useState(false);\r\n const cliente = useSelector(e => e.cliente);\r\n const Permisos = useSelector(e => e.Permisos[0]);\r\n const dispatch = useDispatch();\r\n const coleccion = useSelector(e => e.coleccion);\r\n const [loading, setLoading] = React.useState(false);\r\n const BodegaSeleccionada = useSelector(e => e.BodegaSeleccionada);\r\n\r\n const cargarProductos = () => {\r\n fetch(`${APIURL}/api/colecciones/productos/${props.coleccion.CodigoColeccion}/${cliente.GrupoPrecio}/${cliente.EmpresaId}/${BodegaSeleccionada.CodigoSitio}/${BodegaSeleccionada.Almacen}`)\r\n .then(res => res.json())\r\n .then(data => {\r\n props.Click();\r\n /*data.forEach(x => {\r\n x.ProductosXEdad.forEach(producto => {\r\n producto.ListaTalla.forEach(tallas => {\r\n if (tallas.Distribucion.length > 0) {\r\n producto.fisicaDisponible.forEach(disp => {\r\n if (disp.PreciosEspecificos.length === 0) {\r\n producto.Precio.forEach(precio => {\r\n precio.Precio = 0;\r\n })\r\n }\r\n })\r\n }\r\n })\r\n })\r\n })*/\r\n let nuevaData = [...data, { Edad: \"Piezas sueltas\", IdEdad: \"Sueltas\", Orden: null, ProductosXEdad: [] }];\r\n dispatch({ type: 'SET_PRODUCTOSCOLECCION', payload: nuevaData });\r\n localStorage.setItem(\"ColeccionSeleccionada\", props.coleccion.CodigoColeccion)\r\n localStorage.setItem(\"HoraIngreso\", moment(new Date()).format('YYYY-MM-DDTHH:mm'))\r\n }).catch(err=>{\r\n alert(\"Ocurrio un error y no se pudo cargar el paquete.\")\r\n });\r\n }\r\n\r\n const verficarPaquete = () => {\r\n if (Permisos.UsuarioOficina === false && props.coleccion.Estatus !== 1) {\r\n Swal.fire({\r\n title: 'Sin Acceso',\r\n text: 'Ā”Este paquete no esta disponible para la venta!',\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n else {\r\n selectColeccion();\r\n }\r\n }\r\n\r\n const cargarImagen = () => {\r\n axios.get(`${APIURL}/api/colecciones/${props.coleccion.CodigoColeccion}/${localStorage.getItem(\"empresa\")}/imagenesColeccion`)\r\n .then(data => {\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: `Se ha cargado la imagen del paquete con exito.`,\r\n type: 'success',\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n }).then((result) => {\r\n if (result.value) {\r\n props.reiniciarPedido();\r\n }\r\n })\r\n }).catch((err) => {\r\n let mensaje = \"Ha ocurrido un error y no se pudo cargar la imagen.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n });\r\n }\r\n\r\n const iniciarBorrador = () => {\r\n let borrador = {};\r\n borrador.cliente = cliente.Codigo;\r\n borrador.coleccion = props.coleccion.CodigoColeccion;\r\n borrador.empresa = cliente.EmpresaId;\r\n borrador.TableValue = {};\r\n borrador.TotalPedido = 0.0;\r\n localStorage.setItem(\"borrador\", JSON.stringify(borrador));\r\n dispatch({ type: \"RESET_TABLEVALUETOTALPEDIDO\" });\r\n }\r\n\r\n const selectColeccion = async () => {\r\n dispatch({ type: \"RESET_PRODUCTOAGREGADO\" });\r\n dispatch({ type: \"RESET_TABLEVALUETOTALPEDIDO\" });\r\n let HoraIngreso = localStorage.getItem('HoraIngreso');\r\n let HoraActual = moment().subtract(30, 'minutes').format('YYYY-MM-DDTHH:mm');\r\n localStorage.setItem('ProdEnCarrito', 0)\r\n\r\n if (Permisos.UsuarioOficina) {\r\n cargarProductos();\r\n } else {\r\n let borrador = JSON.parse(localStorage.getItem(\"borrador\"));\r\n let productosEnCarrito = 0;\r\n\r\n if (borrador) {\r\n if (borrador.ProdEnCarrito !== undefined || borrador.ProdEnCarrito !== null) {\r\n productosEnCarrito = borrador.ProdEnCarrito;\r\n }\r\n\r\n if (productosEnCarrito > 0) {\r\n if (borrador.cliente === cliente.Codigo && borrador.coleccion === props.coleccion.CodigoColeccion && borrador.empresa === cliente.EmpresaId) {\r\n\r\n const result = await Swal.fire({\r\n title: 'Pedido Borrador',\r\n text: `Actualmente existe un pedido de borrador para el cliente ${borrador.cliente}, coleccion ${borrador.coleccion}, empresa ${borrador.empresa}, con ${productosEnCarrito} estilos agregados. ĀæDesea continuar con el borrador o eliminarlo?`,\r\n type: 'warning',\r\n showCancelButton: true,\r\n cancelButtonColor: '#d33',\r\n confirmButtonColor: '#3085d6',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Eliminar',\r\n allowOutsideClick: false,\r\n });\r\n\r\n if (result.value) {\r\n dispatch({ type: \"SET_BORRADOR\", payload: { TableValue: borrador.TableValue, TotalPedido: borrador.TotalPedido, listaProductosAgregados: borrador.listaProductosAgregados } })\r\n if (borrador.ProdEnCarrito !== undefined || borrador.ProdEnCarrito !== null) {\r\n localStorage.setItem(\"ProdEnCarrito\", borrador.ProdEnCarrito);\r\n }\r\n } else {\r\n localStorage.removeItem(\"borrador\");\r\n iniciarBorrador();\r\n }\r\n } else {\r\n const result = await Swal.fire({\r\n title: 'Pedido Borrador',\r\n text: `Actualmente existe un pedido de borrador para el cliente ${borrador.cliente}, coleccion ${borrador.coleccion}, empresa ${borrador.empresa}, con ${productosEnCarrito} estilos agregados. Si desea eliminar el pedido borrador y continuar con nuevo pedido presione borrar. Si elige mantener tendra que terminar el pedido borrador.`,\r\n type: 'warning',\r\n showCancelButton: true,\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonColor: '#d33',\r\n confirmButtonText: 'Borrar',\r\n cancelButtonText: 'Mantener',\r\n allowOutsideClick: false,\r\n });\r\n\r\n\r\n if (result.value) {\r\n localStorage.removeItem(\"borrador\");\r\n iniciarBorrador();\r\n } else {\r\n return;\r\n }\r\n }\r\n } else {\r\n localStorage.removeItem(\"borrador\");\r\n iniciarBorrador();\r\n }\r\n } else {\r\n localStorage.removeItem(\"borrador\");\r\n iniciarBorrador();\r\n }\r\n\r\n if (localStorage.getItem(\"Conexion\") === \"Online\") {\r\n setLoading(true);\r\n let isOnline = await verificarConexion();\r\n setLoading(false);\r\n if (localStorage.getItem(\"Conexion\") === \"Online\" && isOnline) {\r\n if (props.coleccion.CodigoColeccion !== localStorage.getItem('ColeccionSeleccionada') || coleccion === null || coleccion.Edades === undefined || coleccion.Edades.length === 0 || HoraActual > HoraIngreso) {\r\n cargarProductos();\r\n }\r\n else {\r\n dispatch({ type: 'SET_PRODUCTOSCOLECCION', payload: coleccion.Edades });\r\n props.Click();\r\n }\r\n } else {\r\n props.Click();\r\n }\r\n } else {\r\n props.Click()\r\n }\r\n }\r\n }\r\n const convertirData = (data) => {\r\n return data.map((el) => {\r\n const { $id, ...inventario } = el;\r\n\r\n return {\r\n ...inventario\r\n }\r\n })\r\n }\r\n const mostrarAdvertencia = (title, text, type) => {\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n type: type,\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n const obtenerInventario = async () => {\r\n \r\n const request = await axios.get(`${APIURL}/api/colecciones/inventario/${props.coleccion.IdColeccion}`)\r\n\r\n if (request.data.length === 0) {\r\n mostrarAdvertencia(\"Sin Inventario\", \"No hay inventario disponible\", \"info\")\r\n return;\r\n }\r\n const InfoConFormato = convertirData(request.data);\r\n console.log(\"request.data\", InfoConFormato)\r\n guardarExcel(InfoConFormato);\r\n\r\n }\r\n const guardarExcel = csvData => {\r\n const fileName = `InventariosDisponibles-${props.coleccion.CodigoColeccion}`;\r\n const fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n const fileExtension = '.xlsx';\r\n const ws = XLSX.utils.json_to_sheet(csvData);\r\n const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const data = new Blob([excelBuffer], { type: fileType });\r\n FileSaver.saveAs(data, fileName + fileExtension);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n setRaised(true)}\r\n onMouseLeave={() => setRaised(false)}>\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.coleccion.CodigoColeccion}

    \r\n
    Status AX: {props.coleccion.Estatus === 1 ? \"Disponible para la venta\" : \"En Proceso\"}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Venta Inicio:
    \r\n
    \r\n
    \r\n {moment(props.coleccion.VentaInicio).format(\"DD/MM/YYYY\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Venta Fin:
    \r\n
    \r\n
    \r\n {moment(props.coleccion.VentaFinal).format(\"DD/MM/YYYY\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Entrega Inicio:
    \r\n
    \r\n
    \r\n {moment(props.coleccion.EntregaInicio).format(\"DD/MM/YYYY\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Entrega Fin:
    \r\n
    \r\n
    \r\n {moment(props.coleccion.EntregaFinal).format(\"DD/MM/YYYY\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {\r\n Permisos.UsuarioOficina && Permisos.AdministradorProductos &&\r\n \r\n }\r\n {\r\n Permisos.UsuarioOficina && Permisos.AdministradorProductos &&\r\n \r\n }\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Coleccion;","import React from 'react';\r\nimport { FaWarehouse, FaRegClock } from \"react-icons/fa\";\r\nimport { ViewComfy } from '@material-ui/icons';\r\nconst CustomIcon = (props) => {\r\n switch (props.IconName) {\r\n case 'FaWarehouse':\r\n return \r\n case 'FaRegClock':\r\n return \r\n default:\r\n return \r\n }\r\n}\r\nexport default CustomIcon","import React, { useState } from 'react';\r\nimport styles from 'components/Pedidos/ProductoLista/SearchButton.module.css';\r\nimport { FaSearch } from \"react-icons/fa\";\r\n\r\n\r\nconst SearchButton = (props) => {\r\n const [SearchText, setSearchText] = useState(\"\");\r\n\r\n React.useEffect(() => {\r\n props.clear();\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const handleSubmit = event => {\r\n event.preventDefault();\r\n if (SearchText.length === 0 || !SearchText.trim()) {\r\n props.clear();\r\n }\r\n else {\r\n props.onSearch(SearchText);\r\n }\r\n };\r\n\r\n const SearchChange = (event) => {\r\n setSearchText(event.target.value);\r\n\r\n if (event.target.value.length === 0 || !event.target.value.trim()) {\r\n props.clear();\r\n }\r\n else {\r\n props.onSearch(event.target.value);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {props.backgroundColor ?\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 // expand()}>\r\n // \r\n // \r\n //
    \r\n // )\r\n}\r\n\r\nexport default SearchButton;","import React from 'react';\r\nimport Coleccion from './Coleccion'\r\nimport { createMuiTheme } from '@material-ui/core/styles';\r\nimport { ThemeProvider } from '@material-ui/styles';\r\nimport { blue } from '@material-ui/core/colors';\r\nimport { AppBar, Tabs, Tab } from '@material-ui/core';\r\n// import { FaSearch, FaTimes } from \"react-icons/fa\";\r\nimport CustomIcon from 'components/Global/CustomIcon';\r\nimport SearchButton from 'components/Pedidos/ProductoLista/SearchButton'\r\nimport styles from 'components/Pedidos/Colecciones/ColeccionesList.module.css'\r\n\r\nconst theme = createMuiTheme({\r\n palette: {\r\n primary: {\r\n main: \"#F8F9FA\",\r\n },\r\n secondary: blue,\r\n },\r\n});\r\n\r\nconst changeTab = (props, value) => {\r\n var pathArray = props.match.url.split(\"/\");\r\n pathArray.pop();\r\n props.history.replace(pathArray.join(\"/\") + '/' + value);\r\n}\r\n\r\nconst Colecciones = (props) => {\r\n const [TextboxValue, setTextboxValue] = React.useState(\"\");\r\n\r\n var value = props.match.params.TipoColeccion;\r\n // if (!(value === \"B\" || value === \"F\")) {\r\n // changeTab(props, \"B\")\r\n // }\r\n\r\n // const onClickIcon = () => {\r\n // if (Active) {\r\n // setTextboxValue(\"\");\r\n // setActive(false);\r\n // }\r\n // }\r\n\r\n const onChangeSearch = (text) => {\r\n setTextboxValue(text);\r\n }\r\n const onSearchClear = (text) => {\r\n setTextboxValue(\"\");\r\n }\r\n\r\n const getValidCollections = () => {\r\n let array = [];\r\n props.TiposColeccion.map((tipCol) => {\r\n let found = false;\r\n props.colecciones.map((coleccion) => {\r\n if (coleccion.ColeccionTipo === tipCol.ColeccionTipo && coleccion.Lineas.includes(props.LineaSeleccionada.IdLinea)) {\r\n found = true;\r\n }\r\n return false;\r\n });\r\n\r\n if (found) {\r\n array.push(tipCol);\r\n }\r\n return false;\r\n });\r\n return array;\r\n }\r\n return (\r\n\r\n
    \r\n
    \r\n \r\n \r\n { changeTab(props, value) }}>\r\n {getValidCollections().map((tipCol, index) => {\r\n return } label={tipCol.Descripcion} value={tipCol.ColeccionTipo} />\r\n })}\r\n \r\n \r\n \r\n\r\n\r\n
    \r\n {/* onChangeSearch(event.target.value)}\r\n /> */}\r\n\r\n {/* onClickIcon()}\r\n >\r\n {\r\n Active ? : \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.colecciones.map((coleccion, index) => {\r\n if (coleccion.ColeccionTipo === value && coleccion.Lineas.includes(props.LineaSeleccionada.IdLinea)) {\r\n let encontrado = coleccion.Nombre.toLowerCase().includes(TextboxValue.toLowerCase().trim());\r\n if (encontrado) {\r\n return (\r\n \r\n )\r\n }\r\n return false;\r\n }\r\n return false;\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 Colecciones;","import React, { useState, useEffect } from 'react';\r\nimport styles from 'components/Pedidos/ProductoLista/Producto.module.css';\r\nimport Img from 'react-image';\r\nimport { ScaleLoader } from 'react-spinners';\r\nimport notFound from 'assets/nodisponible.png';\r\nimport { Card, } from 'reactstrap';\r\nimport { FiEye, FiSearch } from 'react-icons/fi';\r\nimport { MdCheck } from \"react-icons/md\";\r\nimport { useSnackbar } from 'notistack';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\n\r\nconst Producto = (props) => {\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n let stockDisponible = 0;\r\n\r\n if (!props.isFuture) {\r\n stockDisponible = props.producto.fisicaDisponible.reduce((a, b) => (a + b.Cantidad), 0);\r\n }\r\n\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n const alertDeshabilitado = () => {\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Este producto no esta disponible',\r\n customClass: {\r\n container: styles.ToastOnTopModal,\r\n }\r\n });\r\n }\r\n\r\n\r\n const toggleSelect = () => {\r\n if (props.producto.Deshabilitado && !permisos.AdministradorProductos) {\r\n alertDeshabilitado()\r\n } else if (primerRender ? (precioProductoTemporal !== undefined) : (precioProducto !== undefined)) {\r\n if (!(selected || isSelectedTemporal) && totalProducto + props.TotalPedido > props.LimiteVenta) {\r\n props.alertaLimiteCredito();\r\n } else {\r\n if ((props.producto.fisicaDisponible.reduce((acc, curr) => { return acc + curr.Cantidad }, 0) > 0) || props.isFuture) {\r\n setselected(!selected);\r\n props.toggleSelectProducto(props.producto);\r\n } else {\r\n enqueueSnackbar('Producto sin stock', {\r\n variant: 'error',\r\n anchorOrigin: {\r\n vertical: 'bottom',\r\n horizontal: 'left',\r\n },\r\n });\r\n }\r\n\r\n }\r\n } else {\r\n props.alertaPrecio();\r\n }\r\n }\r\n const [selected, setselected] = useState(false);\r\n const [primerRender, setPrimerRender] = useState(true);\r\n const [totalProducto, setTotalProducto] = useState(0);\r\n const [precioProducto, setPrecio] = useState(undefined);\r\n const permisos = useSelector(e => e.Permisos[0]);\r\n let isSelectedTemporal = false;\r\n let precioProductoTemporal = undefined;\r\n\r\n try {\r\n isSelectedTemporal = props.TableValue[props.producto.Linea.IdLinea][props.producto.CodigoColeccion][props.producto.GrupoTalla].Productos[props.producto.ProductoId].Selected;\r\n } catch { }\r\n\r\n precioProductoTemporal = props.producto.Precio.find(precioxProd => {\r\n return precioxProd.GrupoPrecio === props.GrupoPrecioCliente;\r\n });\r\n\r\n\r\n useEffect(() => {\r\n\r\n let precio = props.producto.Precio.find(precioxProd => {\r\n return precioxProd.GrupoPrecio === props.GrupoPrecioCliente;\r\n });\r\n if (!precio && props.producto.fisicaDisponible.length > 0) {\r\n let precioFisicoDisponible = props.producto.fisicaDisponible.find(fsDis => fsDis.PreciosEspecificos.find(ps => ps.Precio > 0 && ps.GrupoPrecio === props.GrupoPrecioCliente))\r\n if (precioFisicoDisponible) {\r\n precio = { Precio: precioFisicoDisponible.PreciosEspecificos.find(ps => ps.Precio > 0 && ps.GrupoPrecio === props.GrupoPrecioCliente).Precio };\r\n }\r\n }\r\n if (precio) {\r\n try {\r\n let tempTotal = 0.00;\r\n Object.keys(props.TableValue[props.producto.Linea.IdLinea][props.producto.CodigoColeccion][props.producto.GrupoTalla].Productos[props.producto.ProductoId].Colores).forEach((codigoColor) => {\r\n let color = props.TableValue[props.producto.Linea.IdLinea][props.producto.CodigoColeccion][props.producto.GrupoTalla].Productos[props.producto.ProductoId].Colores[codigoColor];\r\n\r\n Object.keys(color.Tallas).forEach((codigoTalla) => {\r\n\r\n let valorTalla = color.Tallas[codigoTalla];\r\n tempTotal = tempTotal + (precio.Precio * (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10)));\r\n });\r\n });\r\n setTotalProducto(tempTotal);\r\n } catch { }\r\n setPrecio(precio);\r\n setPrimerRender(false);\r\n }\r\n // eslint-disable-next-line\r\n }, []);\r\n useEffect(() => {\r\n let selected = false;\r\n try {\r\n selected = props.TableValue[props.producto.Linea.IdLinea][props.producto.CodigoColeccion][props.producto.GrupoTalla].Productos[props.producto.ProductoId].Selected;\r\n } catch { }\r\n setselected(selected);\r\n // eslint-disable-next-line\r\n }, [props.producto]);\r\n let selectableClassName = styles.selectable;\r\n\r\n const handleClickVistaRapida = (e) => {\r\n if (permisos.AdministradorProductos) {\r\n props.ClickVistaRapida(e);\r\n return;\r\n }\r\n\r\n if (!permisos.AdministradorProductos && !props.producto.Deshabilitado) {\r\n props.ClickVistaRapida(e);\r\n return;\r\n }\r\n\r\n alertDeshabilitado();\r\n }\r\n\r\n const handleVerDetalle = (e) => {\r\n if (permisos.AdministradorProductos) {\r\n props.Click(e);\r\n return;\r\n }\r\n\r\n if (!permisos.AdministradorProductos && !props.producto.Deshabilitado) {\r\n props.Click(e);\r\n return;\r\n }\r\n\r\n alertDeshabilitado();\r\n }\r\n\r\n if (primerRender ? isSelectedTemporal : selected) {\r\n selectableClassName = selectableClassName + ' ' + styles.selected;\r\n }\r\n\r\n return (\r\n //className=\"col-xl-3 col-md-6 col-lg-4 col-sm-6 col-12\"\r\n
    \r\n { toggleSelect() }}\r\n className={styles.card}\r\n >\r\n {\r\n !props.isFuture &&\r\n <>\r\n {\r\n props.SoldOut &&
    Sin Stock
    \r\n }\r\n \r\n }\r\n {\r\n props.producto.InOut &&
    In&Out
    \r\n }\r\n {\r\n props.producto.Deshabilitado &&
    Cerrado
    \r\n }\r\n {\r\n props.producto.Nuevo &&
    Nuevo
    \r\n }\r\n {\r\n props.producto.PiezaSuelta &&
    Sueltas
    \r\n }\r\n
    \r\n \r\n }\r\n />\r\n {/* */}\r\n\r\n
    \r\n\r\n
    \r\n {props.producto.NombreProducto}\r\n
    \r\n\r\n
    \r\n {/* Pseudo */}CĆ³digo - {props.producto.ProductoId}\r\n
    \r\n\r\n {(!props.isFuture) &&
    \r\n {/* Pseudo */}Stock Disponible : {stockDisponible}\r\n
    }\r\n\r\n\r\n
    \r\n *Disponible en {props.producto.ListaColores.length} {(props.producto.ListaColores.length === 1) ? 'color' : 'colores'}\r\n
    \r\n\r\n
    \r\n {/* El boton se mostrara en responsive */}\r\n {/* */}\r\n\r\n
    \r\n {/* \r\n */}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n Vista Rapida\r\n \r\n \r\n Ver Detalle\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n}\r\nconst areEqual = (prevProps, nextProps) => {\r\n return false;\r\n}\r\nexport default React.memo(Producto, areEqual);","import React from 'react';\r\nimport Producto from 'components/Pedidos/ProductoLista/Producto';\r\nimport AutoSizer from \"react-virtualized-auto-sizer\";\r\nimport { FixedSizeList } from \"react-window\";\r\nimport styles from 'components/Pedidos/ProductoLista/Producto.module.css'\r\n\r\nconst filtro = (arrayAtributosXProducto, filtroAtributos) => {\r\n var tipos = Object.keys(filtroAtributos);\r\n if (tipos.length === 0) {\r\n return true;\r\n }\r\n var atributoSeleccionados = Object.values(filtroAtributos).find(arraydDescripcion => (arraydDescripcion.length > 0));\r\n if (!atributoSeleccionados) {\r\n return true;\r\n }\r\n\r\n return tipos.find(type => {\r\n\r\n return filtroAtributos[type].find((filtroAtributo) => {\r\n return arrayAtributosXProducto.find(atributoProducto => (filtroAtributo === atributoProducto.Descripcion));\r\n });\r\n });\r\n\r\n}\r\n\r\nconst SoldOut = (producto) => {\r\n let encontrado = false;\r\n let cantidad = 0;\r\n producto.fisicaDisponible.map(disponible => {\r\n cantidad += disponible.Cantidad;\r\n return false;\r\n })\r\n\r\n if (cantidad === 0) {\r\n encontrado = true\r\n }\r\n\r\n return encontrado;\r\n}\r\n\r\nconst Productos = (props) => {\r\n const searched = (nombre, codigo, texto) => {\r\n if (texto === '') {\r\n return true;\r\n }\r\n let found = false;\r\n\r\n found = nombre.toLowerCase().includes(texto.toLowerCase()) || codigo.toLowerCase().includes(texto.toLowerCase());\r\n return found;\r\n }\r\n let isFuture = false;\r\n if (props.coleccion.ColeccionTipo === \"F\" || props.coleccion.ColeccionTipo === 'f') {\r\n isFuture = true;\r\n };\r\n\r\n let cantidad = 0;\r\n let cardSize = 360;\r\n let productosList = [];\r\n\r\n const Row = React.memo(({ index, data, style }) => {\r\n\r\n const { ListProducts, itemsPerRow, styles } = data;\r\n\r\n const items = [];\r\n const fromIndex = index * itemsPerRow;\r\n const toIndex = Math.min(fromIndex + itemsPerRow, ListProducts.length);\r\n\r\n let Restante = 0;\r\n if (toIndex === ListProducts.length) {\r\n Restante = toIndex - fromIndex;\r\n\r\n if (Restante === itemsPerRow) {\r\n Restante = 0;\r\n }\r\n else {\r\n Restante = itemsPerRow - Restante;\r\n }\r\n }\r\n\r\n let AltClass = (itemsPerRow > ListProducts.length || itemsPerRow === ListProducts.length);\r\n\r\n for (let i = fromIndex; i < toIndex; i++) {\r\n items.push(\r\n \r\n );\r\n }\r\n\r\n if (Restante !== 0 && !AltClass) {\r\n for (let i = 0; i < Restante; i++) {\r\n items.push(\r\n
    \r\n\r\n
    \r\n );\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {items}\r\n
    \r\n )\r\n }, areEqual);\r\n\r\n\r\n props.coleccion.Edades.map((edad) => {\r\n if (props.filtroEdad === \"Sueltas\") {\r\n edad.ProductosXEdad.map((producto) => {\r\n if (isFuture || !props.NoStock) {\r\n let encontrado = searched(producto.NombreProducto, producto.ProductoId, props.buscador);\r\n\r\n if (encontrado) {\r\n if (props.Linea.IdLinea === producto.Linea.IdLinea && filtro(producto.AtributosXProducto, props.filtroAtributos) && producto.PiezaSuelta) {\r\n cantidad++;\r\n let productoConEdad = { ...producto, IdEdad: edad.IdEdad, Edad: edad.Edad };\r\n productosList.push(productoConEdad);\r\n return true;\r\n }\r\n }\r\n }\r\n else {\r\n let Sold = SoldOut(producto);\r\n\r\n if (!Sold) {\r\n let encontrado = searched(producto.NombreProducto, producto.ProductoId, props.buscador);\r\n\r\n if (encontrado) {\r\n if (props.Linea.IdLinea === producto.Linea.IdLinea && filtro(producto.AtributosXProducto, props.filtroAtributos) && producto.PiezaSuelta) {\r\n cantidad++;\r\n let productoConEdad = { ...producto, IdEdad: edad.IdEdad, Edad: edad.Edad };\r\n productosList.push(productoConEdad);\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n return false;\r\n })\r\n } else {\r\n if (props.filtroEdad === null || props.filtroEdad === edad.IdEdad) {\r\n edad.ProductosXEdad.map((producto) => {\r\n if (isFuture || !props.NoStock) {\r\n let encontrado = searched(producto.NombreProducto, producto.ProductoId, props.buscador);\r\n\r\n if (encontrado) {\r\n if (props.Linea.IdLinea === producto.Linea.IdLinea && filtro(producto.AtributosXProducto, props.filtroAtributos)) {\r\n cantidad++;\r\n let productoConEdad = { ...producto, IdEdad: edad.IdEdad, Edad: edad.Edad };\r\n productosList.push(productoConEdad);\r\n return true;\r\n }\r\n }\r\n }\r\n else {\r\n let Sold = SoldOut(producto);\r\n\r\n if (!Sold) {\r\n let encontrado = searched(producto.NombreProducto, producto.ProductoId, props.buscador);\r\n\r\n if (encontrado) {\r\n if (props.Linea.IdLinea === producto.Linea.IdLinea && filtro(producto.AtributosXProducto, props.filtroAtributos)) {\r\n cantidad++;\r\n let productoConEdad = { ...producto, IdEdad: edad.IdEdad, Edad: edad.Edad };\r\n productosList.push(productoConEdad);\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n return false;\r\n })\r\n }\r\n return null;\r\n }\r\n });\r\n\r\n if (props.coleccion.ColeccionTipo !== \"F\" || props.coleccion.ColeccionTipo !== 'f') {\r\n productosList.forEach((e, i) => {\r\n const stock = e.fisicaDisponible.reduce((a, b) => (a + b.Cantidad), 0);\r\n e.stockDisponible = stock;\r\n });\r\n if (props.Ordenamiento) {\r\n if (props.Ordenamiento === \"Nombre\") {\r\n productosList.sort((a, b) => (a.NombreProducto.localeCompare(b.NombreProducto)));\r\n } else if (props.Ordenamiento === \"Codigo\") {\r\n productosList.sort((a, b) => (a.ProductoId.localeCompare(b.ProductoId)));\r\n } else {\r\n productosList.sort((a, b) => ((a.stockDisponible > b.stockDisponible) ? -1 : 1));\r\n }\r\n } else {\r\n productosList.sort((a, b) => ((a.stockDisponible > b.stockDisponible) ? -1 : 1));\r\n }\r\n }\r\n\r\n if (props.coleccion.ColeccionTipo === \"F\" || props.coleccion.ColeccionTipo === 'f') {\r\n if (props.Ordenamiento) {\r\n if (props.Ordenamiento === \"Nombre\") {\r\n productosList.sort((a, b) => (a.NombreProducto.localeCompare(b.NombreProducto)));\r\n } else if (props.Ordenamiento === \"Codigo\") {\r\n productosList.sort((a, b) => (a.ProductoId.localeCompare(b.ProductoId)));\r\n }\r\n } else {\r\n productosList.sort((a, b) => a.ProductoId.localeCompare(b.ProductoId));\r\n }\r\n }\r\n\r\n let productosNuevo = productosList.filter(x => x.Nuevo);\r\n productosNuevo.sort((a, b) => ((a.Prioridad < b.Prioridad) ? -1 : 1));\r\n\r\n let productosInOut = productosList.filter(x => x.InOut);\r\n productosInOut.sort((a, b) => ((a.Prioridad < b.Prioridad) ? -1 : 1));\r\n\r\n let productosRegulares = productosList.filter(x => !x.InOut && !x.Nuevo);\r\n productosRegulares.sort((a, b) => ((a.Prioridad < b.Prioridad) ? -1 : 1));\r\n\r\n productosList = [...productosNuevo, ...productosInOut, ...productosRegulares];\r\n\r\n let productos = (\r\n
    \r\n \r\n {({ height, width }) => {\r\n const itemsPerRow = ~~(width / cardSize) || 1;\r\n const rowCount = Math.ceil(cantidad / itemsPerRow);\r\n let itemData = { ListProducts: productosList, itemsPerRow: itemsPerRow, styles: styles };\r\n\r\n return (\r\n
    \r\n \r\n {Row}\r\n \r\n
    \r\n );\r\n }}\r\n
    \r\n
    \r\n );\r\n\r\n let mensajeCantidad = \"No hay Productos\";\r\n if (props.CantidadProductos.current) {\r\n if (cantidad !== 0) {\r\n if (cantidad > 1) {\r\n mensajeCantidad = cantidad + \" Productos\";\r\n }\r\n else {\r\n mensajeCantidad = cantidad + \" Producto\"\r\n }\r\n }\r\n props.CantidadProductos.current.innerText = mensajeCantidad;\r\n }\r\n\r\n if (props.coleccion)\r\n return productos;\r\n}\r\n\r\nconst areEqual = (prevProps, nextProps) => {\r\n let iguales = prevProps.filtroAtributos === nextProps.filtroAtributos;\r\n iguales = iguales && prevProps.coleccion === nextProps.coleccion;\r\n iguales = iguales && prevProps.coleccion === nextProps.coleccion;\r\n iguales = iguales && prevProps.buscador === nextProps.buscador;\r\n iguales = iguales && prevProps.filtroEdad === nextProps.filtroEdad;\r\n return iguales;\r\n}\r\nexport default (Productos);","import React, { useState, useEffect } from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport { Checkbox } from 'element-react';\r\nimport {\r\n Button,\r\n Dialog,\r\n DialogContent,\r\n DialogTitle,\r\n DialogActions,\r\n ExpansionPanel as MuiExpansionPanel,\r\n ExpansionPanelSummary as MuiExpansionPanelSummary,\r\n ExpansionPanelDetails as MuiExpansionPanelDetails,\r\n} from '@material-ui/core';\r\n\r\nconst ModalFiltros = (props) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n useEffect(() => {\r\n // Update the document title using the browser API\r\n let node = document.getElementById(props.IdNode);\r\n if (node !== null) {\r\n document.getElementById(props.IdNode).addEventListener(\"click\", () => handleClickOpen());\r\n }\r\n setIsOpen(false);\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const handleClickOpen = () => {\r\n setIsOpen(true);\r\n }\r\n\r\n const handleClose = () => {\r\n setIsOpen(false);\r\n }\r\n\r\n const GetModal = (\r\n \r\n \r\n Filtros\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n props.OnClickSearch()} >\r\n
    \r\n
    \r\n props.SearchFiltros(event)} placeholder={\"Buscar\"} className={\"pr-2 \" + props.styles.SearchFiltros} />\r\n\r\n
    \r\n {\r\n props.Filtros.length !== 0 ?\r\n props.Filtros.map((atributoXcoleccion, index) => {\r\n return (\r\n
    \r\n\r\n props.toggleExpandirFiltroAtributos(\"panel\" + index.toString())}>\r\n } aria-controls={\"panel\" + index.toString() + \"d-content\"} id={\"panel\" + index.toString() + \"d-header\"}>\r\n {atributoXcoleccion.Tipo}\r\n\r\n \r\n \r\n
    \r\n\r\n {atributoXcoleccion.Descripciones.map((Descripcion, index2) => {\r\n var atrib = {\r\n [atributoXcoleccion.Tipo]: Descripcion\r\n };\r\n return (\r\n

    \r\n \r\n {Descripcion}\r\n
    \r\n

    \r\n\r\n )\r\n })}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n )\r\n })\r\n :\r\n
    \r\n Sin Resultados\r\n
    \r\n }\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n )\r\n\r\n return GetModal;\r\n}\r\n\r\nconst ExpansionPanel = withStyles({\r\n root: {\r\n border: '1px solid rgba(0, 0, 0, .125)',\r\n boxShadow: 'none',\r\n '&:not(:last-child)': {\r\n borderBottom: 0,\r\n },\r\n '&:before': {\r\n display: 'none',\r\n },\r\n '&$expanded': {\r\n margin: 'auto',\r\n },\r\n },\r\n expanded: {},\r\n})(MuiExpansionPanel);\r\n\r\nconst ExpansionPanelSummary = withStyles({\r\n root: {\r\n backgroundColor: 'rgba(255,255,255)',\r\n borderBottom: '1px solid rgba(0, 0, 0, .125)',\r\n marginBottom: -1,\r\n minHeight: 56,\r\n '&$expanded': {\r\n minHeight: 56,\r\n },\r\n },\r\n content: {\r\n '&$expanded': {\r\n margin: '12px 0',\r\n },\r\n },\r\n expanded: {},\r\n})(MuiExpansionPanelSummary);\r\n\r\nconst ExpansionPanelDetails = withStyles(theme => ({\r\n root: {\r\n padding: theme.spacing(2),\r\n },\r\n}))(MuiExpansionPanelDetails);\r\n\r\nexport default ModalFiltros;","import React, { useState, useEffect } from 'react';\r\nimport styles from 'components/Pedidos/ProductoLista/VistaRapidaProducto.module.css';\r\nimport ReactImageMagnify from 'react-image-magnify';\r\nimport {\r\n Button,\r\n Col,\r\n Row,\r\n} from 'reactstrap';\r\nimport {\r\n Carousel\r\n} from 'element-react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport Fade from '@material-ui/core/Fade';\r\nimport ReactTooltip from 'react-tooltip'\r\n\r\nconst Transition = React.forwardRef(function Transition(props, ref) {\r\n return ;\r\n});\r\n\r\nconst VistaRapidaProducto = (props) => {\r\n const toggleSelect = () => {\r\n if (precioProducto !== undefined) {\r\n if (props.futuro === false || props.producto.fisicaDisponible.reduce((acc, curr) => { return acc + curr.Cantidad }, 0) > 0) {\r\n props.toggleSelectProducto({...props.producto});\r\n setselected(!selected);\r\n } else {\r\n props.alertaPrecio(\"Stock\");\r\n }\r\n } else {\r\n props.alertaPrecio();\r\n }\r\n }\r\n const [precioProducto, setPrecio] = useState(undefined);\r\n const [selected, setselected] = useState(false);\r\n useEffect(() => {\r\n let selected = false;\r\n try {\r\n selected = props.TableValue[props.producto.Linea.IdLinea][props.producto.CodigoColeccion][props.producto.GrupoTalla].Productos[props.producto.ProductoId].Selected;\r\n } catch{ }\r\n setselected(selected);\r\n if (props.producto.Precio) {\r\n let precio = props.producto.Precio.find(precioxProd => {\r\n return precioxProd.GrupoPrecio === props.Cliente.GrupoPrecio;\r\n });\r\n let precioFisicoDisponible = props.producto.fisicaDisponible.find(fsDis=> fsDis.PreciosEspecificos.find(ps=>ps.Precio>0 && ps.GrupoPrecio === props.Cliente.GrupoPrecio))\r\n\r\n if(precioFisicoDisponible){\r\n precio={Precio: precioFisicoDisponible.PreciosEspecificos.find(ps=>ps.Precio>0 && ps.GrupoPrecio === props.Cliente.GrupoPrecio).Precio};\r\n }\r\n if (precio) {\r\n setPrecio(precio);\r\n }\r\n }\r\n // eslint-disable-next-line\r\n }, [props.producto]);\r\n if (props.imagenProducto === '' && props.visible) {\r\n if(props.producto.ListaImagenes && props.producto.ListaImagenes.length > 0)\r\n {\r\n props.changeImageProducto(props.producto.ListaImagenes[0].FotografiaProducto);\r\n }\r\n else\r\n {\r\n props.changeImageProducto(null);\r\n }\r\n }\r\n if (!props.visible) {\r\n return null;\r\n }\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n {\r\n props.producto.ListaImagenes.length === 0 ?\r\n \r\n {\"Foto\r\n :\r\n props.producto.ListaImagenes.map((item, index) => {\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\n
    \r\n

    {props.producto.NombreProducto}

    \r\n
    {'Codigo: '} {props.producto.ProductoId}
    \r\n
    \r\n\r\n \r\n \r\n
    Detalle del Producto
    \r\n \r\n\r\n \r\n\r\n {props.producto.AtributosXProducto.map((element, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
    {element.Tipo}{element.Descripcion}
    \r\n \r\n \r\n\r\n
    Colores Disponibles
    \r\n \r\n\r\n \r\n\r\n {props.producto.ListaColores.map((element, index) => {\r\n var colorId = \"color\" + index;\r\n\r\n let color = \"#fff\"\r\n if (element.Color !== '0' && element.Color !== null) {\r\n color = decimalColorToHTMLcolor(element.Color);\r\n }\r\n return (\r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n \r\n {element.NombreColor}\r\n \r\n
    \r\n\r\n\r\n )\r\n })}\r\n\r\n
    \r\n \r\n

    \r\n
    Tallas Disponibles
    \r\n \r\n\r\n \r\n\r\n {props.producto.ListaTalla.map((element, index) => {\r\n return (\r\n\r\n
    \r\n

    {element.Talla}

    \r\n\r\n
    \r\n\r\n )\r\n })}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n
    \r\n \r\n\r\n );\r\n}\r\n\r\nconst decimalColorToHTMLcolor = (number) => {\r\n //converts to a integer\r\n var intnumber = number - 0;\r\n\r\n // isolate the colors - really not necessary\r\n var red, green, blue;\r\n\r\n // needed since toString does not zero fill on left\r\n var template = \"#000000\";\r\n\r\n // in the MS Windows world RGB colors\r\n // are 0xBBGGRR because of the way Intel chips store bytes\r\n red = (intnumber & 0x0000ff) << 16;\r\n green = intnumber & 0x00ff00;\r\n blue = (intnumber & 0xff0000) >>> 16;\r\n\r\n // mask out each color and reverse the order\r\n intnumber = red | green | blue;\r\n\r\n // toString converts a number to a hexstring\r\n var HTMLcolor = intnumber.toString(16);\r\n\r\n //template adds # for standard HTML #RRGGBB\r\n HTMLcolor = template.substring(0, 7 - HTMLcolor.length) + HTMLcolor;\r\n\r\n return HTMLcolor;\r\n}\r\nexport default VistaRapidaProducto;","import React from 'react';\r\nimport ReactTextTransition, { presets } from \"react-text-transition\";\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport styles from \"components/Pedidos/Global/CeldaTallas.module.css\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\n\r\nconst CeldaTallas = (props) => {\r\n const [Focused, setFocused] = React.useState(null);\r\n const [Disponible, setDisponible] = React.useState(props.disponible);\r\n const urlApi = APIURL;\r\n const onFocus = () => {\r\n setFocused(true);\r\n props.onFocus();\r\n //CheckStock(props.codigoProducto, props.codigoColor, props.codigoTalla);\r\n }\r\n\r\n const alertaFisicoDisponible = () => {\r\n return Swal.fire({\r\n title: 'Alerta',\r\n text: \"Excede el fisico disponible \",\r\n type: 'warning',\r\n showConfirmButton: false,\r\n timer: 1500\r\n });\r\n }\r\n\r\n const esMultiplo = (multiplo, cantidad) => {\r\n let result = cantidad % multiplo;\r\n return result === 0;\r\n }\r\n\r\n // eslint-disable-next-line\r\n const onBlur = (text, codigoProducto, codigoColor, codigoTalla, precio) => {\r\n const valor = (text.target.validity.valid) ? text.target.value : 0;\r\n\r\n props.CrearDetallePedidoOnline(codigoProducto, codigoColor, codigoTalla.slice(1), valor, precio);\r\n setFocused(false)\r\n props.onBlur();\r\n }\r\n\r\n // eslint-disable-next-line\r\n const CheckStock = async (codigoProducto, colorId, tallaId) => {\r\n if (navigator.onLine) {\r\n\r\n\r\n fetch(urlApi + `/api/FisicoDisponible?ProductoId=${encodeURI(codigoProducto)}&CodigoColor=${encodeURI(colorId)}&CodigoTalla=${encodeURI(tallaId.slice(1))}`, {\r\n method: 'GET',\r\n })\r\n .then(res => {\r\n if (res.status === 200) {\r\n res.json().then(\r\n (result) => {\r\n // let num = ~~((Math.random() * 10) + 1);\r\n setDisponible(result.fisicaDisponible);\r\n },\r\n )\r\n }\r\n })\r\n }\r\n }\r\n\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n background: 'red',\r\n timer: 3000,\r\n })\r\n\r\n\r\n const alertaMultiplo = (multiplo) => {\r\n\r\n Toast.fire({\r\n title: `Cantidad ingresada no es multiplo ${multiplo}`,\r\n icon: 'error'\r\n });\r\n }\r\n\r\n const handleChange = (text, codigoProducto, codigoColor, grupoTalla, codigoTalla, precio) => {\r\n const cantidad = isNaN(parseInt(text.target.value)) ? 0 : parseInt(text.target.value);\r\n\r\n if (!props.NoEsFuturo && props.disponible < cantidad && props.stockVisibleFuturo) {\r\n if (props.cantidadMinima === 0) {\r\n return alertaFisicoDisponible();\r\n }\r\n }\r\n\r\n if (props.NoEsFuturo && props.disponible < cantidad) {\r\n if (props.cantidadMinima === 0) {\r\n return alertaFisicoDisponible();\r\n }\r\n }\r\n\r\n if (props.cantidadMinima > 0) {\r\n if (esMultiplo(props.cantidadMinima, cantidad) && cantidad > props.disponible) {\r\n if (!props.NoEsFuturo) {\r\n text.target.value = cantidad;\r\n } else {\r\n text.target.value = props.disponible;\r\n }\r\n props.onChange(text, codigoProducto, codigoColor, grupoTalla, codigoTalla, precio);\r\n return;\r\n }\r\n }\r\n\r\n props.onChange(text, codigoProducto, codigoColor, grupoTalla, codigoTalla, precio);\r\n }\r\n\r\n const agregarAlCarrito = () => {\r\n if (props.agregarProducto) {\r\n props.agregarProducto();\r\n }\r\n }\r\n\r\n const handleMultiplo = (text, codigoProducto, codigoColor, grupoTalla, codigoTalla, precio) => {\r\n const cantidad = isNaN(parseInt(text.target.value)) ? 0 : parseInt(text.target.value);\r\n\r\n if (props.cantidadMinima === 0 && cantidad > 0) {\r\n agregarAlCarrito();\r\n }\r\n\r\n if (props.cantidadMinima > 0 && cantidad > 0) {\r\n if (esMultiplo(props.cantidadMinima, cantidad)) {\r\n agregarAlCarrito();\r\n } else {\r\n if (cantidad === props.disponible) {\r\n agregarAlCarrito();\r\n return;\r\n }\r\n\r\n alertaMultiplo(props.cantidadMinima);\r\n text.target.value = 0;\r\n props.onChange(text, codigoProducto, codigoColor, grupoTalla, codigoTalla, precio);\r\n }\r\n }\r\n setFocused(false)\r\n props.onBlur();\r\n }\r\n\r\n const isDisabled = () => { \r\n if (props.Deshabilitado) {\r\n return true;\r\n }\r\n\r\n if (props.precio === 0) {\r\n return true;\r\n }\r\n\r\n if (props.NoEsFuturo) {\r\n if (props.hasBackOrder === 'N' || props.hasBackOrder === 'n') {\r\n if (props.disponible === 0) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const clickEnCelda = () => {\r\n if (props.setListaImagenesPrincipal !== null && props.color !== null) {\r\n props.setListaImagenesPrincipal(props.color);\r\n }\r\n\r\n if (props.setColor) {\r\n props.setColor(props.color);\r\n }\r\n }\r\n\r\n return (\r\n \r\n
    \r\n {\r\n (props.NoEsFuturo || props.stockVisibleFuturo) &&\r\n <>\r\n
    \r\n {/*
    \r\n
    \r\n {\"Stock: \"}\r\n
    \r\n\r\n
    */}\r\n
    \r\n {/*
    */}\r\n
    \r\n Stock: \r\n
    \r\n
    \r\n
    \r\n {\r\n (props.hasBackOrder !== 'N' && props.hasBackOrder !== 'n') ?\r\n
    \r\n {/*
    \r\n
    \r\n {\"BackO: \"}\r\n
    \r\n
    */}\r\n
    \r\n\r\n {/*
    */}\r\n
    \r\n {props.backorder}\r\n
    \r\n
    \r\n
    \r\n : null\r\n }\r\n\r\n \r\n\r\n }\r\n\r\n\r\n
    \r\n {/*
    \r\n
    \r\n {\"Precio: \"}\r\n
    \r\n\r\n
    */}\r\n
    \r\n {/*
    */}\r\n
    \r\n Precio: {props.precio.toFixed(2)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n onFocus()}\r\n onKeyDownCapture={(event) => props.handleArrowKeys(event)}\r\n onBlurCapture={(text) => handleMultiplo(text, props.codigoProducto, props.codigoColor, props.grupoTalla, props.codigoTalla, props.precio)}\r\n type=\"text\"\r\n ref={props.ref}\r\n pattern=\"[0-9]*\"\r\n placeholder={\"0\"}\r\n maxLength={4}\r\n value={props.cantidad}\r\n style={{ maxWidth: \"100%\", border: 'none', textAlign: 'center', width: '100%' }}\r\n onChange={(text) => handleChange(text, props.codigoProducto, props.codigoColor, props.grupoTalla, props.codigoTalla, props.precio)}\r\n />\r\n \r\n );\r\n}\r\nexport default CeldaTallas;","import React from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport InboxIcon from '@material-ui/icons/Inbox';\r\n\r\nexport const ColorSinStockModal = props => {\r\n const { open, colores, close } = props;\r\n\r\n return (\r\n \r\n \r\n
    \r\n Colores sin stock\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {colores.map((color) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    CodigoColorDescripcion
    {color.CodigoColor}{color.NombreColor}Sin Stock
    \r\n
    \r\n \r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport styles from 'components/Pedidos/MatrizResumen/MatrizResumen.module.css';\r\nimport CeldaTallas from \"components/Pedidos/Global/CeldaTallas\";\r\nimport PopupState, { bindTrigger, bindPopover } from 'material-ui-popup-state';\r\nimport { Popover, Box, Typography } from \"@material-ui/core\";\r\nimport { InfoOutlined } from \"@material-ui/icons\";\r\nimport Lightbox from 'react-image-lightbox';\r\nimport 'react-image-lightbox/style.css';\r\nimport { FaEye } from \"react-icons/fa\";\r\nimport { FiTrash2 } from 'react-icons/fi';\r\nimport { Chip } from '@material-ui/core';\r\nimport { ColorSinStockModal } from './ColorSinStockModal';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport axios from 'axios';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { useSelector } from 'react-redux';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nconst TablaVistaProducto = (props) => { \r\n const [SelectedImage, setSelectedImage] = useState(0);\r\n const [imagenes, setImagenes] = useState([]);\r\n const [IsOpen, setIsOpen] = useState(false);\r\n const [colorSeleccionado, setColorSeleccionado] = useState(\"\");\r\n const [colorFiltrado, setColorFiltrado] = useState([]);\r\n const [showFiltro, setShowFiltro] = useState(false);\r\n const [showFiltroStock, setShowFiltroStock] = useState(true);\r\n const [listaColoresCopia, setListaColoresCopia] = useState([]);\r\n const [openColores, setOpenColores] = useState(false);\r\n const [isChecked, setIsChecked] = useState(false);\r\n const [isInOut, setIsInOut] = useState(false);\r\n const [isDeshabilitado, setisDeshabilitado] = useState(false);\r\n const [isNuevo, setisNuevo] = useState(false);\r\n const [piezasSueltas, setPiezaSuelta] = useState(false);\r\n const [prioridadProducto, setPrioridadProducto] = useState(0);\r\n const permisos = useSelector(e => e.Permisos[0]);\r\n const Coleccion = useSelector(e => e.coleccion);\r\n\r\n useEffect(() => {\r\n setIsChecked(props.producto.StockVisible);\r\n setIsInOut(props.producto.InOut);\r\n setisDeshabilitado(props.producto.Deshabilitado);\r\n setPrioridadProducto(props.producto.Prioridad);\r\n setisNuevo(props.producto.Nuevo);\r\n setPiezaSuelta(props.producto.PiezaSuelta);\r\n calcularStockPorColor();\r\n ordenarColores();\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const ordenarColores = () => {\r\n\r\n let listaColores = props.producto.ListaColores;\r\n let productosList = []\r\n\r\n if (showFiltroStock) {\r\n listaColores.sort((a, b) => ((a.StockColor > b.StockColor) ? 1 : -1));\r\n listaColores.sort((a, b) => ((a.Prioridad > b.Prioridad) ? -1 : 1));\r\n productosList = [...listaColores];\r\n } else {\r\n listaColores.sort((a, b) => (a.NombreColor.localeCompare(b.NombreColor)));\r\n listaColores.sort((a, b) => ((a.Prioridad > b.Prioridad) ? -1 : 1));\r\n productosList = [...listaColores]\r\n }\r\n setListaColoresCopia(productosList)\r\n }\r\n\r\n\r\n const calcularStockPorColor = () => {\r\n props.producto.ListaColores.forEach(function (color) {\r\n let stockColor = props.producto.fisicaDisponible.filter((e) => e.CodigoColor === color.CodigoColor).map((s) => s.Cantidad).reduce((a, b) => a + b, 0);\r\n color.StockColor = stockColor;\r\n });\r\n }\r\n\r\n const handleClickshowFiltroStock = () => {\r\n setShowFiltroStock(!showFiltroStock);\r\n ordenarColores()\r\n }\r\n\r\n const onFocus = () => {\r\n\r\n }\r\n\r\n const onBlur = () => {\r\n\r\n }\r\n\r\n const onMostrar = async () => {\r\n try {\r\n let request = await axios.post(`${APIURL}/api/ColeccionesXLinea/productoStock/${props.producto.CodigoProducto}`);\r\n props.producto.StockVisible = request.request.response === \"true\" ? true : false;\r\n\r\n Coleccion.Edades.forEach(edad => {\r\n let producto = edad.ProductosXEdad.find(p => p.CodigoProducto === props.producto.CodigoProducto);\r\n if (producto) {\r\n producto.StockVisible = props.producto.StockVisible;\r\n }\r\n })\r\n setIsChecked(props.producto.StockVisible);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error: \" + err)\r\n }\r\n }\r\n\r\n const inOut = async () => {\r\n try {\r\n let request = await axios.post(`${APIURL}/api/Product/actualizarInOutProducto/${props.producto.ProductoId}/${Coleccion.CodigoColeccion}`);\r\n if (request.status === 200) {\r\n Coleccion.Edades.forEach(edad => {\r\n let producto = edad.ProductosXEdad.find(p => p.CodigoProducto === props.producto.CodigoProducto);\r\n if (producto) {\r\n producto.InOut = !props.producto.InOut;\r\n }\r\n })\r\n setIsInOut(!isInOut);\r\n }\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error: \" + err)\r\n }\r\n }\r\n\r\n const nuevo = async () => {\r\n try {\r\n let request = await axios.post(`${APIURL}/api/Product/actualizarNuevoProducto/${props.producto.ProductoId}/${Coleccion.CodigoColeccion}`);\r\n if (request.status === 200) {\r\n Coleccion.Edades.forEach(edad => {\r\n let producto = edad.ProductosXEdad.find(p => p.CodigoProducto === props.producto.CodigoProducto);\r\n if (producto) {\r\n producto.Nuevo = !props.producto.Nuevo;\r\n }\r\n })\r\n setisNuevo(!isNuevo);\r\n }\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error: \" + err)\r\n }\r\n }\r\n\r\n const piezaSuelta = async () => {\r\n try {\r\n let request = await axios.post(`${APIURL}/api/Product/actualizarPiezaSueltaProducto/${props.producto.ProductoId}/${Coleccion.CodigoColeccion}`);\r\n if (request.status === 200) {\r\n Coleccion.Edades.forEach(edad => {\r\n let producto = edad.ProductosXEdad.find(p => p.CodigoProducto === props.producto.CodigoProducto);\r\n if (producto) {\r\n producto.PiezaSuelta = !props.producto.PiezaSuelta;\r\n }\r\n })\r\n setPiezaSuelta(!piezasSueltas);\r\n }\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error: \" + err)\r\n }\r\n }\r\n\r\n const deshabilitar = async () => {\r\n try {\r\n let request = await axios.post(`${APIURL}/api/Product/activarDeshabilitarPrducto/${props.producto.ProductoId}/${Coleccion.CodigoColeccion}`);\r\n\r\n if (request.status === 200) {\r\n Coleccion.Edades.forEach(edad => {\r\n let producto = edad.ProductosXEdad.find(p => p.CodigoProducto === props.producto.CodigoProducto);\r\n if (producto) {\r\n producto.Deshabilitado = !props.producto.Deshabilitado;\r\n }\r\n })\r\n setisDeshabilitado(!isDeshabilitado);\r\n }\r\n\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error: \" + err)\r\n }\r\n\r\n }\r\n\r\n const deshabilitarColor = async (IdColorxProducto) => {\r\n try {\r\n let request = await axios.post(`${APIURL}/api/Product/activasDeshabilitarColorPrducto/${IdColorxProducto}`);\r\n console.log(request);\r\n\r\n if (request.status === 200) {\r\n\r\n let colorOriginal = props.producto.ListaColores.find(p => p.IdColorxProducto === IdColorxProducto);\r\n colorOriginal.Deshabilitado = !colorOriginal.Deshabilitado;\r\n\r\n ordenarColores()\r\n\r\n Toast.fire({\r\n type: 'success',\r\n title: 'ActualizaciĆ³n exitosa',\r\n customClass: {\r\n container: styles.ToastOnTopModal,\r\n }\r\n });\r\n }\r\n\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error: \" + err)\r\n }\r\n\r\n }\r\n\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n const actualizarPrioridad = async (prioridad) => {\r\n try {\r\n let request = await axios.post(`${APIURL}/api/Product/actualizarPrioridadProducto/${props.producto.ProductoId}/${Coleccion.CodigoColeccion}/${prioridad}`);\r\n\r\n if (request.status === 200) {\r\n Coleccion.Edades.forEach(edad => {\r\n let producto = edad.ProductosXEdad.find(p => p.CodigoProducto === props.producto.CodigoProducto);\r\n if (producto) {\r\n producto.Prioridad = prioridad;\r\n }\r\n })\r\n setPrioridadProducto(prioridad);\r\n Toast.fire({\r\n type: 'success',\r\n title: 'Se Actualizo la prioridad del producto a ' + prioridad + ' con exito',\r\n customClass: {\r\n container: styles.ToastOnTopModal,\r\n }\r\n });\r\n }\r\n\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error: \" + err)\r\n }\r\n\r\n }\r\n\r\n const actualizarPrioridadColor = async (prioridad, IdColorxProducto) => {\r\n try {\r\n let request = await axios.post(`${APIURL}/api/Product/actualizarPrioridadColorProducto/${IdColorxProducto}/${prioridad}`);\r\n\r\n if (request.status === 200) {\r\n\r\n let color = listaColoresCopia.find(p => p.IdColorxProducto === IdColorxProducto);\r\n color.Prioridad = prioridad;\r\n\r\n let colorOriginal = props.producto.ListaColores.find(p => p.IdColorxProducto === IdColorxProducto);\r\n colorOriginal.Prioridad = prioridad;\r\n\r\n setListaColoresCopia(listaColoresCopia);\r\n\r\n ordenarColores()\r\n\r\n Toast.fire({\r\n type: 'success',\r\n title: 'Se Actualizo la prioridad del color a ' + prioridad + ' con exito',\r\n customClass: {\r\n container: styles.ToastOnTopModal,\r\n }\r\n });\r\n }\r\n\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error: \" + err)\r\n }\r\n\r\n }\r\n\r\n const handleArrowKeys = (event) => {\r\n if (event.keyCode === 39) {\r\n const form = event.target.form;\r\n const index = Array.prototype.indexOf.call(form, event.target);\r\n if (form.elements[index + 1]) {\r\n form.elements[index + 1].focus();\r\n }\r\n event.preventDefault();\r\n }\r\n else if (event.keyCode === 37) {\r\n const form = event.target.form;\r\n const index = Array.prototype.indexOf.call(form, event.target);\r\n if (form.elements[index - 1]) {\r\n form.elements[index - 1].focus();\r\n }\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n const Headers = (array) => {\r\n return (\r\n \r\n \r\n {\r\n array.map((dist, index) => {\r\n return (\r\n {dist.NombreTalla}\r\n )\r\n })\r\n }\r\n \r\n\r\n \r\n )\r\n }\r\n\r\n const TableBody = (array) => {\r\n return (\r\n \r\n \r\n {\r\n array.map((dist, index) => {\r\n return (\r\n {dist.Cantidad}\r\n )\r\n })\r\n }\r\n \r\n \r\n )\r\n }\r\n\r\n const checkDist = () => {\r\n let found = false;\r\n props.producto.ListaTalla.map((talla, index) => {\r\n talla.Distribucion.map(dist => {\r\n found = true;\r\n return false;\r\n })\r\n return false;\r\n })\r\n return found;\r\n }\r\n\r\n let IsDist = checkDist();\r\n\r\n const openImagenes = (color) => {\r\n const imagenesColor = props.producto.ListaColores.filter(e => e.NombreColor === color);\r\n\r\n if (imagenesColor[0].ListaImagenes.length === 0) return false;\r\n\r\n setImagenes(imagenesColor[0].ListaImagenes);\r\n setIsOpen(true);\r\n }\r\n\r\n const handleClickColorFiltrado = (color) => {\r\n if (colorFiltrado.includes(color)) {\r\n let colorFiltradoCopia = colorFiltrado;\r\n let index = colorFiltradoCopia.indexOf(color);\r\n colorFiltradoCopia.splice(index, 1);\r\n setColorFiltrado(colorFiltradoCopia);\r\n\r\n if (colorFiltradoCopia.length === 0) {\r\n setListaColoresCopia(props.producto.ListaColores);\r\n } else {\r\n setListaColoresCopia(props.producto.ListaColores.filter(x => colorFiltradoCopia.includes(x.NombreColor)));\r\n }\r\n\r\n } else {\r\n const nuevosColoresFiltrados = [...colorFiltrado, color];\r\n setColorFiltrado(nuevosColoresFiltrados);\r\n setListaColoresCopia(props.producto.ListaColores.filter(x => nuevosColoresFiltrados.includes(x.NombreColor)));\r\n }\r\n }\r\n\r\n const handleClickShowFiltro = () => {\r\n setShowFiltro(!showFiltro)\r\n }\r\n\r\n const handleClickDeleteFiltro = () => {\r\n setColorFiltrado([]);\r\n setListaColoresCopia(props.producto.ListaColores);\r\n }\r\n\r\n const handleClickColores = () => {\r\n setOpenColores(!openColores);\r\n }\r\n return (\r\n
    \r\n {props.producto.ListaColoresSinStock.length > 0 &&

    Otros Colores

    }\r\n {props.producto.ListaColores.length > 1 &&

    {showFiltro ? \"Ocultar Filtro -\" : \"Filtrar colores +\"}

    }\r\n {colorFiltrado.length > 0 && }\r\n />}\r\n {showFiltro && }\r\n \r\n\r\n {\r\n permisos.AdministradorProductos && (\r\n <>\r\n
    \r\n );\r\n}\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nconst ListaColores = props => {\r\n const { colores, handleColorFiltrado, colorFiltrado } = props;\r\n\r\n return (\r\n
      \r\n {colores.map(x => (\r\n \r\n ))}\r\n
    \r\n )\r\n}\r\n\r\nconst ListItem = props => {\r\n\r\n const handleClick = () => {\r\n props.handleColorFiltrado(props.color)\r\n }\r\n\r\n return
  • {props.color}
  • \r\n}\r\n\r\n// const numberWithCommasNoDec = (x) => {\r\n// var parts = x.toString().split(\".\");\r\n// parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n// return parts.join(\".\");\r\n// }\r\n\r\nexport default TablaVistaProducto;","import React, { useEffect, useState } from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport { MdKeyboardArrowLeft, MdKeyboardArrowRight } from \"react-icons/md\";\r\nimport { IoIosArrowRoundBack, IoIosArrowRoundForward } from \"react-icons/io\";\r\nimport styles from 'components/Pedidos/ProductoDetalle/VistaProducto.module.css';\r\nimport stylesD from 'components/Pedidos/ProductoLista/Producto.module.css';\r\nimport 'slick-carousel/slick/slick-theme.css';\r\nimport 'slick-carousel/slick/slick.css';\r\n\r\nconst SliderFunction = (props) => {\r\n let slider1 = null;\r\n let slider2 = null;\r\n\r\n const [state, setState] = useState({\r\n nav1: null,\r\n nav2: null,\r\n imagenes: [],\r\n isInfinite: false,\r\n multipleImages: false,\r\n });\r\n\r\n\r\n const getImages = () => {\r\n let imagenes = [...props.ListaImagenes]\r\n return imagenes;\r\n }\r\n\r\n useEffect(() => {\r\n let imagenes = getImages()\r\n let isInfinite = false;\r\n let multipleImages = false;\r\n\r\n if (imagenes.length > 4) {\r\n isInfinite = true;\r\n }\r\n\r\n if (imagenes.length > 1) {\r\n multipleImages = true;\r\n }\r\n\r\n setState({\r\n nav1: slider1,\r\n nav2: slider2,\r\n imagenes: imagenes,\r\n isInfinite: isInfinite,\r\n multipleImages: multipleImages,\r\n });\r\n\r\n // eslint-disable-next-line\r\n }, [props.ListaImagenes]);\r\n\r\n let PrimaryCarouselSettings = {\r\n lazyLoad: true,\r\n fade: true,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n focusOnSelect: true,\r\n nextArrow: ,\r\n prevArrow: \r\n };\r\n\r\n let SecondaryCarouselSettings = {\r\n slidesToShow: props.ListaImagenes.length,\r\n lazyLoad: true,\r\n slidesToScroll: 1,\r\n swipeToSlide: true,\r\n focusOnSelect: true,\r\n nextArrow: ,\r\n prevArrow: \r\n }\r\n\r\n if (state.isInfinite) {\r\n SecondaryCarouselSettings = { ...SecondaryCarouselSettings, infinite: true, }\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n (slider1 = slider)}\r\n >\r\n {\r\n state.imagenes.map((imagen, index) => {\r\n return (\r\n <>\r\n
    \r\n {props.ListaImagenes.Deshabilitado &&
    Cerrado
    }\r\n \"foto\"\r\n
    \r\n \r\n );\r\n })\r\n }\r\n
    \r\n
    \r\n {\r\n state.multipleImages &&\r\n
    \r\n (slider2 = slider)}\r\n >\r\n {\r\n state.imagenes.map((imagen, index) => {\r\n return (\r\n
    \r\n \"foto\"\r\n
    \r\n );\r\n })\r\n }\r\n
    \r\n
    \r\n }\r\n
    \r\n

    {props.color}

    \r\n \r\n )\r\n}\r\n\r\nexport default SliderFunction;\r\n\r\n\r\n\r\nconst PrimaryNextArrow = (props) => {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst PrimaryPrevArrow = (props) => {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst SecondaryNextArrow = (props) => {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst SecondaryPrevArrow = (props) => {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport styles from \"components/Pedidos/ProductoDetalle/RelatedProduct.module.css\";\r\nimport Img from 'react-image';\r\nimport { ScaleLoader } from 'react-spinners';\r\nimport notFound from 'assets/nodisponible.png';\r\nimport { Card, } from 'reactstrap';\r\nimport { MdCheck } from \"react-icons/md\";\r\n\r\n\r\nconst Producto = (props) => {\r\n\r\n let stockDisponible = 0;\r\n \r\n if(!props.producto.CodigoColeccion.includes('F')){\r\n stockDisponible = props.producto.fisicaDisponible.reduce((a,b)=>(a+b.Cantidad),0);\r\n }\r\n \r\n useEffect(() => {\r\n\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n let selectableClassName = styles.selectable;\r\n\r\n if (props.current) {\r\n selectableClassName += \" \" + styles.selected\r\n }\r\n\r\n return (\r\n //className=\"col-xl-3 col-md-6 col-lg-4 col-sm-6 col-12\"\r\n
    \r\n \r\n
    \r\n \r\n }\r\n />\r\n\r\n
    \r\n
    \r\n
    \r\n {props.producto.NombreProducto}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {props.producto.ProductoId}\r\n
    \r\n
    \r\n {(stockDisponible>0)&&
    \r\n
    \r\n {\"Disponible: \"+stockDisponible}\r\n
    \r\n
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n {props.index + 1}\r\n / \r\n {props.length}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nconst areEqual = (prevProps, nextProps) => {\r\n return false;\r\n}\r\nexport default React.memo(Producto, areEqual);","import React,{useEffect,useRef} from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport Producto from \"components/Pedidos/ProductoDetalle/RelatedProduct\";\r\nimport { MdKeyboardArrowLeft, MdKeyboardArrowRight } from \"react-icons/md\";\r\nimport {useSelector} from 'react-redux';\r\n\r\nconst Carousel = (props) => {\r\n const producto = useSelector(e=>e.producto);\r\n const mySlider = useRef()\r\n\r\n const settings = {\r\n infinite: false,\r\n lazyLoad: true,\r\n speed: 500,\r\n slidesToShow: 4,\r\n slidesToScroll: 4,\r\n nextArrow: ,\r\n prevArrow: ,\r\n responsive: [\r\n {\r\n breakpoint: 1124,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 3,\r\n }\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 2,\r\n }\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n }\r\n }\r\n ]\r\n };\r\n\r\n const checkCurrent = (producto) => {\r\n if (producto.ProductoId === props.producto.ProductoId) {\r\n return true\r\n }\r\n else {\r\n return false\r\n }\r\n }\r\n\r\n useEffect(()=>{\r\n if(mySlider.current!==undefined){\r\n mySlider.current.slickGoTo(Number(localStorage.getItem(\"PosicionProducto\")));\r\n }\r\n },[])\r\n\r\n if (props.ListaProductos) {\r\n\r\n return (\r\n \r\n {\r\n props.ListaProductos.filter(x => !x.Deshabilitado).map((product, index) => {\r\n if(product.CodigoProducto === producto.CodigoProducto){\r\n localStorage.setItem(\"PosicionProducto\", Number(index))\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 return null;\r\n\r\n}\r\n\r\n\r\nconst PrimaryNextArrow = (props) => {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst PrimaryPrevArrow = (props) => {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default Carousel;","import React from 'react'\r\nimport { FiTrash2 } from 'react-icons/fi';\r\nimport { ThemeProvider, Chip } from '@material-ui/core';\r\nimport { createMuiTheme } from '@material-ui/core/styles';\r\nimport { MdFilterList } from 'react-icons/md';\r\n\r\nimport styles from 'components/Pedidos/ProductoLista/FiltroChips.module.css'\r\n\r\nconst theme = createMuiTheme({\r\n palette: {\r\n secondary: { main: '#dc3545' },\r\n },\r\n});\r\n\r\nconst FiltroChips = (props) => {\r\n\r\n let chips = null;\r\n\r\n if (props.filtroActivo) {\r\n chips = (\r\n
    \r\n {/*
    \r\n Filtros:\r\n
    */}\r\n {/* {className=\"col-lg-11 col-10 p-0\"} */}\r\n
    \r\n \r\n\r\n {\r\n Object.keys(props.filtroAtributos).map((categ, indCateg) => {\r\n\r\n return props.filtroAtributos[categ].map((filtro, ind) => {\r\n return (\r\n props.handleDeleteFiltros(categ, filtro)}\r\n label={categ.charAt(0).toUpperCase() + categ.slice(1).toLowerCase() + \" / \" + filtro}\r\n icon={}\r\n />\r\n )\r\n });\r\n })\r\n }\r\n {\r\n props.filtroEdad !== null &&\r\n props.setFiltroEdad(null)}\r\n icon={}\r\n />\r\n }\r\n {\r\n props.filtroActivo &&\r\n props.handleDeleteAllFiltros()}\r\n icon={}\r\n />\r\n }\r\n\r\n \r\n
    \r\n
    \r\n )\r\n }\r\n else if (props.filtroEdad !== null) {\r\n chips = (\r\n
    \r\n {/*
    \r\n Filtros:\r\n
    */}\r\n {/* className=\"col-lg-11 col-10 p-0\" */}\r\n
    \r\n \r\n props.setFiltroEdad(null)}\r\n icon={}\r\n />\r\n \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n return chips;\r\n}\r\n\r\n\r\nexport default FiltroChips;","import React from 'react';\r\nimport Carousel from \"components/Pedidos/ProductoDetalle/RelatedSlider\";\r\nimport SearchButton from 'components/Pedidos/ProductoLista/SearchButton'\r\nimport ModalFiltros from '../ProductoLista/ModalFiltros';\r\nimport FiltroChips from '../ProductoLista/FiltroChips';\r\nimport { Add } from '@material-ui/icons';\r\nimport { Fab } from '@material-ui/core';\r\nimport styles from 'components/Pedidos/ProductoDetalle/RelatedContainer.module.scss'\r\n\r\nconst filtro = (arrayAtributosXProducto, filtroAtributos) => {\r\n var tipos = Object.keys(filtroAtributos);\r\n if (tipos.length === 0) {\r\n return true;\r\n }\r\n var atributoSeleccionados = Object.values(filtroAtributos).find(arraydDescripcion => (arraydDescripcion.length > 0));\r\n if (!atributoSeleccionados) {\r\n return true;\r\n }\r\n\r\n return tipos.find(type => {\r\n\r\n return filtroAtributos[type].find((filtroAtributo) => {\r\n return arrayAtributosXProducto.find(atributoProducto => (filtroAtributo === atributoProducto.Descripcion));\r\n });\r\n });\r\n}\r\n\r\nconst Productos = (props) => {\r\n const [TextboxValue, setTextboxValue] = React.useState(\"\");\r\n let isFuture = false;\r\n if (props.coleccion.ColeccionTipo === \"F\" || props.coleccion.ColeccionTipo === 'f') {\r\n isFuture = true;\r\n };\r\n\r\n let productosList = [];\r\n\r\n const onChangeSearch = (text) => {\r\n setTextboxValue(text);\r\n }\r\n\r\n const onSearchClear = (text) => {\r\n setTextboxValue(\"\");\r\n }\r\n\r\n const SoldOut = (producto) => {\r\n let encontrado = false;\r\n let cantidad = 0;\r\n producto.fisicaDisponible.map(disponible => {\r\n cantidad += disponible.Cantidad;\r\n return false;\r\n })\r\n\r\n if (cantidad === 0) {\r\n encontrado = true\r\n }\r\n\r\n return encontrado;\r\n }\r\n\r\n const searched = (product, texto) => {\r\n if (texto === '') {\r\n return true;\r\n }\r\n let foundName = false;\r\n let foundAttribute = false;\r\n\r\n foundName = product.NombreProducto.toLowerCase().includes(texto.toLowerCase());\r\n\r\n product.AtributosXProducto.map(atributo => {\r\n let encontrado = atributo.Descripcion.toLowerCase().includes(texto.toLowerCase());\r\n\r\n if (encontrado) {\r\n foundAttribute = true\r\n }\r\n\r\n return false;\r\n });\r\n\r\n let found = foundName || foundAttribute;\r\n\r\n return found;\r\n }\r\n\r\n props.coleccion.Edades.map((edad) => {\r\n if(props.filtroEdad === \"Sueltas\"){\r\n edad.ProductosXEdad.map((producto) => {\r\n\r\n if (isFuture || !props.NoStock) {\r\n let encontrado = searched(producto, TextboxValue);\r\n\r\n if (encontrado) {\r\n if (props.Linea.IdLinea === producto.Linea.IdLinea && filtro(producto.AtributosXProducto, props.filtroAtributos) && producto.PiezaSuelta) {\r\n let productoConEdad = { ...producto, IdEdad: edad.IdEdad, Edad: edad.Edad };\r\n productosList.push(productoConEdad);\r\n return true;\r\n }\r\n }\r\n }\r\n else {\r\n\r\n let Sold = SoldOut(producto);\r\n\r\n if (!Sold) {\r\n\r\n let encontrado = searched(producto, TextboxValue);\r\n\r\n if (encontrado) {\r\n if (props.Linea.IdLinea === producto.Linea.IdLinea && filtro(producto.AtributosXProducto, props.filtroAtributos) && producto.PiezaSuelta) {\r\n let productoConEdad = { ...producto, IdEdad: edad.IdEdad, Edad: edad.Edad };\r\n productosList.push(productoConEdad);\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n })\r\n }else{\r\n if (props.filtroEdad === null || props.filtroEdad === edad.IdEdad) {\r\n edad.ProductosXEdad.map((producto) => {\r\n\r\n if (isFuture || !props.NoStock) {\r\n let encontrado = searched(producto, TextboxValue);\r\n\r\n if (encontrado) {\r\n if (props.Linea.IdLinea === producto.Linea.IdLinea && filtro(producto.AtributosXProducto, props.filtroAtributos)) {\r\n let productoConEdad = { ...producto, IdEdad: edad.IdEdad, Edad: edad.Edad };\r\n productosList.push(productoConEdad);\r\n return true;\r\n }\r\n }\r\n }\r\n else {\r\n\r\n let Sold = SoldOut(producto);\r\n\r\n if (!Sold) {\r\n\r\n let encontrado = searched(producto, TextboxValue);\r\n\r\n if (encontrado) {\r\n if (props.Linea.IdLinea === producto.Linea.IdLinea && filtro(producto.AtributosXProducto, props.filtroAtributos)) {\r\n let productoConEdad = { ...producto, IdEdad: edad.IdEdad, Edad: edad.Edad };\r\n productosList.push(productoConEdad);\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n })\r\n }\r\n return null;\r\n }\r\n });\r\n\r\n\r\n if (props.coleccion) {\r\n\r\n if (props.coleccion.ColeccionTipo === \"F\" || props.coleccion.ColeccionTipo === 'f') {\r\n productosList.sort((a,b)=>a.ProductoId.localeCompare(b.ProductoId));\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    Productos

    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n Filtros\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\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 Productos;","import React, { useState } from \"react\";\r\nimport { ExpandMore, InfoOutlined } from '@material-ui/icons';\r\nimport { ExpansionPanel, ExpansionPanelDetails, ExpansionPanelSummary } from '@material-ui/core';\r\nimport styles from 'components/Pedidos/ProductoDetalle/VistaProducto.module.css';\r\nimport Base from \"assets/img/Icon/Base.png\";\r\nimport Brand from \"assets/img/Icon/Brand.png\";\r\nimport Category from \"assets/img/Icon/Category.png\";\r\nimport Fabric from \"assets/img/Icon/Fabric.png\";\r\nimport Type from \"assets/img/Icon/Type.png\";\r\n\r\nconst Expandable = (props) => {\r\n const [Expandido, setExpandido] = useState(false);\r\n\r\n const handleChange = panel => (event, isExpanded) => {\r\n setExpandido(isExpanded ? panel : false);\r\n };\r\n\r\n return (\r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n
    InformaciĆ³n
    \r\n\r\n \r\n \r\n {\r\n Expandido &&\r\n <>\r\n
    \r\n
    \r\n {props.producto.AtributosXProducto.map((element, index) => {\r\n let tipo = element.Tipo.toLowerCase();\r\n let icono = null;\r\n switch (tipo) {\r\n case 'base':\r\n icono = Base;\r\n break;\r\n case 'marca':\r\n icono = Brand;\r\n break;\r\n case 'categoria':\r\n icono = Category;\r\n break;\r\n case 'tejido':\r\n icono = Fabric;\r\n break;\r\n case 'tipo':\r\n icono = Type;\r\n break;\r\n default:\r\n icono = Brand;\r\n break;\r\n }\r\n return (\r\n
    \r\n\r\n
    \r\n {\"Icono\"}\r\n
    \r\n
    {element.Tipo}\r\n

    \r\n \r\n {element.Descripcion}\r\n \r\n
    \r\n
    \r\n
    \r\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 Expandable;","import React, { useState } from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\n\r\nexport const DeshabilitarModal = props => {\r\n const { open, deshabilitar, coleccion, empresa, producto, hideDeshabilitar } = props;\r\n\r\n const [codigo, setCodigo] = useState(\"\");\r\n\r\n const handleChangeCodigo = (e) => {\r\n setCodigo(e);\r\n }\r\n\r\n const deshabilitarProducto = () => {\r\n if (codigo === producto) {\r\n deshabilitar();\r\n } else {\r\n alert(\"No son iguales\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n Deshabilitar Producto\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n

    ĀæEsta seguro en deshabilitar el producto de la coleccion {coleccion} para el pais {empresa}?

    \r\n

    Escriba el codigo del producto para confirmar.

    \r\n { handleChangeCodigo(e.target.value) }} />\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n )\r\n}","import React, { useState } from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport axios from 'axios';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\n\r\nexport const EliminarModal = props => {\r\n const { open, hideEliminar, codigoImagen } = props;\r\n\r\n const [codigo, setCodigo] = useState(\"\");\r\n\r\n const handleChangeCodigo = (e) => {\r\n setCodigo(e);\r\n }\r\n\r\n const eliminarImagen = async () => {\r\n try {\r\n await axios.post(`${APIURL}/api/ColeccionesXLinea/eliminarimagen/${codigoImagen}`);\r\n props.ocultarTodo();\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Imagen eliminada con exito.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok'\r\n }).then(() => {\r\n localStorage.removeItem(\"ColeccionSeleccionada\");\r\n localStorage.removeItem(\"HoraIngreso\");\r\n //props.navegar.history.push(\"/Pedidos/Colecciones\")\r\n });\r\n\r\n } catch (err) {\r\n props.ocultarTodo();\r\n let mensaje = \"Ha ocurrido un error y no se pudo eliminar la imagen.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok'\r\n });\r\n }\r\n }\r\n\r\n const handleEliminar = () => {\r\n if (codigo === codigoImagen.toString()) {\r\n eliminarImagen();\r\n } else {\r\n alert(\"Codigo de imagen no coincide\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n Eliminar imagen producto\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n

    ĀæEsta seguro en eliminar la imagen?

    \r\n

    Escriba el codigo de la imagen para confirmar.

    \r\n { handleChangeCodigo(e.target.value) }} />\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport { EliminarModal } from './EliminarModal';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\n\r\nexport const EliminarImagenModal = props => {\r\n const { open, hideEliminar, listaImagenes, listaColores, codigoProducto, navegar } = props;\r\n const [imagenesProducto, setImagenesProducto] = useState([]);\r\n const [imagenesColor, setImagenesColor] = useState([]);\r\n const [imagen, setImagen] = useState('');\r\n const [mostrar, setMostrar] = useState(false);\r\n const [codigoImagen, setCodigoImagen] = useState(0);\r\n\r\n const obtenerImagenes = () => {\r\n\r\n if (listaImagenes.length > 0) {\r\n let listaImagenesData = listaImagenes.map(x => ({ IdFotografia: x.IdFotografia, Fotografia: x.FotografiaProducto, Nombre: x.NombreFotografia, CodigoColor: x.CodigoColor }));\r\n setImagenesProducto(listaImagenesData);\r\n }\r\n\r\n if (listaColores.length > 0) {\r\n let listaImagenesData = [];\r\n listaColores.forEach(color => {\r\n if (color.ListaImagenes.length > 0) {\r\n let listaColoresData = color.ListaImagenes.map(x => ({ IdFotografia: x.IdFotografia, Fotografia: x.FotografiaProducto, Nombre: x.NombreFotografia, CodigoColor: x.CodigoColor }));\r\n listaImagenesData = [...listaImagenesData, ...listaColoresData];\r\n }\r\n });\r\n\r\n setImagenesColor(listaImagenesData);\r\n }\r\n }\r\n\r\n const seleccionarImagen = (nuevaImagen, codigo) => {\r\n setImagen(nuevaImagen);\r\n setCodigoImagen(codigo);\r\n }\r\n\r\n const eliminarImagen = codigoImagen => {\r\n setMostrar(true);\r\n setCodigoImagen(codigoImagen);\r\n }\r\n\r\n const ocultarTodo = () => {\r\n setMostrar(false);\r\n hideEliminar();\r\n }\r\n\r\n useEffect(() => {\r\n obtenerImagenes();\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n
    \r\n Eliminar Imagen {codigoProducto}\r\n
    \r\n
    \r\n \r\n { setMostrar(false) }} codigoImagen={codigoImagen} codigoProducto={codigoProducto} />\r\n
    \r\n
    \r\n {imagenesProducto.length > 0 && <>

    Imagenes en producto

    \r\n }\r\n {imagenesColor.length > 0 && <>

    Imagenes en colores

    \r\n }\r\n
    \r\n
    \r\n \r\n {imagen !== \"\" && \"imagenaeliminar\"}\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nconst ListaImagenes = props => {\r\n const { listaImagenes, seleccionarImagen, eliminarImagen, codigoImagen } = props;\r\n\r\n return
      \r\n {listaImagenes.map(x => (
    • { seleccionarImagen(x.Fotografia, x.IdFotografia) }} className={`list-group-item d-flex justify-content-between align-items-center ${(codigoImagen === x.IdFotografia ? 'active' : '')}`} key={x.IdFotografia}>\r\n
      \r\n

      Imagen: {x.Nombre}

      \r\n

      Codigo Imagen: {x.IdFotografia}

      \r\n

      Codigo Color: {x.CodigoColor}

      \r\n
      \r\n \r\n
    • ))}\r\n
    \r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Button } from '@material-ui/core'\r\nimport notFound from 'assets/nodisponible.png';\r\nimport { FaEye } from \"react-icons/fa\";\r\nimport Lightbox from 'react-image-lightbox';\r\nimport { FiAlertTriangle } from 'react-icons/fi';\r\nimport TablaVistaProducto from 'components/Pedidos/ProductoDetalle/TablaVistaProducto';\r\nimport Slider from \"components/Pedidos/ProductoDetalle/Slider\";\r\nimport RelatedContainer from \"components/Pedidos/ProductoDetalle/RelatedContainer\";\r\nimport Expandable from \"components/Pedidos/ProductoDetalle/Expandable\";\r\nimport styles from 'components/Pedidos/ProductoDetalle/VistaProducto.module.css';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport axios from 'axios';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { DeshabilitarModal } from 'components/Pedidos/ProductoDetalle/DeshabilitarModal';\r\nimport { EliminarImagenModal } from 'components/Pedidos/ProductoDetalle/EliminarImagenModal';\r\n\r\nconst VistaProducto = (props) => {\r\n const [precioProducto, setPrecio] = useState(undefined);\r\n const [color, setColor] = useState('');\r\n const [selected, setselected] = useState(false);\r\n const [hasBackOrder, setHasBackOrder] = useState(\"N\");\r\n const [listaImagenes, setListaImagenes] = useState(props.producto.ListaImagenes);\r\n const [SelectedImage, setSelectedImage] = useState(0);\r\n const [imagenes] = useState(props.producto.ListaImagenes);\r\n const [IsOpen, setIsOpen] = useState(false);\r\n const [openDeshabilitar, setOpenDeshabilitar] = useState(false);\r\n const [openEliminar, setOpenEliminar] = useState(false);\r\n const Configuraciones = useSelector(e => e.Configuraciones);\r\n const productoSeleccionado = useSelector(e => e.producto);\r\n const listaProductosAgregados = useSelector(e => e.listaProductosAgregados);\r\n const permisos = useSelector(e => e.Permisos[0]);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n // Update the document title using the browser API\r\n cargarBackOrder();\r\n Mounted();\r\n\r\n let precio = props.producto.Precio.find(precioxProd => {\r\n return precioxProd.GrupoPrecio === props.Cliente.GrupoPrecio;\r\n });\r\n if (!precio && props.producto.fisicaDisponible.length > 0) {\r\n let precioFisicoDisponible = props.producto.fisicaDisponible.find(fsDis => fsDis.PreciosEspecificos.find(ps => ps.Precio > 0 && ps.GrupoPrecio === props.Cliente.GrupoPrecio))\r\n if (precioFisicoDisponible) {\r\n precio = { Precio: precioFisicoDisponible.PreciosEspecificos.find(ps => ps.Precio > 0 && ps.GrupoPrecio === props.Cliente.GrupoPrecio).Precio };\r\n }\r\n }\r\n if (precio) {\r\n setPrecio(precio);\r\n }\r\n\r\n return () => {\r\n Unmounted();\r\n }\r\n // eslint-disable-next-line\r\n }, []);\r\n useEffect(() => {\r\n let selected = false;\r\n try {\r\n selected = props.TableValue[props.producto.GrupoTalla].Productos[props.producto.ProductoId].Selected;\r\n } catch { }\r\n setselected(selected);\r\n // eslint-disable-next-line\r\n }, [props.producto]);\r\n\r\n const cargarBackOrder = () => {\r\n setHasBackOrder(Configuraciones.BO)\r\n }\r\n\r\n const Mounted = () => {\r\n let element = document.querySelectorAll('.cr-content.container-fluid');\r\n element[0].style.backgroundColor = 'white';\r\n }\r\n\r\n const Unmounted = () => {\r\n let element = document.querySelectorAll('.cr-content.container-fluid');\r\n element[0].style.backgroundColor = '';\r\n }\r\n const toggleSelect = () => {\r\n if (precioProducto !== undefined) {\r\n if (props.futuro === false || props.producto.fisicaDisponible.reduce((acc, curr) => { return acc + curr.Cantidad }, 0) > 0) {\r\n props.toggleSelectProducto({ ...props.producto });\r\n setselected(!selected);\r\n } else {\r\n props.alertaPrecio(\"Stock\");\r\n }\r\n } else {\r\n props.alertaPrecio();\r\n }\r\n }\r\n\r\n var precio = props.producto.Precio.find(precioxProd => {\r\n return precioxProd.GrupoPrecio === props.Cliente.GrupoPrecio;\r\n });\r\n if (precio === undefined) {\r\n precio = {\r\n Precio: 0\r\n }\r\n }\r\n\r\n const setListaImagenesPrincipal = (color) => {\r\n setColor(color);\r\n const imagenesColor = props.producto.ListaColores.filter(e => e.NombreColor === color);\r\n imagenesColor[0].ListaImagenes.Deshabilitado = imagenesColor[0].Deshabilitado;\r\n setListaImagenes(imagenesColor[0].ListaImagenes);\r\n }\r\n\r\n const agregarProducto = () => {\r\n let found = false;\r\n\r\n for (let producto of listaProductosAgregados) {\r\n if (producto.ProductoId === productoSeleccionado.ProductoId) {\r\n if (producto.Selected) {\r\n found = true;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n if (found && !selected) {\r\n toggleSelect();\r\n }\r\n\r\n if (!found) {\r\n let newProduct = { ...productoSeleccionado, Selected: true };\r\n dispatch({ type: 'SET_PRODUCTOAGREGADO', payload: newProduct });\r\n toggleSelect();\r\n }\r\n }\r\n\r\n const deshabilitarProducto = async () => {\r\n try {\r\n const data = { Coleccion: props.coleccion.IdColeccion, Pais: props.coleccion.EmpresaId, Producto: props.producto.ProductoId };\r\n await axios.post(`${APIURL}/api/ColeccionesXLinea/deshabilitarproducto`, data);\r\n setOpenDeshabilitar(false);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Producto deshabilitado con exito.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok'\r\n }).then(() => {\r\n localStorage.removeItem(\"ColeccionSeleccionada\");\r\n localStorage.removeItem(\"HoraIngreso\");\r\n //props.navegar.history.push(\"/Pedidos/Colecciones\")\r\n });\r\n } catch (err) {\r\n setOpenDeshabilitar(false);\r\n let mensaje = \"Ha ocurrido un error y no se pudo deshabilitar el producto.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok'\r\n });\r\n }\r\n }\r\n\r\n const displayDeshabilitarProducto = () => {\r\n setOpenDeshabilitar(true);\r\n }\r\n\r\n const displayEliminarImagen = () => {\r\n setOpenEliminar(true);\r\n }\r\n\r\n const hideDeshabilitarProducto = () => {\r\n setOpenDeshabilitar(false);\r\n }\r\n const hideEliminarImagen = () => {\r\n setOpenEliminar(false);\r\n }\r\n\r\n let isEmptyImages = (listaImagenes.length === 0);\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {\r\n isEmptyImages ?\r\n
    \r\n {\"ImagenProducto\"}\r\n
    \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n

    \r\n {props.producto.NombreProducto} {(props.producto.ListaImagenes.length > 0) && setIsOpen(true)} size={\"30px\"} />}\r\n {permisos.AdministradorProductos &&\r\n
    \r\n \r\n \r\n
    \r\n }\r\n

    \r\n
    \r\n {'CĆ³digo: '}{props.producto.ProductoId}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n\r\n
    Colores Disponibles
    \r\n\r\n
    \r\n {props.producto.ListaColores.map((element, index) => {\r\n var colorId = \"color\" + index;\r\n\r\n let color = \"#fff\"\r\n if (element.Color !== '0' && element.Color !== null) {\r\n color = decimalColorToHTMLcolor(element.Color);\r\n }\r\n return (\r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n \r\n {element.NombreColor}\r\n \r\n
    \r\n\r\n\r\n )\r\n })}\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    Tallas Disponibles
    \r\n\r\n
    \r\n {props.producto.ListaTalla.map((element, index) => {\r\n return (\r\n\r\n
    \r\n

    {element.Talla}

    \r\n\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.producto.CantidadMinima > 0 &&
    Este producto se vende en mĆŗltiplos de {props.producto.CantidadMinima}
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {IsOpen && (\r\n setIsOpen(false)}\r\n onMovePrevRequest={() =>\r\n setSelectedImage((SelectedImage + imagenes.length - 1) % imagenes.length)\r\n }\r\n onMoveNextRequest={() =>\r\n setSelectedImage((SelectedImage + 1) % imagenes.length)\r\n }\r\n />\r\n )}\r\n
    \r\n );\r\n}\r\n\r\n// const decimalColorToHTMLcolor = (number) => {\r\n// //converts to a integer\r\n// var intnumber = number - 0;\r\n\r\n// // isolate the colors - really not necessary\r\n// var red, green, blue;\r\n\r\n// // needed since toString does not zero fill on left\r\n// var template = \"#000000\";\r\n\r\n// // in the MS Windows world RGB colors\r\n// // are 0xBBGGRR because of the way Intel chips store bytes\r\n// red = (intnumber & 0x0000ff) << 16;\r\n// green = intnumber & 0x00ff00;\r\n// blue = (intnumber & 0xff0000) >>> 16;\r\n\r\n// // mask out each color and reverse the order\r\n// intnumber = red | green | blue;\r\n\r\n// // toString converts a number to a hexstring\r\n// var HTMLcolor = intnumber.toString(16);\r\n\r\n// //template adds # for standard HTML #RRGGBB\r\n// HTMLcolor = template.substring(0, 7 - HTMLcolor.length) + HTMLcolor;\r\n\r\n// return HTMLcolor;\r\n// }\r\n\r\nconst areEqual = (prevProps, nextProps) => {\r\n return false;\r\n // let iguales = prevProps.producto === nextProps.producto;\r\n // iguales = iguales && prevProps.imagenProducto === nextProps.imagenProducto;\r\n // iguales = iguales && prevProps.Cliente === nextProps.Cliente;\r\n // return iguales;\r\n}\r\nexport default React.memo(VistaProducto, areEqual);\r\n","import React, { useState } from 'react'\r\nimport styles from 'components/Pedidos/SelectCliente/Historico.module.css';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport { ClipLoader } from 'react-spinners';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport moment from \"moment\";\r\nmoment.locale('es');\r\n\r\nconst Historico = (props) => {\r\n let fin = new moment().toDate();\r\n let ini = new moment(fin).add(-6, 'days').toDate();\r\n const [fechaInicio, setFechaInicio] = useState(ini);\r\n const [fechaFin, setFechaFin] = useState(fin);\r\n const [showTable, setShowTable] = useState(false);\r\n\r\n const handleFechaInicio = (fecha) => {\r\n unloadTable();\r\n var date = moment(fecha).toDate();\r\n\r\n var fech = moment(fecha).toDate();\r\n fech.setDate(date.getDate() + 6);\r\n\r\n setFechaInicio(date);\r\n setFechaFin(fech);\r\n loadTable();\r\n }\r\n\r\n const handleFechaFin = (fecha) => {\r\n unloadTable();\r\n var date = moment(fecha).toDate();\r\n\r\n const diffTime = new Date(date) - new Date(fechaInicio);\r\n\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n if (diffDays <= 7 && diffDays > 0) {\r\n setFechaFin(date);\r\n }\r\n else {\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Ingrese Fecha VƔlida',\r\n })\r\n var fech = new Date();\r\n fech.setDate(fechaInicio.getDate() + 6);\r\n\r\n setFechaFin(fech);\r\n }\r\n loadTable();\r\n\r\n }\r\n\r\n const loadTable = () => {\r\n setTimeout(() => {\r\n setShowTable(true);\r\n }, 3000)\r\n }\r\n const unloadTable = () => {\r\n setShowTable(false);\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n HistĆ³rico {props.nombre.toLowerCase()}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Fecha Inicio
    \r\n handleFechaInicio(date)}\r\n />\r\n
    \r\n
    \r\n\r\n
    Fecha Fin
    \r\n handleFechaFin(date)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n showTable ?\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n :\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n )\r\n}\r\n\r\nconst columns = [\r\n {\r\n name: \"Name\",\r\n options: {\r\n filter: true,\r\n }\r\n },\r\n {\r\n name: \"Title\",\r\n options: {\r\n filter: true,\r\n }\r\n },\r\n {\r\n name: \"Location\",\r\n options: {\r\n filter: false,\r\n }\r\n },\r\n {\r\n name: \"Age\",\r\n options: {\r\n filter: true,\r\n }\r\n },\r\n {\r\n name: \"Salary\",\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n }\r\n];\r\n\r\n\r\nconst data = [\r\n [\"Gabby George\", \"Business Analyst\", \"Minneapolis\", 30, \"$100,000\"],\r\n [\"Aiden Lloyd\", \"Business Consultant\", \"Dallas\", 55, \"$200,000\"],\r\n [\"Jaden Collins\", \"Attorney\", \"Santa Ana\", 27, \"$500,000\"],\r\n [\"Franky Rees\", \"Business Analyst\", \"St. Petersburg\", 22, \"$50,000\"],\r\n [\"Aaren Rose\", \"Business Consultant\", \"Toledo\", 28, \"$75,000\"],\r\n [\"Blake Duncan\", \"Business Management Analyst\", \"San Diego\", 65, \"$94,000\"],\r\n [\"Frankie Parry\", \"Agency Legal Counsel\", \"Jacksonville\", 71, \"$210,000\"],\r\n [\"Lane Wilson\", \"Commercial Specialist\", \"Omaha\", 19, \"$65,000\"],\r\n [\"Robin Duncan\", \"Business Analyst\", \"Los Angeles\", 20, \"$77,000\"],\r\n [\"Mel Brooks\", \"Business Consultant\", \"Oklahoma City\", 37, \"$135,000\"],\r\n [\"Harper White\", \"Attorney\", \"Pittsburgh\", 52, \"$420,000\"],\r\n [\"Kris Humphrey\", \"Agency Legal Counsel\", \"Laredo\", 30, \"$150,000\"],\r\n [\"Frankie Long\", \"Industrial Analyst\", \"Austin\", 31, \"$170,000\"],\r\n [\"Brynn Robbins\", \"Business Analyst\", \"Norfolk\", 22, \"$90,000\"],\r\n [\"Justice Mann\", \"Business Consultant\", \"Chicago\", 24, \"$133,000\"],\r\n [\"Addison Navarro\", \"Business Management Analyst\", \"New York\", 50, \"$295,000\"],\r\n [\"Jesse Welch\", \"Agency Legal Counsel\", \"Seattle\", 28, \"$200,000\"],\r\n [\"Eli Mejia\", \"Commercial Specialist\", \"Long Beach\", 65, \"$400,000\"],\r\n [\"Gene Leblanc\", \"Industrial Analyst\", \"Hartford\", 34, \"$110,000\"],\r\n [\"Danny Leon\", \"Computer Scientist\", \"Newark\", 60, \"$220,000\"],\r\n [\"Lane Lee\", \"Corporate Counselor\", \"Cincinnati\", 52, \"$180,000\"],\r\n [\"Jesse Hall\", \"Business Analyst\", \"Baltimore\", 44, \"$99,000\"],\r\n [\"Danni Hudson\", \"Agency Legal Counsel\", \"Tampa\", 37, \"$90,000\"],\r\n [\"Terry Macdonald\", \"Commercial Specialist\", \"Miami\", 39, \"$140,000\"],\r\n [\"Justice Mccarthy\", \"Attorney\", \"Tucson\", 26, \"$330,000\"],\r\n [\"Silver Carey\", \"Computer Scientist\", \"Memphis\", 47, \"$250,000\"],\r\n [\"Franky Miles\", \"Industrial Analyst\", \"Buffalo\", 49, \"$190,000\"],\r\n [\"Glen Nixon\", \"Corporate Counselor\", \"Arlington\", 44, \"$80,000\"],\r\n [\"Gabby Strickland\", \"Business Process Consultant\", \"Scottsdale\", 26, \"$45,000\"],\r\n [\"Mason Ray\", \"Computer Scientist\", \"San Francisco\", 39, \"$142,000\"]\r\n];\r\n\r\nconst options = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n expandableRows: true,\r\n expandableRowsOnClick: true,\r\n selectableRows: 'none',\r\n renderExpandableRow: (rowData, rowMeta) => {\r\n const colSpan = rowData.length + 1;\r\n return (\r\n \r\n \r\n Custom expandable row option. Data: {JSON.stringify(rowData)}\r\n \r\n \r\n );\r\n },\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScroll: {\r\n maxHeight: \"67vh\"\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n});\r\n\r\nexport default Historico;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { amber, green } from '@material-ui/core/colors';\r\nimport SnackbarContent from '@material-ui/core/SnackbarContent';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { FiAlertOctagon, FiCheckCircle } from 'react-icons/fi';\r\nimport { IoIosWarning, IoIosInformationCircleOutline } from \"react-icons/io\";\r\n\r\nconst variantIcon = {\r\n success: FiCheckCircle,\r\n warning: IoIosWarning,\r\n error: FiAlertOctagon,\r\n info: IoIosInformationCircleOutline,\r\n};\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n success: {\r\n backgroundColor: green[600],\r\n },\r\n error: {\r\n backgroundColor: theme.palette.error.dark,\r\n },\r\n info: {\r\n backgroundColor: theme.palette.primary.main,\r\n },\r\n warning: {\r\n backgroundColor: amber[700],\r\n },\r\n icon: {\r\n fontSize: 22,\r\n },\r\n iconVariant: {\r\n opacity: 0.9,\r\n marginRight: theme.spacing(1),\r\n },\r\n message: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontSize:14,\r\n },\r\n}));\r\n\r\nfunction MySnackbarContentWrapper(props) {\r\n const classes = useStyles();\r\n const { className, message, onClose, variant, ...other } = props;\r\n const Icon = variantIcon[variant];\r\n\r\n return (\r\n \r\n \r\n {message}\r\n
    \r\n }\r\n {...other}\r\n />\r\n );\r\n}\r\n\r\nMySnackbarContentWrapper.propTypes = {\r\n className: PropTypes.string,\r\n message: PropTypes.node,\r\n onClose: PropTypes.func,\r\n variant: PropTypes.oneOf(['success', 'warning', 'error', 'info']).isRequired,\r\n};\r\n\r\nexport default MySnackbarContentWrapper;","import React,{useState,useEffect,useRef} from 'react';\r\nimport {Formik,Form,Field} from 'formik';\r\nimport * as yup from 'yup';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport ButtonGroup from '@material-ui/core/ButtonGroup';\r\nimport CheckBox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport axios from 'axios';\r\nimport {APIURL} from 'utils/Enviroment';\r\nimport {useDispatch,useSelector} from 'react-redux';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\n\r\nfunction equalTo(ref, msg) {\r\n return yup.mixed().test({\r\n name: 'equalTo',\r\n exclusive: false,\r\n message: msg,\r\n params: {\r\n reference: ref.path,\r\n },\r\n test: function(value) {\r\n return value === this.resolve(ref);\r\n },\r\n });\r\n }\r\n yup.addMethod(yup.string, 'equalTo', equalTo);\r\n\r\nconst validationSchema = yup.object().shape(\r\n{\r\n Nombre: yup.string().required('El nombre es obligatorio'),\r\n Direccion: yup.string().required('La direcciĆ³n es obligatoria'),\r\n Provincia: yup.string().required('La provincia es obligatoria'),\r\n RTN:yup.string(),\r\n RTN2:yup.string().equalTo(yup.ref('RTN'),'El rtn debe coincidir'),\r\n Telefono:yup.string().required('El telefono es obligatorio'),\r\n});\r\n\r\nconst ClienteContado = React.memo((props)=>{\r\n\r\n let initialValues,edit,save,nuevo,habilitado;\r\n if(props.cliente===null)\r\n {\r\n initialValues = \r\n {\r\n id:0,\r\n Nombre:'',\r\n Direccion:'',\r\n Provincia:'',\r\n FlagClientePotencial:false,\r\n RTN:'',\r\n RTN2:'',\r\n Telefono:'',\r\n ComunidadAutonoma:'',\r\n Asesor:localStorage.getItem('codigo')\r\n }\r\n edit = true;\r\n save = false;\r\n nuevo = true;\r\n habilitado = false;\r\n }else{\r\n initialValues = \r\n {\r\n id:props.cliente.id,\r\n Nombre:props.cliente.Nombre,\r\n Direccion:props.cliente.Direccion,\r\n Provincia:props.cliente.Provincia,\r\n FlagClientePotencial:props.cliente.FlagClientePotencial,\r\n RTN:props.cliente.RTN,\r\n RTN2:props.cliente.RTN,\r\n Telefono:props.cliente.Telefono,\r\n ComunidadAutonoma:'',\r\n Asesor:localStorage.getItem('codigo')\r\n }\r\n\r\n edit = false;\r\n save = true;\r\n nuevo = false;\r\n habilitado = false;\r\n }\r\n\r\n if(props.validacion)\r\n {\r\n edit = false;\r\n save = true;\r\n nuevo = true;\r\n habilitado = true;\r\n }\r\n\r\n const [enableEdit,setEnableEdit] = useState(edit);\r\n const [enableSave,setEnableSave] = useState(save);\r\n const [enableNew,setEnableNew] = useState(nuevo);\r\n const dispatch = useDispatch();\r\n const requiereEntrega = useSelector(e=>e.requiereEntrega);\r\n const context = useRef();\r\n \r\n const handleSubmit = (values)=>\r\n {\r\n axios({\r\n url:`${APIURL}/api/clientecontado`,\r\n method:'POST',\r\n data:values\r\n }).then(e=>{\r\n if(e.status===200){\r\n dispatch({type:'SET_CLIENTECONTADO',payload:e.data});\r\n setEnableSave(true);\r\n setEnableNew(false);\r\n cargarClientes();\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: 'Cliente creado con exito',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n target:context.current\r\n })\r\n }\r\n })\r\n .catch(err=>{\r\n Swal.fire({\r\n title: 'Error',\r\n text: 'No se pudo crear el cliente',\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target:context.current\r\n })\r\n })\r\n }\r\n\r\n\r\n const handleEdit=(values)=>\r\n {\r\n axios({\r\n url:`${APIURL}/api/clientecontado/edit`,\r\n method:'POST',\r\n data:values\r\n }).then(e=>{\r\n if(e.status===200){\r\n dispatch({type:'SET_CLIENTECONTADO',payload:e.data});\r\n if(!props.validacion){\r\n setEnableNew(false);\r\n }\r\n setEnableEdit(true);\r\n cargarClientes();\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: 'Cliente modificado con exito',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n target:context.current\r\n })\r\n }\r\n })\r\n .catch(err=>{\r\n Swal.fire({\r\n title: 'Error',\r\n text: 'No se pudo modificar el cliente',\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target:context.current\r\n })\r\n })\r\n }\r\n\r\n const handleRequiereEntrega = (value)=>\r\n {\r\n dispatch({type:'SET_REQUIEREENTREGA',payload:value});\r\n }\r\n\r\n const cargarClientes = ()=>\r\n {\r\n axios({\r\n url:`${APIURL}/api/clientecontado/${localStorage.getItem('codigo')}`,\r\n method:'GET',\r\n }).then(e=>{\r\n if(e.status===200){\r\n dispatch({type:'SET_CLIENTESCONTADO',payload:e.data});\r\n }\r\n })\r\n .catch(err=>console.warn(err))\r\n }\r\n\r\n useEffect(()=>{\r\n dispatch({type:'SET_REQUIEREENTREGA',payload:true});\r\n // eslint-disable-next-line\r\n },[])\r\n \r\n return (\r\n <>\r\n {\r\n setEnableSave(true);\r\n handleSubmit(value);\r\n setEnableSave(false);\r\n }}\r\n enableReinitialize\r\n validationSchema={validationSchema}\r\n >\r\n {({errors,resetForm,values,setValues})=>(\r\n
    \r\n
    \r\n
    \r\n \r\n }\r\n label=\"Cliente Potencial\"\r\n style={{marginRight:'80px'}}\r\n disabled={habilitado}\r\n />\r\n handleRequiereEntrega(e.target.checked)}\r\n as={CheckBox}\r\n />\r\n }\r\n disabled={habilitado}\r\n label=\"Requiere Entrega\"\r\n />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\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 ClienteContado;","import Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\n\r\nexport const numberWithCommas = (value) => (value.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'));\r\n\r\nexport const reduceNumberWithCommas = (value, key) => (value.reduce((acc, cur) => {\r\n return acc + ((cur[key] ? cur[key] : 0))\r\n}, 0).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'));\r\n\r\nexport const ObtenerCoordenadas = (callBackSucces, callBackError) => {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n callBackSucces(position);\r\n }, (error) => {\r\n if (callBackError) {\r\n callBackError();\r\n }\r\n })\r\n}\r\n\r\nexport const reemplazarUrl = (data, original, offline) => {\r\n if (data) {\r\n let urlCopia = data;\r\n return urlCopia.replace(original, offline);\r\n }\r\n return data;\r\n}\r\n\r\nexport const mostrarModal = (title, text, type, step, textConfirmation, textCancelation) => {\r\n if (step) {\r\n return Swal.fire({\r\n title,\r\n text,\r\n type,\r\n showCancelButton: true,\r\n confirmButtonColor: '#d33',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: textConfirmation,\r\n cancelButtonText: textCancelation,\r\n });\r\n }\r\n\r\n\r\n Swal.fire({\r\n title,\r\n text,\r\n type,\r\n confirmButtonText: 'Ok',\r\n });\r\n}\r\n\r\nexport const mostrarAlerta = (title, text, type) => {\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n type: type,\r\n confirmButtonText: 'Ok',\r\n })\r\n}\r\n\r\nexport const numberWithCommasNoDec = (x) => {\r\n if (x > 1000) {\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n }\r\n return x;\r\n}","import React, { useEffect, useState } from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport { numberWithCommas } from 'utils/common';\r\n\r\nexport const ReservadoDetalleLinea = props => {\r\n const { open, detalle, close, abreviacion } = props;\r\n const [data, setData] = useState([]);\r\n\r\n useEffect(() => {\r\n if (Array.isArray(detalle.ReservadoClienteColeccionesLineas)) {\r\n const newData = detalle.ReservadoClienteColeccionesLineas.map(elemento => ({\r\n Coleccion: elemento.Coleccion,\r\n Linea: elemento.Linea,\r\n MontoPendiente: elemento.MontoPendiente,\r\n UnidadesPendientes: elemento.UnidadesPendientes\r\n }));\r\n\r\n setData(newData);\r\n }\r\n }, [detalle]);\r\n\r\n return (\r\n \r\n \r\n
    \r\n Detalle Linea {detalle.Linea}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    ColecciĆ³nUnidades PendientesMonto Pendiente
    {item.Coleccion}{numberWithCommas(item.UnidadesPendientes)}{numberWithCommas(item.MontoPendiente)}
    Total Reservado{numberWithCommas(data.reduce((prev, curr) => prev + curr.UnidadesPendientes, 0))}{abreviacion} {numberWithCommas(data.reduce((prev, curr) => prev + curr.MontoPendiente, 0))}
    \r\n
    \r\n \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport styles from 'components/Pedidos/SelectCliente/SelectCliente.module.css';\r\nimport Historico from 'components/Pedidos/SelectCliente/Historico';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport { FiAlertTriangle } from 'react-icons/fi';\r\nimport MySnackbarContentWrapper from 'components/Global/snackbar'\r\nimport 'semantic-ui-css/semantic.min.css'\r\nimport { SyncLoader } from 'react-spinners';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport {\r\n Button,\r\n Slide,\r\n Grow,\r\n Card,\r\n CardContent,\r\n AppBar,\r\n Toolbar,\r\n IconButton,\r\n Typography,\r\n Snackbar\r\n} from '@material-ui/core';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport ClienteContado from './ClienteContado';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport logo from './iconfinder_Close_2001866.png';\r\nimport { numberWithCommas } from 'utils/common';\r\nimport CachedIcon from '@material-ui/icons/Cached';\r\nimport RoomIcon from '@material-ui/icons/Room';\r\nimport axios from 'axios';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { verificarConexion } from 'utils/http';\r\nimport { ObtenerCoordenadas } from 'utils/common';\r\nimport { reemplazarUrl } from 'utils/common';\r\nimport FileSaver from 'file-saver';\r\nimport XLSX from 'xlsx';\r\nimport { ReservadoDetalleLinea } from './ReservadoDetalleLinea';\r\nimport { GoogleMap, useJsApiLoader, Marker, Circle } from '@react-google-maps/api';\r\n\r\nconst TransitionGrow = React.forwardRef(function Transition(props, ref) {\r\n return ;\r\n});\r\n\r\nconst TransitionSlide = React.forwardRef(function Transition(props, ref) {\r\n return ;\r\n});\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n appBar: {\r\n position: 'sticky',\r\n },\r\n title: {\r\n marginLeft: theme.spacing(2),\r\n flex: 1,\r\n },\r\n}));\r\n\r\nconst SelectCliente = (props) => {\r\n const [open, setOpen] = useState(false);\r\n const [Value, setValue] = useState(null);\r\n const [openContado, setOpenContado] = useState(false);\r\n const dispatch = useDispatch();\r\n const clienteContado = useSelector(e => e.clienteContado);\r\n const clientes = useSelector(e => e.clientesContado);\r\n const Monedas = useSelector(e => e.AbreviacionMonedas);\r\n const Comunidad = useSelector(e => e.comunidadesAutonomas);\r\n const BloqueoCredito = useSelector(e => e.Permisos[0].BloqueoCredito);\r\n const [loading, setLoading] = useState(false);\r\n const [mensaje, setMensaje] = useState(\"Cargando clientes\")\r\n const PedidosCache = useSelector(p => p.PedidoSincronizar);\r\n const clientesPedido = useSelector(c => c.clientes);\r\n const clientesRecibo = useSelector(c => c.Recibo);\r\n const permisos = useSelector(e => e.Permisos[0]);\r\n const Configuraciones = useSelector(e => e.Configuraciones);\r\n const direccionEntrega = useSelector(e => e.direccionEntrega);\r\n const [openModalDirecciones, setOpenModalDirecciones] = useState(false);\r\n const [verPedidoPendientes, setVerPedidoPendientes] = useState(false);\r\n const [detalleColeccion, setDetalleColeccion] = useState([]);\r\n const [locationAsesor, setLocationAsesor] = useState({ latitude: null, longitude: null });\r\n const [locationCliente, setLocationCliente] = useState({ latitude: null, longitude: null });\r\n const [distancia, setDistancia] = useState(0.00);\r\n const [gpsActivo, setGPSActivo] = useState(false);\r\n\r\n const { isLoaded } = useJsApiLoader({\r\n id: 'google-map-script',\r\n googleMapsApiKey: Configuraciones.ApiKey_GoogleMaps\r\n });\r\n\r\n useEffect(() => {\r\n if (props.codigoClientePreseleccionado !== null && props.clientes.length > 0) {\r\n let cliente = props.clientes.find(cl => {\r\n return cl.Codigo === props.codigoClientePreseleccionado;\r\n });\r\n if (cliente) {\r\n setValue(JSON.stringify(cliente));\r\n props.onSelect((cliente));\r\n }\r\n }\r\n validarGPSInicio();\r\n // eslint-disable-next-line\r\n }, [props.clientes]);\r\n\r\n useEffect(() => {\r\n if (props.autocompleteValue) {\r\n const direccionPrincipal = props.autocompleteValue.Direcciones.find(x => x.principal);\r\n if (direccionPrincipal) {\r\n dispatch({ type: \"SET_DIRECCIONENTREGA\", payload: direccionPrincipal });\r\n }\r\n }\r\n\r\n }, [props.autocompleteValue]);\r\n\r\n\r\n const validarGPSInicio = () => {\r\n\r\n if (!permisos.UsuarioOficina && localStorage.getItem('codigo') == Configuraciones.UsuarioTest) {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(\r\n (position) => {\r\n setGPSActivo(true)\r\n },\r\n (error) => {\r\n setLocationAsesor({ latitude: null, longitude: null });\r\n setGPSActivo(false)\r\n }\r\n );\r\n } else {\r\n setGPSActivo(false)\r\n }\r\n } else {\r\n setGPSActivo(true)\r\n }\r\n }\r\n\r\n const classes = useStyles();\r\n let infoCliente = null;\r\n let FacturacionEntrega = null;\r\n //let empresa = localStorage.getItem('empresa');\r\n var alerta = false;\r\n //var EsVisible = false;\r\n var options = [];\r\n\r\n const mostrarAdvertencia = (title, text, type) => {\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n type: type,\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n\r\n const recargarClientes = async () => {\r\n let isOnline = await verificarConexion();\r\n if (localStorage.getItem(\"Conexion\") === \"offline\") {\r\n mostrarAdvertencia(\"Modo Offline\", \"Se encuentra en modo offline, no puede actualizar registros.\", \"warning\");\r\n } else {\r\n if (!isOnline) {\r\n mostrarAdvertencia('Sin internet', 'Necesita internet para poder actualizar los registros.', 'warning');\r\n } else {\r\n setLoading(true)\r\n axios.get(APIURL + \"/api/cliente/pedido\", {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n }\r\n }).then(data => {\r\n dispatch({ type: 'STORE_CLIENTES', clientes: data.data })\r\n recargarListaPrecios(data.data);\r\n }).catch(err => {\r\n setLoading(false)\r\n })\r\n }\r\n }\r\n }\r\n\r\n const recargarListaPrecios = data => {\r\n setMensaje(\"Cargando colecciones y productos\")\r\n const listaPrecios = [...new Set(data.map(x => x.GrupoPrecio))];\r\n const paises = [...new Set(data.map(x => x.EmpresaId))];\r\n\r\n axios.get(APIURL + \"/api/colecciones/listaprecios\", {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n params: {\r\n ListaPrecios: listaPrecios,\r\n Paises: paises\r\n }\r\n })\r\n .then(data => {\r\n setMensaje(\"Cargando Imagenes\")\r\n let listaPrecios = data.data;\r\n listaPrecios.forEach(e => {\r\n e.Edades.forEach(edades => {\r\n edades.ProductosXEdad.forEach(prod => {\r\n ///Imagenes generales del producto\r\n prod.ListaImagenes.forEach(async function (img) {\r\n let imagenBlob = reemplazarUrl(img.FotografiaProducto, Configuraciones.UrlImages, Configuraciones.UrlImagesOffline);\r\n if (imagenBlob) {\r\n img.FotografiaProducto = imagenBlob;\r\n }\r\n })\r\n\r\n ///Imagenes por color del producto\r\n prod.ListaColores.forEach(color => {\r\n color.ListaImagenes.forEach(async function (img) {\r\n let imagenColorBlob = reemplazarUrl(img.FotografiaProducto, Configuraciones.UrlImages, Configuraciones.UrlImagesOffline);\r\n if (imagenColorBlob) {\r\n img.FotografiaProducto = imagenColorBlob;\r\n }\r\n })\r\n })\r\n })\r\n })\r\n })\r\n //setTimeout(()=>{\r\n dispatch({ type: 'SET_LISTAPRECIOS', payload: listaPrecios });\r\n setLoading(false);\r\n setMensaje(\"Cargando clientes\")\r\n //},75000)\r\n\r\n })\r\n .catch(err => {\r\n setLoading(false);\r\n });\r\n }\r\n\r\n /*const convertirBlob = async (url)=>{\r\n try{\r\n const request = await axios.get(url, { responseType: 'blob' });\r\n return request.data;\r\n }catch(err){\r\n return null;\r\n }\r\n }*/\r\n\r\n const guardarExcel = csvData => {\r\n const fileName = `Visitas-${props.autocompleteValue.Nombre}`;\r\n const fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n const fileExtension = '.xlsx';\r\n const ws = XLSX.utils.json_to_sheet(csvData);\r\n const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const data = new Blob([excelBuffer], { type: fileType });\r\n FileSaver.saveAs(data, fileName + fileExtension);\r\n }\r\n\r\n const convertirHora = (time) => {\r\n time = time.toString().match(/^([01]\\d|2[0-3])(:)([0-5]\\d)(:[0-5]\\d)?$/) || [time];\r\n\r\n if (time.length > 1) {\r\n time = time.slice(1);\r\n time[5] = +time[0] < 12 ? 'AM' : 'PM';\r\n time[0] = +time[0] % 12 || 12;\r\n }\r\n return time.join('');\r\n }\r\n\r\n const convertirData = (data) => {\r\n return data.map((el) => {\r\n const { $id, ...asignacion } = el;\r\n\r\n return {\r\n ...asignacion,\r\n Hora_Inicio: convertirHora(asignacion.Hora_Inicio),\r\n Hora_Final: convertirHora(asignacion.Hora_Final)\r\n }\r\n })\r\n }\r\n\r\n const obtenerReporteAsignaciones = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/asignaciones/reporte/${props.autocompleteValue.Codigo}`);\r\n\r\n if (request.data.length === 0) {\r\n mostrarAdvertencia(\"Asignaciones\", \"No se han encontrado registros para este cliente\", \"warning\")\r\n return;\r\n }\r\n\r\n const dataTransformada = convertirData(request.data);\r\n guardarExcel(dataTransformada);\r\n mostrarAdvertencia(\"Ā”Documento Descargado!\", \"Revise su panel de notificaciones o su carpeta de descargas.\", \"success\");\r\n } catch (err) {\r\n mostrarAdvertencia(\"Error\", \"No se pudo obtener las asignaciones\", \"error\");\r\n }\r\n }\r\n\r\n const handleRecarga = () => {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'ĀæDesea actualizar la informaciĆ³n en el modulo de pedidos?',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value) {\r\n recargarClientes();\r\n props.ModuloConfiguraciones();\r\n }\r\n })\r\n }\r\n\r\n const continuarPedido = () => {\r\n if (props.autocompleteValue.FacturacionEntrega === \"Todo\") {\r\n Swal.fire({\r\n title: 'Bloqueado',\r\n text: 'Actualmente no se tiene relaciĆ³n comercial con el cliente. Su cuenta ha sido bloqueada para todo tipo de transacciĆ³n.',\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n } else if (props.autocompleteValue.FacturacionEntrega === \"No\" && props.autocompleteValue.Credito[0].Disponible === 1) {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'El cliente no tiene credito disponible, el pedido no sera autorizado automaticamente. Comunicarse con el departamento de crĆ©ditos.',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value) {\r\n props.setCliente();\r\n }\r\n })\r\n } else if (props.autocompleteValue.Credito[0].Disponible <= 1 && props.autocompleteValue.FacturacionEntrega === \"Factura\") {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'El cliente actualmente se encuentra deshabilitado y sin credito disponible, su cuenta esta en mora. El pedido no sera autorizado automticamente.',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value) {\r\n props.setCliente();\r\n }\r\n })\r\n } else if (props.autocompleteValue.Credito[0].Disponible > 1 && props.autocompleteValue.FacturacionEntrega === \"Factura\") {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'El cliente actualmente se encuentra deshabilitado, su cuenta esta en mora. El pedido no sera autorizado automĆ”ticamente.',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value) {\r\n props.setCliente();\r\n }\r\n })\r\n } else {\r\n props.setCliente();\r\n }\r\n dispatch({ type: \"SET_BODEGASELECCIONADA\", payload: null });\r\n props.onSetTableValue({});\r\n props.onSetTotalPedido(0);\r\n props.onSetNumeroOrden(null);\r\n localStorage.removeItem(\"ColeccionSeleccionada\");\r\n }\r\n\r\n const validacionPedidosCache = () => {\r\n if (PedidosCache.length > 0 && localStorage.getItem(\"Conexion\") === \"Online\") {\r\n Swal.fire({\r\n title: 'Pendiente a Sincronizar',\r\n text: 'Tiene pedidos en bandeja de salida, debera sincronizar para poder registrar un nuevo pedido.',\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n else {\r\n continuarPedido();\r\n }\r\n }\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n }\r\n\r\n const handleOnChange = (value) => {\r\n var val = JSON.parse(value);\r\n\r\n setValue(value);\r\n props.onSelect(val);\r\n dispatch({ type: 'DELETE_CLIENTECONTADO' });\r\n dispatch({ type: 'DELETE_REQUIEREENTREGA' });\r\n dispatch({ type: 'DELETE_FLETE' });\r\n localStorage.setItem('Impuesto', 0);\r\n if (!permisos.UsuarioOficina && localStorage.getItem('codigo') == Configuraciones.UsuarioTest) {\r\n CalcularDistaciaCoordenadas(val.Latitud, val.Longitud)\r\n }\r\n }\r\n\r\n const CalcularDistaciaCoordenadas = (Latitud, Longitud) => {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(\r\n (position) => {\r\n const latitudAsesor = position.coords.latitude;\r\n const longitudAsesor = position.coords.longitude;\r\n\r\n setLocationAsesor({\r\n latitude: latitudAsesor,\r\n longitude: longitudAsesor,\r\n });\r\n\r\n console.log(Latitud)\r\n console.log(Longitud)\r\n\r\n setLocationCliente({\r\n latitude: Latitud,\r\n longitude: Longitud,\r\n });\r\n\r\n const distancia = CalcularDistancia(Latitud, Longitud, latitudAsesor, longitudAsesor);\r\n setDistancia(distancia)\r\n setGPSActivo(true)\r\n },\r\n (error) => {\r\n setLocationAsesor({ latitude: null, longitude: null });\r\n setGPSActivo(false)\r\n }\r\n );\r\n } else {\r\n setGPSActivo(false)\r\n }\r\n }\r\n\r\n\r\n\r\n const rad = (x) => {\r\n return x * Math.PI / 180;\r\n }\r\n\r\n const CalcularDistancia = (lat1, lon1, lat2, lon2) => {\r\n if (lat1 === null || lon1 === null || lat2 === null || lon2 === null) {\r\n return 0;\r\n }\r\n\r\n var R = 6378.137;//Radio de la tierra en km\r\n var dLat = rad(lat2 - lat1);\r\n var dLong = rad(lon2 - lon1);\r\n var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(rad(lat1)) * Math.cos(rad(lat2)) * Math.sin(dLong / 2) * Math.sin(dLong / 2);\r\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n var d = R * c;\r\n return 1000 * d.toFixed(3);//Retorna valor en metros\r\n }\r\n\r\n props.clientes.forEach(el => {\r\n var cliente = { key: el.Codigo, value: JSON.stringify(el), text: el.Codigo + ' - ' + el.Nombre }\r\n options.push(cliente);\r\n })\r\n\r\n if (props.autocompleteValue != null && props.autocompleteValue.FacturacionEntrega === \"Todo\") {\r\n FacturacionEntrega = (\r\n
    \r\n El cliente actualmente se encuentra bloqueado.\r\n
    \r\n )\r\n\r\n if (props.autocompleteValue !== null && props.autocompleteValue !== false) {\r\n alerta = true;\r\n }\r\n }\r\n\r\n if (props.autocompleteValue != null && props.autocompleteValue.FacturacionEntrega === \"Factura\") {\r\n FacturacionEntrega = (\r\n
    \r\n El cliente actualmente se encuentra deshabilitado por mora.\r\n
    \r\n )\r\n\r\n if (props.autocompleteValue !== null && props.autocompleteValue !== false) {\r\n alerta = true;\r\n }\r\n }\r\n\r\n const mensajeError = () => {\r\n if (props.autocompleteValue !== null) {\r\n if (props.autocompleteValue.FacturacionEntrega === \"Todo\") return \"El cliente actualmente se encuentra bloqueado.\";\r\n if (props.autocompleteValue.FacturacionEntrega === \"Factura\") return \"El cliente actualmente se encuentra deshabilitado por mora.\";\r\n }\r\n }\r\n\r\n const actualizarCoordenadasPedido = (longitud, latitud) => {\r\n let copiaClientes = clientesPedido;\r\n let indice = copiaClientes.map(x => x.Codigo).indexOf(props.autocompleteValue.Codigo);\r\n copiaClientes[indice].Longitud = longitud;\r\n copiaClientes[indice].Latitud = latitud;\r\n props.refrescarClienteSeleccionado(copiaClientes[indice]);\r\n setValue(JSON.stringify(copiaClientes[indice]));\r\n dispatch({ type: 'STORE_CLIENTES', clientes: copiaClientes });\r\n }\r\n\r\n const actualizarCoordenadasRecibo = (longitud, latitud) => {\r\n let copiaClientes = clientesRecibo.clientes;\r\n let indice = copiaClientes.map(x => x.Codigo).indexOf(props.autocompleteValue.Codigo);\r\n copiaClientes[indice].Longitud = longitud;\r\n copiaClientes[indice].Latitud = latitud;\r\n dispatch({ type: 'STORE_RECIBO_CLIENTES', clientes: copiaClientes });\r\n }\r\n\r\n const actualizarData = request => {\r\n const { latitud, longitud } = request.data;\r\n actualizarCoordenadasPedido(longitud, latitud);\r\n actualizarCoordenadasRecibo(longitud, latitud);\r\n }\r\n\r\n const enviarCoordenadasApi = async (coor) => {\r\n try {\r\n const data = {\r\n cliente: props.autocompleteValue.Codigo,\r\n latitud: coor.latitude,\r\n longitud: coor.longitude\r\n }\r\n const request = await axios.post(`${APIURL}/api/cliente/coordenadas`, data);\r\n actualizarData(request);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Coordenadas del cliente han sido actualizadas con Ć©xito.\",\r\n type: 'success',\r\n confirmButtonText: 'OK',\r\n });\r\n } catch (err) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Ha ocurrido un error y no se pudo obtener las coordenadas.\",\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n }\r\n\r\n const mensajeErrorCoordenadas = () => {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Ha ocurrido un error y no se pudo obtener las coordenadas.\",\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n\r\n const confirmacionCoordenadas = async () => {\r\n let isOnline = await verificarConexion();\r\n if (localStorage.getItem(\"Conexion\") === \"Online\" && isOnline) {\r\n Swal.fire({\r\n title: 'Confirmar',\r\n text: `ĀæEstĆ” seguro de realizar el pinneo en la ubicacĆ³n actual?`,\r\n type: 'question',\r\n showCancelButton: true,\r\n confirmButtonColor: '#06bf53',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'SĆ­',\r\n cancelButtonText: 'No',\r\n }).then((result) => {\r\n if (result.value) {\r\n ObtenerCoordenadas((position) => {\r\n enviarCoordenadasApi({\r\n longitude: position.coords.longitude,\r\n latitude: position.coords.latitude\r\n })\r\n }, (error) => {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Ha ocurrido un error y no se pudo obtener las coordenadas.\",\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n });\r\n }\r\n })\r\n } else {\r\n mostrarAdvertencia(\"Modo Offline\", \"Se encuentra en modo offline, no puede actualizar registros.\", \"warning\");\r\n }\r\n }\r\n\r\n const verificarObtencionCoordenadas = () => {\r\n navigator.permissions.query({ name: 'geolocation' }).then(res => {\r\n if (res.state === \"granted\") {\r\n confirmacionCoordenadas();\r\n } else {\r\n Swal.fire({\r\n title: 'Advertencia',\r\n text: \"Habilite la geoposiciĆ³n en su dispositivo para realizar esta acciĆ³n.\",\r\n type: 'warning',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n }).catch(err => {\r\n mensajeErrorCoordenadas()\r\n })\r\n }\r\n\r\n /*if (props.autocompleteValue != null && props.autocompleteValue.EmpresaId.toUpperCase() !== empresa.toUpperCase() && props.autocompleteValue !== false) {\r\n EsVisible = true;\r\n }*/\r\n\r\n let optionsMap = null;\r\n let color = \"#FF0000\";\r\n let zoom = 17;\r\n\r\n if (locationAsesor.latitude && locationAsesor.longitude) {\r\n let distancia = CalcularDistancia(locationAsesor.latitude, locationAsesor.longitude, locationCliente.latitude, locationCliente.longitude)\r\n if (distancia <= parseInt(Configuraciones.DistPermitidaPedido)) {\r\n color = \"#1ECE39\";\r\n }\r\n\r\n optionsMap = {\r\n strokeColor: color,\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: color,\r\n fillOpacity: 0.35,\r\n clickable: false,\r\n draggable: false,\r\n editable: false,\r\n visible: true,\r\n radius: 30000,\r\n zIndex: 1,\r\n }\r\n }\r\n\r\n const mapLocation = () => {\r\n\r\n let initialCoors = { lat: locationCliente.latitude, lng: locationCliente.longitude };\r\n return (\r\n <>\r\n\r\n
    \r\n UbicaciĆ³n:\r\n
    \r\n {locationCliente.latitude != null && gpsActivo && isLoaded ?\r\n
    \r\n\r\n {/*

    {locationCliente.latitude}

    \r\n

    {locationCliente.longitude}

    \r\n\r\n

    {locationAsesor.latitude}

    \r\n

    {locationAsesor.longitude}

    */}\r\n\r\n

    Distancia: {distancia} mtrs

    \r\n\r\n \r\n {(locationAsesor.latitude !== null && locationAsesor.longitude !== null) && }\r\n\r\n {(locationCliente.latitude !== null && locationCliente.longitude !== null) && (<>\r\n \r\n \r\n )}\r\n\r\n \r\n
    \r\n :\r\n
    \r\n UbicaciĆ³n no disponible\r\n
    \r\n }\r\n\r\n\r\n \r\n )\r\n }\r\n\r\n const reservadoCliente = () => {\r\n if (props.autocompleteValue.ReservadoClientePorLinea && props.autocompleteValue.ReservadoClientePorLinea.length === 0) {\r\n return
    Sin pedidos pendientes de facturar.
    \r\n }\r\n\r\n let Abreviacion = props.autocompleteValue.Moneda ? Monedas.find(e => e.IdMoneda === props.autocompleteValue.Moneda) ? Monedas.find(e => e.IdMoneda === props.autocompleteValue.Moneda).Abreviacion : \"\" : \"\";\r\n\r\n return (\r\n <>\r\n
    Pendiente FacturaciĆ³n
    \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.autocompleteValue.ReservadoClientePorLinea.map((reservado, index) => {\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\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    LineaMontoUnidadesAcciones
    {reservado.Linea}{numberWithCommas(reservado.MontoPendiente)}{numberWithCommas(reservado.UnidadesPendientes)}
    Total Reservado{Abreviacion} {numberWithCommas(props.autocompleteValue.ReservadoClientePorLinea.reduce((prev, curr) => prev + curr.MontoPendiente, 0))}{numberWithCommas(props.autocompleteValue.ReservadoClientePorLinea.reduce((prev, curr) => prev + curr.UnidadesPendientes, 0))}
    VALORES DE LOS PEDIDOS NO INCLUYEN ISV.
    \r\n\r\n { setVerPedidoPendientes(false) }} abreviacion={Abreviacion} />\r\n\r\n )\r\n }\r\n\r\n if (props.autocompleteValue) {\r\n let DisponibleTotal = 0;\r\n let ValorCreditoTotal = 0;\r\n let CXCTotal = 0;\r\n let Depto = props.autocompleteValue.ComunidadAutonoma ? Comunidad.find(x => x.STATEID === props.autocompleteValue.ComunidadAutonoma) ? Comunidad.find(x => x.STATEID === props.autocompleteValue.ComunidadAutonoma).NAME : '' : '';\r\n let Abreviacion = props.autocompleteValue.Moneda ? Monedas.find(e => e.IdMoneda === props.autocompleteValue.Moneda) ? Monedas.find(e => e.IdMoneda === props.autocompleteValue.Moneda).Abreviacion : \"\" : \"\";\r\n infoCliente = (\r\n \r\n \r\n {distancia > parseInt(Configuraciones.DistPermitidaPedido) && !permisos.UsuarioOficina && localStorage.getItem('codigo') == Configuraciones.UsuarioTest &&\r\n \r\n

    No puede realizar el pedido, su distancia con el cliente es mayor a {Configuraciones.DistPermitidaPedido} metros - Distancia actual {distancia} metros

    \r\n
    \r\n }\r\n\r\n {locationCliente.latitude == null && localStorage.getItem('codigo') == Configuraciones.UsuarioTest &&\r\n \r\n

    El cliente no tiene una ubicaciĆ³n registrada. Por favor, regĆ­strela y actualice la pĆ”gina.

    \r\n
    \r\n\r\n }\r\n\r\n
    \r\n
    \r\n \r\n
    InformaciĆ³n General
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {(permisos.AsesoresUsuario.length === 1 && locationCliente.latitude > 0 && locationCliente.longitude > 0) && */}\r\n {((locationCliente.latitude == null || locationCliente.longitude == null) && localStorage.getItem('codigo') == Configuraciones.UsuarioTest) &&\r\n \r\n \r\n \r\n \r\n }\r\n \r\n
    \r\n {'Codigo: '}\r\n \r\n {props.autocompleteValue.Codigo}\r\n
    \r\n {'Nombre:'}\r\n \r\n {props.autocompleteValue.Nombre}\r\n
    \r\n {'Conocido como:'}\r\n \r\n {props.autocompleteValue.Alias}\r\n
    \r\n {'Bloqueo Crediticio: '}\r\n \r\n {props.autocompleteValue.FacturacionEntrega}
    \r\n {'Grupo Precios: '}\r\n \r\n {`${props.autocompleteValue.GrupoPrecio} - ${props.autocompleteValue.NombreGrupoPrecio}`}
    \r\n {'Departamento: '}\r\n \r\n {props.autocompleteValue.Departamento}\r\n
    \r\n {'Ciudad: '}\r\n \r\n {props.autocompleteValue.Ciudad}\r\n
    \r\n {'DirecciĆ³n: '}\r\n \r\n {props.autocompleteValue.Direccion}
    \r\n Pinear Coordenada\r\n \r\n \r\n
    \r\n\r\n
    \r\n {FacturacionEntrega}\r\n
    \r\n\r\n
    \r\n {(!BloqueoCredito) &&\r\n
    \r\n \r\n
    InformaciĆ³n Crediticia
    \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.autocompleteValue.Credito.map((credito, index) => {\r\n DisponibleTotal = DisponibleTotal + credito.Disponible;\r\n ValorCreditoTotal = ValorCreditoTotal + credito.Valor;\r\n CXCTotal = CXCTotal + credito.SaldoTotal;\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\n \r\n \r\n \r\n \r\n {props.autocompleteValue.Nombre.includes('CONSUMIDOR FINAL') && }\r\n {props.autocompleteValue.Nombre.includes('CONSUMIDOR FINAL') && }\r\n {props.autocompleteValue.Nombre.includes('CONSUMIDOR FINAL') && }\r\n \r\n \r\n
    \r\n Tipo\r\n \r\n Valor Credito\r\n \r\n Saldo CxC\r\n \r\n Disponible\r\n
    {credito.Tipo} 0 ? 'green' : 'red' }}>{credito.Valor ? numberWithCommas(credito.Valor) : 0}{credito.SaldoTotal ? numberWithCommas(credito.SaldoTotal) : 0} 0 ? 'green' : 'red' }}>{credito.Disponible ? numberWithCommas(credito.Disponible) : 0}
    {Total} 0 ? 'green' : 'red' }}>{Abreviacion} {numberWithCommas(ValorCreditoTotal)}{Abreviacion} {numberWithCommas(CXCTotal)} 0 ? 'green' : 'red' }}>{Abreviacion} {numberWithCommas(DisponibleTotal)}
    \r\n {\r\n let cliente = clientes.find(x => x.id === value);\r\n dispatch({ type: 'SET_CLIENTECONTADO', payload: cliente });\r\n }}\r\n options={clientes.map(cliente => {\r\n return { key: cliente.id, value: cliente.id, text: cliente.Nombre }\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n Cliente Seleccionado: {clienteContado === null ? 'Ninguno' : clienteContado.Nombre}
    \r\n
    \r\n \r\n
    Reporte visitas
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {reservadoCliente()}\r\n
    \r\n
    }\r\n
    \r\n\r\n {!permisos.UsuarioOficina && localStorage.getItem('codigo') == Configuraciones.UsuarioTest &&\r\n
    \r\n {mapLocation()}\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 PedidosCache.length > 0 && localStorage.getItem(\"Conexion\") === \"Online\" &&\r\n
    \r\n Tiene pedidos en bandeja de salida, necesita sincronizar para poder registrar un nuevo pedido.\r\n
    \r\n }\r\n
    \r\n \r\n \"closeicon\" { setOpenContado(false) }} />\r\n \r\n
    \r\n Cliente Contado\r\n
    \r\n
    \r\n \r\n\r\n {props.autocompleteValue !== null && }\r\n\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n Nuevo Pedido\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleOnChange(value)}\r\n options={options}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={Value}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n\r\n localStorage.getItem('codigo') == Configuraciones.UsuarioTest ? (\r\n\r\n (gpsActivo && distancia >= 0 && distancia <= parseInt(Configuraciones.DistPermitidaPedido) && locationCliente.latitude != null) ? (\r\n
    \r\n \r\n Continuar\r\n \r\n
    \r\n ) : (\r\n\r\n

    \r\n )\r\n ) : (\r\n \r\n Continuar\r\n \r\n )}\r\n\r\n \r\n
    \r\n
    \r\n\r\n {(props.autocompleteValue && direccionEntrega) && (
    \r\n
    \r\n

    DirecciĆ³n Entrega: {direccionEntrega.nombreDireccion} - {direccionEntrega.direccion}

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    )}\r\n\r\n {!gpsActivo && !permisos.UsuarioOficina && localStorage.getItem('codigo') == Configuraciones.UsuarioTest &&\r\n \r\n

    Para continuar con el pedido, por favor active el GPS y actualice la pĆ”gina para actualizar su ubicaciĆ³n.

    \r\n
    \r\n }\r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n \r\n
    \r\n {infoCliente}\r\n\r\n \r\n \r\n \r\n\r\n {/*\r\n \r\n */}\r\n\r\n {\r\n props.autocompleteValue &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n HistĆ³rico\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n }\r\n \r\n setOpenModalDirecciones(false)} open={openModalDirecciones} direcciones={props.autocompleteValue == null ? [] : props.autocompleteValue.Direcciones} />\r\n
    \r\n \r\n );\r\n}\r\n\r\nconst ModalDirecciones = ({ open, direcciones, cerrar }) => {\r\n const dispatch = useDispatch();\r\n\r\n const onClickDireccion = (e) => {\r\n dispatch({ type: \"SET_DIRECCIONENTREGA\", payload: e });\r\n cerrar();\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n Seleccionar direcciĆ³n entrega\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
      \r\n {direcciones.map(x => (
    • onClickDireccion(x)} className={`list-group-item d-flex justify-content-between align-items-center mt-3`} key={x.postalAddress}>\r\n
      \r\n

      Nombre direcciĆ³n: {x.nombreDireccion}

      \r\n

      DirecciĆ³n: {x.direccion}

      \r\n

      Tipo: {x.principal ? \"Principal\" : \"Secundaria\"}

      \r\n
      \r\n
    • ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default SelectCliente;\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport {\r\n Button,\r\n} from 'reactstrap';\r\nimport { Menu, MenuItem, Divider, Typography, Zoom } from '@material-ui/core';\r\nimport { useSelector } from 'react-redux';\r\n\r\nconst SelectTipoPedido = (props) => {\r\n const lineaSeleccionada = useSelector(e => e.LineaSeleccionada);\r\n const BloqueoCredito = useSelector(e => e.Permisos[0].BloqueoCredito);\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const [acuerdosSeleccionados, setAcuerdosSeleccionados] = React.useState([]);\r\n const [tipoPedidoSeleccionado, setTipoPedidoSeleccionado] = React.useState(null);\r\n\r\n const handleClick = (event, a, t) => {\r\n setAnchorEl(event.currentTarget);\r\n setAcuerdosSeleccionados(a);\r\n setTipoPedidoSeleccionado(t)\r\n };\r\n\r\n\r\n const acuerdosFiltrados = props.Cliente.AcuerdosVenta.filter(x => x.Linea === lineaSeleccionada.IdLinea);\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n Seleccionar Tipo de Pedido\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {props.tiposPedido.map((tipoPedido) => {\r\n\r\n if (tipoPedido.Aplica_Todos) {\r\n\r\n if (tipoPedido.TipoPedido === \"Contado\") {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n if (!BloqueoCredito) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n }\r\n\r\n let acuerdosFiltradoTipoPedido = acuerdosFiltrados.filter(x => x.IdTipoPedido === tipoPedido.IdTipoPedido);\r\n if (acuerdosFiltradoTipoPedido.length > 0) {\r\n let plural = acuerdosFiltradoTipoPedido.length === 1 ? \"Acuerdo\" : \"Acuerdos\";\r\n return (\r\n
    \r\n \r\n \r\n
  • \r\n \r\n {plural} de Venta\r\n \r\n
  • \r\n \r\n {acuerdosSeleccionados.map((ac, index) => {\r\n let showDivider = !(acuerdosSeleccionados.length - 1 === index);\r\n return (\r\n
    \r\n props.setTipoPedido(tipoPedidoSeleccionado, ac)} >\r\n
    \r\n

    \r\n {'#' + ac.IdAcuerdoxCliente}\r\n

    \r\n
    \r\n {'Saldo: ' + numberWithCommasNoDec(ac.Saldo)}\r\n
    \r\n
    \r\n
    \r\n {\r\n showDivider &&\r\n \r\n }\r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n );\r\n }\r\n\r\n return false;\r\n\r\n })\r\n\r\n }\r\n
    \r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst numberWithCommasNoDec = (x) => {\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\nexport default SelectTipoPedido;","import React from 'react';\r\nimport {\r\n Button,\r\n} from 'reactstrap';\r\nimport { useSelector } from 'react-redux';\r\n\r\nconst SelectBodega = (props) => {\r\n const Bodegas = useSelector(b => b.MaestroBodegaAlmacenes);\r\n const Permisos = useSelector(e => e.Permisos[0]);\r\n\r\n const BodegasOrdenadas = () => {\r\n let bodegas = [];\r\n\r\n for (let bodega of Bodegas) {\r\n if (bodega.BodegaPrincipal) {\r\n bodegas.unshift(bodega);\r\n } else {\r\n bodegas.push(bodega);\r\n }\r\n }\r\n\r\n return bodegas;\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n Seleccionar Bodega\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {BodegasOrdenadas().map((bodega, index) => {\r\n\r\n if (bodega.BodegaPrincipal) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n if (localStorage.getItem(\"Conexion\") === \"Online\" && Permisos.BodegaEspecifico && bodega.EmpresaId.toUpperCase() === props.Cliente.EmpresaId) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n return false;\r\n })\r\n }\r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default SelectBodega;","import React from 'react';\r\nimport Img from 'react-image'\r\nimport { ScaleLoader } from 'react-spinners';\r\nimport {\r\n Card,\r\n CardHeader,\r\n CardMedia,\r\n CardActionArea,\r\n Typography\r\n} from \"@material-ui/core\";\r\nimport nodisponible from 'assets/nodisponible.png';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport {useDispatch,useSelector} from 'react-redux';\r\nimport { verificarConexion } from 'utils/http';\r\nimport { Loading } from 'components/Global/Loading';\r\n\r\nconst Linea = (props) => {\r\n const [Raised, setRaised] = React.useState(false);\r\n const dispatch = useDispatch();\r\n const usuarioOficina = useSelector(e=>e.Permisos[0].UsuarioOficina);\r\n const BodegaSeleccionada = useSelector(e=>e.BodegaSeleccionada);\r\n let imagen = props.Linea.Imagen !== null ? props.Linea.Imagen : nodisponible;\r\n const [loading,setLoading] = React.useState(false);\r\n if (props.Linea.Imagen === null) {\r\n switch (props.Linea.Linea) {\r\n case 'Complementario':\r\n imagen = 'https://img1.theiconic.com.au/bU-XGvyk3KPm0oiRVkaYFIBjdAk=/634x811/filters:quality(95):fill(ffffff)/http%3A%2F%2Fstatic.theiconic.com.au%2Fp%2Fnique-5751-618679-1.jpg';\r\n break;\r\n case 'Denim':\r\n imagen = 'https://img1.theiconic.com.au/mPfUc-yG99_JGPGqOXSyOETirZs=/634x811/filters:quality(95):fill(ffffff)/http%3A%2F%2Fstatic.theiconic.com.au%2Fp%2Ftopshop-7099-995926-3.jpg';\r\n break;\r\n case 'Estampado':\r\n imagen = 'https://img1.theiconic.com.au/9A9b_POtDSWKwcKSPFBW3PeyhLA=/634x811/filters:quality(95):fill(ffffff)/http%3A%2F%2Fstatic.theiconic.com.au%2Fp%2Fstaple-superior-3410-496245-1.jpg';\r\n break;\r\n case 'Tejido de punto':\r\n imagen = \"https://img1.theiconic.com.au/1kLelXjR5ACyG3jzPO_pVIBIiM8=/634x811/filters:quality(95):fill(ffffff)/http%3A%2F%2Fstatic.theiconic.com.au%2Fp%2Fbetty-basics-2335-305479-1.jpg\";\r\n break;\r\n default:\r\n imagen = props.Linea.Imagen != null ? props.Linea.Imagen : nodisponible;\r\n break;\r\n }\r\n }\r\n\r\n const cargarColecciones = async () => {\r\n if (usuarioOficina) {\r\n props.setLinea(props.Linea);\r\n fetch(`${APIURL}/api/colecciones/${props.Linea.IdLinea}/${localStorage.getItem('EmpresaCliente')}/${BodegaSeleccionada.Almacen}/${BodegaSeleccionada.CodigoSitio}`)\r\n .then(res => res.json())\r\n .then(data => dispatch({ type: 'STORE_COLECCIONES', colecciones: data }));\r\n } else {\r\n if (localStorage.getItem(\"Conexion\") === \"offline\") {\r\n props.setLinea(props.Linea);\r\n } else {\r\n setLoading(true);\r\n let isOnline = await verificarConexion();\r\n setLoading(false);\r\n props.setLinea(props.Linea);\r\n if (localStorage.getItem(\"Conexion\") === \"Online\" && isOnline) {\r\n fetch(`${APIURL}/api/colecciones/${props.Linea.IdLinea}/${localStorage.getItem('EmpresaCliente')}/${BodegaSeleccionada.Almacen}/${BodegaSeleccionada.CodigoSitio}`)\r\n .then(res => res.json())\r\n .then(data => dispatch({ type: 'STORE_COLECCIONES', colecciones: data }));\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n setRaised(true)} onMouseLeave={() => setRaised(false)}>\r\n \r\n \r\n \r\n {props.Linea.Linea}\r\n }\r\n style={{ borderBottom: '1px solid #ddd', padding: '10px 16px' }}\r\n />\r\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 Linea;\r\n","import React from 'react';\r\nimport Linea from 'components/Pedidos/SelectLinea/Linea'\r\n\r\n\r\nconst SelectLinea = (props) => {\r\n\r\n return (\r\n <>\r\n\r\n
    \r\n
    \r\n
    \r\n Seleccionar Linea\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {\r\n props.maestroLineas.map((LineaIndividual, index) => {\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\nexport default SelectLinea;","import React, { useState, useEffect } from 'react';\r\nimport styles from 'components/Pedidos/MatrizResumen/MatrizResumen.module.css';\r\nimport PopupState, {\r\n bindTrigger,\r\n bindPopover\r\n} from 'material-ui-popup-state';\r\nimport ToggleIcon from 'material-ui-toggle-icon'\r\nimport { Visibility, VisibilityOff } from '@material-ui/icons'\r\nimport { Popover, Typography, Card, CardContent, CardMedia } from \"@material-ui/core\";\r\nimport CeldaTallas from \"components/Pedidos/Global/CeldaTallas\";\r\nimport { FiTrash2 } from \"react-icons/fi\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Lightbox from 'react-image-lightbox';\r\nimport 'react-image-lightbox/style.css';\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\nimport { useSelector } from 'react-redux';\r\n\r\n\r\nconst ProductoTable = (props) => {\r\n const [dirty, setDirty] = useState(false);\r\n const [SelectedImage, setSelectedImage] = useState(0);\r\n const [hasBackOrder, setHasBackOrder] = useState(\"N\");\r\n const [IsOpen, setIsOpen] = useState(false);\r\n const Configuraciones = useSelector(e => e.Configuraciones);\r\n\r\n let ArregloProductos = Object.keys(props.producto.Colores).map((key) => ([key, props.producto.Colores[key]]));\r\n ArregloProductos.sort((a, b) => a[1].NombreColor < b[1].NombreColor ? -1 : 1)\r\n .sort((a, b) => a[1].StockColor > b[1].StockColor ? 1 : -1)\r\n .sort((a, b) => a[1].Prioridad > b[1].Prioridad ? -1 : 1);\r\n\r\n useEffect(() => {\r\n setDirty(props.mostrarVacios);\r\n cargarBackOrder();\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.mostrarVacios]);\r\n\r\n const EliminarProducto = (grupo, cod, nombre) => {\r\n Swal.fire({\r\n title: 'ĀæEliminar producto?',\r\n text: `Desea eliminar el producto ${nombre}?\\nCĆ³digo: ${cod}`,\r\n type: 'warning',\r\n showCancelButton: true,\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonColor: '#d33',\r\n confirmButtonText: 'Eliminar!',\r\n cancelButtonText: 'Cancelar',\r\n }).then((result) => {\r\n if (result.value) {\r\n props.Eliminar(grupo, cod);\r\n Swal.fire(\r\n {\r\n type: 'success',\r\n title: 'El producto ha sido eliminado',\r\n showConfirmButton: false,\r\n timer: 1500\r\n }\r\n )\r\n }\r\n })\r\n }\r\n\r\n const cargarBackOrder = () => {\r\n setHasBackOrder(Configuraciones.BO)\r\n }\r\n\r\n const onFocus = () => {\r\n setDirty(false);\r\n }\r\n\r\n const onBlur = () => {\r\n setDirty(true);\r\n }\r\n\r\n const handleArrowKeys = (event) => {\r\n if (event.keyCode === 39) {\r\n const form = event.target.form;\r\n const index = Array.prototype.indexOf.call(form, event.target);\r\n if (form.elements[index + 1]) {\r\n form.elements[index + 1].focus();\r\n }\r\n event.preventDefault();\r\n }\r\n else if (event.keyCode === 37) {\r\n const form = event.target.form;\r\n const index = Array.prototype.indexOf.call(form, event.target);\r\n if (form.elements[index - 1]) {\r\n form.elements[index - 1].focus();\r\n }\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n let productoTable = (\r\n <>\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {props.codigoProducto}\r\n
    \r\n
    {props.producto.NombreProducto}
    \r\n
    \r\n
    \r\n \r\n {popupState => {\r\n return (\r\n <>\r\n
    \r\n }\r\n offIcon={}\r\n style={{ width: '20px', height: '20px', cursor: 'pointer' }}\r\n />\r\n
    \r\n\r\n\r\n \r\n\r\n \r\n {\r\n props.producto.ListaImagenes ?\r\n
    setIsOpen(true)}>\r\n \r\n {IsOpen && (\r\n setIsOpen(false)}\r\n onMovePrevRequest={() =>\r\n setSelectedImage((SelectedImage + props.producto.ListaImagenes.length - 1) % props.producto.ListaImagenes.length)\r\n }\r\n onMoveNextRequest={() =>\r\n setSelectedImage((SelectedImage + 1) % props.producto.ListaImagenes.length)\r\n }\r\n />\r\n )}\r\n
    \r\n :\r\n \r\n }\r\n \r\n \r\n {props.producto.NombreProducto}\r\n \r\n \r\n {props.codigoProducto}\r\n \r\n \r\n
    \r\n \r\n \r\n )\r\n }\r\n }\r\n
    \r\n
    \r\n EliminarProducto(props.grupoTalla, props.codigoProducto, props.producto.NombreProducto)} />\r\n {props.producto.CantidadMinima > 0 && Este producto se vende en mĆŗltiplos de {props.producto.CantidadMinima}}\r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n {ArregloProductos.map((codigoColor, index2) => {\r\n let color = codigoColor[1];\r\n var totalXColor = 0;\r\n let cantidadTotalXColor = 0;\r\n\r\n // var totalPrecioXColor = 0;\r\n\r\n return (\r\n \r\n \r\n \r\n {popupState => {\r\n\r\n if (color.ListaImagenes.length !== 0) {\r\n return (\r\n <>\r\n
    \r\n }\r\n offIcon={}\r\n style={{ width: '20px', height: '20px', cursor: 'pointer' }}\r\n />\r\n
    \r\n\r\n {\r\n popupState.isOpen &&\r\n \r\n setSelectedImage((SelectedImage + color.ListaImagenes.length - 1) % color.ListaImagenes.length)\r\n }\r\n onMoveNextRequest={() =>\r\n setSelectedImage((SelectedImage + 1) % color.ListaImagenes.length)\r\n }\r\n />\r\n\r\n }\r\n \r\n )\r\n }\r\n return null\r\n }\r\n }\r\n
    \r\n {/*
    */}\r\n {color.NombreColor}\r\n \r\n {\r\n Object.keys(color.Tallas).map((codigoTalla, index3) => {\r\n var valorTalla = color.Tallas[codigoTalla];\r\n var backOrder = (valorTalla.Cantidad > valorTalla.Disponible) ? (valorTalla.Cantidad - valorTalla.Disponible) : 0;\r\n\r\n\r\n let cantidadXTalla = (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n let totalXTalla = cantidadXTalla * valorTalla.Precio;\r\n cantidadTotalXColor += cantidadXTalla;\r\n totalXColor = parseInt(totalXColor, 10) + totalXTalla;\r\n\r\n\r\n return (\r\n \r\n )\r\n })\r\n }\r\n {cantidadTotalXColor}\r\n\r\n {props.numberWithCommas(totalXColor)}\r\n \r\n )\r\n })}\r\n \r\n )\r\n\r\n return productoTable;\r\n}\r\nconst areEqual = (prevProps, nextProps) => {\r\n return false;\r\n // let iguales = prevProps.filtroAtributos === nextProps.filtroAtributos;\r\n // iguales = iguales && prevProps.coleccion === nextProps.coleccion;\r\n}\r\nexport default React.memo(ProductoTable, areEqual);\r\n","import React, { useState } from 'react';\r\nimport styles from 'components/Pedidos/MatrizResumen/MatrizResumen.module.css';\r\nimport ProductoTable from 'components/Pedidos/MatrizResumen/ProductoTable';\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardHeader from '@material-ui/core/CardHeader';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\nimport {useSelector} from 'react-redux';\r\n\r\nconst MatrizResumen = (props) => {\r\n const [mostrarVacios, setMostrarVacios] = useState(false);\r\n\r\n const coleccion = useSelector(e=>e.coleccion.Edades);\r\n const productoImpuestos = useSelector(e=>e.ProductoImpuestos);\r\n const clienteImpuestos = useSelector(e=>e.ClienteImpuestos);\r\n const cliente = useSelector(e=>e.cliente);\r\n const clienteImpuesto = clienteImpuestos.find(x=>x.GRUPO===cliente.GrupoImpuesto);\r\n let gruposTalla = Object.keys(props.tableValue);\r\n let unidadesTotales = 0;\r\n let totalGlobal = 0.00;\r\n let impuesto = 0;\r\n let moneda = (props.Cliente !== null) ? ((props.Cliente.Moneda !== null && props.Cliente.Moneda !== '') ? props.Cliente.Moneda : 'Lps') : 'Lps';\r\n let productosSinCantindad = false;\r\n \r\n localStorage.removeItem(\"PosicionProducto\");\r\n const onContinuar = () => {\r\n if (productosSinCantindad) {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: \"Ha dejado productos con cantidades igual a 0 , los cuales no se tomaran en cuenta. Desea continuar?\",\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#d33',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Corregir',\r\n }).then((result) => {\r\n if (result.value) {\r\n props.mostrarResumen();\r\n } else {\r\n setMostrarVacios(true);\r\n }\r\n })\r\n } else {\r\n props.mostrarResumen();\r\n }\r\n }\r\n \r\n const findProduct=(codigo)=>\r\n {\r\n for(const edades of coleccion)\r\n {\r\n for(const producto of edades.ProductosXEdad)\r\n {\r\n if(producto.ProductoId===codigo){\r\n return producto;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\"Matriz\"}\r\n }\r\n style={{ borderBottom: '1px solid #ddd', padding: '10px 16px' }}\r\n />\r\n \r\n
    \r\n {gruposTalla.map((grupoTalla, index) => {\r\n\r\n var productos = Object.keys(props.tableValue[grupoTalla].Productos);\r\n var tallas = props.tableValue[grupoTalla].ListaTallas;\r\n\r\n if (props.tableValue[grupoTalla].Mostrar) {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {tallas.map((talla, index) => {\r\n return (\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n {productos.map((codigoProducto, index1) => {\r\n let prod = findProduct(codigoProducto);\r\n const productoImpuesto = productoImpuestos.find(x=>x.GRUPO===prod.GrupoImpuesto).IMPUESTO;\r\n let producto = props.tableValue[grupoTalla].Productos[codigoProducto];\r\n let productoConCantindad = false;\r\n let precio = producto.Precio.find(precioxProd => {\r\n return precioxProd.GrupoPrecio === props.Cliente.GrupoPrecio;\r\n });\r\n if (precio === undefined) {\r\n precio = { Precio: 0 };\r\n }\r\n if (producto.Selected) {\r\n Object.keys(producto.Colores).forEach((codigoColor) => {\r\n let color = producto.Colores[codigoColor];\r\n Object.keys(color.Tallas).forEach((codigoTalla) => {\r\n let valorTalla = color.Tallas[codigoTalla];\r\n let cantidadXTalla = (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n productoConCantindad = productoConCantindad || (cantidadXTalla > 0);\r\n unidadesTotales = parseInt(unidadesTotales, 10) + cantidadXTalla;\r\n totalGlobal = (precio.Precio * cantidadXTalla) + totalGlobal;\r\n\r\n if(clienteImpuesto.IMPUESTO!==0){\r\n impuesto = ((precio.Precio * cantidadXTalla)*productoImpuesto)+impuesto;\r\n localStorage.setItem('Impuesto',impuesto);\r\n } \r\n });\r\n });\r\n productosSinCantindad = productosSinCantindad || (!productoConCantindad);\r\n return (\r\n \r\n )\r\n }\r\n return false;\r\n })}\r\n \r\n
    \r\n\r\n \r\n {talla.Talla}\r\n CantidadTotal
    \r\n
    \r\n )\r\n }\r\n return false;\r\n })}\r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n Unidades: {numberWithCommasNoDec(unidadesTotales)}\r\n
    \r\n
    \r\n Subtotal: {moneda} {numberWithCommas(totalGlobal)}\r\n
    \r\n
    \r\n ISV: {moneda} {numberWithCommas(impuesto)}\r\n
    \r\n
    \r\n Total: {moneda} {numberWithCommas(totalGlobal +impuesto)}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\n\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nconst numberWithCommasNoDec = (x) => {\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\nconst areEqual = (prevProps, nextProps) => {\r\n return false;\r\n // let iguales = prevProps.filtroAtributos === nextProps.filtroAtributos;\r\n // iguales = iguales && prevProps.coleccion === nextProps.coleccion;\r\n}\r\nexport default React.memo(MatrizResumen, areEqual);\r\n","import React, { useState } from 'react';\r\nimport styles from 'components/Pedidos/MatrizResumen/MatrizResumenExpandable.module.css';\r\nimport ProductoTable from 'components/Pedidos/MatrizResumen/ProductoTable';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport {\r\n Card,\r\n CardContent,\r\n CardHeader,\r\n ExpansionPanel,\r\n ExpansionPanelDetails,\r\n ExpansionPanelSummary,\r\n Popover,\r\n Box,\r\n Typography\r\n} from '@material-ui/core';\r\nimport PopupState, { bindTrigger, bindPopover } from 'material-ui-popup-state';\r\nimport { InfoOutlined } from \"@material-ui/icons\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\nimport {useSelector} from 'react-redux';\r\n\r\n\r\nconst MatrizResumen = (props) => {\r\n const [mostrarVacios, setMostrarVacios] = useState(false);\r\n const [expanded, setExpanded] = React.useState(false);\r\n\r\n const Monedas = useSelector(e=>e.AbreviacionMonedas);\r\n const AcuerdoVenta = useSelector(e=>e.AcuerdoVenta);\r\n let referenceCantidad = [];\r\n let referenceTotal = [];\r\n let gruposTalla = Object.keys(props.tableValue);\r\n let unidadesTotales = 0;\r\n let totalGlobal = 0.00;\r\n let impuesto = 0;\r\n const moneda = Monedas.find(e=>e.IdMoneda === props.Cliente.Moneda).Abreviacion;\r\n let productosSinCantindad = false;\r\n\r\n const coleccion = useSelector(e=>e.coleccion.Edades);\r\n const productoImpuestos = useSelector(e=>e.ProductoImpuestos);\r\n const clienteImpuestos = useSelector(e=>e.ClienteImpuestos);\r\n const cliente = useSelector(e=>e.cliente);\r\n const clienteImpuesto = clienteImpuestos.find(x=>x.GRUPO===cliente.GrupoImpuesto);\r\n const configuracionBaseColor = useSelector(x=>x.configuracionBaseColor);\r\n const configuracionBaseColorPais = configuracionBaseColor.filter(x=>x.empresa===cliente.Codigo.split('-')[0]);\r\n\r\n const findProduct=(codigo)=>\r\n {\r\n for(const edades of coleccion)\r\n {\r\n for(const producto of edades.ProductosXEdad)\r\n {\r\n if(producto.ProductoId===codigo){\r\n return producto;\r\n }\r\n }\r\n }\r\n }\r\n\r\n const onContinuar = () => {\r\n if (AcuerdoVenta) {\r\n if (AcuerdoVenta.Saldo < (totalGlobal + impuesto)) {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'No se puede procesar el pedido ya que excede el limite del acuerdo.',\r\n type: 'warning',\r\n });\r\n return;\r\n }\r\n }\r\n \r\n if (productosSinCantindad) {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: \"Ha dejado productos con cantidades igual a 0 , los cuales no se tomaran en cuenta. Desea continuar?\",\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#d33',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Corregir',\r\n }).then((result) => {\r\n if (result.value) {\r\n props.mostrarResumen();\r\n } else {\r\n setMostrarVacios(true);\r\n }\r\n })\r\n } else {\r\n props.mostrarResumen();\r\n }\r\n\r\n }\r\n\r\n const handleChange = panel => (event, isExpanded) => {\r\n setExpanded(isExpanded ? panel : false);\r\n };\r\n\r\n const Headers = (array) => {\r\n return (\r\n \r\n \r\n {\r\n array.map((dist, index) => {\r\n return (\r\n {dist.NombreTalla}\r\n )\r\n })\r\n }\r\n \r\n\r\n \r\n )\r\n }\r\n\r\n const TableBody = (array) => {\r\n return (\r\n \r\n \r\n {\r\n array.map((dist, index) => {\r\n return (\r\n {dist.Cantidad}\r\n )\r\n })\r\n }\r\n \r\n \r\n )\r\n }\r\n\r\n const checkDist = (array) => {\r\n let found = false;\r\n array.map((talla) => {\r\n talla.Distribucion.map(() => {\r\n found = true;\r\n return false;\r\n })\r\n return false;\r\n })\r\n return found;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n

    Matriz

    \r\n }\r\n style={{ borderBottom: '1px solid #ddd', padding: '10px 16px' }}\r\n />\r\n \r\n
    \r\n {gruposTalla.map((grupoTalla, index) => {\r\n let productos = Object.keys(props.tableValue[grupoTalla].Productos);\r\n if (props.tableValue[grupoTalla].Mostrar) {\r\n return (\r\n productos.map((codigoProducto, index1) => {\r\n const prod = findProduct(codigoProducto); \r\n \r\n let producto = props.tableValue[grupoTalla].Productos[codigoProducto];\r\n producto = {...producto,CantidadMinima:prod.CantidadMinima,StockVisible:prod.StockVisible};\r\n let tallas = props.tableValue[grupoTalla].Productos[codigoProducto].ListaTallas;\r\n let IsDist = checkDist(tallas);\r\n let productoConCantindad = false;\r\n if (producto.Selected) {\r\n Object.keys(producto.Colores).forEach((codigoColor) => {\r\n let color = producto.Colores[codigoColor];\r\n Object.keys(color.Tallas).forEach((codigoTalla) => {\r\n let productoImpuesto = productoImpuestos.find(x=>x.GRUPO===prod.GrupoImpuesto).IMPUESTO;\r\n let valorTalla = color.Tallas[codigoTalla];\r\n let precio = { Precio: (valorTalla.Precio? valorTalla.Precio:0) }; \r\n let cantidadXTalla = (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n productoConCantindad = productoConCantindad || (cantidadXTalla > 0);\r\n unidadesTotales = parseInt(unidadesTotales, 10) + cantidadXTalla;\r\n totalGlobal = (precio.Precio * cantidadXTalla) + totalGlobal;\r\n\r\n if (prod.atributo) {\r\n let configuracionBaseColorImpuesto = configuracionBaseColorPais.find(x => x.codigobase === prod.atributo.codigo && x.color === codigoColor);\r\n if (configuracionBaseColorImpuesto) {\r\n productoImpuesto = configuracionBaseColorImpuesto.impuesto;\r\n }\r\n }\r\n\r\n if (clienteImpuesto.IMPUESTO !== 0) {\r\n if (cliente.IncluyeImpuesto) {\r\n let nuevoImpuesto = ((precio.Precio * cantidadXTalla) * productoImpuesto);\r\n totalGlobal -= nuevoImpuesto;\r\n impuesto = nuevoImpuesto + impuesto;\r\n localStorage.setItem('Impuesto', impuesto);\r\n } else {\r\n \r\n impuesto = ((precio.Precio * cantidadXTalla) * productoImpuesto) + impuesto;\r\n localStorage.setItem('Impuesto', impuesto);\r\n }\r\n }\r\n });\r\n });\r\n productosSinCantindad = productosSinCantindad || (!productoConCantindad);\r\n let expandido = expanded === producto.NombreProducto + index1;\r\n\r\n let classes = \"w-100 my-2 rounded \";\r\n let sinProductos = { background: 'orange', color: 'black' };\r\n if (mostrarVacios) {\r\n if (!productoConCantindad) {\r\n classes += styles.BorderExpansionWarning;\r\n }\r\n else {\r\n classes += styles.BorderExpansion;\r\n sinProductos = { background: \"#fff\" };\r\n }\r\n }\r\n else {\r\n classes += styles.BorderExpansion;\r\n sinProductos = { background: \"#fff\" };\r\n }\r\n\r\n var Totales = getTotales(producto, props.Cliente);\r\n\r\n return (\r\n
    \r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n style={sinProductos}\r\n >\r\n
    \r\n
    \r\n {producto.NombreProducto}\r\n
    \r\n
    \r\n {codigoProducto}\r\n
    \r\n
    \r\n \r\n Unidades:\r\n { referenceCantidad[index + '' + index1] = input }}>\r\n {numberWithCommasNoDec(Totales.totalCantidad)}\r\n \r\n \r\n
    \r\n
    \r\n \r\n Total: {moneda}\r\n { referenceTotal[index + '' + index1] = input }}>\r\n {numberWithCommas(Totales.totalPrecio)}\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n {\r\n expandido &&\r\n
    \r\n \r\n \r\n \r\n \r\n {tallas.map((talla, index) => {\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\n Color\r\n \r\n \r\n
    \r\n {\r\n talla.Distribucion.length !== 0 &&\r\n \r\n {popupState => (\r\n <>\r\n
    \r\n {talla.Talla}\r\n \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n {talla.Distribucion[0].NombreDistribucion}\r\n \r\n
    \r\n
    \r\n \r\n {Headers(talla.Distribucion)}\r\n {TableBody(talla.Distribucion)}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n )}\r\n
    \r\n }\r\n\r\n {\r\n talla.Distribucion.length === 0 &&
    {talla.Talla}
    \r\n }\r\n\r\n
    \r\n \r\n
    CantidadTotal
    \r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n return false;\r\n })\r\n )\r\n }\r\n return false;\r\n })}\r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n Unidades: {numberWithCommasNoDec(unidadesTotales)}\r\n
    \r\n
    \r\n Subtotal: {moneda} {numberWithCommas(totalGlobal)}\r\n
    \r\n
    \r\n ISV: {moneda} {numberWithCommas(impuesto)}\r\n
    \r\n
    \r\n Total: {moneda} {numberWithCommas(totalGlobal +impuesto)}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\n\r\nconst getTotales = (producto, Cliente) => {\r\n let Totales = { totalCantidad: 0, totalPrecio: 0 };\r\n\r\n Object.keys(producto.Colores).map((codigoColor, index2) => {\r\n let color = producto.Colores[codigoColor];\r\n var totalXColor = 0;\r\n var totalPrecioXColor = 0;\r\n\r\n Object.keys(color.Tallas).map((codigoTalla, index3) => {\r\n var valorTalla = color.Tallas[codigoTalla];\r\n totalXColor = parseInt(totalXColor, 10) + (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n totalPrecioXColor += (valorTalla.Precio ? valorTalla.Precio: 0)*valorTalla.Cantidad;\r\n return false;\r\n })\r\n Totales.totalCantidad += totalXColor;\r\n Totales.totalPrecio += totalPrecioXColor;\r\n return false;\r\n })\r\n return Totales;\r\n}\r\n\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nconst numberWithCommasNoDec = (x) => {\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\nconst areEqual = (prevProps, nextProps) => {\r\n return false;\r\n // let iguales = prevProps.filtroAtributos === nextProps.filtroAtributos;\r\n // iguales = iguales && prevProps.coleccion === nextProps.coleccion;\r\n}\r\nexport default React.memo(MatrizResumen, areEqual);\r\n","import React from 'react';\r\nimport styles from 'components/Pedidos/ResumenPedido/ResumenPedido.module.css';\r\nimport 'components/Pedidos/ResumenPedido/recibo.css';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardHeader from '@material-ui/core/CardHeader';\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport { ScaleLoader } from 'react-spinners';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport SignatureCanvas from 'react-signature-canvas';\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Dropdown } from \"semantic-ui-react/\";\r\nimport CancelPresentationIcon from '@material-ui/icons/CancelPresentation';\r\nimport ClienteContado from '../SelectCliente/ClienteContado';\r\n\r\nconst ResumenPedido = (props) => {\r\n\r\n let fechaInicioEntrega = moment().toDate();\r\n let fechaMinimaEntrega = moment().toDate();\r\n\r\n if(props.coleccion.ColeccionTipo === \"F\"){\r\n fechaInicioEntrega = moment(props.coleccion.EntregaFinal).toDate();\r\n fechaMinimaEntrega = moment(props.coleccion.EntregaInicio).toDate()\r\n }else{\r\n fechaInicioEntrega = moment(fechaInicioEntrega, \"DD-MM-YYYY\").add(3, 'days');\r\n fechaMinimaEntrega = moment(fechaMinimaEntrega, \"DD-MM-YYYY\").add(2, 'days');\r\n\r\n if(fechaInicioEntrega.day()===0){\r\n fechaInicioEntrega = moment(fechaInicioEntrega, \"DD-MM-YYYY\").add(1, 'days');\r\n }\r\n }\r\n\r\n const [firma, setFirma] = React.useState(null);\r\n const [mostrarFirma, setMostrarFirma] = React.useState(false);\r\n const [ErrorFecha, setErrorFecha] = React.useState(false);\r\n const [ErrorFirma, setErrorFirma] = React.useState(true);\r\n const [FechaEntrega, setFechaEntrega] = React.useState(fechaInicioEntrega);\r\n const TipoCredito = useSelector(e => e.TipoPedido);\r\n var sigPad = {};\r\n const [flete, setFlete] = React.useState(0);\r\n const [openContado, setOpenContado] = React.useState(false);\r\n const clienteContado = useSelector(e => e.clienteContado);\r\n const BloqueoCredito = useSelector(e=>e.Permisos[0].BloqueoCredito);\r\n const empresas = useSelector(e => e.Empresas);\r\n const empresa = empresas.find(x => x.COMPANY_CODE === localStorage.getItem('empresa').toUpperCase());\r\n let comunidadSelected = \"\";\r\n let modoEntrega = \"\";\r\n let habilitado = false;\r\n\r\n if (clienteContado === null) {\r\n if (props.Cliente.ComunidadAutonoma !== \"\") {\r\n comunidadSelected = props.Cliente.ComunidadAutonoma;\r\n habilitado = true;\r\n }\r\n\r\n if (props.Cliente.ModoEntrega !== \"\") {\r\n modoEntrega = props.Cliente.ModoEntrega;\r\n }\r\n }\r\n\r\n let pais = \"HND\";\r\n if(localStorage.getItem('empresa')==='IMGT'){\r\n pais = \"GTM\"\r\n }else if (localStorage.getItem('empresa')==='imcr'){\r\n pais = \"CRI\";\r\n }\r\n else if (localStorage.getItem('empresa')==='imsl'){\r\n pais = \"SLV\";\r\n }\r\n\r\n const dispatch = useDispatch();\r\n const impuesto = Number(localStorage.getItem('Impuesto'));\r\n const lineaSeleccionada = useSelector(e => e.LineaSeleccionada);\r\n\r\n const requiereEntrega = useSelector(e => e.requiereEntrega);\r\n const empresasTransporte = useSelector(e => e.empresasTransporte);\r\n const precioCajas = useSelector(e => e.precioCajas);\r\n const comunidadesAutonomas = useSelector(e => e.comunidadesAutonomas);\r\n const [transporte, setTransporte] = React.useState(modoEntrega);\r\n const [comunidad, setComunidad] = React.useState(comunidadSelected);\r\n const esBiomedico = (lineaSeleccionada.IdLinea === \"BIO\" && requiereEntrega);\r\n const Monedas = useSelector(e=>e.AbreviacionMonedas);\r\n\r\n var gruposTalla = Object.keys(props.tableValue);\r\n var unidadesTotales = 0;\r\n var totalGlobal = 0.00;\r\n\r\n const moneda = Monedas.find(e=>e.IdMoneda === props.Cliente.Moneda).Abreviacion;\r\n const calcularFlete = () => {\r\n if (comunidad === \"\" || transporte === \"\") {\r\n return 0;\r\n }\r\n\r\n const precioCaja = precioCajas.find(x => x.STATE === comunidad && x.CODE === transporte);\r\n if (precioCaja === null || precioCaja === undefined) {\r\n return 0;\r\n }\r\n\r\n const multiploCaja = empresasTransporte.find(x => x.CODE === transporte);\r\n if (multiploCaja === null || multiploCaja === undefined || multiploCaja.MULTIPLO === 0) {\r\n return 0;\r\n }\r\n\r\n let division = parseFloat(unidadesTotales) / parseFloat(multiploCaja.MULTIPLO);\r\n\r\n if (!(division % 1 === 0)) {\r\n division += 1;\r\n }\r\n\r\n let cajas = Math.trunc(division);\r\n\r\n if (cajas === 0) {\r\n cajas = 1;\r\n }\r\n\r\n const impuestoLocal = 0.15;\r\n\r\n const valorImpuesto = (cajas * precioCaja.UNITVALUEBOXES) * impuestoLocal;\r\n const valorFlete = (cajas * precioCaja.UNITVALUEBOXES) + valorImpuesto;\r\n\r\n return valorFlete;\r\n }\r\n\r\n const closeDialogFirma = () => {\r\n if (sigPad.isEmpty()) {\r\n setMostrarFirma(false);\r\n setFirma(null);\r\n props.guardarFirma(null);\r\n setErrorFirma(true);\r\n }\r\n else {\r\n setMostrarFirma(false);\r\n setFirma(sigPad.getCanvas().toDataURL('image/png'));\r\n props.guardarFirma(sigPad.getCanvas().toDataURL('image/png'));\r\n setErrorFirma(false);\r\n }\r\n }\r\n const clearFirma = () => {\r\n sigPad.clear();\r\n }\r\n\r\n const ApruebaBio = () => {\r\n return clienteContado !== null\r\n && clienteContado.RTN === ''\r\n && lineaSeleccionada.IdLinea === \"BIO\"\r\n && ((totalGlobal + impuesto) + flete) > 10000;\r\n }\r\n\r\n const correlativoCache = (correlativo) => {\r\n if (correlativo === \"\") {\r\n if (localStorage.getItem(\"CorrelativoPedido\") === undefined || localStorage.getItem(\"CorrelativoPedido\") === null) {\r\n localStorage.setItem(\"CorrelativoPedido\", localStorage.getItem(\"CorrelativoPedidoDiario\"));\r\n }\r\n else {\r\n let CorrelativoActual = localStorage.getItem(\"CorrelativoPedido\");\r\n let Iniciales = CorrelativoActual.substring(0, CorrelativoActual.lastIndexOf('-') + 1);\r\n let NumeroActual = CorrelativoActual.substring(CorrelativoActual.lastIndexOf('-') + 1);\r\n let NumeroSiguiente = Number(NumeroActual) + 1;\r\n localStorage.setItem(\"CorrelativoPedido\", Iniciales + NumeroSiguiente);\r\n }\r\n } else {\r\n localStorage.setItem(\"CorrelativoPedido\", correlativo)\r\n }\r\n }\r\n\r\n const Finalizar = async () => {\r\n props.guardarFecha(FechaEntrega);\r\n if (ApruebaBio()) {\r\n setOpenContado(true);\r\n } else {\r\n if (!props.loadingRecibo) {\r\n if (ErrorFecha || ErrorFirma) {\r\n\r\n var mensajeError = 'Error'\r\n if (ErrorFirma) {\r\n mensajeError = 'Ingrese Firma';\r\n }\r\n else if (ErrorFecha) {\r\n mensajeError = 'Fecha Entrega no es vĆ”lida';\r\n }\r\n\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Error',\r\n text: mensajeError,\r\n })\r\n\r\n props.desactivarLoading();\r\n }\r\n else {\r\n if (props.NumeroOrden) {\r\n props.FinalizarPedidoOnline();\r\n } else {\r\n if ((props.Cliente.FacturacionEntrega !== \"No\" && props.Cliente.FacturacionEntrega !== \"Nunca\")) {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'El pedido serĆ” subido a AX pero no serĆ” autorizado automĆ”ticamente, porque el cliente actualmente se encuentra con bloqueo Ć³ en mora.',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then(async (result) => {\r\n if (result.value) {\r\n const { correlativo } = await props.obtenerUltimoCorrelativo();\r\n correlativoCache(correlativo);\r\n props.enviarPedido(correlativo);\r\n }\r\n })\r\n } else if ((totalGlobal + impuesto) > props.Cliente.CreditoDisponible && TipoCredito.TipoPedido !== 'Contado') {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'El pedido serĆ” subido a AX pero no serĆ” autorizado automĆ”ticamente, porque superĆ³ su lĆ­mite de crĆ©dito.',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then(async (result) => {\r\n if (result.value) {\r\n const { correlativo } = await props.obtenerUltimoCorrelativo();\r\n correlativoCache(correlativo);\r\n props.enviarPedido(correlativo);\r\n }\r\n })\r\n }\r\n else {\r\n const { correlativo } = await props.obtenerUltimoCorrelativo();\r\n correlativoCache(correlativo);\r\n props.enviarPedido(correlativo);\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n const cancelarReinicio = e => {\r\n if (e.which === 116) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n window.addEventListener('keydown', cancelarReinicio);\r\n return () => {\r\n window.removeEventListener('keydown', cancelarReinicio);\r\n }\r\n }, [])\r\n\r\n React.useEffect(() => {\r\n if (lineaSeleccionada.IdLinea === \"BIO\" && props.Cliente.Codigo.includes('IMHN')) {\r\n const valorFlete = calcularFlete();\r\n setFlete(valorFlete)\r\n dispatch({ type: 'SET_FLETE', payload: valorFlete });\r\n }\r\n // eslint-disable-next-line\r\n }, [comunidad, transporte]);\r\n const onChangeDate = (date) => {\r\n setFechaEntrega(date);\r\n props.guardarFecha(date);\r\n }\r\n\r\n const onErrorDate = (date) => {\r\n //setErrorFecha(true);\r\n }\r\n\r\n const onAcceptDate = (date) => {\r\n setErrorFecha(false);\r\n props.guardarFecha(date);\r\n }\r\n\r\n const HeadersDetallePedido = [\r\n {\r\n name: \"Producto\",\r\n label: \"Producto\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Nombre\",\r\n label: \"Nombre\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Cantidad\",\r\n label: \"Cantidad\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Total\",\r\n label: \"Total\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n }\r\n ];\r\n\r\n var DataDetallePedido = [];\r\n gruposTalla.forEach((grupoTalla, index) => {\r\n var productos = Object.keys(props.tableValue[grupoTalla].Productos);\r\n if (props.tableValue[grupoTalla].Mostrar) {\r\n\r\n productos.forEach((codigoProducto) => {\r\n var producto = props.tableValue[grupoTalla].Productos[codigoProducto];\r\n let ColoresProductos = Object.keys(producto.Colores).map((key) => (producto.Colores[key]));\r\n ColoresProductos.sort((a, b) => a.NombreColor < b.NombreColor ? -1 : 1);\r\n\r\n var precio = producto.Precio.find(precioxProd => {\r\n return precioxProd.GrupoPrecio === props.Cliente.GrupoPrecio;\r\n });\r\n if (precio === undefined) {\r\n precio = {\r\n Precio: 0\r\n }\r\n }\r\n if (producto.Selected) {\r\n var totalXProducto = 0;\r\n var cantidadTotal = 0;\r\n var Datos = [];\r\n let TotalPrecio = 0;\r\n ColoresProductos.forEach(codigoColor => {\r\n var dato = {\r\n color: codigoColor.NombreColor,\r\n tallasXcolor: [],\r\n cantidadTotal: 0,\r\n total: 0.00\r\n }\r\n Object.keys(codigoColor.Tallas).forEach(codigoTalla => {\r\n var talla = {\r\n codigoTalla: codigoTalla,\r\n cantidad: (isNaN(parseInt(codigoColor.Tallas[codigoTalla].Cantidad, 10))) ? 0 : parseInt(codigoColor.Tallas[codigoTalla].Cantidad, 10),\r\n precio: numberWithCommas(codigoColor.Tallas[codigoTalla].Precio)\r\n }\r\n cantidadTotal = parseInt(cantidadTotal, 10) + talla.cantidad;\r\n dato.tallasXcolor.push(talla);\r\n dato.cantidadTotal += talla.cantidad;\r\n dato.total = dato.total + (codigoColor.Tallas[codigoTalla].Precio * talla.cantidad)\r\n TotalPrecio+=((codigoColor.Tallas[codigoTalla].Precio * talla.cantidad));\r\n });\r\n Datos.push(dato);\r\n });\r\n if (cantidadTotal > 0) {\r\n totalXProducto = TotalPrecio;\r\n unidadesTotales = unidadesTotales + cantidadTotal;\r\n totalGlobal = totalGlobal + totalXProducto;\r\n DataDetallePedido.push({\r\n Producto: codigoProducto,\r\n Nombre: producto.NombreProducto,\r\n Cantidad: numberWithCommasNoDec(cantidadTotal),\r\n Total: numberWithCommas(totalXProducto),\r\n ExpandedRow: {\r\n ListaTallas: producto.ListaTallas,\r\n Datos: Datos\r\n }\r\n });\r\n\r\n }\r\n }\r\n });\r\n\r\n }\r\n }\r\n );\r\n const DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n expandableRows: true,\r\n expandableRowsOnClick: true,\r\n selectableRows: 'none',\r\n renderExpandableRow: (rowData, rowMeta) => {\r\n const colSpan = rowData.length + 1;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {DataDetallePedido[rowMeta.dataIndex].ExpandedRow.ListaTallas.map((talla, index) => {\r\n return (\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n {DataDetallePedido[rowMeta.dataIndex].ExpandedRow.Datos.map((dato, index) => {\r\n if (dato.total !== 0) {\r\n return (\r\n \r\n \r\n {dato.tallasXcolor.map((tallaXColor, index2) => {\r\n return ()\r\n })}\r\n \r\n \r\n \r\n )\r\n }\r\n return false;\r\n })}\r\n\r\n\r\n\r\n \r\n
    \r\n Color\r\n \r\n {talla.Talla}\r\n \r\n Cantidad\r\n \r\n Total\r\n
    {dato.color}\r\n
    \r\n
    \r\n {\"Precio : \" + tallaXColor.precio}\r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n\r\n
    \r\n {dato.cantidadTotal}\r\n \r\n {numberWithCommas(dato.total)}\r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n },\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Click para Todos >\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\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 {\"Resumen Matriz\"}\r\n }\r\n className={styles.ResumenCardHeader}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n (firma !== null) &&\r\n
    \r\n\r\n
    \r\n Firma:\r\n
    \r\n
    \r\n setMostrarFirma(true)}\r\n style={{\r\n width: '350px',\r\n height: '200px',\r\n }} />\r\n
    \r\n\r\n
    \r\n }\r\n\r\n {\r\n (!(firma !== null)) && \r\n }\r\n
    \r\n
    \r\n (e.day()===0)}\r\n onError={(error) => onErrorDate(error)}\r\n onAccept={(date) => onAcceptDate(date)}\r\n maxDateMessage={(props.coleccion.ColeccionTipo === \"F\") ? \"La fecha es menor que la fecha final de entrega\" : \"Fecha no es vƔlida\"}\r\n minDateMessage={(props.coleccion.ColeccionTipo === \"F\") ? \"La fecha es menor que la fecha inicial de entrega\" : \"Fecha no es vƔlida\"}\r\n value={FechaEntrega}\r\n minDate={fechaMinimaEntrega}\r\n maxDate={(props.coleccion.ColeccionTipo === \"F\") ? moment(props.coleccion.EntregaFinal).toDate() : moment('2100-01-01').toDate()}\r\n onChange={(date) => onChangeDate(date)}\r\n />\r\n
    \r\n {(esBiomedico && props.Cliente.Codigo.includes('IMHN')) && <>\r\n
    \r\n {\r\n setTransporte(value);\r\n\r\n }}\r\n defaultValue={modoEntrega}\r\n options={empresasTransporte.map(empresa => {\r\n return { key: empresa.CODE, value: empresa.CODE, text: empresa.TXT }\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n
    \r\n
    \r\n {\r\n setComunidad(value);\r\n\r\n }}\r\n defaultValue={comunidadSelected}\r\n disabled={habilitado}\r\n options={comunidadesAutonomas.filter(e=>e.COUNTRYREGIONID===pais).map(comunidad => {\r\n return { key: comunidad.STATEID, value: comunidad.STATEID, text: comunidad.NAME }\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Unidades:\r\n
    \r\n
    \r\n {numberWithCommasNoDec(unidadesTotales)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Subtotal:\r\n
    \r\n
    \r\n {moneda} {props.Cliente.IncluyeImpuesto ? numberWithCommas(totalGlobal-impuesto) : numberWithCommas(totalGlobal)}\r\n
    \r\n
    \r\n {(lineaSeleccionada.IdLinea === \"BIO\"\r\n && requiereEntrega\r\n && props.Cliente.Codigo.includes('IMHN')) &&
    \r\n
    \r\n Flete:\r\n
    \r\n
    \r\n {moneda} {numberWithCommas(flete)}\r\n
    \r\n
    }\r\n
    \r\n
    \r\n ISV:\r\n
    \r\n
    \r\n {moneda} {numberWithCommas(impuesto)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Total:\r\n
    \r\n
    \r\n {moneda} {props.Cliente.IncluyeImpuesto ? numberWithCommas(totalGlobal+flete) : numberWithCommas((totalGlobal + impuesto) + flete)}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {(!BloqueoCredito) &&\r\n \r\n }\r\n
    \r\n\r\n {esBiomedico && \r\n { setOpenContado(false) }} />\r\n \r\n
    \r\n Requiere {empresa.FISCAL_DOCUMENT}\r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n }\r\n\r\n setMostrarFirma(false)}\r\n scroll={'paper'}\r\n aria-labelledby=\"scroll-dialog-title\"\r\n >\r\n Firma del Cliente\r\n \r\n
    \r\n { sigPad = ref }} />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n props.mostrarRecibo &&\r\n props.CargarImpresionPedido({flete,totalGlobal,unidadesTotales,FechaEntrega,firma})\r\n }\r\n
    \r\n )\r\n\r\n}\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n // MUIDataTableBodyRow: {\r\n // root: {\r\n // '&:nth-child(odd)': {\r\n // backgroundColor: '#f8f8f8'\r\n // }\r\n // }\r\n // },\r\n }\r\n});\r\n\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nconst numberWithCommasNoDec = (x) => {\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\n\r\nexport default ResumenPedido;\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport {useSelector} from 'react-redux';\r\nconst TotalXPedido = (props) => {\r\n const Monedas = useSelector(e=>e.AbreviacionMonedas);\r\n const BloqueoCredito = useSelector(e=>e.Permisos[0].BloqueoCredito);\r\n const moneda = Monedas.find(e=>e.IdMoneda === props.cliente.Moneda).Abreviacion;\r\n const [Limite, setLimite] = useState(null);\r\n\r\n useEffect(() => {\r\n setLimite(props.cliente.LimiteCredito);\r\n // if (props.TipoPedido.TipoPedido === \"Ordinario\") {\r\n // let cupoCredito = props.cliente.CuentaCorriente.find(cc => cc.Descripcion === \"Total cupo de crƩdito\");\r\n // if (cupoCredito !== null) {\r\n // }\r\n // } else if (props.TipoPedido.TipoPedido !== \"Contado\") {\r\n\r\n // let acuerdoVenta = props.cliente.AcuerdosVenta.find(av => av.IdTipoPedido === props.TipoPedido.IdTipoPedido);\r\n // if (acuerdoVenta !== undefined) {\r\n // setLimite(acuerdoVenta.Saldo);\r\n // }\r\n // }\r\n // eslint-disable-next-line\r\n }, []);\r\n let Disponible = 0;\r\n if(!props.cliente.Nombre.includes('CONSUMIDOR FINAL') && props.TipoPedido.TipoPedido.toUpperCase() !== \"CONTADO\")\r\n {\r\n Disponible = props.cliente.Credito.find(a => a.Tipo === props.TipoPedido.TipoPedido).Disponible\r\n }\r\n let tempTotal =props.TotalPedido|| 0;\r\n\r\n let colorDiferencia = (((Disponible ? Disponible : 0) - tempTotal)) < 0 ? 'red' : (props.color ? props.color : 'black');\r\n if(!BloqueoCredito){\r\n if (props.row) {\r\n return (\r\n
    \r\n
    \r\n {`Total Pedido: ${moneda} ` + numberWithCommas(tempTotal)}\r\n
    \r\n
    \r\n {props.AcuerdoVenta ? `Saldo Acuerdo: ${moneda} ` + numberWithCommas(props.AcuerdoVenta.Saldo) : `Lƭmite CrƩdito: ${moneda} ` + (Limite !== null ? numberWithCommas(Limite) : \"no aplica\").toString()}\r\n
    \r\n
    \r\n {`Saldo Disponible: ${moneda} ` + (numberWithCommas((Disponible ? Disponible : 0) - tempTotal)).toString()}\r\n
    \r\n
    \r\n );\r\n }\r\n else if (props.lineal) {\r\n return (\r\n
    \r\n
    \r\n {`Total Pedido: ${moneda} ` + numberWithCommas(tempTotal)}\r\n
    \r\n
    \r\n {props.AcuerdoVenta ? `Saldo Acuerdo: ${moneda} ` + numberWithCommas(props.AcuerdoVenta.Saldo) : `Lƭmite CrƩdito: ${moneda} ` + (Limite !== null ? numberWithCommas(Limite) : \"no aplica\").toString()}\r\n
    \r\n
    \r\n {`Saldo Disponible: ${moneda} ` + (numberWithCommas((Disponible ? Disponible : 0) - tempTotal)).toString()}\r\n
    \r\n
    \r\n );\r\n }\r\n else {\r\n return (\r\n <>\r\n
    \r\n {\"Total Pedido: \" + numberWithCommas(tempTotal)}\r\n
    \r\n
    \r\n {\"Lƭmite CrƩdito: \" + (Limite !== null ? numberWithCommas(Limite) : \"no aplica\").toString()}\r\n
    \r\n
    \r\n {\"Saldo Disponible: \" + (numberWithCommas((Disponible ? Disponible : 0) - tempTotal)).toString()}\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\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nconst areEqual = (prevProps, nextProps) => {\r\n return false;\r\n}\r\nexport default React.memo(TotalXPedido, areEqual);\r\n","import React from 'react';\r\nimport styles from 'components/Pedidos/PedidosBreadCrumb/PedidosBreadCrumb.module.css';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport NavigationBreadcrumb from 'components/Pedidos/NavigationBreadcrumb/NavigationBreadcrumb';\r\nimport {Button } from '@material-ui/core';\r\nimport {\r\n FaSignOutAlt,\r\n FaShoppingCart,\r\n FaExclamationCircle\r\n} from 'react-icons/fa';\r\nimport {\r\n /*Button,*/\r\n Col,\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\nimport {\r\n Dropdown,\r\n} from 'element-react';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nmoment.locale('es');\r\n\r\nconst PedidosBreadCrumb = (props) => {\r\n return (\r\n \r\n (\r\n \r\n\r\n\r\n \r\n \r\n { props.clickBreadCrumb(\"/Pedidos/Bodega\") }, Titulo: props.BodegaSeleccionada.Etiqueta },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Linea\") }, Titulo: props.LineaSeleccionada.Linea },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/TipoPedido\") }, Titulo: props.TipoPedido.TipoPedido },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Colecciones\") }, Titulo: 'Colecciones' },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Colecciones/\" + props.coleccion.ColeccionTipo + \"/\" + props.coleccion.CodigoColeccion) }, Titulo: props.coleccion.Nombre },\r\n { Titulo: props.producto.NombreProducto }\r\n ]}\r\n />\r\n \r\n \r\n \r\n Cancelar\r\n \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n {\"Cliente: \"}\r\n {props.cliente.Nombre}\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.clickBreadCrumb(\"/Pedidos/Bodega\") }, Titulo: props.BodegaSeleccionada.Etiqueta },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Linea\") }, Titulo: props.LineaSeleccionada.Linea },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/TipoPedido\") }, Titulo: props.TipoPedido.TipoPedido },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Colecciones\") }, Titulo: 'Colecciones' },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Colecciones/\" + props.coleccion.ColeccionTipo + \"/\" + props.coleccion.CodigoColeccion) }, Titulo: props.coleccion.Nombre },\r\n { Titulo: 'Matriz Resumen' }\r\n ]}\r\n />\r\n \r\n \r\n \r\n Cancelar\r\n \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n {\"Cliente: \"}\r\n {props.cliente.Nombre}\r\n \r\n \r\n \r\n )} />\r\n (\r\n \r\n\r\n\r\n \r\n \r\n { props.clickBreadCrumb(\"/Pedidos/Bodega\") }, Titulo: props.BodegaSeleccionada.Etiqueta },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Linea\") }, Titulo: props.LineaSeleccionada.Linea },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/TipoPedido\") }, Titulo: props.TipoPedido.TipoPedido },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Colecciones\") }, Titulo: 'Colecciones' },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Colecciones/\" + props.coleccion.ColeccionTipo + \"/\" + props.coleccion.CodigoColeccion) }, Titulo: props.coleccion.Nombre },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/MatrizResumen\") }, Titulo: 'Matriz Resumen' },\r\n { Titulo: 'Resumen Pedido' }\r\n ]}\r\n />\r\n \r\n \r\n \r\n Cancelar\r\n \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n {\"Cliente: \"}\r\n {props.cliente.Nombre}\r\n \r\n \r\n \r\n )} />\r\n {\r\n return (\r\n \r\n
    \r\n
    \r\n { props.clickBreadCrumb(\"/Pedidos/Bodega\") }, Titulo: props.BodegaSeleccionada.Etiqueta },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Linea\") }, Titulo: props.LineaSeleccionada.Linea },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/TipoPedido\") }, Titulo: props.TipoPedido.TipoPedido },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Colecciones\") }, Titulo: 'Colecciones' },\r\n { Titulo: props.coleccion.Nombre }\r\n ]}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n {'Fecha Maxima de entrega: ' + moment(props.coleccion.EntregaFinal).format('DD/MM/YYYY')}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n Cancelar\r\n \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n {\"Cliente: \"}\r\n {props.cliente.Nombre}\r\n
    \r\n
    \r\n
    \r\n )\r\n }} />\r\n (\r\n \r\n \r\n \r\n { props.clickBreadCrumb(\"/Pedidos/Bodega\") }, Titulo: props.BodegaSeleccionada.Etiqueta },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Linea\") }, Titulo: props.LineaSeleccionada.Linea },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/TipoPedido\") }, Titulo: props.TipoPedido.TipoPedido },\r\n { Titulo: 'Colecciones' }\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Cancelar\r\n \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n {\"Cliente: \"}\r\n {props.cliente.Nombre}\r\n \r\n \r\n \r\n )} />\r\n\r\n (\r\n \r\n \r\n \r\n { props.clickBreadCrumb(\"/Pedidos/Bodega\") }, Titulo: props.BodegaSeleccionada.Etiqueta },\r\n { Click: () => { props.clickBreadCrumb(\"/Pedidos/Linea\") }, Titulo: props.LineaSeleccionada.Linea },\r\n { Titulo: 'Tipo de Pedido' }\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Cancelar\r\n \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n {\"Cliente: \"}\r\n {props.cliente.Nombre}\r\n \r\n \r\n \r\n )} />\r\n
    \r\n );\r\n}\r\n\r\n\r\nexport default PedidosBreadCrumb;","import React, {Component} from 'react';\r\n\r\nexport default class Countdown extends Component {\r\n\tstate = {\r\n\t\tseconds: 10\r\n\t}\r\n\t\r\n\tcomponentDidMount =() => {\r\n\t\tvar seg = this.props.segundos;\r\n\t\tthis.setState({\r\n\t\t\tseconds:seg,\r\n\t\t})\r\n\t\tthis.interval = setInterval(() => {\r\n\t\t\tthis.segundosCount()\r\n\t\t}, 1000);\r\n\t}\r\n\r\n\tsegundosCount (){\r\n\t\tvar segundos = parseInt(this.state.seconds);\r\n\t\tif(segundos===1){\r\n\t\t\tthis.StopInterval();\r\n\t\t\tthis.props.inactivo();\r\n\t\t}\r\n\t\tsegundos = segundos -1;\r\n\t\tthis.setState({\r\n\t\t\tseconds : segundos\r\n\t\t})\r\n\t}\r\n\r\nStopInterval = () => {\r\n clearInterval(this.interval);\r\n}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tif(this.interval) {\r\n\t\t\tclearInterval(this.interval);\r\n\t\t}\r\n\t}\r\n\t\r\n\trender() {\r\n\t\tconst { seconds } = this.state;\r\n\t\tconst secondsRadius = mapNumber(seconds, 60, 0, 0, 360);\r\n\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{seconds && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{seconds} \r\n\t\t\t\t\t\t\t{seconds===1?'segundo':'segundos'}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n\r\nconst SVGCircle = ({ radius }) => (\r\n\t\r\n\t\t\r\n\t\r\n);\r\n\r\n// From stackoverflow: https://stackoverflow.com/questions/5736398/how-to-calculate-the-svg-path-for-an-arc-of-a-circle\r\nfunction polarToCartesian(centerX, centerY, radius, angleInDegrees) {\r\n var angleInRadians = (angleInDegrees-90) * Math.PI / 180.0;\r\n\r\n return {\r\n x: centerX + (radius * Math.cos(angleInRadians)),\r\n y: centerY + (radius * Math.sin(angleInRadians))\r\n };\r\n}\r\n\r\nfunction describeArc(x, y, radius, startAngle, endAngle){\r\n\r\n var start = polarToCartesian(x, y, radius, endAngle);\r\n var end = polarToCartesian(x, y, radius, startAngle);\r\n\r\n var largeArcFlag = endAngle - startAngle <= 180 ? \"0\" : \"1\";\r\n\r\n var d = [\r\n \"M\", start.x, start.y, \r\n \"A\", radius, radius, 0, largeArcFlag, 0, end.x, end.y\r\n ].join(\" \");\r\n\r\n return d; \r\n}\r\n\r\n// Stackoverflow: https://stackoverflow.com/questions/10756313/javascript-jquery-map-a-range-of-numbers-to-another-range-of-numbers\r\nfunction mapNumber(number, in_min, in_max, out_min, out_max) {\r\n return (number - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;\r\n}","import React, { useState } from 'react';\r\nimport { matchPath, Prompt } from 'react-router-dom';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\n\r\nconst GuardPedidoActivo = (props) => {\r\n const [detenerNavegacion, setDetenerNavegacion] = useState(true);\r\n\r\n return (\r\n <>\r\n {\r\n if ((matchPath(location.pathname, {\r\n path: [props.match.url + '/Colecciones/:TipoColeccion/:CodigoColeccion',\r\n props.match.url + '/Colecciones/:TipoColeccion/:CodigoColeccion/:CodigoProducto',\r\n props.match.url + '/MatrizResumen',\r\n props.match.url + '/ResumenPedido',\r\n props.match.url + '/ImprimirPedido'],\r\n }) === null)) {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: \"Se borrarĆ” la informaciĆ³n del pedido en curso\",\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#d33',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'Borrar',\r\n cancelButtonText: 'Cancelar',\r\n }).then((result) => {\r\n if (result.value === true) {\r\n setDetenerNavegacion(false);\r\n props.history.push(location.pathname);\r\n props.onSetTableValue({});\r\n props.onSetTotalPedido(0);\r\n props.onSetNumeroOrden(null);\r\n localStorage.removeItem(\"borrador\");\r\n }\r\n });\r\n } else {\r\n return true;\r\n }\r\n return false;\r\n\r\n }\r\n }\r\n />\r\n \r\n )\r\n}\r\nexport default GuardPedidoActivo;\r\n","import React, { useEffect } from 'react'\r\n\r\nconst Loader = (props) => {\r\n\r\n useEffect(() => {\r\n\r\n if (props.interval > 600) {\r\n setTimeout(() => {\r\n let node = document.getElementById(\"SVGmator__2kz60s1569860161753\");\r\n if (node !== null) {\r\n Loop(props.interval);\r\n }\r\n }, props.interval / 2)\r\n }\r\n else {\r\n setTimeout(() => {\r\n let node = document.getElementById(\"SVGmator__2kz60s1569860161753\");\r\n if (node !== null) {\r\n Loop(props.interval);\r\n }\r\n }, props.interval)\r\n }\r\n\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const Loop = (timeout) => {\r\n setTimeout(() => {\r\n let node = document.getElementById(\"SVGmator__2kz60s1569860161753\");\r\n if (node !== null) {\r\n document.querySelector('#SVGmator__2kz60s1569860161753').contentWindow.postMessage('play', '*');\r\n Loop(props.interval);\r\n }\r\n else {\r\n return false;\r\n }\r\n }, timeout);\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Cargando..\r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n}\r\n\r\nexport default Loader;\r\n","import React from 'react';\r\nimport {Button } from '@material-ui/core';\r\nimport ReactToPrint from 'react-to-print';\r\nimport Logo from 'assets/img/logo/LogoSinLetrasB.png';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport {useSelector} from 'react-redux';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {FiArrowRightCircle,FiPlusCircle } from \"react-icons/fi\";\r\nimport { FaPrint } from \"react-icons/fa\";\r\nimport styles from \"components/ListadoPedidos/ImprimirPedido.module.css\";\r\n\r\nconst ImprimirPedidoOriginal = (props) => {\r\n localStorage.removeItem(\"borrador\");\r\n const clientesContado = useSelector(e=>e.clientesContado);\r\n const Monedas = useSelector(e=>e.AbreviacionMonedas);\r\n const pedidoSelected = useSelector(k => k.pedidoSelected);\r\n const empresas = useSelector(e=>e.Empresas);\r\n const TipoCredito = useSelector(e => e.TipoPedido);\r\n const modoVenta = TipoCredito.TipoPedido === 'Contado' ? 'Contado' : 'Credito';\r\n const empresa = empresas.find(x=>x.COMPANY_CODE === localStorage.getItem('EmpresaCliente').toUpperCase());\r\n const clienteContado = pedidoSelected !== null && pedidoSelected !== undefined ? clientesContado.find(x=>x.id=== pedidoSelected.ClienteContado) : null;\r\n const moneda = Monedas.find(e=>e.IdMoneda===props.Cliente.Moneda).Abreviacion;\r\n const impuesto = Number(localStorage.getItem('Impuesto'));\r\n var nuevafecha = new Date();\r\n var fecha = moment(nuevafecha).toDate();\r\n var gruposTalla = Object.keys(props.tableValue);\r\n const componentRef = React.useRef();\r\n const useStyles = makeStyles((theme) => ({\r\n button: {\r\n marginLeft: theme.spacing(2),\r\n },\r\n }));\r\n const classes = useStyles();\r\n\r\n let TotalUnidad = 0;\r\n let tallasDist = [];\r\n const Tallas = (talla) => {\r\n talla.Distribucion.forEach(dist => {\r\n if(tallasDist.length > 0){\r\n let ExisteTalla = tallasDist.filter(x => x.NombreTalla === dist.NombreTalla);\r\n\r\n if(ExisteTalla.length === 0){\r\n tallasDist.push({NombreTalla: dist.NombreTalla, Orden: dist.Orden})\r\n }\r\n }\r\n else{\r\n tallasDist.push({NombreTalla: dist.NombreTalla, Orden: dist.Orden})\r\n }\r\n })\r\n tallasDist.sort((a, b) => {\r\n return Number(a.Orden) < Number(b.Orden) ? -1 : 1;\r\n });\r\n return tallasDist;\r\n }\r\n \r\n let CantDist = 0;\r\n const getTableGroup = (productos, tallas, grupoTalla, index) => {\r\n let grupoTabla = { total: 0, tabla: null };\r\n let Distribuciones = []; \r\n grupoTabla.tabla = (\r\n \r\n \r\n \r\n \r\n {tallas.map((talla, index2) => {\r\n Distribuciones = Tallas(talla);\r\n return (\r\n <>\r\n {\r\n talla.Distribucion.length !== 0 && tallas.length === index2 + 1 &&\r\n Distribuciones.map((dist, index3) => {\r\n CantDist = talla.Distribucion.reduce((acc, curr) => {return acc + Number(curr.Cantidad) }, 0);\r\n return (\r\n \r\n )\r\n })\r\n }\r\n {\r\n talla.Distribucion.length === 0 &&\r\n \r\n }\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n {productos.map((codigoProducto, index1) => {\r\n var producto = props.tableValue[grupoTalla].Productos[codigoProducto];\r\n var precio = producto.Precio.find(precioxProd => {\r\n return precioxProd.GrupoPrecio === props.Cliente.GrupoPrecio;\r\n });\r\n\r\n if (precio === undefined) {\r\n precio = {\r\n Precio: 0\r\n }\r\n }\r\n if (producto.Selected) {\r\n let result = getTableProduct(producto, index1, codigoProducto, tallas, precio);\r\n grupoTabla.total += result.total;\r\n if (result.total !== 0) {\r\n return result.tabla;\r\n }\r\n }\r\n return false;\r\n })}\r\n
    \r\n\r\n \r\n {\r\n
    {dist.NombreTalla}
    \r\n }\r\n
    \r\n {talla.Talla}\r\n CantTotal
    \r\n );\r\n return grupoTabla;\r\n }\r\n\r\n const getTableProduct = (producto, index1, codigoProducto, tallas, precio) => {\r\n let productosTabla = { total: 0, tabla: null };\r\n\r\n let ArregloProductos = Object.keys(producto.Colores).map((key) => (producto.Colores[key]));\r\n ArregloProductos.sort((a, b) => a.NombreColor < b.NombreColor ? -1 : 1);\r\n productosTabla.tabla = (\r\n \r\n \r\n {/* {codigoProducto}\r\n \r\n {producto.NombreProducto}\r\n */}\r\n \r\n {codigoProducto} {producto.NombreProducto}\r\n \r\n \r\n\r\n {ArregloProductos.map((codigoColor, index2) => {\r\n var color = codigoColor;\r\n var totalXColor = 0;\r\n\r\n let result = getTableColor(color, totalXColor, index2, precio);\r\n productosTabla.total += result.total;\r\n if (result.total !== 0) {\r\n return result.tabla;\r\n }\r\n return null;\r\n })}\r\n \r\n );\r\n return productosTabla;\r\n }\r\n\r\n const getTableColor = (color, totalXColor, index2, precio) => {\r\n let colorTabla = { total: 0, tabla: null };\r\n let arreglo = [];\r\n let totalcantidad = 0;\r\n let PrecioDistribucion = 0;\r\n let TotalXProdDist = 0;\r\n colorTabla.tabla = (\r\n \r\n \r\n
    \r\n {\"Precio\"}\r\n
    \r\n {color.NombreColor}\r\n \r\n {\r\n\r\n Object.keys(color.Tallas).map((codigoTalla, index3) => { \r\n var valorTalla = color.Tallas[codigoTalla];\r\n var tallas = Object.keys(color.Tallas).length;\r\n let TotalXTalla = 0;\r\n let CantidadDistribucion = 0;\r\n totalXColor = parseInt(totalXColor, 10) + (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n colorTabla.total = totalXColor;\r\n if(valorTalla.Distribucion.length !== 0)\r\n {\r\n CantidadDistribucion = valorTalla.Distribucion.reduce((acc, curr) => {return acc + Number(curr.Cantidad) }, 0);\r\n }\r\n return (\r\n <>\r\n {\r\n valorTalla.Distribucion.length !== 0 &&\r\n valorTalla.Distribucion.map((dist, index4) => {\r\n TotalXTalla = dist.Cantidad * valorTalla.Cantidad;\r\n TotalXProdDist += TotalXTalla;\r\n TotalUnidad += TotalXTalla;\r\n let cant = 0;\r\n if (tallas === 1) {\r\n totalcantidad = dist.Cantidad * valorTalla.Cantidad;\r\n PrecioDistribucion = valorTalla.Precio / CantidadDistribucion\r\n }\r\n else {\r\n if(arreglo.length > 0){\r\n const listaTallas = arreglo.filter(x => x.NombreTalla === dist.NombreTalla);\r\n if(tallas === (index3 + 1)){\r\n if(listaTallas.length > 0 ){\r\n cant = dist.Cantidad * valorTalla.Cantidad\r\n totalcantidad = listaTallas[0].cant + cant;\r\n }\r\n else{\r\n totalcantidad = dist.Cantidad * valorTalla.Cantidad;\r\n PrecioDistribucion = valorTalla.Precio / CantidadDistribucion\r\n }\r\n }\r\n else if(listaTallas.length > 0 ){\r\n cant = dist.Cantidad * valorTalla.Cantidad\r\n totalcantidad = listaTallas[0].cant + cant;\r\n return false;\r\n }\r\n else{\r\n arreglo.push({ NombreTalla: dist.NombreTalla, cant: dist.Cantidad * valorTalla.Cantidad });\r\n PrecioDistribucion = valorTalla.Precio / CantidadDistribucion;\r\n return false;\r\n }\r\n\r\n\r\n }\r\n else{\r\n arreglo.push({ NombreTalla: dist.NombreTalla, cant: dist.Cantidad * valorTalla.Cantidad });\r\n PrecioDistribucion = valorTalla.Precio / CantidadDistribucion;\r\n return false;\r\n }\r\n }\r\n return (\r\n \r\n
    \r\n
    \r\n {PrecioDistribucion}\r\n
    \r\n
    \r\n {totalcantidad}\r\n
    \r\n
    \r\n \r\n )\r\n })\r\n }\r\n {\r\n valorTalla.Distribucion.length === 0 &&\r\n \r\n
    \r\n
    \r\n {valorTalla.Precio}\r\n
    \r\n
    \r\n {valorTalla.Cantidad !== \"\" ? valorTalla.Cantidad : 0}\r\n
    \r\n
    \r\n \r\n }\r\n\r\n \r\n )\r\n })\r\n }\r\n {TotalXProdDist !== 0 ? TotalXProdDist : totalXColor}\r\n\r\n {numberWithCommas(precio.Precio * parseInt(TotalXProdDist !== 0 ? TotalXProdDist : totalXColor, 10))}\r\n \r\n )\r\n return colorTabla;\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n }\r\n content={() => componentRef.current}\r\n />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\"Logo\"}\r\n\r\n
    \r\n

    \r\n {empresa.NAME}\r\n

    \r\n

    \r\n {empresa.FISCAL_DOCUMENT}: {empresa.NIFCIF}\r\n

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

    {\r\n (clienteContado !== null && clienteContado !== undefined) ? ((props.ValoresPedido.totalGlobal * 1.15) < 10000) ? 'Consumidor Final' : clienteContado.Nombre : props.Cliente.Nombre\r\n }

    \r\n

    \r\n DirecciĆ³n : {(clienteContado !== null && clienteContado !== undefined) ? clienteContado.Direccion : props.Cliente.Direccion}
    \r\n CĆ³digo : {props.Cliente.Codigo}
    \r\n {\r\n localStorage.getItem(\"isOffline\") === \"true\" &&\r\n

    \r\n {\"Este documento ha sido generado fuera de linea.\"}\r\n

    \r\n }\r\n

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

    Pedido {props.NumeroOrden}

    \r\n

    \r\n Fecha del pedido : {moment(fecha).format('DD/MM/YYYY hh:mm a')}
    \r\n Entrega Sugerida : {moment(props.ValoresPedido.FechaEntrega).format('DD/MM/YYYY hh:mm a')}
    \r\n Asesor: {localStorage.getItem('asesor')}
    \r\n Modo Venta: {modoVenta}
    \r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n gruposTalla.map((grupoTalla, index) => {\r\n\r\n var productos = Object.keys(props.tableValue[grupoTalla].Productos);\r\n var tallas = props.tableValue[grupoTalla].ListaTallas;\r\n if (props.tableValue[grupoTalla].Mostrar) {\r\n let result = getTableGroup(productos, tallas, grupoTalla, index);\r\n\r\n if (result.total) {\r\n return result.tabla;\r\n }\r\n }\r\n return false;\r\n })\r\n }\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n props.ValoresPedido.firma === null ?\r\n
    :\r\n {\"Firma\"}\r\n }\r\n\r\n
    \r\n\r\n
    \r\n \r\n Firma\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Unidades:\r\n
    \r\n\r\n
    \r\n {TotalUnidad !== 0 ? TotalUnidad : props.ValoresPedido.unidadesTotales}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Subtotal:\r\n
    \r\n\r\n
    \r\n {moneda} {props.Cliente.IncluyeImpuesto ? numberWithCommas(props.ValoresPedido.totalGlobal-impuesto) : numberWithCommas(props.ValoresPedido.totalGlobal)}\r\n
    \r\n
    \r\n\r\n {(props.ValoresPedido.flete > 0) &&
    \r\n
    \r\n Flete:\r\n
    \r\n\r\n
    \r\n {numberWithCommas(props.ValoresPedido.flete)}\r\n
    \r\n
    }\r\n\r\n
    \r\n
    \r\n Impuesto:\r\n
    \r\n\r\n
    \r\n {moneda} {numberWithCommas((impuesto))}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Total:\r\n
    \r\n\r\n
    \r\n {moneda} {props.Cliente.IncluyeImpuesto ? numberWithCommas(props.ValoresPedido.totalGlobal + props.ValoresPedido.flete) : numberWithCommas((props.ValoresPedido.totalGlobal + impuesto) + props.ValoresPedido.flete)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nexport default ImprimirPedidoOriginal;","//Libraries\r\nimport React from 'react';\r\nimport { connect } from 'react-redux'\r\nimport { Route, Switch, Redirect } from 'react-router-dom';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport withReactContent from 'sweetalert2-react-content';\r\nimport { StickyContainer, Sticky } from 'react-sticky';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { Radio } from 'semantic-ui-react';\r\n//import { Link } from \"react-scroll\";\r\nimport { Checkbox, Dropdown } from 'element-react';\r\nimport { /*Button,*/ Col, Container, Row, } from 'reactstrap';\r\nimport { Button } from '@material-ui/core';\r\nimport html2canvas from 'html2canvas';\r\nimport pdfMake from 'pdfmake/build/pdfmake';\r\nimport { FaSignOutAlt, FaShoppingCart, FaArrowCircleLeft, FaAlignJustify } from 'react-icons/fa';\r\nimport { IoIosArrowRoundUp } from \"react-icons/io\";\r\nimport { FiAlertTriangle } from \"react-icons/fi\";\r\nimport Media from 'react-media';\r\nimport {\r\n ExpansionPanel as MuiExpansionPanel,\r\n ExpansionPanelSummary as MuiExpansionPanelSummary,\r\n ExpansionPanelDetails as MuiExpansionPanelDetails,\r\n} from '@material-ui/core';\r\nimport axios from 'axios';\r\nimport { post, postPedidoStorage } from 'utils/http';\r\nimport { Dropdown as MiDropdown } from \"semantic-ui-react\";\r\n\r\n//Components\r\nimport NavigationBreadcrumb from 'components/Pedidos/NavigationBreadcrumb/NavigationBreadcrumb'\r\nimport Colecciones from 'components/Pedidos/Colecciones/ColeccionesList';\r\nimport Productos from 'components/Pedidos/ProductoLista/ProductosList';\r\nimport ModalFiltros from 'components/Pedidos/ProductoLista/ModalFiltros';\r\nimport VistaRapidaProducto from 'components/Pedidos/ProductoLista/VistaRapidaProducto';\r\nimport VistaProducto from 'components/Pedidos/ProductoDetalle/VistaProducto';\r\nimport SelectCliente from 'components/Pedidos/SelectCliente/SelectCliente';\r\nimport SelectTipoPedido from 'components/Pedidos/SelectTipoPedido/SelectTipoPedido';\r\nimport SelectBodega from 'components/Pedidos/SelectBodega/SelectBodega';\r\nimport SelectLinea from 'components/Pedidos/SelectLinea/SelectLinea';\r\nimport MatrizResumen from 'components/Pedidos/MatrizResumen/MatrizResumen';\r\nimport MatrizResumenExpandable from 'components/Pedidos/MatrizResumen/MatrizResumenExpandable';\r\nimport ResumenPedido from 'components/Pedidos/ResumenPedido/ResumenPedido';\r\nimport TotalXPedido from 'components/Pedidos/TotalXPedido/TotalXPedido';\r\nimport PedidosBreadCrumb from 'components/Pedidos/PedidosBreadCrumb/PedidosBreadCrumb';\r\nimport SearchButton from 'components/Pedidos/ProductoLista/SearchButton'\r\nimport Countdown from \"components/Pedidos/Global/Countdown\";\r\nimport GuardPedidoActivo from 'containers/Pedidos/GuardPedidoActivo';\r\nimport Loader from 'components/Global/Loader';\r\nimport ImprimirPedidoOriginal from 'components/Pedidos/ResumenPedido/ImprimirPedidoOriginal';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\n//Styles\r\nimport styles from './Pedidos.module.css'\r\nimport './Filtros.css'\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\nimport FiltroChips from 'components/Pedidos/ProductoLista/FiltroChips';\r\nimport honduras from 'utils/img/honduras.png';\r\nimport costarica from 'utils/img/costarica.png';\r\nimport guatemala from 'utils/img/guatemala.png';\r\nimport salvador from 'utils/img/salvador.jpg';\r\nimport { verificarConexion } from 'utils/http';\r\nimport { ObtenerCoordenadas } from 'utils/common';\r\n\r\nconst ReactSwal = withReactContent(Swal)\r\n\r\n\r\nmoment.locale('es');\r\n\r\nvar time;\r\nclass Pedidos extends React.Component {\r\n\r\n\r\n IsEncabezadoCreado = false;\r\n PedidoId = null;\r\n\r\n urlApi = APIURL;\r\n\r\n NotFoundImage = \"http://www.quesoselllanojaral.com/img/nodisponible.png\";\r\n\r\n scroll = React.createRef();\r\n CantidadProductos = React.createRef();\r\n state = {\r\n error: null,\r\n isLoaded: false,\r\n collapse: false,\r\n autocompleteValue: null,\r\n nombreColeccionAutocompleteValue1: '',\r\n nombreColeccionAutocompleteValue2: '',\r\n numbervalue: 1,\r\n ProductoPorAgregar: {},\r\n imagenProductoDialogSeleccionada: '',\r\n filtroEdad: null,\r\n filtroAtributos: {},\r\n tableValue: {},\r\n unidadesCarrito: 0,\r\n activeTab: '1',\r\n activeCollapse: [],\r\n productoDialog: {},\r\n mostrarAlertaBackButton: false,\r\n mostrarAlertaPrimerBackButton: false,\r\n selectClienteLoading: false,\r\n buscador: '',\r\n buscadorFiltros: '',\r\n expandable: true,\r\n NoStock: true,\r\n loading: false,\r\n loadingColecciones: false,\r\n //Resumen Pedido\r\n mostrarResumen: false,\r\n mostrarRecibo: false,\r\n loadingRecibo: false,\r\n errorEnviarRecibo: false,\r\n firmaPedido: null,\r\n fechaEntregaPedido: null,\r\n NumPedido: '#',\r\n clientes: [],\r\n clientesFiltrados: [],\r\n paisSeleccionado: null,\r\n Ordenamiento: null\r\n };\r\n\r\n\r\n\r\n cargarData = () => {\r\n /*Promise.all([this.cargarClientes(),\r\n this.cargarMaestroLinea(),\r\n this.cargarTiposColeccion(),\r\n this.cargarTiposPedido()]).then(this.setState({\r\n isLoaded: true,\r\n }));*/\r\n\r\n this.cargarClientes();\r\n this.setState({\r\n isLoaded: true,\r\n })\r\n }\r\n\r\n ModuloConfiguraciones = () => {\r\n this.cargarMaestroLinea();\r\n this.cargarTiposPedido();\r\n this.cargarTiposColeccion();\r\n this.cargarEmpresasTransporteGlobal();\r\n this.cargarPrecioCajasGlobal();\r\n this.cargarImpuestoClienteGlobal();\r\n this.cargarImpuestoProductosGlobal();\r\n this.cargarAbreviacionMonedas();\r\n this.cargarClientesContado();\r\n this.cargarComunidadAutonoma();\r\n this.cargarMonedasGlobal();\r\n }\r\n\r\n cargarMonedasGlobal = async () => {\r\n fetch(this.urlApi + \"/api/moneda/monedas\")\r\n .then(res => res.json())\r\n .then(data => { this.props.onStoreMonedas(data); })\r\n .catch(error => console.log(error))\r\n }\r\n\r\n cargarComunidadAutonoma = () => {\r\n fetch(this.urlApi + \"/api/transporte/comunidadautonoma\")\r\n .then(res => res.json())\r\n .then(data => { this.props.onStoreComunidadAutonoma(data); })\r\n .catch(error => console.log(error))\r\n }\r\n\r\n cargarClientesContado = () => {\r\n fetch(this.urlApi + `/api/clientecontado/${localStorage.getItem('codigo')}`)\r\n .then(res => {\r\n if (res.status === 200) {\r\n\r\n res.json().then(\r\n (result) => {\r\n this.props.onStoreClienteContado(result);\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n )\r\n }\r\n if (res.status === 401) {\r\n console.log(\"Ocurrio un error al cargar clientes de contado\")\r\n }\r\n })\r\n }\r\n\r\n cargarEmpresasTransporteGlobal = () => {\r\n fetch(this.urlApi + \"/api/transporte/empresas\")\r\n .then(res => {\r\n if (res.status === 200) {\r\n\r\n res.json().then(\r\n (result) => {\r\n this.props.onSetEmpresasTransporte(result);\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n )\r\n }\r\n if (res.status === 401) {\r\n console.log(\"Ocurrio un error al cargar empresas transporte global\")\r\n }\r\n })\r\n }\r\n\r\n cargarPrecioCajasGlobal = () => {\r\n fetch(this.urlApi + \"/api/transporte/preciocaja\")\r\n .then(res => {\r\n if (res.status === 200) {\r\n res.json().then(\r\n (result) => {\r\n this.props.onStorePrecioCajasGlobal(result);\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n )\r\n }\r\n if (res.status === 401) {\r\n console.log(\"Ocurrio un error al cargar precio caja global\")\r\n }\r\n })\r\n }\r\n\r\n cargarImpuestoClienteGlobal = () => {\r\n fetch(this.urlApi + \"/api/gruposimpuestos/Clientes\")\r\n .then(res => {\r\n if (res.status === 200) {\r\n res.json().then(\r\n (result) => {\r\n this.props.onStoreImpuestoClientesGlobal(result);\r\n },\r\n (error) => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n )\r\n }\r\n if (res.status === 401) {\r\n console.log(\"Ocurrio un error al cargar impuesto cliente global\")\r\n }\r\n })\r\n }\r\n\r\n cargarImpuestoProductosGlobal = () => {\r\n fetch(this.urlApi + \"/api/gruposimpuestos/Articulos\")\r\n .then(res => {\r\n if (res.status === 200) {\r\n res.json().then(\r\n (result) => {\r\n this.props.onStoreImpuestoProductosGlobal(result);\r\n },\r\n (error) => {\r\n console.log(\"Ocurrio un error al cargar impuesto Articulos global\", error)\r\n }\r\n )\r\n }\r\n if (res.status === 401) {\r\n console.log(\"Ocurrio un error al cargar impuesto Articulos global\")\r\n }\r\n })\r\n }\r\n\r\n cargarAbreviacionMonedas = () => {\r\n fetch(this.urlApi + \"/api/moneda\")\r\n .then(res => res.json())\r\n .then(data => { this.props.onStoreAbreviacionMonedas(data); })\r\n .catch(error => console.log(error))\r\n }\r\n\r\n cargarColecciones = (empresa) => {\r\n let colecciones = this.props.ListaPrecios.filter((x) => x.EmpresaId === empresa);\r\n this.props.onStoreColecciones(colecciones);\r\n }\r\n\r\n cargarMaestroLinea = () => {\r\n fetch(this.urlApi + \"/api/maestrolinea/\", {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n\r\n }\r\n })\r\n .then(res => {\r\n\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n\r\n res.json().then(\r\n (result) => {\r\n this.props.onStoreMaestroLinea(result);\r\n\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n )\r\n }\r\n })\r\n }\r\n\r\n cargarClientes = () => {\r\n if (this.props.UsuarioOficina) {\r\n fetch(this.urlApi + \"/api/cliente/pedido\", {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n\r\n }\r\n })\r\n .then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(\r\n (result) => {\r\n this.props.onStoreClientes(result);\r\n this.setState((prevState) => ({ ...prevState, clientes: result, clientesFiltrados: result }));\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n\r\n error\r\n });\r\n this.setState((prevState) => ({ ...prevState, clientes: this.props.clientes, clientesFiltrados: this.props.clientes }));\r\n }\r\n )\r\n }\r\n\r\n })\r\n } else {\r\n this.setState((prevState) => ({ ...prevState, clientes: this.props.clientes, clientesFiltrados: this.props.clientes }));\r\n }\r\n }\r\n\r\n cargarTiposPedido = () => {\r\n fetch(this.urlApi + \"/api/tipopedido\")\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n this.props.onStoreTipoPedido(result);\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n\r\n error\r\n });\r\n }\r\n )\r\n }\r\n\r\n cargarMonedas = (empresa) => {\r\n ///let empresa = localStorage.getItem('empresa');\r\n /*fetch(`${this.urlApi}/api/moneda/${empresa}`)\r\n .then(res=>res.json())\r\n .then(data=>{this.props.onSaveMonedas(data)})\r\n .catch(error=>console.log(error))*/\r\n let monedasCliente = this.props.MonedasGlobal.filter(x => x.Empresa === empresa);\r\n this.props.onSaveMonedas(monedasCliente);\r\n }\r\n\r\n cargarTiposColeccion = () => {\r\n fetch(this.urlApi + \"/api/TiposColeccion\")\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n\r\n this.props.onStoreTiposColeccion(result);\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n\r\n error\r\n });\r\n }\r\n )\r\n }\r\n\r\n cargarEmpresasTransporte = (empresa) => {\r\n //const empresa = localStorage.getItem('empresa');\r\n\r\n /*fetch(`${this.urlApi}/api/transporte/${empresa}/empresas`)\r\n .then(res=>res.json())\r\n .then(data=>this.props.onStoreEmpresasTransporte(data))\r\n .catch(error=>this.setState({error}))*/\r\n let empresasTransporteCliente = this.props.EmpresaTransporteGlobal.filter(x => x.COMPANY === empresa);\r\n this.props.onStoreEmpresasTransporte(empresasTransporteCliente);\r\n }\r\n\r\n cargarPrecioCajas = (empresa) => {\r\n //const empresa = localStorage.getItem('empresa');\r\n\r\n /*fetch(`${this.urlApi}/api/transporte/${empresa}/preciocaja`)\r\n .then(res=>res.json())\r\n .then(data=>this.props.onStorePrecioCajas(data))\r\n .catch(error=>this.setState({error}))*/\r\n let precioCajasCliente = this.props.PrecioCajasGlobal.filter(x => x.COMPANY === empresa);\r\n this.props.onStorePrecioCajas(precioCajasCliente);\r\n }\r\n\r\n cargarImpuestoClientes = (empresa) => {\r\n //const empresa = localStorage.getItem('empresa');\r\n /*fetch(`${this.urlApi}/api/gruposimpuestos/${empresa}/clientes`)\r\n .then(res=>res.json())\r\n .then(data=>this.props.onStoreImpuestoClientes(data))\r\n .catch(error=>this.setState({error}))*/\r\n let impuestosCliente = this.props.ClienteImpuestosGlobal.filter(x => x.EMPRESA === empresa);\r\n this.props.onStoreImpuestoClientes(impuestosCliente);\r\n }\r\n\r\n cargarImpuestoProductos = (empresa) => {\r\n //const empresa = localStorage.getItem('empresa');\r\n\r\n /*fetch(`${this.urlApi}/api/gruposimpuestos/${empresa}/articulos`)\r\n .then(res=>res.json())\r\n .then(data=>this.props.onStoreImpuestoProductos(data))\r\n .catch(error=>this.setState({error}))*/\r\n let impuestoProductosCliente = this.props.ProductoImpuestosGlobal.filter(x => x.EMPRESA === empresa);\r\n this.props.onStoreImpuestoProductos(impuestoProductosCliente);\r\n }\r\n\r\n Alerta = () => {\r\n document.querySelector('#wrapper').classList.toggle('toggled');\r\n }\r\n\r\n componentDidMount() {\r\n\r\n if (!IsAllow(this.props.match.url)) {\r\n this.props.history.push('/home');\r\n }\r\n this.cargarData();\r\n\r\n // window.onpopstate = this.onBackButtonEvent;\r\n this.inactivityTime();\r\n // window.onpopstate = this.onBackButtonEvent;\r\n }\r\n\r\n\r\n\r\n inactivityTime = () => {\r\n window.onload = this.resetTimer;\r\n // DOM Events\r\n document.onmousemove = this.resetTimer;\r\n document.onkeypress = this.resetTimer;\r\n document.onscroll = this.resetTimer;\r\n };\r\n\r\n InactivoErase = () => {\r\n this.props.history.push(\"/Pedidos/Cliente\");\r\n this.cancelarPedido();\r\n }\r\n\r\n CargarImpresionPedido = (ValoresPedido) => {\r\n this.props.history.push({ pathname: `/Pedidos/ImprimirPedido`, state: JSON.stringify(ValoresPedido) });\r\n }\r\n\r\n countdownHTML = () => {\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n inactivityTimeUp = () => {\r\n\r\n ReactSwal.fire({\r\n title: 'Su sesiĆ³n expirarĆ” en',\r\n html: this.countdownHTML(),\r\n timer: 60200,\r\n\r\n onClose: () => {\r\n this.resetTimer();\r\n },\r\n showCancelButton: true,\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonColor: '#d33',\r\n confirmButtonText: 'Cancelar Pedido',\r\n cancelButtonText: 'Continuar Pedido',\r\n }).then((result) => {\r\n if (result.value) {\r\n this.InactivoErase();\r\n // this.cancelarPedido();\r\n }\r\n else {\r\n this.resetTimer();\r\n }\r\n });\r\n }\r\n\r\n resetTimer = () => {\r\n if (this.isPedidoActivo()) {\r\n clearTimeout(time);\r\n time = setTimeout(this.inactivityTimeUp, 540000)\r\n } else {\r\n clearTimeout(time);\r\n }\r\n\r\n // 1000 milliseconds = 1 second\r\n }\r\n\r\n onBackButtonEvent = (event) => {\r\n if (this.state.mostrarAlertaBackButton) {\r\n window.history.pushState(null, \"\", window.location.href);\r\n if (this.state.mostrarAlertaPrimerBackButton) {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: \"Se borrarĆ” la informaciĆ³n del pedido en curso\",\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#d33',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'Borrar',\r\n cancelButtonText: 'Cancelar',\r\n }).then((result) => {\r\n if (result.value) {\r\n this.props.history.push(\"/Pedidos/Colecciones\");\r\n this.setState({\r\n mostrarAlertaBackButton: false,\r\n mostrarAlertaPrimerBackButton: false,\r\n activeCollapse: [],\r\n filtroAtributos: {}\r\n });\r\n this.props.onSetTableValue({});\r\n this.props.onResetProductosAgreagados();\r\n localStorage.removeItem(\"borrador\");\r\n }\r\n })\r\n }\r\n else {\r\n this.setState({ mostrarAlertaPrimerBackButton: true });\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n setMatrizProducto = (producto) => {\r\n var tableValue = this.props.TableValue;\r\n let precio = producto.Precio.find(precioxProd => {\r\n return precioxProd.GrupoPrecio === this.props.cliente.GrupoPrecio;\r\n });\r\n if (precio === undefined) {\r\n precio = { Precio: 0 };\r\n }\r\n if (tableValue[producto.Linea.IdLinea] === undefined) {\r\n tableValue[producto.Linea.IdLinea] = {};\r\n }\r\n var value = tableValue[producto.Linea.IdLinea];\r\n\r\n if (value[producto.CodigoColeccion] === undefined) {\r\n value[producto.CodigoColeccion] = {};\r\n }\r\n value = value[producto.CodigoColeccion];\r\n\r\n if (value[producto.GrupoTalla] === undefined) {\r\n value[producto.GrupoTalla] = {};\r\n value[producto.GrupoTalla].Productos = {};\r\n value[producto.GrupoTalla].ListaTallas = producto.ListaTalla;\r\n }\r\n value = value[producto.GrupoTalla].Productos;\r\n\r\n if (value[producto.ProductoId] === undefined) {\r\n value[producto.ProductoId] = {};\r\n value[producto.ProductoId].Colores = {};\r\n value[producto.ProductoId].ListaTallas = producto.ListaTalla\r\n value[producto.ProductoId].NombreProducto = producto.NombreProducto;\r\n value[producto.ProductoId].Precio = producto.Precio;\r\n if (producto.ListaImagenes !== null && producto.ListaImagenes.length > 0) {\r\n\r\n value[producto.ProductoId].ListaImagenes = producto.ListaImagenes;\r\n }\r\n value = value[producto.ProductoId].Colores;\r\n\r\n producto.ListaColores.forEach(color => {\r\n value[color.CodigoColor] = {}\r\n value[color.CodigoColor].NombreColor = color.NombreColor;\r\n value[color.CodigoColor].Color = color.Color;\r\n value[color.CodigoColor].ListaImagenes = color.ListaImagenes;\r\n value[color.CodigoColor].Deshabilitado = color.Deshabilitado;\r\n\r\n value[color.CodigoColor].Prioridad = color.Prioridad;\r\n let StockColor = producto.fisicaDisponible.filter((e) => e.CodigoColor === color.CodigoColor).map((s) => s.Cantidad).reduce((a, b) => a + b, 0);\r\n value[color.CodigoColor].StockColor = StockColor;\r\n\r\n value[color.CodigoColor].Tallas = {}\r\n producto.ListaTalla.map(talla => {\r\n var fisicoDisponible = producto.fisicaDisponible.find(fd => { return fd.CodigoColor === color.CodigoColor && fd.IdTalla === talla.Talla })\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla] = {}\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla].Disponible = fisicoDisponible ? fisicoDisponible.Cantidad : 0;\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla].Cantidad = \"\";\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla].Distribucion = talla.Distribucion;\r\n if (fisicoDisponible ? fisicoDisponible.PreciosEspecificos && fisicoDisponible.PreciosEspecificos.length > 0 : false) {\r\n var PreciosEspecifico = fisicoDisponible.PreciosEspecificos.find(p => p.GrupoPrecio === this.props.cliente.GrupoPrecio)\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla].Precio = PreciosEspecifico.Precio\r\n } else {\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla].Precio = talla.Distribucion.length !== 0 ? 0 : precio.Precio;\r\n }\r\n return false;\r\n });\r\n return false;\r\n });\r\n this.props.onSetTableValue(tableValue);\r\n }\r\n }\r\n\r\n\r\n setProductoDialog = (producto, event) => {\r\n event.stopPropagation();\r\n this.setState({\r\n productoDialog: { ...producto },\r\n dialogVistaRapida: true\r\n });\r\n }\r\n CerrarDialog = (producto, event) => {\r\n // event.stopPropagation();\r\n this.setState({\r\n dialogVistaRapida: false\r\n });\r\n }\r\n\r\n querySearch = (queryString, cb) => {\r\n const { clientes } = this.props;\r\n const results = queryString ? (clientes.filter(this.createFilter(queryString))).map(x => { return { ...x, value: x.Nombre } }) : clientes.map(x => { return { ...x, value: x.Nombre } });\r\n cb(results);\r\n }\r\n createFilter = (queryString) => {\r\n\r\n return (cliente) => {\r\n return (cliente.Nombre.toLowerCase().indexOf(queryString.toLowerCase()) !== -1);\r\n };\r\n }\r\n\r\n refrescarClienteSeleccionado = cliente => {\r\n this.setState((prevState) => ({ ...prevState, autocompleteValue: cliente }));\r\n }\r\n\r\n handleSelect = (item) => {\r\n this.setState({\r\n selectClienteLoading: true,\r\n autocompleteValue: null,\r\n });\r\n ObtenerCoordenadas((value) => {\r\n }, (error) => {\r\n });\r\n //if (navigator.geolocation) {\r\n //}\r\n\r\n this.setState({\r\n autocompleteValue: item,\r\n selectClienteLoading: false,\r\n });\r\n // fetch(\"https://aventas.devcit.com:3044/api/cliente/ActualizarCuentaCorriente/?id=\" + item.Codigo, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Authorization':\r\n // 'Bearer ' + localStorage.getItem('token')\r\n // },\r\n // method: 'GET'\r\n // }).then((res) => {\r\n // if (res.status === 200) {\r\n // res.json()\r\n // .then(result => {\r\n // item.CuentaCorriente = result\r\n // this.setState({\r\n // autocompleteValue: item,\r\n // selectClienteLoading: false,\r\n // });\r\n // })\r\n // } else {\r\n // this.setState({\r\n // autocompleteValue: item,\r\n // selectClienteLoading: false,\r\n // });\r\n // }\r\n // });\r\n\r\n\r\n }\r\n changeNombreColeccionAutocomplete1 = (value) => {\r\n\r\n this.setState({\r\n nombreColeccionAutocompleteValue1: value,\r\n });\r\n\r\n }\r\n infoCliente = (selectClienteProps, cssStyle) => {\r\n let FacturacionEntrega = null;\r\n if (!(selectClienteProps.clienteSelected != null && (selectClienteProps.clienteSelected.FacturacionEntrega === \"No\" || selectClienteProps.clienteSelected.FacturacionEntrega === \"Nunca\"))) {\r\n FacturacionEntrega = (\r\n
    \r\n El cliente actualmente se encuentra con bloqueo Ć³ en mora.\r\n
    \r\n )\r\n\r\n\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    InformaciĆ³n General
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {'Codigo: '}\r\n \r\n {selectClienteProps.clienteSelected.Codigo}\r\n
    \r\n {'Comunidad Autonoma: '}\r\n \r\n {selectClienteProps.clienteSelected.ComunidadAutonoma}\r\n
    \r\n {'Facturacion Entrega: '}\r\n {selectClienteProps.clienteSelected.FacturacionEntrega}
    \r\n {'Nombre:'}\r\n \r\n {selectClienteProps.clienteSelected.Nombre}\r\n
    \r\n {'Grupo Cliente: '}\r\n \r\n {selectClienteProps.clienteSelected.GrupoCliente}\r\n
    \r\n {'Estado Crediticio: '}\r\n \r\n {selectClienteProps.clienteSelected.FacturacionEntrega}
    \r\n {'Direccion: '}\r\n \r\n {selectClienteProps.clienteSelected.Direccion}
    \r\n\r\n
    \r\n {FacturacionEntrega}\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    InformaciĆ³n Crediticia
    \r\n
    \r\n \r\n \r\n \r\n Tipo\r\n \r\n \r\n Disponible\r\n \r\n \r\n SaldoTotal\r\n \r\n \r\n C15Dias\r\n \r\n \r\n \r\n \r\n {selectClienteProps.clienteSelected.Credito.map((credito, index) => {\r\n return (\r\n \r\n {credito.Tipo}\r\n {credito.Disponible}\r\n {credito.SaldoTotal}\r\n {credito.C15Dias}\r\n \r\n )\r\n })}\r\n \r\n {/* */}\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {selectClienteProps.clienteSelected.Credito.map((credito, index) => {\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 {selectClienteProps.clienteSelected.CuentaCorriente.map((cuentaCorriente, index) => {\r\n let classBold = \"\";\r\n let classBoldDanger = \"\";\r\n if (cuentaCorriente.Descripcion === \"Saldo cupo de crƩdito\") {\r\n classBold += \"font-weight-bold\";\r\n classBoldDanger += \"font-weight-bold\";\r\n\r\n if (cuentaCorriente.Valor < 0) {\r\n classBoldDanger += \" text-danger\";\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 Tipo\r\n \r\n Disponible\r\n \r\n SaldoTotal\r\n \r\n C15Dias\r\n
    {credito.Tipo}{credito.Disponible}{credito.SaldoTotal}{credito.C15Dias}
    \r\n {cuentaCorriente.Descripcion}\r\n \r\n {cuentaCorriente.Valor.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}\r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n }\r\n changeNombreColeccionAutocomplete2 = (value) => {\r\n this.setState({\r\n nombreColeccionAutocompleteValue2: value,\r\n });\r\n\r\n }\r\n getProducto = (producto, event) => {\r\n event.stopPropagation();\r\n this.setMatrizProducto(producto);\r\n this.props.onSetProducto(producto);\r\n this.props.history.push(\"/Pedidos/Colecciones/\" + this.props.coleccion.ColeccionTipo + \"/\" + this.props.coleccion.CodigoColeccion + \"/\" + producto.ProductoId);\r\n this.setState({ mostrarAlertaBackButton: true, mostrarAlertaPrimerBackButton: false });\r\n }\r\n\r\n\r\n getColeccion = (coleccion) => {\r\n this.props.onSetColeccion(coleccion);\r\n this.props.history.push(\"/Pedidos/Colecciones/\" + coleccion.ColeccionTipo + \"/\" + coleccion.CodigoColeccion);\r\n }\r\n seleccionarCliente = () => {\r\n if (this.state.autocompleteValue.Nombre.includes('CONSUMIDOR FINAL') && this.props.clienteContado === null) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: 'Debe seleccionar un cliente contado',\r\n type: 'error',\r\n confirmButtonText: 'Ok'\r\n })\r\n } else {\r\n this.cargarColecciones(this.state.autocompleteValue.EmpresaId);\r\n this.cargarImpuestoClientes(this.state.autocompleteValue.EmpresaId);\r\n this.cargarImpuestoProductos(this.state.autocompleteValue.EmpresaId);\r\n this.cargarMonedas(this.state.autocompleteValue.EmpresaId);\r\n this.cargarEmpresasTransporte(this.state.autocompleteValue.EmpresaId);\r\n this.cargarPrecioCajas(this.state.autocompleteValue.EmpresaId);\r\n //this.cargarComunidadAutonoma(this.state.autocompleteValue.EmpresaId);\r\n this.props.onSetCliente(this.state.autocompleteValue);\r\n this.props.history.push(\"/Pedidos/Bodega\");\r\n }\r\n localStorage.setItem('EmpresaCliente', this.state.autocompleteValue.EmpresaId);\r\n }\r\n seleccionarTipoPedido = (tipoPedido, acuerdoVenta) => {\r\n this.props.history.push(\"/Pedidos/Colecciones\");\r\n this.props.onSetTipoPedido(tipoPedido, acuerdoVenta);\r\n }\r\n textValueChange = (textValue) => {\r\n this.setState({\r\n autocompleteValue: textValue\r\n });\r\n }\r\n\r\n seleccionarLinea = (linea) => {\r\n this.props.onSetLineaSeleccionada(linea);\r\n this.props.history.push(\"/Pedidos/TipoPedido\");\r\n }\r\n\r\n seleccionarBodega = (bodega) => {\r\n this.props.onSetBodegaSeleccionada(bodega);\r\n this.props.history.push(\"/Pedidos/Linea\");\r\n }\r\n clickBreadCrumb = (nuevaRuta) => {\r\n this.props.history.push(nuevaRuta);\r\n }\r\n clickBreadCrumbColecciones = () => {\r\n // this.props.onSetProducto(null);\r\n // this.changeImageProducto('');\r\n this.props.history.push(\"/Pedidos/Colecciones/\" + this.props.coleccion.ColeccionTipo + \"/\" + this.props.coleccion.CodigoColeccion);\r\n }\r\n\r\n\r\n cambiarTabColecciones = (tab) => {\r\n if (this.state.activeTab !== tab) {\r\n this.setState({\r\n activeTab: tab\r\n });\r\n }\r\n }\r\n isPedidoActivo = () => {\r\n let isProductosSeleccionados = false;\r\n isProductosSeleccionados = parseInt(localStorage.getItem('ProdEnCarrito')) > 0 ? true : false;\r\n /*let tableValue = { ...this.props.TableValue };\r\nif (this.props.LineaSeleccionada && this.props.coleccion) {\r\n if (tableValue[this.props.LineaSeleccionada.IdLinea] === undefined || tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion] === undefined) {\r\n return isProductosSeleccionados;\r\n }\r\n const gruposTalla = Object.keys(tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion]);\r\n isProductosSeleccionados = gruposTalla.length > 0 && gruposTalla.every(grupoTalla => {\r\n return tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Mostrar === true;\r\n });\r\n\r\n}*/\r\n return isProductosSeleccionados;\r\n }\r\n toggle = () => {\r\n let productosSeleccionado = false;\r\n let tableValue = this.props.TableValue;\r\n try {\r\n let result = Object.keys(tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion]).find(grupoTalla => {\r\n return tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Mostrar === true;\r\n });\r\n if (result) {\r\n productosSeleccionado = true;\r\n } else {\r\n productosSeleccionado = false;\r\n\r\n }\r\n } catch {\r\n\r\n productosSeleccionado = false;\r\n }\r\n\r\n if (productosSeleccionado) {\r\n this.props.history.push(\"/Pedidos/MatrizResumen\");\r\n this.setState({ mostrarAlertaBackButton: true, mostrarAlertaPrimerBackButton: false });\r\n } else {\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Debe seleccionar al menos un producto',\r\n })\r\n }\r\n }\r\n alertaPrecio = (mensaje) => {\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Producto sin ' + (mensaje ? mensaje : 'Precio') + '. Favor elegir otro producto.',\r\n });\r\n\r\n }\r\n calcularTipoVenta() {\r\n // 0 Equivale pedido Diario\r\n // 3 Equivale a Pedido de Venta\r\n let isMora = !(this.props.cliente.FacturacionEntrega === 'No' || this.props.cliente.FacturacionEntrega === 'Nunca');\r\n if (isMora) {\r\n return 0;\r\n }\r\n if (this.props.coleccion.ColeccionTipo === 'B') {\r\n if (this.props.cliente.CuentaCorriente === null || this.props.cliente.CuentaCorriente.length === 0) {\r\n return 0;\r\n }\r\n }\r\n return 3;\r\n }\r\n toggleSelectProducto = (producto) => {\r\n let tableValue = { ...this.props.TableValue };\r\n let isSelected = true;\r\n let carrito = parseInt(localStorage.getItem('ProdEnCarrito'));\r\n let borrador = JSON.parse(localStorage.getItem(\"borrador\"));\r\n try {\r\n let value = tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Productos[producto.ProductoId]\r\n value.Selected = isSelected = !value.Selected;\r\n if (!value.Selected) {\r\n if (Object.keys(tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Productos).every(productoId => {\r\n return tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Productos[productoId].Selected === false\r\n })) {\r\n tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Mostrar = false;\r\n } else {\r\n tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Mostrar = true;\r\n }\r\n } else {\r\n\r\n tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Mostrar = true;\r\n }\r\n\r\n } catch {\r\n if (tableValue[producto.Linea.IdLinea] === undefined) {\r\n tableValue[producto.Linea.IdLinea] = {};\r\n }\r\n let value = tableValue[producto.Linea.IdLinea];\r\n\r\n if (value[producto.CodigoColeccion] === undefined) {\r\n value[producto.CodigoColeccion] = {};\r\n }\r\n value = value[producto.CodigoColeccion];\r\n\r\n if (value[producto.GrupoTalla] === undefined) {\r\n value[producto.GrupoTalla] = {};\r\n value[producto.GrupoTalla].Mostrar = true;\r\n value[producto.GrupoTalla].Productos = {};\r\n value[producto.GrupoTalla].ListaTallas = producto.ListaTalla;\r\n }\r\n value = value[producto.GrupoTalla].Productos;\r\n\r\n if (value[producto.ProductoId] === undefined) {\r\n value[producto.ProductoId] = {};\r\n value[producto.ProductoId].Colores = {};\r\n value[producto.ProductoId].ListaTallas = producto.ListaTalla\r\n value[producto.ProductoId].Selected = true;\r\n value[producto.ProductoId].NombreProducto = producto.NombreProducto;\r\n value[producto.ProductoId].Precio = producto.Precio;\r\n if (producto.ListaImagenes !== null && producto.ListaImagenes.length > 0) {\r\n\r\n value[producto.ProductoId].ListaImagenes = producto.ListaImagenes;\r\n }\r\n value = value[producto.ProductoId].Colores;\r\n\r\n producto.ListaColores.forEach(color => {\r\n value[color.CodigoColor] = {}\r\n value[color.CodigoColor].NombreColor = color.NombreColor;\r\n value[color.CodigoColor].Color = color.Color;\r\n value[color.CodigoColor].ListaImagenes = color.ListaImagenes;\r\n value[color.CodigoColor].Tallas = {}\r\n producto.ListaTalla.map(talla => {\r\n let fisicoDisponible = producto.fisicaDisponible.find(fd => { return fd.CodigoColor === color.CodigoColor && fd.IdTalla === talla.Talla })\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla] = {}\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla].Disponible = fisicoDisponible ? fisicoDisponible.Cantidad : 0;\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla].Cantidad = \"\";\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla].Distribucion = talla.Distribucion;\r\n if (fisicoDisponible && fisicoDisponible.PreciosEspecificos && fisicoDisponible.PreciosEspecificos.length > 0) {\r\n var PreciosEspecifico = fisicoDisponible.PreciosEspecificos.find(p => p.GrupoPrecio === this.props.cliente.GrupoPrecio)\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla].Precio = PreciosEspecifico.Precio\r\n } else {\r\n\r\n let precio = producto.Precio.find(precioxProd => {\r\n return precioxProd.GrupoPrecio === this.props.cliente.GrupoPrecio;\r\n });\r\n if (precio === undefined) {\r\n precio = { Precio: 0 };\r\n }\r\n value[color.CodigoColor].Tallas['Ā ' + talla.Talla].Precio = precio.Precio;\r\n }\r\n // precio = { Precio: 20 };\r\n return false;\r\n });\r\n });\r\n } else {\r\n let value = tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Productos[producto.ProductoId];\r\n if (value.Selected === undefined) {\r\n value.Selected = isSelected = true\r\n tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Mostrar = true;\r\n } else {\r\n value.Selected = isSelected = !value.Selected;\r\n if (!value.Selected) {\r\n if (Object.keys(tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Productos).every(productoId => {\r\n return tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Productos[productoId].Selected === false\r\n })) {\r\n tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Mostrar = false;\r\n } else {\r\n tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Mostrar = true;\r\n }\r\n } else {\r\n tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Mostrar = true;\r\n }\r\n }\r\n\r\n }\r\n }\r\n let totalAcumulado = this.props.TotalPedido;\r\n if (isSelected) {\r\n localStorage.setItem('ProdEnCarrito', parseInt(carrito + 1))\r\n borrador.ProdEnCarrito = carrito + 1;\r\n let newProduct = { ...producto, Selected: true };\r\n this.props.onSetProductoLista(newProduct);\r\n Object.keys(tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Productos[producto.ProductoId].Colores).forEach((codigoColor) => {\r\n let color = tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Productos[producto.ProductoId].Colores[codigoColor];\r\n\r\n Object.keys(color.Tallas).forEach((codigoTalla) => {\r\n let valorTalla = color.Tallas[codigoTalla];\r\n totalAcumulado = totalAcumulado + (valorTalla.Precio * (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10)));\r\n });\r\n });\r\n } else {\r\n localStorage.setItem('ProdEnCarrito', parseInt(carrito - 1))\r\n borrador.ProdEnCarrito = carrito - 1;\r\n let newProduct = { ...producto, Selected: false };\r\n this.props.onSetProductoLista(newProduct);\r\n Object.keys(tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Productos[producto.ProductoId].Colores).forEach((codigoColor) => {\r\n let color = tableValue[producto.Linea.IdLinea][producto.CodigoColeccion][producto.GrupoTalla].Productos[producto.ProductoId].Colores[codigoColor];\r\n\r\n Object.keys(color.Tallas).forEach((codigoTalla) => {\r\n\r\n let valorTalla = color.Tallas[codigoTalla];\r\n totalAcumulado = totalAcumulado - (valorTalla.Precio * (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10)));\r\n });\r\n });\r\n }\r\n this.props.onSetTotalPedido(totalAcumulado)\r\n\r\n borrador.TableValue = tableValue;\r\n borrador.TotalPedido = totalAcumulado;\r\n localStorage.setItem(\"borrador\", JSON.stringify(borrador));\r\n\r\n this.props.onSetTableValue(tableValue);\r\n // this.calcularTotal();\r\n // this.props.onToggleSelectProducto(producto)\r\n\r\n\r\n }\r\n changeImagenProductoDialogSeleccionada = (imagenProducto) => {\r\n this.setState({ imagenProductoDialogSeleccionada: imagenProducto })\r\n\r\n }\r\n\r\n VerificarFiltro = (atributo) => {\r\n var filtro = this.state.filtroAtributos;\r\n var tipoAtributo = Object.keys(atributo)[0];\r\n if (filtro[tipoAtributo] === undefined) {\r\n return false;\r\n }\r\n if (filtro[tipoAtributo].includes(atributo[tipoAtributo])) {\r\n return true\r\n }\r\n return false;\r\n\r\n }\r\n verificarExpandirFiltroAtributos = (indexFiltroAtributo) => {\r\n var arregloIndexFiltroAtributo = [...this.state.activeCollapse];\r\n return arregloIndexFiltroAtributo.includes(indexFiltroAtributo);\r\n }\r\n toggleExpandirFiltroAtributos = (indexFiltroAtributo) => {\r\n var arregloIndexFiltroAtributo = [...this.state.activeCollapse];\r\n if (this.verificarExpandirFiltroAtributos(indexFiltroAtributo)) {\r\n arregloIndexFiltroAtributo.splice(arregloIndexFiltroAtributo.indexOf(indexFiltroAtributo), 1);\r\n } else {\r\n arregloIndexFiltroAtributo.push(indexFiltroAtributo);\r\n }\r\n this.setState({ activeCollapse: arregloIndexFiltroAtributo });\r\n }\r\n MarcarFiltro = (atributo) => {\r\n // event.stopPropagation();\r\n var filtro = { ...this.state.filtroAtributos };\r\n var tipo = Object.keys(atributo)[0];\r\n if (filtro[tipo] === undefined) {\r\n filtro[tipo] = [];\r\n }\r\n\r\n var indexDescripcion = filtro[tipo].findIndex(descripcion => {\r\n return descripcion === atributo[tipo]\r\n });\r\n if (indexDescripcion === -1) {\r\n\r\n filtro[tipo].push(atributo[tipo]);\r\n } else {\r\n filtro[tipo].splice(indexDescripcion, 1);\r\n\r\n }\r\n this.setState({ filtroAtributos: filtro });\r\n }\r\n\r\n reiniciarPedido = () => {\r\n this.props.history.push(\"/Pedidos/Bodega\");\r\n this.setState({\r\n activeCollapse: [],\r\n mostrarRecibo: false,\r\n filtroAtributos: {}\r\n });\r\n this.props.onReinicarPedido();\r\n }\r\n\r\n guardarFirma = (imagen) => {\r\n this.setState({ firmaPedido: imagen })\r\n }\r\n\r\n // setExpandable = () => {\r\n // this.setState({\r\n // expandable: !this.state.expandable\r\n // })\r\n // }\r\n\r\n setNoStock = () => {\r\n this.setState({\r\n NoStock: !this.state.NoStock\r\n })\r\n }\r\n\r\n EliminarProducto = (grupoTalla, codigoProducto) => {\r\n var tableValue = { ...this.props.TableValue };\r\n tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Productos[codigoProducto].Selected = false\r\n if (Object.keys(tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Productos).every(productoId => {\r\n return tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Productos[productoId].Selected === false\r\n })) {\r\n tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Mostrar = false;\r\n } else {\r\n tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Mostrar = true;\r\n }\r\n\r\n let totalAcumulado = this.props.TotalPedido;\r\n let precio = tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Productos[codigoProducto].Precio.find(precioxProd => {\r\n return precioxProd.GrupoPrecio === this.props.cliente.GrupoPrecio;\r\n });\r\n if (precio === undefined) {\r\n precio = { Precio: 0 };\r\n }\r\n Object.keys(tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Productos[codigoProducto].Colores).forEach((codigoColor) => {\r\n let color = tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Productos[codigoProducto].Colores[codigoColor];\r\n Object.keys(color.Tallas).forEach((codigoTalla) => {\r\n let valorTalla = color.Tallas[codigoTalla];\r\n if (valorTalla.Cantidad > 0) {\r\n totalAcumulado = totalAcumulado - valorTalla.Cantidad;\r\n this.props.NumeroOrden && this.CrearDetallePedidoOnline(codigoProducto, codigoColor, codigoTalla.slice(1), 0, 0);\r\n valorTalla.Cantidad = 0;\r\n }\r\n });\r\n });\r\n this.props.onSetTotalPedido(totalAcumulado)\r\n\r\n let borrador = JSON.parse(localStorage.getItem(\"borrador\"));\r\n borrador.TableValue = tableValue;\r\n borrador.TotalPedido = totalAcumulado;\r\n localStorage.setItem(\"borrador\", JSON.stringify(borrador));\r\n\r\n this.props.onSetTableValue(tableValue);\r\n }\r\n\r\n setFechaEntregaPedido = (date) => {\r\n this.setState({\r\n fechaEntregaPedido: moment(date).toDate()\r\n });\r\n }\r\n cancelarPedido = () => {\r\n if (this.isPedidoActivo && !this.state.mostrarRecibo) {\r\n\r\n this.setState({\r\n autocompleteValue: null,\r\n activeCollapse: [],\r\n filtroAtributos: {}\r\n });\r\n this.props.history.push(\"/Pedidos/Cliente\");\r\n } else {\r\n this.setState({\r\n autocompleteValue: null,\r\n activeCollapse: [],\r\n filtroAtributos: {},\r\n mostrarRecibo: false\r\n });\r\n this.props.history.push(\"/Pedidos/Cliente\");\r\n this.props.onCancelarPedido();\r\n }\r\n\r\n }\r\n\r\n mostrarResumen = () => {\r\n // this.setState({ mostrarResumen: true })\r\n this.setState({ mostrarRecibo: false })\r\n this.props.history.push(\"/Pedidos/ResumenPedido\");\r\n\r\n }\r\n\r\n obtenerUltimoCorrelativo = async () => {\r\n var correlativo = \"\", errorCor;\r\n if (localStorage.getItem(\"Conexion\") === \"Online\") {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n try {\r\n this.setState((prevState) => ({ ...prevState, loadingRecibo: true }));\r\n const request = await axios.get(`${this.urlApi}/api/PedidosXCliente/correlativo/${localStorage.getItem('empresa')}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n }\r\n });\r\n\r\n return { correlativo: request.data, errorCor };\r\n } catch (err) {\r\n return { correlativo, errorCor };\r\n }\r\n } else {\r\n return { correlativo, errorCor };\r\n }\r\n } else {\r\n return { correlativo, errorCor };\r\n }\r\n }\r\n\r\n enviarPedidoAx = async (pedido) => {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n try {\r\n const request = await axios.post(this.urlApi + \"/api/PedidosXCliente/postax\", pedido, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n },\r\n timeout: 900 * 1000\r\n });\r\n\r\n console.log(request.data);\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se pudo sincronizar el pedido con AX.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Error',\r\n text: mensaje,\r\n })\r\n }\r\n }\r\n }\r\n\r\n reemplazarListaPreciosOriginal = listaPreciosCopia => {\r\n let listaPreciosNueva = this.props.ListaPrecios.map(x => listaPreciosCopia.find(y => y.$id === x.$id) || x);\r\n this.props.onSaveListaPrecios(listaPreciosNueva);\r\n }\r\n\r\n reducirStockOffline = producto => {\r\n let listaPreciosCopia = this.props.ListaPrecios.filter(x => x.CodigoColeccion === producto.CodigoColeccion);\r\n listaPreciosCopia.forEach(coleccion => {\r\n coleccion.Edades.forEach(edad => {\r\n if (edad.IdEdad === producto.Edad) {\r\n edad.ProductosXEdad.forEach(productoEdad => {\r\n if (productoEdad.ProductoId === producto.CodigoProducto) {\r\n productoEdad.fisicaDisponible.forEach(fisico => {\r\n if (fisico.IdTalla === producto.Talla && fisico.CodigoColor === producto.CodigoColor) {\r\n fisico.Cantidad -= parseInt(producto.Cantidad);\r\n }\r\n })\r\n }\r\n })\r\n }\r\n })\r\n })\r\n\r\n this.reemplazarListaPreciosOriginal(listaPreciosCopia);\r\n }\r\n\r\n reducirStockBackground = (productos) => {\r\n if (this.props.cliente.FacturacionEntrega === \"No\" || this.props.cliente.FacturacionEntrega === \"Nunca\") {\r\n for (let producto of productos) {\r\n this.reducirStockOffline(producto);\r\n }\r\n }\r\n }\r\n\r\n enviarPeticionPedido = async (location, correlativo) => {\r\n let isOnline = await verificarConexion();\r\n let nuevoSubtotal = this.props.cliente.Codigo.IncluyeImpuesto ? this.props.TotalPedido - Number(localStorage.getItem('Impuesto')) : this.props.TotalPedido;\r\n const configuracionBaseColorPais = this.props.configuracionBaseColor.filter(x => x.empresa === this.props.cliente.Codigo.split('-')[0]);\r\n let pedido = {\r\n NumeroReferencia: localStorage.getItem(\"CorrelativoPedido\"),\r\n //PedidoCache:localStorage.getItem(\"isOffline\"),\r\n PedidoId: 100 + (Math.random() * (10000 - 100)),\r\n CodigoCliente: this.props.cliente.Codigo,\r\n Nombre: this.props.cliente.Nombre,\r\n Firma: this.state.firmaPedido,\r\n FechaEntrega: this.state.fechaEntregaPedido,\r\n AcuerdoVenta: this.props.AcuerdoVenta ? this.props.AcuerdoVenta.IdAcuerdoxCliente : '',\r\n location: location,\r\n EmpresaUsuario: localStorage.getItem('empresa'),\r\n Linea: this.props.LineaSeleccionada.IdLinea,\r\n CodigoColeccion: this.props.coleccion.CodigoColeccion,\r\n DetallePedido: [],\r\n TipoPedido: this.props.TipoPedido,\r\n TipoVenta: this.calcularTipoVenta(),\r\n ClienteContadoId: (this.props.clienteContado !== null) ? this.props.clienteContado.id : null,\r\n ModoVenta: (this.props.TipoPedido.TipoPedido === 'Contado') ? 'Contado' : 'Credito',\r\n Flete: this.props.flete,\r\n RequiereEntrega: this.props.requiereEntrega,\r\n Impuesto: Number(localStorage.getItem('Impuesto')),\r\n subtotal: nuevoSubtotal,\r\n Direccion: this.props.cliente.Direccion,\r\n MonedaCliente: this.props.cliente.Moneda,\r\n BodegaEspecifica: !this.props.BodegaSeleccionada.BodegaPrincipal,\r\n Sitio: this.props.BodegaSeleccionada.CodigoSitio,\r\n Almacen: this.props.BodegaSeleccionada.Almacen,\r\n DireccionEntrega: this.props.direccionEntrega.postalAddress,\r\n };\r\n let tableValue = this.props.TableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion];\r\n let productosReducir = [];\r\n\r\n Object.keys(tableValue).forEach(codigoGrupoTalla => {\r\n if (tableValue[codigoGrupoTalla].Mostrar) {\r\n Object.keys(tableValue[codigoGrupoTalla].Productos).forEach(codigoProducto => {\r\n if (tableValue[codigoGrupoTalla].Productos[codigoProducto].Selected) {\r\n this.props.coleccion.Edades.map(edad => {\r\n let producto = edad.ProductosXEdad.find(prod => prod.ProductoId === codigoProducto);\r\n\r\n if (producto) {\r\n\r\n producto.matriz = [];\r\n producto.ListaColores.forEach(color => {\r\n\r\n Object.keys(tableValue[codigoGrupoTalla].Productos[codigoProducto].Colores[color.CodigoColor].Tallas).forEach(talla => {\r\n let detalle = {\r\n IdProducto: producto.CodigoProducto,\r\n CodigoProducto: codigoProducto,\r\n NombreProducto: producto.NombreProducto,\r\n CodigoColor: color.CodigoColor,\r\n NombreColor: color.NombreColor,\r\n Cantidad: tableValue[codigoGrupoTalla].Productos[codigoProducto].Colores[color.CodigoColor].Tallas[talla].Cantidad,\r\n Unidad: \"Und\",\r\n PrecioUnitario: tableValue[codigoGrupoTalla].Productos[codigoProducto].Colores[color.CodigoColor].Tallas[talla].Precio,\r\n Talla: talla.substring(1),\r\n CodigoColeccion: this.props.coleccion.CodigoColeccion,\r\n PorcentajeDescuento: \"\",\r\n Edad: edad.IdEdad\r\n };\r\n \r\n if (producto.atributo) {\r\n let configuracionBaseColorImpuesto = configuracionBaseColorPais.find(x => x.codigobase === producto.atributo.codigo && x.color === color.CodigoColor);\r\n if (configuracionBaseColorImpuesto) {\r\n detalle[\"CodigoImpuesto\"] = configuracionBaseColorImpuesto.codigoImpuesto;\r\n }else{\r\n detalle[\"CodigoImpuesto\"] = \"\";\r\n }\r\n }\r\n\r\n if (tableValue[codigoGrupoTalla].Productos[codigoProducto].Colores[color.CodigoColor].Tallas[talla].Cantidad > 0) {\r\n pedido.DetallePedido.push(detalle);\r\n if (!isOnline || localStorage.getItem(\"Conexion\") === \"offline\") {\r\n productosReducir.push(detalle);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n return false;\r\n })\r\n\r\n }\r\n })\r\n }\r\n })\r\n\r\n let impuestoFinal = this.props.cliente.Codigo.IncluyeImpuesto ? 0 : pedido.Impuesto;\r\n let total = pedido.subtotal + impuestoFinal + pedido.Flete\r\n this.reducirDisponibleAcuerdo(pedido.CodigoCliente, total, pedido.TipoPedido.TipoPedido, pedido.AcuerdoVenta);\r\n if (!isOnline || localStorage.getItem(\"Conexion\") === \"offline\" || pedido.NumeroReferencia === \"\") {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: \"Actualmente no dispone de internet el pedido se guardara en cache.\",\r\n });\r\n\r\n const data = postPedidoStorage(pedido);\r\n let numPedido = data.EncabezadoPedido.PedidoId;\r\n this.setState({ mostrarRecibo: true, loadingRecibo: false, NumPedido: numPedido });\r\n this.props.onSetNumeroOrden(numPedido);\r\n this.reducirStockBackground(productosReducir);\r\n localStorage.setItem(\"isOffline\", true);\r\n }\r\n \r\n else {\r\n const { data, error } = await post(this.urlApi + \"/api/PedidosXCliente\", pedido, \"SET_PEDIDOSINCRONIZAR\");\r\n localStorage.setItem(\"isOffline\", false);\r\n if (error) {\r\n if (error.response) {\r\n let mensaje = error.response.data.Message;\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Error',\r\n text: mensaje,\r\n })\r\n this.setState({ loadingRecibo: false });\r\n }\r\n let numPedido = pedido.NumeroReferencia;\r\n this.setState({ mostrarRecibo: true, loadingRecibo: false, NumPedido: numPedido });\r\n } else {\r\n if (!data) {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: \"Actualmente no dispone de internet el pedido se guardara en cache.\",\r\n });\r\n\r\n const data = postPedidoStorage(pedido);\r\n let numPedido = data.EncabezadoPedido.PedidoId;\r\n this.setState({ mostrarRecibo: true, loadingRecibo: false, NumPedido: numPedido });\r\n this.props.onSetNumeroOrden(numPedido);\r\n localStorage.setItem(\"isOffline\", true);\r\n return;\r\n }\r\n\r\n const { correlativo, mensaje } = data;\r\n if (mensaje) {\r\n if (mensaje.includes(\"flotante\")) {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: mensaje,\r\n })\r\n }\r\n this.setState({ mostrarRecibo: true, loadingRecibo: false, NumPedido: correlativo });\r\n this.props.onSetNumeroOrden(correlativo);\r\n }\r\n else {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: \"Actualmente no dispone de internet el pedido se guardara en cache.\",\r\n });\r\n let numPedido = data.EncabezadoPedido.PedidoId;\r\n this.setState({ mostrarRecibo: true, loadingRecibo: false, NumPedido: numPedido });\r\n this.props.onSetNumeroOrden(numPedido);\r\n localStorage.setItem(\"isOffline\", true);\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n reducirDisponibleAcuerdo = (codigoCliente, montoTotal, TipoCredito, numAcuerdo) => {\r\n let newlistaClientes = [];\r\n let ClientesLista = this.state.clientes;\r\n ClientesLista.filter(x => x.Codigo === codigoCliente).forEach(cliente => {\r\n cliente.AcuerdosVenta.filter(x => x.IdAcuerdoxCliente === numAcuerdo).forEach(acuerdo => {\r\n let nDisponible = acuerdo.Saldo - montoTotal;\r\n acuerdo.Saldo = nDisponible;\r\n })\r\n cliente.Credito.filter(x => x.Tipo === TipoCredito).forEach(credito => {\r\n let nDisponible = credito.Disponible - montoTotal;\r\n credito.Disponible = nDisponible;\r\n })\r\n });\r\n newlistaClientes = ClientesLista;\r\n this.props.onStoreClientes(newlistaClientes);\r\n }\r\n\r\n desactivarLoading = () => {\r\n this.setState((prevState) => ({ ...prevState, loadingRecibo: false }));\r\n }\r\n\r\n enviarPedido = async (correlativo) => {\r\n localStorage.removeItem(\"ColeccionSeleccionada\");\r\n localStorage.removeItem(\"HoraIngreso\");\r\n localStorage.removeItem(\"ProdEnCarrito\");\r\n this.setState({ loadingRecibo: true });\r\n ObtenerCoordenadas((position) => {\r\n this.enviarPeticionPedido({\r\n longitude: position.coords.longitude,\r\n latitude: position.coords.latitude\r\n }, correlativo)\r\n }, (error) => {\r\n this.enviarPeticionPedido(null, correlativo);\r\n });\r\n }\r\n FinalizarPedidoOnline = () => {\r\n this.setState({ mostrarRecibo: true, loadingRecibo: false, NumPedido: this.props.NumeroOrden });\r\n\r\n }\r\n CrearDetallePedidoOnline = (productoId, codigoColor, talla, valor, precio, cantidad = 0) => {\r\n /*if (this.props.NumeroOrden && cantidad < 3) {\r\n \r\n fetch(this.urlApi + \"/api/PedidoOnline/CrearDetalle\", {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token'),\r\n\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify({\r\n CodigoCliente: this.props.cliente.Codigo,\r\n ProductoId: productoId,\r\n CodigoColor: codigoColor,\r\n Talla: talla,\r\n Cantidad: valor,\r\n MontoLinea: precio,\r\n PrecioUnitario: precio,\r\n }),\r\n })\r\n .then(res => {\r\n if (res.status === 200) {\r\n\r\n /* this.setState({\r\n \r\n }) \r\n } else {\r\n this.CrearDetallePedidoOnline(productoId, codigoColor, talla, valor, precio, cantidad + 1);\r\n }\r\n }, error => error)\r\n } else {\r\n this.setState({\r\n\r\n }) \r\n }*/\r\n }\r\n CrearEncabezadoPedidoOnline = (cantidad = 0) => {\r\n /*if (cantidad < 3) {\r\n if (!this.state.loading) {\r\n this.setState({ loading: true });\r\n }\r\n\r\n fetch(this.urlApi + \"/api/PedidoOnline/CrearEncabezado\", {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token'),\r\n\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify({\r\n CodigoCliente: this.props.cliente.Codigo,\r\n CodigoColeccion: this.props.coleccion.CodigoColeccion,\r\n TipoColeccion: this.props.coleccion.ColeccionTipo,\r\n IdLinea: this.props.LineaSeleccionada.IdLinea,\r\n AcuerdoVenta: this.props.AcuerdoVenta ? this.props.AcuerdoVenta.IdAcuerdoxCliente : '',\r\n Crear: true,\r\n }),\r\n })\r\n .then(res => {\r\n if (res.status === 200) {\r\n this.setState({ loading: false });\r\n res.json().then(\r\n (result) => {\r\n this.props.onSetNumeroOrden(result.SalesTable.Orden);\r\n\r\n })\r\n } else {\r\n this.CrearEncabezadoPedidoOnline(cantidad + 1);\r\n }\r\n }, () => { this.setState({ loading: false }) })\r\n } else {\r\n this.setState({ loading: false });\r\n\r\n }*/\r\n }\r\n SendEmailPDF = async () => {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n var element = document.getElementById(\"invoice-POS\");\r\n html2canvas(element).then(canvas => {\r\n var data = canvas.toDataURL('image/jpeg', 1.0);\r\n var pdfExportSetting = {\r\n pageSize: {\r\n width: 600,\r\n height: 'auto'\r\n },\r\n content: [\r\n\r\n {\r\n image: data,\r\n width: 500,\r\n }\r\n ]\r\n };\r\n pdfMake.createPdf(pdfExportSetting).getBase64((base64) => {\r\n var pdf = 'data:application/pdf;base64,' + base64;\r\n\r\n var email = { pdf: pdf, CodigoCliente: this.props.cliente.Codigo };\r\n\r\n fetch(this.urlApi + \"/api/Correo\", {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token'),\r\n\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(email),\r\n })\r\n .then(res => {\r\n if (res.status === 204) {\r\n this.setState({\r\n CorreoEnviado: true,\r\n })\r\n }\r\n else {\r\n }\r\n\r\n })\r\n\r\n });\r\n //pdfMake.createPdf(pdfExportSetting).download(\"test_file.pdf\");\r\n });\r\n }\r\n\r\n };\r\n\r\n detalleCarrito = () => {\r\n\r\n return (\r\n\r\n this.props.listaProductosAgregados.map((producto, index) => {\r\n if (producto.selected) {\r\n\r\n return (\r\n
  • \r\n \r\n \r\n {\"ImagenProducto\"}\r\n \r\n \r\n 1x {producto.NombreProducto}\r\n
    {\"Precio: L. \" +\r\n producto.Precio[0].Precio}
    \r\n \r\n \r\n
    \r\n
  • \r\n\r\n );\r\n } else {\r\n return null;\r\n }\r\n })\r\n\r\n );\r\n }\r\n onResetProductosAgreagados = () => {\r\n this.props.onResetProductosAgreagados();\r\n this.setState({ unidadesCarrito: 0 })\r\n }\r\n\r\n carrito = () => {\r\n if (this.state.collapse) {\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n

    \r\n Detalle del Pedido

    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
      \r\n {this.detalleCarrito()}\r\n
    \r\n\r\n
    \r\n \r\n \r\n Unidades:\r\n \r\n \r\n {this.state.unidadesCarrito}\r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n Subtotal:\r\n \r\n \r\n L. 6,086.96\r\n \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n ISV:\r\n \r\n \r\n L. 913.04\r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n Total:\r\n \r\n \r\n L. 7,000.00\r\n \r\n\r\n \r\n
    \r\n Completar Pedido\r\n\r\n
    \r\n )\r\n } else {\r\n return null;\r\n\r\n }\r\n\r\n }\r\n\r\n SearchProductos = (text) => {\r\n this.setState({\r\n buscador: text,\r\n })\r\n }\r\n\r\n ClearSearch = () => {\r\n this.setState({\r\n buscador: '',\r\n })\r\n }\r\n\r\n handleDeleteFiltros = (categoria, filtro) => {\r\n var ListaFiltros = { ...this.state.filtroAtributos };\r\n let filtros = ListaFiltros[categoria];\r\n\r\n filtros.some((filt, inde) => {\r\n if (filt === filtro) {\r\n filtros.splice(inde, 1);\r\n return true;\r\n }\r\n return false;\r\n })\r\n\r\n this.setState({\r\n filtroAtributos: ListaFiltros\r\n })\r\n }\r\n\r\n handleDeleteAllFiltros = () => {\r\n this.setState({\r\n filtroAtributos: {},\r\n })\r\n }\r\n\r\n setFiltroEdad = (data) => {\r\n this.setState({\r\n filtroEdad: data\r\n })\r\n }\r\n\r\n SearchFiltros = (event) => {\r\n this.setState({\r\n buscadorFiltros: event.target.value,\r\n })\r\n }\r\n OnClickSearch = () => {\r\n this.state.buscadorFiltros !== \"\" && this.setState({ buscadorFiltros: \"\" })\r\n }\r\n\r\n Filtros = () => {\r\n var filtros = [];\r\n var filtro = {};\r\n this.props.coleccion.AtributosXColeccion.forEach(atri => {\r\n if (atri.IdLinea === this.props.LineaSeleccionada.IdLinea) {\r\n if (filtro[atri.Tipo] === undefined) {\r\n filtro[atri.Tipo] = [];\r\n }\r\n let encontrado = atri.Descripcion.toLowerCase().includes(this.state.buscadorFiltros.toLowerCase());\r\n if (this.state.buscadorFiltros === \"\") {\r\n filtro[atri.Tipo].push(atri.Descripcion);\r\n }\r\n else if (encontrado) {\r\n filtro[atri.Tipo].push(atri.Descripcion);\r\n }\r\n else {\r\n if (filtro[atri.Tipo].length === 0) {\r\n delete filtro[atri.Tipo];\r\n }\r\n }\r\n }\r\n });\r\n filtros = Object.keys(filtro).map(key => {\r\n return {\r\n Tipo: key,\r\n Descripciones: filtro[key]\r\n }\r\n });\r\n return filtros;\r\n }\r\n\r\n seleccionarPais = (pais) => {\r\n /*clientes:this.props.clientes,\r\n clientesFiltrados:[],\r\n paisSeleccionado:null*/\r\n if (this.state.paisSeleccionado === pais) {\r\n this.setState((prevState) => ({ ...prevState, clientesFiltrados: prevState.clientes, paisSeleccionado: null, autocompleteValue: null }));\r\n } else {\r\n const paisFiltrado = this.state.clientes.filter(x => x.EmpresaId === pais);\r\n this.setState((prevState) => ({ ...prevState, clientesFiltrados: paisFiltrado, paisSeleccionado: pais, autocompleteValue: null }))\r\n }\r\n }\r\n\r\n OpcionesOrdenamiento = () => {\r\n if (this.props.coleccion.ColeccionTipo === \"F\" || this.props.coleccion.ColeccionTipo === 'f') {\r\n return [\"Codigo\", \"Nombre\"].map(e => ({ key: e, value: e, text: e }));\r\n }\r\n\r\n return [\"Codigo\", \"Nombre\", \"Stock\"].map(e => ({ key: e, value: e, text: e }));\r\n }\r\n\r\n render() {\r\n const { error, isLoaded, loading } = this.state;\r\n var filtroActivo = false;\r\n\r\n Object.keys(this.state.filtroAtributos).map((categ, indCateg) => {\r\n\r\n return this.state.filtroAtributos[categ].map((filtro, ind) => {\r\n filtroActivo = true;\r\n return true\r\n });\r\n })\r\n if (error) {\r\n return
    Error: {error.message}
    ;\r\n } else if ((!isLoaded || loading)) {\r\n return ;\r\n } else {\r\n return (\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 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 return (\r\n <>\r\n \r\n {/* Other elements can be in between `StickyContainer` and `Sticky`,\r\n but certain styles can break the positioning logic used. */}\r\n \r\n {({\r\n style,\r\n\r\n // the following are also available but unused in this example\r\n isSticky,\r\n wasSticky,\r\n distanceFromTop,\r\n distanceFromBottom,\r\n calculatedHeight\r\n }) => (\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n )}\r\n
    \r\n {\r\n this.state.expandable ?\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 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 Cancelar\r\n \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n {\"Cliente: \"}\r\n {this.props.cliente.Nombre}\r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n { this.clickBreadCrumb(\"/Pedidos/Bodega\") }, Titulo: this.props.BodegaSeleccionada ? this.props.BodegaSeleccionada.Etiqueta : \"Bodega\" },\r\n { Titulo: 'Linea' }\r\n ]}\r\n />\r\n\r\n\r\n \r\n \r\n \r\n Cancelar\r\n \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n {\"Cliente: \"}\r\n {this.props.cliente.Nombre}\r\n \r\n \r\n \r\n }\r\n />\r\n\r\n {\r\n let listFiltros = [...this.Filtros()];\r\n return (\r\n \r\n \r\n {this.carrito()}\r\n \r\n )\r\n }} />\r\n\r\n {\r\n // this.CrearEncabezadoPedidoOnline();\r\n\r\n if (this.props.coleccion === null) {\r\n this.props.onSetColeccion(this.props.colecciones.find(col => col.CodigoColeccion === this.props.codigoColeccionActiva));\r\n return null;\r\n } else {\r\n return (\r\n
    \r\n \r\n {/* Other elements can be in between `StickyContainer` and `Sticky`,\r\n but certain styles can break the positioning logic used. */}\r\n \r\n {({\r\n style,\r\n\r\n // the following are also available but unused in this example\r\n isSticky,\r\n wasSticky,\r\n distanceFromTop,\r\n distanceFromBottom,\r\n calculatedHeight\r\n }) => (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {matches => (\r\n <>\r\n {\r\n matches.mobile &&\r\n this.Alerta()}>\r\n }\r\n {\r\n matches.desktop &&\r\n this.Alerta()}> Filtros\r\n }\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n {/* {!this.props.NumeroOrden ? : null} */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {this.props.coleccion.Edades.map((edad, index0, self) => {\r\n if (self.map(e => e.IdEdad).indexOf(edad.IdEdad) === index0) {\r\n return (\r\n this.SelectFiltroEdad(edad.IdEdad)}\r\n >\r\n {edad.Edad}\r\n
    \r\n // \r\n // {edad.Edad}\r\n // \r\n )\r\n }\r\n return null;\r\n })}\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n\r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n
    \r\n\r\n
    \r\n\r\n \r\n {\r\n matches => {\r\n let listFiltros = [...this.Filtros()];\r\n return (\r\n <>\r\n {matches.mobile &&\r\n \r\n }\r\n {\r\n matches.desktop &&\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n this.OnClickSearch()} >\r\n
    \r\n
    \r\n this.SearchFiltros(event)} placeholder={\"Buscar\"} className={\"pr-2 \" + styles.SearchFiltros} />\r\n\r\n
    \r\n {\r\n this.Filtros().length !== 0 ?\r\n this.Filtros().map((atributoXcoleccion, index) => {\r\n return (\r\n \r\n } aria-controls={\"panel\" + index.toString() + \"d-content\"} id={\"panel\" + index.toString() + \"d-header\"}>\r\n {atributoXcoleccion.Tipo}\r\n\r\n \r\n \r\n
    \r\n\r\n {atributoXcoleccion.Descripciones.map((Descripcion, index2) => {\r\n var atrib = {\r\n [atributoXcoleccion.Tipo]: Descripcion\r\n };\r\n return (\r\n

    \r\n \r\n {Descripcion}\r\n
    \r\n

    \r\n\r\n )\r\n })}\r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n })\r\n :\r\n
    \r\n Sin Resultados\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n }\r\n \r\n )\r\n }\r\n }\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Ordenar por:\r\n {\r\n this.setState((prevState) => ({ ...prevState, Ordenamiento: value }));\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n this.setNoStock()}\r\n checked={this.state.NoStock} />\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n {this.carrito()}\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n\r\n \r\n )\r\n }\r\n\r\n }\r\n\r\n }\r\n />\r\n {\r\n if (this.state.activeCollapse.length !== 0 && Object.keys(this.state.filtroAtributos).length !== 0) {\r\n this.setState({\r\n activeCollapse: [],\r\n filtroAtributos: {}\r\n });\r\n }\r\n if (this.state.loadingColecciones) {\r\n return (\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 }\r\n />\r\n \r\n
    \r\n {this.props.Paises.length > 1 &&\r\n
    \r\n

    Filtro por pais

    \r\n
    \r\n {\r\n // eslint-disable-next-line\r\n this.props.Paises.map(pais => {\r\n if (pais.EmpresaId === \"IMHN\") {\r\n let stylePaises = { width: '30px', height: '30px', marginLeft: '25px' };\r\n if (this.state.paisSeleccionado === \"IMHN\") {\r\n stylePaises = { width: '30px', height: '30px', marginLeft: '25px', outline: '5px solid green' }\r\n }\r\n\r\n return \"honduras\" { this.seleccionarPais(pais.EmpresaId) }} />\r\n } else if (pais.EmpresaId === \"IMCR\") {\r\n let stylePaises = { width: '30px', height: '30px', marginLeft: '25px' };\r\n if (this.state.paisSeleccionado === \"IMCR\") {\r\n stylePaises = { width: '30px', height: '30px', marginLeft: '25px', outline: '5px solid green' };\r\n }\r\n return \"costarica\" { this.seleccionarPais(pais.EmpresaId) }} />\r\n } else if (pais.EmpresaId === \"IMGT\") {\r\n let stylePaises = { width: '30px', height: '30px', marginLeft: '25px' }\r\n if (this.state.paisSeleccionado === \"IMGT\") {\r\n stylePaises = { width: '30px', height: '30px', marginLeft: '25px', outline: '5px solid green' };\r\n }\r\n return \"guatemala\" { this.seleccionarPais(pais.EmpresaId) }} />\r\n } else if (pais.EmpresaId === \"IMSL\") {\r\n let stylePaises = { width: '30px', height: '30px', marginLeft: '25px' }\r\n if (this.state.paisSeleccionado === \"IMSL\") {\r\n stylePaises = { width: '30px', height: '30px', marginLeft: '25px', outline: '5px solid green' };\r\n }\r\n return \"salvador\" { this.seleccionarPais(pais.EmpresaId) }} />\r\n }\r\n })}\r\n
    \r\n
    \r\n }\r\n \r\n
    \r\n \r\n \r\n\r\n );\r\n }\r\n }\r\n\r\n ScrollToTop = (ref) => {\r\n ref.current.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n\r\n NoEsFuturo = () => {\r\n let noFuturo = this.props.coleccion.ColeccionTipo !== \"F\";\r\n return noFuturo;\r\n }\r\n\r\n SelectFiltroEdad = (edadSelected) => {\r\n this.setState({ filtroEdad: edadSelected })\r\n }\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n background: 'red',\r\n timer: 3000,\r\n })\r\n\r\n\r\n alertaLimiteCredito() {\r\n\r\n this.Toast.fire({\r\n title: \"Excede el limite de crƩdito disponible.\",\r\n icon: 'error'\r\n });\r\n }\r\n\r\n onchangeText(text, productoId, codigoColor, grupoTalla, talla, precio) {\r\n this.props.onSetBloqueo(false);\r\n let borrador = JSON.parse(localStorage.getItem(\"borrador\") || \"{}\");\r\n let tableValue = { ...this.props.TableValue };\r\n const valor = (text.target.validity.valid) ? text.target.value : tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Productos[productoId].Colores[codigoColor].Tallas[talla].Cantidad;\r\n let valorPrevio = tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Productos[productoId].Colores[codigoColor].Tallas[talla];\r\n let totalAcumulado = this.props.TotalPedido - (valorPrevio.Cantidad - valor) * precio;\r\n if (this.props.TipoPedido.Restrictivo) {\r\n if (this.props.AcuerdoVenta) {\r\n if (!(this.props.AcuerdoVenta.Saldo >= totalAcumulado)) {\r\n this.props.onSetBloqueo(true);\r\n this.alertaLimiteCredito();\r\n }\r\n } else {\r\n if (!(this.props.cliente.LimiteCredito >= totalAcumulado)) {\r\n this.alertaLimiteCredito();\r\n }\r\n\r\n\r\n }\r\n }\r\n valorPrevio.Cantidad = valor;\r\n if (tableValue[this.props.LineaSeleccionada.IdLinea][this.props.coleccion.CodigoColeccion][grupoTalla].Productos[productoId].Selected) {\r\n this.props.onSetTotalPedido(totalAcumulado);\r\n borrador.TotalPedido = totalAcumulado;\r\n // this.CrearDetallePedidoOnline(productoId, codigoColor, talla.slice(1) , valor, precio);\r\n }\r\n\r\n borrador.TableValue = tableValue;\r\n localStorage.setItem(\"borrador\", JSON.stringify(borrador));\r\n\r\n this.props.onSetTableValue(tableValue);\r\n }\r\n\r\n AgregarProducto = () => {\r\n var id = 'ProdId' + this.props.producto.ProductoId;\r\n var prods = JSON.parse(localStorage.getItem(id));\r\n var array = this.props.TableValue;\r\n localStorage.setItem(id, JSON.stringify(array));\r\n\r\n\r\n var found = false;\r\n var agregados = this.props.listaProductosAgregados;\r\n\r\n\r\n var contador = this.state.unidadesCarrito;\r\n\r\n agregados.map((agregado) => {\r\n if (this.props.producto.ProductoId === agregado.ProductoId) {\r\n if (agregado.selected) {\r\n found = true;\r\n }\r\n }\r\n return false;\r\n })\r\n\r\n if (found) {\r\n contador = this.state.unidadesCarrito;\r\n prods.map((color, indexC) => {\r\n color.map((talla, indexT) => {\r\n contador -= parseInt((prods[indexC])[indexT]);\r\n return false;\r\n })\r\n return false;\r\n })\r\n\r\n array.map((color, indexC) => {\r\n color.map((talla, indexT) => {\r\n contador += parseInt((array[indexC])[indexT]);\r\n return false;\r\n })\r\n return false;\r\n })\r\n\r\n this.setState({ unidadesCarrito: contador });\r\n }\r\n else {\r\n this.toggleSelectProducto(this.props.producto);\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n colecciones: state.colecciones,\r\n producto: state.producto,\r\n coleccion: state.coleccion,\r\n clientes: state.clientes,\r\n cliente: state.cliente,\r\n listaProductosAgregados: state.listaProductosAgregados,\r\n TiposPedido: state.TiposPedido,\r\n TipoPedido: state.TipoPedido,\r\n MaestroLineas: state.MaestroLineas,\r\n LineaSeleccionada: state.LineaSeleccionada,\r\n TableValue: state.TableValue,\r\n PedidoEnCurso: state.PedidoEnCurso,\r\n CodigoColeccionActiva: state.codigoColeccionActiva,\r\n AcuerdoVenta: state.AcuerdoVenta,\r\n TotalPedido: state.TotalPedido,\r\n Limite: state.Limite,\r\n NumeroOrden: state.NumeroOrden,\r\n TiposColeccion: state.TiposColeccion,\r\n clienteContado: state.clienteContado,\r\n flete: state.flete,\r\n requiereEntrega: state.requiereEntrega,\r\n impuesto: state.Impuesto,\r\n Paises: state.Permisos[0].EmpresasUsuarios,\r\n ListaPrecios: state.ListaPrecios,\r\n MonedasGlobal: state.MonedasGlobal,\r\n EmpresaTransporteGlobal: state.EmpresaTransporteGlobal,\r\n PrecioCajasGlobal: state.PrecioCajasGlobal,\r\n ClienteImpuestosGlobal: state.ClienteImpuestosGlobal,\r\n ProductoImpuestosGlobal: state.ProductoImpuestosGlobal,\r\n UsuarioOficina: state.Permisos[0].UsuarioOficina,\r\n BodegaSeleccionada: state.BodegaSeleccionada,\r\n configuracionBaseColor: state.configuracionBaseColor,\r\n direccionEntrega: state.direccionEntrega, \r\n };\r\n};\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n onSetProductoLista: (producto) => dispatch({ type: 'SET_PRODUCTOAGREGADO', payload: producto }),\r\n onSetBloqueo: (valor) => dispatch({ type: 'SET_BLOQUEO', payload: valor }),\r\n onStoreColecciones: (colecciones) => dispatch({ type: 'STORE_COLECCIONES', colecciones: colecciones }),\r\n onStoreClientes: (clientes) => dispatch({ type: 'STORE_CLIENTES', clientes: clientes }),\r\n onStoreTipoPedido: (TipoPedido) => dispatch({ type: 'STORE_TIPO_PEDIDO', TipoPedido: TipoPedido }),\r\n onSetProducto: (producto) => dispatch({ type: 'SET_PRODUCTO', producto: producto }),\r\n onSetColeccion: (coleccion) => dispatch({ type: 'SET_COLECCION', coleccion: coleccion }),\r\n onSetCliente: (cliente) => dispatch({ type: 'SET_CLIENTE', cliente: cliente }),\r\n onSetTipoPedido: (tipoPedido, acuerdoVenta) => dispatch({ type: 'SET_PEDIDO', TipoPedido: tipoPedido, AcuerdoVenta: acuerdoVenta }),\r\n onCancelarPedido: () => dispatch({ type: 'CANCELAR_PEDIDO' }),\r\n onReinicarPedido: () => dispatch({ type: 'REINICIAR_PEDIDO' }),\r\n onToggleSelectProducto: (producto) => dispatch({ type: 'TOGGLE_SELECT_PRODUCTO', producto: producto }),\r\n onResetProductosAgreagados: () => dispatch({ type: 'RESET_PRODUCTOS_AGREGADOS' }),\r\n onStoreMaestroLinea: (maestroLineas) => dispatch({ type: 'STORE_MAESTROLINEA', maestroLineas: maestroLineas }),\r\n onSetLineaSeleccionada: (lineaSeleccionada) => dispatch({ type: 'SET_LINEA', LineaSeleccionada: lineaSeleccionada }),\r\n onSetTableValue: (tableValue) => dispatch({ type: 'SET_TABLEVALUE', TableValue: tableValue }),\r\n onSetPedidoEnCurso: (pedidoEnCurso) => dispatch({ type: 'SET_PEDIDOENCURSO', pedidoEnCurso: pedidoEnCurso }),\r\n onSetTotalPedido: (TotalPedido) => dispatch({ type: 'SET_TOTALPEDIDO', TotalPedido: TotalPedido }),\r\n onSetNumeroOrden: (NumeroOrden) => dispatch({ type: 'SET_NUMEROORDEN', NumeroOrden: NumeroOrden }),\r\n onStoreTiposColeccion: (TiposColeccion) => dispatch({ type: 'STORE_TIPOS_COLECCION', TiposColeccion: TiposColeccion }),\r\n onStoreDatosParaPedido: (colecciones, clientes, TiposPedido, maestroLineas) => dispatch(\r\n { type: 'STORE_DATOSPARAPEDIDO', colecciones: colecciones, clientes: clientes, TiposPedido: TiposPedido, maestroLineas: maestroLineas }),\r\n onStoreEmpresasTransporte: (empresas) => dispatch({ type: 'SET_EMPRESASTRANSPORTE', payload: empresas }),\r\n onStorePrecioCajas: (precioCajas) => dispatch({ type: 'SET_PRECIOCAJAS', payload: precioCajas }),\r\n onStoreImpuestoClientes: (impuestos) => dispatch({ type: 'SET_CLIENTEIMPUESTOS', payload: impuestos }),\r\n onStoreImpuestoProductos: (impuestos) => dispatch({ type: 'SET_PRODUCTOIMPUESTOS', payload: impuestos }),\r\n onSaveMonedas: (monedas) => { dispatch({ type: 'SET_MONEDAS', payload: monedas }) },\r\n onSetEmpresasTransporte: (data) => { dispatch({ type: 'SET_EMPRESASTRANSPORTEGLOBAL', payload: data }) },\r\n onStorePrecioCajasGlobal: (precioCajas) => dispatch({ type: 'SET_PRECIOCAJASGLOBAL', payload: precioCajas }),\r\n onStoreImpuestoClientesGlobal: (impuestos) => dispatch({ type: 'SET_CLIENTEIMPUESTOSGLOBAL', payload: impuestos }),\r\n onStoreImpuestoProductosGlobal: (impuestos) => dispatch({ type: 'SET_PRODUCTOIMPUESTOSGLOBAL', payload: impuestos }),\r\n onStoreAbreviacionMonedas: (data) => dispatch({ type: 'SET_ABREVACIONMONEDAS', payload: data }),\r\n onStoreClienteContado: (data) => dispatch({ type: 'SET_CLIENTESCONTADO', payload: data }),\r\n onStoreComunidadAutonoma: (data) => dispatch({ type: 'SET_COMUNIDADAUTONOMA', payload: data }),\r\n onStoreMonedas: (data) => dispatch({ type: 'SET_MONEDASGLOBAL', payload: data }),\r\n onSaveListaPrecios: (precios) => { dispatch({ type: 'SET_LISTAPRECIOS', payload: precios }) },\r\n onSetBodegaSeleccionada: (BodegaSeleccionada) => dispatch({ type: 'SET_BODEGASELECCIONADA', payload: BodegaSeleccionada })\r\n };\r\n};\r\n/* const linkButton = {\r\n background: \"none\",\r\n border: \"none\",\r\n }; */\r\nconst ExpansionPanel = withStyles({\r\n root: {\r\n border: '1px solid rgba(0, 0, 0, .125)',\r\n boxShadow: 'none',\r\n '&:not(:last-child)': {\r\n borderBottom: 0,\r\n },\r\n '&:before': {\r\n display: 'none',\r\n },\r\n '&$expanded': {\r\n margin: 'auto',\r\n },\r\n },\r\n expanded: {},\r\n})(MuiExpansionPanel);\r\n\r\nconst ExpansionPanelSummary = withStyles({\r\n root: {\r\n backgroundColor: 'rgba(255,255,255)',\r\n borderBottom: '1px solid rgba(0, 0, 0, .125)',\r\n marginBottom: -1,\r\n minHeight: 56,\r\n '&$expanded': {\r\n minHeight: 56,\r\n },\r\n },\r\n content: {\r\n '&$expanded': {\r\n margin: '12px 0',\r\n },\r\n },\r\n expanded: {},\r\n})(MuiExpansionPanelSummary);\r\n\r\nconst ExpansionPanelDetails = withStyles(theme => ({\r\n root: {\r\n padding: theme.spacing(2),\r\n },\r\n}))(MuiExpansionPanelDetails);\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Pedidos);","import React, { useState } from 'react';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport styles from 'components/Pedidos/SelectCliente/SelectCliente.module.css';\r\nimport { useSelector } from 'react-redux';\r\nimport { FiAlertTriangle } from 'react-icons/fi';\r\nimport { numberWithCommas } from 'utils/common';\r\nimport { ReservadoDetalleLinea } from 'components/Pedidos/SelectCliente/ReservadoDetalleLinea';\r\n\r\nexport const InformacionGeneral = props => {\r\n const [verPedidoPendientes, setVerPedidoPendientes] = useState(false);\r\n const [detalleColeccion, setDetalleColeccion] = useState([]);\r\n const Monedas = useSelector(e => e.AbreviacionMonedas);\r\n let FacturacionEntrega = null;\r\n let DisponibleTotal = 0;\r\n let ValorCreditoTotal = 0;\r\n let CXCTotal = 0;\r\n\r\n if (props.cliente === undefined) {\r\n return

    Seleccione un cliente

    \r\n }\r\n\r\n const mensajeError = () => {\r\n if (props.cliente !== null) {\r\n if (props.cliente.FacturacionEntrega === \"Factura\") return \"El cliente actualmente se encuentra deshabilitado por mora.\";\r\n if (props.cliente.FacturacionEntrega === \"Todo\") return \"El cliente actualmente se encuentra bloqueado.\";\r\n }\r\n }\r\n\r\n const reservadoCliente = () => {\r\n if (props.cliente.ReservadoClientePorLinea && props.cliente.ReservadoClientePorLinea.length === 0) {\r\n return
    No hay valores reservados.
    \r\n }\r\n\r\n var abreviacion = Monedas.find(e => e.IdMoneda === props.cliente.Moneda).Abreviacion;\r\n\r\n return (\r\n <>\r\n
    Pendiente FacturaciĆ³n
    \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.cliente.ReservadoClientePorLinea.map((reservado, index) => {\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\n \r\n \r\n \r\n \r\n \r\n
    ColecciĆ³nMontoUnidadesAcciones
    {reservado.Linea}{numberWithCommas(reservado.MontoPendiente)}{numberWithCommas(reservado.UnidadesPendientes)}
    Total Reservado{abreviacion} {numberWithCommas(props.cliente.ReservadoClientePorLinea.reduce((prev, curr) => prev + curr.MontoPendiente, 0))}{numberWithCommas(props.cliente.ReservadoClientePorLinea.reduce((prev, curr) => prev + curr.UnidadesPendientes, 0))}
    VALORES DE LOS PEDIDOS NO INCLUYEN ISV.
    \r\n { setVerPedidoPendientes(false) }} abreviacion={abreviacion} />\r\n\r\n )\r\n }\r\n\r\n if ((props.cliente.FacturacionEntrega !== \"No\" && props.cliente.FacturacionEntrega !== \"Nunca\")) {\r\n FacturacionEntrega = (\r\n
    \r\n {mensajeError()}\r\n
    \r\n )\r\n }\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    InformaciĆ³n General
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {'Codigo: '}\r\n \r\n {props.cliente.Codigo}\r\n
    \r\n {'Nombre:'}\r\n \r\n {props.cliente.Nombre}\r\n
    \r\n {'Conocido como:'}\r\n \r\n {props.cliente.Alias}\r\n
    \r\n {'Bloqueo Crediticio: '}\r\n \r\n {props.cliente.FacturacionEntrega}
    \r\n {'Grupo Precios: '}\r\n \r\n {`${props.cliente.GrupoPrecio} - ${props.cliente.NombreGrupoPrecio}`}
    \r\n {'Departamento: '}\r\n \r\n {props.cliente.Departamento}\r\n
    \r\n {'Ciudad: '}\r\n \r\n {props.cliente.Ciudad}\r\n
    \r\n {'Direccion: '}\r\n \r\n {props.cliente.Direccion}
    \r\n\r\n
    \r\n {FacturacionEntrega}\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    InformaciĆ³n Crediticia
    \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.cliente.Credito.map((credito, index) => {\r\n DisponibleTotal = DisponibleTotal + credito.Disponible;\r\n ValorCreditoTotal = ValorCreditoTotal + credito.Valor;\r\n CXCTotal = CXCTotal + credito.SaldoTotal;\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\n \r\n \r\n \r\n \r\n
    \r\n Tipo\r\n \r\n Valor Credito\r\n \r\n Saldo CxC\r\n \r\n Disponible\r\n
    {credito.Tipo} 0 ? 'green' : 'red' }}>{credito.Valor ? numberWithCommas(credito.Valor) : 0}{credito.SaldoTotal ? numberWithCommas(credito.SaldoTotal) : 0} 0 ? 'green' : 'red' }}>{credito.Disponible ? numberWithCommas(credito.Disponible) : 0}
    {Total} 0 ? 'green' : 'red' }}>{Monedas.find(e => e.IdMoneda === props.cliente.Moneda).Abreviacion} {numberWithCommas(ValorCreditoTotal)}{Monedas.find(e => e.IdMoneda === props.cliente.Moneda).Abreviacion} {numberWithCommas(CXCTotal)} 0 ? 'green' : 'red' }}>{Monedas.find(e => e.IdMoneda === props.cliente.Moneda).Abreviacion} {numberWithCommas(DisponibleTotal)}
    \r\n
    \r\n {reservadoCliente()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}","import React, { useState } from 'react';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport 'semantic-ui-css/semantic.min.css'\r\nimport { InformacionGeneral } from 'components/Cartera/InformacionGeneral';\r\nimport {\r\n Card,\r\n CardContent,\r\n Button,\r\n} from '@material-ui/core';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\n\r\nconst ClienteSelected = (props) => {\r\n const [value, setValue] = useState();\r\n const clientes = useSelector(e => e.clientes);\r\n const dispatch = useDispatch();\r\n\r\n\r\n\r\n\r\n const ClienteImpuestosGlobal = useSelector(e => e.ClienteImpuestosGlobal);\r\n const ProductoImpuestosGlobal = useSelector(e => e.ProductoImpuestosGlobal);\r\n\r\n\r\n\r\n const handleOnChange = (value) => {\r\n setValue(value);\r\n }\r\n\r\n const obtenerClientes = () => {\r\n return clientes.map(el => ({ key: el.Codigo, value: el, text: `${el.Codigo}-${el.Nombre}` }))\r\n }\r\n\r\n const continuarDevolucion = (cliente) => {\r\n console.log(cliente)\r\n if (cliente.FacturacionEntrega === \"Todo\") {\r\n Swal.fire({\r\n title: 'Bloqueado',\r\n text: 'Actualmente no se tiene relaciĆ³n comercial con el cliente. Su cuenta ha sido bloqueada para todo tipo de transacciĆ³n.',\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n return;\r\n } else if (cliente.FacturacionEntrega === \"No\" && cliente.Credito[0].Disponible === 1) {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'El cliente no tiene credito disponible, el pedido no sera autorizado automaticamente. Comunicarse con el departamento de crĆ©ditos.',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value)\r\n ruta()\r\n })\r\n } else if (cliente.Credito[0].Disponible <= 1 && cliente.FacturacionEntrega === \"Factura\") {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'El cliente actualmente se encuentra deshabilitado y sin credito disponible, su cuenta esta en mora. El pedido no sera autorizado automticamente.',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value)\r\n ruta()\r\n })\r\n } else if (cliente.Credito[0].Disponible > 1 && cliente.FacturacionEntrega === \"Factura\") {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'El cliente actualmente se encuentra deshabilitado, su cuenta esta en mora. El pedido no sera autorizado automĆ”ticamente.',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value)\r\n ruta()\r\n })\r\n } else {\r\n ruta()\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n const ruta = () => {\r\n dispatch({ type: 'SET_TRASLADO_CLIENTE', payload: value })\r\n let impuestosCliente = ClienteImpuestosGlobal.filter(x => x.EMPRESA === value.EmpresaId);\r\n let impuestoProductosCliente = ProductoImpuestosGlobal.filter(x => x.EMPRESA === value.EmpresaId);\r\n dispatch({ type: 'SET_RECOLOCACIONCLIENTEIMPUESTO', payload: impuestosCliente })\r\n dispatch({ type: 'SET_RECOLOCACIONPRODUCTOINMPUESTO', payload: impuestoProductosCliente })\r\n props.history.push(\"recolocacion-pedido/recolocacion\")\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Recolocar Pedido\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleOnChange(value)}\r\n options={obtenerClientes()}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n style={{ zIndex: 999 }}\r\n multiple={false}\r\n value={value}\r\n />\r\n
    \r\n
    \r\n continuarDevolucion(value)}\r\n variant=\"contained\"\r\n color=\"primary\">\r\n Continuar\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {value &&
    }\r\n \r\n );\r\n}\r\nexport default ClienteSelected;","import React from 'react';\r\nimport styles from \"components/Pedidos/Global/CeldaTallas.module.css\";\r\n\r\nexport const CeldaTallaRecolocacion = (props) => {\r\n\r\n return (\r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n Precio: {props.precio.toFixed(2)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n props.handleArrowKeys(event)}\r\n type=\"text\"\r\n ref={props.ref}\r\n pattern=\"[0-9]*\"\r\n placeholder={\"0\"}\r\n maxLength={4}\r\n value={props.cantidad}\r\n style={{ maxWidth: \"100%\", border: 'none', textAlign: 'center', width: '100%' }}\r\n disabled={true}\r\n />\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport styles from 'components/Pedidos/MatrizResumen/MatrizResumen.module.css';\r\nimport { CeldaTallaRecolocacion } from \"components/RecolocacionPedido/CeldaTallaRecolocacion\";\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\nimport { numberWithCommas } from 'utils/common';\r\n\r\nconst ProductoTableRecolocacion = (props) => {\r\n const [dirty, setDirty] = useState(false);\r\n\r\n let ArregloProductos = Object.keys(props.producto.Colores).map((key) => ([key, props.producto.Colores[key]]));\r\n ArregloProductos.sort((a, b) => a[1].NombreColor < b[1].NombreColor ? -1 : 1);\r\n\r\n const onFocus = () => {\r\n setDirty(false);\r\n }\r\n\r\n const onBlur = () => {\r\n setDirty(true);\r\n }\r\n\r\n const handleArrowKeys = (event) => {\r\n if (event.keyCode === 39) {\r\n const form = event.target.form;\r\n const index = Array.prototype.indexOf.call(form, event.target);\r\n if (form.elements[index + 1]) {\r\n form.elements[index + 1].focus();\r\n }\r\n event.preventDefault();\r\n }\r\n else if (event.keyCode === 37) {\r\n const form = event.target.form;\r\n const index = Array.prototype.indexOf.call(form, event.target);\r\n if (form.elements[index - 1]) {\r\n form.elements[index - 1].focus();\r\n }\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n let productoTable = (\r\n <>\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {props.codigoProducto}\r\n
    \r\n
    {props.producto.NombreProducto}
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n {ArregloProductos.map((codigoColor, index2) => {\r\n let color = codigoColor[1];\r\n var totalXColor = 0;\r\n let cantidadTotalXColor = 0;\r\n\r\n return (\r\n \r\n \r\n {color.NombreColor}\r\n \r\n {\r\n Object.keys(color.Tallas).map((codigoTalla, index3) => {\r\n let valorTalla = color.Tallas[codigoTalla];\r\n\r\n let cantidadXTalla = (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n let totalXTalla = cantidadXTalla * valorTalla.Precio;\r\n cantidadTotalXColor += cantidadXTalla;\r\n totalXColor = parseInt(totalXColor, 10) + totalXTalla;\r\n\r\n return (\r\n \r\n )\r\n })\r\n }\r\n {cantidadTotalXColor}\r\n\r\n {numberWithCommas(totalXColor)}\r\n \r\n )\r\n })}\r\n \r\n )\r\n\r\n return productoTable;\r\n}\r\nconst areEqual = (prevProps, nextProps) => {\r\n return false;\r\n}\r\n\r\nexport default React.memo(ProductoTableRecolocacion, areEqual);\r\n","import React, { useState } from 'react';\r\nimport {\r\n ExpansionPanel,\r\n ExpansionPanelDetails,\r\n ExpansionPanelSummary,\r\n Typography,\r\n} from '@material-ui/core';\r\nimport styles from 'components/Pedidos/MatrizResumen/MatrizResumenExpandable.module.css';\r\nimport ProductoTableRecolocacion from './ProductoTableRecolocacion';\r\n\r\nexport const ExpandableRecolocacion = ({ producto, codigoProducto, tallas, grupoTalla, eliminarProducto, totalCantidad, actualizarProducto }) => {\r\n const [expandir, setExpandir] = useState(false);\r\n\r\n return (\r\n
    \r\n { setExpandir(!expandir) }}>\r\n \r\n
    \r\n
    \r\n {producto.NombreProducto}\r\n
    \r\n
    \r\n {codigoProducto}\r\n
    \r\n
    \r\n \r\n Unidades:\r\n \r\n {totalCantidad}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {expandir &&\r\n
    \r\n \r\n \r\n \r\n \r\n {tallas.map((talla, index) => {\r\n return (\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n { }}\r\n grupoTalla={grupoTalla}\r\n tallas={tallas}\r\n index={1}\r\n index1={2}\r\n productoConCantindad={false}\r\n mostrarVacios={false}\r\n Eliminar={eliminarProducto}\r\n />\r\n \r\n
    \r\n Color\r\n \r\n\r\n
    \r\n
    {talla.Talla}
    \r\n
    \r\n
    CantidadTotal
    \r\n
    \r\n\r\n }\r\n
    \r\n
    \r\n
    \r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport {\r\n Card,\r\n CardContent,\r\n} from '@material-ui/core';\r\nimport axios from 'axios';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { mostrarModal } from 'utils/common';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport Button from '@material-ui/core/Button';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport { Loading } from 'components/Global/Loading';\r\nimport SignatureCanvas from 'react-signature-canvas';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport { ExpandableRecolocacion } from './ExpandableRecolocacion';\r\nimport styles from 'components/Pedidos/MatrizResumen/MatrizResumenExpandable.module.css';\r\nimport { ObtenerCoordenadas } from 'utils/common';\r\nimport { verificarConexion } from 'utils/http';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { post, postPedidoStorage } from 'utils/http';\r\n\r\nexport const Recolocacion = (props) => {\r\n let fechaInicioEntrega = moment().toDate();\r\n let fechaMinimaEntrega = moment().toDate();\r\n\r\n const [firma, setFirma] = useState(null);\r\n const [rma, setRma] = useState(\"\");\r\n const [open, setOpen] = useState(false);\r\n const [title, setTitle] = useState(\"\");\r\n // eslint-disable-next-line\r\n const [ErrorFirma, setErrorFirma] = useState(true);\r\n const [mostrarFirma, setMostrarFirma] = useState(false);\r\n // eslint-disable-next-line\r\n const [ErrorFecha, setErrorFecha] = useState(false);\r\n const [FechaEntrega, setFechaEntrega] = useState(fechaInicioEntrega);\r\n const [loading, setLoading] = useState(false);\r\n const [tipoCredito, setTipoCredito] = useState(null);\r\n\r\n const Monedas = useSelector(e => e.AbreviacionMonedas);\r\n const ColeccionRecolocacion = useSelector(e => e.TrasladoPedido.coleccion);\r\n const clienteImpuestos = useSelector(e => e.TrasladoPedido.ClienteImpuestosRecolocacion);\r\n let tableValue = useSelector(e => e.TrasladoPedido.TableValue);\r\n const productoImpuestos = useSelector(e => e.TrasladoPedido.ProductoImpuestosRecolocacion);\r\n const clienteSeleccionado = useSelector(e => e.TrasladoPedido.clienteSeleccionado);\r\n const tiposPedido = useSelector(e => e.TiposPedido);\r\n const bodegaMaestro = useSelector(e => e.MaestroBodegaAlmacenes);\r\n const dispatch = useDispatch();\r\n\r\n let unidadesTotales = 0;\r\n let totalCant = 0;\r\n let totalGlobal = 0.00;\r\n let impuesto = 0;\r\n let productosSinCantidad = false;\r\n let sigPad = {};\r\n\r\n const bodegaLocal = bodegaMaestro.find(x => x.EmpresaId === clienteSeleccionado.EmpresaId && x.Estatus === true);\r\n const bodega = bodegaMaestro.find(x => x.BodegaPrincipal === true && x.Estatus === true);\r\n const clienteImpuesto = clienteImpuestos.find(x => x.GRUPO === clienteSeleccionado.GrupoImpuesto);\r\n const moneda = Monedas.find(e => e.IdMoneda === clienteSeleccionado.Moneda).Abreviacion;\r\n\r\n const numberWithCommasNoDec = (x) => {\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n }\r\n\r\n const numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n }\r\n\r\n const onAcceptDate = (date) => {\r\n setErrorFecha(false);\r\n }\r\n\r\n const onChangeDate = (date) => {\r\n setFechaEntrega(date);\r\n }\r\n\r\n const closeDialogFirma = () => {\r\n if (sigPad.isEmpty()) {\r\n setMostrarFirma(false);\r\n setFirma(null);\r\n props.guardarFirma(null);\r\n setErrorFirma(true);\r\n }\r\n else {\r\n setMostrarFirma(false);\r\n setFirma(sigPad.getCanvas().toDataURL('image/png'));\r\n //props.guardarFirma(sigPad.getCanvas().toDataURL('image/png'));\r\n setErrorFirma(false);\r\n }\r\n }\r\n const clearFirma = () => {\r\n sigPad.clear();\r\n }\r\n\r\n const obtenerProductoRma = async () => {\r\n try {\r\n if (rma !== \"\") {\r\n setTitle(\"Obteniendo productos de la devoluciĆ³n\");\r\n setOpen(true);\r\n const grupoPrecio = clienteSeleccionado.GrupoPrecio;\r\n const data = await axios.get(`${APIURL}/api/trasladopedido/obtenerproductos/${rma}/${clienteSeleccionado.EmpresaId}`);\r\n const coleccion = await axios.get(`${APIURL}/api/trasladopedido/getcoleccioneById/${data.data.coleccionId}`);\r\n dispatch({ type: \"SET_COLECCIONRECOLOCACION\", payload: coleccion.data });\r\n\r\n if (data.data.productos.length === 0) {\r\n mostrarModal('RecolocaciĆ³n', 'La devoluciĆ³n ya no tiene inventario para recolocar.', \"error\");\r\n setOpen(false);\r\n return;\r\n }\r\n\r\n let codigoProductos = [...new Set(data.data.productos.map(x => x.codigoProducto))];\r\n let productosResult = [];\r\n\r\n for (let codigo of codigoProductos) {\r\n let products = data.data.productos.filter(x => x.codigoProducto === codigo);\r\n let colores = [...new Set(products.map(x => x.color))];\r\n let tallas = [...new Set(products.map(x => x.talla))];\r\n let nuevosProductos = await axios.get(`${APIURL}/api/trasladopedido/getProducto/${codigo}/${grupoPrecio}/${data.data.coleccionId}`, { params: { colores, tallas } });\r\n productosResult.push(nuevosProductos.data)\r\n }\r\n\r\n agregarDevolucionCompleta(productosResult, data.data);\r\n\r\n setOpen(false);\r\n }\r\n else {\r\n mostrarModal('RecolocaciĆ³n', 'Debe llenar el campo del RMA para poder realizar esta acciĆ³n.', \"error\");\r\n }\r\n } catch (err) {\r\n setOpen(false);\r\n let mensaje = \"Ocurrio un error y no se pudo obtener los productos de la devoluciĆ³n.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Error',\r\n text: mensaje,\r\n });\r\n }\r\n }\r\n\r\n const dataTipoCredito = () => {\r\n return tiposPedido.filter(x => x.Aplica_Todos).map(tipoPedido => ({ key: tipoPedido.TipoPedido, value: tipoPedido.TipoPedido, text: tipoPedido.TipoPedido }));\r\n }\r\n\r\n const agregarDevolucionCompleta = (productos, productosAPI) => {\r\n let miTableValue = {};\r\n const productosDevolver = productosAPI.productos;\r\n for (const producto of productos) {\r\n\r\n const productoDevolver = productosDevolver.filter(x => x.codigoProducto === producto.ProductoId);\r\n\r\n if (miTableValue[producto.GrupoTalla] === undefined) {\r\n miTableValue[producto.GrupoTalla] = {};\r\n }\r\n\r\n if (Object.keys(miTableValue[producto.GrupoTalla]).length === 0) {\r\n miTableValue[producto.GrupoTalla] = {};\r\n miTableValue[producto.GrupoTalla].Productos = {};\r\n miTableValue[producto.GrupoTalla].ListaTallas = producto.ListaTalla;\r\n }\r\n\r\n if (miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId] === undefined) {\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId] = {};\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Id = producto.CodigoProducto;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores = {};\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].ListaTallas = producto.ListaTalla\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].NombreProducto = producto.NombreProducto;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].GrupoImpuesto = producto.GrupoImpuesto;\r\n\r\n for (const color of producto.ListaColores) {\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor] = {}\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].NombreColor = color.NombreColor;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Color = color.Color;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas = {}\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].CodigoColor = color.CodigoColor;\r\n\r\n for (const talla of producto.ListaTalla) {\r\n let precio = 0;\r\n const productoValores = productoDevolver.find(x => x.color === color.CodigoColor && x.talla.toUpperCase() === talla.Talla);\r\n\r\n if (producto.fisicaDisponible.length !== 0) {\r\n if (productoValores) {\r\n const fisicoDisponible = producto.fisicaDisponible.find(x => x.IdTalla.toUpperCase() === productoValores.talla.toUpperCase() && productoValores.color.toUpperCase() === x.CodigoColor.toUpperCase());\r\n if (fisicoDisponible) {\r\n if (fisicoDisponible.PreciosEspecificos.length > 0) {\r\n precio = fisicoDisponible.PreciosEspecificos[0].Precio;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n if (precio === 0) {\r\n if (producto.Precio.length > 0) {\r\n precio = producto.Precio[0].Precio;\r\n }\r\n }\r\n\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla] = {}\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Disponible = productoValores ? productoValores.cantidad : 0;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Cantidad = productoValores ? productoValores.cantidad : 0;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Precio = precio;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].PrecioGeneral = precio;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Talla = talla.Talla;\r\n }\r\n }\r\n }\r\n }\r\n\r\n dispatch({ type: \"SET_TABLEVALUERECOLOCACION\", payload: miTableValue });\r\n }\r\n\r\n const calcularTipoVenta = () => {\r\n let isMora = !(clienteSeleccionado.FacturacionEntrega === 'No' || clienteSeleccionado.FacturacionEntrega === 'Nunca');\r\n if (isMora) {\r\n return 0;\r\n }\r\n if (ColeccionRecolocacion.coleccionTipo === 'B') {\r\n if (clienteSeleccionado.CuentaCorriente === null || clienteSeleccionado.CuentaCorriente.length === 0) {\r\n return 0;\r\n }\r\n }\r\n return 3;\r\n }\r\n\r\n useEffect(() => {\r\n const obtenerUltimoCorrelativo = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/PedidosXCliente/correlativo/${localStorage.getItem('empresa')}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n }\r\n });\r\n localStorage.setItem(\"CorrelativoPedido\", request.data)\r\n }\r\n catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n obtenerUltimoCorrelativo();\r\n }, []);\r\n\r\n const recolocarPedido = () => {\r\n ObtenerCoordenadas((position) => {\r\n enviarRecolocacion({\r\n longitude: position.coords.longitude,\r\n latitude: position.coords.latitude\r\n })\r\n }, (error) => {\r\n enviarRecolocacion(null);\r\n });\r\n }\r\n\r\n const enviarRecolocacion = async (location) => {\r\n\r\n if (firma === null || firma === \"\") {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: \"Por favor ingrese la firma.\",\r\n });\r\n }\r\n else if (tipoCredito === null || tipoCredito === \"\") {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: \"Por favor seleccione un tipo de crĆ©dito.\",\r\n });\r\n } else {\r\n setLoading(true);\r\n let codigoColeccion = ColeccionRecolocacion.codigoColeccion;\r\n\r\n if(ColeccionRecolocacion.linea === null){\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Error',\r\n text: \"Linea coleccion no encontrada.\",\r\n });\r\n setLoading(false);\r\n return\r\n }\r\n\r\n if (localStorage.getItem('empresa') !== \"IMHN\") {\r\n codigoColeccion = `B${ColeccionRecolocacion.linea}`;\r\n }\r\n\r\n\r\n let nuevoSubtotal = clienteSeleccionado.IncluyeImpuesto ? totalGlobal - Number(localStorage.getItem('Impuesto')) : totalGlobal;\r\n let pedido = {\r\n NumeroReferencia: localStorage.getItem(\"CorrelativoPedido\"),\r\n PedidoCache: localStorage.getItem(\"isOffline\"),\r\n PedidoId: 100 + (Math.random() * (10000 - 100)),\r\n CodigoCliente: clienteSeleccionado.Codigo,\r\n Nombre: clienteSeleccionado.Nombre,\r\n Firma: firma,\r\n FechaEntrega: FechaEntrega,\r\n AcuerdoVenta: null,\r\n location: location,\r\n EmpresaUsuario: localStorage.getItem('empresa'),\r\n Linea: ColeccionRecolocacion.linea,\r\n CodigoColeccion: codigoColeccion,\r\n DetallePedido: [],\r\n TipoPedido: tipoCredito,\r\n TipoVenta: calcularTipoVenta(),\r\n ClienteContadoId: null,\r\n ModoVenta: (tipoCredito === 'Contado') ? 'Contado' : 'Credito',\r\n Flete: 0,\r\n RequiereEntrega: false,\r\n Impuesto: Number(localStorage.getItem('Impuesto')),\r\n subtotal: nuevoSubtotal,\r\n Direccion: clienteSeleccionado.Direccion,\r\n MonedaCliente: clienteSeleccionado.Moneda,\r\n BodegaEspecifica: bodegaLocal.EmpresaId !== 'IMHN',\r\n Sitio: bodegaLocal.CodigoSitio,\r\n Almacen: bodegaLocal.Almacen\r\n };\r\n\r\n Object.keys(tableValue).forEach((grupoTalla, index) => {\r\n let productos = Object.keys(tableValue[grupoTalla].Productos);\r\n productos.forEach((codigoProducto, index1) => {\r\n let producto = tableValue[grupoTalla].Productos[codigoProducto];\r\n\r\n Object.keys(producto.Colores).forEach((codigoColor) => {\r\n let color = producto.Colores[codigoColor];\r\n Object.keys(color.Tallas).forEach((codigoTalla) => {\r\n let valorTalla = color.Tallas[codigoTalla];\r\n\r\n let precio = { Precio: (valorTalla.Precio ? valorTalla.Precio : 0) };\r\n let cantidadXTalla = (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n\r\n if (precio.Precio !== 0 && cantidadXTalla !== 0) {\r\n let detalle = {\r\n IdProducto: producto.Id,\r\n CodigoProducto: codigoProducto,\r\n NombreProducto: producto.NombreProducto,\r\n CodigoColor: color.CodigoColor,\r\n NombreColor: color.NombreColor,\r\n Cantidad: cantidadXTalla,\r\n Unidad: \"Und\",\r\n PrecioUnitario: precio.Precio,\r\n Talla: valorTalla.Talla,\r\n CodigoColeccion: codigoColeccion,\r\n PorcentajeDescuento: \"\",\r\n }\r\n\r\n pedido.DetallePedido.push(detalle);\r\n }\r\n\r\n });\r\n });\r\n\r\n })\r\n })\r\n\r\n if (pedido.DetallePedido.length === 0) {\r\n mostrarModal('RecolocaciĆ³n', 'No puede generar recolocaciĆ³n con productos sin precio.', \"error\");\r\n return;\r\n }\r\n\r\n const isOnline = await verificarConexion();\r\n if (!isOnline || localStorage.getItem(\"Conexion\") === \"offline\" || pedido.NumeroReferencia === \"\") {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: \"Actualmente no dispone de internet el pedido se guardara en cache.\",\r\n });\r\n\r\n postPedidoStorage(pedido);\r\n setLoading(false);\r\n } else {\r\n const { data, error } = await post(APIURL + \"/api/PedidosXCliente\", pedido, \"SET_PEDIDOSINCRONIZAR\");\r\n\r\n if (error) {\r\n if (error.response) {\r\n let mensaje = error.response.data.Message;\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Error',\r\n text: mensaje,\r\n });\r\n }\r\n\r\n setLoading(false);\r\n } else {\r\n if (!data) {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: \"Actualmente no dispone de internet el pedido se guardara en cache.\",\r\n });\r\n\r\n postPedidoStorage(pedido);\r\n setLoading(false);\r\n return;\r\n }\r\n\r\n const { mensaje } = data;\r\n\r\n if (mensaje) {\r\n if (mensaje.includes(\"flotante\")) {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: mensaje,\r\n confirmButtonColor: '#3085d6',\r\n confirmButtonText: 'Continuar',\r\n }).then((result) => {\r\n if (result.value)\r\n imprimirPedido()\r\n })\r\n }\r\n\r\n if (mensaje.includes(\"exito\")) {\r\n Swal.fire({\r\n type: 'success',\r\n title: 'Exito',\r\n text: mensaje,\r\n confirmButtonColor: '#3085d6',\r\n confirmButtonText: 'Continuar',\r\n }).then((result) => {\r\n if (result.value)\r\n imprimirPedido()\r\n })\r\n }\r\n setLoading(false);\r\n }\r\n else {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: \"Actualmente no dispone de internet el pedido se guardara en cache.\",\r\n });\r\n setLoading(false);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n const imprimirPedido = async () => {\r\n setTitle(\"Generando Reporte\");\r\n setOpen(true);\r\n const request = await axios.get(APIURL + \"/api/trasladopedido/getpedido/\" + localStorage.getItem(\"CorrelativoPedido\"));\r\n dispatch({ type: \"SET_PEDIDORECOLOCACION\", payload: request.data });\r\n setOpen(false);\r\n props.history.push(\"/recolocacion-pedido/ImprimirRecolocacionPedido\");\r\n }\r\n\r\n const obtenerTotales = producto => {\r\n let totales = { totalCantidad: 0 };\r\n\r\n Object.keys(producto.Colores).forEach((codigoColor) => {\r\n let color = producto.Colores[codigoColor];\r\n var totalXColor = 0;\r\n\r\n Object.keys(color.Tallas).forEach((codigoTalla) => {\r\n var valorTalla = color.Tallas[codigoTalla];\r\n totalXColor = parseInt(totalXColor, 10) + (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n })\r\n totales.totalCantidad += totalXColor;\r\n })\r\n return totales;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n
    \r\n

    RecolocaciĆ³n de devoluciĆ³n

    \r\n
    \r\n
    \r\n { setRma(e.target.value) }} />\r\n
    \r\n
    \r\n
    \r\n { setTipoCredito(value) }}\r\n options={dataTipoCredito()}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n style={{ zIndex: 999 }}\r\n multiple={false}\r\n />\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n {(Object.keys(tableValue).length > 0) &&\r\n <>\r\n
    \r\n {moment(new Date(ColeccionRecolocacion.ventaFinal)).isBefore(moment(new Date())) && bodegaLocal.EmpresaId === 'IMHN'\r\n &&

    La venta final del paquete {ColeccionRecolocacion.codigoColeccion} fue {moment(new Date(ColeccionRecolocacion.ventaFinal)).format(\"DD/MM/YYYY\")}

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

    InformaciĆ³n cliente traslado

    \r\n
    \r\n

    Codigo: {clienteSeleccionado.Codigo}

    \r\n

    Nombre: {clienteSeleccionado.Nombre}

    \r\n
    \r\n
    \r\n
    \r\n {Object.keys(tableValue).map((grupoTalla, index) => {\r\n let productos = Object.keys(tableValue[grupoTalla].Productos);\r\n return productos.map((codigoProducto, index1) => {\r\n let producto = tableValue[grupoTalla].Productos[codigoProducto];\r\n let tallas = tableValue[grupoTalla].Productos[codigoProducto].ListaTallas;\r\n const productoImpuesto = productoImpuestos.find(x => x.GRUPO === producto.GrupoImpuesto).IMPUESTO;\r\n let productoConCantidad = false;\r\n let { totalCantidad } = obtenerTotales(producto);\r\n totalCant += totalCantidad;\r\n\r\n Object.keys(producto.Colores).forEach((codigoColor) => {\r\n let color = producto.Colores[codigoColor];\r\n Object.keys(color.Tallas).forEach((codigoTalla) => {\r\n let valorTalla = color.Tallas[codigoTalla];\r\n let precio = { Precio: (valorTalla.Precio ? valorTalla.Precio : 0) };\r\n let cantidadXTalla = (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n productoConCantidad = productoConCantidad || (cantidadXTalla > 0);\r\n unidadesTotales = parseInt(unidadesTotales, 10) + cantidadXTalla;\r\n totalGlobal = (precio.Precio * cantidadXTalla) + totalGlobal;\r\n if (clienteImpuesto.IMPUESTO !== 0) {\r\n if (clienteSeleccionado.IncluyeImpuesto) {\r\n let nuevoImpuesto = ((precio.Precio * cantidadXTalla) * productoImpuesto);\r\n totalGlobal -= nuevoImpuesto;\r\n impuesto = nuevoImpuesto + impuesto;\r\n localStorage.setItem('Impuesto', impuesto);\r\n } else {\r\n impuesto = ((precio.Precio * cantidadXTalla) * productoImpuesto) + impuesto;\r\n localStorage.setItem('Impuesto', impuesto);\r\n }\r\n }\r\n });\r\n });\r\n\r\n productosSinCantidad = productosSinCantidad || (!productoConCantidad);\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\n {\r\n (firma !== null) &&\r\n
    \r\n\r\n
    \r\n Firma:\r\n
    \r\n
    \r\n setMostrarFirma(true)}\r\n style={{\r\n width: '350px',\r\n height: '200px',\r\n }} />\r\n
    \r\n\r\n
    \r\n }\r\n\r\n {\r\n (!(firma !== null)) && \r\n }\r\n
    \r\n
    \r\n (e.day() === 0)}\r\n onAccept={(date) => onAcceptDate(date)}\r\n value={FechaEntrega}\r\n minDate={fechaMinimaEntrega}\r\n maxDate={moment('2100-01-01').toDate()}\r\n onChange={(date) => onChangeDate(date)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Unidades:\r\n
    \r\n
    \r\n {numberWithCommasNoDec(totalCant)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Subtotal:\r\n
    \r\n
    \r\n {moneda} {numberWithCommas(totalGlobal)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n ISV:\r\n
    \r\n
    \r\n {moneda} {numberWithCommas(impuesto)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Total:\r\n
    \r\n
    \r\n {moneda} {numberWithCommas(totalGlobal + impuesto)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n setMostrarFirma(false)}\r\n scroll={'paper'}\r\n aria-labelledby=\"scroll-dialog-title\"\r\n >\r\n Firma del Cliente\r\n \r\n
    \r\n { sigPad = ref }} />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n );\r\n}","import React, { useRef } from 'react';\r\nimport { Button } from \"@material-ui/core\";\r\nimport Logo from 'assets/img/logo/LogoSinLetrasB.png';\r\nimport ReactToPrint from 'react-to-print';\r\nimport styles from \"components/ListadoPedidos/ImprimirPedido.module.css\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { FiArrowRightCircle } from \"react-icons/fi\";\r\nimport { FaPrint } from \"react-icons/fa\";\r\nimport moment from \"moment\";\r\nimport { useSelector } from 'react-redux';\r\nimport 'moment/locale/es';\r\n\r\nexport const ImprimirRecolocacionPedido = (props) => {\r\n const componentRef = useRef();\r\n const TrasladoPedido = useSelector(e => e.TrasladoPedido.pedidoRecolocacion);\r\n const Monedas = useSelector(e => e.AbreviacionMonedas);\r\n const empresas = useSelector(e => e.Empresas);\r\n const clienteSeleccionado = useSelector(e => e.TrasladoPedido.clienteSeleccionado);\r\n let NombreCliente = clienteSeleccionado.Nombre;\r\n const empresa = empresas.find(x => x.COMPANY_CODE === clienteSeleccionado.EmpresaId.toUpperCase());\r\n const moneda = Monedas.find(e => e.IdMoneda === clienteSeleccionado.Moneda).Abreviacion;\r\n const useStyles = makeStyles((theme) => ({\r\n button: {\r\n marginLeft: theme.spacing(2),\r\n },\r\n }));\r\n\r\n const classes = useStyles();\r\n\r\n let TotalUnidad = 0;\r\n const checkDist = (talla) => {\r\n let found = false;\r\n talla.Distribucion.map(() => {\r\n found = true;\r\n return false;\r\n })\r\n return found;\r\n }\r\n\r\n let tallasDist = [];\r\n const Tallas = (talla) => {\r\n talla.Distribucion.forEach(dist => {\r\n if (tallasDist.length > 0) {\r\n let ExisteTalla = tallasDist.filter(x => x.NombreTalla === dist.NombreTalla);\r\n\r\n if (ExisteTalla.length === 0) {\r\n tallasDist.push({ NombreTalla: dist.NombreTalla, Orden: dist.Orden })\r\n }\r\n }\r\n else {\r\n tallasDist.push({ NombreTalla: dist.NombreTalla, Orden: dist.Orden })\r\n }\r\n })\r\n tallasDist.sort((a, b) => {\r\n return Number(a.Orden) < Number(b.Orden) ? -1 : 1;\r\n });\r\n return tallasDist;\r\n }\r\n\r\n const redireccionarPedido = () => {\r\n props.history.push(\"/recolocacion-pedido\");\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n \r\n }\r\n content={() => componentRef.current}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\"Logo\"}\r\n\r\n
    \r\n

    \r\n {empresa.NAME}\r\n

    \r\n

    \r\n {empresa.FISCAL_DOCUMENT}: {empresa.NIFCIF}\r\n

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

    {NombreCliente}

    \r\n

    \r\n DirecciĆ³n : {clienteSeleccionado.Direccion}
    \r\n CĆ³digo : {clienteSeleccionado.Codigo}
    \r\n

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

    Pedido {TrasladoPedido.PedidoId}

    \r\n

    \r\n Fecha del pedido : {moment(TrasladoPedido.FechaActual).format('DD/MM/YYYY hh:mm a')}
    \r\n Entrega Sugerida : {moment(TrasladoPedido.FechaEntrega).format('DD/MM/YYYY hh:mm a')}
    \r\n Asesor: {TrasladoPedido.Usuario}
    \r\n Modo Venta: {TrasladoPedido.ModoVenta}
    \r\n Coleccion: {TrasladoPedido.CodigoColeccion + \"-\" + TrasladoPedido.NombreColeccion}
    \r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {TrasladoPedido.gruposXDetPed.map((grupoTalla, index1) => {\r\n let cantidad = 3;\r\n let IsDist = false;\r\n let CantDist = 0;\r\n let Distribuciones = [];\r\n return (\r\n \r\n \r\n \r\n \r\n {grupoTalla.ListaTalla.map((talla, index2) => {\r\n Distribuciones = Tallas(talla);\r\n cantidad++;\r\n return (\r\n <>\r\n {\r\n talla.Distribucion.length !== 0 && grupoTalla.ListaTalla.length === index2 + 1 &&\r\n Distribuciones.map((dist, index3) => {\r\n IsDist = true;\r\n cantidad++;\r\n return (\r\n \r\n )\r\n })\r\n }\r\n {\r\n talla.Distribucion.length === 0 &&\r\n \r\n }\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n {grupoTalla.prodsXDetPed.map((producto, index2) => {\r\n let ColoresProductos = Object.keys(producto.coloresXProdXDetPed).map((key) => (producto.coloresXProdXDetPed[key]));\r\n ColoresProductos.sort((a, b) => a.NombreColor < b.NombreColor ? -1 : 1);\r\n return (\r\n \r\n \r\n \r\n \r\n {ColoresProductos.map((color, index3) => {\r\n let detalles = Array(grupoTalla.ListaTalla.length).fill(null);\r\n color.DetallesXPedido.forEach(detalleXPedido => {\r\n detalles[grupoTalla.ListaTalla.findIndex(tall => tall.Talla === detalleXPedido.Talla)] = detalleXPedido;\r\n });\r\n let cellSize = 100 / cantidad;\r\n let TotalXTalla = 0;\r\n let TotalXProducto = 0;\r\n let arreglo = [];\r\n let totalcant = 0;\r\n return (\r\n \r\n \r\n {detalles.map((det, index4) => {\r\n IsDist = det !== null ? checkDist(det.TallaObject) : IsDist;\r\n return (\r\n <>\r\n {\r\n IsDist === true && det !== null &&\r\n det.TallaObject.Distribucion.map((dist, index) => {\r\n CantDist = det.TallaObject.Distribucion.reduce((acc, curr) => { return acc + Number(curr.Cantidad) }, 0);;\r\n\r\n TotalXTalla = dist.Cantidad * det.Cantidad;\r\n TotalXProducto += TotalXTalla;\r\n TotalUnidad += TotalXTalla;\r\n let cant = 0;\r\n if (color.DetallesXPedido.length === 1) {\r\n totalcant = dist.Cantidad * det.Cantidad;\r\n }\r\n else {\r\n if (arreglo.length > 0) {\r\n const listaTallas = arreglo.filter(x => x.NombreTalla === dist.NombreTalla);\r\n if (detalles.length === (index4 + 1)) {\r\n if (listaTallas.length > 0) {\r\n cant = dist.Cantidad * det.Cantidad\r\n totalcant = listaTallas[0].cant + cant;\r\n }\r\n else {\r\n totalcant = dist.Cantidad * det.Cantidad;\r\n }\r\n }\r\n else if (listaTallas.length > 0) {\r\n cant = dist.Cantidad * det.Cantidad\r\n totalcant = listaTallas[0].cant + cant;\r\n return false;\r\n }\r\n else {\r\n arreglo.push({ NombreTalla: dist.NombreTalla, cant: dist.Cantidad * det.Cantidad });\r\n return false;\r\n }\r\n }\r\n else {\r\n arreglo.push({ NombreTalla: dist.NombreTalla, cant: dist.Cantidad * det.Cantidad });\r\n return false;\r\n }\r\n }\r\n return (\r\n \r\n )\r\n })\r\n }\r\n {\r\n IsDist === false &&\r\n \r\n }\r\n \r\n )\r\n })}\r\n \r\n\r\n \r\n \r\n )\r\n })}\r\n \r\n )\r\n })}\r\n \r\n
    \r\n \r\n {\r\n
    {dist.NombreTalla}
    \r\n }\r\n
    \r\n {\r\n
    {talla.Talla}
    \r\n }\r\n
    CantTotal
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {producto.CodigoProducto}\r\n
    \r\n
    {producto.NombreProducto}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\"Precio\"}\r\n
    \r\n {color.NombreColor}\r\n
    \r\n
    \r\n {det ? det.PrecioUnitario / CantDist : \"--\"}\r\n
    \r\n \r\n
    \r\n
    \r\n {det ? det.PrecioUnitario : \"--\"}\r\n
    \r\n \r\n
    {TotalXProducto !== 0 ? TotalXProducto : color.CantidadXColor}{numberWithCommas(color.TotalXColor)}
    \r\n )\r\n })}\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n TrasladoPedido.Firma === null ?\r\n
    :\r\n {\"Firma\"}\r\n }\r\n\r\n
    \r\n\r\n
    \r\n \r\n Firma\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Unidades:\r\n
    \r\n
    \r\n {TotalUnidad !== 0 ? TotalUnidad : TrasladoPedido.TotalUnidades}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Subtotal:\r\n
    \r\n\r\n
    \r\n {numberWithCommas(TrasladoPedido.SubTotalXPedido)}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Impuesto:\r\n
    \r\n\r\n
    \r\n {numberWithCommas((TrasladoPedido.Impuesto))}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Total:\r\n
    \r\n\r\n
    \r\n {moneda}{numberWithCommas((TrasladoPedido.TotalXPedido))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    NOTA:
    \r\n
    Se notificarĆ” cuando ya se entreguen los productos en la fecha sugerida indicada.
    \r\n
    \r\n\r\n
    \r\n


    Gracias!\r\n

    \r\n
    */}\r\n\r\n
    \r\n\r\n \r\n )\r\n}\r\n\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nexport default ImprimirRecolocacionPedido;","import React from 'react';\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport ClienteSelected from \"components/RecolocacionPedido/SelectCliente/SelectCliente\";\r\nimport { Recolocacion } from 'components/RecolocacionPedido/Recolocacion';\r\nimport { ImprimirRecolocacionPedido } from 'components/RecolocacionPedido/ImprimirRecolocacionPedido';\r\n\r\nexport const RecolocacionPedido = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useRef } from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Button from '@material-ui/core/Button';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { mostrarAlerta } from 'utils/common';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport { useSelector } from 'react-redux';\r\nimport moment from \"moment\";\r\nimport axios from 'axios';\r\nimport xlsx from 'xlsx';\r\n\r\nconst CargarInventario = (props) => {\r\n const { showDialog, setDialog, productosCargados, asesor, fecha } = props;\r\n const [initialData, setInitialData] = useState([]);\r\n const [isDisabled, setIsDisabled] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const clienteSelected = useSelector(e => e.ClienteInventario);\r\n const context = useRef();\r\n\r\n const readFile = file => {\r\n let reader = new FileReader();\r\n return new Promise((resolve, reject) => {\r\n reader.onload = e => {\r\n let data = e.target.result;\r\n let readedData = xlsx.read(data, { type: 'binary', cellDates: true });\r\n\r\n if (readedData) {\r\n resolve(readedData);\r\n } else {\r\n reject(\"No se pudo leer el archivo\");\r\n }\r\n }\r\n reader.readAsBinaryString(file);\r\n });\r\n }\r\n\r\n const convertirData = data => {\r\n let primeraPagina = data.SheetNames[0];\r\n let inventario = xlsx.utils.sheet_to_row_object_array(data.Sheets[primeraPagina]);\r\n\r\n return inventario.map(x => (\r\n {\r\n CodBarra: x.CodBarra,\r\n error: false\r\n }\r\n ));\r\n }\r\n\r\n const validarInformacion = data => {\r\n return data.map(x => {\r\n if (x.CodBarra === undefined || x.CodBarra === \"\") {\r\n x.error = true;\r\n }\r\n return x;\r\n });\r\n }\r\n\r\n\r\n const handleUpload = (event) => {\r\n let file = event.target.files[0];\r\n if (file !== undefined && file !== null) {\r\n const extension = file.name.split('.')[1];\r\n if (extension !== \"xlsx\" && extension !== \"xls\" && extension !== \"csv\") {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"El formato del archivo no es permitido\",\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target: context.current\r\n });\r\n setInitialData([]);\r\n return;\r\n }\r\n\r\n readFile(file)\r\n .then((readedData) => {\r\n let dataConvertida = convertirData(readedData);\r\n let informacionValidada = validarInformacion(dataConvertida);\r\n setInitialData(informacionValidada);\r\n })\r\n .catch((error) => console.error(error));\r\n }\r\n };\r\n\r\n const save = async () => {\r\n setIsDisabled(true);\r\n setLoading(true);\r\n let existenVacios = initialData.some(x => x.error);\r\n if (existenVacios) {\r\n Swal.fire({\r\n title: 'Advertencia',\r\n text: \"Se encontraron lineas del excel con errores.\",\r\n type: 'warning',\r\n confirmButtonText: 'Ok',\r\n target: context.current\r\n });\r\n return;\r\n }\r\n try {\r\n var fechaInv = moment(fecha).format(\"YYYY-MM-DD\");\r\n const res = await axios.post(`${APIURL}/api/inventario/cargar/${asesor}/${clienteSelected.Codigo}/${fechaInv}`,\r\n JSON.stringify(initialData),\r\n {\r\n headers: {\r\n \"Content-type\": \"application/json\",\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n }\r\n }\r\n );\r\n\r\n if (res.status === 200) {\r\n closeDialog();\r\n productosCargados(res.data);\r\n setIsDisabled(false);\r\n setLoading(false);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"El archivo fue cargado con Ć©xito.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n target: context.current\r\n }).then(e => {\r\n })\r\n\r\n }\r\n\r\n if (res.status === 400) {\r\n closeDialog();\r\n setIsDisabled(false);\r\n setLoading(false);\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"El archivo no se pudo cargar.\",\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target: context.current\r\n }).then(e => {\r\n })\r\n }\r\n }\r\n catch (err) {\r\n let mensaje = \"No se pudo obtener los registros.\";\r\n let error = \"FCPI04\";\r\n\r\n if (err.response.data) {\r\n mensaje = err.response.data.Message;\r\n error = err.response.data.ErrorCode;\r\n }\r\n mostrarAlerta(\"Error \" + error, mensaje, \"error\");\r\n }\r\n };\r\n\r\n const closeDialog = () => {\r\n setInitialData([]);\r\n setDialog(false)\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n

    Cargar inventario

    \r\n
    \r\n \r\n
    \r\n \r\n {(initialData.length === 0)\r\n ?
    \r\n :
    \r\n \r\n
    \r\n \r\n Cargar inventario\r\n \r\n
    \r\n }\r\n\r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nconst TablaAsignaciones = props => {\r\n const style = { textAlign: 'center' }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.inventario.map((x, i) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    #Cod.Barra
    {i + 1}{x.CodBarra}
    \r\n )\r\n}\r\n\r\nexport default CargarInventario;","import React from \"react\";\r\nimport { Pie } from \"react-chartjs-2\"\r\nimport { numberWithCommasNoDec } from 'utils/common';\r\nimport \"chartjs-plugin-labels\";\r\n\r\nconst PieChart = (props) => {\r\n var inventario = props.data;\r\n const data = {\r\n labels: [\r\n inventario[0].IdLinea, inventario[1].IdLinea, inventario[2].IdLinea, inventario[3].IdLinea, inventario[4].IdLinea, \"NO ENCONTRADOS\"\r\n ],\r\n datasets: [\r\n {\r\n data: [\r\n inventario[0].Cantidad, inventario[1].Cantidad, inventario[2].Cantidad, inventario[3].Cantidad, inventario[4].Cantidad, inventario.length > 5 ? inventario[5].Cantidad : 0\r\n ],\r\n backgroundColor: [\"#04364A\", \"#64CCC5\", \"#184930\", \"#176B87\", \"#176B\", \"#48BF40\"]\r\n }\r\n ]\r\n }\r\n const options = {\r\n responsive: true,\r\n plugins: {\r\n labels: {\r\n render: \"percentage\",\r\n fontColor: \"white\",\r\n },\r\n },\r\n };\r\n return (\r\n <>\r\n \r\n
    Total unidades: {numberWithCommasNoDec(inventario.reduce((total, linea) => total + linea.Cantidad, 0))}
    \r\n \r\n );\r\n}\r\n\r\nexport default PieChart;//6ECF83,66CC8D","import React, { useState, useEffect } from 'react';\r\nimport Card from '@material-ui/core/Card';\r\nimport axios from 'axios'\r\nimport { APIURL, APP_VERSION } from 'utils/Enviroment'\r\nimport { useSelector } from 'react-redux';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport PieChart from 'components/Inventario/PieChart';\r\nimport { mostrarAlerta, numberWithCommasNoDec } from 'utils/common';\r\nimport moment from 'moment';\r\nimport 'moment/locale/es';\r\n\r\nexport const InventarioAnterior = props => {\r\n const [inventario, setInventario] = useState([]);\r\n const anterior = useSelector(e => e.Anterior);\r\n\r\n useEffect(() => {\r\n obtenerInventarioCliente(props.cliente.Codigo);\r\n }, [props.cliente]);\r\n\r\n if (props.cliente === undefined) {\r\n return

    Seleccione un cliente

    \r\n }\r\n\r\n const obtenerInventarioCliente = async (cliente) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/ultimoInventario/${cliente}`);\r\n setInventario(request.data);\r\n } catch (err) {\r\n let mensaje = \"No se pudo obtener los registros.\";\r\n let error = \"FCPI01\";\r\n\r\n if (err.response.data) {\r\n mensaje = err.response.data.Message;\r\n error = err.response.data.ErrorCode;\r\n }\r\n\r\n mostrarAlerta(\"Error \" + error, mensaje, \"error\");\r\n }\r\n }\r\n return (\r\n \r\n {inventario.length > 0 && (\r\n \r\n
    \r\n
    \r\n
    CREADO: {moment(inventario[0].fechaCrea).format(\"DD-MM-YYYY\")}
    \r\n
    \r\n
    \r\n
    {anterior ? \"MODIFICADO:\" : \"FINALIZADO:\"} {moment(inventario[0].fechaModificado).format(\"DD-MM-YYYY\")}
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {inventario[0].IdLinea}\r\n
    \r\n
    \r\n
    {numberWithCommasNoDec(inventario[0].Cantidad)}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {inventario[1].IdLinea}\r\n
    \r\n
    \r\n
    {numberWithCommasNoDec(inventario[1].Cantidad)}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {inventario[2].IdLinea}\r\n
    \r\n
    \r\n
    {numberWithCommasNoDec(inventario[2].Cantidad)}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n
    \r\n {inventario[3].IdLinea}\r\n
    \r\n
    \r\n
    {numberWithCommasNoDec(inventario[3].Cantidad)}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {inventario[4].IdLinea}\r\n
    \r\n
    \r\n
    {numberWithCommasNoDec(inventario[4].Cantidad)}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n NO ENCONTRADOS\r\n
    \r\n
    \r\n
    {inventario.length > 5 ? numberWithCommasNoDec(inventario[5].Cantidad) : 0}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios'\r\nimport { Loading } from 'components/Global/Loading';\r\nimport { Card, CardContent, Button } from '@material-ui/core';\r\nimport { APIURL, APP_VERSION } from 'utils/Enviroment'\r\nimport { mostrarAlerta, numberWithCommasNoDec } from 'utils/common';\r\nimport 'moment/locale/es';\r\n\r\nexport const ResumenExcel = props => {\r\n const [info, setInfo] = useState(props.informacion);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const sincronizarInventario = async () => {\r\n try {\r\n setLoading(true);\r\n const request = await axios.get(`${APIURL}/api/inventario/sincronizarInventario/${props.cliente.Codigo}`);\r\n if (request.data) {\r\n setInfo(request.data[0]);\r\n }\r\n setLoading(false);\r\n } catch (err) {\r\n let mensaje = \"No se pudo procesar la informaciĆ³n.\";\r\n let error = \"FCPI06\";\r\n\r\n if (err.response.data) {\r\n mensaje = err.response.data.Message;\r\n error = err.response.data.ErrorCode;\r\n }\r\n mostrarAlerta(\"Error: \" + error, mensaje, \"error\");\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    NĆŗmero Inventario: {info.NumInventario}
    \r\n {info.NoProcesados > 0 && sincronizarInventario()}\r\n variant=\"contained\"\r\n color=\"secondary\">\r\n Sincronizar Inventario\r\n }\r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n
    \r\n Procesados\r\n
    \r\n
    \r\n
    {numberWithCommasNoDec(info.Procesados)}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n No procesados\r\n
    \r\n
    \r\n
    {numberWithCommasNoDec(info.NoProcesados)}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Encontrados\r\n
    \r\n
    \r\n
    {numberWithCommasNoDec(info.Encontrados)}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n No encontrados\r\n
    \r\n
    \r\n
    {numberWithCommasNoDec(info.NoEncontrados)}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Total productos\r\n
    \r\n
    \r\n
    {numberWithCommasNoDec(info.TotalCodigos)}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Total codigos\r\n
    \r\n
    \r\n
    {numberWithCommasNoDec(info.CodigosBarrasAgrupados)}
    \r\n
    UNIDADES
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport 'semantic-ui-css/semantic.min.css';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport CargarInventario from 'components/Inventario/CargarInventario';\r\nimport { permisoEliminarInventario } from 'components/Seguridad/Permisos';\r\nimport { InventarioAnterior } from 'components/Inventario/InventarioAnterior';\r\nimport { ResumenExcel } from 'components/Inventario/ResumenExcel';\r\nimport { mostrarAlerta } from 'utils/common';\r\nimport { Card, CardContent, Button } from '@material-ui/core';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport axios from 'axios';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nconst ClienteSelected = (props) => {\r\n const [value, setValue] = useState();\r\n const clientes = useSelector(e => e.clientes);\r\n const dispatch = useDispatch();\r\n const [showDialog, setShowDialog] = useState(false);\r\n const [invAnterior, setInvAnterior] = useState();\r\n const [pendienteProcesar, setPendienteProcesar] = useState([]);\r\n const [asesores, setAsesores] = useState([]);\r\n const AsesoresUsuario = useSelector(e => e.Permisos[0].AsesoresUsuario);\r\n const asesor = AsesoresUsuario.find(a => a.Usuario === localStorage.getItem('codigo'));\r\n const [fechaInicio, setFechaInicio] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() - 30));\r\n const [AsesorSelected, setAsesorSelected] = useState(asesor ? asesor.Usuario : AsesoresUsuario[0].Usuario);\r\n\r\n const handleOnChange = async (value) => {\r\n setValue(value);\r\n dispatch({ type: 'SET_INVENTARIOCLIENTE', payload: value });\r\n try {\r\n if (permisoEliminarInventario()) {\r\n const request = await axios.get(`${APIURL}/api/pendienteProcesar/${value.Codigo}`);\r\n if (request.data) {\r\n setPendienteProcesar(request.data);\r\n } else {\r\n setPendienteProcesar([]);\r\n }\r\n }\r\n const request = await axios.get(`${APIURL}/api/inventarioIncompleto/${value.Codigo}`);\r\n if (request.data.length > 0) {\r\n dispatch({ type: 'SET_DETALLEINVENTARIO', payload: request.data });\r\n dispatch({ type: 'SET_INVENTARIOANTERIOR', payload: true });\r\n setInvAnterior(true);\r\n } else {\r\n setInvAnterior(false);\r\n dispatch({ type: 'SET_INVENTARIOANTERIOR', payload: false });\r\n }\r\n\r\n } catch (err) {\r\n let mensaje = \"No se pudo obtener los registros.\";\r\n let error = \"FCPI02\";\r\n\r\n if (err.response.data) {\r\n mensaje = err.response.data.Message;\r\n error = err.response.data.ErrorCode;\r\n }\r\n\r\n mostrarAlerta(\"Error \" + error, mensaje, \"error\");\r\n }\r\n };\r\n\r\n const handleFechaInicio = (fecha) => {\r\n setFechaInicio(fecha);\r\n };\r\n\r\n const handleOnChangeAsesor = (value) => {\r\n setAsesorSelected(value);\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: \"SET_TABLEVALUEINVENTARIO\", payload: {} });\r\n let asesoresMap = AsesoresUsuario.map(Ase => ({ key: Ase.Usuario, value: Ase.Usuario, text: Ase.Usuario }));\r\n setAsesores(asesoresMap);\r\n }, []);\r\n\r\n const obtenerClientes = () => {\r\n return clientes.map(el => ({ key: el.Codigo, value: el, text: `${el.Codigo}-${el.Nombre}` }));\r\n };\r\n\r\n const continuarInventrio = () => {\r\n ruta();\r\n };\r\n\r\n const ruta = () => {\r\n props.history.push(\"/inventario/inventario\");\r\n };\r\n\r\n const handleInventarioCargado = (informacion) => {\r\n setPendienteProcesar(informacion);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    Tomar Inventario
    \r\n
    \r\n
    \r\n
    \r\n {!permisoEliminarInventario() && (\r\n
    \r\n
    \r\n handleOnChange(value)}\r\n options={obtenerClientes()}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n style={{ zIndex: 999 }}\r\n multiple={false}\r\n value={value}\r\n />\r\n
    \r\n
    \r\n {!invAnterior ? (\r\n continuarInventrio(value)}\r\n variant=\"contained\"\r\n color=\"primary\">\r\n Nuevo\r\n \r\n ) : (\r\n continuarInventrio(value)}\r\n variant=\"contained\"\r\n color=\"secondary\">\r\n Continuar\r\n \r\n )}\r\n
    \r\n
    \r\n )}\r\n {permisoEliminarInventario() && (\r\n
    \r\n
    \r\n handleOnChange(value)}\r\n options={obtenerClientes()}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n style={{ zIndex: 999 }}\r\n multiple={false}\r\n value={value}\r\n />\r\n
    \r\n handleOnChangeAsesor(value)}\r\n options={asesores}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={AsesorSelected}\r\n />\r\n handleFechaInicio(date)}\r\n />\r\n {!(pendienteProcesar.length > 0) && (\r\n setShowDialog(true)}\r\n variant=\"contained\"\r\n color=\"secondary\">\r\n Cargar Inventario\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n setShowDialog(false)}\r\n productosCargados={handleInventarioCargado}\r\n asesor={AsesorSelected}\r\n fecha={fechaInicio}\r\n />\r\n {pendienteProcesar.length > 0 && (\r\n
    \r\n \r\n
    \r\n )}\r\n {value && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ClienteSelected;","import React, { useRef } from 'react';\r\nimport ReactToPrint from 'react-to-print';\r\nimport Button from '@material-ui/core/Button';\r\nimport makeStyles from '@material-ui/core/styles/makeStyles';\r\nimport { useSelector } from 'react-redux';\r\nimport Logo from 'assets/img/logo/LogoSinLetrasB.png';\r\nimport { FiArrowRightCircle, FiPlusCircle } from \"react-icons/fi\";\r\nimport { FaPrint } from \"react-icons/fa\";\r\nimport styles from \"components/ListadoPedidos/ImprimirPedido.module.css\";\r\n\r\nexport const ImprimirInventario = props => {\r\n const { Cliente, tableValue, ValoresPedido, Finalizar } = props;\r\n const componentRef = useRef();\r\n const empresas = useSelector(e => e.Empresas);\r\n const empresa = empresas.find(x => x.COMPANY_CODE === Cliente.EmpresaId);\r\n const gruposTalla = Object.keys(tableValue);\r\n\r\n const useStyles = makeStyles((theme) => ({\r\n button: {\r\n marginLeft: theme.spacing(2),\r\n },\r\n }));\r\n\r\n let TotalUnidades = 0;\r\n const classes = useStyles();\r\n\r\n let CantDist = 0;\r\n const getTableGroup = (productos, tallas, grupoTalla, index) => {\r\n let grupoTabla = { total: 0, tabla: null };\r\n grupoTabla.tabla = (\r\n \r\n \r\n \r\n \r\n {tallas.map((talla, index2) => {\r\n return (\r\n <>\r\n \r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n {productos.map((codigoProducto, index1) => {\r\n var producto = props.tableValue[grupoTalla].Productos[codigoProducto];\r\n let result = getTableProduct(producto, index1, codigoProducto, tallas);\r\n grupoTabla.total += result.total;\r\n if (result.total !== 0) {\r\n return result.tabla;\r\n }\r\n\r\n return false;\r\n })}\r\n
    \r\n\r\n \r\n {talla.Talla}\r\n Cant
    \r\n );\r\n return grupoTabla;\r\n }\r\n\r\n const getTableProduct = (producto, index1, codigoProducto, tallas) => {\r\n let productosTabla = { total: 0, tabla: null };\r\n let tallasIndividual = tallas.map(x => x.Talla);\r\n let ArregloProductos = Object.keys(producto.Colores).map((key) => (producto.Colores[key]));\r\n ArregloProductos.sort((a, b) => a.NombreColor < b.NombreColor ? -1 : 1);\r\n productosTabla.tabla = (\r\n \r\n \r\n \r\n {codigoProducto} {producto.NombreProducto}\r\n \r\n \r\n\r\n {ArregloProductos.map((codigoColor, index2) => {\r\n var color = codigoColor;\r\n var totalXColor = 0;\r\n let result = getTableColor(color, totalXColor, index2, tallasIndividual);\r\n productosTabla.total += result.total;\r\n if (result.total !== 0) {\r\n return result.tabla;\r\n }\r\n return null;\r\n })}\r\n \r\n );\r\n return productosTabla;\r\n }\r\n\r\n const getTableColor = (color, totalXColor, index2, tallas) => {\r\n\r\n let colorTabla = { total: 0, tabla: null };\r\n colorTabla.tabla = (\r\n \r\n \r\n {color.NombreColor}\r\n \r\n {\r\n\r\n tallas.map((codigoTalla, index3) => {\r\n var valorTalla = color.Tallas[codigoTalla];\r\n if (!valorTalla) {\r\n return (\r\n \r\n
    \r\n
    \r\n --\r\n
    \r\n
    \r\n 0\r\n
    \r\n
    \r\n \r\n )\r\n }\r\n\r\n totalXColor = parseInt(totalXColor, 10) + (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n colorTabla.total = totalXColor;\r\n TotalUnidades += parseInt(valorTalla.Cantidad, 10);\r\n return (\r\n <>\r\n {\r\n \r\n
    \r\n
    \r\n {valorTalla.Cantidad !== \"\" ? valorTalla.Cantidad : 0}\r\n
    \r\n
    \r\n \r\n }\r\n \r\n )\r\n })\r\n }\r\n {totalXColor}\r\n \r\n )\r\n return colorTabla;\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n }\r\n content={() => componentRef.current}\r\n />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\"Logo\"}\r\n\r\n
    \r\n

    \r\n {empresa.NAME}\r\n

    \r\n

    \r\n {empresa.FISCAL_DOCUMENT}: {empresa.NIFCIF}\r\n

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

    {Cliente.Nombre}

    \r\n

    \r\n DirecciĆ³n : {Cliente.Direccion}
    \r\n CĆ³digo : {Cliente.Codigo}
    \r\n

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

    Inventario: {ValoresPedido.Correlativo}

    \r\n

    \r\n Asesor: {localStorage.getItem('asesor')}
    \r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n gruposTalla.map((grupoTalla, index) => {\r\n const productos = Object.keys(props.tableValue[grupoTalla].Productos);\r\n const tallas = props.tableValue[grupoTalla].ListaTallas;\r\n let result = getTableGroup(productos, tallas, grupoTalla, index);\r\n return result.tabla;\r\n })\r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n Unidades:\r\n
    \r\n\r\n
    \r\n {TotalUnidades}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}","import React from 'react';\r\n\r\nexport const CeldaTallaInventario = (props) => {\r\n const handleChange = (text, codigoProducto, codigoColor, grupoTalla, codigoTalla) => {\r\n props.onChange(text, codigoProducto, codigoColor, grupoTalla, codigoTalla);\r\n }\r\n\r\n return (\r\n \r\n props.handleArrowKeys(event)}\r\n type=\"text\"\r\n ref={props.ref}\r\n pattern=\"[0-9]*\"\r\n placeholder={\"0\"}\r\n maxLength={4}\r\n value={props.cantidad}\r\n style={{ maxWidth: \"100%\", border: 'none', textAlign: 'center', width: '100%' }}\r\n onChange={(text) => handleChange(text, props.codigoProducto, props.codigoColor, props.grupoTalla, props.codigoTalla)}\r\n />\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport styles from 'components/Pedidos/MatrizResumen/MatrizResumen.module.css';\r\nimport { CeldaTallaInventario } from \"components/Inventario/CeldaTallaInventario\";\r\nimport { FiTrash2 } from \"react-icons/fi\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\n\r\nconst ProductoTableInventario = (props) => {\r\n const [dirty, setDirty] = useState(false);\r\n let ArregloProductos = Object.keys(props.producto.Colores).map((key) => ([key, props.producto.Colores[key]]));\r\n ArregloProductos.sort((a, b) => a[1].NombreColor < b[1].NombreColor ? -1 : 1);\r\n\r\n const EliminarProducto = (grupo, cod, nombre) => {\r\n Swal.fire({\r\n title: 'ĀæEliminar producto?',\r\n text: `Desea eliminar el producto ${nombre}?\\nCĆ³digo: ${cod}`,\r\n type: 'warning',\r\n showCancelButton: true,\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonColor: '#d33',\r\n confirmButtonText: 'Eliminar!',\r\n cancelButtonText: 'Cancelar',\r\n }).then((result) => {\r\n if (result.value) {\r\n props.Eliminar(grupo, cod);\r\n Swal.fire(\r\n {\r\n type: 'success',\r\n title: 'El producto ha sido eliminado',\r\n showConfirmButton: false,\r\n timer: 1500\r\n }\r\n )\r\n }\r\n })\r\n }\r\n\r\n const EliminarColor = (nombreColor, grupo, cod, codigoColor) => {\r\n Swal.fire({\r\n title: 'ĀæEliminar color?',\r\n text: `Desea eliminar el color ${nombreColor}?\\nCĆ³digo: ${cod}`,\r\n type: 'warning',\r\n showCancelButton: true,\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonColor: '#d33',\r\n confirmButtonText: 'Eliminar!',\r\n cancelButtonText: 'Cancelar',\r\n }).then((result) => {\r\n if (result.value) {\r\n props.eliminarColor(grupo, cod, codigoColor);\r\n Swal.fire(\r\n {\r\n type: 'success',\r\n title: 'El color ha sido eliminado',\r\n showConfirmButton: false,\r\n timer: 1500\r\n }\r\n )\r\n }\r\n })\r\n }\r\n\r\n const onFocus = () => {\r\n setDirty(false);\r\n }\r\n\r\n const onBlur = () => {\r\n setDirty(true);\r\n }\r\n\r\n const handleArrowKeys = (event) => {\r\n if (event.keyCode === 39) {\r\n const form = event.target.form;\r\n const index = Array.prototype.indexOf.call(form, event.target);\r\n if (form.elements[index + 1]) {\r\n form.elements[index + 1].focus();\r\n }\r\n event.preventDefault();\r\n }\r\n else if (event.keyCode === 37) {\r\n const form = event.target.form;\r\n const index = Array.prototype.indexOf.call(form, event.target);\r\n if (form.elements[index - 1]) {\r\n form.elements[index - 1].focus();\r\n }\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n let productoTable = (\r\n <>\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {props.codigoProducto}\r\n
    \r\n
    {props.producto.NombreProducto}
    \r\n\r\n
    \r\n EliminarProducto(props.grupoTalla, props.codigoProducto, props.producto.NombreProducto)} />\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n {ArregloProductos.map((codigoColor, index2) => {\r\n let color = codigoColor[1];\r\n let cantidadTotalXColor = 0;\r\n return (\r\n \r\n \r\n {color.NombreColor}\r\n
    \r\n EliminarColor(color.NombreColor, props.grupoTalla, props.codigoProducto, codigoColor[0])} />\r\n
    \r\n \r\n {\r\n Object.keys(color.Tallas).map((codigoTalla, index3) => {\r\n let valorTalla = color.Tallas[codigoTalla];\r\n let cantidadXTalla = (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n cantidadTotalXColor += cantidadXTalla;\r\n return (\r\n \r\n )\r\n })\r\n }\r\n {cantidadTotalXColor}\r\n \r\n )\r\n })}\r\n \r\n )\r\n return productoTable;\r\n}\r\nconst areEqual = (prevProps, nextProps) => {\r\n return false;\r\n}\r\n\r\nexport default React.memo(ProductoTableInventario, areEqual);\r\n","import React, { useState, useEffect } from 'react';\r\nimport {\r\n ExpansionPanel,\r\n ExpansionPanelDetails,\r\n ExpansionPanelSummary,\r\n Typography,\r\n} from '@material-ui/core';\r\nimport { useSelector } from 'react-redux';\r\nimport styles from 'components/Pedidos/MatrizResumen/MatrizResumenExpandable.module.css';\r\nimport ProductoTableInventario from './ProductoTableInventario';\r\nimport axios from 'axios';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nexport const ExpandableInventario = ({ producto, codigoProducto, tallas, grupoTalla, eliminarProducto, eliminarColor, ingresoCantidad, totalCantidad, actualizarProducto }) => {\r\n const [expandir, setExpandir] = useState(false);\r\n\r\n return (\r\n
    \r\n { setExpandir(!expandir) }}>\r\n \r\n
    \r\n
    \r\n {producto.NombreProducto}\r\n
    \r\n
    \r\n {codigoProducto.split('-')[0]}\r\n
    \r\n
    \r\n \r\n Unidades:\r\n \r\n {totalCantidad}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {expandir &&\r\n
    \r\n \r\n \r\n \r\n \r\n {tallas.map((talla, index) => {\r\n return (\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n { }}\r\n onValueChange={ingresoCantidad}\r\n grupoTalla={grupoTalla}\r\n tallas={tallas}\r\n index={1}\r\n index1={2}\r\n productoConCantindad={false}\r\n mostrarVacios={false}\r\n Eliminar={eliminarProducto}\r\n eliminarColor={eliminarColor}\r\n />\r\n \r\n
    \r\n Color\r\n \r\n\r\n
    \r\n
    {talla.Talla}
    \r\n
    \r\n
    Cantidad
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport {\r\n ExpansionPanel,\r\n ExpansionPanelDetails,\r\n ExpansionPanelSummary,\r\n Typography,\r\n} from '@material-ui/core';\r\nimport { useSelector } from 'react-redux';\r\nimport styles from 'components/Pedidos/MatrizResumen/MatrizResumenExpandable.module.css';\r\nimport ProductoTableInventario from './ProductoTableInventario';\r\nimport axios from 'axios';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nexport const ExpandableNoEncontrados = ({ totalCantidad, productos }) => {\r\n const [expandir, setExpandir] = useState(false);\r\n\r\n return (\r\n
    \r\n { setExpandir(!expandir) }}>\r\n \r\n
    \r\n
    \r\n PRODUCTOS NO ENCONTRADOS\r\n
    \r\n
    \r\n \r\n Unidades:\r\n \r\n {totalCantidad}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {expandir &&\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {productos.map((prod, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    \r\n Cod.Barra\r\n \r\n Unidades\r\n
    \r\n {prod.codigoBarra}\r\n \r\n {prod.cantidad}\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport {\r\n Card,\r\n Button,\r\n CardContent,\r\n} from '@material-ui/core';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { ExpandableInventario } from './ExpandableInventario';\r\nimport { ExpandableNoEncontrados } from './ExpandableNoEncontrados';\r\nimport axios from 'axios';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport { mostrarModal, numberWithCommasNoDec, mostrarAlerta } from 'utils/common';\r\nimport { useHistory } from 'react-router';\r\nimport styles from 'components/Pedidos/MatrizResumen/MatrizResumenExpandable.module.css';\r\n\r\nexport const TomarInventario = (props) => {\r\n const history = useHistory();\r\n let tableValue = useSelector(e => e.Inventario.TableValue);\r\n let nuevosProductos = { ...tableValue };\r\n let anterior = useSelector(e => e.Anterior);\r\n let detalleInventario = useSelector(e => e.DetalleInventario);\r\n const dispatch = useDispatch();\r\n const clienteSelected = useSelector(e => e.ClienteInventario);\r\n const [codigo, setCodigo] = useState(\"\");\r\n const [color, setColor] = useState(\"\");\r\n const [codigoBarra, setCodigoBarra] = useState(\"\");\r\n const [tallaTxt, setTalla] = useState(\"\");\r\n const [open, setOpen] = useState(false);\r\n const [title, setTitle] = useState(\"\");\r\n const [noEncontrados, setNoEncontrados] = useState([]);\r\n let totalUnid = 0;\r\n let productosSinCantidad = false;\r\n\r\n const existeVariante = (pCodigo, pColor, pTalla) => {\r\n const grupoTallas = Object.keys(tableValue);\r\n for (let grupoTalla of grupoTallas) {\r\n if (tableValue[grupoTalla]) {\r\n if (tableValue[grupoTalla].Productos[pCodigo]) {\r\n if (tableValue[grupoTalla].Productos[pCodigo].Colores[pColor]) {\r\n if (tableValue[grupoTalla].Productos[pCodigo].Colores[pColor].Tallas[pTalla]) {\r\n return grupoTalla;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n const aumentarCantidad = (grupoTalla, pCodigo, pColor, pTalla) => {\r\n let miTableValue = { ...tableValue };\r\n miTableValue[grupoTalla].Productos[pCodigo].Colores[pColor].Tallas[pTalla].Cantidad++;\r\n dispatch({ type: \"SET_TABLEVALUEINVENTARIO\", payload: miTableValue });\r\n }\r\n\r\n const aƱadir = async () => {\r\n try {\r\n if (codigo === \"\" || color === \"\" || tallaTxt === \"\") {\r\n mostrarModal(\"Advertencia\", \"Debe ingresar codigo, color y talla.\", \"warning\");\r\n return;\r\n }\r\n\r\n const grupoTalla = existeVariante(codigo, color, tallaTxt);\r\n if (grupoTalla) {\r\n aumentarCantidad(grupoTalla, codigo, color, tallaTxt);\r\n return;\r\n }\r\n setOpen(true);\r\n setTitle(\"Obteniendo producto\");\r\n const data = await axios.get(`${APIURL}/api/productoInventario/${clienteSelected.EmpresaId}/${codigo}/${color}`)\r\n agregarProducto(data.data, tallaTxt, color, 0, false);\r\n setOpen(false);\r\n } catch (err) {\r\n setOpen(false);\r\n mostrarModal(\"Error\", \"No se pudo obtener el producto.\", \"error\");\r\n }\r\n }\r\n\r\n const limpiarCampos = () => {\r\n setCodigo(\"\");\r\n setColor(\"\");\r\n setTalla(\"\");\r\n setCodigoBarra(\"\");\r\n }\r\n\r\n const actualizarProducto = (productos, codigoProducto, grupoTalla, factura) => {\r\n let miTableValue = { ...tableValue };\r\n localStorage.setItem(\"TableValueOriginal\", JSON.stringify(miTableValue));\r\n const noExistenProductosEnFactura = productos.length === 0;\r\n let tableValueOriginal = JSON.parse(localStorage.getItem(\"TableValueOriginal\"));\r\n\r\n if (noExistenProductosEnFactura) {\r\n if (miTableValue[grupoTalla][\"Productos\"][codigoProducto].Factura) {\r\n delete miTableValue[grupoTalla][\"Productos\"][codigoProducto].Factura\r\n }\r\n dispatch({ type: \"SET_TABLEVALUEINVENTARIO\", payload: miTableValue });\r\n return;\r\n }\r\n\r\n miTableValue[grupoTalla][\"Productos\"][codigoProducto].Factura = factura;\r\n miTableValue[grupoTalla][\"Productos\"][codigoProducto].Id = productos[0].IdProducto;\r\n const colores = productos.map(c => c.CodigoColor);\r\n const coloresUnicos = [...new Set(colores)];\r\n\r\n for (let color of coloresUnicos) {\r\n const noExisteColorProducto = !miTableValue[grupoTalla][\"Productos\"][codigoProducto].Colores[color];\r\n\r\n if (noExisteColorProducto) {\r\n continue;\r\n }\r\n\r\n const productosColor = productos.filter(p => p.CodigoColor === color);\r\n for (let producto of productosColor) {\r\n const noExisteTallaProducto = !miTableValue[grupoTalla][\"Productos\"][codigoProducto].Colores[color].Tallas[producto.CodigoTalla.toUpperCase()];\r\n\r\n if (noExisteTallaProducto) {\r\n continue;\r\n }\r\n\r\n let nuevaCantidad = 0;\r\n let cantidadPrevia = tableValueOriginal[grupoTalla][\"Productos\"][codigoProducto].Colores[producto.CodigoColor].Tallas[producto.CodigoTalla.toUpperCase()].Cantidad;\r\n\r\n if (cantidadPrevia > producto.Cantidad) {\r\n nuevaCantidad = producto.Cantidad;\r\n } else {\r\n nuevaCantidad = cantidadPrevia;\r\n }\r\n\r\n miTableValue[grupoTalla][\"Productos\"][codigoProducto].Colores[producto.CodigoColor].Tallas[producto.CodigoTalla.toUpperCase()].Cantidad = nuevaCantidad;\r\n miTableValue[grupoTalla][\"Productos\"][codigoProducto].Colores[producto.CodigoColor].Tallas[producto.CodigoTalla.toUpperCase()].Disponible = producto.Cantidad;\r\n miTableValue[grupoTalla][\"Productos\"][codigoProducto].Colores[producto.CodigoColor].Tallas[producto.CodigoTalla.toUpperCase()].Precio = producto.PrecioUnitario;\r\n }\r\n }\r\n\r\n localStorage.removeItem(\"TableValueOriginal\");\r\n dispatch({ type: \"SET_TABLEVALUEINVENTARIO\", payload: miTableValue });\r\n }\r\n\r\n const agregarProducto = (producto, pTalla, pColor, pCantidad, invCompleto) => {\r\n let miTableValue = invCompleto ? nuevosProductos : { ...tableValue };\r\n if (miTableValue[producto.GrupoTalla] === undefined) {\r\n miTableValue[producto.GrupoTalla] = {};\r\n }\r\n\r\n if (Object.keys(miTableValue[producto.GrupoTalla]).length === 0) {\r\n miTableValue[producto.GrupoTalla] = {};\r\n miTableValue[producto.GrupoTalla].Productos = {};\r\n miTableValue[producto.GrupoTalla].ListaTallas = producto.ListaTalla;\r\n }\r\n\r\n producto.ProductoId = `${producto.ProductoId}`;\r\n if (miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId] === undefined) {\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId] = {};\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores = {};\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Id = producto.CodigoProducto;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].ListaTallas = producto.ListaTalla\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].NombreProducto = producto.NombreProducto;\r\n\r\n for (const color of producto.ListaColores) {\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor] = {}\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].NombreColor = color.NombreColor;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Color = color.Color;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas = {}\r\n\r\n for (const talla of producto.ListaTalla) {\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla] = {}\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Disponible = 0;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Cantidad = invCompleto && talla.Talla === pTalla.toUpperCase() ? pCantidad : talla.Talla === pTalla.toUpperCase() ? 1 : 0;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Marcado = talla.Talla === pTalla.toUpperCase();\r\n }\r\n }\r\n\r\n } else {\r\n for (const color of producto.ListaColores) {\r\n if (miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor]) {\r\n for (const talla of producto.ListaTalla) {\r\n if (miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Marcado) {\r\n continue;\r\n }\r\n let cantidadTalla = miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Cantidad;\r\n if (cantidadTalla === 0) {\r\n cantidadTalla = talla.Talla === pTalla.toUpperCase() ? 1 : 0;\r\n }\r\n\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla] = {}\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Disponible = 0;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Cantidad = invCompleto && talla.Talla === pTalla.toUpperCase() ? pCantidad : cantidadTalla;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Marcado = talla.Talla === pTalla.toUpperCase();\r\n };\r\n } else {\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor] = {}\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].NombreColor = color.NombreColor;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Color = color.Color;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas = {}\r\n\r\n for (const talla of producto.ListaTalla) {\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla] = {}\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Disponible = 0;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Cantidad = invCompleto && talla.Talla === pTalla.toUpperCase() ? pCantidad : talla.Talla === pTalla.toUpperCase() ? 1 : 0;;\r\n miTableValue[producto.GrupoTalla][\"Productos\"][producto.ProductoId].Colores[color.CodigoColor].Tallas[talla.Talla].Marcado = talla.Talla === pTalla.toUpperCase();\r\n }\r\n }\r\n }\r\n }\r\n dispatch({ type: \"SET_TABLEVALUEINVENTARIO\", payload: miTableValue });\r\n\r\n if (!invCompleto) {\r\n limpiarCampos();\r\n }\r\n }\r\n\r\n const eliminarProducto = (grupoTalla, codigoProducto) => {\r\n let nuevoTableValue = { ...tableValue };\r\n const productosAgregados = JSON.parse(localStorage.getItem(\"productosAgregados\")) || [];\r\n\r\n delete nuevoTableValue[grupoTalla][\"Productos\"][codigoProducto];\r\n\r\n let nuevosProductos = productosAgregados.filter(x => x.codigo !== codigoProducto);\r\n localStorage.setItem(\"productosAgregados\", JSON.stringify(nuevosProductos));\r\n\r\n if (Object.keys(nuevoTableValue[grupoTalla][\"Productos\"]).length === 0) {\r\n delete nuevoTableValue[grupoTalla];\r\n }\r\n\r\n dispatch({ type: \"SET_TABLEVALUEINVENTARIO\", payload: nuevoTableValue });\r\n }\r\n\r\n const eliminarColor = (grupoTalla, codigoProducto, color) => {\r\n let nuevoTableValue = { ...tableValue };\r\n const productosAgregados = JSON.parse(localStorage.getItem(\"productosAgregados\")) || [];\r\n\r\n delete nuevoTableValue[grupoTalla][\"Productos\"][codigoProducto][\"Colores\"][color];\r\n\r\n let nuevosProductos = productosAgregados.filter(x => x.codigo !== codigoProducto && x.color !== color);\r\n localStorage.setItem(\"productosAgregados\", JSON.stringify(nuevosProductos));\r\n\r\n if (Object.keys(nuevoTableValue[grupoTalla][\"Productos\"][codigoProducto][\"Colores\"]).length === 0) {\r\n delete nuevoTableValue[grupoTalla][\"Productos\"][codigoProducto];\r\n\r\n nuevosProductos = nuevosProductos.filter(x => x.codigo !== codigoProducto);\r\n localStorage.setItem(\"productosAgregados\", JSON.stringify(nuevosProductos));\r\n }\r\n\r\n if (Object.keys(nuevoTableValue[grupoTalla][\"Productos\"]).length === 0) {\r\n delete nuevoTableValue[grupoTalla];\r\n }\r\n\r\n dispatch({ type: \"SET_TABLEVALUEINVENTARIO\", payload: nuevoTableValue });\r\n }\r\n\r\n const ingresoCantidad = (text, codigoProducto, codigoColor, grupoTalla, codigoTalla) => {\r\n let nuevoTableValue = { ...tableValue };\r\n const valor = (text.target.validity.valid) ? text.target.value : nuevoTableValue[grupoTalla].Productos[codigoProducto].Colores[codigoColor].Tallas[codigoTalla].Cantidad;\r\n let valorPrevio = tableValue[grupoTalla].Productos[codigoProducto].Colores[codigoColor].Tallas[codigoTalla];\r\n valorPrevio.Cantidad = valor;\r\n dispatch({ type: \"SET_TABLEVALUEINVENTARIO\", payload: nuevoTableValue });\r\n }\r\n\r\n const obtenerTotales = producto => {\r\n let totales = { totalCantidad: 0 };\r\n Object.keys(producto.Colores).forEach((codigoColor) => {\r\n let color = producto.Colores[codigoColor];\r\n var totalXColor = 0;\r\n\r\n Object.keys(color.Tallas).forEach((codigoTalla) => {\r\n var valorTalla = color.Tallas[codigoTalla];\r\n totalXColor = parseInt(totalXColor, 10) + (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n })\r\n totales.totalCantidad += totalXColor;\r\n })\r\n return totales;\r\n }\r\n\r\n const aƱadirScanner = async (pCodigo, pColor, pTalla, productosAgregados) => {\r\n const data = await axios.get(`${APIURL}/api/productoInventario/${clienteSelected.EmpresaId}/${pCodigo}/${pColor}`)\r\n productosAgregados.push({ codigoBarra, codigo: pCodigo, color: pColor, talla: pTalla, grupoTalla: data.data.GrupoTalla });\r\n localStorage.setItem(\"productosAgregados\", JSON.stringify(productosAgregados));\r\n agregarProducto(data.data, pTalla, pColor, 0, false);\r\n }\r\n\r\n const obtenerAtributosBarra = async (e) => {\r\n if (e.key === \"Enter\") {\r\n const productosAgregados = JSON.parse(localStorage.getItem(\"productosAgregados\")) || [];\r\n const productoExiste = productosAgregados.find(x => x.codigoBarra === codigoBarra);\r\n\r\n if (productoExiste) {\r\n aumentarCantidad(productoExiste.grupoTalla, productoExiste.codigo, productoExiste.color, productoExiste.talla);\r\n limpiarCampos();\r\n } else {\r\n try {\r\n setTitle(\"Obteniendo atributos producto\");\r\n setOpen(true);\r\n const data = await axios.get(`${APIURL}/api/productodevolucion/codigobarra/${codigoBarra}`)\r\n\r\n aƱadirScanner(data.data.productoId, data.data.colorId, data.data.tallaId, productosAgregados);\r\n setOpen(false);\r\n } catch (err) {\r\n setOpen(false);\r\n mostrarModal(\"Codigo barra\", \"No se encontro producto con el codigo de barra ingresado\", \"error\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (anterior) {\r\n cargarInventario();\r\n }\r\n else {\r\n obtenerUltimoCorrelativo();\r\n }\r\n }, []);\r\n\r\n const obtenerUltimoCorrelativo = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Inventario/correlativo/${localStorage.getItem('empresa')}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n }\r\n });\r\n localStorage.setItem(\"CorrelativoInventario\", request.data)\r\n }\r\n catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n const cargarInventario = async () => {\r\n try {\r\n setOpen(true);\r\n setTitle(\"Obteniendo producto\");\r\n for (const inv of detalleInventario) {\r\n const grupoTalla = existeVariante(inv.CodigoProducto, inv.codigoColor, inv.codigoTalla);\r\n if (grupoTalla) {\r\n aumentarCantidad(grupoTalla, inv.CodigoProducto, inv.codigoColor, inv.codigoTalla);\r\n continue;\r\n }\r\n const { data } = await axios.get(`${APIURL}/api/productoInventario/${clienteSelected.EmpresaId}/${inv.CodigoProducto}/${inv.codigoColor}`);\r\n agregarProducto(data, inv.codigoTalla, inv.codigoColor, inv.cantidad, true);\r\n }\r\n setOpen(false);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const construirDetalleInventario = () => {\r\n let detalleInventario = [];\r\n for (let grupoTalla of Object.keys(tableValue)) {\r\n for (let producto of Object.keys(tableValue[grupoTalla].Productos)) {\r\n for (let color of Object.keys(tableValue[grupoTalla].Productos[producto].Colores)) {\r\n for (let talla of Object.keys(tableValue[grupoTalla].Productos[producto].Colores[color].Tallas)) {\r\n let cantidad = tableValue[grupoTalla].Productos[producto].Colores[color].Tallas[talla].Cantidad;\r\n if (cantidad > 0) {\r\n let productoDevolver = {\r\n IdProducto: tableValue[grupoTalla].Productos[producto].Id,\r\n CodigoProducto: producto,\r\n CodigoColor: color,\r\n Cantidad: cantidad,\r\n CodigoTalla: talla,\r\n }\r\n detalleInventario.push(productoDevolver);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return [detalleInventario];\r\n }\r\n\r\n const enviarInventario = async (completo) => {\r\n let inventario = {\r\n CodigoCliente: clienteSelected.Codigo,\r\n Correlativo: anterior ? detalleInventario[0].numInventario : localStorage.getItem(\"CorrelativoInventario\"),\r\n Empresa: localStorage.getItem('empresa'),\r\n Completo: completo,\r\n DetalleInventario: [],\r\n ProductosNoEncontrados: [],\r\n };\r\n const [detalle] = construirDetalleInventario();\r\n\r\n if (detalle.length === 0) {\r\n mostrarModal(\"Aviso\", \"No se puede crear el inventario ya que no se ha ingresado ningun producto.\", \"warning\");\r\n return;\r\n }\r\n inventario.DetalleInventario = detalle;\r\n inventario.ProductosNoEncontrados = noEncontrados;\r\n try {\r\n setTitle(\"Guardando Inventario\");\r\n setOpen(true);\r\n await axios.post(`${APIURL}/api/Inventario`, inventario, {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n }\r\n });\r\n mostrarModal(\"Inventario\", \"Se ha guardado el inventario con exito\", \"success\");\r\n history.push({ pathname: \"/inventario/ImprimirInventario\", state: JSON.stringify(inventario) });\r\n setOpen(false);\r\n } catch (err) {\r\n let mensaje = \"No se guardaron los registros.\";\r\n let error = \"FCPI03\";\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n error = err.response.data.ErrorCode;\r\n }\r\n\r\n mostrarAlerta(\"Error \" + error, mensaje, \"error\");\r\n setOpen(false);\r\n }\r\n }\r\n\r\n const btnFinalizar = () => {\r\n enviarInventario(true);\r\n }\r\n\r\n const btnGuardar = () => {\r\n enviarInventario(false);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n
    \r\n
    \r\n { setCodigo(e.target.value) }} />\r\n { setColor(e.target.value) }} />\r\n { setTalla(e.target.value) }} />\r\n { setCodigoBarra(e.target.value) }} onKeyPress={obtenerAtributosBarra} />\r\n \r\n
    \r\n\r\n {(Object.keys(noEncontrados).length > 0) &&\r\n <>\r\n !f.encontrado)\r\n .reduce((total, producto) => total + producto.cantidad, 0)}\r\n productos={noEncontrados}\r\n />\r\n \r\n }\r\n {(Object.keys(tableValue).length > 0) &&\r\n <>\r\n
    \r\n
    \r\n
    \r\n {Object.keys(tableValue).map((grupoTalla, index) => {\r\n let productos = Object.keys(tableValue[grupoTalla].Productos);\r\n return productos.map((codigoProducto, index1) => {\r\n let producto = tableValue[grupoTalla].Productos[codigoProducto];\r\n let tallas = tableValue[grupoTalla].Productos[codigoProducto].ListaTallas;\r\n let productoConCantidad = false;\r\n let { totalCantidad } = obtenerTotales(producto);\r\n totalUnid += totalCantidad;\r\n Object.keys(producto.Colores).forEach((codigoColor) => {\r\n let color = producto.Colores[codigoColor];\r\n var totalXColor = 0;\r\n\r\n Object.keys(color.Tallas).forEach((codigoTalla) => {\r\n let valorTalla = color.Tallas[codigoTalla];\r\n let cantidadXTalla = (isNaN(parseInt(valorTalla.Cantidad, 10)) ? 0 : parseInt(valorTalla.Cantidad, 10));\r\n let totalXTalla = cantidadXTalla * valorTalla.Precio;\r\n totalXColor = parseInt(totalXColor, 10) + totalXTalla;\r\n productoConCantidad = productoConCantidad || (cantidadXTalla > 0);\r\n });\r\n });\r\n productosSinCantidad = productosSinCantidad || (!productoConCantidad);\r\n return (\r\n \r\n )\r\n })\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n Total de Unidades: {numberWithCommasNoDec(totalUnid)}\r\n
    \r\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 React from 'react';\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport { useSelector } from 'react-redux';\r\nimport ClienteSelected from \"components/Inventario/SelectCliente/SelectCliente\";\r\nimport { ImprimirInventario } from 'components/Inventario/ImprimirInventario';\r\nimport { TomarInventario } from 'components/Inventario/Inventario';\r\n\r\nexport const Inventario = (props) => {\r\n const cliente = useSelector(e => e.ClienteInventario);\r\n const tableValue = useSelector(e => e.Inventario.TableValue);\r\n const finalizar = () => {\r\n props.history.push(\"/inventario\");\r\n }\r\n return (\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}","import React, { useState, useEffect } from 'react';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport MySnackbarContentWrapper from 'components/Global/snackbar'\r\nimport 'semantic-ui-css/semantic.min.css'\r\nimport { SyncLoader } from 'react-spinners';\r\nimport {\r\n Button,\r\n Grow,\r\n Snackbar,\r\n Card,\r\n CardContent,\r\n} from '@material-ui/core';\r\nimport {useDispatch,useSelector} from 'react-redux';\r\nimport CachedIcon from '@material-ui/icons/Cached';\r\nimport axios from 'axios';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { verificarConexion } from 'utils/http';\r\nimport {FiAlertTriangle} from 'react-icons/fi';\r\n\r\nconst TransitionGrow = React.forwardRef(function Transition(props, ref) {\r\n return ;\r\n});\r\n\r\nconst SelectCliente = (props) => {\r\n const [recibosSinDeposito,setRecibosSinDeposito] = useState(false);\r\n const [Value, setValue] = useState(null);\r\n const dispatch = useDispatch();\r\n const [loading,setLoading] = useState(false);\r\n const RecibosCache = useSelector(e=>e.RecibosEnCache);\r\n useEffect(() => {\r\n if (props.codigoClientePreseleccionado !== null && props.clientes.length > 0) {\r\n let cliente = props.clientes.find(cl => {\r\n return cl.Codigo === props.codigoClientePreseleccionado;\r\n });\r\n if (cliente) {\r\n setValue(JSON.stringify(cliente));\r\n props.onSelect((cliente));\r\n }\r\n }\r\n dispatch({type:'DELETE_RECIBO_CUOTASCUENTACORRIENTE'})\r\n dispatch({type:'DELETE_RECIBO_CLIENTESELECTED'})\r\n // eslint-disable-next-line\r\n }, [props.clientes]);\r\n\r\n useEffect(()=>{\r\n axios.get(`${APIURL}/api/recibo/sindepoosito/${localStorage.getItem('codigo')}`)\r\n .then(data=>setRecibosSinDeposito(data.data.sindepositos)); \r\n },[])\r\n\r\n // let FacturacionEntrega = null;\r\n var alerta = false;\r\n //var EsVisible = false;\r\n var options = [];\r\n\r\n const mostrarAdvertencia = (title,text,type)=>{\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n type: type,\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n\r\n const recargarClientes = async () => {\r\n let isOnline = await verificarConexion();\r\n if (localStorage.getItem(\"Conexion\") === \"offline\") {\r\n mostrarAdvertencia(\"Modo Offline\", \"Se encuentra en modo offline, no puede actualizar registros.\", \"warning\");\r\n } else {\r\n if (!isOnline) {\r\n mostrarAdvertencia('Sin internet', 'Necesita internet para poder actualizar los registros.', 'warning');\r\n } else {\r\n setLoading(true)\r\n axios.get(`${APIURL}/api/cliente/cuenta`, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token'),\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n .then(data => {\r\n setLoading(false)\r\n dispatch({ type: 'STORE_RECIBO_CLIENTES', clientes: data.data })\r\n })\r\n .catch(err => {\r\n setLoading(false);\r\n console.log(err)\r\n })\r\n }\r\n }\r\n }\r\n\r\n const handleRecarga = () => {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'ĀæDesea actualizar la informaciĆ³n en el modulo de recibos?',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value) {\r\n setValue(null);\r\n dispatch({type:'DELETE_RECIBO_CUOTASCUENTACORRIENTE'});\r\n dispatch({type:'DELETE_RECIBO_CLIENTESELECTED'});\r\n recargarClientes();\r\n props.ModuloConfiguraciones();\r\n }\r\n })\r\n }\r\n\r\n const handleOnChange = (value) => {\r\n var val = JSON.parse(value);\r\n\r\n setValue(value);\r\n props.onSelect(val);\r\n localStorage.setItem('isVencido',false);\r\n localStorage.setItem('isAnticipo',false);\r\n localStorage.setItem('isFavor',false);\r\n localStorage.setItem(\"saldoFavor\",0);\r\n dispatch({type:'delete_pedidoselected'});\r\n }\r\n if(props.clienteSelected != null) \r\n localStorage.setItem('EmpresaCliente', props.clienteSelected.EmpresaId);\r\n \r\n props.clientes.map(el => {\r\n var cliente = { key: el.Codigo, value: JSON.stringify(el), text: el.Codigo + ' - ' + el.Nombre }\r\n options.push(cliente);\r\n return 0;\r\n })\r\n\r\n if (!(props.clienteSelected != null && (props.clienteSelected.FacturacionEntrega === \"No\" || props.clienteSelected.FacturacionEntrega === \"Nunca\"))) {\r\n /* FacturacionEntrega = (\r\n
    \r\n El cliente actualmente se encuentra en mora.\r\n
    \r\n ) */\r\n\r\n\r\n if (props.clienteSelected !== null && props.clienteSelected !== false) {\r\n alerta = true;\r\n }\r\n\r\n };\r\n\r\n /*if (props.clienteSelected != null && props.clienteSelected.EmpresaId.toUpperCase() !== localStorage.getItem('empresa').toUpperCase() && props.clienteSelected !== false) {\r\n EsVisible = true;\r\n }*/\r\n\r\n const mensajeError = () => {\r\n if (props.clienteSelected !== null) {\r\n if (props.clienteSelected.FacturacionEntrega === \"Todo\") return \"El cliente actualmente se encuentra bloqueado.\";\r\n if (props.clienteSelected.FacturacionEntrega === \"Factura\") return \"El cliente actualmente se encuentra deshabilitado por mora.\";\r\n }\r\n }\r\n\r\n const Validacion = async () => {\r\n let isOnline = await verificarConexion();\r\n \r\n if (RecibosCache.length > 0 && isOnline && localStorage.getItem(\"Conexion\") === \"Online\") {\r\n Swal.fire({\r\n title: 'Pendiente a Sincronizar',\r\n text: 'Tiene recibos proforma en bandeja de salida, debera sincronizar para poder registrar un nuevo recibo.',\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }else if(localStorage.getItem(\"Conexion\") === \"offline\"){\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'Si continua de manera offline se generara un recibo proforma.',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value) {\r\n props.setCliente();\r\n }\r\n })\r\n }else if(recibosSinDeposito){\r\n Swal.fire({\r\n title: 'Recibos sin depositos',\r\n text: 'Tiene recibos sin imagen de depositos cargadas del dia anterior.',\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n else{\r\n props.setCliente();\r\n }\r\n \r\n }\r\n \r\n return (\r\n <>\r\n {\r\n RecibosCache.length > 0 && localStorage.getItem(\"Conexion\") === \"Online\" &&\r\n
    \r\n Tiene recibos Proforma en bandeja de salida, necesita sincronizar para poder registrar un nuevo recibo.\r\n
    \r\n }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Nuevo Recibo\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleOnChange(value)}\r\n options={options}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={Value}\r\n />\r\n
    \r\n\r\n
    \r\n Validacion()}\r\n variant=\"contained\"\r\n color=\"primary\">\r\n Continuar\r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n {\r\n props.loading &&\r\n
    \r\n \r\n
    \r\n }\r\n\r\n \r\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 SelectCliente;\r\n\r\n\r\n\r\n","import React from \"react\";\r\nimport { Dialog, DialogActions, DialogContent, DialogTitle, Button } from '@material-ui/core';\r\nimport MUIDataTable from 'mui-datatables'\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\n\r\n\r\nconst FacturasModal = (props) => {\r\n\r\n const columns = [\r\n\r\n {\r\n name: 'Tipo',\r\n label: 'Tipo',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'NumeroFactura',\r\n label: 'Numero Factura',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'NumeroFEL',\r\n label: 'Numero FEL',\r\n options: {\r\n filter: true,\r\n sort: true,\r\n display: localStorage.getItem('EmpresaCliente')==='IMGT'\r\n }\r\n },\r\n {\r\n name: 'Fecha',\r\n label: 'Fecha',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Vencimiento',\r\n label: 'Vencimiento',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n\r\n {\r\n name: 'Dias',\r\n label: 'Dias',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'FechaDescuento',\r\n label: 'Fecha Descuento',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'DiasDescuento',\r\n label: 'Dias Descuento',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Valor',\r\n label: 'Valor',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n {\r\n name: 'Saldo',\r\n label: 'Saldo',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n }\r\n ]\r\n\r\n\r\n const options = {\r\n filterType: 'false',\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n pagination: false,\r\n sortFilterList: false,\r\n filter: false,\r\n search: false,\r\n viewColumns: false,\r\n selectableRows: 'none',\r\n // rowsSelected: selectedRowsIndex,\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n },\r\n // onRowsSelect: (currentRowsSelected, allRowsSelected) => {\r\n // setSelectedRowsIndex(allRowsSelected.map(row => row.dataIndex))\r\n // }\r\n }\r\n\r\n return (\r\n <>\r\n props.onClose(false)}>\r\n \r\n
    \r\n Facturas\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* this.guardarRazon()}>\r\n {\r\n this.state.guardandoRazon ?\r\n : 'Guardar'\r\n }\r\n */}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n }\r\n});\r\n\r\nexport default FacturasModal;","import React from \"react\";\r\nimport { Dialog, DialogActions, DialogContent, DialogTitle, Button } from '@material-ui/core';\r\nimport MUIDataTable from 'mui-datatables'\r\n\r\n\r\nconst FacturasModalPrecompra = (props) => {\r\n\r\n const columns = [\r\n\r\n {\r\n name: 'Tipo',\r\n label: 'Tipo',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'NumeroFactura',\r\n label: 'Numero Factura',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'NumeroFEL',\r\n label: 'Numero FEL',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Fecha',\r\n label: 'Fecha',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Vencimiento',\r\n label: 'Vencimiento',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n\r\n {\r\n name: 'Dias',\r\n label: 'Dias',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'FechaDescuento',\r\n label: 'Fecha Descuento',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'DiasDescuento',\r\n label: 'Dias Descuento',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Valor',\r\n label: 'Valor',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n {\r\n name: 'Saldo',\r\n label: 'Saldo',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Cuotas',\r\n label: 'Cuotas',\r\n options: {\r\n filter: false,\r\n sort: false\r\n }\r\n }\r\n ]\r\n\r\n\r\n const options = {\r\n filterType: 'false',\r\n responsive: \"scrollFullHeight\",\r\n print: false,\r\n download: false,\r\n pagination: false,\r\n sortFilterList: false,\r\n filter: false,\r\n search: false,\r\n viewColumns: false,\r\n selectableRows: 'none',\r\n // rowsSelected: selectedRowsIndex,\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n },\r\n // onRowsSelect: (currentRowsSelected, allRowsSelected) => {\r\n // setSelectedRowsIndex(allRowsSelected.map(row => row.dataIndex))\r\n // }\r\n }\r\n\r\n return (\r\n <>\r\n props.onClose(false)}>\r\n \r\n
    \r\n Facturas\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {/* this.guardarRazon()}>\r\n {\r\n this.state.guardandoRazon ?\r\n : 'Guardar'\r\n }\r\n */}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FacturasModalPrecompra;","import React from \"react\";\r\nimport { Dialog, DialogActions, DialogContent, DialogTitle, Button } from '@material-ui/core';\r\nimport MUIDataTable from 'mui-datatables'\r\n\r\n\r\nconst CuotaModal = (props) => {\r\n\r\n const columns = [\r\n\r\n {\r\n name: 'Acuerdo',\r\n label: 'Acuerdo',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Cuota',\r\n label: 'Cuota',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Fecha',\r\n label: 'Fecha',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Vencimiento',\r\n label: 'Vencimiento',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n\r\n {\r\n name: 'Dias',\r\n label: 'Dias',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'FechaDescuento',\r\n label: 'Fecha Descuento',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'DiasDescuento',\r\n label: 'Dias Descuento',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Valor',\r\n label: 'Valor',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n {\r\n name: 'Saldo',\r\n label: 'Saldo',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n }\r\n ]\r\n\r\n const options = {\r\n filterType: 'false',\r\n responsive: \"scrollFullHeight\",\r\n print: false,\r\n download: false,\r\n pagination: false,\r\n sortFilterList: false,\r\n filter: false,\r\n search: false,\r\n viewColumns: false,\r\n selectableRows: 'none',\r\n // rowsSelected: selectedRowsIndex,\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n },\r\n // onRowsSelect: (currentRowsSelected, allRowsSelected) => {\r\n // setSelectedRowsIndex(allRowsSelected.map(row => row.dataIndex))\r\n // }\r\n }\r\n\r\n return (\r\n <>\r\n props.onClose(false)}>\r\n \r\n
    \r\n Cuotas\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {/* this.guardarRazon()}>\r\n {\r\n this.state.guardandoRazon ?\r\n : 'Guardar'\r\n }\r\n */}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default CuotaModal;","import React, {useState\r\n} from 'react'\r\nimport MUIDataTable from 'mui-datatables'\r\nimport moment from 'moment'\r\nimport 'moment/locale/es'\r\nimport {\r\n Button,\r\n // TablePagination, TableCell\r\n} from '@material-ui/core';\r\nimport { FaEye } from \"react-icons/fa\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport FacturasModal from \"components/Recibos/FacturasModal/FacturasModal\";\r\nimport FacturasModalPrecompra from \"components/Recibos/FacturasModal/FacturasModalPrecompra\";\r\nimport CuotaModal from \"components/Recibos/FacturasModal/CuotaModal\";\r\n\r\nmoment.locale('es')\r\n\r\nconst columns = [\r\n {\r\n name: 'Tipo',\r\n label: 'Tipo Credito',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'CantFactVencidas',\r\n label: 'Facturas Vencidas',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n /*{\r\n name: 'Disponible',\r\n label: 'Disponible',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n {\r\n name: 'SaldoTotal',\r\n label: 'Saldo Total',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },*/\r\n {\r\n name: 'Vencido',\r\n label: 'Vencido',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n \r\n {\r\n name: 'Dias',\r\n label: 'DĆ­as Vencido',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'FactXVencer',\r\n label: 'Facturas A Vencer',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n {\r\n name: 'C15Dias',\r\n label: 'Por Vencer(15 Dias)',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n {\r\n name: 'FechaVencimiento',\r\n label: 'Fecha Proxima a Vencer',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n {\r\n name: 'Accion',\r\n label: 'Accion',\r\n }\r\n]\r\n\r\nconst getOptions = (props) => {\r\n const options = {\r\n selectableRows: 'none',\r\n print: false,\r\n download: false,\r\n filter: false,\r\n viewColumns: false,\r\n search: false,\r\n // customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage, textLabels) => CustomFooter(count, page, rowsPerPage, changeRowsPerPage, changePage, textLabels, props),\r\n customFooter: () => { },\r\n filterType: 'checkbox',\r\n }\r\n return options;\r\n}\r\n\r\nconst FacturaTable = props => {\r\n const [DataModal, setDataModal] = useState([]);\r\n const [DataModalPrecompra, setDataModalPrecompra] = useState([]);\r\n const [openModal, setOpenModal] = useState(false);\r\n const [openModalPrecompra, setOpenModalPrecompra] = useState(false);\r\n const [cuotasa,setCuotasa] = useState([]);\r\n const [openModalCuota,setOpenModalCuota] = useState(false);\r\n \r\n const setCuotas = (tipoPedido) => {\r\n if (localStorage.getItem(\"Conexion\") === \"offline\") {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'Si continua de manera offline se generara un recibo proforma.',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value) {\r\n const cuotas = props.AcuerdosXTipoPedido.filter(acu => acu.TipoPedido === tipoPedido);\r\n props.SetCuotas(cuotas)\r\n }\r\n })\r\n }\r\n else {\r\n const cuotas = props.AcuerdosXTipoPedido.filter(acu => acu.TipoPedido === tipoPedido);\r\n props.SetCuotas(cuotas)\r\n }\r\n };\r\n\r\n let data = [];\r\n const Totales = {\r\n Disponible: 0,\r\n SaldoTotal: 0,\r\n C15Dias: 0,\r\n Vencido: 0\r\n };\r\n\r\n const handleOpenModalCuota = (cuotas)=>{\r\n setCuotasa(cuotas);\r\n setOpenModalCuota(true);\r\n }\r\n\r\n const ProcesarFactura = (factura,credito,acuerdo)=>{\r\n let dias = moment(factura.FechaVencimiento).diff(moment(new Date()), 'days')\r\n let diasDescuento = 0;\r\n let fechaDescuento = moment(factura.FechaMaxDescuento);\r\n if (fechaDescuento.isValid()) {\r\n diasDescuento = moment(factura.FechaMaxDescuento).diff(moment(new Date()), 'days') + 1;\r\n }\r\n\r\n if(credito ==='Precompra'){\r\n \r\n let cuotasTmp = [];\r\n\r\n if(factura.Cuotas){\r\n factura.Cuotas.forEach(cuota=>{\r\n cuotasTmp.push(ProcesarCuota(cuota,acuerdo));\r\n });\r\n } \r\n \r\n let facturatmp={\r\n NumeroFactura: factura.Factura,\r\n NumeroFEL: factura.NumeroFEL,\r\n Dias: dias,\r\n DiasDescuento: diasDescuento,\r\n Tipo: factura.Tipo,\r\n Fecha: moment(factura.FechaFactura).format(\"DD/MM/YYYY\"),\r\n Vencimiento: moment(factura.FechaVencimiento).format(\"DD/MM/YYYY\"),\r\n FechaDescuento: fechaDescuento.isValid() ? fechaDescuento.format(\"DD/MM/YYYY\") : \"\",\r\n Valor: factura.TotalFactura.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Saldo: factura.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Cuotas:(handleOpenModalCuota(cuotasTmp)}/>)\r\n }\r\n return facturatmp;\r\n }\r\n\r\n let facturatmp={\r\n NumeroFactura: factura.Factura,\r\n NumeroFEL: factura.NumeroFEL,\r\n Dias: dias,\r\n DiasDescuento: diasDescuento,\r\n Tipo: factura.Tipo,\r\n Fecha: moment(factura.FechaFactura).format(\"DD/MM/YYYY\"),\r\n Vencimiento: moment(factura.FechaVencimiento).format(\"DD/MM/YYYY\"),\r\n FechaDescuento: fechaDescuento.isValid() ? fechaDescuento.format(\"DD/MM/YYYY\") : \"\",\r\n Valor: factura.TotalFactura.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Saldo: factura.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,') \r\n }\r\n return facturatmp;\r\n }\r\n\r\n const ProcesarCuota = (cuota,acuerdo)=>{\r\n let dias = moment(cuota.FechaVencimiento).diff(moment(new Date()), 'days')\r\n let diasDescuento = 0;\r\n let fechaDescuento = moment(cuota.FechaMaxDescuento);\r\n if (fechaDescuento.isValid()) {\r\n diasDescuento = moment(cuota.FechaMaxDescuento).diff(moment(new Date()), 'days') + 1;\r\n }\r\n\r\n let cuotatmp={\r\n Factura: cuota.Factura,\r\n NumeroFEL: cuota.NumeroFEL,\r\n Acuerdo: acuerdo,\r\n Dias: dias,\r\n DiasDescuento: diasDescuento,\r\n Cuota: cuota.NumeroCuota,\r\n Fecha: moment(cuota.FechaFactura).format(\"DD/MM/YYYY\"),\r\n Vencimiento: moment(cuota.FechaVencimiento).format(\"DD/MM/YYYY\"),\r\n FechaDescuento: fechaDescuento.isValid() ? fechaDescuento.format(\"DD/MM/YYYY\") : \"\",\r\n Valor: cuota.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Saldo: cuota.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,') \r\n }\r\n return cuotatmp;\r\n}\r\n\r\n const OpenModalVencido = (acuerdo)=>{\r\n const acuerdoFiltrado = props.AcuerdosXTipoPedido.filter(x=>x.TipoPedido===acuerdo);\r\n const facturasEnAcuerdo = acuerdoFiltrado[0].Acuerdos;\r\n\r\n let facturas = [];\r\n\r\n if(acuerdo==='Precompra')\r\n {\r\n facturasEnAcuerdo.forEach(e=>{ \r\n e.Facturas.forEach(factura=>{\r\n \r\n const fechaVencimiento = new Date(factura.FechaVencimiento);\r\n const fechaActual = new Date();\r\n const isVencida = fechaActual>fechaVencimiento;\r\n \r\n if(isVencida){\r\n facturas.push(ProcesarFactura(factura,acuerdo,e.Acuerdo)); \r\n } \r\n });\r\n });\r\n\r\n setDataModalPrecompra(facturas);\r\n setOpenModalPrecompra(true);\r\n }else{\r\n facturasEnAcuerdo.forEach(e=>{\r\n e.Facturas.forEach(factura=>{\r\n \r\n const fechaVencimiento = new Date(factura.FechaVencimiento);\r\n const fechaActual = new Date();\r\n const isVencida = fechaActual>fechaVencimiento;\r\n \r\n if(isVencida){\r\n facturas.push(ProcesarFactura(factura,acuerdo,e.Acuerdo));\r\n }\r\n \r\n });\r\n });\r\n \r\n setDataModal(facturas);\r\n setOpenModal(true);\r\n }\r\n }\r\n\r\n const OpenModalAVencer = (acuerdo)=>{\r\n\r\n const acuerdoFiltrado = props.AcuerdosXTipoPedido.filter(x=>x.TipoPedido===acuerdo);\r\n const facturasEnAcuerdo = acuerdoFiltrado[0].Acuerdos;\r\n\r\n let facturas = [];\r\n\r\n if(acuerdo==='Precompra'){\r\n facturasEnAcuerdo.forEach(e=>{\r\n e.Facturas.forEach(factura=>{\r\n\r\n let diasParaVencer = moment(factura.FechaVencimiento).diff(moment(new Date()), 'days');\r\n let isFacturaAVencer = diasParaVencer >=0 && diasParaVencer <=15;\r\n\r\n if(isFacturaAVencer){\r\n facturas.push(ProcesarFactura(factura,acuerdo,e.Acuerdo));\r\n } \r\n });\r\n });\r\n\r\n setDataModalPrecompra(facturas);\r\n setOpenModalPrecompra(true);\r\n }else{\r\n facturasEnAcuerdo.forEach(e=>{\r\n e.Facturas.forEach(factura=>{\r\n\r\n let diasParaVencer = moment(factura.FechaVencimiento).diff(moment(new Date()), 'days');\r\n let isFacturaAVencer = diasParaVencer >=0 && diasParaVencer <=15;\r\n\r\n if(isFacturaAVencer){\r\n facturas.push(ProcesarFactura(factura,acuerdo,e.Acuerdo));\r\n } \r\n });\r\n });\r\n\r\n setDataModal(facturas);\r\n setOpenModal(true);\r\n }\r\n }\r\n\r\n const FechaVencido = (credito,isFecha)=>{\r\n const creditoFiltrado = props.AcuerdosXTipoPedido.filter(x=>x.TipoPedido===credito);\r\n const facturasEnAcuerdo = creditoFiltrado[0].Acuerdos;\r\n\r\n let facturasVencidas = [];\r\n\r\n if(isFecha){\r\n facturasEnAcuerdo.forEach(e=>{ \r\n e.Facturas.forEach(factura=>{\r\n let Fecha = factura.FechaVencimiento\r\n facturasVencidas.push(Fecha); \r\n });\r\n });\r\n return facturasVencidas[0];\r\n }\r\n\r\n facturasEnAcuerdo.forEach(e=>{ \r\n e.Facturas.forEach(factura=>{\r\n\r\n const fechaVencimiento = new Date(factura.FechaVencimiento);\r\n const fechaActual = new Date();\r\n const isVencida = fechaActual>fechaVencimiento;\r\n\r\n if(isVencida){\r\n let dias = moment(factura.FechaVencimiento).diff(moment(new Date()), 'days')\r\n facturasVencidas.push(dias); \r\n } \r\n });\r\n });\r\n return (facturasVencidas.length===0)? 0: facturasVencidas[0];\r\n }\r\n\r\n const FactVencidas = (credito,vencidas)=>{\r\n const creditoFiltrado = props.AcuerdosXTipoPedido.filter(x=>x.TipoPedido===credito);\r\n const facturasEnAcuerdo = creditoFiltrado[0].Acuerdos;\r\n\r\n let facturasVencidas = [];\r\n\r\n if(vencidas){\r\n facturasEnAcuerdo.forEach(e=>{ \r\n e.Facturas.forEach(factura=>{\r\n const fechaVencimiento = new Date(factura.FechaVencimiento);\r\n const fechaActual = new Date();\r\n const isVencida = fechaActual > fechaVencimiento;\r\n if(isVencida){\r\n \r\n facturasVencidas.push(factura); \r\n } \r\n });\r\n });\r\n return facturasVencidas.length;\r\n }\r\n facturasEnAcuerdo.forEach(e=>{\r\n e.Facturas.forEach(factura=>{\r\n\r\n let diasParaVencer = moment(factura.FechaVencimiento).diff(moment(new Date()), 'days');\r\n let isFacturaAVencer = diasParaVencer >=0 && diasParaVencer <=15;\r\n\r\n if(isFacturaAVencer){\r\n facturasVencidas.push(factura);\r\n } \r\n });\r\n });\r\n return facturasVencidas.length;\r\n }\r\n\r\n const RestriccionPago = (dataTmp)=>{\r\n dataTmp.sort((a,b)=>(new Date(a.FechaV)-new Date(b.FechaV)));\r\n \r\n const creditosVencidos = dataTmp.filter(e=>Math.abs(e.DiasVencidos)>0);\r\n const creditosActivos = dataTmp.filter(e=>Math.abs(e.DiasVencidos)===0);\r\n\r\n let tempData = [];\r\n\r\n if(creditosVencidos.length>0 ){\r\n if(props.Cliente.Pedido.length === 0){\r\n creditosVencidos.forEach((e,i)=>{\r\n \r\n const newAction = React.cloneElement(e.Accion,{disabled:false});\r\n e.Accion = newAction;\r\n \r\n });\r\n }\r\n \r\n props.CreditoVencido(true);\r\n\r\n if(creditosVencidos.length===1 || creditosVencidos.length===0){\r\n props.CreditoVencido(false);\r\n }\r\n\r\n tempData = [...creditosVencidos,...creditosActivos];\r\n return [...new Set(tempData)];\r\n }\r\n\r\n if(creditosActivos.length===data.length ){\r\n \r\n creditosActivos.forEach(e=>{\r\n if(props.Cliente.Pedido.length === 0){\r\n const newAction = React.cloneElement(e.Accion,{disabled:false});\r\n e.Accion = newAction;\r\n }\r\n });\r\n\r\n tempData = creditosActivos;\r\n return [...new Set(tempData)];\r\n }\r\n\r\n return tempData;\r\n }\r\n\r\n const IgnorarRestriccionPago = (dataTmp) => {\r\n dataTmp.sort((a, b) => (new Date(a.FechaV) - new Date(b.FechaV)));\r\n let tempData = dataTmp;\r\n\r\n tempData.forEach(e => {\r\n const newAction = React.cloneElement(e.Accion, { disabled: false });\r\n e.Accion = newAction;\r\n });\r\n\r\n return tempData;\r\n }\r\n\r\n props.AcuerdosXTipoPedido.forEach(acuXTipPed => {\r\n let saldo = 0;\r\n let saldoVencido = 0;\r\n let saldo15DiasAvencer = 0;\r\n let disponible = 0;\r\n acuXTipPed.Acuerdos.forEach(acu => {\r\n if(acuXTipPed.AgrupaPorCuota){\r\n disponible += Number(acu.Disponible); \r\n }else{\r\n disponible = (props.Cliente.CreditoDisponible?props.Cliente.CreditoDisponible:0);\r\n }\r\n acu.Facturas.filter(f=> f.Saldo > 0).forEach(fact => {\r\n fact.Cuotas.filter(c=> c.Saldo > 0).forEach(cuot => {\r\n if (cuot.Saldo > 0) {\r\n saldo += cuot.Saldo;\r\n if (moment(cuot.FechaVencimiento).isSameOrBefore(moment(new Date()), 'days')) {\r\n saldoVencido += cuot.Saldo;\r\n }\r\n if (moment(cuot.FechaVencimiento).isAfter(moment(new Date()), 'days') && moment(cuot.FechaVencimiento).isSameOrBefore(moment().add(15, 'day'), 'days')) {\r\n saldo15DiasAvencer += cuot.Saldo;\r\n }\r\n }\r\n });\r\n });\r\n });\r\n \r\n Totales.Disponible += Number(disponible);\r\n Totales.SaldoTotal += saldo;\r\n Totales.Vencido += saldoVencido;\r\n Totales.C15Dias += saldo15DiasAvencer;\r\n const dias = saldoVencido>0? \"text-danger font-weight-bold\":\"inline-block\"\r\n \r\n \r\n data.push({\r\n FechaV:FechaVencido(acuXTipPed.TipoPedido,true),\r\n DiasVencidos:FechaVencido(acuXTipPed.TipoPedido,false),\r\n Tipo: acuXTipPed.TipoPedido,\r\n CantFactVencidas:(
    {FactVencidas(acuXTipPed.TipoPedido,true)}{(saldoVencido>0)?{OpenModalVencido(acuXTipPed.TipoPedido)}} size={\"20px\"} style={{display:\"inline-block\",marginLeft:'10px'}}/>:}
    ),\r\n Vencido: (

    {saldoVencido.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}

    ),\r\n Dias: {FechaVencido(acuXTipPed.TipoPedido,false)}, \r\n FactXVencer :(
    {FactVencidas(acuXTipPed.TipoPedido,false)}{(saldo15DiasAvencer>0)?{OpenModalAVencer(acuXTipPed.TipoPedido)}} size={\"20px\"} style={{display:\"inline-block\",marginLeft:'10px'}}/>:}
    ),\r\n C15Dias: (

    {saldo15DiasAvencer.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}

    ),\r\n FechaVencimiento: {moment(FechaVencido(acuXTipPed.TipoPedido,true)).format(\"DD/MM/YYYY\")}, \r\n Disponible: Number(disponible).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n SaldoTotal: saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Accion: ( { setCuotas(acuXTipPed.TipoPedido); }}\r\n variant=\"contained\"\r\n disabled={true}\r\n color=\"primary\">\r\n Pagar\r\n )\r\n })\r\n data.sort((a,b)=>(new Date(a.FechaV)-new Date(b.FechaV)));\r\n \r\n });\r\n \r\n if (props.Cliente.IgnorarSecuenciaFactura) {\r\n data = IgnorarRestriccionPago(data);\r\n } else {\r\n data = RestriccionPago(data);\r\n }\r\n\r\n data.push(\r\n {\r\n Tipo: (\r\n
    Totales
    \r\n ),\r\n Disponible: (),\r\n SaldoTotal: (),\r\n Vencido: (),\r\n C15Dias: (),\r\n Accion: ()\r\n }\r\n );\r\n\r\n if(data.length===2)\r\n {\r\n localStorage.setItem(\"isFavor\",true);\r\n }\r\n\r\n const handleAnticipo=()=>{\r\n\r\n const {Codigo,EmpresaId,Moneda} = props.Cliente;\r\n\r\n const anticipo = [{\r\n Acuerdos:[{\r\n Facturas:[{\r\n IdFactura:0,\r\n Factura:\"Anticipo \",\r\n CodigoCliente:Codigo,\r\n EmpresaId:EmpresaId,\r\n IdMoneda:Moneda,\r\n Tipo:\"Anticipo [T-O]\",\r\n FechaFactura:new Date(),\r\n FechaVencimiento:new Date(),\r\n FechaMaxDescuento:new Date(),\r\n TotalFactura:0,\r\n Saldo:0,\r\n PendienteFactura:0,\r\n Descuento:0,\r\n FacturaStatus:\"Ninguno\",\r\n NumeroPagos:0,\r\n Referencia:\"test\",\r\n IdLinea:\"TPT\",\r\n LineaString:\"Tejido de punto\",\r\n TipoPedidoString:\"Ordinario\",\r\n IdTipoPedido:1,\r\n Cuotas: [\r\n {\r\n IdSubFactura: 0,\r\n Factura: \"Anticipo\",\r\n CodigoCliente: Codigo,\r\n EmpresaId: EmpresaId,\r\n IdMoneda: Moneda,\r\n IdAcuerdoxCliente: null,\r\n FechaFactura: new Date(),\r\n FechaVencimiento: new Date(),\r\n FechaMaxDescuento: new Date(),\r\n FechaVencimientoDescuento: new Date(),\r\n Saldo: 0,\r\n SaldoDivisa: 0,\r\n Descuento: 0,\r\n PendientePago: 0,\r\n Referencia: \"test\",\r\n TipoDocumento: \"Anticipo [D-O]\",\r\n ReferenciaFacturas: \"test\",\r\n ReferenciaAcuerdo: \"0\",\r\n NumeroCuota: 0,\r\n ValorCuota: 0,\r\n ValorVencidoCuota: 0,\r\n ReferenciaCuotas: \"0\",\r\n IdFactura: 0,\r\n TipoPedido:\"Ordinario\",\r\n AgrupaPorCuota:false\r\n }\r\n ]\r\n }\r\n ],\r\n Acuerdo:\"\",\r\n Valor:\"0\",\r\n Disponible:\"0\"\r\n }],\r\n IdTipoPedido:1,\r\n TipoPedido:\"Ordinario\",\r\n AgrupaPorCuota:false\r\n }\r\n ];\r\n localStorage.setItem(\"isAnticipo\",true);\r\n props.SetCuotas(anticipo);\r\n props.CargarCuotasAPagar([0]);\r\n }\r\n\r\n return (\r\n <>\r\n {props.Cliente.Pedido.length !== 0?: \r\n data.length===1?:\"\"}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\nexport default FacturaTable","import React from \"react\";\r\nimport { TableCell, TablePagination } from \"@material-ui/core\";\r\n\r\nconst CustomFooter = (props) => {\r\n let { count, page, rowsPerPage, changeRowsPerPage, changePage, textLabels } = props\r\n\r\n\r\n const handleRowChange = event => {\r\n changeRowsPerPage(event.target.value);\r\n };\r\n\r\n const handlePageChange = (_, page) => {\r\n changePage(page);\r\n };\r\n\r\n const isValidCustom = () => {\r\n if (props.CustomButtonComponent) {\r\n if (props.CustomButton) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n return (\r\n\r\n \r\n \r\n {\r\n isValidCustom() &&\r\n \r\n {props.CustomButtonComponent}\r\n \r\n }\r\n {props.pagination && (\r\n \r\n `${from}-${to} ${textLabels.displayRows} ${count}`}\r\n backIconButtonProps={{\r\n 'aria-label': textLabels.previous,\r\n }}\r\n nextIconButtonProps={{\r\n 'aria-label': textLabels.next,\r\n }}\r\n rowsPerPageOptions={[10, 20, 100]}\r\n onChangePage={handlePageChange}\r\n onChangeRowsPerPage={handleRowChange}\r\n />\r\n )}\r\n \r\n \r\n );\r\n}\r\nexport default CustomFooter;","import React, {\r\n // useEffect, \r\n useState\r\n} from 'react'\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport moment from 'moment';\r\nimport 'moment/locale/es';\r\nimport { Button } from '@material-ui/core';\r\nimport CustomFooter from \"components/Recibos/Facturas/CustomFooter\";\r\nimport styles from \"components/Recibos/Facturas/CuotasTable.module.css\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { useSelector } from 'react-redux';\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\n\r\nmoment.locale('es')\r\nconst columns = [\r\n\r\n {\r\n name: 'Tipo',\r\n label: 'Tipo',\r\n\r\n },\r\n {\r\n name: 'Factura',\r\n label: 'Factura',\r\n\r\n },\r\n {\r\n name: 'NumeroFEL',\r\n label: 'Numero FEL',\r\n options: { display: localStorage.getItem('empresa') === 'IMGT' },\r\n\r\n },\r\n {\r\n name: 'Fecha',\r\n label: 'Fecha',\r\n\r\n },\r\n {\r\n name: 'FechaVencimiento',\r\n label: 'Vencimiento',\r\n\r\n },\r\n\r\n {\r\n name: 'Dias',\r\n label: 'Dias',\r\n\r\n },\r\n {\r\n name: 'FechaDescuento',\r\n label: 'Fecha Descuento',\r\n\r\n },\r\n {\r\n name: 'DiasDescuento',\r\n label: 'Dias Descuento',\r\n\r\n },\r\n {\r\n name: 'Valor',\r\n label: 'Valor',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n {\r\n name: 'ValorDescuento',\r\n label: 'Valor Descuento',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n {\r\n name: 'Saldo',\r\n label: 'Saldo',\r\n\r\n },\r\n {\r\n name: 'APagar',\r\n label: 'A Pagar',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n }\r\n];\r\n\r\nconst CuotasTable = props => {\r\n const [selectedRowsIndex, setSelectedRowsIndex] = useState([])\r\n const clienteSeleccionado = useSelector(e => e.Recibo.clienteSelected);\r\n const data = [];\r\n let foundExpired = false;\r\n let Expired = [];\r\n const options = {\r\n filterType: 'multiselect',\r\n isRowSelectable: (row) => {\r\n const isVencido = localStorage.getItem('isVencido')\r\n if (isVencido === 'true') return data[row].IsVencida;\r\n return true;\r\n },\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n pagination: false,\r\n sort: false,\r\n download: false,\r\n selectableRowsOnClick: true,\r\n rowsSelected: selectedRowsIndex,\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage, textLabels) => {\r\n return (\r\n \r\n )\r\n },\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n },\r\n customToolbarSelect: () => {\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 {getButtonPagar()}\r\n
    \r\n
    \r\n )\r\n },\r\n onRowsSelect: (currentRowsSelected, allRowsSelected) => {\r\n setSelectedRowsIndex(allRowsSelected.map(row => row.dataIndex))\r\n }\r\n }\r\n\r\n if (clienteSeleccionado.IgnorarSecuenciaFactura) {\r\n delete options.isRowSelectable;\r\n }\r\n\r\n let Apagar = 0;\r\n let Saldo = 0\r\n props.Cuotas.forEach(fact => {\r\n fact.Acuerdos.forEach(acu => {\r\n acu.Facturas.filter(f => f.Saldo > 0).forEach(fact => {\r\n fact.Cuotas.filter(c => c.Saldo > 0).forEach(cuot => {\r\n if (!fact.facturaEnTransito) {\r\n let dias = moment(cuot.FechaVencimiento).diff(moment(new Date()), 'days')\r\n let diasDescuento = moment(cuot.FechaMaxDescuento).diff(moment(new Date()), 'days') + 1;\r\n\r\n let DiasVencido = moment(cuot.FechaVencimiento).diff(moment(new Date()), 'days')\r\n let ValorDescuento = cuot.Descuento;\r\n let isVencida = DiasVencido < 0;\r\n const excepcionDescuento = cuot.ExcepcionDescuento;\r\n\r\n Apagar = diasDescuento < 0 ? cuot.Saldo : cuot.Saldo - ValorDescuento;\r\n Saldo = Saldo + Apagar;\r\n if (DiasVencido < 0) {\r\n foundExpired = true;\r\n\r\n Expired.push({ IdSubFactura: cuot.IdSubFactura, Dias: dias });\r\n data.push({\r\n IdSubFactura: cuot.IdSubFactura,\r\n Dias: {isNaN(DiasVencido) ? \"\" : DiasVencido},\r\n DiasDescuento: {isNaN(diasDescuento) ? \"\" : diasDescuento},\r\n ValorDescuento: {ValorDescuento.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},\r\n Tipo: {cuot.TipoDocumento},\r\n Factura: {fact.Factura},\r\n NumeroFEL: {fact.NumeroFEL},\r\n Fecha: {moment(fact.FechaFactura).format(\"DD/MM/YYYY\")},\r\n FechaVencimiento: {moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\")},\r\n FechaDescuento: {moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" ? moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") : \"\"},\r\n APagar: {(Apagar).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},\r\n Valor: {cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},\r\n Saldo: {cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},\r\n Cuota: cuot,\r\n IsVencida: isVencida,\r\n Fechaa: moment(fact.FechaFactura).format(\"DD/MM/YYYY\"),\r\n Facturaa: fact.Factura,\r\n facturaEnTransito: fact.facturaEnTransito,\r\n DiasVencido,\r\n excepcionDescuento\r\n })\r\n }\r\n else if (DiasVencido >= 0 && DiasVencido <= 15) {\r\n data.push({\r\n IdSubFactura: cuot.IdSubFactura,\r\n Dias: {isNaN(DiasVencido) ? \"\" : DiasVencido},\r\n DiasDescuento: {isNaN(diasDescuento) ? \"\" : diasDescuento},\r\n ValorDescuento: {ValorDescuento.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},\r\n Tipo: {cuot.TipoDocumento},\r\n Factura: {fact.Factura},\r\n NumeroFEL: {fact.NumeroFEL},\r\n Fecha: {moment(fact.FechaFactura).format(\"DD/MM/YYYY\")},\r\n FechaVencimiento: {moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\")},\r\n FechaDescuento: {moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" ? moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") : \"\"},\r\n APagar: {(Apagar).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},\r\n Valor: {cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},\r\n Saldo: {cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},\r\n Cuota: cuot,\r\n IsVencida: isVencida,\r\n Fechaa: moment(fact.FechaFactura).format(\"DD/MM/YYYY\"),\r\n Facturaa: fact.Factura,\r\n facturaEnTransito: fact.facturaEnTransito,\r\n DiasVencido,\r\n excepcionDescuento\r\n })\r\n }\r\n else {\r\n data.push({\r\n IdSubFactura: cuot.IdSubFactura,\r\n Dias: isNaN(DiasVencido) ? \"\" : DiasVencido,\r\n DiasDescuento: isNaN(diasDescuento) ? \"\" : diasDescuento,\r\n ValorDescuento: ValorDescuento.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Tipo: cuot.TipoDocumento,\r\n Factura: fact.Factura,\r\n NumeroFEL: fact.NumeroFEL,\r\n Fecha: moment(fact.FechaFactura).format(\"DD/MM/YYYY\"),\r\n FechaVencimiento: moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\"),\r\n FechaDescuento: moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" ? moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") : \"\",\r\n APagar: (Apagar).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Valor: cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Saldo: cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Cuota: cuot,\r\n IsVencida: isVencida,\r\n Fechaa: moment(fact.FechaFactura).format(\"DD/MM/YYYY\"),\r\n Facturaa: fact.Factura,\r\n facturaEnTransito: fact.facturaEnTransito,\r\n DiasVencido,\r\n excepcionDescuento\r\n })\r\n }\r\n }\r\n });\r\n });\r\n });\r\n })\r\n localStorage.setItem(\"totalCredito\", (Saldo).toFixed(2));\r\n console.log(data);\r\n data.sort((a, b) => {\r\n if (moment(a.Fechaa, \"DD/MM/YYYY\").isAfter(moment(b.Fechaa, \"DD/MM/YYYY\"), 'day')) {\r\n return 1;\r\n }\r\n if (moment(a.Fechaa, \"DD/MM/YYYY\").isBefore(moment(b.Fechaa, \"DD/MM/YYYY\"), 'day')) {\r\n return -1;\r\n }\r\n if (moment(a.Fechaa, \"DD/MM/YYYY\").isSame(moment(b.Fechaa, \"DD/MM/YYYY\"), 'day')) {\r\n return 0;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n data.sort((a, b) => {\r\n if (a.Facturaa < b.Facturaa) {\r\n\r\n return -1;\r\n }\r\n if (a.Facturaa > b.Facturaa) {\r\n\r\n return 1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n data.sort((a, b) => {\r\n if (a.DiasVencido < b.DiasVencido) {\r\n\r\n return -1;\r\n }\r\n if (a.DiasVencido > b.DiasVencido) {\r\n\r\n return 1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n const setCuotasAPagar = () => {\r\n let cuotasAPagar = [];\r\n\r\n let selectedExpired = [];\r\n\r\n\r\n selectedRowsIndex.forEach(selRowsIndex => {\r\n let select = Expired.find(element => element.IdSubFactura === data[selRowsIndex].IdSubFactura);\r\n\r\n if (select) {\r\n selectedExpired.push(select);\r\n }\r\n cuotasAPagar.push(data[selRowsIndex].IdSubFactura)\r\n })\r\n\r\n if (clienteSeleccionado.IgnorarSecuenciaFactura) {\r\n props.SetCuotasAPagar(cuotasAPagar);\r\n } else if (foundExpired) {\r\n if (selectedExpired.length === 0) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Seleccionar Factura Vencidas\",\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n else {\r\n let encontrado = false;\r\n\r\n let index = 0;\r\n\r\n selectedExpired.sort((a, b) => (a.Dias > b.Dias) ? 1 : (a.Dias === b.Dias) ? ((a.IdSubFactura > b.IdSubFactura) ? 1 : -1) : -1);\r\n Expired.sort((a, b) => (a.Dias > b.Dias) ? 1 : (a.Dias === b.Dias) ? ((a.IdSubFactura > b.IdSubFactura) ? 1 : -1) : -1);\r\n\r\n do {\r\n if (selectedExpired[index].Dias !== Expired[index].Dias) {\r\n encontrado = true;\r\n }\r\n index++;\r\n } while (encontrado === false && selectedExpired.length > index);\r\n\r\n if (selectedRowsIndex.length <= selectedExpired.length || Expired.length === selectedExpired.length) {\r\n if (encontrado) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Facturas Seleccionadas InvƔlidas\",\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n else {\r\n props.SetCuotasAPagar(cuotasAPagar);\r\n }\r\n }\r\n else {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Facturas Seleccionadas InvƔlidas\",\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n props.SetCuotasAPagar(cuotasAPagar);\r\n }\r\n }\r\n const getButtonPagar = () => {\r\n if (selectedRowsIndex.length > 0) {\r\n return (\r\n { setCuotasAPagar() }}\r\n variant=\"contained\"\r\n color=\"primary\">\r\n Pagar\r\n \r\n )\r\n }\r\n return null\r\n }\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n }\r\n});\r\n\r\nexport default CuotasTable\r\n","import React, {\r\n // useEffect, \r\n // useState\r\n} from 'react';\r\nimport MUIDataTable from 'mui-datatables'\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport { FaEye } from \"react-icons/fa\";\r\nimport moment from 'moment';\r\nimport {useSelector} from 'react-redux';\r\nimport 'moment/locale/es';\r\n\r\nconst columns = [\r\n\r\n {\r\n name: 'Cuota',\r\n label: 'Cuota',\r\n },\r\n {\r\n name: 'Valor',\r\n label: 'Valor Cuota',\r\n },\r\n {\r\n name: 'Factura',\r\n label: 'Factura',\r\n },\r\n /*{\r\n name: 'ValorFactura',\r\n label: 'Valor Factura',\r\n },*/\r\n {\r\n name: 'FechaCreacion',\r\n label: 'Fecha',\r\n },\r\n {\r\n name: 'Fecha',\r\n label: 'Vencimiento',\r\n },\r\n {\r\n name: 'DiasVencido',\r\n label: 'Dias',\r\n },\r\n {\r\n name: 'FechaDescuento',\r\n label: 'Fecha Descuento',\r\n },\r\n {\r\n name: 'ValorDescuento',\r\n label: 'Descuento',\r\n },\r\n {\r\n name: 'DiasDescuento',\r\n label: 'Dias Descuento',\r\n },\r\n {\r\n name: 'Saldo',\r\n label: 'Saldo',\r\n },\r\n {\r\n name: 'Acciones',\r\n label: 'Acciones',\r\n },\r\n]\r\n\r\nconst CuotasAgrupadasExpandableRow = (props) => {\r\n let selectedRowsIndex = [];\r\n const clienteSeleccionado = useSelector(e=>e.Recibo.clienteSelected);\r\n let data = [];\r\n let IdsSubFactura = [];\r\n if (props.SelectedRowsIndexXAcuerdo) {\r\n if (props.SelectedRowsIndexXAcuerdo[props.NumeroAcuerdo]) {\r\n IdsSubFactura = props.SelectedRowsIndexXAcuerdo[props.NumeroAcuerdo];\r\n }\r\n }\r\n props.CuotasAgrupadas.forEach((cuotAgru, index) => {\r\n let seleccionado = false;\r\n let Fecha = new Date();\r\n let ValorDescuento = 0;\r\n let ValorDescuentoBack = 0;\r\n let Dias = moment(cuotAgru.FechaVencimiento).diff(moment(new Date()), 'days')\r\n let DiasDescuento = moment(cuotAgru.FechaMaxDescuento).diff(moment(new Date()), 'days')\r\n cuotAgru.Cuotas.forEach(factura=>{\r\n Fecha = factura.FechaFactura;\r\n ValorDescuento = factura.DescuentoBack;\r\n ValorDescuentoBack = factura.DescuentoBack;\r\n });\r\n seleccionado = cuotAgru.IdsSubFactura.some(idsub => {\r\n return IdsSubFactura.includes(idsub);\r\n });\r\n\r\n if (seleccionado) {\r\n selectedRowsIndex.push(index);\r\n } \r\n \r\n if(Dias < 0 ){\r\n data.push({\r\n IsVencida:true,\r\n FechaDes: cuotAgru.FechaMaxDescuento,\r\n Cuota:{cuotAgru.NumeroCuota}, \r\n Valor: {Number(cuotAgru.Valor).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}, \r\n Factura: {cuotAgru.NumeroFactura}, \r\n FechaCreacion: {props.moment(Fecha).format(\"DD/MM/YYYY\")}, \r\n Fecha: {props.moment(cuotAgru.FechaVencimiento).format(\"DD/MM/YYYY\")}, \r\n DiasVencido: {Dias}, \r\n FechaDescuento: {props.moment(cuotAgru.FechaMaxDescuento).format(\"DD/MM/YYYY\")},\r\n ValorDescuento: {0}, \r\n DiasDescuento: {DiasDescuento}, \r\n Saldo: {Number(cuotAgru.Saldo).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}, \r\n Acciones: { props.onClick(event, cuotAgru.Cuotas) }} size={\"20px\"} />,\r\n });\r\n data.sort((a,b)=>(a.Cuota - b.Cuota));\r\n }\r\n else if(Dias >= 0 && Dias <=15)\r\n {\r\n data.push({\r\n IsVencida:false,\r\n FechaDes: cuotAgru.FechaMaxDescuento,\r\n Cuota:{cuotAgru.NumeroCuota}, \r\n Valor: {Number(cuotAgru.Valor).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}, \r\n Factura: {cuotAgru.NumeroFactura}, \r\n FechaCreacion: {props.moment(Fecha).format(\"DD/MM/YYYY\")}, \r\n Fecha: {props.moment(cuotAgru.FechaVencimiento).format(\"DD/MM/YYYY\")}, \r\n DiasVencido: {Dias}, \r\n FechaDescuento:{props.moment(cuotAgru.FechaMaxDescuento).format(\"DD/MM/YYYY\")}, \r\n ValorDescuento: {Number(ValorDescuento).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}, \r\n DiasDescuento: {Number(DiasDescuento).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}, \r\n Saldo: {Number(cuotAgru.Saldo).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}, \r\n Acciones: { props.onClick(event, cuotAgru.Cuotas) }} size={\"20px\"} />,\r\n });\r\n data.sort((a,b)=>(a.Cuota - b.Cuota));\r\n }\r\n else\r\n {\r\n data.push({\r\n IsVencida:false,\r\n FechaDes: cuotAgru.FechaMaxDescuento,\r\n Cuota: cuotAgru.NumeroCuota,\r\n Valor: Number(cuotAgru.Valor).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), \r\n Factura: cuotAgru.NumeroFactura,\r\n FechaCreacion: props.moment(Fecha).format(\"DD/MM/YYYY\"),\r\n Fecha: props.moment(cuotAgru.FechaVencimiento).format(\"DD/MM/YYYY\"),\r\n DiasVencido: Dias,\r\n FechaDescuento: props.moment(cuotAgru.FechaMaxDescuento).format(\"DD/MM/YYYY\"), \r\n ValorDescuento: Number(ValorDescuento).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n ValorDescuentoBack:Number(ValorDescuentoBack).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n DiasDescuento: Number(DiasDescuento).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Saldo: Number(cuotAgru.Saldo).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Acciones: { props.onClick(event, cuotAgru.Cuotas) }} size={\"20px\"} />,\r\n });\r\n data.sort((a,b)=>(a.Cuota - b.Cuota));\r\n } \r\n });\r\n\r\n const cuotasConNumero = data.filter(x => x.Cuota !== 0);\r\n const cuotasCero = data.filter(x => x.Cuota === 0);\r\n data = [...cuotasConNumero, ...cuotasCero];\r\n\r\n const options = {\r\n filterType: 'multiselect',\r\n isRowSelectable:(row)=>{\r\n const isVencido = localStorage.getItem('isVencido')\r\n if(isVencido==='true') return data[row].IsVencida;\r\n return true;\r\n },\r\n selectableRowsOnClick: true,\r\n selectableRows: 'multiple',\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n selectableRowsHeader: false,\r\n download: false,\r\n sort: false,\r\n pagination: false,\r\n filter: false,\r\n disableToolbarSelect: true,\r\n rowsSelected: selectedRowsIndex,\r\n search: false,\r\n viewColumns: false,\r\n customFooter: () => { },\r\n customToolbar: () => { },\r\n customToolbarSelect: () => { },\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n },\r\n onRowsSelect: (currentRowsSelected, allRowsSelected) => {\r\n let rowSeleccionada = currentRowsSelected[0];\r\n let seleccionadasActuales = allRowsSelected.map(allRowSel => allRowSel.dataIndex);\r\n let seleccionando = seleccionadasActuales.some(selRowInd => {\r\n return selRowInd === rowSeleccionada.dataIndex\r\n });\r\n if (seleccionando) {\r\n if (currentRowsSelected[0].dataIndex !== seleccionadasActuales.length - 1) {\r\n if (!clienteSeleccionado.IgnorarSecuenciaFactura) {\r\n seleccionadasActuales.pop();\r\n }\r\n } \r\n } else {\r\n if(clienteSeleccionado.IgnorarSecuenciaFactura){\r\n props.SetCuotasAPagar(seleccionadasActuales.reduce((acc, curr) => { return [...acc, ...props.CuotasAgrupadas[curr].IdsSubFactura] }, []));\r\n return;\r\n }\r\n\r\n if (currentRowsSelected[0].dataIndex !== (seleccionadasActuales.length)) {\r\n // seleccionadasActuales.pop();\r\n props.SetCuotasAPagar(props.SelectedRowsIndexXAcuerdo[props.NumeroAcuerdo]);\r\n return;\r\n // seleccionadasActuales = props.SelectedRowsIndexXAcuerdo;\r\n }\r\n }\r\n props.SetCuotasAPagar(seleccionadasActuales.reduce((acc, curr) => { return [...acc, ...props.CuotasAgrupadas[curr].IdsSubFactura] }, []));\r\n // props.SetCuotasAPagar(allRowsSelected.reduce((acc, curr) => { return [...acc, ...props.CuotasAgrupadas[curr.dataIndex].IdsSubFactura] }, []))\r\n\r\n },\r\n }\r\n\r\n if (clienteSeleccionado.IgnorarSecuenciaFactura) {\r\n delete options.isRowSelectable;\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\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n }\r\n});\r\n\r\nexport default CuotasAgrupadasExpandableRow;","import React, {\r\n // useEffect, \r\n useState\r\n} from 'react'\r\nimport MUIDataTable from 'mui-datatables'\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport CuotasAgrupadasExpandableRow from './CuotasAgrupadasExpandableRow';\r\nimport moment from 'moment';\r\nimport 'moment/locale/es';\r\nimport { Button } from '@material-ui/core';\r\nimport FacturasModal from \"components/Recibos/FacturasModal/FacturasModal\";\r\nimport CustomFooter from \"components/Recibos/Facturas/CustomFooter\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\n\r\nmoment.locale('es')\r\n\r\nconst columns = [\r\n\r\n {\r\n name: 'Numero',\r\n label: 'Numero',\r\n\r\n },\r\n {\r\n name: 'Valor',\r\n label: 'Valor',\r\n\r\n },\r\n {\r\n name: 'Disponible',\r\n label: 'Disponible',\r\n\r\n },\r\n\r\n {\r\n name: 'SaldoTotal',\r\n label: 'Saldo Total',\r\n\r\n },\r\n {\r\n name: 'ValorVencido',\r\n label: 'Vencido',\r\n\r\n },\r\n {\r\n name: 'Moneda',\r\n label: 'Moneda',\r\n\r\n },\r\n {\r\n name: '15Dias',\r\n label: 'Por Vencer(15Dias)',\r\n\r\n },\r\n]\r\n\r\nconst CuotasAgrupadasTable = props => {\r\n // let selectedRowsIndexXAcuerdo = null;\r\n const [openModal, setOpenModal] = useState(false);\r\n const [rowExpandidas, setRowExpandidas] = useState([]);\r\n const [DataModal, setDataModal] = useState([]);\r\n const [selectedRowsIndexXAcuerdo, setSelectedRowsIndexXAcuerdo] = useState(null)\r\n const data = []\r\n const options = {\r\n filterType: 'multiselect',\r\n sort: false,\r\n pagination: false,\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n filter: false,\r\n viewColumns: false,\r\n download: false,\r\n selectableRows: 'none',\r\n expandableRows: true,\r\n rowsExpanded: rowExpandidas,\r\n expandableRowsOnClick: false,\r\n customToolbar: () => { },\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage, textLabels) => {\r\n return (\r\n 0}\r\n Mostrar={true}>\r\n }\r\n />\r\n )\r\n },\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n },\r\n // onRowsSelect: (currentRowsSelected, allRowsSelected) => {\r\n // setSelectedRowsIndex(allRowsSelected.map(row => row.dataIndex))\r\n // },\r\n onRowsExpand: (currentRowsExpanded, allRowsExpanded) => {\r\n setRowExpandidas(allRowsExpanded.map(expRow => expRow.dataIndex));\r\n },\r\n renderExpandableRow: (rowData, rowMeta) => {\r\n return (\r\n { setCuotasSeleccionadas(data[rowMeta.dataIndex].Numero, newArray) }}\r\n />\r\n );\r\n },\r\n }\r\n props.Cuotas.forEach(fact => {\r\n fact.Acuerdos.forEach(acu => { \r\n let cuotasAgrupadas = [];\r\n let cuotasSinAgrupar = [];\r\n let SaldoTotal = 0;\r\n let ValorVencido= 0;\r\n let ValorMoneda = \"\";\r\n //let facturas = [];\r\n acu.Facturas.filter(f=> f.Saldo > 0).forEach(fact => {\r\n fact.Cuotas.filter(c=> c.Saldo > 0).forEach(cuot => {\r\n cuotasSinAgrupar.push(cuot)\r\n let cuotaAgrupada = cuotasAgrupadas.find(cuotAgr => cuotAgr.NumeroCuota === cuot.NumeroCuota);\r\n \r\n if (cuotaAgrupada) {\r\n cuotaAgrupada.Valor = cuot.ValorCuota;\r\n cuotaAgrupada.Saldo += cuot.Saldo;\r\n cuotaAgrupada.IdsSubFactura.push(cuot.IdSubFactura);\r\n cuotaAgrupada.Cuotas.push({ ...cuot, Factura: fact });\r\n if (cuotaAgrupada.NumeroFactura !== fact.Factura) {\r\n cuotaAgrupada.NumeroFactura = 'Varias';\r\n }\r\n } else {\r\n cuotasAgrupadas.push({\r\n NumeroCuota: cuot.NumeroCuota,\r\n NumeroFactura: fact.Factura,\r\n Valor: cuot.ValorCuota,\r\n FechaVencimiento: cuot.FechaVencimiento,\r\n FechaMaxDescuento: cuot.FechaMaxDescuento,\r\n Saldo: cuot.Saldo,\r\n IdsSubFactura: [cuot.IdSubFactura],\r\n Cuotas: [{ ...cuot, Factura: fact }]\r\n })\r\n }\r\n SaldoTotal += cuot.Saldo;\r\n ValorMoneda = cuot.IdMoneda;\r\n if (SaldoTotal > 0) {\r\n if (moment(cuot.FechaVencimiento).isBefore(moment(new Date()), 'days')) {\r\n ValorVencido += cuot.Saldo;\r\n }\r\n }\r\n // let dias = moment(cuot.FechaVencimiento).diff(moment(new Date()), 'days');\r\n // let diasDescuento = moment(cuot.FechaMaxDescuento).diff(moment(new Date()), 'days');\r\n });\r\n\r\n });\r\n // acu.CuotasAgrupadas = cuotasAgrupadas;\r\n cuotasAgrupadas.sort((a, b) => {\r\n if (a.NumeroCuota > b.NumeroCuota) {\r\n return 1;\r\n } \r\n if (a.NumeroCuota < b.NumeroCuota){\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n\r\n const cuotasConNumero = cuotasAgrupadas.filter(x => x.NumeroCuota !== 0);\r\n const cuotasCero = cuotasAgrupadas.filter(x => x.NumeroCuota === 0);\r\n cuotasAgrupadas = [...cuotasConNumero, ...cuotasCero];\r\n \r\n const Vencido = ValorVencido > 0? \"text-danger font-weight-bold\":\"inline-block\";\r\n //if (SaldoTotal > 0) {\r\n \r\n \r\n data.push({\r\n Numero: acu.Acuerdo,\r\n Valor: Number(acu.Valor).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Disponible: Number(acu.Disponible).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n SaldoTotal: Number(SaldoTotal).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n '15Dias': 0,\r\n CuotasAgrupadas: cuotasAgrupadas,\r\n ValorVencido: {(ValorVencido).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}, \r\n Moneda: ValorMoneda,\r\n // CuotasSinAgrupar :cuotasSinAgrupar,\r\n\r\n }\r\n //0 IdSubFactura: cuot.IdSubFactura,\r\n // Dias: dias,\r\n // DiasDescuento: diasDescuento,\r\n // Tipo: cuot.TipoDocumento,\r\n // Fecha: moment(fact.FechaFactura).format(\"DD/MM/YYYY\"),\r\n // FechaVencimiento: moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\"),\r\n // FechaDescuento: moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\"),\r\n // Valor: cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n // Saldo: cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n\r\n\r\n\r\n // C15Dias: fact.C15Dias.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n // Accion : ({}}\r\n // variant=\"contained\"\r\n // color=\"primary\">\r\n // Pagar\r\n // )\r\n );\r\n //}\r\n });\r\n });\r\n\r\n const OpenModal = (event, cuotas) => {\r\n event.stopPropagation();\r\n setOpenModal(true);\r\n let DataModal = [];\r\n\r\n cuotas.forEach(cuot => {\r\n let dias = moment(cuot.FechaVencimiento).diff(moment(new Date()), 'days')\r\n let diasDescuento = 0;\r\n let fechaDescuento = moment(cuot.FechaMaxDescuento);\r\n if (fechaDescuento.isValid()) {\r\n diasDescuento = moment(cuot.FechaMaxDescuento).diff(moment(new Date()), 'days');\r\n }\r\n DataModal.push({\r\n NumeroFactura: cuot.Factura.Factura,\r\n NumeroFEL: cuot.NumeroFEL,\r\n Dias: dias,\r\n DiasDescuento: diasDescuento,\r\n Tipo: cuot.TipoDocumento,\r\n Fecha: moment(cuot.Factura.FechaFactura).format(\"DD/MM/YYYY\"),\r\n Vencimiento: moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\"),\r\n FechaDescuento: fechaDescuento.isValid() ? fechaDescuento.format(\"DD/MM/YYYY\") : \"\",\r\n Valor: cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Saldo: cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n // C15Dias: fact.C15Dias.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n\r\n }\r\n )\r\n });\r\n\r\n\r\n /* DataModal.push({\r\n Tipo: 'Factura [D-P]',\r\n NumeroFactura: '2',\r\n Fecha: '18/10/2019',\r\n Vencimiento: '31/12/2019',\r\n Dias: '-13',\r\n FechaDescuento: '16/12/2019',\r\n DiasDescuento: '-28',\r\n Valor: '696,969.00',\r\n Saldo: '323,886.00',\r\n\r\n });\r\n */\r\n setDataModal(DataModal);\r\n }\r\n\r\n const IdsSubFacturaArray = () => {\r\n if (!selectedRowsIndexXAcuerdo) {\r\n return [];\r\n }\r\n let array = [];\r\n Object.values(selectedRowsIndexXAcuerdo).forEach(val => {\r\n if (array.length === 0) {\r\n array = [...array.concat(val)];\r\n }\r\n else {\r\n if (val.length !== 0) {\r\n array = null;\r\n }\r\n }\r\n });\r\n return array;\r\n }\r\n const setCuotasAPagar = () => {\r\n\r\n let array = IdsSubFacturaArray();\r\n\r\n if (array) {\r\n if (array.length !== 0) {\r\n props.SetCuotasAPagar(array);\r\n }\r\n else {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Seleccione 1 acuerdo\",\r\n type: 'error',\r\n confirmButtonText: 'ok',\r\n })\r\n }\r\n }\r\n else {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Solo puede pagar 1 acuerdo a la vez\",\r\n type: 'error',\r\n confirmButtonText: 'ok',\r\n })\r\n }\r\n\r\n }\r\n const setCuotasSeleccionadas = (idAcuerdo, newArray) => {\r\n let newSelectedRowsIndexXAcuerdo = {};\r\n if (selectedRowsIndexXAcuerdo) {\r\n newSelectedRowsIndexXAcuerdo = { ...selectedRowsIndexXAcuerdo };\r\n }\r\n newSelectedRowsIndexXAcuerdo[idAcuerdo] = newArray;\r\n setSelectedRowsIndexXAcuerdo(newSelectedRowsIndexXAcuerdo);\r\n // selectedRowsIndexXAcuerdo = newSelectedRowsIndexXAcuerdo;\r\n \r\n // IdsSubFacturaArray().length > 0)\r\n // let cuotasAPagar = [];\r\n // selectedRowsIndex.forEach(selRowsIndex => {\r\n // cuotasAPagar.push(data[selRowsIndex].IdSubFactura)\r\n // //cuotasAPagar.push(cuotas[selRowsIndex])\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\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n }\r\n});\r\n\r\nexport default CuotasAgrupadasTable;\r\n\r\n\r\n\r\nconst BotonPagar = (props) => {\r\n // let mostrar = props.SelectedRowsIndexXAcuerdo && (Object.values(props.SelectedRowsIndexXAcuerdo).some(val => val.length > 0));\r\n if (true) {\r\n\r\n return (\r\n Pagar\r\n)\r\n }\r\n return null;\r\n}","import React, {\r\n // useEffect,\r\n // useStates\r\n} from 'react'\r\nimport MUIDataTable from 'mui-datatables'\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport moment from 'moment';\r\nimport 'moment/locale/es';\r\n// import {\r\n// Button\r\n// } from '@material-ui/core';\r\n\r\nmoment.locale('es')\r\n\r\nconst columns = [\r\n\r\n {\r\n name: 'Tipo',\r\n label: 'Tipo',\r\n },\r\n {\r\n name: 'Factura',\r\n label: 'Factura',\r\n\r\n },\r\n {\r\n name: 'NumeroFEL',\r\n label: 'Numero FEL',\r\n options:{display: localStorage.getItem('empresa')==='IMGT'},\r\n },\r\n {\r\n name: 'Fecha',\r\n label: 'Fecha',\r\n options:{\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n moment(value).format(\"DD/MM/YYYY\")\r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: 'FechaVencimiento',\r\n label: 'Vencimiento',\r\n\r\n },\r\n {\r\n name: 'Dias',\r\n label: 'Dias',\r\n\r\n },\r\n {\r\n name: 'FechaDescuento',\r\n label: 'Fecha Descuento',\r\n },\r\n {\r\n name: 'DiasDescuento',\r\n label: 'Dias Descuento',\r\n },\r\n {\r\n name: 'Valor',\r\n label: 'Valor',\r\n },\r\n {\r\n name: 'ValorDescuento',\r\n label: 'Valor Descuento',\r\n },\r\n {\r\n name: 'Saldo',\r\n label: 'Saldo',\r\n },\r\n {\r\n name: 'DescuentoAplicado',\r\n label: 'Descuento Aplicado',\r\n },\r\n {\r\n name: 'APagar',\r\n label: 'A Pagar',\r\n },\r\n {\r\n name: 'Aplicado',\r\n label: 'Aplicado',\r\n\r\n },\r\n {\r\n name: 'Moneda',\r\n label: 'Moneda',\r\n }\r\n]\r\n\r\nconst CuotasACancelarTable = props => {\r\n const options = {\r\n filterType: 'false',\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n pagination: false,\r\n sortFilterList: false,\r\n sort: false,\r\n filter: false,\r\n search: false,\r\n viewColumns: false,\r\n selectableRows: 'none',\r\n // rowsSelected: selectedRowsIndex,\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado data\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n },\r\n }\r\n \r\n // eslint-disable-next-line\r\n props.CuotasSinAgruparACancelar.sort((a,b)=>{\r\n if (moment(a[4], \"DD/MM/YYYY\").isSame(moment(b[4], \"DD/MM/YYYY\"), 'day')) {\r\n return (a[1]\r\n \r\n \r\n )\r\n}\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n }\r\n});\r\n\r\nexport default CuotasACancelarTable","import React, {\r\n useEffect,\r\n useState\r\n} from 'react'\r\nimport MUIDataTable from 'mui-datatables'\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport moment from 'moment';\r\nimport 'moment/locale/es';\r\n// import { Button } from '@material-ui/core';\r\n\r\nmoment.locale('es')\r\n\r\nconst columns = [\r\n\r\n {\r\n name: 'Tipo',\r\n label: 'Tipo',\r\n },\r\n\r\n {\r\n name: 'Saldo',\r\n label: 'Saldo',\r\n }\r\n]\r\n\r\nconst CuotasAgrupadasACancelarTable = props => {\r\n const [selectedRowsIndex, setSelectedRowsIndex] = useState([])\r\n const [cuotasAgrupadas, setCuotasAgrupadas] = useState(new Map())\r\n useEffect(() => {\r\n let cuotasMap = new Map();\r\n props.Cuotas.forEach(cuota => {\r\n cuota.Acuerdos.forEach(acu => {\r\n acu.Facturas.forEach(fact => {\r\n fact.Cuotas.forEach(cuot => {\r\n if (props.CuotasAPagar.includes(cuot.IdSubFactura)) {\r\n if (cuotasMap.has(fact.LineaString)) {\r\n let agrupacionFactura = cuotasMap.get(fact.LineaString);\r\n agrupacionFactura.Saldo += Number(cuot.Saldo);\r\n agrupacionFactura.Cuotas.push(cuot);\r\n cuotasMap.set(fact.LineaString, agrupacionFactura)\r\n } else {\r\n let agrupacionFacturas = {\r\n Tipo: cuot.TipoDocumento,\r\n Saldo: Number(cuot.Saldo),\r\n Cuotas: [cuot]\r\n }\r\n cuotasMap.set(fact.LineaString, agrupacionFacturas)\r\n }\r\n }\r\n });\r\n });\r\n });\r\n });\r\n setCuotasAgrupadas(cuotasMap);\r\n // eslint-disable-next-line\r\n }, [props.CuotasAPagar]);\r\n const data = []\r\n const options = {\r\n sort: false,\r\n filterType: 'false',\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n pagination: false,\r\n sortFilterList: false,\r\n filter: false,\r\n search: false,\r\n viewColumns: false,\r\n selectableRows: 'none',\r\n selectableRowsOnClick: true,\r\n rowsSelected: selectedRowsIndex,\r\n customToolbarSelect: () => { },\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n },\r\n onRowsSelect: (currentRowsSelected, allRowsSelected) => {\r\n let allRowsSelectedIndex = allRowsSelected.map(row => row.dataIndex);\r\n setSelectedRowsIndex(allRowsSelectedIndex)\r\n setLineasfiltradas(allRowsSelectedIndex);\r\n // setSelectedRowsIndex(currentRowsSelected);\r\n }\r\n }\r\n let saldoTotal = 0;\r\n if(props.PedidoSelected!== null){\r\n saldoTotal = props.PedidoSelected.TotalPedido\r\n }\r\n else{\r\n for (let [key, value] of cuotasAgrupadas) {\r\n data.push([key, numberWithCommas(Number(value.Saldo))]);\r\n saldoTotal += Number(value.Saldo);\r\n }\r\n\r\n }\r\n let acumulado = props.Acumulado();\r\n ///let faltante = Number(saldoTotal) -(Number(acumulado) + Number(props.DescuentoAplicado));\r\n let ValorPagos = localStorage.getItem('isAnticipo') === 'true'? Number(saldoTotal) : props.ValorPagos\r\n let faltante = props.DescuentoAplicado === 0 ? Number(ValorPagos) - (Number(acumulado) + Number(props.DescuentoAplicado)): Number(ValorPagos) - Number(acumulado);\r\n \r\n localStorage.setItem('Faltante', faltante);\r\n localStorage.setItem('TotalRecibo', ValorPagos);\r\n data.push([(
    Valor en Facturas
    ), numberWithCommas(Number(saldoTotal))]);\r\n data.push([(
    Descuento en Facturas
    ), numberWithCommas(Number(\"-\" + props.Descuento))]);\r\n data.push([(
    Valor a pagar
    ), numberWithCommas(Number(ValorPagos))]);\r\n data.push([(
    Pago Aplicado
    ), numberWithCommas(Number(acumulado))]);\r\n data.push([(
    Descuento aplicado
    ), numberWithCommas(Number(\"-\" + props.DescuentoAplicado))]);\r\n data.push([(
    Pendiente a Pagar
    ), numberWithCommas(Number(faltante))]);\r\n const setLineasfiltradas = (allRowsSelectedIndex) => {\r\n let lineasFiltradas = [];\r\n allRowsSelectedIndex.forEach(selRowsIndex => {\r\n lineasFiltradas.push(data[selRowsIndex][0]);\r\n })\r\n props.SetLineasfiltradas(lineasFiltradas)\r\n }\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n }\r\n});\r\n\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\nexport default CuotasAgrupadasACancelarTable","import React, {\r\n // useEffect, \r\n // useState\r\n} from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport moment from 'moment';\r\nimport 'moment/locale/es';\r\nconst columns = [\r\n\r\n {\r\n name: 'Cuota',\r\n label: 'Cuota',\r\n },\r\n {\r\n name: 'Factura',\r\n label: 'Factura',\r\n },\r\n {\r\n name: 'NumeroFEL',\r\n label: 'Numero FEL',\r\n options:{display: localStorage.getItem('empresa')==='IMGT'},\r\n },\r\n {\r\n name: 'Fecha',\r\n label: 'Fecha',\r\n },\r\n {\r\n name: 'FechaDescuento',\r\n label: 'Fecha Descuento',\r\n },\r\n {\r\n name: 'Moneda',\r\n label: 'Moneda',\r\n },\r\n {\r\n name: 'Valor',\r\n label: 'Valor Cuota',\r\n },\r\n {\r\n name: 'ValorDescuento',\r\n label: 'Valor Descuento',\r\n },\r\n\r\n {\r\n name: 'Saldo',\r\n label: 'Saldo',\r\n },\r\n {\r\n name: 'DescuentoAplicado',\r\n label: 'Descuento Aplicado',\r\n },\r\n {\r\n name: 'APagar',\r\n label: 'A Pagar',\r\n },\r\n {\r\n name: 'PagoAplicado',\r\n label: 'Aplicado',\r\n },\r\n {\r\n name: 'Acciones',\r\n label: 'Acciones',\r\n },\r\n]\r\n\r\nconst CuotasACancelarAgrupadasTable = (props) => {\r\n let selectedRowsIndex = [];\r\n\r\n\r\n const getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n }\r\n });\r\n\r\n // eslint-disable-next-line\r\n props.CuotasAgrupadas.sort((a,b)=>{\r\n if (moment(a[3], \"DD/MM/YYYY\").isSame(moment(b[3], \"DD/MM/YYYY\"), 'day')) {\r\n return (a[1] { },\r\n customToolbar: () => { },\r\n customToolbarSelect: () => { },\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pĆ”gina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n },\r\n\r\n }\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\nexport default CuotasACancelarAgrupadasTable;","import React, { useState } from 'react';\r\nimport { TextField } from '@material-ui/core';\r\n\r\n/*import Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss';*/\r\n\r\nconst InputPago = (props) => {\r\n const [value, setValue] = useState(props.valor);\r\n let error = false;\r\n /*let faltante = localStorage.getItem('Faltante');\r\n let TotalRecibo = localStorage.getItem('TotalRecibo');*/\r\n\r\n\r\n return (\r\n {\r\n let val = event.target.value;\r\n /*let falt = parseFloat(faltante);\r\n let inputVal = parseFloat(event.target.value);*/\r\n\r\n setValue(val);\r\n \r\n /*console.log('props.indexArray :', props.indexArray);\r\n if(localStorage.getItem('isAnticipo')==='true'){\r\n val = event.target.value;\r\n setValue(val);\r\n }else{\r\n if (event.target.value !== '') {\r\n if (props.indexArray === 0) {\r\n if (TotalRecibo >= inputVal) {\r\n val = event.target.value;\r\n }\r\n else {\r\n error = true;\r\n }\r\n }\r\n else {\r\n if (falt >= inputVal) {\r\n val = event.target.value;\r\n error = false;\r\n }\r\n else {\r\n error = true;\r\n }\r\n }\r\n \r\n console.log('error :', error);\r\n \r\n if (error) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"El valor es excede el total de factura\",\r\n type: 'error',\r\n });\r\n }\r\n }\r\n else {\r\n error = false;\r\n }\r\n setValue(val);\r\n }*/\r\n }}\r\n onBlur={() => {\r\n let val = value;\r\n if (error) {\r\n val = '';\r\n }\r\n\r\n props.OnpagosXReciboChange(\r\n props.indexArray,\r\n {\r\n indexTiposPago: props.indexTiposPago,\r\n indexTiposdePagoDetalle: props.indexTiposdePagoDetalle,\r\n fecha: props.fecha,\r\n valor: val,\r\n indexMoneda: props.indexMoneda,\r\n indexBanco: props.indexBanco,\r\n referencia: props.referencia\r\n }\r\n );\r\n\r\n }}\r\n />\r\n )\r\n}\r\n\r\nexport default InputPago;","import React, { useEffect } from 'react'\r\nimport MUIDataTable from 'mui-datatables'\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport moment from 'moment';\r\nimport 'moment/locale/es';\r\nimport { Button } from '@material-ui/core';\r\nimport Select from '@material-ui/core/Select';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport TextField from '@material-ui/core/TextField';\r\n//import AddCircleOutlineIcon from '@material-ui/icons/AddCircleOutline';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport DeleteForeverIcon from '@material-ui/icons/DeleteForever';\r\nimport InputPago from './InputPagoReciboTable';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nmoment.locale('es')\r\n\r\nconst columns = [\r\n {\r\n name: 'TipoPago',\r\n label: 'Tipo Pago',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'EspecificacionPago',\r\n label: 'EspecificacionPago',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Fecha',\r\n label: 'Fecha',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Valor',\r\n label: 'Valor',\r\n options: {\r\n filter: true,\r\n sort: false\r\n }\r\n },\r\n {\r\n name: 'Moneda',\r\n label: 'Moneda',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Banco',\r\n label: 'Banco',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Referencia',\r\n label: 'Referencia',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n // name: 'TipoPago',\r\n label: 'Acciones',\r\n options: {\r\n filter: false,\r\n sort: false\r\n }\r\n },\r\n];\r\n\r\n\r\nconst PagoReciboTable = (props) => {\r\n const options = {\r\n filterType: 'false',\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n pagination: false,\r\n sortFilterList: false,\r\n filter: false,\r\n search: false,\r\n viewColumns: false,\r\n selectableRows: 'none',\r\n // rowsSelected: selectedRowsIndex,\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pĆ”gina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n },\r\n // onRowsSelect: (currentRowsSelected, allRowsSelected) => {\r\n // setSelectedRowsIndex(allRowsSelected.map(row => row.dataIndex))\r\n // }\r\n }\r\n\r\n const cancelarReinicio = e => {\r\n if (e.which === 116) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n window.addEventListener('keydown', cancelarReinicio);\r\n return () => {\r\n window.removeEventListener('keydown', cancelarReinicio);\r\n }\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const Validaciones = () => {\r\n if (props.Pedido !== null && localStorage.getItem('Faltante') !== '0') {\r\n props.showAlert(true, 'El valor de pago tiene que ser igual al valor del pedido seleccionado');\r\n return;\r\n }\r\n else {\r\n props.setHabilitado(true);\r\n props.EnviarRecibo()\r\n }\r\n };\r\n const validacionFechaPago = (indexTiposPago, indexTiposdePagoDetalle, fecha, indexArray, indexBanco, referencia) => {\r\n /*\r\n 0 Cheque [0=Cheque al dia,1=Cheque posfechado]\r\n 1 Deposito [0=Cheque al dia,1=Deduccion,2=Deposito con efectivo,3=Transferencia]\r\n 2 Efectivo [0=Efectivo]\r\n 3 Letra Cambio [0=Efectivo,1=Transferencia]\r\n 4 Tarjeta de credito [0=Tarjeta de credito]\r\n */\r\n if (fecha !== undefined) {\r\n\r\n const isCheque = indexTiposPago === 0;\r\n const isDeposito = indexTiposPago === 1;\r\n const isEfectivo = indexTiposPago === 2;\r\n const isLetraCambio = indexTiposPago === 3;\r\n const isTarjeta = indexTiposPago === 4;\r\n\r\n const fechaActual = new Date().setHours(0, 0, 0, 0);\r\n const fechaRecibida = new Date(fecha).setHours(0, 0, 0, 0);\r\n\r\n if (isEfectivo) {\r\n if (fechaRecibida > fechaActual) {\r\n props.showAlert(true, 'Efectivo: La fecha de pago no puede ser mayor que la fecha actual');\r\n return;\r\n }\r\n\r\n if (fechaRecibida < fechaActual) {\r\n props.showAlert(true, 'Efectivo: La fecha de pago no puede ser menor que la fecha actual');\r\n return;\r\n }\r\n\r\n if (indexTiposdePagoDetalle === null || indexTiposdePagoDetalle === undefined || indexTiposdePagoDetalle !== 0) {\r\n props.showAlert(true, 'Especificacion de Pago: El Campo Especificacion de pago no debe ir vacio');\r\n return;\r\n }\r\n props.ConfirmEditarPago(indexArray);\r\n props.setHabilitado(false);\r\n }\r\n if (isTarjeta) {\r\n if (fechaRecibida > fechaActual) {\r\n props.showAlert(true, 'Tarjeta: La fecha de pago no puede ser mayor que la fecha actual');\r\n return;\r\n }\r\n\r\n else if (indexBanco === null || indexBanco === undefined) {\r\n props.showAlert(true, 'Tarjeta: El Campo Banco no debe ir vacio');\r\n return;\r\n }\r\n else if (referencia === \"\" || referencia === undefined) {\r\n props.showAlert(true, 'Tarjeta: La referencia no debe ir vacia');\r\n return;\r\n }\r\n\r\n if (indexTiposdePagoDetalle === null || indexTiposdePagoDetalle === undefined || indexTiposdePagoDetalle > 1) {\r\n props.showAlert(true, 'Especificacion de Pago: El Campo Especificacion de pago no debe ir vacio');\r\n return;\r\n }\r\n\r\n props.ConfirmEditarPago(indexArray);\r\n props.setHabilitado(false);\r\n }\r\n if (isCheque) {\r\n const isPosfechado = indexTiposdePagoDetalle === 1;\r\n const isAlDia = indexTiposdePagoDetalle === 0;\r\n if (isPosfechado) {\r\n if (fechaActual > fechaRecibida || fechaActual === fechaRecibida) {\r\n props.showAlert(true, 'Posfechado: La fecha de pago debe ser mayor que la fecha actual');\r\n return;\r\n }\r\n else if (indexBanco === null || indexBanco === undefined) {\r\n props.showAlert(true, 'Posfechado: El Campo Banco no debe ir vacio');\r\n return;\r\n }\r\n else if (referencia === \"\" || referencia === undefined) {\r\n props.showAlert(true, 'Posfechado: La referencia no debe ir vacia');\r\n return;\r\n }\r\n\r\n for (let fac of props.facturas) {\r\n const fechaParseada = moment(fac[4], 'DD/MM/YYYY');\r\n const fechaPago = moment(fechaRecibida);\r\n\r\n if (fechaPago.isAfter(fechaParseada)) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: `Avocarse con el departamento de crĆ©dito ya que la programaciĆ³n del cheque esta fuera del plazo de crĆ©dito establecido`,\r\n type: 'error',\r\n });\r\n\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if (isAlDia) {\r\n if (fechaRecibida > fechaActual) {\r\n props.showAlert(true, 'Cheque al dia: La fecha de pago no puede ser mayor que la fecha actual');\r\n return;\r\n }\r\n\r\n if (fechaRecibida < fechaActual) {\r\n props.showAlert(true, 'Cheque al dia: La fecha de pago no puede ser menor que la fecha actual');\r\n return;\r\n }\r\n else if (indexBanco === null || indexBanco === undefined) {\r\n props.showAlert(true, 'Cheque al dia: El Campo Banco no debe ir vacio');\r\n return;\r\n }\r\n else if (referencia === \"\" || referencia === undefined) {\r\n props.showAlert(true, 'Cheque al dia: La referencia no debe ir vacia');\r\n return;\r\n }\r\n }\r\n\r\n if (indexTiposdePagoDetalle === null || indexTiposdePagoDetalle === undefined || indexTiposdePagoDetalle > 1) {\r\n props.showAlert(true, 'Especificacion de Pago: El Campo Especificacion de pago no debe ir vacio');\r\n return;\r\n }\r\n props.ConfirmEditarPago(indexArray);\r\n props.setHabilitado(false);\r\n }\r\n if (isDeposito) {\r\n const isChequeDia = indexTiposdePagoDetalle === 0;\r\n const isDeduccion = indexTiposdePagoDetalle === 1;\r\n const isDepositoe = indexTiposdePagoDetalle === 2;\r\n const isTransferencia = indexTiposdePagoDetalle === 3;\r\n if (isChequeDia || isDepositoe || isTransferencia || isDeduccion) {\r\n if (fechaRecibida > fechaActual) {\r\n props.showAlert(true, 'Deposito: La fecha de pago no debe ser mayor que la fecha actual');\r\n return;\r\n }\r\n else if (indexBanco === null || indexBanco === undefined) {\r\n props.showAlert(true, 'Deposito: El Campo Banco no debe ir vacio');\r\n return;\r\n }\r\n else if (referencia === \"\" || referencia === undefined) {\r\n props.showAlert(true, 'Deposito: La referencia no debe ir vacia');\r\n return;\r\n }\r\n props.ConfirmEditarPago(indexArray);\r\n props.setHabilitado(false);\r\n }\r\n props.ConfirmEditarPago(indexArray);\r\n props.setHabilitado(false);\r\n }\r\n if (isLetraCambio) {\r\n if (fechaRecibida > fechaActual) {\r\n props.showAlert(true, 'Letra Cambio: La fecha de pago no debe ser mayor que la fecha actual');\r\n return;\r\n }\r\n else if (indexBanco === null || indexBanco === undefined) {\r\n props.showAlert(true, 'Letra Cambio: El Campo Banco no debe ir vacio');\r\n return;\r\n }\r\n else if (referencia === \"\" || referencia === undefined) {\r\n props.showAlert(true, 'Letra Cambio: La referencia no debe ir vacia');\r\n return;\r\n }\r\n props.ConfirmEditarPago(indexArray);\r\n props.setHabilitado(false);\r\n }\r\n }\r\n }\r\n\r\n const validacionDatosRecibo = (indexTiposPago, indexTiposdePagoDetalle, fecha, indexArray, valor, indexBanco, referencia, indexMoneda) => {\r\n const TotalRecibo = parseFloat(localStorage.getItem('TotalRecibo'));\r\n const TotalCredito = parseFloat(localStorage.getItem('totalCredito')).toFixed(2);\r\n const notTotal = TotalRecibo.toFixed(2) !== TotalCredito;\r\n const isNotAnticipo = localStorage.getItem('isAnticipo') === 'false';\r\n\r\n localStorage.setItem(\"saldoFavor\", 0);\r\n\r\n if (valor > TotalRecibo && notTotal && isNotAnticipo) {\r\n const diferencia = (valor - TotalRecibo).toFixed(2);\r\n Swal.fire({\r\n title: 'Error',\r\n text: `El valor ingresado excede el total de factura.\r\n Por favor seleccione otra factura para abonar la diferencia de ${diferencia}`,\r\n type: 'error',\r\n });\r\n return;\r\n }\r\n\r\n const diferencia = (valor - TotalRecibo).toFixed(2);\r\n const difTotal = diferencia > 0 ? diferencia : 0;\r\n localStorage.setItem(\"saldoFavor\", difTotal);\r\n\r\n if (isNaN(valor) || valor === \"\") {\r\n props.showAlert(true, 'El valor de pago tiene que ser un numero y no contener espacios');\r\n return;\r\n }\r\n\r\n if (indexMoneda === 2 || indexMoneda === undefined || indexMoneda === null) {\r\n props.showAlert(true, 'El campo moneda no puede ir vacio');\r\n return;\r\n }\r\n\r\n if (valor === \"0\" || valor === 0) {\r\n props.showAlert(true, 'El valor de pago no puede ser igual a cero');\r\n return;\r\n }\r\n\r\n validacionFechaPago(indexTiposPago, indexTiposdePagoDetalle, fecha, indexArray, indexBanco, referencia);\r\n }\r\n\r\n const arrayPagoRecibo = (indexTiposPago, indexTiposdePagoDetalle, fecha, valor, indexMoneda, indexBanco, referencia, indexArray) => {\r\n\r\n return [\r\n props.TiposPago[indexTiposPago] ? props.TiposPago[indexTiposPago].Descripcion : '',\r\n props.TiposPago[indexTiposPago] ? (props.TiposPago[indexTiposPago].TiposdePagoDetalle[indexTiposdePagoDetalle] ? props.TiposPago[indexTiposPago].TiposdePagoDetalle[indexTiposdePagoDetalle].Descripcion : '') : '',\r\n moment(fecha).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(fecha).format('DD/MM/YYYY') : \"\",\r\n Number(valor).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n props.Monedas[indexMoneda] ? props.Monedas[indexMoneda].Moneda : '',\r\n props.Bancos[indexBanco] ? props.Bancos[indexBanco].NombreBanco : '',\r\n referencia,\r\n (
    \r\n \r\n \r\n
    ),\r\n ]\r\n };\r\n const editarArrayPagoRecibo = (indexTiposPago, indexTiposdePagoDetalle, fecha, valor, indexMoneda, indexBanco, referencia, indexArray) => {\r\n\r\n return [\r\n // pagXRec.TipoPago,\r\n // pagXRec.Fecha,\r\n // pagXRec.Referencia,\r\n // pagXRec.Banco,\r\n // pagXRec.Valor,\r\n // TipoPago : '',\r\n // Fecha : '',\r\n // Referencia : '',\r\n // Banco : '',\r\n // Valor : '',\r\n\r\n ( {\r\n props.OnpagosXReciboChange(\r\n indexArray,\r\n {\r\n indexTiposPago: event.target.value,\r\n indexTiposdePagoDetalle: indexTiposdePagoDetalle,\r\n fecha: fecha,\r\n valor: valor,\r\n indexMoneda: indexMoneda,\r\n indexBanco: indexBanco,\r\n referencia: referencia\r\n }\r\n );\r\n }}\r\n // onChange={handleChange}\r\n >\r\n {\r\n props.TiposPago.map((tipPag, index) => {\r\n return (\r\n {tipPag.Descripcion}\r\n )\r\n })\r\n }\r\n {/* Twenty */}\r\n {/* Thirty */}\r\n ),\r\n ( {\r\n props.OnpagosXReciboChange(\r\n indexArray,\r\n {\r\n indexTiposPago: indexTiposPago,\r\n indexTiposdePagoDetalle: event.target.value,\r\n fecha: fecha,\r\n valor: valor,\r\n indexMoneda: indexMoneda,\r\n indexBanco: indexBanco,\r\n referencia: referencia\r\n }\r\n );\r\n }}\r\n // onChange={handleChange}\r\n >\r\n {\r\n !props.TiposPago[indexTiposPago] ? [] : props.TiposPago[indexTiposPago].TiposdePagoDetalle.map((tipPagDet, index) => {\r\n return (\r\n {tipPagDet.Descripcion}\r\n )\r\n })\r\n }\r\n {/* Twenty */}\r\n {/* Thirty */}\r\n ),\r\n ( {\r\n\r\n props.OnpagosXReciboChange(\r\n indexArray,\r\n {\r\n indexTiposPago: indexTiposPago,\r\n indexTiposdePagoDetalle: indexTiposdePagoDetalle,\r\n fecha: moment(date).toDate(),\r\n valor: valor,\r\n indexMoneda: indexMoneda,\r\n indexBanco: indexBanco,\r\n referencia: referencia\r\n })\r\n }}\r\n // onError={(error) => onErrorDate(error)}\r\n // onAccept={(date) => onAcceptDate(date)}\r\n // maxDateMessage={(props.coleccion.ColeccionTipo === \"F\") ? \"La fecha es menor que la fecha final de entrega\" : \"Fecha no es vƔlida\"}\r\n // minDateMessage={(props.coleccion.ColeccionTipo === \"F\") ? \"La fecha es menor que la fecha inicial de entrega\" : \"Fecha no es vƔlida\"}\r\n // value={fechaRecibo}\r\n // minDate={(props.coleccion.ColeccionTipo === \"F\") ? moment(props.coleccion.EntregaInicio).toDate() : moment().toDate()}\r\n // maxDate={(props.coleccion.ColeccionTipo === \"F\") ? moment(props.coleccion.EntregaFinal).toDate() : moment('2100-01-01').toDate()}\r\n // onChange={(date) => setFechaRecibo(date)}\r\n />),\r\n (\r\n \r\n ),\r\n ( {\r\n props.OnpagosXReciboChange(\r\n indexArray,\r\n {\r\n indexTiposPago: indexTiposPago,\r\n indexTiposdePagoDetalle: indexTiposdePagoDetalle,\r\n fecha: fecha,\r\n valor: valor,\r\n indexMoneda: event.target.value,\r\n indexBanco: indexBanco,\r\n referencia: referencia\r\n }\r\n );\r\n }}\r\n // onChange={handleChange}\r\n >\r\n {\r\n props.Monedas.map((mon, index) => {\r\n return (\r\n {mon.Moneda}\r\n )\r\n })\r\n }\r\n {/* Twenty */}\r\n {/* Thirty */}\r\n ),\r\n ( {\r\n props.OnpagosXReciboChange(\r\n indexArray,\r\n {\r\n indexTiposPago: indexTiposPago,\r\n indexTiposdePagoDetalle: indexTiposdePagoDetalle,\r\n fecha: fecha,\r\n valor: valor,\r\n indexMoneda: indexMoneda,\r\n indexBanco: event.target.value,\r\n referencia: referencia\r\n }\r\n );\r\n }}\r\n // onChange={handleChange}\r\n >\r\n {\r\n props.Bancos.map((ban, index) => {\r\n return (\r\n {ban.NombreBanco}\r\n )\r\n })\r\n }\r\n {/* Twenty */}\r\n {/* Thirty */}\r\n ),\r\n ( {\r\n props.OnpagosXReciboChange(\r\n indexArray,\r\n {\r\n indexTiposPago: indexTiposPago,\r\n indexTiposdePagoDetalle: indexTiposdePagoDetalle,\r\n fecha: fecha,\r\n valor: valor,\r\n indexMoneda: indexMoneda,\r\n indexBanco: indexBanco,\r\n referencia: event.target.value\r\n }\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 data = [];\r\n // data.push(editarArrayPagoRecibo(2, 0, null, null, 2, null, null));\r\n props.PagosXRecibo.forEach((pagXRec, index) => {\r\n if (pagXRec.Editar) {\r\n data.push(\r\n editarArrayPagoRecibo(pagXRec.indexTiposPago, pagXRec.indexTiposdePagoDetalle, pagXRec.fecha, pagXRec.valor, pagXRec.indexMoneda, pagXRec.indexBanco, pagXRec.referencia, index)\r\n );\r\n } else {\r\n data.push(arrayPagoRecibo(pagXRec.indexTiposPago, pagXRec.indexTiposdePagoDetalle, pagXRec.fecha, pagXRec.valor, pagXRec.indexMoneda, pagXRec.indexBanco, pagXRec.referencia, index));\r\n }\r\n\r\n });\r\n data.push([\r\n null, null, null, null, null, null, null,\r\n (\r\n
    \r\n {/* (localStorage.getItem('isAnticipo')==='false' || props.Pedido !== null) &&\r\n {/*{props.OnAddPagoXRecibo(); setHabilitado(true);}}\r\n >\r\n \r\n }*/\r\n }\r\n { Validaciones(); }}\r\n variant=\"contained\"\r\n disabled={props.habilitado}\r\n color=\"primary\">\r\n Pagar\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\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n }\r\n});\r\n\r\nexport default PagoReciboTable;","import React, {\r\n useState\r\n } from 'react'\r\nimport { Dialog, DialogActions, DialogContent, DialogTitle, Button } from '@material-ui/core';\r\nimport MUIDataTable from 'mui-datatables'\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport {useDispatch} from 'react-redux';\r\n\r\n\r\nconst PedidosModal = (props) => {\r\n const dispatch = useDispatch();\r\n const [selectedRowsIndex, setSelectedRowsIndex] = useState([])\r\n const columns = [\r\n\r\n {\r\n name: 'PedidoId',\r\n label: 'Numero Pedido',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Fecha',\r\n label: 'Fecha',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'FechaEntrega',\r\n label: 'Fecha Entrega',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'CodigoPaquete',\r\n label: 'Codigo Paquete',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Paquete',\r\n label: 'Paquete',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'TotalPedido',\r\n label: 'Total Pedido',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n }\r\n ]\r\n\r\n\r\n const options = {\r\n selection: true,\r\n //filterType: 'multiselect',\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n pagination: false,\r\n sortFilterList: false,\r\n filter: false,\r\n search: false,\r\n viewColumns: false,\r\n selectableRows:'single',\r\n //selectableRows: 'none',\r\n selectableRowsOnClick: true,\r\n rowSelection : 'single',\r\n rowsSelected: selectedRowsIndex,\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n }, \r\n customToolbarSelect: () => {\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\n
    \r\n )\r\n },\r\n onRowsSelect: (currentRowsSelected, allRowsSelected) => {\r\n setSelectedRowsIndex(allRowsSelected.map(row => row.dataIndex))\r\n }\r\n }\r\n\r\nconst ValorApagar = () => {\r\n let ValoresAPagar = []; \r\n selectedRowsIndex.forEach(selRowsIndex => {\r\n let select = props.Data.find(element => element.PedidoId === props.Data[selRowsIndex].PedidoId);\r\n if (select) {\r\n dispatch({type:'store_pedidoselected',payload:select}) \r\n ValoresAPagar.push(select);\r\n }\r\n })\r\n props.onClose(false)\r\n }\r\n let Disable = selectedRowsIndex.length > 0 ? false : true;\r\n return (\r\n <>\r\n props.onClose(false)}>\r\n \r\n
    \r\n Pedidos\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n }\r\n});\r\n\r\nexport default PedidosModal;","import React, { useEffect, useState } from 'react';\r\n//import { Dropdown } from \"semantic-ui-react\";\r\nimport CuotasACancelarTable from 'components/Recibos/Facturas/CuotasACancelarTable';\r\nimport CuotasAgrupadasACancelarTable from 'components/Recibos/Facturas/CuotasAgrupadasACancelarTable';\r\nimport CuotasACancelarAgrupadasTable from 'components/Recibos/Facturas/CuotasACancelarAgrupadasTable';\r\nimport PagoReciboTable from 'components/Recibos/Recibo/PagoReciboTable';\r\nimport FacturasModal from \"components/Recibos/FacturasModal/FacturasModal\";\r\nimport PedidosModal from \"components/Recibos/Recibo/PedidosModal\";\r\nimport { Card } from '@material-ui/core';\r\nimport moment from 'moment';\r\nimport 'moment/locale/es';\r\nimport { Button } from '@material-ui/core';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { FaEye } from \"react-icons/fa\";\r\nimport MySnackbarContentWrapper from 'components/Global/snackbar';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\nimport {useSelector, useDispatch} from 'react-redux';\r\nimport { verificarConexion } from 'utils/http';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport axios from 'axios';\r\nimport { ObtenerCoordenadas } from 'utils/common';\r\nmoment.locale('es');\r\n\r\nconst urlApi = APIURL\r\n\r\n\r\n\r\nconst DetalleRecibo = (props) => {\r\n // const [totalAPagar, setTotalAPagar] = useState(0.00);\r\n const correlativoReciboDiario = useSelector(e=>e.CorrelativoReciboDiario);\r\n const correlativoRecibo = useSelector(e=>e.CorrelativoRecibo);\r\n const clientesCartera = useSelector(e=>e.Cartera);\r\n const clientes = useSelector(e=>e.Recibo.clientes);\r\n const Monedas = useSelector(e=>e.Monedas);\r\n const BancosGlobal = useSelector(e=>e.BancosGlobal);\r\n const TipoPagoGlobal = useSelector(e=>e.TipoPagoGlobal);\r\n const [bancos, setBancos] = useState([]);\r\n const [ModalRecibo, setModalRecibo] = useState(false);\r\n const [recibosAplicados, setRecibosAplicados] = useState([]);\r\n const [tipoPagoEditando, setTipoPagoEditando] = useState(null);\r\n const [addedNewPayment, setAddedNewPayment] = useState(false);\r\n const [InfoModal, setInfoModal] = useState([]);\r\n const [openPedidoModal, setOpenPedidoModal] = useState(false);\r\n const [loading,setLoading] = useState(false);\r\n const [correrValidacionAcuerdos,setCorrerValidacionAcuerdos] = useState(false);\r\n //const [bancoSeleccionado, setBancoSeleccionado] = useState(null);\r\n const [cuotasYDescuentoAplicado, setCuotasYDescuentoAplicado] = useState({\r\n Cuotas: [],\r\n DescuentoAplicado: 0,\r\n TotalPorPagar: 0\r\n });\r\n const [opens,setOpen] = useState(false);\r\n const [mensaje,setMensaje] = useState('');\r\n const [monedas, setMonedas] = useState([]);\r\n const [\r\n //monedaSeleccionada, \r\n setMonedaSeleccionada\r\n ] = useState(null);\r\n const [tiposPago, setTiposPago] = useState([])\r\n const pedidoSelected = useSelector(e=>e.pedidoSelected);\r\n const dispatch = useDispatch();\r\n let calculo =React.useRef(1);\r\n let arregloModificado = [];\r\n const [habilitado,setHabilitado] = useState(true);\r\n \r\n const [pagosXRecibo, setPagosXRecibo] = useState([\r\n {\r\n Editar: true,\r\n indexTiposPago: 2,\r\n indexTiposdePagoDetalle: 0,\r\n fecha: new Date(),\r\n valor: '',//totalAPagar - cuotasYDescuentoAplicado.DescuentoAplicado,\r\n indexMoneda: 0,\r\n indexBanco: null,\r\n referencia: ''\r\n }\r\n ])\r\n // const [lineasfiltradas, setLineasfiltradas] = useState([])\r\n const [openModal, setOpenModal] = useState(false);\r\n const [DataModal, setDataModal] = useState([]);\r\n\r\n useEffect(() => {\r\n let cuotasYDescuentoCalculado = {\r\n Cuotas: [],\r\n DescuentoAplicado: 0,\r\n TotalPorPagar: 0\r\n };\r\n if (props.Cuotas[0].AgrupaPorCuota) {\r\n cuotasYDescuentoCalculado = CalculoCuotasAgrupadasYDescuento();//CalculoCuotasAgrupadasYDescuento()\r\n } else {\r\n cuotasYDescuentoCalculado = CalculoCuotasSingAgruparYDescuento();\r\n \r\n }\r\n setCuotasYDescuentoAplicado(cuotasYDescuentoCalculado);\r\n calculo.current+=1;\r\n // eslint-disable-next-line\r\n }, [pagosXRecibo]);\r\n\r\n useEffect(() => {\r\n \r\n if (props.Cuotas[0].AgrupaPorCuota) {\r\n let cuotasYDescuentoCalculado = {\r\n Cuotas: [],\r\n DescuentoAplicado: 0,\r\n TotalPorPagar: 0\r\n };\r\n cuotasYDescuentoCalculado = CalculoCuotasAgrupadasYDescuentoValidacion();\r\n setCuotasYDescuentoAplicado(cuotasYDescuentoCalculado);\r\n calculo.current += 1;\r\n } \r\n // eslint-disable-next-line\r\n }, [correrValidacionAcuerdos]);\r\n\r\n useEffect(() => {\r\n validacionCorrelativoRecibo();\r\n CargarDatos()\r\n let pago = { ...pagosXRecibo[0], valor: 0 };\r\n setPagosXRecibo([\r\n pago //.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')\r\n ]);\r\n return () => {\r\n localStorage.removeItem(\"Faltante\");\r\n localStorage.removeItem(\"TotalRecibo\");\r\n }\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const validacionCorrelativoRecibo = async () => {\r\n const { correlativo } = await props.obtenerCorrelativo();\r\n if (correlativo === \"\") {\r\n if (!correlativoRecibo) {\r\n localStorage.setItem(\"CorrelativoRecibo\", localStorage.getItem(\"CorrelativoReciboDiario\"));\r\n dispatch({ type: \"SET_CORRELATIVORECIBO\", payload: correlativoReciboDiario });\r\n }\r\n }\r\n else {\r\n localStorage.setItem(\"CorrelativoRecibo\", correlativo)\r\n dispatch({ type: \"SET_CORRELATIVORECIBO\", payload: correlativo });\r\n }\r\n }\r\n\r\n const rebajarSaldoFactura = (numFactura, numCuota, valorPago, Descuento) => {\r\n let arreglocopia = [];\r\n if(arregloModificado.length === 0)\r\n {\r\n arregloModificado = props.Clientes;\r\n }\r\n\r\n arregloModificado.filter(a => a.Codigo === props.Cliente.Codigo).forEach(function(entry) {\r\n \r\n entry.AcuerdosXTipoPedido.forEach(function(AcuerdosXTipoPedido) {\r\n\r\n AcuerdosXTipoPedido.Acuerdos.forEach(function(Acuerdos) {\r\n\r\n Acuerdos.Facturas.filter(f => f.Factura === numFactura).forEach(function(Facturas) {\r\n Facturas.Cuotas.filter(c => c.NumeroCuota === numCuota).forEach(function(Cuotas) {\r\n Facturas.Saldo = Facturas.Saldo - valorPago - Descuento;\r\n Cuotas.Saldo = Cuotas.Saldo - valorPago - Descuento;\r\n })\r\n });\r\n } );\r\n });\r\n });\r\n arreglocopia = arregloModificado;\r\n dispatch({ type: 'STORE_RECIBO_CLIENTES', clientes: arreglocopia });\r\n }\r\n\r\n const rebajarSaldoFacturaCartera = (numFactura, numCuota, valorPago, Descuento) => {\r\n let clientesCarteraCopia = clientesCartera;\r\n \r\n clientesCarteraCopia.filter(a => a.Codigo === props.Cliente.Codigo).forEach(function (entry) {\r\n\r\n entry.AcuerdosXTipoPedido.forEach(function (AcuerdosXTipoPedido) {\r\n\r\n AcuerdosXTipoPedido.Acuerdos.forEach(function (Acuerdos) {\r\n\r\n Acuerdos.Facturas.filter(f => f.Factura === numFactura).forEach(function (Facturas) {\r\n Facturas.Cuotas.filter(c => c.NumeroCuota === numCuota).forEach(function (Cuotas) {\r\n Facturas.Saldo = Facturas.Saldo - valorPago - Descuento;\r\n Cuotas.Saldo = Cuotas.Saldo - valorPago - Descuento;\r\n })\r\n });\r\n });\r\n });\r\n });\r\n\r\n dispatch({ type: 'SET_CARTERA', payload: clientesCarteraCopia })\r\n }\r\n\r\n const CuotasAgrupadas = () => {\r\n let cuotasSinAgrupar = [];\r\n let cuotasAgrupadas = [];\r\n props.Cuotas.forEach(fact => {\r\n fact.Acuerdos.forEach(acu => {\r\n //let facturas = [];\r\n acu.Facturas.forEach(fact => {\r\n fact.Cuotas.forEach(cuot => {\r\n if (props.CuotasAPagar.includes(cuot.IdSubFactura)) {\r\n cuotasSinAgrupar.push(cuot)\r\n let cuotaAgrupada = cuotasAgrupadas.find(cuotAgr => cuotAgr.NumeroCuota === cuot.NumeroCuota && cuot.FechaVencimiento === cuotAgr.FechaVencimiento && cuot.FechaMaxDescuento === cuotAgr.FechaMaxDescuento)\r\n if (cuotaAgrupada) {\r\n cuotaAgrupada.Valor += cuot.ValorCuota;\r\n cuotaAgrupada.Saldo += cuot.Saldo;\r\n cuotaAgrupada.APagar += cuot.Saldo;\r\n cuotaAgrupada.ValorDescuento += cuot.Descuento;\r\n cuotaAgrupada.IdsSubFactura.push(cuot.IdSubFactura);\r\n cuotaAgrupada.Cuotas.push({ ...cuot, Factura: fact });\r\n if (cuotaAgrupada.NumeroFactura !== fact.Factura) {\r\n cuotaAgrupada.NumeroFactura = 'Varias';\r\n }\r\n } else {\r\n cuotasAgrupadas.push({\r\n Tipo : fact.Tipo,\r\n FechaFactura : cuot.FechaFactura,\r\n NumeroCuota: cuot.NumeroCuota,\r\n NumeroFactura: fact.Factura,\r\n Valor: cuot.ValorCuota,\r\n FechaVencimiento: cuot.FechaVencimiento,\r\n Saldo: cuot.Saldo,\r\n IdsSubFactura: [cuot.IdSubFactura],\r\n Cuotas: [{ ...cuot, Factura: fact }],\r\n\r\n FechaDescuento: cuot.FechaMaxDescuento,\r\n ValorDescuento: cuot.Descuento,\r\n ValorDescuentoBack:cuot.DescuentoBack,\r\n DescuentoAplicado: 0,\r\n APagar: cuot.Saldo,\r\n PagoAplicado: 0,\r\n Moneda: cuot.IdMoneda,\r\n });\r\n }\r\n // let dias = moment(cuot.FechaVencimiento).diff(moment(new Date()), 'days');\r\n // let diasDescuento = moment(cuot.FechaMaxDescuento).diff(moment(new Date()), 'days');\r\n }\r\n });\r\n\r\n });\r\n });\r\n });\r\n\r\n return cuotasAgrupadas;\r\n\r\n }\r\n\r\n const esFacturaConMayorSaldoCuota = (facturas, factura) => {\r\n const nuevasFacturas = facturas.filter(x => x.NumeroCuota === factura.NumeroCuota);\r\n nuevasFacturas.sort((a, b) => (a.Saldo > b.Saldo) ? -1 : 1);\r\n return nuevasFacturas[0].Saldo === factura.Saldo;\r\n }\r\n\r\n const existeFacturaCubreDescuento = (facturas, numeroCuota, descuentoCuota) => {\r\n const nuevasFacturas = facturas.filter(x => x.NumeroCuota === numeroCuota);\r\n\r\n for (let factura of nuevasFacturas) {\r\n if (factura.Saldo >= descuentoCuota) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const calcularDescuentoAplicar = (facturas, factura, descuentoCuota) => {\r\n const saldoMayorADescuento = factura.Saldo >= descuentoCuota;\r\n if (esFacturaConMayorSaldoCuota(facturas, factura) && saldoMayorADescuento) {\r\n return descuentoCuota;\r\n }\r\n\r\n if (existeFacturaCubreDescuento(facturas, factura.NumeroCuota, descuentoCuota)) {\r\n return 0;\r\n }\r\n\r\n const facturasCuota = facturas.filter(x => x.NumeroCuota === factura.NumeroCuota);\r\n let copiaDescuento = descuentoCuota;\r\n\r\n for (let facturaCuota of facturasCuota) {\r\n //Si es la ultima factura de la cuota devolvemos el descuento sobrante\r\n if (facturaCuota.NumeroFactura === facturasCuota[facturasCuota.length - 1].NumeroFactura) {\r\n return copiaDescuento;\r\n }\r\n\r\n if (facturaCuota.NumeroFactura === factura.NumeroFactura) {\r\n return copiaDescuento > facturaCuota.Saldo ? facturaCuota.Saldo : copiaDescuento;\r\n }\r\n\r\n copiaDescuento -= facturaCuota.Saldo;\r\n }\r\n\r\n return 0;\r\n }\r\n \r\n const CalculoCuotasAgrupadasYDescuentoValidacion = () => {\r\n let valorPagos = 0;\r\n let Descuento = 0;\r\n let descuentoAcumulado = 0;\r\n let cuotasAProcesar = CuotasAgrupadas().sort((a, b) => {\r\n if (a.NumeroCuota > b.NumeroCuota) {\r\n return 1;\r\n }\r\n if (a.NumeroCuota < b.NumeroCuota) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n pagosXRecibo.forEach(pago => {\r\n let PagoAcumulado = Number(pago.valor);\r\n let fechaPago = pago.fecha;\r\n if (PagoAcumulado >= 0) {\r\n const saldoCuota = cuotasAProcesar.reduce((prev, curr) => {\r\n const { NumeroCuota, Saldo } = curr;\r\n if (NumeroCuota in prev) {\r\n prev[NumeroCuota] = prev[NumeroCuota] + Saldo;\r\n return prev;\r\n }\r\n\r\n prev[NumeroCuota] = Saldo;\r\n return prev;\r\n }, {});\r\n\r\n const descuentoCuota = cuotasAProcesar.reduce((prev, curr) => {\r\n const { NumeroCuota, ValorDescuentoBack } = curr;\r\n if (!(NumeroCuota in prev)) {\r\n prev[NumeroCuota] = ValorDescuentoBack;\r\n return prev;\r\n }\r\n\r\n return prev;\r\n }, {});\r\n\r\n let pagadoCuota = {};\r\n\r\n for (let cuotProc of cuotasAProcesar) {\r\n PagoAcumulado = Number(parseFloat(PagoAcumulado).toFixed(2));\r\n const saldoTotalCuota = saldoCuota[cuotProc.NumeroCuota];\r\n const descuentoTotalCuota = Number(parseFloat(descuentoCuota[cuotProc.NumeroCuota]).toFixed(2));\r\n\r\n if (!(cuotProc.NumeroCuota in pagadoCuota)) {\r\n pagadoCuota[cuotProc.NumeroCuota] = 0;\r\n }\r\n\r\n let isChequePosFechado = pago.indexTiposPago === 0 && pago.indexTiposdePagoDetalle === 1;\r\n let aplicaADescuento = false;\r\n let aplicaDescuentoFechaPosfechado = moment(fechaPago).isSameOrBefore(cuotProc.FechaDescuento, 'days') && !isChequePosFechado;\r\n let montoAPagar = 0;\r\n let descuentoAplicar = calcularDescuentoAplicar(cuotasAProcesar, cuotProc, descuentoTotalCuota);\r\n\r\n if (aplicaDescuentoFechaPosfechado) {\r\n let saldoRestante = Number((saldoTotalCuota - descuentoTotalCuota - pagadoCuota[cuotProc.NumeroCuota]).toFixed(2));\r\n aplicaADescuento = /*PagoAcumulado === 0 ||*/ PagoAcumulado >= saldoRestante;\r\n montoAPagar = aplicaADescuento ? cuotProc.Saldo - cuotProc.PagoAplicado - descuentoAplicar : cuotProc.Saldo - cuotProc.PagoAplicado;\r\n } else {\r\n montoAPagar = cuotProc.Saldo - cuotProc.PagoAplicado;\r\n }\r\n\r\n valorPagos += montoAPagar;\r\n Descuento += aplicaADescuento ? Number(descuentoAplicar) : 0;\r\n localStorage.setItem('valorPagos', valorPagos.toFixed(2));\r\n localStorage.setItem('DescuentoFacturas', Descuento);\r\n cuotProc.ValorDescuento = descuentoAplicar;\r\n\r\n if (montoAPagar > 0) {\r\n if (montoAPagar > PagoAcumulado) {\r\n cuotProc.PagoAplicado += PagoAcumulado;\r\n PagoAcumulado = 0;\r\n\r\n if (aplicaADescuento) {\r\n cuotProc.DescuentoAplicado = descuentoAplicar;\r\n descuentoAcumulado += Number(descuentoAplicar);\r\n }\r\n }\r\n if (montoAPagar <= PagoAcumulado) {\r\n cuotProc.PagoAplicado += montoAPagar;\r\n PagoAcumulado -= montoAPagar;\r\n if (aplicaADescuento) {\r\n cuotProc.DescuentoAplicado = descuentoAplicar;\r\n descuentoAcumulado += Number(descuentoAplicar);\r\n }\r\n }\r\n if (aplicaADescuento) {\r\n cuotProc.APagar = montoAPagar;\r\n }\r\n } else {\r\n if (aplicaADescuento) {\r\n cuotProc.DescuentoAplicado = descuentoAplicar;\r\n descuentoAcumulado += Number(descuentoAplicar);\r\n cuotProc.APagar = montoAPagar;\r\n }\r\n }\r\n\r\n pagadoCuota[cuotProc.NumeroCuota] = pagadoCuota[cuotProc.NumeroCuota] + montoAPagar;\r\n };\r\n }\r\n });\r\n const cuotas = cuotasAProcesar.map(cuotAgru => {\r\n let NumeroFel = \"\";\r\n cuotAgru.Cuotas.forEach(cuo =>{\r\n NumeroFel = cuo.NumeroFEL;\r\n })\r\n return [\r\n cuotAgru.NumeroCuota, //Cuota:\r\n cuotAgru.NumeroFactura, //Factura:\r\n NumeroFel, //NumeroFel\r\n moment(cuotAgru.FechaFactura).format(\"DD/MM/YYYY\"), //Fecha:\r\n moment(cuotAgru.FechaDescuento).format(\"DD/MM/YYYY\"), //FechaDescuento:\r\n cuotAgru.Moneda, //DiasDescuento \r\n Number(cuotAgru.Valor).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //Valor:\r\n Number(cuotAgru.ValorDescuento).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //ValorDescuento:\r\n Number(cuotAgru.Saldo).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //Saldo:\r\n Number(cuotAgru.DescuentoAplicado).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //DescuentoAplicado:\r\n Number(cuotAgru.APagar).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //APagar:\r\n Number(cuotAgru.PagoAplicado).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //PagoAplicado:\r\n { OpenModal(event, cuotAgru.Cuotas) }} size={\"20px\"} />, //Acciones:\r\n cuotAgru.FechaFactura, // Fecha Factura\r\n cuotAgru.Tipo, //tipo de Documento\r\n \r\n ]\r\n });\r\n return {\r\n Cuotas: cuotas,\r\n DescuentoAplicado: descuentoAcumulado,\r\n ValorAPagar : Number(localStorage.getItem('valorPagos')),\r\n DescuentoTotal: Number(localStorage.getItem('DescuentoFacturas')),\r\n agrupadas: true\r\n }\r\n }\r\n const CalculoCuotasAgrupadasYDescuento = () => {\r\n let valorPagos = 0;\r\n let Descuento = 0;\r\n let descuentoAcumulado = 0;\r\n let cuotasAProcesar = CuotasAgrupadas().sort((a, b) => {\r\n if (a.NumeroCuota > b.NumeroCuota) {\r\n return 1;\r\n }\r\n if (a.NumeroCuota < b.NumeroCuota) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n pagosXRecibo.forEach(pago => {\r\n let PagoAcumulado = Number(pago.valor);\r\n let fechaPago = pago.fecha;\r\n if (PagoAcumulado >= 0) {\r\n const saldoCuota = cuotasAProcesar.reduce((prev, curr) => {\r\n const { NumeroCuota, Saldo } = curr;\r\n if (NumeroCuota in prev) {\r\n prev[NumeroCuota] = prev[NumeroCuota] + Saldo;\r\n return prev;\r\n }\r\n\r\n prev[NumeroCuota] = Saldo;\r\n return prev;\r\n }, {});\r\n\r\n const descuentoCuota = cuotasAProcesar.reduce((prev, curr) => {\r\n const { NumeroCuota, ValorDescuentoBack } = curr;\r\n if (!(NumeroCuota in prev)) {\r\n prev[NumeroCuota] = ValorDescuentoBack;\r\n return prev;\r\n }\r\n\r\n return prev;\r\n }, {});\r\n\r\n let pagadoCuota = {};\r\n\r\n for (let cuotProc of cuotasAProcesar) {\r\n PagoAcumulado = Number(parseFloat(PagoAcumulado).toFixed(2));\r\n const saldoTotalCuota = saldoCuota[cuotProc.NumeroCuota];\r\n const descuentoTotalCuota = Number(parseFloat(descuentoCuota[cuotProc.NumeroCuota]).toFixed(2));\r\n\r\n if (!(cuotProc.NumeroCuota in pagadoCuota)) {\r\n pagadoCuota[cuotProc.NumeroCuota] = 0;\r\n }\r\n\r\n let isChequePosFechado = pago.indexTiposPago === 0 && pago.indexTiposdePagoDetalle === 1;\r\n let aplicaADescuento = false;\r\n let aplicaDescuentoFechaPosfechado = moment(fechaPago).isSameOrBefore(cuotProc.FechaDescuento, 'days') && !isChequePosFechado;\r\n let montoAPagar = 0;\r\n let descuentoAplicar = calcularDescuentoAplicar(cuotasAProcesar, cuotProc, descuentoTotalCuota);\r\n\r\n if (aplicaDescuentoFechaPosfechado) {\r\n aplicaADescuento = true;\r\n montoAPagar = cuotProc.Saldo - cuotProc.PagoAplicado - descuentoAplicar;\r\n } else {\r\n montoAPagar = cuotProc.Saldo - cuotProc.PagoAplicado;\r\n }\r\n\r\n valorPagos += montoAPagar;\r\n Descuento += aplicaADescuento ? Number(descuentoAplicar) : 0;\r\n localStorage.setItem('valorPagos', valorPagos.toFixed(2));\r\n localStorage.setItem('DescuentoFacturas', Descuento);\r\n cuotProc.ValorDescuento = descuentoAplicar;\r\n\r\n if (montoAPagar > 0) {\r\n if (montoAPagar > PagoAcumulado) {\r\n cuotProc.PagoAplicado += PagoAcumulado;\r\n PagoAcumulado = 0;\r\n\r\n if (aplicaADescuento) {\r\n cuotProc.DescuentoAplicado = descuentoAplicar;\r\n descuentoAcumulado += Number(descuentoAplicar);\r\n }\r\n }\r\n if (montoAPagar <= PagoAcumulado) {\r\n cuotProc.PagoAplicado += montoAPagar;\r\n PagoAcumulado -= montoAPagar;\r\n if (aplicaADescuento) {\r\n cuotProc.DescuentoAplicado = descuentoAplicar;\r\n descuentoAcumulado += Number(descuentoAplicar);\r\n }\r\n }\r\n if (aplicaADescuento) {\r\n cuotProc.APagar = montoAPagar;\r\n }\r\n } else {\r\n if (aplicaADescuento) {\r\n cuotProc.DescuentoAplicado = descuentoAplicar;\r\n descuentoAcumulado += Number(descuentoAplicar);\r\n cuotProc.APagar = montoAPagar;\r\n }\r\n }\r\n\r\n pagadoCuota[cuotProc.NumeroCuota] = pagadoCuota[cuotProc.NumeroCuota] + montoAPagar;\r\n };\r\n }\r\n });\r\n const cuotas = cuotasAProcesar.map(cuotAgru => {\r\n let NumeroFel = \"\";\r\n cuotAgru.Cuotas.forEach(cuo =>{\r\n NumeroFel = cuo.NumeroFEL;\r\n })\r\n return [\r\n cuotAgru.NumeroCuota, //Cuota:\r\n cuotAgru.NumeroFactura, //Factura:\r\n NumeroFel, //NumeroFel\r\n moment(cuotAgru.FechaFactura).format(\"DD/MM/YYYY\"), //Fecha:\r\n moment(cuotAgru.FechaDescuento).format(\"DD/MM/YYYY\"), //FechaDescuento:\r\n cuotAgru.Moneda, //DiasDescuento \r\n Number(cuotAgru.Valor).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //Valor:\r\n Number(cuotAgru.ValorDescuento).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //ValorDescuento:\r\n Number(cuotAgru.Saldo).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //Saldo:\r\n Number(cuotAgru.DescuentoAplicado).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //DescuentoAplicado:\r\n Number(cuotAgru.APagar).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //APagar:\r\n Number(cuotAgru.PagoAplicado).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //PagoAplicado:\r\n { OpenModal(event, cuotAgru.Cuotas) }} size={\"20px\"} />, //Acciones:\r\n cuotAgru.FechaFactura, // Fecha Factura\r\n cuotAgru.Tipo, //tipo de Documento\r\n \r\n ]\r\n });\r\n return {\r\n Cuotas: cuotas,\r\n DescuentoAplicado: descuentoAcumulado,\r\n ValorAPagar : Number(localStorage.getItem('valorPagos')),\r\n DescuentoTotal: Number(localStorage.getItem('DescuentoFacturas')),\r\n agrupadas: true\r\n }\r\n }\r\n const CalculoCuotasSingAgruparYDescuento = () => {\r\n let descuentoAcumulado = 0;\r\n let cuotasAProcesar = CuotasSinAgrupar();\r\n let valorPagos = 0;\r\n let Descuento = 0;\r\n pagosXRecibo.forEach(pago => {\r\n let PagoAcumulado = Number(pago.valor);\r\n let fechaPago = pago.fecha;\r\n if (PagoAcumulado >= 0) {\r\n cuotasAProcesar.sort( (a,b)=> a.Fecha).forEach(cuotProc => {\r\n const excepcionDescuento = cuotProc.ExcepcionDescuento;\r\n let isChequePosFechado = pago.indexTiposPago === 0 && pago.indexTiposdePagoDetalle === 1;\r\n let aplicaADescuento = (moment(fechaPago).isSameOrBefore(cuotProc.FechaDescuento, 'days') || excepcionDescuento) && !isChequePosFechado;\r\n let montoAPagar = aplicaADescuento ? (cuotProc.Saldo - cuotProc.PagoAplicado - cuotProc.ValorDescuento) : (cuotProc.Saldo - cuotProc.PagoAplicado);\r\n \r\n //if(calculo.current===2){\r\n valorPagos += montoAPagar; \r\n Descuento += aplicaADescuento ? Number(cuotProc.ValorDescuento) : 0; \r\n localStorage.setItem('valorPagos',valorPagos.toFixed(2));\r\n localStorage.setItem('DescuentoFacturas',Descuento); \r\n //}\r\n if (montoAPagar > 0) {\r\n if (montoAPagar > PagoAcumulado.toFixed(2)) {\r\n cuotProc.PagoAplicado += PagoAcumulado;\r\n PagoAcumulado = 0;\r\n }\r\n if (montoAPagar <= PagoAcumulado.toFixed(2)) {\r\n cuotProc.PagoAplicado += montoAPagar;\r\n PagoAcumulado -= montoAPagar;\r\n if (aplicaADescuento) {\r\n cuotProc.DescuentoAplicado = cuotProc.ValorDescuento;\r\n descuentoAcumulado += Number(cuotProc.ValorDescuento);\r\n // cuotProc.APagar = montoAPagar;\r\n }\r\n }\r\n if (aplicaADescuento) {\r\n cuotProc.APagar = montoAPagar;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n const cuotasProcesadas = cuotasAProcesar.map(cuotProc => {\r\n return [\r\n cuotProc.Tipo, //Tipo \r\n cuotProc.NumeroFactura, //Numero Factura \r\n cuotProc.NumeroFEL, //Numero Factura \r\n cuotProc.Fecha, //Fecha \r\n moment(cuotProc.FechaVencimiento).format(\"DD/MM/YYYY\"), //FechaVencimiento \r\n cuotProc.Dias, //Dias \r\n moment(cuotProc.FechaDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" ? moment(cuotProc.FechaDescuento).format(\"DD/MM/YYYY\") : \"\", //FechaDescuento \r\n isNaN(cuotProc.DiasDescuento) ? \"\": cuotProc.DiasDescuento, //DiasDescuento \r\n cuotProc.Valor.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //Valor \r\n cuotProc.ValorDescuento.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),//Valor Descuento\r\n cuotProc.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //Saldo \r\n cuotProc.DescuentoAplicado.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),//Descuento\r\n (cuotProc.APagar).toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),//APagar\r\n cuotProc.PagoAplicado.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),//Aplicado \r\n cuotProc.Moneda, //DiasDescuento \r\n ]\r\n });\r\n return {\r\n Cuotas: cuotasProcesadas,\r\n DescuentoAplicado: descuentoAcumulado,\r\n ValorAPagar : Number(localStorage.getItem('valorPagos')),\r\n DescuentoTotal: Number(localStorage.getItem('DescuentoFacturas')),\r\n agrupadas: false\r\n };\r\n }\r\n const CuotasSinAgrupar = () => {\r\n let data = [];\r\n props.Cuotas.forEach(fact => {\r\n fact.Acuerdos.forEach(acu => {\r\n acu.Facturas.forEach(fact => {\r\n fact.Cuotas.forEach(cuot => {\r\n if (props.CuotasAPagar.includes(cuot.IdSubFactura)) {\r\n let dias = moment(cuot.FechaVencimiento).diff(moment(new Date()), 'days');\r\n let diasDescuento = moment(cuot.FechaMaxDescuento).diff(moment(new Date()), 'days') + 1;\r\n // data.push([\r\n // cuot.TipoDocumento, //Tipo \r\n // moment(fact.FechaFactura).format(\"DD/MM/YYYY\"), //Fecha \r\n // moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\"), //FechaVencimiento \r\n // dias, //Dias \r\n // moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\"), //FechaDescuento \r\n // diasDescuento, //DiasDescuento \r\n // cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //Valor \r\n // cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'), //Saldo \r\n // ]);\r\n data.push({\r\n Tipo: cuot.TipoDocumento, //Tipo \r\n NumeroFactura: cuot.Factura, //Numero Factura \r\n NumeroFEL: cuot.NumeroFEL, //NumeroFEL \r\n Fecha: fact.FechaFactura, //Fecha \r\n FechaVencimiento: cuot.FechaVencimiento, //FechaVencimiento \r\n Dias: dias, //Dias \r\n FechaDescuento: cuot.FechaMaxDescuento, //FechaDescuento \r\n DiasDescuento: diasDescuento, //DiasDescuento \r\n Moneda: cuot.IdMoneda, //Moneda \r\n Valor: cuot.ValorCuota, //Valor \r\n ValorDescuento: cuot.Descuento, //Valor Decuento \r\n PagoAplicado: 0,\r\n DescuentoAplicado: 0,\r\n Saldo: cuot.Saldo, //Saldo \r\n APagar: cuot.Saldo, //APagar\r\n ExcepcionDescuento: cuot.ExcepcionDescuento \r\n });\r\n }\r\n });\r\n\r\n });\r\n });\r\n });\r\n \r\n data.sort(CuotasSinAgruparSort);\r\n return data.sort((a,b)=>{\r\n if (a.NumeroFactura < b.NumeroFactura) {\r\n return -1;\r\n }\r\n if (a.NumeroFactura > b.NumeroFactura) {\r\n \r\n return 1;\r\n }\r\n \r\n return 0;\r\n })\r\n\r\n }\r\n const CuotasSinAgruparSort = (a, b) => {\r\n if (moment(a.FechaVencimiento).isBefore(b.FechaVencimiento, 'days')) {\r\n return -1;\r\n }\r\n if (moment(a.FechaVencimiento).isAfter(b.FechaVencimiento, 'days')) {\r\n return 1;\r\n }\r\n if (moment(a.FechaVencimiento).isSame(b.FechaVencimiento, 'days')) {\r\n return 0;\r\n }\r\n }\r\n useEffect(() => {\r\n const monedaDefault = monedas.find(mon => mon.key === 'HNL');\r\n if (monedaDefault) {\r\n monedaOnchange(monedas.find(mon => mon.key === 'HNL').value);\r\n }\r\n // eslint-disable-next-line\r\n }, [monedas]);\r\n\r\n\r\n const onPagosXReciboChange = (index, newPago) => {\r\n let pagos = [...pagosXRecibo];\r\n let pago = { ...newPago };\r\n pago.Editar = true;\r\n pagos[index] = pago;\r\n setPagosXRecibo(pagos);\r\n }\r\n const Acumulado = () => {\r\n return Number(pagosXRecibo.reduce((acc, curr) => { return acc + Number(curr.valor) }, 0))\r\n }\r\n const onAddPagoXRecibo = () => {\r\n if (!tipoPagoEditando) {\r\n let pagos = [...pagosXRecibo];\r\n let restante = 0;//totalAPagar - (Acumulado() + cuotasYDescuentoAplicado.DescuentoAplicado);\r\n let valor = restante > 0 ? restante : 0\r\n let pago = {\r\n Editar: true,\r\n indexTiposPago: 2,\r\n indexTiposdePagoDetalle: 0,\r\n fecha: new Date(),\r\n valor: valor,\r\n indexMoneda: 2,\r\n indexBanco: null,\r\n referencia: ''\r\n };\r\n pagos.push(pago);\r\n setAddedNewPayment(true);\r\n setPagosXRecibo(pagos);\r\n setTipoPagoEditando(pago);\r\n }\r\n\r\n }\r\n const confirmEditarPago = (index) => {\r\n let pagos = [...pagosXRecibo];\r\n let pago = { ...pagos[index] };\r\n pago.Editar = false;\r\n pagos[index] = pago;\r\n setPagosXRecibo(pagos);\r\n setTipoPagoEditando(null);\r\n setAddedNewPayment(false);\r\n setCorrerValidacionAcuerdos(prev=>!correrValidacionAcuerdos);\r\n }\r\n const deletePago = (index) => {\r\n if (!tipoPagoEditando && pagosXRecibo.length > 1) {\r\n\r\n let pagos = [...pagosXRecibo];\r\n if (pagos.length > 0) {\r\n pagos.splice(index, 1)\r\n\r\n setPagosXRecibo(pagos);\r\n }\r\n }\r\n }\r\n const cancelEditarPago = (index) => {\r\n let pagos = [...pagosXRecibo];\r\n\r\n if (addedNewPayment) {\r\n pagos.splice(index, 1)\r\n setPagosXRecibo(pagos);\r\n }\r\n else {\r\n let pago = { ...tipoPagoEditando };\r\n pago.Editar = false;\r\n pagos[index] = pago;\r\n }\r\n setPagosXRecibo(pagos);\r\n setTipoPagoEditando(null);\r\n setAddedNewPayment(false);\r\n }\r\n const setEditPagoXRecibo = (index) => {\r\n if (!tipoPagoEditando) {\r\n let pagos = [...pagosXRecibo];\r\n let pago = pagos[index];\r\n pago.Editar = true;\r\n pagos[index] = pago;\r\n setPagosXRecibo(pagos);\r\n setTipoPagoEditando(pago);\r\n }\r\n }\r\n const cargarBancos = () => {\r\n let empresa = localStorage.getItem('EmpresaCliente') !== null ? localStorage.getItem('EmpresaCliente') : localStorage.getItem('empresa')\r\n const bancosEmpresa = BancosGlobal.filter(x=>x.EmpresaId===empresa);\r\n setBancos(bancosEmpresa)\r\n /*fetch(urlApi + \"/api/banco/\" + empresa, {\r\n headers: {\r\n Authorization: 'Bearer ' + localStorage.getItem('token')\r\n }\r\n }).then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '')\r\n window.location.reload()\r\n }\r\n if (res.status === 200) {\r\n res.json().then(\r\n result => {\r\n setBancos(result)\r\n },\r\n \r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n })*/\r\n };\r\n\r\n const cargarTiposPago = () => {\r\n let empresa = localStorage.getItem('EmpresaCliente') !== null ? localStorage.getItem('EmpresaCliente') : localStorage.getItem('empresa');\r\n const tipoPagoEmpresa = TipoPagoGlobal.filter(x=>x.EmpresaId===empresa);\r\n setTiposPago(tipoPagoEmpresa);\r\n /*fetch(urlApi + '/api/TipoPago/'+empresa, {\r\n headers: {\r\n Authorization: 'Bearer ' + localStorage.getItem('token')\r\n }\r\n }).then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '')\r\n window.location.reload()\r\n }\r\n if (res.status === 200) {\r\n res.json().then(\r\n result => {\r\n setTiposPago(result)\r\n },\r\n \r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n })*/\r\n };\r\n\r\n const CargarDatos = () => {\r\n /*Promise.all([cargarBancos, cargarTiposPago]).then(values => {\r\n let banks = values[0].map(el => {\r\n return el//{ key: el.IdBanco, value: JSON.stringify(el), text: el.Descripcion }\r\n });\r\n let tiposPago = values[1].map(el => {\r\n return el//{ key: el.IdTipoPago, value: JSON.stringify(el), text: el.Descripcion }\r\n });\r\n /*let monedasArray = values[2].map(el => {\r\n return el // { key: el.IdMoneda, value: JSON.stringify(el), text: el.Moneda }\r\n });\r\n setBancos(banks);\r\n setMonedas(Monedas);\r\n setTiposPago(tiposPago);\r\n });*/\r\n cargarBancos();\r\n cargarTiposPago();\r\n setMonedas(Monedas);\r\n }\r\n \r\n const monedaOnchange = (moneda) => {\r\n // var val = JSON.parse(especificacionPago);\r\n setMonedaSeleccionada(moneda);\r\n }\r\n\r\n const EnviarRecibo = async () =>{ \r\n ObtenerCoordenadas((position) => {\r\n EnviarReciboApi({\r\n longitude: position.coords.longitude,\r\n latitude: position.coords.latitude\r\n })\r\n }, (error) => {\r\n EnviarReciboApi(null);\r\n });\r\n }\r\n\r\n const cargarCliente = async () => {\r\n if (localStorage.getItem(\"Conexion\") === \"Online\") {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n try {\r\n let request = await axios.get(`${urlApi}/api/cliente/cuenta/${props.Cliente.Codigo}`, { headers: { Authorization: 'Bearer ' + localStorage.getItem('token') } });\r\n let clientesStorage = clientes;\r\n let index = clientesStorage.map(e => e.Codigo).indexOf(props.Cliente.Codigo);\r\n clientesStorage[index] = request.data;\r\n dispatch({ type: 'STORE_RECIBO_CLIENTES', clientes: clientesStorage });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const EnviarReciboApi = async (location) => {\r\n setLoading(true);\r\n const saldoAFavor = parseFloat(localStorage.getItem('saldoFavor'));\r\n let isOnline = await verificarConexion();\r\n if(!isOnline || localStorage.getItem(\"Conexion\")===\"offline\")\r\n {\r\n let ValorPago = Number(pagosXRecibo.reduce((acc, curr) => { return acc + Number(curr.valor) }, 0));\r\n let ReciboCache = {\r\n ReciboId : 100 + (Math.random() * (10000 - 100)),\r\n NumeroRecibo : 'PR'+correlativoRecibo,\r\n EmpresaUsuario: localStorage.getItem('empresa'),\r\n ReciboProforma:true,\r\n LogImpresion:[],\r\n Mensaje:\"\",\r\n Fecha: pagosXRecibo[0].fecha,\r\n FechaPago: new Date(pagosXRecibo[0].fecha.setHours(0,0,0,0)),\r\n SaldoFavor:saldoAFavor,\r\n CodigoCliente: props.Cliente.Codigo,\r\n NombreCliente : props.Cliente.Nombre,\r\n Direccion : props.Cliente.Direccion,\r\n Asesor: localStorage.getItem('codigo'),\r\n Tipo: localStorage.getItem('isAnticipo') === 'true' ? \"Anticipo [D-O]\" : \"\",\r\n EsAnticipo : localStorage.getItem('isAnticipo') === 'true'? true : false,\r\n Pagos: pagosXRecibo.map(pagXRecib => {\r\n return {\r\n \"CodigoTipoPago\": tiposPago[pagXRecib.indexTiposPago].IdTipoPago,\r\n \"TipoPago\" : tiposPago[pagXRecib.indexTiposPago].Descripcion,\r\n \"EspecificacionPago\" : tiposPago[pagXRecib.indexTiposPago].TiposdePagoDetalle[pagXRecib.indexTiposdePagoDetalle].Descripcion,\r\n \"TipoPagoDetalle\": tiposPago[pagXRecib.indexTiposPago].TiposdePagoDetalle[pagXRecib.indexTiposdePagoDetalle].CodigoDetalle ,\r\n \"IdBanco\": pagXRecib.indexBanco !== null ? bancos[pagXRecib.indexBanco].IdBanco : null,\r\n \"Banco\": pagXRecib.indexBanco!==null ? bancos[pagXRecib.indexBanco].NombreBanco : \"\",\r\n \"Orden\": 1,\r\n \"Valor\":Number(pagXRecib.valor),\r\n \"IdMoneda\": monedas[pagXRecib.indexMoneda].IdMoneda,\r\n \"Referencia\": pagXRecib.referencia,\r\n \"ReferenciaTransaccionAbierta\": \"\",\r\n \"Monto\": Number(pagXRecib.valor),\r\n }\r\n }),\r\n Descripcion: '',\r\n location:location,\r\n SubFacturas: props.CuotasAPagar,\r\n NumPedido:(pedidoSelected!==null) ? pedidoSelected.NumeroPedido : null,\r\n EsContado : props.Cliente.Nombre.includes(\"CONSUMIDOR FINAL\")? \"1\" : \"0\",\r\n CodigoUltimoRecibo : 'PR'+correlativoRecibo,\r\n Total : ValorPago,\r\n Facturas : cuotasYDescuentoAplicado.Cuotas.map(fact => { \r\n let NumeroCuota = cuotasYDescuentoAplicado.agrupadas ? fact[0] : 0;\r\n let descuento = cuotasYDescuentoAplicado.agrupadas ? fact[9].replace(',', '') : fact[11].replace(',', '');\r\n let Aplicado = localStorage.getItem('isAnticipo') === 'true' ? ValorPago : cuotasYDescuentoAplicado.agrupadas ? Number(fact[11].replace(',', '')) : Number(fact[13].replace(',', ''));\r\n rebajarSaldoFactura(fact[1], NumeroCuota,Aplicado,descuento);\r\n rebajarSaldoFacturaCartera(fact[1], NumeroCuota,Aplicado,descuento);\r\n return {\r\n \"Aplicado\" : Aplicado,\r\n \"Dias\" :cuotasYDescuentoAplicado.agrupadas ? \"\" : fact[5],\r\n \"EsAbono\" :cuotasYDescuentoAplicado.agrupadas ? fact[11] !== fact[10] ? true : false : fact[12] !== fact[13] ? true : false,\r\n \"Fecha\" :cuotasYDescuentoAplicado.agrupadas ? fact[13] : fact[3],\r\n \"IdFactura\" : fact[1],\r\n \"NumeroFEL\" : \"\",\r\n \"Parcial\" :localStorage.getItem('isAnticipo') === 'true' ? ValorPago : cuotasYDescuentoAplicado.agrupadas ? fact[8].replace(',', '') : fact[12].replace(',', ''),\r\n \"Parcial2\" : descuento,\r\n \"TipoDocumento\" : cuotasYDescuentoAplicado.agrupadas ? fact[14] : fact[0]\r\n }\r\n }),\r\n }\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: \"Actualmente no dispone de internet el recibo se guardara en cache.\",\r\n });\r\n setRecibosAplicados(ReciboCache);\r\n dispatch({ type: \"SET_RECIBOSENCACHE\", payload: ReciboCache });\r\n\r\n //Incremento\r\n let CorrelativoActual = correlativoRecibo;\r\n let Iniciales = CorrelativoActual.substring(0, CorrelativoActual.lastIndexOf('-') + 1);\r\n let NumeroActual = CorrelativoActual.substring(CorrelativoActual.lastIndexOf('-') + 1);\r\n let NumeroSiguiente = Number(NumeroActual) + 1;\r\n localStorage.setItem(\"CorrelativoRecibo\", Iniciales + NumeroSiguiente);\r\n const nuevoCorrelativo = Iniciales + NumeroSiguiente;\r\n dispatch({ type: \"SET_CORRELATIVORECIBO\", payload: nuevoCorrelativo });\r\n \r\n setModalRecibo(true);\r\n setLoading(false);\r\n setHabilitado(false);\r\n }\r\n else\r\n {\r\n \r\n let apiURL = urlApi + \"/api/Recibo\";\r\n let parametros = {\r\n CodigoCliente: props.Cliente.Codigo,\r\n Fecha: pagosXRecibo[0].fecha,\r\n FechaPago: new Date(pagosXRecibo[0].fecha.setHours(0,0,0,0)),\r\n SaldoFavor:saldoAFavor,\r\n Pagos: pagosXRecibo.map(pagXRecib => {\r\n return {\r\n \"CodigoTipoPago\": tiposPago[pagXRecib.indexTiposPago].IdTipoPago,\r\n \"TipoPagoDetalle\": tiposPago[pagXRecib.indexTiposPago].TiposdePagoDetalle[pagXRecib.indexTiposdePagoDetalle].CodigoDetalle ,\r\n \"IdBanco\": pagXRecib.indexBanco!==null ? bancos[pagXRecib.indexBanco].IdBanco : null,\r\n \"Orden\": 1,\r\n \"Valor\": pagXRecib.valor,\r\n \"IdMoneda\": monedas[pagXRecib.indexMoneda].IdMoneda,\r\n \"Referencia\": pagXRecib.referencia,\r\n \"ReferenciaTransaccionAbierta\": \"\"\r\n }\r\n })\r\n ,\r\n NumeroRecibo : correlativoRecibo,\r\n EmpresaUsuario: localStorage.getItem('empresa'),\r\n Descripcion: '',\r\n location:location,\r\n SubFacturas: props.CuotasAPagar,\r\n NumPedido:(pedidoSelected!==null) ? pedidoSelected.NumeroPedido : null,\r\n EsContado : props.Cliente.Nombre.includes(\"CONSUMIDOR FINAL\")? \"1\" : \"0\",\r\n }\r\n\r\n if(localStorage.getItem('isAnticipo') === 'true'){\r\n apiURL = urlApi + \"/api/Recibo/Anticipo\";\r\n \r\n parametros = {\r\n Fecha: pagosXRecibo[0].fecha,\r\n EmpresaUsuario: localStorage.getItem('empresa'),\r\n NumeroRecibo : correlativoRecibo,\r\n CodigoCliente:props.Cliente.Codigo,\r\n Tipo:(pedidoSelected!==null) ? \"Anticipo [B-C]\" : \"Anticipo [T-O]\",\r\n FechaPago: new Date(pagosXRecibo[0].fecha.setHours(0,0,0,0)),\r\n Pagos: pagosXRecibo.map(pagXRecib => {\r\n return {\r\n \"CodigoTipoPago\": tiposPago[pagXRecib.indexTiposPago].IdTipoPago,//\"EFECTIVO\",\r\n \"TipoPagoDetalle\": tiposPago[pagXRecib.indexTiposPago].TiposdePagoDetalle[pagXRecib.indexTiposdePagoDetalle].CodigoDetalle ,\r\n \"IdBanco\": pagXRecib.indexBanco!=null ? bancos[pagXRecib.indexBanco].IdBanco : null,//\"\",\r\n \"Orden\": 1,\r\n \"Valor\": pagXRecib.valor,//104613.1000,\r\n \"IdMoneda\": monedas[pagXRecib.indexMoneda].IdMoneda,//\"HNL\",\r\n \"Referencia\": pagXRecib.referencia,//\"\",\r\n \"ReferenciaTransaccionAbierta\": \"\"\r\n }\r\n })\r\n ,\r\n Descripcion: '',\r\n location:location,\r\n SubFacturas: props.CuotasAPagar,\r\n NumPedido:(pedidoSelected!==null) ? pedidoSelected.NumeroPedido : null,\r\n EsContado : props.Cliente.Nombre.includes(\"CONSUMIDOR FINAL\")? \"1\" : \"0\",\r\n }\r\n }\r\n\r\n let loading = Swal.fire({\r\n title: 'Enviando',\r\n allowOutsideClick: false,\r\n onBeforeOpen: () => {\r\n Swal.showLoading()\r\n },\r\n });\r\n\r\n fetch(apiURL, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(parametros) \r\n })\r\n .then(res => {\r\n loading.close();\r\n if (res.status === 200) {\r\n localStorage.setItem('isAnticipo',false);\r\n res.json()\r\n .then(\r\n (result) => {\r\n setRecibosAplicados(result);\r\n setModalRecibo(true);\r\n setLoading(false);\r\n setHabilitado(false);\r\n\r\n //Incremento\r\n let CorrelativoActual = correlativoRecibo;\r\n let Iniciales = CorrelativoActual.substring(0, CorrelativoActual.lastIndexOf('-') + 1);\r\n let NumeroActual = CorrelativoActual.substring(CorrelativoActual.lastIndexOf('-') + 1);\r\n let NumeroSiguiente = Number(NumeroActual) + 1;\r\n localStorage.setItem(\"CorrelativoRecibo\", Iniciales + NumeroSiguiente);\r\n const nuevoCorrelativo = Iniciales + NumeroSiguiente;\r\n dispatch({ type: \"SET_CORRELATIVORECIBO\", payload: nuevoCorrelativo });\r\n\r\n cargarCliente();\r\n dispatch({type:'DELETE_RECIBO_CUOTASCUENTACORRIENTE'})\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n setLoading(true);\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Error',\r\n text: error.Message,\r\n })\r\n }\r\n )\r\n }\r\n else {\r\n res.json()\r\n .then(\r\n (result) => {\r\n props.history.replace('/recibos');\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Error ' + result.ErrorCode,\r\n text: result.Message,\r\n })\r\n setLoading(false);\r\n setHabilitado(false);\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n\r\n }\r\n )\r\n }\r\n });\r\n }\r\n}\r\n\r\n const OpenModal = (event, cuotas) => {\r\n event.stopPropagation();\r\n setOpenModal(true);\r\n let DataModal = [];\r\n\r\n cuotas.forEach(cuot => {\r\n let dias = moment(cuot.FechaVencimiento).diff(moment(new Date()), 'days')\r\n let diasDescuento = 0;\r\n let fechaDescuento = moment(cuot.FechaMaxDescuento);\r\n if (fechaDescuento.isValid()) {\r\n diasDescuento = moment(cuot.FechaMaxDescuento).diff(moment(new Date()), 'days') + 1;\r\n }\r\n DataModal.push({\r\n NumeroFactura: cuot.Factura.Factura,\r\n Dias: dias,\r\n DiasDescuento: diasDescuento,\r\n Tipo: cuot.TipoDocumento,\r\n Fecha: moment(cuot.Factura.FechaFactura).format(\"DD/MM/YYYY\"),\r\n Vencimiento: moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\"),\r\n FechaDescuento: fechaDescuento.isValid() ? fechaDescuento.format(\"DD/MM/YYYY\") : \"\",\r\n Valor: cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Saldo: cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n // C15Dias: fact.C15Dias.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n\r\n }\r\n )\r\n });\r\n setDataModal(DataModal);\r\n }\r\n\r\n const OpenPedidosModal = () => {\r\n //event.stopPropagation();\r\n setOpenPedidoModal(true);\r\n let InfoModal = [];\r\n \r\n props.Cliente.Pedido.forEach(ped => {\r\n InfoModal.push({\r\n PedidoId : ped.PedidoId,\r\n NumeroPedido: ped.NumeroPedido,\r\n CodigoPaquete: ped.CodigoColeccion,\r\n Paquete: ped.NombreColeccion,\r\n FechaEntrega: moment(ped.FechaEntrega).format(\"DD/MM/YYYY\"), \r\n Fecha: moment(ped.FechaActual).format(\"DD/MM/YYYY\"),\r\n TotalPedido: Number(ped.TotalXPedido),\r\n ClienteContado: ped.ClienteContadoId,\r\n }\r\n )\r\n });\r\n setInfoModal(InfoModal);\r\n }\r\n\r\n const showAlert = (abrir,mensaje)=>{\r\n setOpen(abrir);\r\n setMensaje(mensaje); \r\n }\r\n\r\n const handleClose=()=>{ \r\n setOpen(false);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {props.Cliente.Pedido.length !== 0?

    Pago Recibido

    :

    Pago Recibido

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

    Detalle Facturas a Cancelar

    \r\n
    \r\n
    \r\n { }}\r\n Acumulado={Acumulado}\r\n PedidoSelected = {pedidoSelected}\r\n DescuentoAplicado={cuotasYDescuentoAplicado.DescuentoAplicado}\r\n ValorPagos = {cuotasYDescuentoAplicado.ValorAPagar}\r\n Descuento = {cuotasYDescuentoAplicado.DescuentoTotal}\r\n />\r\n
    \r\n
    \r\n\r\n {\r\n props.Cuotas[0].AgrupaPorCuota ?\r\n { setCuotasSeleccionadas(data[rowMeta.dataIndex].Numero, newArray) }}\r\n />\r\n :\r\n \r\n }\r\n\r\n \r\n \r\n
    \r\n\r\n
    \r\n {\r\n ModalRecibo &&\r\n props.CargarImpresion(recibosAplicados)\r\n }\r\n\r\n \r\n \r\n \r\n
    );\r\n}\r\n\r\n/*const cargarMonedas = new Promise((resolve, reject) => {\r\n let empresa = localStorage.getItem('EmpresaCliente');\r\n fetch(urlApi + \"/api/Moneda/\" + empresa, {\r\n headers: {\r\n Authorization: 'Bearer ' + localStorage.getItem('token')\r\n }\r\n }).then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '')\r\n window.location.reload()\r\n }\r\n if (res.status === 200) {\r\n res.json().then(\r\n result => {\r\n resolve(result)\r\n },\r\n\r\n error => {\r\n reject({\r\n error\r\n })\r\n }\r\n )\r\n }\r\n })\r\n});*/\r\nexport default DetalleRecibo;","import React, { useState } from 'react';\r\nimport ReactToPrint from 'react-to-print';\r\nimport Logo from 'assets/img/logo/LogoSinLetrasB.png';\r\nimport styles from \"components/Recibos/Recibo/Recibo.module.css\";\r\nimport style from \"components/ListadoRecibos/Recibo.module.css\";\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { FiArrowRightCircle } from \"react-icons/fi\";\r\nimport { FaPrint } from \"react-icons/fa\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { ObtenerCoordenadas } from 'utils/common';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport axios from 'axios';\r\nimport { Dialog, DialogActions, DialogContent, DialogTitle, Button } from '@material-ui/core';\r\n\r\nconst Recibo = (props) => {\r\n const [showModalUpload, setShowModalUpload] = useState(true);\r\n const [numeroImpresion, setNumeroImpresion] = useState(0);\r\n const [imagenDepositos, setImagenDepositos] = useState();\r\n const clientesContado = useSelector(e => e.clientesContado);\r\n const Monedas = useSelector(e => e.AbreviacionMonedas);\r\n const pedidoSelected = useSelector(k => k.pedidoSelected);\r\n const empresas = useSelector(e => e.Empresas);\r\n const empresaCliente = props.Cliente.Codigo.split(\"-\")[0];\r\n const empresa = empresas.find(x => x.COMPANY_CODE === empresaCliente.toUpperCase());\r\n let NombreCliente = props.Cliente.Nombre;\r\n let DireccionCliente = props.Cliente.Direccion;\r\n const clienteContado = pedidoSelected !== null && pedidoSelected !== undefined ? clientesContado.find(x => x.id === pedidoSelected.ClienteContado) : null;\r\n let Total = props.RecibosAplicados.Total;\r\n const moneda = Monedas.find(e => e.IdMoneda === props.Cliente.Moneda).Abreviacion;\r\n const RecibosEnCache = useSelector(e => e.RecibosEnCache);\r\n const dispatch = useDispatch();\r\n if (clienteContado !== null && clienteContado !== undefined) {\r\n if (Total < 10000) {\r\n NombreCliente = 'CONSUMIDOR FINAL';\r\n } else {\r\n NombreCliente = clienteContado.Nombre;\r\n }\r\n\r\n DireccionCliente = clienteContado.Direccion;\r\n }\r\n\r\n if (props.RecibosAplicados.Mensaje.includes(\"flotante\")) {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: props.RecibosAplicados.Mensaje,\r\n })\r\n }\r\n //const FechaEntrega = new Date();\r\n const componentRef = React.useRef();\r\n const useStyles = makeStyles((theme) => ({\r\n button: {\r\n marginLeft: theme.spacing(2),\r\n marginRight: theme.spacing(2),\r\n },\r\n }));\r\n const classes = useStyles();\r\n\r\n const RegistrarLogs = async () => {\r\n let logRecibo = {};\r\n ObtenerCoordenadas((position) => {\r\n logRecibo = {\r\n numRecibo: props.RecibosAplicados.CodigoUltimoRecibo,\r\n Usuario: localStorage.getItem(\"codigo\"),\r\n Fecha: new Date(),\r\n Latitude: position.coords.latitude,\r\n Longitude: position.coords.longitude\r\n };\r\n postLogRecibos(logRecibo);\r\n }, (error) => {\r\n logRecibo = {\r\n numRecibo: props.RecibosAplicados.CodigoUltimoRecibo,\r\n Usuario: localStorage.getItem(\"codigo\"),\r\n Fecha: new Date(),\r\n Latitude: null,\r\n Longitude: null\r\n };\r\n postLogRecibos(logRecibo);\r\n });\r\n props.Finalizar();\r\n }\r\n\r\n const postLogRecibos = async (data) => {\r\n if (localStorage.getItem(\"Conexion\") === \"offline\") {\r\n let copiaEstado = RecibosEnCache;\r\n let indice = copiaEstado.map(x => x.CodigoUltimoRecibo).indexOf(data.numRecibo);\r\n copiaEstado[indice].LogImpresion = [...copiaEstado[indice].LogImpresion, data];\r\n dispatch({ type: \"SET_RECIBOSENCACHELOG\", payload: copiaEstado });\r\n setNumeroImpresion((prev) => (prev + 1));\r\n return;\r\n }\r\n\r\n try {\r\n const request = await axios.post(`${APIURL}/api/logImpresionRecibo`, data);\r\n setNumeroImpresion((prev) => (prev + 1));\r\n return request.data;\r\n } catch (err) {\r\n console.log(err);\r\n return null;\r\n }\r\n }\r\n\r\n const handleFilesChange = (e) => {\r\n setImagenDepositos(e.target.files);\r\n }\r\n\r\n const uploadDepositos = async () => {\r\n try {\r\n if (imagenDepositos === undefined) {\r\n alert(\"Seleccione uno o varios depositos para subir.\");\r\n return;\r\n }\r\n\r\n let formData = new FormData();\r\n\r\n for (let i = 0; i < imagenDepositos.length; i++) {\r\n formData.append(`images`, imagenDepositos[i]);\r\n }\r\n\r\n await axios.post(`${APIURL}/api/recibo/comprobantes/${props.RecibosAplicados.CodigoUltimoRecibo}`, formData, { headers: { 'Content-Type': 'multipart/form-data' } });\r\n alert(\"Depositos subidos con exito.\");\r\n setShowModalUpload(false);\r\n setImagenDepositos(undefined);\r\n } catch (err) {\r\n alert(\"Ocurrio un error y no se pudieron subir los depositos\");\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n props.Cliente &&\r\n
    \r\n setShowModalUpload(false)}>\r\n \r\n

    Cargar depositos

    \r\n
    \r\n \r\n \r\n {imagenDepositos !== undefined && \r\n Cargar depositos\r\n }\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {props.RecibosAplicados.CodigoUltimoRecibo}\r\n
    \r\n
    \r\n {\"Logo\"}\r\n\r\n
    \r\n
    \r\n

    \r\n {empresa.NAME}\r\n

    \r\n

    Original

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

    \r\n {empresa.FISCAL_DOCUMENT}: {empresa.NIFCIF}\r\n

    \r\n {/*
    ImpresiĆ³n No {numeroImpresion + 1}
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {props.Cliente.Codigo}\r\n

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

    \r\n {'No. ' + props.RecibosAplicados.CodigoUltimoRecibo}\r\n

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

    \r\n {NombreCliente}\r\n

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

    \r\n {DireccionCliente}\r\n

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

    \r\n\r\n Fecha: {moment().format('DD/MM/YYYY hh:mm a')}\r\n

    \r\n
    \r\n
    \r\n \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.RecibosAplicados.Pagos.map((pag, index) => (\r\n\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 Pago\r\n \r\n Esp. Pago\r\n \r\n Fecha\r\n \r\n Referencia\r\n \r\n Banco\r\n \r\n Monto\r\n
    \r\n {pag.TipoPago}\r\n \r\n {pag.EspecificacionPago}\r\n \r\n {moment(pag.Fecha).format(\"DD/MM/YYYY\")}\r\n \r\n {pag.Referencia}\r\n \r\n {pag.Banco}\r\n \r\n {numberWithCommas(pag.Monto)}\r\n
    \r\n
    \r\n
    \r\n \r\n \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.RecibosAplicados.Facturas.map((factu, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    \r\n Documento\r\n \r\n Fecha\r\n \r\n\r\n \r\n\r\n \r\n Parcial\r\n \r\n Aplicado\r\n
    \r\n {factu.TipoDocumento}\r\n \r\n {moment(factu.Fecha).format(\"DD/MM/YYYY\")}\r\n \r\n {factu.EsAbono === true && \"Abono\"}\r\n {factu.EsAbono === false && \"Cancelado\"}\r\n \r\n\r\n \r\n {numberWithCommas(Number(factu.Parcial))}\r\n \r\n {/*Numero de cuota en acuerdo */}\r\n {factu.cuota ? \"Cuota: \" + factu.cuota : \"\"}\r\n
    \r\n {factu.IdFactura}\r\n {factu.NumeroFEL !== \"\" && factu.NumeroFEL !== null &&\r\n \" - FEL:\" + factu.NumeroFEL\r\n }\r\n \r\n {\"Dias: \" + factu.Dias}\r\n \r\n {/* D */}\r\n Desc\r\n {/* {factu.Parcial2 !=='0' ? 'D':'' } */}\r\n \r\n\r\n \r\n {/* -618.24 */}\r\n {numberWithCommas(Number(factu.Parcial2))}\r\n {/* {factu.Parcial2} */}\r\n \r\n {numberWithCommas(factu.Aplicado)}\r\n
    \r\n
    \r\n
    \r\n

    \r\n Total Recibo: {moneda} {numberWithCommas(props.RecibosAplicados.Total)}\r\n

    \r\n
    \r\n\r\n
    \r\n {(localStorage.getItem(\"firmarecibo\") !== null && localStorage.getItem(\"firmarecibo\") !== \"\") && \"Firma}\r\n
    \r\n

    \r\n {localStorage.getItem('asesor')}\r\n

    \r\n
    \r\n {props.RecibosAplicados.ReciboProforma &&

    Proforma Provisional

    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n }\r\n content={() => componentRef.current}\r\n onAfterPrint={() => RegistrarLogs()}\r\n />\r\n \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n\r\n )\r\n}\r\n\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nexport default Recibo;","import React from 'react';\r\nimport styles from 'components/Recibos/RecibosBreadCrumb/RecibosBreadCrumb.module.css';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport NavigationBreadcrumb from 'components/Pedidos/NavigationBreadcrumb/NavigationBreadcrumb';\r\nimport { FaSignOutAlt } from 'react-icons/fa';\r\nimport { Dropdown } from 'element-react';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nmoment.locale('es');\r\n\r\nconst RecibosBreadCrumb = (props) => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n (\r\n { props.clickBreadCrumb(\"/Recibos\") }, Titulo: props.cliente.Codigo },\r\n { Titulo: \"Tipo Credito\" }\r\n ]}\r\n />\r\n )} />\r\n (\r\n { props.clickBreadCrumb(\"/Recibos\") }, Titulo: props.cliente.Codigo },\r\n { Click: () => { props.clickBreadCrumb(\"/Recibos/TipoCredito\") }, Titulo: props.cuotas[0].TipoPedido },\r\n { Click: () => { props.clickBreadCrumb(`/Recibos/${props.cuotas[0].TipoPedido}/Facturas`) }, Titulo: 'Facturas'},\r\n { Titulo: \"Detalle\" }\r\n ]}\r\n />\r\n )} />\r\n (\r\n { props.clickBreadCrumb(\"/Recibos\") }, Titulo: props.cliente.Codigo },\r\n { Click: () => { props.clickBreadCrumb(\"/Recibos/TipoCredito\") }, Titulo: props.cuotas[0].TipoPedido },\r\n { Titulo: \"Facturas\" }\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.cliente &&\r\n
    \r\n \r\n Cancelar\r\n \r\n )}\r\n >\r\n \r\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 RecibosBreadCrumb;","import React from 'react';\r\nimport ReactExport from 'react-export-excel';\r\nimport Button from '@material-ui/core/Button';\r\nimport { useSelector } from 'react-redux';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\n\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\n\r\nexport const DescargarCuentaExcel = props => {\r\n const cuentaCorriente = useSelector(e => e.CuentaImprimir);\r\n\r\n const conversionData = () => {\r\n return cuentaCorriente.map(e => ({\r\n Tipo: e.Tipo,\r\n Factura: e.Factura,\r\n FechaFactura: e.FechaFactura,\r\n FechaVencimiento: e.FechaVencimiento,\r\n Dias: e.Dias,\r\n TotalFactura: e.TotalFactura,\r\n Saldo: e.Saldo,\r\n FechaMaxDescuento: e.IdAcuerdoxCliente != null ? \"AV\" : e.FechaMaxDescuento,\r\n DiasV: e.IdAcuerdoxCliente != null ? \"\" : e.DiasV,\r\n Descuento: e.IdAcuerdoxCliente != null ? \"AV\" : e.Descuento,\r\n APagar: e.APagar\r\n }));\r\n }\r\n\r\n const handleClickDownload = () => {\r\n Swal.fire({\r\n title: \"Ā”Documento Descargado!\",\r\n text: \"Revise su panel de notificaciones o su carpeta de descargas.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n\r\n return (\r\n Generar Excel}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react'\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport moment from 'moment';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport Button from '@material-ui/core/Button';\r\nimport jsPDF from \"jspdf\";\r\nimport Logo from 'assets/img/logo/LogoSinLetrasB.png';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport \"jspdf-autotable\";\r\nimport 'moment/locale/es';\r\nimport { DescargarCuentaExcel } from 'components/Cartera/DescargarCuentaExcel';\r\nimport { PermisoCuentaCorrientePDF, PermisoCuentaCorrienteExcel } from 'components/Seguridad/Permisos';\r\nimport axios from 'axios';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { verificarConexion } from 'utils/http';\r\nimport { ObtenerCoordenadas } from 'utils/common';\r\nmoment.locale('es')\r\n\r\nconst columnRender = (columnMeta, updateDirection) => {\r\n return {columnMeta.name};\r\n}\r\nconst columns = [\r\n\r\n { name: 'Documento', label: 'Documento', options: { customHeadRender: columnRender } },\r\n { name: 'Tipo', label: 'Tipo', options: { customHeadRender: columnRender } },\r\n { name: 'Numero', label: 'Numero', options: { customHeadRender: columnRender } },\r\n { name: 'Acuerdo No.', label: 'Acuerdo No.', options: { customHeadRender: columnRender } },\r\n { name: 'Numero Cuota', label: 'Numero Cuota', options: { customHeadRender: columnRender } },\r\n { name: 'Fecha', label: 'Fecha', options: { customHeadRender: columnRender } },\r\n { name: 'Vencimiento', label: 'Vencimiento', options: { customHeadRender: columnRender } },\r\n { name: 'Dias', label: 'Dias', options: { customHeadRender: columnRender } },\r\n { name: 'Valor', label: 'Valor', options: { customHeadRender: columnRender } },\r\n { name: 'Saldo', label: 'Saldo', options: { customHeadRender: columnRender } },\r\n { name: 'Fecha Descuento', label: 'Fecha Descuento', options: { customHeadRender: columnRender } },\r\n { name: 'Dias', label: 'Dias', options: { customHeadRender: columnRender } },\r\n { name: 'Descuento', label: 'Descuento', options: { customHeadRender: columnRender } },\r\n { name: 'A Pagar', label: 'A Pagar', options: { customHeadRender: columnRender } },\r\n { name: 'Moneda', label: 'Moneda', options: { customHeadRender: columnRender } },\r\n { name: 'ExcepciĆ³n Descuento', label: 'ExcepciĆ³n Descuento', options: { customHeadRender: columnRender } },\r\n]\r\n\r\nif (localStorage.getItem('empresa') === 'IMGT') {\r\n columns.splice(3, 0, { name: 'Numero FEL', label: 'Numero FEL', options: { customHeadRender: columnRender } })\r\n}\r\n\r\nconst numberWithCommas = (numero) => {\r\n numero = Number(numero)\r\n return (numero.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'));\r\n}\r\n\r\nconst CuentaCorrienteTable = props => {\r\n const cuentaCorriente = useSelector(e => e.CuentaImprimir);\r\n const clientesPedido = useSelector(c => c.clientes);\r\n const clientesRecibo = useSelector(c => c.Recibo);\r\n const permisos = useSelector(e => e.Permisos[0]);\r\n const dispatch = useDispatch();\r\n\r\n let data = []\r\n const options = {\r\n filter: true,\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pĆ”gina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n };\r\n data = props.CuotasCuentaCorriente.map(cuenCorr => {\r\n return Object.values(cuenCorr)\r\n })\r\n\r\n const generatePDF = () => {\r\n const unit = \"pt\";\r\n const size = \"letter\";\r\n const orientation = \"portrait\";\r\n\r\n const doc = new jsPDF(orientation, unit, size);\r\n doc.setFontSize(7);\r\n\r\n const title = `\r\n ESTADO DE CUENTA PROVISIONAL\r\n\r\n Codigo: ${props.clienteSelected.Codigo} Fecha: ${moment(new Date()).format(\"DD/MM/YYYY\")}\r\n Nombre: ${props.clienteSelected.Nombre}\r\n DirecciĆ²n: ${props.clienteSelected.Direccion}\r\n `;\r\n\r\n const headers = [['Documento', 'Numero', 'Fecha', 'Vencimiento', 'Dias', 'Valor', 'Saldo', 'Descuento', 'Dias', 'Descuento', 'A Pagar']];\r\n const data = cuentaCorriente.map(e => [\r\n e.Tipo,\r\n e.Factura,\r\n e.FechaFactura,\r\n e.FechaVencimiento,\r\n e.Dias,\r\n numberWithCommas(e.TotalFactura),\r\n numberWithCommas(e.Saldo),\r\n e.IdAcuerdoxCliente != null ? \"AV\" : e.FechaMaxDescuento,\r\n e.IdAcuerdoxCliente != null ? \"\" : e.DiasV,\r\n e.IdAcuerdoxCliente != null ? \"AV\" : numberWithCommas(e.Descuento),\r\n numberWithCommas(e.APagar)\r\n ]);\r\n const cantidadFacturas = data.length;\r\n const totalValor = cuentaCorriente.reduce((pre, curr) => (pre + curr.TotalFactura), 0);\r\n const totalSaldo = cuentaCorriente.reduce((pre, curr) => (pre + curr.Saldo), 0);\r\n const totalDescuento = cuentaCorriente.reduce((pre, curr) => (pre + Number(curr.IdAcuerdoxCliente != null ? 0 : curr.Descuento)), 0);\r\n const totalPagar = cuentaCorriente.reduce((pre, curr) => (pre + curr.APagar), 0);\r\n\r\n data.push([`Facturas: ${cantidadFacturas}`, '', '', '', '', numberWithCommas(totalValor), numberWithCommas(totalSaldo), '', '', numberWithCommas(totalDescuento), numberWithCommas(totalPagar)]);\r\n\r\n let content = {\r\n styles: { fontSize: 7 },\r\n startY: 50,\r\n head: headers,\r\n body: data,\r\n didDrawPage: function (data) {\r\n if (Logo) {\r\n doc.addImage(Logo, 'PNG', 40, 5, 55, 35);\r\n }\r\n }\r\n }\r\n\r\n doc.text(title, 180, 0);\r\n doc.autoTable(content);\r\n doc.save(`Reporte-${props.clienteSelected.Codigo}.pdf`)\r\n\r\n Swal.fire({\r\n title: \"Ā”Documento Descargado!\",\r\n text: \"Revise su panel de notificaciones o su carpeta de descargas.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n\r\n const actualizarCoordenadasPedido = (longitud, latitud) => {\r\n let copiaClientes = clientesPedido;\r\n let indice = copiaClientes.map(x => x.Codigo).indexOf(props.clienteSelected.Codigo);\r\n copiaClientes[indice].Longitud = longitud;\r\n copiaClientes[indice].Latitud = latitud;\r\n dispatch({ type: 'STORE_CLIENTES', clientes: copiaClientes });\r\n }\r\n\r\n const actualizarCoordenadasRecibo = (longitud, latitud) => {\r\n let copiaClientes = clientesRecibo.clientes;\r\n let indice = copiaClientes.map(x => x.Codigo).indexOf(props.clienteSelected.Codigo);\r\n copiaClientes[indice].Longitud = longitud;\r\n copiaClientes[indice].Latitud = latitud;\r\n dispatch({ type: 'STORE_RECIBO_CLIENTES', clientes: copiaClientes });\r\n }\r\n\r\n const actualizarData = request => {\r\n const { latitud, longitud } = request.data;\r\n actualizarCoordenadasPedido(longitud, latitud);\r\n actualizarCoordenadasRecibo(longitud, latitud);\r\n }\r\n\r\n const enviarCoordenadasApi = async (coor) => {\r\n try {\r\n const data = {\r\n cliente: props.clienteSelected.Codigo,\r\n latitud: coor.latitude,\r\n longitud: coor.longitude\r\n }\r\n const request = await axios.post(`${APIURL}/api/cliente/coordenadas`, data);\r\n actualizarData(request);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Coordenadas del cliente han sido actualizadas con Ć©xito.\",\r\n type: 'success',\r\n confirmButtonText: 'OK',\r\n });\r\n } catch (err) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Ha ocurrido un error y no se pudo obtener las coordenadas.\",\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n }\r\n\r\n const mensajeErrorCoordenadas = () => {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Ha ocurrido un error y no se pudo obtener las coordenadas.\",\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n\r\n const confirmacionCoordenadas = async () => {\r\n let isOnline = await verificarConexion();\r\n if (localStorage.getItem(\"Conexion\") === \"Online\" && isOnline) {\r\n Swal.fire({\r\n title: 'Confirmar',\r\n text: `ĀæEstĆ” seguro de realizar el pinneo en la ubicacĆ³n actual?`,\r\n type: 'question',\r\n showCancelButton: true,\r\n confirmButtonColor: '#06bf53',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'SĆ­',\r\n cancelButtonText: 'No',\r\n }).then((result) => {\r\n if (result.value) {\r\n ObtenerCoordenadas((position) => {\r\n enviarCoordenadasApi({\r\n longitude: position.coords.longitude,\r\n latitude: position.coords.latitude\r\n })\r\n }, (error) => {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Ha ocurrido un error y no se pudo obtener las coordenadas.\",\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n });\r\n }\r\n })\r\n } else {\r\n Swal.fire({\r\n title: 'Modo Offline',\r\n text: \"Se encuentra en modo offline, no puede actualizar registros.\",\r\n type: 'warning',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n }\r\n\r\n const verificarObtencionCoordenadas = () => {\r\n navigator.permissions.query({ name: 'geolocation' }).then(res => {\r\n if (res.state === \"granted\") {\r\n confirmacionCoordenadas();\r\n } else {\r\n Swal.fire({\r\n title: 'Advertencia',\r\n text: \"Habilite la geoposiciĆ³n en su dispositivo para realizar esta acciĆ³n.\",\r\n type: 'warning',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n }).catch(err => {\r\n mensajeErrorCoordenadas()\r\n })\r\n }\r\n\r\n React.useEffect(() => {\r\n }, [props.clienteSelected])\r\n\r\n return (\r\n \r\n {(!props.cartera) && (<>\r\n {(permisos.AsesoresUsuario.length === 1) && }\r\n )}\r\n {(cuentaCorriente.length > 0 && props.visible) && (
    \r\n {PermisoCuentaCorrientePDF() && }\r\n {PermisoCuentaCorrienteExcel() && }\r\n
    )}\r\n \r\n
    \r\n )\r\n}\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MuiToolbar: {\r\n root: {\r\n display: 'flex !important',\r\n }\r\n },\r\n MUIDataTableToolbar: {\r\n actions: {\r\n textAlign: 'end !important',\r\n }\r\n }\r\n }\r\n})\r\n\r\nexport default CuentaCorrienteTable;\r\n\r\n\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux'\r\nimport SelectCliente from 'components/Recibos/SelectCliente/SelectCliente'\r\nimport FacturaTable from 'components/Recibos/Facturas/FacturaTable'\r\n// import SubFacturaTable from 'components/Recibos/Facturas/SubFacturaTable'\r\nimport CuotasTable from 'components/Recibos/Facturas/CuotasTable'\r\nimport CuotasAgrupadasTable from 'components/Recibos/Facturas/CuotasAgrupadasTable'\r\nimport DetalleRecibo from 'components/Recibos/Recibo/DetalleRecibo'\r\nimport Recibo from 'components/Recibos/Recibo/Recibo'\r\nimport { ClipLoader } from 'react-spinners';\r\nimport RecibosBreadCrumb from 'components/Recibos/RecibosBreadCrumb/RecibosBreadCrumb';\r\nimport FacturasModal from \"components/Recibos/FacturasModal/FacturasModal\";\r\n// import TableCliente from 'components/Recibos/SelectCliente/TableClienteSelected'\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { Route, Switch, matchPath } from 'react-router-dom';\r\nimport CuentaCorrienteTable from '../CuentaCorriente/CuentaCorienteTable'\r\nimport moment from 'moment';\r\nimport 'moment/locale/es';\r\nimport { FaEye } from \"react-icons/fa\";\r\nimport {FiAlertTriangle} from 'react-icons/fi';\r\nimport styles from \"components/Recibos/Facturas/CuotasTable.module.css\";\r\nimport {useDispatch} from 'react-redux';\r\nimport {IsAllow} from 'components/Seguridad/Permisos';\r\nimport honduras from 'utils/img/honduras.png';\r\nimport costarica from 'utils/img/costarica.png';\r\nimport guatemala from 'utils/img/guatemala.png';\r\nimport salvador from 'utils/img/salvador.jpg';\r\nimport { get } from 'utils/http';\r\nimport axios from 'axios';\r\nimport { verificarConexion } from 'utils/http';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\n\r\nmoment.locale('es');\r\nconst Recibos = (props) => {\r\n const [loading, setLoading] = useState(true);\r\n const [isCreditoVencido,setCreditoVencido] = useState(false);\r\n const [DataModal, setDataModal] = useState([]);\r\n const [openModal, setOpenModal] = useState(false);\r\n const [clientes,setClientes] = useState([]);\r\n const [clientesFiltrados,setClientesFiltrados] = useState([]);\r\n const [paisSeleccionado,setPaisSeleccionado] = useState(null);\r\n const dispatch = useDispatch();\r\n const creditoVencido = (vencido)=>{\r\n setCreditoVencido(vencido);\r\n localStorage.setItem('isVencido',vencido);\r\n }\r\n const urlApi = APIURL;\r\n // const [tipoPedido, setTipoPedido] = useState(null);\r\n // const [clientePreSelected, setClientePreSelected] = useState(null);\r\n\r\n useEffect(() => {\r\n if(!IsAllow(props.match.url))\r\n {\r\n props.history.push('/home');\r\n }\r\n // if(props.location.state&&props.location.state.Cliente) {\r\n // ? props.location.state.CodigoCliente : null\r\n // }\r\n // if(props.)\r\n if (matchPath(props.match.url,\r\n {\r\n path: props.location.pathname,\r\n exact: true,\r\n }\r\n )) {\r\n\r\n CargarDatos()\r\n } else {\r\n setLoading(false);\r\n }\r\n // eslint-disable-next-line\r\n }, [])\r\n useEffect(() => {\r\n if (props.location.state && props.location.state.CodigoCliente && props.clientes && props.clientes.length > 0) {\r\n let cliente = props.clientes.find(cl => {\r\n return cl.Codigo === props.location.state.CodigoCliente;\r\n });\r\n props.onStoreReciboClienteSelected(cliente);\r\n props.onStoreReciboFacturasXCliente(cliente.Facturas);\r\n }\r\n setClientes(props.clientes);\r\n setClientesFiltrados(props.clientes);\r\n // eslint-disable-next-line\r\n }, [props.clientes]);\r\n useEffect(() => {\r\n if (props.clienteSelected) {\r\n calcularCuotasCuentaCorriente();\r\n }\r\n // eslint-disable-next-line\r\n }, [props.clienteSelected])\r\n\r\n const ModuloConfiguraciones = () => {\r\n cargarBancos();\r\n cargarTipoPago();\r\n cargarMonedasGlobal();\r\n cargarAbreviacionMonedas();\r\n }\r\n\r\n const cargarAbreviacionMonedas = () => {\r\n fetch(`${urlApi}/api/moneda`)\r\n .then(res=>res.json())\r\n .then(data=>{props.onStoreAbreviacionMonedas(data);})\r\n .catch(error=>console.log(error))\r\n}\r\n \r\n const cargarBancos = () => {\r\n fetch(`${urlApi}/api/banco`)\r\n .then(res=>res.json())\r\n .then(data=>{props.onSetStoreBancos(data);})\r\n .catch(error=>console.log(error))\r\n }\r\n\r\n const cargarTipoPago = async () => {\r\n fetch(`${urlApi}/api/tipopago`)\r\n .then(res=>res.json())\r\n .then(data=>{props.onSetStoreTipoPago(data);})\r\n .catch(error=>console.log(error))\r\n }\r\n\r\n const cargarMonedasGlobal = async () => {\r\n fetch(`${urlApi}/api/moneda/monedas`)\r\n .then(res => res.json())\r\n .then(data => { props.onStoreMonedas(data); })\r\n .catch(error => console.log(error))\r\n}\r\n const calcularCuotasCuentaCorriente = () => {\r\n let agrupacionCuentCorriente = [];\r\n let agrupacionCuentaCorriente = [];\r\n let totalSaldo = 0;\r\n let totalAPagar = 0;\r\n props.clienteSelected.AcuerdosXTipoPedido.forEach(acuXTip => {\r\n acuXTip.Acuerdos.forEach(acu => {\r\n acu.Facturas.forEach(fact => {\r\n fact.Cuotas.filter(c=> c.Saldo > 0).forEach(cuot => {\r\n let diasVencimiento = (moment().diff(cuot.FechaVencimiento, 'days') * -1) + 1;\r\n let diasDescuento = (moment().diff(cuot.FechaMaxDescuento, 'days') * -1) + 1;\r\n let aPagar = cuot.Saldo;\r\n if (diasDescuento >= 0 && cuot.Descuento && cuot.IdAcuerdoxCliente === null) {\r\n aPagar -= cuot.Descuento;\r\n }\r\n totalSaldo += cuot.Saldo;\r\n totalAPagar += aPagar;\r\n let colorFuente = fact.facturaEnTransito ? \"font-weight-bold \" + styles.InfoText : diasVencimiento < 0 ? \"text-danger font-weight-bold\" : diasVencimiento < 15 ? \"font-weight-bold \" + styles.WarnRecibo : \"\";\r\n if(localStorage.getItem('empresa')==='IMGT')\r\n {\r\n agrupacionCuentCorriente.push({\r\n Tipo: {cuot.TipoDocumento}, // Tipo\r\n TipoPedido: {acuXTip.TipoPedido},// TipoPedido\r\n Factura: {fact.Factura},// Factura\r\n NumeroFEL: {fact.NumeroFEL},\r\n IdAcuerdoxCliente: {cuot.IdAcuerdoxCliente},// IdAcuerdoxCliente\r\n NumeroCuota: {cuot.NumeroCuota},// NumeroCuota\r\n FechaFactura: {moment(cuot.FechaFactura).format(\"DD/MM/YYYY\")},// FechaFactura\r\n FechaVencimiento: {moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\") === '01/01/1900' ? '' : moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\")},// FechaVencimiento\r\n Dias: {isNaN(diasVencimiento) ? \"\":diasVencimiento},// Dias\r\n Valor: {cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Valor\r\n Saldo: {cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Saldo\r\n FechaMaxDescuento: {moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" && moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== '01/01/1900'? moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") : \"\"},// FechaMaxDescuento\r\n DiasV: {isNaN(diasDescuento) ? \"\":diasDescuento}, // DiasV\r\n Descuento: {cuot.Descuento.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Descuento\r\n APagar: {aPagar.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// APagar\r\n idmoneda: {cuot.IdMoneda},// idmoneda\r\n excepcionDescuento: {fact.ExcepcionDescuento ? \"Si\":\"No\"}\r\n });\r\n\r\n agrupacionCuentaCorriente.push({\r\n Tipo: cuot.TipoDocumento, // Tipo\r\n TipoPedido: acuXTip.TipoPedido,// TipoPedido\r\n Factura: fact.Factura,// Factura\r\n NumeroFEL: fact.NumeroFEL,\r\n IdAcuerdoxCliente: cuot.IdAcuerdoxCliente,// IdAcuerdoxCliente\r\n NumeroCuota: cuot.NumeroCuota,// NumeroCuota\r\n FechaFactura: moment(cuot.FechaFactura).format(\"DD/MM/YYYY\"),// FechaFactura\r\n FechaVencimiento: moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\"),// FechaVencimiento\r\n Dias: isNaN(diasVencimiento) ? \"\":diasVencimiento,// Dias\r\n Valor: cuot.ValorCuota,// Valor\r\n TotalFactura: fact.TotalFactura,// TotalFactura\r\n Saldo:cuot.Saldo,// Saldo\r\n FechaMaxDescuento: moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" && moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== '01/01/1900' ? moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") : \"\",// FechaMaxDescuento\r\n DiasV: isNaN(diasDescuento) ? \"\":diasDescuento, // DiasV\r\n Descuento: cuot.Descuento,// Descuento\r\n APagar: aPagar,// APagar\r\n idmoneda: cuot.IdMoneda,// idmoneda\r\n });\r\n }\r\n else\r\n { \r\n agrupacionCuentCorriente.push({\r\n Tipo: {cuot.TipoDocumento}, // Tipo\r\n TipoPedido: {acuXTip.TipoPedido},// TipoPedido\r\n Factura: {fact.Factura},// Factura\r\n IdAcuerdoxCliente: {cuot.IdAcuerdoxCliente},// IdAcuerdoxCliente\r\n NumeroCuota: {cuot.NumeroCuota},// NumeroCuota\r\n FechaFactura: {moment(cuot.FechaFactura).format(\"DD/MM/YYYY\")},// FechaFactura\r\n FechaVencimiento: {moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\")},// FechaVencimiento\r\n Dias: {isNaN(diasVencimiento) ? \"\":diasVencimiento},// Dias\r\n Valor: {cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Valor\r\n Saldo: {cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Saldo\r\n FechaMaxDescuento: {moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" && moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== '01/01/1900'? moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") : \"\"},// FechaMaxDescuento\r\n DiasV: {isNaN(diasDescuento) || moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") === '01/01/1900'? \"\":diasDescuento}, // DiasV\r\n Descuento: {cuot.Descuento.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Descuento\r\n APagar: {aPagar.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// APagar\r\n idmoneda: {cuot.IdMoneda},// idmoneda\r\n excepcionDescuento: {fact.ExcepcionDescuento ? \"Si\":\"No\"}\r\n });\r\n\r\n agrupacionCuentaCorriente.push({\r\n Tipo: cuot.TipoDocumento, // Tipo\r\n TipoPedido: acuXTip.TipoPedido,// TipoPedido\r\n Factura: fact.Factura,// Factura\r\n IdAcuerdoxCliente: cuot.IdAcuerdoxCliente,// IdAcuerdoxCliente\r\n NumeroCuota: cuot.NumeroCuota,// NumeroCuota\r\n FechaFactura: moment(cuot.FechaFactura).format(\"DD/MM/YYYY\"),// FechaFactura\r\n FechaVencimiento: moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\"),// FechaVencimiento\r\n Dias: isNaN(diasVencimiento) ? \"\":diasVencimiento,// Dias\r\n Valor: cuot.ValorCuota,// Valor\r\n TotalFactura: fact.TotalFactura,// TotalFactura\r\n Saldo:cuot.Saldo,// Saldo\r\n FechaMaxDescuento: moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" ? moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") : \"\",// FechaMaxDescuento\r\n DiasV: isNaN(diasDescuento) ? \"\":diasDescuento, // DiasV\r\n Descuento: cuot.Descuento,// Descuento\r\n APagar: aPagar,// APagar\r\n idmoneda: cuot.IdMoneda,// idmoneda\r\n });\r\n }\r\n });\r\n });\r\n });\r\n });\r\n agrupacionCuentCorriente.sort((a, b) => {\r\n if (moment(a.FechaVencimiento.props.children, \"DD/MM/YYYY\").isAfter(moment(b.FechaVencimiento.props.children, \"DD/MM/YYYY\"), 'day')) {\r\n return 1;\r\n }\r\n if (moment(a.FechaVencimiento.props.children, \"DD/MM/YYYY\").isBefore(moment(b.FechaVencimiento.props.children, \"DD/MM/YYYY\"), 'day')) {\r\n return -1;\r\n }\r\n if (moment(a.FechaVencimiento.props.children, \"DD/MM/YYYY\").isSame(moment(b.FechaVencimiento.props.children, \"DD/MM/YYYY\"), 'day')) {\r\n return 0;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n agrupacionCuentCorriente.sort((a, b) => {\r\n if (a.Factura.props.children < b.Factura.props.children) {\r\n\r\n return -1;\r\n }\r\n if (a.Factura.props.children > b.Factura.props.children) {\r\n\r\n return 1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n agrupacionCuentCorriente.sort((a, b) => {\r\n if (a.NumeroCuota.props.children < b.NumeroCuota.props.children) {\r\n\r\n return -1;\r\n }\r\n if (a.NumeroCuota.props.children > b.NumeroCuota.props.children) {\r\n\r\n return 1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n agrupacionCuentaCorriente.sort((a, b) => {\r\n return moment(a.FechaVencimiento).diff(b.FechaVencimiento);\r\n });\r\n\r\n agrupacionCuentaCorriente.sort((a, b) => {\r\n return a.FacturaTotales,// Tipo\r\n TipoPedido: null,// TipoPedido\r\n Factura: null,// Factura\r\n IdAcuerdoxCliente: null,// IdAcuerdoxCliente\r\n NumeroCuota: null,// NumeroCuota\r\n FechaFactura: null,// FechaFactura\r\n FechaVencimiento: null,// FechaVencimiento\r\n Dias: null,// Dias\r\n Valor: null,// Valor\r\n Saldo: (),// Saldo\r\n FechaMaxDescuento: null,// FechaMaxDescuento\r\n DiasV: null,// DiasV\r\n Descuento: null,// Descuento\r\n APagar: (),// APagar\r\n idmoneda: null,// idmoneda\r\n });\r\n\r\n props.onStoreReciboCuotasCuentaCorriente(agrupacionCuentCorriente);\r\n props.onStoreCuotasImprimir(agrupacionCuentaCorriente);\r\n }\r\n const FacturasVencidas = (TipoCredito)=>{\r\n const acuerdoFiltrado = props.clienteSelected.AcuerdosXTipoPedido.filter(x=>x.TipoPedido!==TipoCredito);\r\n let facturas = [];\r\n acuerdoFiltrado.forEach(e=>{ \r\n e.Acuerdos.forEach(acu => {\r\n acu.Facturas.forEach(fact => {\r\n fact.Cuotas.forEach(cuot => {\r\n\r\n const fechaVencimiento = new Date(cuot.FechaVencimiento);\r\n const fechaActual = new Date();\r\n const isVencida = fechaActual>fechaVencimiento;\r\n \r\n if(isVencida)\r\n {\r\n facturas.push(ProcesarFactura(cuot,TipoCredito,e.TipoCredito)); \r\n }\r\n })\r\n \r\n })\r\n })\r\n });\r\n setDataModal(facturas);\r\n setOpenModal(true);\r\n \r\n }\r\n const ProcesarFactura = (factura,credito)=>{\r\n let dias = moment(factura.FechaVencimiento).diff(moment(new Date()), 'days')\r\n let diasDescuento = 0;\r\n let fechaDescuento = moment(factura.FechaMaxDescuento);\r\n if (fechaDescuento.isValid()) {\r\n diasDescuento = moment(factura.FechaMaxDescuento).diff(moment(new Date()), 'days') + 1;\r\n }\r\n\r\n let facturatmp={\r\n NumeroFactura: factura.Factura,\r\n Dias: dias,\r\n DiasDescuento: diasDescuento,\r\n Tipo: factura.TipoDocumento,\r\n Fecha: moment(factura.FechaFactura).format(\"DD/MM/YYYY\"),\r\n Vencimiento: moment(factura.FechaVencimiento).format(\"DD/MM/YYYY\"),\r\n FechaDescuento: fechaDescuento.isValid() ? fechaDescuento.format(\"DD/MM/YYYY\") : \"\",\r\n Valor: factura.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Saldo: factura.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,') \r\n }\r\n return facturatmp;\r\n}\r\n const CargarDatos = () => {\r\n cargarClientes()\r\n }\r\n\r\n const cargarClientes = async () => {\r\n if (props.UsuarioOficina) {\r\n fetch(urlApi + '/api/cliente/cuenta', {\r\n headers: {\r\n Authorization: 'Bearer ' + localStorage.getItem('token')\r\n }\r\n }).then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '')\r\n window.location.reload()\r\n }\r\n if (res.status === 200) {\r\n res.json().then(\r\n result => {\r\n setLoading(false);\r\n props.onStoreReciboClientes(result);\r\n setClientes(result);\r\n setClientesFiltrados(result);\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n error => {\r\n\r\n }\r\n )\r\n }\r\n })\r\n\r\n setClientes(props.clientes);\r\n setClientesFiltrados(props.clientes);\r\n } else {\r\n const { data, error } = await get(`${urlApi}/api/cliente/cuenta`, \"Recibo\", \"clientes\");\r\n if (error) {\r\n console.log(error);\r\n } else {\r\n setLoading(false);\r\n props.onStoreReciboClientes(data);\r\n setClientes(data);\r\n setClientesFiltrados(data);\r\n }\r\n }\r\n }\r\n\r\n const cargarCliente = async () => {\r\n if (localStorage.getItem(\"Conexion\") === \"Online\") {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n try {\r\n let request = await axios.get(`${urlApi}/api/cliente/cuenta/${props.clienteSelected.Codigo}`, { headers: { Authorization: 'Bearer ' + localStorage.getItem('token') } });\r\n let clientesStorage = props.clientes;\r\n let clientesStorageCartera = props.cartera;\r\n let indexCartera = clientesStorageCartera.map(e => e.Codigo).indexOf(props.clienteSelected.Codigo);\r\n let index = clientesStorage.map(e => e.Codigo).indexOf(props.clienteSelected.Codigo);\r\n clientesStorage[index] = request.data;\r\n clientesStorageCartera[indexCartera].AcuerdosXTipoPedido = request.data.AcuerdosXTipoPedido;\r\n props.onStoreClientesCartera(clientesStorageCartera);\r\n props.onStoreReciboClientes(clientesStorage);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const cargarMonedas = () =>{\r\n let empresa = localStorage.getItem('EmpresaCliente');\r\n const monedas = props.monedasGlobal.filter(x=>x.Empresa===empresa);\r\n props.onSaveMonedas(monedas);\r\n /*fetch(`${urlApi}/api/moneda/${empresa}`)\r\n .then(res=>res.json())\r\n .then(data=>{props.onSaveMonedas(data)})\r\n .catch(error=>console.log(error))*/\r\n }\r\n const cargarFacturasXCliente = () => {\r\n if (props.clienteSelected.FacturacionEntrega === \"Todo\") {\r\n Swal.fire({\r\n title: 'Bloqueado',\r\n text: 'Actualmente no se tiene relaciĆ³n comercial con el cliente. Su cuenta ha sido bloqueada para todo tipo de transacciĆ³n.',\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n } else {\r\n props.onStoreReciboFacturasXCliente(props.clienteSelected.Facturas);\r\n cargarMonedas();\r\n props.history.push(`/Recibos/TipoCredito`);\r\n }\r\n }\r\n\r\n const cargarCuotasXCliente = (cuotas) => {\r\n props.onStoreReciboCuotasXCliente(cuotas);\r\n\r\n props.history.push(`/Recibos/${cuotas[0].TipoPedido}/Facturas`);\r\n }\r\n\r\n const CargarCuotasAPagar = (cuotas) => {\r\n props.onStoreReciboCuotasAPagar(cuotas);\r\n props.history.push(`/Recibos/Detalle`);\r\n }\r\n const CargarImpresion = (recibosAplicados) => {\r\n props.history.push({pathname:`/Recibos/ImprimirRecibo`,state:recibosAplicados});\r\n }\r\n\r\n const Finalizar = () => {\r\n //setModalRecibo(false);\r\n cargarCliente();\r\n dispatch({type:'delete_pedidoselected'})\r\n props.history.push(`/recibos`);\r\n}\r\n const NavHome = () => {\r\n props.history.push(`/Recibos`);\r\n }\r\n\r\n const seleccionarPais = (pais)=>{\r\n if(paisSeleccionado===pais){\r\n setPaisSeleccionado(null);\r\n setClientesFiltrados(clientes);\r\n }else{\r\n const filtrados = clientes.filter(x=>x.EmpresaId===pais);\r\n setPaisSeleccionado(pais);\r\n setClientesFiltrados(filtrados);\r\n }\r\n }\r\n \r\n const BreadCrumb = () => {\r\n return (\r\n \r\n\r\n \r\n )\r\n }\r\n\r\n const clickBreadCrumb = (nuevaRuta) => {\r\n props.history.push(nuevaRuta);\r\n }\r\n\r\n const cancelarRecibo = () => {\r\n \r\n NavHome();\r\n props.onStoreReciboClienteSelected(null);\r\n props.onStoreReciboCuotasXCliente(null);\r\n props.onStoreReciboCuotasAPagar(null);\r\n props.onStoreReciboFacturasXCliente(null);\r\n\r\n }\r\n\r\n const obtenerCorrelativo = async () => {\r\n var correlativo = \"\";\r\n if (localStorage.getItem(\"Conexion\") === \"Online\") {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n try {\r\n const request = await axios.get(`${urlApi}/api/recibos/correlativo/${localStorage.getItem('empresa')}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n }\r\n });\r\n return { correlativo: request.data };\r\n }\r\n catch (err) {\r\n return { correlativo };\r\n }\r\n }\r\n }\r\n return { correlativo }\r\n }\r\n\r\n let Cliente = (\r\n
    \r\n

    {props.clienteSelected ? props.clienteSelected.Codigo + ' ' + props.clienteSelected.Nombre : ''}

    \r\n
    \r\n
    \r\n );\r\n const SelectedCliente = cliente => {\r\n\r\n for (let AcuerdosXTipoPedido of cliente.AcuerdosXTipoPedido) {\r\n\r\n for (let Acuerdos of AcuerdosXTipoPedido.Acuerdos) {\r\n let acuerdosFacturas = Acuerdos.Facturas.filter(f => f.Descuento === 0);\r\n\r\n for (let Facturas of Acuerdos.Facturas) {\r\n Facturas.FechaVencimiento = moment(Facturas.FechaVencimiento).add(Facturas.DiasGracia, 'days');\r\n\r\n if (Facturas.SinDescuento) {\r\n Facturas.Descuento = 0;\r\n }\r\n\r\n for (let Cuotas of Facturas.Cuotas) {\r\n Cuotas.FechaVencimiento = moment(Cuotas.FechaVencimiento).add(Cuotas.DiasGracia, 'days');\r\n\r\n if (Cuotas.SinDescuento) {\r\n Cuotas.Descuento = \"0.00\";\r\n }\r\n }\r\n }\r\n\r\n let descuentoAplicadoCuotaAcuerdo = {};\r\n for (let Facturas of acuerdosFacturas) {\r\n let Descuento = cliente.MaestroDescuento.length > 0 ? cliente.MaestroDescuento[0].DescuentoDetalle.filter(d => d.Linea === Facturas.IdLinea) : [];\r\n let noAplicaDescuento = Descuento.length === 0;\r\n let porcentajeDescuento = 0;\r\n let diasDescuento = 0;\r\n\r\n if (Descuento.length !== 0) {\r\n const descuentoArreglo = Descuento.find(x => x.CodigoDescuento === Facturas.CodigoDescuento);\r\n if (descuentoArreglo !== undefined) {\r\n porcentajeDescuento = descuentoArreglo.Porcentaje;\r\n diasDescuento = descuentoArreglo.DiasDescuento;\r\n }\r\n }\r\n\r\n let totalDocumentosAplicados = 0;\r\n\r\n if (Facturas.DocumentosAplicadosAFacturas.length > 0) {\r\n totalDocumentosAplicados = Facturas.DocumentosAplicadosAFacturas.reduce((prev, curr) => prev + curr.Valor, 0);\r\n };\r\n\r\n Facturas.Descuento = noAplicaDescuento ? 0 : Facturas.TotalFactura * (porcentajeDescuento / 100);\r\n\r\n if (Facturas.SinDescuento) {\r\n Facturas.Descuento = 0;\r\n }\r\n\r\n for (let Cuotas of Facturas.Cuotas) {\r\n\r\n let valordescuento = 0;\r\n if (AcuerdosXTipoPedido.AgrupaPorCuota === true) { \r\n if (Acuerdos.DescuentoEnAcuerdos !== null) {\r\n let Flete = 0;\r\n\r\n let DocumentoCuota = cliente.DocumentosAplicadosxCuotas.find(x => x.IdAcuerdoxCliente === Acuerdos.Acuerdo && x.NumeroCuota === Cuotas.NumeroCuota);\r\n if (DocumentoCuota !== undefined) {\r\n totalDocumentosAplicados = DocumentoCuota.Valor;\r\n Flete = DocumentoCuota.Flete;\r\n }\r\n\r\n if (Acuerdos.DescuentoEnAcuerdos != null) {\r\n let consumidoCuota = Cuotas.SaldoCuota - Cuotas.DisponibleCuota;\r\n let totalfactura = consumidoCuota - totalDocumentosAplicados - Flete;\r\n valordescuento = totalfactura * (Acuerdos.DescuentoEnAcuerdos.Porcentaje / 100);\r\n }\r\n\r\n if (descuentoAplicadoCuotaAcuerdo[`${Cuotas.IdAcuerdoxCliente}-${Cuotas.NumeroCuota}`] === undefined) {\r\n Cuotas.Descuento = valordescuento.toFixed(2);\r\n descuentoAplicadoCuotaAcuerdo[`${Cuotas.IdAcuerdoxCliente}-${Cuotas.NumeroCuota}`] = true;\r\n } else {\r\n Cuotas.Descuento = \"0.00\";\r\n }\r\n\r\n Cuotas.DescuentoBack = valordescuento.toFixed(2);\r\n }\r\n }\r\n else {\r\n let fechaMaxDescuent = noAplicaDescuento ? moment(Facturas.FechaFactura).format() : moment(Facturas.FechaFactura).add((diasDescuento + cliente.DiasTransporte), 'days').format();\r\n\r\n Facturas.FechaMaxDescuento = fechaMaxDescuent;\r\n Cuotas.FechaMaxDescuento = fechaMaxDescuent;\r\n\r\n let totalfactura = Cuotas.ValorCuota - totalDocumentosAplicados - Cuotas.Flete;\r\n let fechaActual = new Date().setHours(0, 0, 0, 0);;\r\n let diasTranscurridos = Math.abs(moment(Facturas.FechaFactura).diff(moment(fechaActual), 'days'));\r\n\r\n if (diasTranscurridos > 60 && cliente.EmpresaId === \"IMGT\") {\r\n const porcentajeDeduccion = 1.12;\r\n totalfactura = totalfactura / porcentajeDeduccion;\r\n }\r\n\r\n valordescuento = noAplicaDescuento ? 0 : totalfactura * (porcentajeDescuento / 100);\r\n Cuotas.Descuento = valordescuento.toFixed(2);\r\n Facturas.Descuento = valordescuento;\r\n\r\n if (Cuotas.SinDescuento) {\r\n Cuotas.Descuento = \"0.00\";\r\n Facturas.Descuento = 0;\r\n }\r\n }\r\n };\r\n\r\n };\r\n };\r\n };\r\n\r\n props.onStoreReciboClienteSelected(cliente);\r\n }\r\n // if (clienteSelected && facturasXCliente && cuotasAPagar) {\r\n // return (\r\n // <>\r\n // {BreadCrumb()}\r\n // {Cliente}\r\n //
    \r\n //
    \r\n // { }}\r\n // />\r\n //
    \r\n //
    \r\n // \r\n // )\r\n // }\r\n // if (clienteSelected && facturasXCliente && cuotasXCliente && cuotasXCliente.length > 0) {\r\n // if (cuotasXCliente[0].AgrupaPorCuota) {\r\n // return (\r\n // <>\r\n // {BreadCrumb()}\r\n // {Cliente}\r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // <>\r\n // {BreadCrumb()}\r\n // {Cliente}\r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // \r\n // );\r\n // }\r\n // }\r\n\r\n // if (clienteSelected && facturasXCliente) {\r\n // return (\r\n // <>\r\n // {BreadCrumb()}\r\n // {Cliente}\r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // \r\n // )\r\n // }\r\n if (loading) {\r\n return (\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.Paises.length>1 &&\r\n
    \r\n

    Seleccione un pais

    \r\n
    \r\n {\r\n // eslint-disable-next-line\r\n props.Paises.map(pais=>{\r\n if(pais.EmpresaId===\"IMHN\"){\r\n let stylePaises={width:'30px',height:'30px',marginLeft:'25px'};\r\n if(paisSeleccionado===\"IMHN\"){\r\n stylePaises = {width:'30px',height:'30px',marginLeft:'25px',outline:'5px solid green'}\r\n }\r\n\r\n return \"honduras\"{seleccionarPais(pais.EmpresaId)}}/>\r\n }else if(pais.EmpresaId===\"IMCR\"){\r\n let stylePaises={width:'30px',height:'30px',marginLeft:'25px'};\r\n if(paisSeleccionado===\"IMCR\"){\r\n stylePaises = {width:'30px',height:'30px',marginLeft:'25px',outline:'5px solid green'};\r\n }\r\n return \"costarica\"{seleccionarPais(pais.EmpresaId)}}/>\r\n }else if(pais.EmpresaId===\"IMGT\"){\r\n let stylePaises={width:'30px',height:'30px',marginLeft:'25px'}\r\n if(paisSeleccionado===\"IMGT\"){\r\n stylePaises = {width:'30px',height:'30px',marginLeft:'25px',outline:'5px solid green'};\r\n }\r\n return \"guatemala\"{seleccionarPais(pais.EmpresaId)}}/>\r\n }\r\n else if(pais.EmpresaId===\"IMSL\"){\r\n let stylePaises={width:'30px',height:'30px',marginLeft:'25px'}\r\n if(paisSeleccionado===\"IMSL\"){\r\n stylePaises = {width:'30px',height:'30px',marginLeft:'25px',outline:'5px solid green'};\r\n }\r\n return \"salvador\"{seleccionarPais(pais.EmpresaId)}}/>\r\n }\r\n })}\r\n
    \r\n
    \r\n }\r\n \r\n\r\n {\r\n props.clienteSelected &&\r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n )} />\r\n (\r\n <>\r\n {BreadCrumb()}\r\n {Cliente}\r\n
    \r\n
    \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.cuotasXCliente[0].AgrupaPorCuota ?\r\n (\r\n <>\r\n {BreadCrumb()}\r\n {Cliente}\r\n
    \r\n
    \r\n {(localStorage.getItem('isVencido')==='true')?
    Hay facturas vencidas en otro tipo de credito {FacturasVencidas(routeProps.match.params.TipoCredito)}} size={\"20px\"} style={{display:\"inline-block\",marginLeft:'10px'}}/>
    :}\r\n \r\n
    \r\n
    \r\n \r\n )\r\n :\r\n <>\r\n {BreadCrumb()}\r\n {Cliente}\r\n
    \r\n
    \r\n {(localStorage.getItem('isVencido')==='true')?
    Hay facturas vencidas en otro tipo de credito {FacturasVencidas(routeProps.match.params.TipoCredito)}} size={\"20px\"} style={{display:\"inline-block\",marginLeft:'10px'}}/>
    :}\r\n \r\n
    \r\n
    \r\n \r\n }\r\n \r\n )} />\r\n (\r\n <>\r\n {BreadCrumb()}\r\n {Cliente}\r\n
    \r\n
    \r\n { }}\r\n />\r\n
    \r\n
    \r\n \r\n )} />\r\n\r\n (\r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )} />\r\n
    \r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n\r\n return {\r\n cartera:state.Cartera,\r\n clientes: state.Recibo.clientes,\r\n clienteSelected: state.Recibo.clienteSelected,\r\n cuotasXCliente: state.Recibo.cuotasXCliente,\r\n cuotasAPagar: state.Recibo.cuotasAPagar,\r\n facturasXCliente: state.Recibo.facturasXCliente,\r\n cuotasCuentaCorriente: state.Recibo.cuotasCuentaCorriente,\r\n monedasGlobal:state.MonedasGlobal,\r\n loading: state.Recibo.loading,\r\n Paises:state.Permisos[0].EmpresasUsuarios,\r\n UsuarioOficina:state.Permisos[0].UsuarioOficina\r\n };\r\n};\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n onStoreReciboClientes: (clientes) => dispatch({ type: 'STORE_RECIBO_CLIENTES', clientes: clientes }),\r\n onStoreReciboClienteSelected: (clienteSelected) => dispatch({ type: 'STORE_RECIBO_CLIENTESELECTED', clienteSelected: clienteSelected }),\r\n onStoreReciboCuotasXCliente: (cuotasXCliente) => dispatch({ type: 'STORE_RECIBO_CUOTASXCLIENTE', cuotasXCliente: cuotasXCliente }),\r\n onStoreReciboCuotasAPagar: (cuotasAPagar) => dispatch({ type: 'STORE_RECIBO_CUOTASAPAGAR', cuotasAPagar: cuotasAPagar }),\r\n onStoreReciboFacturasXCliente: (facturasXCliente) => dispatch({ type: 'STORE_RECIBO_FACTURASXCLIENTE', facturasXCliente: facturasXCliente }),\r\n onStoreReciboCuotasCuentaCorriente: (cuotasCuentaCorriente) => dispatch({ type: 'STORE_RECIBO_CUOTASCUENTACORRIENTE', cuotasCuentaCorriente: cuotasCuentaCorriente }),\r\n onStoreCuotasImprimir: (cuotasCuentaCorriente) => dispatch({ type: 'SET_CUENTAIMPRIMIR', payload: cuotasCuentaCorriente }),\r\n onSaveMonedas:(monedas)=> dispatch({type:'SET_MONEDAS',payload:monedas}),\r\n onStoreReciboLoading: (loading) => dispatch({ type: 'STORE_RECIBO_LOADING', loading: loading }),\r\n onStoreClientesCartera:(clientes)=>dispatch({type:'SET_CARTERA',payload:clientes}),\r\n onStoreClientes: (clientes) => dispatch({ type: 'STORE_CLIENTES', clientes: clientes }),\r\n onStoreTipoPedido: (TipoPedido) => dispatch({ type: 'STORE_TIPO_PEDIDO', TipoPedido: TipoPedido }),\r\n onSetProducto: (producto) => dispatch({ type: 'SET_PRODUCTO', producto: producto }),\r\n onSetColeccion: (coleccion) => dispatch({ type: 'SET_COLECCION', coleccion: coleccion }),\r\n onSetCliente: (cliente) => dispatch({ type: 'SET_CLIENTE', cliente: cliente }),\r\n onSetTipoPedido: (tipoPedido, acuerdoVenta) => dispatch({ type: 'SET_PEDIDO', TipoPedido: tipoPedido, AcuerdoVenta: acuerdoVenta }),\r\n onCancelarPedido: () => dispatch({ type: 'CANCELAR_PEDIDO' }),\r\n onReinicarPedido: () => dispatch({ type: 'REINICIAR_PEDIDO' }),\r\n onToggleSelectProducto: (producto) => dispatch({ type: 'TOGGLE_SELECT_PRODUCTO', producto: producto }),\r\n onResetProductosAgreagados: () => dispatch({ type: 'RESET_PRODUCTOS_AGREGADOS' }),\r\n onStoreMaestroLinea: (maestroLineas) => dispatch({ type: 'STORE_MAESTROLINEA', maestroLineas: maestroLineas }),\r\n onSetLineaSeleccionada: (lineaSeleccionada) => dispatch({ type: 'SET_LINEA', LineaSeleccionada: lineaSeleccionada }),\r\n onSetTableValue: (tableValue) => dispatch({ type: 'SET_TABLEVALUE', TableValue: tableValue }),\r\n onSetPedidoEnCurso: (pedidoEnCurso) => dispatch({ type: 'SET_PEDIDOENCURSO', pedidoEnCurso: pedidoEnCurso }),\r\n onSetTotalPedido: (TotalPedido) => dispatch({ type: 'SET_TOTALPEDIDO', TotalPedido: TotalPedido }),\r\n onSetNumeroOrden: (NumeroOrden) => dispatch({ type: 'SET_NUMEROORDEN', NumeroOrden: NumeroOrden }),\r\n onStoreTiposColeccion: (TiposColeccion) => dispatch({ type: 'STORE_TIPOS_COLECCION', TiposColeccion: TiposColeccion }),\r\n onSetStoreBancos: (data) => dispatch({ type: \"SET_BANCOSGLOBAL\", payload: data }),\r\n onSetStoreTipoPago: (data) => dispatch({ type: \"SET_TIPOPAGOGLOBAL\", payload: data }),\r\n onStoreDatosParaPedido: (colecciones, clientes, TiposPedido, maestroLineas) => dispatch(\r\n { type: 'STORE_DATOSPARAPEDIDO', colecciones: colecciones, clientes: clientes, TiposPedido: TiposPedido, maestroLineas: maestroLineas }),\r\n onDeleteCuentaCorriente: ()=> dispatch({type:'DELETE_RECIBO_CUOTASCUENTACORRIENTE'}),\r\n onStoreMonedas:(data)=> dispatch({ type: 'SET_MONEDASGLOBAL', payload: data }),\r\n onStoreAbreviacionMonedas:(data)=> dispatch({ type: 'SET_ABREVACIONMONEDAS', payload: data })\r\n };\r\n \r\n};\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Recibos);\r\n","import React from \"react\";\r\nimport Dropzone from \"react-dropzone-uploader\";\r\nimport 'react-dropzone-uploader/dist/styles.css'\r\n\r\nconst Fotografias = (props) => {\r\n const getUploadParams = ({ meta }) => {\r\n const url = 'https://httpbin.org/post'\r\n return { url, meta: { fileUrl: `${url}/${encodeURIComponent(meta.name)}` } }\r\n }\r\n\r\n const handleChangeStatus = ({ meta }, status) => {\r\n }\r\n\r\n const handleSubmit = (files, allFiles) => {\r\n allFiles.forEach(f => f.remove())\r\n }\r\n\r\n return (\r\n
    \r\n (extra.reject ? 'Image, audio and video files only' : 'Drag Files')}\r\n styles={{\r\n dropzoneReject: { borderColor: 'red', backgroundColor: '#DAA' },\r\n inputLabel: (files, extra) => (extra.reject ? { color: 'red' } : {}),\r\n dropzone: { overflow: 'auto' }\r\n\r\n }}\r\n />\r\n
    \r\n )\r\n}\r\n\r\nexport default Fotografias;","import React from 'react';\r\nimport Chart from 'chart.js';\r\nimport 'chartjs-funnel';\r\n\r\nconst FunnelChart = props => {\r\n const grafica = React.useRef(null);\r\n\r\n React.useEffect(()=>{\r\n const ctx = grafica.current.getContext('2d');\r\n let data = [];\r\n\r\n if(props.Selected){\r\n let Selected = JSON.parse(props.Selected);\r\n data = [Selected.CantidadVisitas,Selected.Atendidas, Selected.Efectivas, Selected.Productivas]\r\n }else{\r\n data = [props.Users.reduce((acc, cur) => { return acc + cur.CantidadVisitas }, 0),props.Users.reduce((acc, cur) => { return acc + cur.Atendidas }, 0),props.Users.reduce((acc, cur) => { return acc + cur.Efectivas }, 0),props.Users.reduce((acc, cur) => { return acc + cur.Productivas }, 0)]\r\n }\r\n \r\n var myChart = new Chart(ctx, {\r\n type: 'funnel', \r\n data: {\r\n labels: [\"Programadas\",\"Atendidas\", \"Efectivas\", \"Productivas\"],\r\n datasets: [{\r\n data,\r\n backgroundColor: [ \"#3097ED\",\"#2AD549\", \"#FDB45C\", \"#73628a\"],\r\n borderWidth: 1\r\n }]\r\n },\r\n options: {\r\n sort:'desc',\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }]\r\n }\r\n }\r\n })\r\n\r\n return ()=>{\r\n myChart.destroy();\r\n }\r\n\r\n },[props.Selected,props.Users]);\r\n\r\n return \r\n}\r\n\r\nexport default FunnelChart;","import React from \"react\";\r\nimport { Pie } from \"react-chartjs-2\"\r\nimport \"chartjs-plugin-labels\";\r\n\r\nconst PieChart = (props) => {\r\n if (props.Selected) {\r\n let Selected = JSON.parse(props.Selected);\r\n\r\n const data = {\r\n labels: [\r\n \"Atendidas\", /*\"Efectivas\", \"Productivas\",*/\"Canceladas\", \"No Atendidas\"\r\n ],\r\n datasets: [\r\n {\r\n data: [\r\n Selected.Atendidas, /*Selected.Efectivas, Selected.Productivas ,*/ Selected.ClienteCancelo, Selected.NoAtendidas\r\n ],\r\n backgroundColor: [ \"#2AD549\", /*\"#FDB45C\", \"#95d5b2\",*/\"#FF4A4A\",\"#1EA4B7\"]\r\n }\r\n ]\r\n }\r\n\r\n const options = {\r\n responsive: true\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n else {\r\n const data = {\r\n labels: [\r\n \"Atendidas\", /*\"Efectivas\", \"Productivas\",*/\"Canceladas\", \"Por Realizar\"\r\n ],\r\n datasets: [\r\n {\r\n data: [\r\n props.Users.reduce((acc, cur) => { return acc + cur.Atendidas }, 0)/*,props.Users.reduce((acc, cur) => { return acc + cur.Efectivas }, 0),props.Users.reduce((acc, cur) => { return acc + cur.Productivas }, 0)*/, props.Users.reduce((acc, cur) => { return acc + cur.ClienteCancelo }, 0), props.Users.reduce((acc, cur) => { return acc + cur.NoAtendidas }, 0)\r\n ],\r\n backgroundColor: [ \"#2AD549\", /*\"#FDB45C\", \"#84dcc6\",*/\"#FF4A4A\",\"#1EA4B7\"]\r\n }\r\n ]\r\n }\r\n\r\n const options = {\r\n responsive: true\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n\r\n}\r\n\r\nexport default PieChart;","import React,{useState,useEffect} from 'react';\r\nimport { Bar } from \"react-chartjs-2\";\r\nimport {APIURL} from 'utils/Enviroment';\r\nimport moment from 'moment';\r\nimport 'moment/locale/es';\r\nimport { verificarConexion } from 'utils/http';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nmoment.locale('es');\r\n\r\nconst BarChart = props => {\r\n const [visitas,setVisitas] = useState([]);\r\n\r\n const cargarVisitasPorMes = async () =>{\r\n const isOnline = await verificarConexion();\r\n if (!isOnline || localStorage.getItem(\"Conexion\")===\"offline\") {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder visualizar esta pagina.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n });\r\n\r\n } else if(localStorage.getItem(\"Conexion\")===\"Online\" && isOnline){\r\n\r\n fetch(`${APIURL}/api/estadisticavisita/mes`, {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n\r\n }\r\n })\r\n .then(res => res.json())\r\n .then(data => setVisitas(data));\r\n }\r\n }\r\n\r\n const obtenerCabeceras = () =>{\r\n return visitas.filter(x=>x.EMPRESA==='IMHN').map((visita)=>visita.MES);\r\n }\r\n\r\n const obtenerValores = () =>{\r\n if(props.empresa===null){\r\n let totales = [];\r\n const imhn = visitas.filter(x=>x.EMPRESA===\"IMHN\").map((visita)=>visita.VISITAS);\r\n const imcr = visitas.filter(x=>x.EMPRESA===\"IMCR\").map((visita)=>visita.VISITAS);\r\n const imgt = visitas.filter(x=>x.EMPRESA===\"IMGT\").map((visita)=>visita.VISITAS);\r\n const imsl = visitas.filter(x=>x.EMPRESA===\"IMSL\").map((visita)=>visita.VISITAS);\r\n\r\n for(let i=0;ix.EMPRESA===props.empresa).map((visita)=>visita.VISITAS);\r\n }\r\n\r\n const obtenerData = ()=>{\r\n return {\r\n labels: obtenerCabeceras(),\r\n datasets: [\r\n {\r\n data: obtenerValores(),\r\n backgroundColor:'rgb(212, 87, 78)',\r\n strokeColor: \"red\",\r\n }\r\n ]\r\n }\r\n }\r\n\r\n const options = {\r\n legend:{\r\n display:false\r\n },\r\n title:{\r\n display:true,text:'Visitas Realizadas'\r\n },\r\n responsive: true,\r\n tooltips:{\r\n enabled:false\r\n },\r\n plugins:{\r\n labels:{\r\n render:()=>{}\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n cargarVisitasPorMes();\r\n }, []);\r\n\r\n return (\r\n
    \r\n {visitas.length===0\r\n ?

    No hay registros

    \r\n :\r\n }\r\n
    \r\n )\r\n}\r\n\r\nexport default BarChart;","import React from 'react';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport FirstPageIcon from '@material-ui/icons/FirstPage';\r\nimport KeyboardArrowLeft from '@material-ui/icons/KeyboardArrowLeft';\r\nimport KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight';\r\nimport LastPageIcon from '@material-ui/icons/LastPage';\r\n\r\nconst useStyles1 = makeStyles(theme => ({\r\n root: {\r\n flexShrink: 0,\r\n color: theme.palette.text.secondary,\r\n marginLeft: theme.spacing(2.5),\r\n },\r\n}));\r\n\r\nfunction TablePaginationActions(props) {\r\n const classes = useStyles1();\r\n const theme = useTheme();\r\n const { count, page, rowsPerPage, onChangePage } = props;\r\n\r\n function handleFirstPageButtonClick(event) {\r\n onChangePage(event, 0);\r\n }\r\n\r\n function handleBackButtonClick(event) {\r\n onChangePage(event, page - 1);\r\n }\r\n\r\n function handleNextButtonClick(event) {\r\n onChangePage(event, page + 1);\r\n }\r\n\r\n function handleLastPageButtonClick(event) {\r\n onChangePage(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {theme.direction === 'rtl' ? : }\r\n \r\n \r\n {theme.direction === 'rtl' ? : }\r\n \r\n = Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"next page\"\r\n >\r\n {theme.direction === 'rtl' ? : }\r\n \r\n = Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"last page\"\r\n >\r\n {theme.direction === 'rtl' ? : }\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default TablePaginationActions;","import React, { useEffect, useState } from 'react';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport MUIDataTable from 'mui-datatables'\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\n// import { EstadisticaVisitaTable } from './EstadisticaVisitaTable';\r\nimport FunnelChart from 'components/EstadisticaVisita/FunnelChart';\r\nimport PieChart from 'components/EstadisticaVisita/PieChart';\r\nimport Barchart from 'components/EstadisticaVisita/BarChart';\r\nimport moment from 'moment';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\nimport 'moment/locale/es';\r\nimport {\r\n Button\r\n // Dialog, DialogActions, DialogContent, DialogTitle, DialogContentText, Select, MenuItem \r\n} from '@material-ui/core';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport {\r\n FaUserCheck,\r\n FaCheckDouble,\r\n FaTimesCircle, FaUserFriends,\r\n FaClipboardCheck,\r\n FaUserTimes\r\n} from \"react-icons/fa\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport { useSelector } from 'react-redux';\r\nimport honduras from 'utils/img/honduras.png';\r\nimport costarica from 'utils/img/costarica.png';\r\nimport guatemala from 'utils/img/guatemala.png';\r\nimport salvador from 'utils/img/salvador.jpg';\r\nimport { verificarConexion } from 'utils/http';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport axios from 'axios';\r\nimport FileSaver from 'file-saver';\r\nimport XLSX from 'xlsx';\r\n\r\nmoment.locale('es')\r\nconst urlApi = APIURL\r\nconst columns = [\r\n\r\n {\r\n name: 'CodigoAsesor',\r\n label: 'Codigo',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Nombre',\r\n label: 'Nombre',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'CantidadVisitas',\r\n label: 'Cantidad Visitas',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Atendidas',\r\n label: 'Atendidas',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Efectivas',\r\n label: 'Efectivas',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Productivas',\r\n label: 'Productivas',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'ClienteCancelo',\r\n label: 'Canceladas',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'NoAtendidas',\r\n label: 'Por Realizar',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n\r\n {\r\n name: 'Pedidos',\r\n label: 'Cantidad Pedidos',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'ValorPedidos',\r\n label: 'Valor Pedidos',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Recibos',\r\n label: 'Cantidad Recibos',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'ValorRecibos',\r\n label: 'Valor Recibos',\r\n options: {\r\n filter: true,\r\n sort: true\r\n }\r\n },\r\n {\r\n name: 'Reporte',\r\n label: 'Reporte',\r\n options: {\r\n filter: false,\r\n sort: false\r\n }\r\n },\r\n\r\n]\r\nconst EstadisticaVisita = (props) => {\r\n\r\n const [fechaInicio, setFechaInicio] = useState(moment().clone().startOf('month').format('YYYY-MM-DD'));\r\n const [fechaFin, setFechaFin] = useState(new Date());\r\n const [estadisticasVisita, setEstadisticasVisita] = useState([]);\r\n const [estadisticaVisitaFiltrada, setestadisticaVisitaFiltrada] = useState([]);\r\n const [Usuarios, setUsuarios] = useState([]);\r\n const [Selected, setSelected] = useState(null);\r\n const [EmpresaSelected, setEmpresaSelected] = useState(null);\r\n const Paises = useSelector(e => e.Permisos[0].EmpresasUsuarios);\r\n const Asesores = useSelector(e=>e.Permisos[0].AsesoresUsuario);\r\n\r\n useEffect(() => {\r\n if (!IsAllow(\"/estadistica-visita\")) {\r\n props.history.push('/home');\r\n }\r\n CargarDatos()\r\n\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const CargarDatos = async () => {\r\n const isOnline = await verificarConexion();\r\n if (!isOnline || localStorage.getItem(\"Conexion\")===\"offline\") {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder visualizar esta pagina.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n });\r\n\r\n } else if(localStorage.getItem(\"Conexion\")===\"Online\" && isOnline){\r\n Promise.all([cargarEstadisticaVisita(fechaInicio, fechaFin)]).then(values => {\r\n setEstadisticasVisita(values[0]);\r\n setestadisticaVisitaFiltrada(values[0]);\r\n setOptions(values[0]);\r\n });\r\n }\r\n }\r\n\r\n const setOptions = (values) => {\r\n let users = [];\r\n values.forEach(el => {\r\n var cliente = { key: el.CodigoAsesor, value: JSON.stringify(el), text: el.Nombre }\r\n users.push(cliente);\r\n });\r\n\r\n setUsuarios(users);\r\n }\r\n\r\n const mostrarAdvertencia = (title, text, type) => {\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n type: type,\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n\r\n const guardarExcel = (csvData, asesor) => {\r\n const fileName = asesor ? `Visitas-${asesor}` : \"Reporte-Visitas\";\r\n const fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n const fileExtension = '.xlsx';\r\n const ws = XLSX.utils.json_to_sheet(csvData);\r\n const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const data = new Blob([excelBuffer], { type: fileType });\r\n FileSaver.saveAs(data, fileName + fileExtension);\r\n }\r\n\r\n const convertirHora = (time) => {\r\n time = time.toString().match(/^([01]\\d|2[0-3])(:)([0-5]\\d)(:[0-5]\\d)?$/) || [time];\r\n\r\n if (time.length > 1) {\r\n time = time.slice(1);\r\n time[5] = +time[0] < 12 ? 'AM' : 'PM';\r\n time[0] = +time[0] % 12 || 12;\r\n }\r\n return time.join('');\r\n }\r\n\r\n const convertirData = (data) => {\r\n return data.map((el) => {\r\n const { $id, ...asignacion } = el;\r\n\r\n return {\r\n ...asignacion,\r\n Hora_Inicio: convertirHora(asignacion.Hora_Inicio),\r\n Hora_Final: convertirHora(asignacion.Hora_Final)\r\n }\r\n })\r\n }\r\n\r\n const obtenerReporteAsignacionesAsesor = async (asesor) => {\r\n try {\r\n let inicio = moment(fechaInicio).format();\r\n let final = moment(fechaFin).format();\r\n const request = await axios.get(`${APIURL}/api/asignaciones/reporte/${asesor}`, { params: { inicio, final } });\r\n\r\n if (request.data.length === 0) {\r\n mostrarAdvertencia(\"Asignaciones\", \"No se han encontrado registros para este asesor\", \"warning\")\r\n return;\r\n }\r\n\r\n const dataTransformada = convertirData(request.data);\r\n guardarExcel(dataTransformada, asesor);\r\n mostrarAdvertencia(\"Ā”Documento Descargado!\", \"Revise su panel de notificaciones o su carpeta de descargas.\", \"success\");\r\n } catch (err) {\r\n mostrarAdvertencia(\"Error\", \"No se pudo obtener las asignaciones\", \"error\");\r\n }\r\n }\r\n\r\n const obtenerReporteAsignacionesGlobal = async () => {\r\n try {\r\n let inicio = moment(fechaInicio).format();\r\n let final = moment(fechaFin).format();\r\n const request = await axios.get(`${APIURL}/api/asignaciones/reporte`, { params: { inicio, final } });\r\n\r\n if (request.data.length === 0) {\r\n mostrarAdvertencia(\"Asignaciones\", \"No se han encontrado registros para el rango de fechas\", \"warning\")\r\n return;\r\n }\r\n\r\n const dataTransformada = convertirData(request.data);\r\n guardarExcel(dataTransformada);\r\n mostrarAdvertencia(\"Ā”Documento Descargado!\", \"Revise su panel de notificaciones o su carpeta de descargas.\", \"success\");\r\n } catch (err) {\r\n mostrarAdvertencia(\"Error\", \"No se pudo obtener las asignaciones\", \"error\");\r\n }\r\n }\r\n\r\n const options = {\r\n responsive: \"scrollMaxHeight\",\r\n selectableRows: 'none',\r\n print: false,\r\n download: false,\r\n selectableRowsOnClick: true,\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pĆ”gina:\"\r\n />\r\n \r\n \r\n ),\r\n // rowsSelected: selectedRowsIndex,\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pĆ”gina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n }\r\n },\r\n // onRowsSelect: (currentRowsSelected, allRowsSelected) => {\r\n // setSelectedRowsIndex(allRowsSelected.map(row => row.dataIndex))\r\n // }\r\n }\r\n\r\n const handleOnChange = (value) => {\r\n // var val = JSON.parse(value);\r\n\r\n setSelected(value);\r\n }\r\n\r\n const handleFechaInicio = (date) => {\r\n setFechaInicio(date);\r\n }\r\n\r\n const handleFechaFin = (date) => {\r\n setFechaFin(date);\r\n }\r\n\r\n const PaisFiltrado = (Empresa) => {\r\n if (EmpresaSelected === Empresa) {\r\n setEmpresaSelected(null);\r\n setEstadisticasVisita(estadisticaVisitaFiltrada);\r\n }\r\n else {\r\n setEmpresaSelected(Empresa);\r\n setEstadisticasVisita(estadisticaVisitaFiltrada.filter(e => e.Empresa.toUpperCase() === Empresa.toUpperCase()))\r\n }\r\n\r\n }\r\n let data = [];\r\n let VisitasProductivas = estadisticasVisita.reduce((acc, cur) => { return acc + cur.Productivas }, 0);\r\n let VisitasEfectivas = estadisticasVisita.reduce((acc, cur) => { return acc + cur.Efectivas }, 0);\r\n let VisitasAtendidas = estadisticasVisita.reduce((acc, cur) => { return acc + cur.Atendidas }, 0);\r\n\r\n estadisticasVisita.forEach(estVis => {\r\n data.push({\r\n CodigoAsesor: estVis.CodigoAsesor,\r\n Nombre: estVis.Nombre,\r\n //Usuario: estVis.Usuario,\r\n CantidadVisitas: estVis.CantidadVisitas,\r\n Atendidas: estVis.Atendidas,\r\n // PorcentajeEjecucion: estVis.PorcentajeEjecucion,\r\n ClienteCancelo: estVis.ClienteCancelo,\r\n Efectivas: estVis.Efectivas,\r\n Productivas: estVis.Productivas,\r\n NoAtendidas: estVis.NoAtendidas,\r\n Pedidos: estVis.Pedidos,\r\n Recibos: estVis.Recibos,\r\n ValorPedidos: numberWithCommas(Number(estVis.TotalPedidos)),\r\n ValorRecibos: numberWithCommas(Number(estVis.TotalRecibos)),\r\n Reporte:\r\n });\r\n });\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n EstadĆ­stica de Visita\r\n

    \r\n
    \r\n
    \r\n handleFechaInicio(date)}\r\n />\r\n\r\n
    \r\n
    \r\n handleFechaFin(date)}\r\n />\r\n
    \r\n
    \r\n\r\n CargarDatos()}>Obtener\r\n {/* {this.state.GuardarAsignacion ?\r\n : 'Asignar'\r\n } */}\r\n \r\n {(Asesores.length > 1) && Reporte\r\n }\r\n
    \r\n {Paises.length > 1 &&\r\n
    \r\n

    Filtro por Pais

    \r\n
    \r\n {\r\n // eslint-disable-next-line\r\n Paises.map(pais => {\r\n if (pais.EmpresaId === \"IMHN\") {\r\n let stylePaises = { width: '40px', height: '40px', marginLeft: '25px' };\r\n if (EmpresaSelected === \"IMHN\") {\r\n stylePaises = { width: '40px', height: '40px', marginLeft: '25px', outline: '5px solid green' }\r\n }\r\n return \"honduras\" { PaisFiltrado(pais.EmpresaId) }} />\r\n }\r\n else if (pais.EmpresaId === \"IMCR\") {\r\n let stylePaises = { width: '40px', height: '40px', marginLeft: '25px', shadowColor: \"black\" };\r\n if (EmpresaSelected === \"IMCR\") {\r\n stylePaises = { width: '40px', height: '40px', marginLeft: '25px', outline: '5px solid green' };\r\n }\r\n return \"costarica\" { PaisFiltrado(pais.EmpresaId) }} />\r\n }\r\n else if (pais.EmpresaId === \"IMGT\") {\r\n let stylePaises = { width: '40px', height: '40px', marginLeft: '25px' }\r\n if (EmpresaSelected === \"IMGT\") {\r\n stylePaises = { width: '40px', height: '40px', marginLeft: '25px', outline: '5px solid green' };\r\n }\r\n return \"guatemala\" { PaisFiltrado(pais.EmpresaId) }} />\r\n }\r\n else if (pais.EmpresaId === \"IMSL\") {\r\n let stylePaises = { width: '40px', height: '40px', marginLeft: '25px' }\r\n if (EmpresaSelected === \"IMSL\") {\r\n stylePaises = { width: '40px', height: '40px', marginLeft: '25px', outline: '5px solid green' };\r\n }\r\n return \"salvador\" { PaisFiltrado(pais.EmpresaId) }} />\r\n }\r\n })}\r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Visitas Programadas
    \r\n
    {estadisticasVisita.reduce((acc, cur) => { return acc + cur.CantidadVisitas }, 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
    Visitas Atendidas
    \r\n
    {estadisticasVisita.reduce((acc, cur) => { return acc + cur.Atendidas }, 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
    Visitas Efectivas
    \r\n
    {VisitasEfectivas}
    \r\n
    {VisitasAtendidas > 0 ? ((VisitasEfectivas / VisitasAtendidas) * 100).toFixed(0) + \"%\" : 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
    Visitas Productivas
    \r\n
    {VisitasProductivas}
    \r\n
    {VisitasAtendidas > 0 ? ((VisitasProductivas / VisitasAtendidas) * 100).toFixed(0) + \"%\" : 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
    Visitas Canceladas
    \r\n
    {estadisticasVisita.reduce((acc, cur) => { return acc + cur.ClienteCancelo }, 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
    Visitas Por Realizar
    \r\n
    {estadisticasVisita.reduce((acc, cur) => { return acc + cur.NoAtendidas }, 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
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Clientes Visitados\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleOnChange(value)}\r\n options={Usuarios}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={Selected}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\nconst cargarEstadisticaVisita = (fechaInicio, fechaFin) => {\r\n var inicio = moment(fechaInicio).format();\r\n var fin = moment(fechaFin).format();\r\n\r\n return new Promise((resolve, reject) => {\r\n fetch(urlApi + `/api/EstadisticaVisita?FechaInicio=${inicio}&FechaFin=${fin}&Usuario=${localStorage.getItem('codigo')}`, {\r\n headers: {\r\n Authorization: 'Bearer ' + localStorage.getItem('token')\r\n }\r\n }).then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '')\r\n window.location.reload()\r\n }\r\n if (res.status === 200) {\r\n res.json().then(\r\n result => {\r\n resolve(result)\r\n },\r\n\r\n error => {\r\n reject({\r\n error\r\n })\r\n }\r\n )\r\n }\r\n })\r\n })\r\n};\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n }\r\n});\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\nexport default EstadisticaVisita;","import React, { useRef, useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport GoogleMapReact from 'google-map-react';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { Dropdown } from \"semantic-ui-react/\";\r\nimport { useSelector } from 'react-redux';\r\nimport {\r\n /*Button,*/\r\n Col,\r\n Row,\r\n} from 'reactstrap';\r\n\r\n\r\nconst paises =\r\n [\r\n { id: 1, value: '*', pais: \"Todos\" },\r\n { id: 2, value: 'IMHN', pais: \"Honduras\" },\r\n { id: 3, value: 'IMGT', pais: \"Guatemala\" },\r\n { id: 4, value: 'IMCR', pais: \"Costa Rica\" },\r\n { id: 5, value: 'IMSL', pais: \"El Salvador\" },\r\n ]\r\n\r\nconst estadoCredito =\r\n [\r\n { id: 1, value: '*', estado: \"Todos\" },\r\n { id: 2, value: 'Todo', estado: \"Suprimido\" },\r\n { id: 3, value: 'No', estado: \"Activo Habilitado\" },\r\n { id: 4, value: 'Factura', estado: \"Activo con Mora\" },\r\n ]\r\n\r\nconst getTodos = () => {\r\n return [\r\n {\r\n $id: \"Todos\",\r\n codigo: \"*\",\r\n empresa: \"Todos\",\r\n nombre: \"Todos\"\r\n }\r\n ]\r\n}\r\n\r\nconst CoordenadasGlobal = (props) => {\r\n const [paiseSelected, setpaiseSelected] = useState(null);\r\n const [paisList, setpaisList] = useState([]);\r\n const [asesores, setAsesores] = useState([]);\r\n const [asesor, setAsesor] = useState(null);\r\n const [asesoresFiltrados, setAsesoresFiltrados] = useState([]);\r\n const mapRef = useRef();\r\n const mapsRef = useRef();\r\n const [coordenadas, setCoordenadas] = useState([]);\r\n const [estado, setEstado] = useState(null);\r\n // eslint-disable-next-line\r\n const [marcadores, setMarcadores] = useState([]);\r\n useEffect(() => {\r\n cargarRutas();\r\n cargarAsesores();\r\n }, [])\r\n\r\n const APIKEY = useSelector(e => e.Configuraciones.ApiKey_GoogleMaps);\r\n\r\n\r\n const cargarRutas = () => {\r\n axios({\r\n url: APIURL + \"/api/cliente/ubicacion/global\",\r\n method: 'GET',\r\n headers: {\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n }\r\n })\r\n .then(e => {\r\n setCoordenadas(e.data);\r\n })\r\n .catch(err => console.warn(err));\r\n\r\n }\r\n\r\n const cargarAsesores = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Geoposicion/asesores`, { headers: { 'Authorization': `Bearer ${localStorage.getItem('token')}` } });\r\n setAsesores(request.data);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n\r\n const renderMarkers = (clientes) => {\r\n if (marcadores.length > 0) {\r\n marcadores.forEach(marcador => {\r\n marcador.setMap(null);\r\n });\r\n }\r\n\r\n clientes.forEach(cliente => {\r\n var icon = \"\";\r\n var estado = \"\";\r\n\r\n switch (cliente.CREDITSTATUS) {\r\n case \"Todo\":\r\n icon = \"https://maps.google.com/mapfiles/ms/icons/red-dot.png\";\r\n estado = \"Suprimido\"\r\n break;\r\n case \"No\":\r\n icon = \"https://maps.google.com/mapfiles/ms/icons/green-dot.png\";\r\n estado = \"Activo Habilitado\"\r\n break;\r\n case \"Factura\":\r\n icon = \"https://maps.google.com/mapfiles/ms/icons/yellow-dot.png\";\r\n estado = \"Mora\"\r\n break;\r\n default:\r\n icon = \"https://maps.google.com/mapfiles/ms/icons/blue-dot.png\";\r\n estado = \"No identificado\"\r\n break;\r\n }\r\n\r\n const contentString =\r\n \"
    \" +\r\n \"

    \" + cliente.NAME + \"

    \" +\r\n \"

    CĆ³digo Cliente: \" + cliente.ACCOUNT + \"

    \" +\r\n \"

    Asesor: \" + cliente.ADVISERNAME + \"

    \" +\r\n \"

    Estado Comercial: \" + estado + \"

    \" +\r\n \"

    \" + cliente.LATITUDE + \",\" + cliente.LONGITUD + \"

    \" +\r\n \"
    \";\r\n\r\n\r\n var infowindow = new mapsRef.current.InfoWindow({\r\n content: contentString\r\n });\r\n let marker = new mapsRef.current.Marker({\r\n position: {\r\n lat: parseFloat(cliente.LATITUDE),\r\n lng: parseFloat(cliente.LONGITUD)\r\n },\r\n map: mapRef.current,\r\n title: cliente.NAME,\r\n icon: {\r\n url: icon,\r\n },\r\n });\r\n marker.addListener('click', function () {\r\n infowindow.open(mapRef.current, marker);\r\n });\r\n mapRef.current.addListener('click', function () {\r\n infowindow.close();\r\n });\r\n\r\n marcadores.push(marker);\r\n });\r\n setBounds(clientes);\r\n }\r\n\r\n const handleDropdownChangeCountry = (value) => {\r\n setpaiseSelected(value)\r\n setAsesor('*');\r\n if (value === '*') {\r\n if (estado !== '*' && estado != null) {\r\n const clientes = coordenadas.filter(x => x.CREDITSTATUS === estado);\r\n renderMarkers(clientes);\r\n setAsesoresFiltrados([]);\r\n return;\r\n }\r\n setpaisList(coordenadas);\r\n renderMarkers(coordenadas);\r\n setAsesoresFiltrados([]);\r\n return;\r\n }\r\n\r\n let filtrados = asesores.filter(x => x.empresa.toUpperCase() === value);\r\n let todos = getTodos();\r\n let newlist = [...todos, ...filtrados]\r\n setAsesoresFiltrados(newlist);\r\n\r\n\r\n if (estado != '*' && estado != null) {\r\n const clientes = coordenadas.filter(x => x.CREDITSTATUS === estado && x.COMPANY === value);\r\n renderMarkers(clientes);\r\n return;\r\n }\r\n\r\n const paisesFiltrados = coordenadas.filter(x => x.COMPANY === value);\r\n setpaisList(paisesFiltrados);\r\n renderMarkers(paisesFiltrados);\r\n return;\r\n }\r\n\r\n const handleDropdownChangeAsesor = (value) => {\r\n setAsesor(value);\r\n setEstado('*');\r\n if (value === '*') {\r\n renderMarkers(paiseSelected === '*' ? coordenadas : paisList);\r\n setEstado(null);\r\n return;\r\n }\r\n setEstado(null);\r\n renderMarkers(paisList.filter(x => x.ADVISER === value));\r\n }\r\n\r\n const handleDropdownChangeStatus = (value) => {\r\n setEstado(value);\r\n if (value === '*') {\r\n if (paiseSelected != null && paiseSelected != '*') {\r\n if (asesor != null && asesor != '*') {\r\n renderMarkers(paisList.filter(x => x.ADVISER === asesor));\r\n return;\r\n }\r\n renderMarkers(paisList);\r\n return;\r\n }\r\n else {\r\n renderMarkers(coordenadas);\r\n return\r\n }\r\n }\r\n\r\n if (paiseSelected != '*' && paiseSelected != null) {\r\n if (asesor != null && asesor != '*') {\r\n renderMarkers(paisList.filter(x => x.CREDITSTATUS === value && x.ADVISER === asesor));\r\n return;\r\n }\r\n renderMarkers(paisList.filter(x => x.CREDITSTATUS === value));\r\n return;\r\n } else {\r\n const filtradas = coordenadas.filter(x => x.CREDITSTATUS === value);\r\n renderMarkers(filtradas);\r\n }\r\n\r\n\r\n }\r\n\r\n const setBounds = (clientes) => {\r\n const LatLngList = clientes.map(cliente => (new mapsRef.current.LatLng(cliente.LATITUDE, cliente.LONGITUD)));\r\n let bounds = new mapsRef.current.LatLngBounds();\r\n\r\n for (let LatLng of LatLngList) {\r\n bounds.extend(LatLng);\r\n }\r\n\r\n mapRef.current.fitBounds(bounds);\r\n }\r\n\r\n if (coordenadas.length === 0) {\r\n return

    Coordenadas no disponibles

    \r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n handleDropdownChangeCountry(value)}\r\n options={paises.map(ruta => {\r\n return { key: ruta.id, value: ruta.value, text: ruta.pais }\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n \r\n \r\n handleDropdownChangeAsesor(value)}\r\n options={asesoresFiltrados.map(asesor => {\r\n return { key: asesor.id, value: asesor.codigo, text: asesor.nombre }\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n \r\n \r\n handleDropdownChangeStatus(value)}\r\n options={estadoCredito.map(ruta => {\r\n return { key: ruta.id, value: ruta.value, text: ruta.estado }\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={estado}\r\n />\r\n \r\n \r\n

    \r\n\r\n {\r\n mapRef.current = map;\r\n mapsRef.current = maps;\r\n renderMarkers(coordenadas);\r\n }}\r\n yesIWantToUseGoogleMapApiInternals={true}\r\n >\r\n\r\n \r\n\r\n
    \r\n )\r\n\r\n}\r\n\r\nconst styles = {\r\n infowindow: {\r\n width: 300,\r\n height: 240,\r\n background: '#fff',\r\n borderRadius: 10,\r\n padding: 5,\r\n boxShadow: '5px 5px #c1c1c1',\r\n zIndex: 99\r\n },\r\n infowindowTitle: {\r\n textAlign: 'center',\r\n fontSize: 18\r\n }\r\n}\r\n\r\nexport default CoordenadasGlobal;","import React from 'react';\r\nimport styles from 'components/ListadoPedidos/DetallePedido.module.css';\r\nimport { GoogleMap, useJsApiLoader, Marker, Circle } from '@react-google-maps/api';\r\nimport { FaArrowLeft } from \"react-icons/fa\";\r\nimport { Fab } from \"@material-ui/core\";\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport {\r\n Popover,\r\n Box,\r\n Typography\r\n} from '@material-ui/core';\r\nimport PopupState, { bindTrigger, bindPopover } from 'material-ui-popup-state';\r\nimport { InfoOutlined } from \"@material-ui/icons\";\r\nimport { useSelector } from 'react-redux';\r\nmoment.locale('es');\r\n\r\n\r\nconst DetallePedido = (props) => {\r\n const APIKEY = useSelector(e => e.Configuraciones.ApiKey_GoogleMaps);\r\n\r\n let initialCoors = { lat: props.pedido.locationCliente.latitude, lng: props.pedido.locationCliente.longitude };\r\n let longitudCliente = props.pedido.locationCliente.longitude;\r\n let latitudCliente = props.pedido.locationCliente.latitude;\r\n const { isLoaded } = useJsApiLoader({\r\n id: 'google-map-script',\r\n googleMapsApiKey: APIKEY\r\n })\r\n\r\n const TotalPedido = () => {\r\n var total = 0;\r\n props.pedido.DetallesXPedido.forEach(detallePedido => {\r\n if (isNaN(detallePedido.MontoLinea)) {\r\n total += detallePedido.MontoLinea;\r\n }\r\n });\r\n return total;\r\n }\r\n\r\n const checkDist = (talla) => {\r\n let found = false;\r\n talla.Distribucion.map(() => {\r\n found = true;\r\n return false;\r\n })\r\n return found;\r\n }\r\n\r\n const Headers = (array) => {\r\n return (\r\n \r\n \r\n {\r\n array.map((dist, index) => {\r\n return (\r\n {dist.NombreTalla}\r\n )\r\n })\r\n }\r\n \r\n\r\n \r\n )\r\n }\r\n\r\n const rad = (x) => {\r\n return x * Math.PI / 180;\r\n }\r\n\r\n const CalcularDistancia = (lat1, lon1, lat2, lon2) => {\r\n if (lat1 === null || lon1 === null || lat2 === null || lon2 === null) {\r\n return 0;\r\n }\r\n\r\n var R = 6378.137;//Radio de la tierra en km\r\n var dLat = rad(lat2 - lat1);\r\n var dLong = rad(lon2 - lon1);\r\n var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(rad(lat1)) * Math.cos(rad(lat2)) * Math.sin(dLong / 2) * Math.sin(dLong / 2);\r\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n var d = R * c;\r\n return 1000 * d.toFixed(3);//Retorna valor en metros\r\n }\r\n\r\n const TableBody = (array, cantidad, Precio) => {\r\n let CantDist = 0;\r\n let TotalCant = 0;\r\n return (\r\n \r\n \r\n {array.map((dist, index) => {\r\n CantDist += parseInt(dist.Cantidad)\r\n return (\r\n {dist.Cantidad * cantidad}\r\n\r\n )\r\n })\r\n }\r\n \r\n \r\n {array.map((dist, index2) => {\r\n TotalCant = Precio / CantDist\r\n return (\r\n {TotalCant}\r\n\r\n )\r\n })\r\n }\r\n \r\n \r\n )\r\n }\r\n\r\n let options = null;\r\n let color = \"#FF0000\";\r\n let zoom = 9;\r\n let distancia = 0;\r\n if (latitudCliente && longitudCliente) {\r\n distancia = CalcularDistancia(props.pedido.location.latitude, props.pedido.location.longitude, latitudCliente, longitudCliente)\r\n if (distancia <= 50) {\r\n color = \"#1ECE39\";\r\n zoom = 19;\r\n } else if (distancia <= 100) {\r\n color = \"#F9EA06\";\r\n zoom = 15;\r\n }else if(distancia > 100 && distancia <1000){\r\n zoom = 16;\r\n }\r\n else if(distancia > 1000){\r\n zoom = 8;\r\n }\r\n \r\n options = {\r\n strokeColor: color,\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: color,\r\n fillOpacity: 0.35,\r\n clickable: false,\r\n draggable: false,\r\n editable: false,\r\n visible: true,\r\n radius: 30000,\r\n zIndex: 1,\r\n }\r\n }\r\n \r\n return (\r\n
    \r\n
    \r\n props.RegresarListaPedidos()} className={\"mx-1\"} style={{ transform: 'scale(0.8)' }}>\r\n \r\n \r\n

    \r\n Num. Pedido: {props.pedido.PedidoId}\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n UbicaciĆ³n:\r\n
    \r\n {isLoaded && latitudCliente !== null && longitudCliente !== null ?\r\n
    \r\n \r\n {(props.pedido.location.latitude !== null && props.pedido.location.longitude !== null) && }\r\n\r\n {(latitudCliente !== null && longitudCliente !== null) && (<>\r\n \r\n \r\n )}\r\n \r\n \r\n
    \r\n :\r\n
    \r\n UbicaciĆ³n no disponible\r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n InformaciĆ³n:\r\n
    \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \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.pedido.Firma !== \"\") &&\r\n \r\n\r\n \r\n \r\n \r\n }\r\n\r\n \r\n
    \r\n {'Codigo de cliente: '}\r\n \r\n {props.pedido.Cliente.Codigo}\r\n
    \r\n {'Nombre del cliente: '}\r\n \r\n {props.pedido.Cliente.Nombre}\r\n
    \r\n {'EmpresaId: '}\r\n \r\n {props.pedido.EmpresaId}\r\n
    \r\n {'Sincronizado: '}\r\n \r\n {(props.pedido.Sincronizado) ? \"Si\" : \"No\"}\r\n
    \r\n {'Num. Pedido Ax: '}\r\n \r\n {(props.pedido.NumeroPedido === \"\") ? \"No Disponible\" : props.pedido.NumeroPedido}\r\n
    \r\n {'Acuerdo de Venta: '}\r\n \r\n {props.pedido.AcuerdoVenta}\r\n
    \r\n {'Fecha: '}\r\n \r\n {moment(props.pedido.FechaActual).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(props.pedido.FechaActual).format('DD/MM/YYYY') : \"\"}\r\n
    \r\n {'Fecha Entrega: '}\r\n \r\n {moment(props.pedido.FechaEntrega).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(props.pedido.FechaEntrega).format('DD/MM/YYYY') : \"\"}\r\n
    \r\n {'ObservaciĆ³n: '}\r\n \r\n {props.pedido.Observacion}\r\n
    \r\n Total Unidades:\r\n \r\n {props.pedido.TotalUnidades}\r\n
    \r\n Total {props.pedido.Cliente.Moneda}:\r\n \r\n {numberWithCommas((props.pedido.TotalXPedido))}\r\n
    \r\n Distancia:\r\n \r\n {distancia + ' mtrs'}\r\n
    \r\n {'Firma: '}\r\n \r\n {\"Firma\"}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {props.gruposXDetPed.map((grupoTalla, index1) => {\r\n let cantidad = 3;\r\n let IsDist = true;\r\n return (\r\n \r\n \r\n \r\n \r\n {grupoTalla.ListaTalla.map((talla, index2) => {\r\n IsDist = checkDist(talla);\r\n cantidad++;\r\n return (\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n {grupoTalla.prodsXDetPed.map((producto, index2) => {\r\n let ColoresProductos = Object.keys(producto.coloresXProdXDetPed).map((key) => (producto.coloresXProdXDetPed[key]));\r\n ColoresProductos.sort((a, b) => a.NombreColor < b.NombreColor ? -1 : 1);\r\n return (\r\n \r\n \r\n \r\n \r\n {ColoresProductos.map((color, index3) => {\r\n let detalles = Array(grupoTalla.ListaTalla.length).fill(null);\r\n color.DetallesXPedido.forEach(detalleXPedido => {\r\n detalles[grupoTalla.ListaTalla.findIndex(tall => tall.Talla === detalleXPedido.Talla)] = detalleXPedido;\r\n\r\n });\r\n let cellSize = 100 / cantidad;\r\n return (\r\n \r\n \r\n {detalles.map((det, index4) => {\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\n \r\n
    \r\n \r\n
    \r\n {\r\n
    {talla.Talla}
    \r\n }\r\n
    \r\n
    CantidadTotal
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {producto.CodigoProducto}\r\n
    \r\n
    {producto.NombreProducto}
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {color.NombreColor}\r\n \r\n
    \r\n {\r\n\r\n IsDist === true && det !== null &&\r\n \r\n {popupState => (\r\n <>\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n {\"DistribuciĆ³n de Tallas\"}\r\n \r\n
    \r\n
    \r\n \r\n\r\n {Headers(det.TallaObject.Distribucion)}\r\n {TableBody(det.TallaObject.Distribucion, det.Cantidad, det.PrecioUnitario)}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n )}\r\n
    \r\n }\r\n {\r\n IsDist === true && det === null && \r\n }\r\n {\r\n IsDist === false && \r\n }\r\n
    \r\n
    {color.CantidadXColor}{numberWithCommas(color.TotalXColor)}
    \r\n )\r\n })}\r\n
    \r\n {/* {\r\n props.pedido &&\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n props.pedido.Firma === null ?\r\n
    :\r\n {\"Firma\"}\r\n }\r\n\r\n
    \r\n\r\n
    \r\n \r\n Firma\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Unidades:\r\n
    \r\n\r\n
    \r\n {props.pedido.TotalUnidades}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Subtotal:\r\n
    \r\n\r\n
    \r\n {numberWithCommas(props.pedido.SubTotalXPedido)}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Impuesto:\r\n
    \r\n\r\n
    \r\n {numberWithCommas((props.pedido.Impuesto))}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Total {props.pedido.Cliente.Moneda}:\r\n
    \r\n\r\n
    \r\n {numberWithCommas((props.pedido.TotalXPedido))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n } */}\r\n {props.pedido.DetallesXPedido ? (

    {\"Total: Lps.\"} {TotalPedido()}

    ) : null}\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nexport default DetallePedido;","import React from 'react';\r\nimport { DialogTitle, DialogContent, DialogActions, Button } from \"@material-ui/core\";\r\nimport Logo from 'assets/img/logo/LogoSinLetrasB.png';\r\nimport ReactToPrint from 'react-to-print';\r\nimport styles from \"components/ListadoPedidos/ImprimirPedido.module.css\";\r\nimport moment from \"moment\";\r\nimport { useSelector } from 'react-redux';\r\nimport 'moment/locale/es';\r\n\r\nconst ImprimirPedido = (props) => {\r\n\r\n const Monedas = useSelector(e => e.AbreviacionMonedas);\r\n const clientesContado = useSelector(e => e.clientesContado);\r\n const empresas = useSelector(e => e.Empresas);\r\n let NombreCliente = props.Pedido.Cliente.Nombre;\r\n let DireccionCliente = props.Pedido.Cliente.Direccion;\r\n const clienteContado = clientesContado.find(x => x.id === props.Pedido.ClienteContadoId);\r\n const empresa = empresas.find(x => x.COMPANY_CODE === props.Pedido.Cliente.EmpresaId.toUpperCase());\r\n const moneda = Monedas.find(e => e.IdMoneda === props.Pedido.Cliente.Moneda).Abreviacion;\r\n\r\n if (clienteContado !== null && clienteContado !== undefined) {\r\n if (props.Pedido.TotalXPedido < 10000) {\r\n NombreCliente = 'CONSUMIDOR FINAL';\r\n } else {\r\n NombreCliente = clienteContado.Nombre;\r\n }\r\n\r\n DireccionCliente = clienteContado.Direccion;\r\n }\r\n\r\n let TotalUnidad = 0;\r\n const checkDist = (talla) => {\r\n let found = false;\r\n talla.Distribucion.map(() => {\r\n found = true;\r\n return false;\r\n })\r\n return found;\r\n }\r\n\r\n let tallasDist = [];\r\n const Tallas = (talla) => {\r\n talla.Distribucion.forEach(dist => {\r\n if(tallasDist.length > 0){\r\n let ExisteTalla = tallasDist.filter(x => x.NombreTalla === dist.NombreTalla);\r\n\r\n if(ExisteTalla.length === 0){\r\n tallasDist.push({NombreTalla: dist.NombreTalla, Orden: dist.Orden})\r\n }\r\n }\r\n else{\r\n tallasDist.push({NombreTalla: dist.NombreTalla, Orden: dist.Orden})\r\n }\r\n })\r\n tallasDist.sort((a, b) => {\r\n return Number(a.Orden) < Number(b.Orden) ? -1 : 1;\r\n });\r\n return tallasDist;\r\n }\r\n\r\n const componentRef = React.useRef();\r\n return (\r\n <>\r\n Vista Previa Pedido\r\n \r\n
    \r\n
    \r\n
    \r\n {\"Logo\"}\r\n\r\n
    \r\n

    \r\n {empresa.NAME}\r\n

    \r\n

    \r\n {empresa.FISCAL_DOCUMENT}: {empresa.NIFCIF}\r\n

    \r\n
    \r\n
    \r\n Copia\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {NombreCliente}

    \r\n

    \r\n DirecciĆ³n : {DireccionCliente}
    \r\n CĆ³digo : {props.Pedido.Cliente.Codigo}
    \r\n

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

    Pedido {props.Pedido.PedidoId}

    \r\n

    \r\n Fecha del pedido : {moment(props.Pedido.FechaActual).format('DD/MM/YYYY hh:mm a')}
    \r\n Entrega Sugerida : {moment(props.Pedido.FechaEntrega).format('DD/MM/YYYY hh:mm a')}
    \r\n Asesor: {props.Pedido.Usuario}
    \r\n Modo Venta: {props.Pedido.ModoVenta}
    \r\n Coleccion: {props.Pedido.CodigoColeccion +\"-\"+ props.Pedido.NombreColeccion}
    \r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {props.gruposXDetPed.map((grupoTalla, index1) => {\r\n let cantidad = 3;\r\n let IsDist = false;\r\n let CantDist = 0;\r\n let Distribuciones = []; \r\n return (\r\n \r\n \r\n \r\n \r\n {grupoTalla.ListaTalla.map((talla, index2) => {\r\n Distribuciones = Tallas(talla);\r\n cantidad++;\r\n return (\r\n <>\r\n {\r\n talla.Distribucion.length !== 0 && grupoTalla.ListaTalla.length === index2 + 1 &&\r\n Distribuciones.map((dist, index3) => {\r\n IsDist = true;\r\n cantidad++;\r\n return (\r\n \r\n )\r\n })\r\n }\r\n {\r\n talla.Distribucion.length === 0 &&\r\n \r\n }\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n {grupoTalla.prodsXDetPed.map((producto, index2) => {\r\n let ColoresProductos = Object.keys(producto.coloresXProdXDetPed).map((key) => (producto.coloresXProdXDetPed[key]));\r\n ColoresProductos.sort((a, b) => a.NombreColor < b.NombreColor ? -1 : 1);\r\n return (\r\n \r\n \r\n \r\n \r\n {ColoresProductos.map((color, index3) => {\r\n let detalles = Array(grupoTalla.ListaTalla.length).fill(null);\r\n color.DetallesXPedido.forEach(detalleXPedido => {\r\n detalles[grupoTalla.ListaTalla.findIndex(tall => tall.Talla === detalleXPedido.Talla)] = detalleXPedido;\r\n });\r\n let cellSize = 100 / cantidad;\r\n let TotalXTalla = 0;\r\n let TotalXProducto = 0;\r\n let arreglo = [];\r\n let totalcant = 0;\r\n return (\r\n \r\n \r\n {detalles.map((det, index4) => {\r\n IsDist = det !== null ? checkDist(det.TallaObject) : IsDist;\r\n return (\r\n <>\r\n {\r\n IsDist === true && det !== null &&\r\n det.TallaObject.Distribucion.map((dist, index) => {\r\n CantDist = det.TallaObject.Distribucion.reduce((acc, curr) => {return acc + Number(curr.Cantidad) }, 0);;\r\n \r\n TotalXTalla = dist.Cantidad * det.Cantidad;\r\n TotalXProducto += TotalXTalla;\r\n TotalUnidad += TotalXTalla;\r\n let cant = 0;\r\n if (color.DetallesXPedido.length === 1) {\r\n totalcant = dist.Cantidad * det.Cantidad;\r\n }\r\n else {\r\n if (arreglo.length > 0) {\r\n const listaTallas = arreglo.filter(x => x.NombreTalla === dist.NombreTalla);\r\n if (detalles.length === (index4 + 1)) {\r\n if (listaTallas.length > 0) {\r\n cant = dist.Cantidad * det.Cantidad\r\n totalcant = listaTallas[0].cant + cant;\r\n }\r\n else {\r\n totalcant = dist.Cantidad * det.Cantidad;\r\n }\r\n }\r\n else if (listaTallas.length > 0) {\r\n cant = dist.Cantidad * det.Cantidad\r\n totalcant = listaTallas[0].cant + cant;\r\n return false;\r\n }\r\n else {\r\n arreglo.push({ NombreTalla: dist.NombreTalla, cant: dist.Cantidad * det.Cantidad });\r\n return false;\r\n }\r\n }\r\n else {\r\n arreglo.push({ NombreTalla: dist.NombreTalla, cant: dist.Cantidad * det.Cantidad });\r\n return false;\r\n }\r\n }\r\n return (\r\n \r\n )\r\n })\r\n }\r\n {\r\n IsDist === false &&\r\n \r\n }\r\n \r\n )\r\n })}\r\n \r\n\r\n \r\n \r\n )\r\n })}\r\n \r\n )\r\n })}\r\n \r\n
    \r\n \r\n {\r\n
    {dist.NombreTalla}
    \r\n }\r\n
    \r\n {\r\n
    {talla.Talla}
    \r\n }\r\n
    CantTotal
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {producto.CodigoProducto}\r\n
    \r\n
    {producto.NombreProducto}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\"Precio\"}\r\n
    \r\n {color.NombreColor}\r\n
    \r\n
    \r\n {det ? det.PrecioUnitario / CantDist : \"--\"}\r\n
    \r\n \r\n
    \r\n
    \r\n {det ? det.PrecioUnitario : \"--\"}\r\n
    \r\n \r\n
    {TotalXProducto !== 0 ? TotalXProducto : color.CantidadXColor}{numberWithCommas(color.TotalXColor)}
    \r\n )\r\n })}\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n props.Pedido.Firma === null ?\r\n
    :\r\n {\"Firma\"}\r\n }\r\n\r\n
    \r\n\r\n
    \r\n \r\n Firma\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Unidades:\r\n
    \r\n
    \r\n {TotalUnidad !== 0 ? TotalUnidad : props.Pedido.TotalUnidades}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Subtotal:\r\n
    \r\n\r\n
    \r\n {numberWithCommas(props.Pedido.SubTotalXPedido)}\r\n
    \r\n
    \r\n\r\n {(props.Pedido.Flete > 0 && props.Pedido.Flete !== null) &&
    \r\n
    \r\n Flete:\r\n
    \r\n\r\n
    \r\n {numberWithCommas((props.Pedido.Flete))}\r\n
    \r\n
    }\r\n\r\n
    \r\n
    \r\n Impuesto:\r\n
    \r\n\r\n
    \r\n {numberWithCommas((props.Pedido.Impuesto))}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Total:\r\n
    \r\n\r\n
    \r\n {moneda}{numberWithCommas((props.Pedido.TotalXPedido))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    NOTA:
    \r\n
    Se notificarĆ” cuando ya se entreguen los productos en la fecha sugerida indicada.
    \r\n
    \r\n\r\n
    \r\n


    Gracias!\r\n

    \r\n
    */}\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n }\r\n content={() => componentRef.current}\r\n />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nexport default ImprimirPedido;","import React, { useState, useEffect } from 'react';\r\nimport Loader from 'components/Global/Loader';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport MUIDataTable from \"mui-datatables\";\r\n//import Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport { Button, Dialog } from \"@material-ui/core\";\r\nimport DetallePedido from 'components/ListadoPedidos/DetallePedido';\r\nimport { PrintOutlined } from '@material-ui/icons';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport ImprimirPedido from 'components/ListadoPedidos/ImprimirPedido';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport { useSelector } from 'react-redux';\r\nimport { verificarConexion } from 'utils/http';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport axios from 'axios';\r\nimport FileSaver from 'file-saver';\r\nimport XLSX from 'xlsx';\r\nmoment.locale('es');\r\n\r\nconst ListaPedidos = (props) => {\r\n const urlApi = APIURL;\r\n\r\n const [state, setState] = useState({\r\n error: false,\r\n isLoaded: false,\r\n startDate: new Date(new Date().getFullYear(), new Date().getMonth(), 1),\r\n endDate: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 1),\r\n pedidos: [],\r\n clientes: [],\r\n pedido: null,\r\n Detalles: [],\r\n Asesores: [],\r\n ListaPedidos: [],\r\n });\r\n const [showDialog, setShowDialog] = useState(false);\r\n const [DialogPedido, setDialogPedido] = useState(null);\r\n const [fechaInicio, setFechaInicio] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() - 30));\r\n const [fechaFin, setFechaFin] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate()));\r\n const [AsesorSelected, setAsesorSelected] = useState(null);\r\n const AsesoresUsuario = useSelector(e => e.Permisos[0].AsesoresUsuario);\r\n useEffect(() => {\r\n if (!IsAllow(props.match.url)) {\r\n props.history.push('/home');\r\n }\r\n setAsesorSelected(AsesoresUsuario[0].Usuario);\r\n cargarPedidos(\"1900-01-01\", \"1900-01-01\");\r\n //cargarClientes();\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n\r\n const cargarPedidos = async (FechaInicio, FechaFin) => {\r\n let isOnline = await verificarConexion();\r\n if (!isOnline || localStorage.getItem(\"Conexion\") === \"offline\") {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder visualizar esta pagina.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n });\r\n setState((prevState) => ({ ...prevState, isLoaded: true }))\r\n } else if (localStorage.getItem(\"Conexion\") === \"Online\" && isOnline) {\r\n var Inicio = moment(FechaInicio).format(\"YYYY-MM-DD\");\r\n var Fin = moment(FechaFin).format(\"YYYY-MM-DD\");\r\n let Asesor = AsesorSelected == null ? AsesoresUsuario[0].Usuario : AsesorSelected;\r\n fetch(urlApi + \"/api/PedidosXCliente/\" + Asesor + \"/\" + Inicio + \"/\" + Fin, {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n\r\n }\r\n })\r\n .then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(\r\n (result) => {\r\n let asesores = [];\r\n AsesoresUsuario.map((Ase) => {\r\n let Valores = { key: Ase.Usuario, value: Ase.Usuario, text: Ase.Usuario }\r\n asesores.push(Valores);\r\n return true;\r\n })\r\n setState({\r\n ...state,\r\n isLoaded: true,\r\n pedidos: result,\r\n Asesores: asesores,\r\n });\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n setState({\r\n ...state,\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n )\r\n }\r\n })\r\n }\r\n }\r\n\r\n const handleFechaInicio = (fecha) => {\r\n setFechaInicio(fecha);\r\n\r\n var fech = moment(fecha).add(30, 'days')\r\n setFechaFin(fech);\r\n }\r\n\r\n const handleFechaFin = (date) => {\r\n //var date = moment(fecha).toDate();\r\n setFechaFin(date);\r\n }\r\n const getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n })\r\n const DataPedidos = () => {\r\n let DataPedidos = [];\r\n state.pedidos.map(pedido => {\r\n //if (moment(fechaIni) < moment(pedido.FechaActual) && moment(pedido.FechaActual) < moment(fechaFin)) {\r\n let data = [\r\n [pedido.PedidoId, pedido.Sincronizado],\r\n [pedido.Cliente.Codigo, pedido.Sincronizado],\r\n [pedido.Cliente.Nombre, pedido.Sincronizado],\r\n [moment(pedido.FechaActual).format('DD/MM/YYYY'), pedido.Sincronizado],\r\n [pedido.Sincronizado],\r\n [pedido.NumeroPedido, pedido.Sincronizado],\r\n [pedido.Linea.Linea, pedido.Sincronizado],\r\n [pedido.NombreColeccion, pedido.Sincronizado],\r\n (pedido.BodegaEspecifica === null ? \"No\" : pedido.BodegaEspecifica ? \"Si\" : \"No\"),\r\n [pedido.TotalUnidades, pedido.Sincronizado],\r\n [pedido.TotalXPedido, pedido.TotalXPedido],\r\n [moment(pedido.FechaEntrega).format('DD/MM/YYYY'), pedido.Sincronizado],\r\n [pedido.SaleStatus],\r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n ]\r\n\r\n DataPedidos.push(data);\r\n //}\r\n return false;\r\n\r\n });\r\n\r\n return DataPedidos;\r\n }\r\n\r\n const GetPedidoDetalle = async (Pedido, EsImpresion) => {\r\n let isOnline = await verificarConexion();\r\n if (!isOnline || localStorage.getItem(\"Conexion\") === \"offline\") {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder visualizar esta pagina.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n });\r\n setState((prevState) => ({ ...prevState, isLoaded: true }))\r\n } else {\r\n let EnDetalle = EsImpresion ? null : Pedido;\r\n fetch(`${APIURL}/api/PedidoDetalle/${Pedido.PedidoId}`)\r\n .then(res => res.json())\r\n .then(data => {\r\n setState({\r\n ...state,\r\n Detalles: data,\r\n pedido: EnDetalle,\r\n });\r\n if (EsImpresion) {\r\n setShowDialog(true);\r\n }\r\n });\r\n setDialogPedido(Pedido);\r\n }\r\n }\r\n\r\n const hidePrint = () => {\r\n setShowDialog(false);\r\n setDialogPedido(null);\r\n }\r\n\r\n\r\n const RegresarListaPedidos = () => {\r\n setState({ ...state, pedido: null });\r\n }\r\n\r\n const handleOnChangeAsesor = (value) => {\r\n setAsesorSelected(value);\r\n }\r\n const guardarExcel = (csvData, titulo) => {\r\n const fileName = `Reporte de pedidos`;\r\n const fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n const fileExtension = '.xlsx';\r\n const ws = XLSX.utils.json_to_sheet(csvData);\r\n const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const data = new Blob([excelBuffer], { type: fileType });\r\n FileSaver.saveAs(data, fileName + fileExtension);\r\n }\r\n\r\n const mostrarAdvertencia = (title, text, type) => {\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n type: type,\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n\r\n const obtenerReporteDistanciaPedido = async () => {\r\n try {\r\n var Inicio = moment(fechaInicio).format(\"YYYY-MM-DD\");\r\n var Fin = moment(fechaFin).format(\"YYYY-MM-DD\");\r\n const request = await axios.get(`${APIURL}/api/reportePedidos/${AsesorSelected}/${Inicio}/${Fin}`);\r\n\r\n if (request.data.length === 0) {\r\n mostrarAdvertencia(\"Pedidos\", \"No se han encontrado registros para este rango de fechas\", \"warning\")\r\n return;\r\n }\r\n\r\n guardarExcel(request.data, `Reporte de distancia pedido`);\r\n mostrarAdvertencia(\"Ā”Documento Descargado!\", \"Revise su panel de notificaciones o su carpeta de descargas.\", \"success\");\r\n\r\n } catch (err) {\r\n mostrarAdvertencia(\"Error\", \"No se pudo obtener los registros\", \"error\");\r\n }\r\n }\r\n\r\n const obtenerReportePedidos = async () => {\r\n try {\r\n if (state.pedidos.length === 0) {\r\n mostrarAdvertencia(\"Pedidos\", \"No se han encontrado registros para este rango de fechas\", \"warning\")\r\n return;\r\n }\r\n else {\r\n let dataTable = [];\r\n state.pedidos.map(pedido => {\r\n let data = {\r\n Nombre: pedido.PedidoId,\r\n CodigoCliente: pedido.Cliente.Codigo,\r\n NombreCliente: pedido.Cliente.Nombre,\r\n FechaActual: moment(pedido.FechaActual).format('DD/MM/YYYY'),\r\n Sincronizado: pedido.Sincronizado,\r\n NumeroPedido: pedido.NumeroPedido,\r\n Linea: pedido.Linea.Linea,\r\n NombreColeccion: pedido.NombreColeccion,\r\n BodegaEspecifica: pedido.BodegaEspecifica === null ? \"No\" : pedido.BodegaEspecifica ? \"Si\" : \"No\",\r\n TotalUnidades: pedido.TotalUnidades,\r\n TotalXPedido: pedido.TotalXPedido,\r\n FechaEntrega: moment(pedido.FechaEntrega).format('DD/MM/YYYY'),\r\n EstadoPedido: pedido.SaleStatus\r\n }\r\n dataTable.push(data);\r\n return false;\r\n });\r\n\r\n if (dataTable.length === 0) {\r\n mostrarAdvertencia(\"Pedidos\", \"No se han encontrado registros para este rango de fechas\", \"warning\")\r\n return;\r\n }\r\n guardarExcel(dataTable, `Reporte de pedidos`);\r\n mostrarAdvertencia(\"Ā”Documento Descargado!\", \"Revise su panel de notificaciones o su carpeta de descargas.\", \"success\");\r\n }\r\n } catch (err) {\r\n mostrarAdvertencia(\"Error\", \"No se pudo obtener los registros\", \"error\");\r\n }\r\n }\r\n\r\n if (!state.isLoaded) {\r\n return ;\r\n }\r\n if (state.error) {\r\n return
    Error: {state.error.message}
    ;\r\n }\r\n if (state.pedido != null && state.Detalles !== null) {\r\n return (\r\n \r\n )\r\n } else {\r\n return (\r\n
    \r\n
    \r\n
    \r\n handleFechaInicio(date)}\r\n />\r\n\r\n
    \r\n
    \r\n handleFechaFin(date)}\r\n />\r\n
    \r\n
    \r\n handleOnChangeAsesor(value)}\r\n options={state.Asesores}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={AsesorSelected}\r\n />\r\n
    \r\n
    \r\n cargarPedidos(fechaInicio, fechaFin)}>Obtener\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n hidePrint()}\r\n scroll={'paper'}\r\n aria-labelledby=\"scroll-dialog-title\"\r\n >\r\n\r\n {\r\n DialogPedido && state.Detalles !== null &&\r\n \r\n }\r\n \r\n\r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\n\r\nconst HeadersListaPedidos = [\r\n {\r\n name: \"No. Pedido\",\r\n options: {\r\n filter: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Codigo Cliente\",\r\n options: {\r\n filter: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Cliente\",\r\n options: {\r\n filter: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Fecha Pedido\",\r\n options: {\r\n filter: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Sincronizado\",\r\n options: {\r\n filter: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0] ? \"Si\" : \"No\"}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Num Pedido Ax\",\r\n options: {\r\n filter: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0] === \"\" ? \"No disponible\" : value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Linea\",\r\n options: {\r\n filter: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Paquete\",\r\n options: {\r\n filter: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n label: \"Bodega Especifica\",\r\n options: {\r\n filter: true,\r\n sort: false,\r\n }\r\n },\r\n {\r\n name: \"Total unidades\",\r\n options: {\r\n filter: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Total Pedido\",\r\n options: {\r\n filter: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Fecha Entrega\",\r\n options: {\r\n filter: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Estado AX\",\r\n options: {\r\n filter: true\r\n }\r\n },\r\n {\r\n label: \"Acciones\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n];\r\n\r\nconst DatatableOptions = {\r\n filter: true,\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: true,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n\r\n\r\nexport default ListaPedidos;\r\n","import React, { useState, useEffect } from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport { Button } from '@material-ui/core';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { PermisoUsuarioOficinaCreditos } from 'components/Seguridad/Permisos';\r\nimport axios from 'axios';\r\n\r\nexport const DepositosModal = props => {\r\n const { open, numeroRecibo, handleClose } = props;\r\n const [depositos, setDepositos] = useState([]);\r\n\r\n const obtenerDepositos = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/recibo/comprobantes/${numeroRecibo}`);\r\n setDepositos(request.data);\r\n } catch (err) {\r\n alert(\"ocurrio un error y no se pudieron obtener los depositos\");\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n obtenerDepositos();\r\n }, [numeroRecibo]);\r\n\r\n return (\r\n \r\n \r\n
    \r\n Depositos recibo {numeroRecibo}\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n {depositos.map(x => )}\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nconst DetalleDeposito = (props) => {\r\n const [dpi, setDpi] = useState(props.dpi);\r\n const [showModalUpload, setShowModalUpload] = useState(false);\r\n const [imagenDepositos, setImagenDepositos] = useState();\r\n\r\n const actualizarDpi = async () => {\r\n try {\r\n if (dpi === \"\") {\r\n alert(\"llenar el valor del deposito por investigar\");\r\n return\r\n }\r\n\r\n await axios.post(`${APIURL}/api/recibo/comprobante/dpi/${props.id}`, { dpi });\r\n alert(\"deposito por investigar actualizado correctamente\");\r\n } catch (err) {\r\n alert(\"no se pudo actualizar el deposito por investigar\");\r\n }\r\n }\r\n\r\n const handleFilesChange = (e) => {\r\n setImagenDepositos(e.target.files);\r\n }\r\n\r\n const uploadDepositos = async () => {\r\n try {\r\n if (imagenDepositos === undefined) {\r\n alert(\"Seleccione uno o varios depositos para subir.\");\r\n return;\r\n }\r\n\r\n let formData = new FormData();\r\n\r\n for (let i = 0; i < imagenDepositos.length; i++) {\r\n formData.append(`images`, imagenDepositos[i]);\r\n }\r\n\r\n await axios.post(`${APIURL}/api/recibo/comprobantes/actualizar/${props.recibo}/${props.id}`, formData, { headers: { 'Content-Type': 'multipart/form-data' } });\r\n alert(\"Depositos subidos con exito.\");\r\n setShowModalUpload(false);\r\n setImagenDepositos(undefined);\r\n } catch (err) {\r\n alert(\"Ocurrio un error y no se pudieron subir los depositos\");\r\n }\r\n }\r\n\r\n const eliminarImagenDeposito = async () => {\r\n try {\r\n const result = window.confirm(`ĀæEsta seguro de eliminar la imagen del recibo ${props.recibo}?`);\r\n if (result) {\r\n await axios.delete(`${APIURL}/api/recibo/comprobante/eliminar/${props.id}`);\r\n alert(`La imagen ha sido eliminado con exito.`);\r\n }\r\n } catch (err) {\r\n alert(\"Ocurrio un error y no se pudieron subir los depositos\");\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n setShowModalUpload(false)}>\r\n \r\n

    Cargar depositos

    \r\n
    \r\n \r\n \r\n {imagenDepositos !== undefined && \r\n Cargar depositos\r\n }\r\n \r\n \r\n {PermisoUsuarioOficinaCreditos() &&
    \r\n \r\n setDpi(e.target.value)} />\r\n \r\n
    }\r\n
    \r\n \r\n \r\n {PermisoUsuarioOficinaCreditos() && }\r\n
    \r\n
    \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { FaArrowLeft } from \"react-icons/fa\";\r\nimport { Fab,Button } from \"@material-ui/core\";\r\nimport { Image } from '@material-ui/icons';\r\nimport { GoogleMap, useJsApiLoader, Marker, Circle } from '@react-google-maps/api';\r\nimport {DepositosModal} from './DepositosModal';\r\nimport moment from \"moment\";\r\nimport \"moment/locale/es\";\r\nimport styles from \"components/ListadoRecibos/DetalleRecibo.module.css\";\r\nimport { useSelector } from 'react-redux';\r\n\r\n\r\nconst DetalleRecibo = (props) => {\r\n const { recibo } = props;\r\n const [maps, setMaps] = useState({ map: null, maps: null });\r\n const [openModal,setOpenModal] = useState(false);\r\n const APIKEY = useSelector(e => e.Configuraciones.ApiKey_GoogleMaps);\r\n\r\n let initialCoors = { lat: recibo.locationCliente.latitude,lng: recibo.locationCliente.longitude };\r\n let longitudCliente = recibo.locationCliente.longitude;\r\n let latitudCliente = recibo.locationCliente.latitude;\r\n\r\n\r\n const { isLoaded } = useJsApiLoader({\r\n id: 'google-map-script',\r\n googleMapsApiKey: APIKEY\r\n})\r\n const renderMarkers = () => {\r\n if (recibo.Latitude !== null && recibo.Longitude !== null) {\r\n addMarker(\r\n recibo.Cliente.Nombre,\r\n { lat: recibo.Latitude, lng: recibo.Longitude },\r\n \"red\",\r\n \"\"\r\n );\r\n }\r\n };\r\n\r\n const addMarker = (title, latLng, color, pinText) => {\r\n let map = maps.map;\r\n let url = `https://raw.githubusercontent.com/Concept211/Google-Maps-Markers/master/images/marker_${color}${pinText}.png`;\r\n\r\n let infowindow = new maps.maps.InfoWindow({\r\n content: title,\r\n });\r\n let marker = new maps.maps.Marker({\r\n position: latLng,\r\n map: map,\r\n icon: {\r\n url: url,\r\n },\r\n title: title,\r\n });\r\n marker.addListener(\"click\", function () {\r\n infowindow.open(map, marker);\r\n });\r\n map.addListener(\"click\", function () {\r\n infowindow.close();\r\n });\r\n };\r\n\r\n if (maps.map !== null) {\r\n renderMarkers();\r\n }\r\n const rad = (x) => {\r\n return x * Math.PI / 180;\r\n }\r\n const CalcularDistancia = (lat1, lon1, lat2, lon2) => {\r\n if (lat1 === null || lon1 === null || lat2 === null || lon2 === null) {\r\n return 0;\r\n }\r\n\r\n var R = 6378.137;//Radio de la tierra en km\r\n var dLat = rad(lat2 - lat1);\r\n var dLong = rad(lon2 - lon1);\r\n var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(rad(lat1)) * Math.cos(rad(lat2)) * Math.sin(dLong / 2) * Math.sin(dLong / 2);\r\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n var d = R * c;\r\n return 1000 * d.toFixed(3);//Retorna valor en metros\r\n }\r\n let options = null;\r\n let color = \"#FF0000\";\r\n let zoom = 9;\r\n let distancia = 0;\r\n if(latitudCliente && longitudCliente)\r\n {\r\n distancia = CalcularDistancia(recibo.Latitude,recibo.Longitude, latitudCliente, longitudCliente)\r\n if(distancia <= 50){\r\n color = \"#1ECE39\";\r\n zoom = 19;\r\n }else if(distancia <= 100){\r\n color = \"#F9EA06\";\r\n zoom = 15;\r\n }else if(distancia > 100 && distancia <1000){\r\n zoom = 16;\r\n }\r\n else if(distancia > 1000){\r\n zoom = 8;\r\n }\r\n\r\n console.log(\"distncia \" + distancia);\r\n options = {\r\n strokeColor: color,\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: color,\r\n fillOpacity: 0.35,\r\n clickable: false,\r\n draggable: false,\r\n editable: false,\r\n visible: true,\r\n radius: 30000,\r\n zIndex: 1\r\n }\r\n }\r\n\r\n const handleClose=()=>{\r\n setOpenModal(false);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n props.RegresarListaRecibos()}\r\n className={\"mx-1\"}\r\n style={{ transform: \"scale(0.8)\" }}\r\n >\r\n \r\n \r\n \r\n {recibo.NumeroRecibo}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    UbicaciĆ³n:
    \r\n \r\n {isLoaded && latitudCliente !== null && longitudCliente !== null ? \r\n
    \r\n \r\n \r\n {(recibo.Longitude !== null && recibo.Latitude !== null) && }\r\n\r\n {(latitudCliente !== null && longitudCliente !== null) && (\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n )}\r\n\r\n \r\n
    \r\n : \r\n
    \r\n UbicaciĆ³n no disponible\r\n
    \r\n }\r\n
    \r\n
    \r\n
    InformaciĆ³n:
    \r\n \r\n \r\n \r\n {\"Codigo de cliente: \"}\r\n \r\n {recibo.Cliente.Codigo}\r\n \r\n \r\n \r\n {\"Nombre del cliente: \"}\r\n \r\n {recibo.Cliente.Nombre}\r\n \r\n \r\n \r\n {\"Empresa: \"}\r\n \r\n {recibo.CodigoCliente.split(\"-\")[0]}\r\n \r\n \r\n \r\n {\"Fecha Pago: \"}\r\n \r\n {moment(recibo.Fecha).format(\"DD/MM/YYYY hh:mm a\") !==\r\n \"Invalid date\"\r\n ? moment(recibo.Fecha).format(\"DD/MM/YYYY hh:mm a\")\r\n : \"\"}\r\n \r\n \r\n \r\n Tipo Pago:\r\n \r\n {recibo.TipoPago.Codigo}\r\n \r\n \r\n \r\n {\"Moneda: \"}\r\n {recibo.IdMoneda}\r\n \r\n \r\n Descuento:\r\n \r\n {numberWithCommas(recibo.Descuento)}\r\n \r\n \r\n \r\n Total Recibo:\r\n \r\n {numberWithCommas(recibo.Valor)}\r\n \r\n \r\n \r\n \r\n Distancia:\r\n \r\n \r\n {distancia + ' m'}\r\n \r\n \r\n \r\n \r\n Depositos:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Documento\r\n Factura\r\n Fecha\r\n Parcial\r\n Descuento\r\n Aplicado\r\n \r\n \r\n \r\n {recibo.DetalleRecibo.map((re, index) => (\r\n \r\n {re.Tipo}\r\n {re.Factura}\r\n {moment(re.FechaFactura).format(\"DD/MM/YYYY\")}\r\n \r\n {numberWithCommas(re.ValorSinDescuento)}\r\n \r\n \r\n {numberWithCommas(re.Descuento)}\r\n \r\n \r\n {numberWithCommas(re.Valor)}\r\n \r\n \r\n ))}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n};\r\n\r\nexport default DetalleRecibo;\r\n","import React, { useState } from 'react';\r\nimport { DialogActions, DialogContent, DialogTitle, Button } from '@material-ui/core';\r\nimport ReactToPrint from 'react-to-print';\r\nimport Logo from 'assets/img/logo/LogoSinLetrasB.png';\r\nimport styles from \"components/ListadoRecibos/Recibo.module.css\";\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport axios from 'axios';\r\nimport { useSelector } from 'react-redux';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { ObtenerCoordenadas } from 'utils/common';\r\n\r\nconst Recibo = (props) => {\r\n const [numeroCopia, setNumeroCopia] = useState(props.recibo.NumeroCopia);\r\n const Monedas = useSelector(e => e.AbreviacionMonedas);\r\n const clientesContado = useSelector(e => e.clientesContado);\r\n const empresas = useSelector(e => e.Empresas);\r\n const empresaCliente = props.recibo.Cliente.Codigo.split(\"-\")[0];\r\n let NombreCliente = props.recibo.Cliente.Nombre;\r\n let DireccionCliente = props.recibo.Cliente.Direccion;\r\n const clienteContado = props.recibo.Pedido !== null && props.recibo.Pedido !== undefined ? clientesContado.find(x => x.id === props.recibo.Pedido.ClienteContadoId) : null;\r\n let valor = props.recibo.Valor;\r\n const empresa = empresas.find(x => x.COMPANY_CODE === empresaCliente.toUpperCase());\r\n const moneda = Monedas.find(e => e.IdMoneda === props.recibo.Cliente.Moneda).Abreviacion;\r\n if (clienteContado !== null && clienteContado !== undefined) {\r\n if (valor < 10000) {\r\n NombreCliente = 'CONSUMIDOR FINAL';\r\n }\r\n else {\r\n NombreCliente = clienteContado.Nombre;\r\n }\r\n DireccionCliente = clienteContado.Direccion;\r\n }\r\n\r\n const componentRef = React.useRef();\r\n\r\n const RegistrarLogs = async () => {\r\n let logRecibo = {};\r\n ObtenerCoordenadas((position) => {\r\n logRecibo = {\r\n numRecibo: props.recibo.NumeroRecibo,\r\n Usuario: localStorage.getItem(\"codigo\"),\r\n Fecha: new Date(),\r\n Latitude: position.coords.latitude,\r\n Longitude: position.coords.longitude\r\n };\r\n postLogRecibos(logRecibo);\r\n }, (error) => {\r\n logRecibo = {\r\n numRecibo: props.recibo.NumeroRecibo,\r\n Usuario: localStorage.getItem(\"codigo\"),\r\n Fecha: new Date(),\r\n Latitude: null,\r\n Longitude: null\r\n };\r\n postLogRecibos(logRecibo);\r\n });\r\n }\r\n\r\n const postLogRecibos = async (data) => {\r\n try {\r\n const request = await axios.post(`${APIURL}/api/logImpresionRecibo`, data);\r\n setNumeroCopia((prev) => (prev + 1));\r\n props.hidePrint();\r\n return request.data;\r\n } catch (err) {\r\n console.log(err);\r\n return null;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n Vista Previa Recibo\r\n \r\n
    \r\n {props.recibo.NumeroRecibo}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\"Logo\"}\r\n
    \r\n
    \r\n

    \r\n {empresa.NAME}\r\n

    \r\n

    {props.recibo.Original ? \"Original\" : \"Copia\"}

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

    \r\n {empresa.FISCAL_DOCUMENT}: {empresa.NIFCIF}\r\n

    \r\n {/*
    ImpresiĆ³n No. {numeroCopia}
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {props.recibo.Cliente.Codigo}\r\n

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

    \r\n {'No. ' + props.recibo.NumeroRecibo}\r\n {props.recibo.anulado && ANULADO}\r\n

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

    \r\n {NombreCliente}\r\n

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

    \r\n {DireccionCliente}\r\n

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

    \r\n\r\n Fecha: {moment(props.recibo.Fecha).format('DD/MM/YYYY hh:mm a')}\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 Pago\r\n \r\n Esp. Pago\r\n \r\n Fecha\r\n \r\n Referencia\r\n \r\n Banco\r\n \r\n Monto\r\n
    \r\n {props.recibo.TipoPago.Descripcion}\r\n \r\n {props.recibo.TipoPago.TiposdePagoDetalle[0].Descripcion}\r\n \r\n {moment(props.recibo.FechaPago).format(\"DD/MM/YYYY\")}\r\n \r\n {props.recibo.Referencia}\r\n \r\n {props.recibo.DescripcionBanco}\r\n \r\n {numberWithCommas(props.recibo.Valor)}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \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.recibo.DetalleRecibo.map((factu, index) => {\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\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
    \r\n Documento\r\n \r\n Fecha\r\n \r\n\r\n \r\n\r\n \r\n Parcial\r\n \r\n Aplicado\r\n
    \r\n {factu.Tipo}\r\n \r\n {moment(factu.FechaFactura).format(\"DD/MM/YYYY\")}\r\n \r\n {factu.EsAbono === true && \"Abono\"}\r\n {factu.EsAbono === false && \"Cancelado\"}\r\n \r\n\r\n \r\n {/* 6,182.40 */}\r\n {numberWithCommas(Number(factu.ValorFactura))}\r\n \r\n {factu.cuota ? \"Cuota: \" + factu.cuota : \"\"}\r\n
    \r\n {factu.Factura}\r\n {factu.NumeroFel !== \"\" && factu.NumeroFel !== null &&\r\n \" - FEL: \" + factu.NumeroFel\r\n }\r\n \r\n {\"Dias: \" + factu.DiasVencimiento}\r\n \r\n Desc\r\n {/* {factu.Parcial2 !=='0' ? 'D':'' } */}\r\n \r\n\r\n \r\n {numberWithCommas(Number(factu.Descuento))}\r\n {/* {factu.Parcial2} */}\r\n \r\n {numberWithCommas(factu.Valor)}\r\n
    \r\n
    \r\n
    \r\n

    \r\n Total Recibo:\r\n {moneda}\r\n {numberWithCommas(props.recibo.Valor)}\r\n

    \r\n
    \r\n\r\n
    \r\n {props.recibo.firma !== \"\" && \"Firma}\r\n
    \r\n

    \r\n {props.recibo.NombreAsesor}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n }\r\n onAfterPrint={() => RegistrarLogs()}\r\n content={() => componentRef.current}\r\n />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst numberWithCommas = (x) => {\r\n try {\r\n x = x.toFixed(2);\r\n }\r\n catch (error) {\r\n x = parseFloat(x).toFixed(2);\r\n }\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nexport default Recibo;","import React, { useEffect, useState } from 'react';\r\nimport Logo from 'assets/img/logo/LogoSinLetrasB.png';\r\nimport styles from \"components/ListadoRecibos/Recibo.module.css\";\r\nimport moment from \"moment\";\r\nimport axios from 'axios';\r\nimport 'moment/locale/es';\r\nimport { useSelector } from 'react-redux';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nexport const ReciboReporte = (props) => {\r\n const [nombreAsesor, setNombreAsesor] = useState('');\r\n const [firmaAsesor, setFirmaAsesor] = useState('');\r\n const Monedas = useSelector(e => e.AbreviacionMonedas);\r\n const clientesContado = useSelector(e => e.clientesContado);\r\n const empresas = useSelector(e => e.Empresas);\r\n const empresaCliente = props.recibo.Cliente.Codigo.split(\"-\")[0];\r\n let NombreCliente = props.recibo.Cliente.Nombre;\r\n let DireccionCliente = props.recibo.Cliente.Direccion;\r\n const clienteContado = props.recibo.Pedido !== null && props.recibo.Pedido !== undefined ? clientesContado.find(x => x.id === props.recibo.Pedido.ClienteContadoId) : null;\r\n let valor = props.recibo.Valor;\r\n const empresa = empresas.find(x => x.COMPANY_CODE === empresaCliente.toUpperCase());\r\n const moneda = Monedas.find(e => e.IdMoneda === props.recibo.Cliente.Moneda).Abreviacion;\r\n if (clienteContado !== null && clienteContado !== undefined) {\r\n if (valor < 10000) {\r\n NombreCliente = 'CONSUMIDOR FINAL';\r\n }\r\n else {\r\n NombreCliente = clienteContado.Nombre;\r\n }\r\n DireccionCliente = clienteContado.Direccion;\r\n }\r\n\r\n const obtenerFirmaRecibo = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Recibo/obtenerfirma/${props.recibo.NumeroRecibo}`);\r\n setNombreAsesor(request.data.nombreAsesor);\r\n setFirmaAsesor(request.data.firma);\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n const mostrarDepositos = () => {\r\n if (props.recibo.anulado) {\r\n return
    \r\n }\r\n\r\n return props.recibo.depositos.map(e => (\r\n
    \r\n

    {e.dpi}

    \r\n \r\n

    \r\n {moment(e.fecha).format('DD/MM/YYYY hh:mm a')}\r\n

    \r\n
    \r\n ))\r\n }\r\n\r\n useEffect(() => {\r\n obtenerFirmaRecibo();\r\n }, [])\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n {\"Logo\"}\r\n
    \r\n
    \r\n

    \r\n {empresa.NAME}\r\n

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

    \r\n {empresa.FISCAL_DOCUMENT}: {empresa.NIFCIF}\r\n

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

    \r\n {props.recibo.Cliente.Codigo}\r\n

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

    \r\n {'No. ' + props.recibo.NumeroRecibo}\r\n {props.recibo.anulado && ANULADO}\r\n

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

    \r\n {NombreCliente}\r\n

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

    \r\n {DireccionCliente}\r\n

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

    \r\n\r\n Fecha: {moment(props.recibo.Fecha).format('DD/MM/YYYY hh:mm a')}\r\n

    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 Pago\r\n \r\n Esp. Pago\r\n \r\n Fecha\r\n \r\n Referencia\r\n \r\n Banco\r\n \r\n Monto\r\n
    \r\n {props.recibo.TipoPago.Descripcion}\r\n \r\n {props.recibo.TipoPago.TiposdePagoDetalle[0].Descripcion}\r\n \r\n {moment(props.recibo.FechaPago).format(\"DD/MM/YYYY\")}\r\n \r\n {props.recibo.Referencia}\r\n \r\n {props.recibo.DescripcionBanco}\r\n \r\n {numberWithCommas(props.recibo.Valor)}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \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.recibo.DetalleRecibo.map((factu, index) => {\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\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
    \r\n Documento\r\n \r\n Fecha\r\n \r\n\r\n \r\n\r\n \r\n Parcial\r\n \r\n Aplicado\r\n
    \r\n {factu.Tipo}\r\n \r\n {moment(factu.FechaFactura).format(\"DD/MM/YYYY\")}\r\n \r\n {factu.EsAbono === true && \"Abono\"}\r\n {factu.EsAbono === false && \"Cancelado\"}\r\n \r\n\r\n \r\n {/* 6,182.40 */}\r\n {numberWithCommas(Number(factu.ValorFactura))}\r\n \r\n {factu.cuota ? \"Cuota: \" + factu.cuota : \"\"}\r\n
    \r\n {factu.Factura}\r\n {factu.NumeroFel !== \"\" && factu.NumeroFel !== null &&\r\n \" - FEL: \" + factu.NumeroFel\r\n }\r\n \r\n {\"Dias: \" + factu.DiasVencimiento}\r\n \r\n Desc\r\n {/* {factu.Parcial2 !=='0' ? 'D':'' } */}\r\n \r\n\r\n \r\n {numberWithCommas(Number(factu.Descuento))}\r\n {/* {factu.Parcial2} */}\r\n \r\n {numberWithCommas(factu.Valor)}\r\n
    \r\n
    \r\n
    \r\n

    \r\n Total Recibo:\r\n {moneda}\r\n {numberWithCommas(props.recibo.Valor)}\r\n

    \r\n
    \r\n\r\n
    \r\n {firmaAsesor !== \"\" && \"Firma}\r\n
    \r\n

    \r\n {nombreAsesor}\r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {mostrarDepositos()}\r\n
    \r\n \r\n )\r\n}\r\n\r\nconst numberWithCommas = (x) => {\r\n try {\r\n x = x.toFixed(2);\r\n }\r\n catch (error) {\r\n x = parseFloat(x).toFixed(2);\r\n }\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Button, Dialog,DialogContent,DialogActions} from \"@material-ui/core\";\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport Recibo from \"components/ListadoRecibos/Recibo\";\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport moment from \"moment\";\r\nimport ReactToPrint from 'react-to-print';\r\nimport {ReciboReporte} from './ReciboReporte';\r\nimport { PermisoUsuarioOficinaCreditos } from 'components/Seguridad/Permisos';\r\nmoment.locale('es');\r\n\r\nconst Listado = (props) => {\r\n const [openModal,setOpenModal] = useState(false);\r\n const componentRef = React.useRef();\r\n const getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n })\r\n\r\n return (\r\n
    \r\n {(props.mostrarGenerarReporte && PermisoUsuarioOficinaCreditos()) && \r\n setOpenModal(false)}\r\n scroll={'paper'}\r\n aria-labelledby=\"scroll-dialog-title\"\r\n >\r\n \r\n

    {`${props.startDate.getDate()}/${props.startDate.getMonth() + 1}/${props.startDate.getFullYear()}`} - {`${props.endDate.getDate()}/${props.endDate.getMonth() + 1}/${props.endDate.getFullYear()} - ${props.nombreAsesor}`}

    \r\n
    \r\n {props.recibos.map((x,i)=>)}\r\n
    \r\n \r\n \r\n \r\n }\r\n content={() => componentRef.current}\r\n />\r\n \r\n \r\n }\r\n
    \r\n
    \r\n props.handleFechaInicio(date)}\r\n />\r\n\r\n
    \r\n
    \r\n props.handleFechaFin(date)}\r\n />\r\n
    \r\n
    \r\n props.handleOnChangeAsesor(value)}\r\n options={props.Asesores}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={props.AsesorSelected}\r\n />\r\n
    \r\n
    \r\n props.cargarRecibos(props.startDate, props.endDate)}\r\n >Obtener\r\n \r\n
    \r\n
    \r\n {(props.mostrarGenerarReporte && PermisoUsuarioOficinaCreditos()) && setOpenModal(true)}\r\n >Generar reporte\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n props.hidePrint()}\r\n scroll={'paper'}\r\n aria-labelledby=\"scroll-dialog-title\"\r\n >\r\n {\r\n props.DialogRecibo &&\r\n \r\n }\r\n \r\n\r\n
    \r\n );\r\n}\r\n\r\nexport default Listado;","import React, { useState, useEffect } from 'react';\r\nimport Loader from 'components/Global/Loader';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport { Button } from \"@material-ui/core\";\r\nimport DetalleRecibo from 'components/ListadoRecibos/DetalleRecibo';\r\nimport { PrintOutlined, Image } from '@material-ui/icons';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport Listado from 'components/ListadoRecibos/Listado';\r\nimport LoadingModal from './../../components/Global/LoadingModal';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport { IsAllow, PermisoUsuarioOficinaCreditos, PermisoHabilitarReimpresion } from 'components/Seguridad/Permisos';\r\nimport { useSelector } from 'react-redux';\r\nimport { verificarConexion } from 'utils/http';\r\nimport axios from 'axios';\r\nmoment.locale('es');\r\n\r\nconst ListaRecibos = (props) => {\r\n const urlApi = APIURL;\r\n\r\n const [showModalUpload, setShowModalUpload] = useState(false);\r\n const [numeroRecibo, setNumeroRecibo] = useState(\"\");\r\n const [imagenDepositos, setImagenDepositos] = useState();\r\n const [error, setError] = useState(false);\r\n const [isLoaded, setIsLoaded] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), 1));\r\n const [startDate, setStartDate] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() - 30));\r\n const [endDate, setEndDate] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate()));\r\n const [recibos, setRecibos] = useState([]);\r\n const [recibo, setRecibo] = useState(null);\r\n const [showDialog, setShowDialog] = useState(false);\r\n const [DialogRecibo, setDialogRecibo] = useState(null);\r\n const [isLoading, setLoading] = useState(false);\r\n const [Asesores, setAsesores] = useState([]);\r\n const [AsesorSelected, setAsesorSelected] = useState(null);\r\n const [nombreAsesor, setNombreAsesor] = useState(null);\r\n const AsesoresUsuario = useSelector(e => e.Permisos[0].AsesoresUsuario);\r\n\r\n useEffect(() => {\r\n if (!IsAllow(\"/lista-recibos\")) {\r\n props.history.push('/home');\r\n }\r\n cargarRecibos(\"1900-01-01\", \"1900-01-01\");\r\n let Asesores = [];\r\n AsesoresUsuario.map((Ase) => {\r\n let Valores = { key: Ase.Usuario, value: Ase.Usuario, text: Ase.Usuario }\r\n Asesores.push(Valores);\r\n return true;\r\n })\r\n setAsesores(Asesores)\r\n setAsesorSelected(AsesoresUsuario[0].Usuario)\r\n setNombreAsesor(AsesoresUsuario[0].Nombre);\r\n //cargarClientes();\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const cambiarRecibo = (recibo) => {\r\n setRecibo(recibo);\r\n }\r\n\r\n const cargarRecibos = async (FechaInicio, FechaFin) => {\r\n const isOnline = await verificarConexion();\r\n if (!isOnline || localStorage.getItem(\"Conexion\") === \"offline\") {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder visualizar esta pagina.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n });\r\n setLoading(true);\r\n } else if (localStorage.getItem(\"Conexion\") === \"Online\" && isOnline) {\r\n setLoading(true);\r\n var Inicio = moment(FechaInicio).format(\"YYYY-MM-DD\");\r\n var Fin = moment(FechaFin).format(\"YYYY-MM-DD\");\r\n let Asesor = AsesorSelected == null ? AsesoresUsuario[0].Usuario : AsesorSelected;\r\n fetch(urlApi + \"/api/Recibo/\" + Asesor + \"/\" + Inicio + \"/\" + Fin, {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n\r\n }\r\n }).then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(\r\n (result) => {\r\n setRecibos(result);\r\n setIsLoaded(true);\r\n setLoading(false);\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n setError(error);\r\n setIsLoaded(true);\r\n }\r\n )\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n const handleFechaInicio = (fecha) => {\r\n\r\n var date = moment(fecha).toDate();\r\n\r\n var fech = moment(fecha).toDate();\r\n fech.setMonth(date.getMonth() + 1);\r\n\r\n setStartDate(date);\r\n setEndDate(fech);\r\n }\r\n\r\n const handleFechaFin = (fecha) => {\r\n var date = moment(fecha).toDate();\r\n\r\n const diffTime = new Date(date) - new Date(startDate);\r\n\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n if (diffDays > 1) {\r\n setEndDate(date);\r\n }\r\n else {\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Ingrese Fecha VĆ”lida',\r\n })\r\n var fech = new Date();\r\n fech.setDate(startDate.getDate() + 6);\r\n setEndDate(fech);\r\n }\r\n }\r\n\r\n const handleOnChangeAsesor = (value) => {\r\n setAsesorSelected(value);\r\n const asesorFiltadro = AsesoresUsuario.find(x => x.Usuario === value);\r\n if (asesorFiltadro) {\r\n setNombreAsesor(asesorFiltadro.Nombre);\r\n }\r\n }\r\n\r\n const handleOpenModal = (numeroRecibo) => {\r\n setShowModalUpload(true);\r\n setNumeroRecibo(numeroRecibo);\r\n }\r\n\r\n const handleFilesChange = (e) => {\r\n setImagenDepositos(e.target.files);\r\n }\r\n\r\n const uploadDepositos = async () => {\r\n try {\r\n if (numeroRecibo === \"\" || imagenDepositos === undefined) {\r\n alert(\"Seleccione uno o varios depositos para subir.\");\r\n return;\r\n }\r\n\r\n let formData = new FormData();\r\n\r\n for (let i = 0; i < imagenDepositos.length; i++) {\r\n formData.append(`images`, imagenDepositos[i]);\r\n }\r\n\r\n await axios.post(`${APIURL}/api/recibo/comprobantes/${numeroRecibo}`, formData, { headers: { 'Content-Type': 'multipart/form-data' } });\r\n alert(\"Depositos subidos con exito.\");\r\n setShowModalUpload(false);\r\n setNumeroRecibo(\"\");\r\n setImagenDepositos(undefined);\r\n } catch (err) {\r\n alert(\"Ocurrio un error y no se pudieron subir los depositos\");\r\n }\r\n }\r\n\r\n const anularRecibo = async (numeroRecibo, anulado) => {\r\n const mensaje = anulado ? \"activar\" : \"anular\";\r\n try {\r\n\r\n const result = window.confirm(`ĀæEsta seguro de ${mensaje} el recibo ${numeroRecibo}?`);\r\n if (result) {\r\n await axios.delete(`${APIURL}/api/recibo/anular/${numeroRecibo}`);\r\n alert(`El recibo ${numeroRecibo} ha sido ${mensaje} con exito.`);\r\n }\r\n } catch (err) {\r\n alert(`Ha ocurrido un error y no se pudo ${mensaje} el recibo.`);\r\n }\r\n }\r\n\r\n const habilitarReimpresion = async (numeroRecibo, activado) => {\r\n const mensaje = activado ? \"desactivar\" : \"activar\";\r\n try {\r\n const result = await Swal.fire({\r\n title: 'Confirmado',\r\n text: `ĀæEstĆ” seguro de ${mensaje} la reimpresiĆ³n del recibo ${numeroRecibo}?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: mensaje,\r\n cancelButtonText: 'Cancelar'\r\n });\r\n\r\n if (result.value) {\r\n await axios.put(`${APIURL}/api/recibo/reimpresion/${numeroRecibo}`);\r\n Swal.fire('Ɖxito', `El recibo ${numeroRecibo} ha sido ${mensaje} con Ć©xito.`, 'success');\r\n }\r\n } catch (err) {\r\n Swal.fire('Error', `Ha ocurrido un error y no se pudo ${mensaje} el recibo.`, 'error');\r\n }\r\n }\r\n\r\n const habilitarReimpresionOriginal = async (numeroRecibo, activado) => {\r\n const mensaje = activado ? \"desactivar\" : \"activar\";\r\n try {\r\n const result = await Swal.fire({\r\n title: 'Confirmado',\r\n text: `ĀæEstĆ” seguro de ${mensaje} la reimpresiĆ³n original del recibo ${numeroRecibo}?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: mensaje,\r\n cancelButtonText: 'Cancelar'\r\n });\r\n\r\n if (result.value) {\r\n await axios.put(`${APIURL}/api/recibo/original/${numeroRecibo}`);\r\n Swal.fire('Ɖxito', `El recibo ${numeroRecibo} ha sido ${mensaje} como original con Ć©xito.`, 'success');\r\n }\r\n } catch (err) {\r\n Swal.fire('Error', `Ha ocurrido un error y no se pudo ${mensaje} el recibo.`, 'error');\r\n }\r\n }\r\n\r\n const DataRecibos = () => {\r\n let DataRecibos = [];\r\n\r\n if (recibos != null) {\r\n\r\n }\r\n\r\n recibos.map(recib => {\r\n\r\n let fechaIni = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate());\r\n let fechaFin = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());\r\n fechaFin.setDate(fechaFin.getDate() + 1);\r\n\r\n if (moment(fechaIni) < moment(recib.Fecha) && moment(recib.Fecha) < moment(fechaFin)) {\r\n let data =\r\n [\r\n [recib.NumeroRecibo, recib.Sincronizado],\r\n [recib.CodigoCliente, recib.Sincronizado],\r\n [recib.Cliente.Nombre, recib.Sincronizado],\r\n [moment(recib.Fecha).format('DD/MM/YYYY'), recib.Sincronizado],\r\n [recib.TipoPago.Descripcion, recib.Sincronizado],\r\n [recib.Referencia, recib.Sincronizado],\r\n [moment(recib.Fecha).format('DD/MM/YYYY'), recib.Sincronizado],\r\n [recib.DescripcionBanco, recib.Sincronizado],\r\n [recib.Valor, recib.Sincronizado],\r\n [recib.IdMoneda, recib.Sincronizado],\r\n [recib.Sincronizado],\r\n [recib.CodigoAsesor, recib.Sincronizado],\r\n [recib.DetalleRecibo[0].Factura, recib.Sincronizado],\r\n [recib.Descuento, recib.Sincronizado],\r\n
    {recib.depositos.length === 0 ? \"No\" : \"Si\"}
    ,\r\n
    \r\n\r\n \r\n \r\n \r\n {PermisoUsuarioOficinaCreditos() && \r\n \r\n }\r\n {PermisoHabilitarReimpresion() && \r\n \r\n \r\n }\r\n {(PermisoUsuarioOficinaCreditos() || recib.Reimpresion) && \r\n \r\n }\r\n\r\n \r\n \r\n \r\n
    \r\n ]\r\n DataRecibos.push(data);\r\n }\r\n return false;\r\n });\r\n\r\n DataRecibos.sort((a, b) => (a[0][0] > b[0][0]) ? -1 : ((b[0][0] > a[0][0]) ? 1 : 0));\r\n return DataRecibos;\r\n\r\n }\r\n\r\n const showPrint = async (recibo) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Recibo/obtenerfirma/${recibo.NumeroRecibo}`);\r\n let copyRecibo = { ...recibo };\r\n copyRecibo.NombreAsesor = request.data.nombreAsesor;\r\n copyRecibo.firma = request.data.firma;\r\n setDialogRecibo(copyRecibo);\r\n setShowDialog(true);\r\n } catch (err) {\r\n setDialogRecibo(recibo);\r\n setShowDialog(true);\r\n }\r\n }\r\n\r\n const hidePrint = () => {\r\n setShowDialog(false);\r\n setDialogRecibo(null);\r\n }\r\n\r\n\r\n const RegresarListaRecibos = () => {\r\n setRecibo(null);\r\n }\r\n\r\n if (!isLoaded) {\r\n return ;\r\n }\r\n if (error) {\r\n return
    Error: {error.message}
    ;\r\n }\r\n if (recibo != null) {\r\n\r\n return (\r\n \r\n )\r\n } else {\r\n return (\r\n <>\r\n setShowModalUpload(false)}>\r\n \r\n

    Cargar depositos

    \r\n
    \r\n \r\n \r\n {imagenDepositos !== undefined && \r\n Cargar depositos\r\n }\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n}\r\n\r\n\r\nconst HeadersListaRecibos = [\r\n {\r\n name: \"NumeroRecibo\",\r\n label: \"Numero Recibo\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"CodigoCliente\",\r\n label: \"Codigo Cliente\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"NombreCliente\",\r\n label: \"Nombre Cliente\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Fecha\",\r\n label: \"Fecha\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"IdTipoPago\",\r\n label: \"TipoPago\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Referencia\",\r\n label: \"Referencia\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"FechaCheque\",\r\n label: \"Fecha Cheque\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"IdBanco\",\r\n label: \"Banco\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Valor\",\r\n label: \"Valor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"IdMoneda\",\r\n label: \"Moneda\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Sincronizado\",\r\n label: \"Sincronizado\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0] ? \"Si\" : \"No\"}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"CodigoAsesor\",\r\n label: \"Codigo Asesor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"IdFactura\",\r\n label: \"Factura\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Descuento\",\r\n label: \"Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n customBodyRender: (value, tableMeta, updateValue) => {\r\n return (\r\n

    {value[0]}

    \r\n );\r\n }\r\n }\r\n },\r\n {\r\n name: \"Deposito\",\r\n label: \"Deposito\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n {\r\n name: \"Acciones\",\r\n label: \"Acciones\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado recibos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n\r\n\r\nexport default ListaRecibos;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Dialog, DialogActions, DialogContent, DialogTitle, DialogContentText, Button, Select, MenuItem } from '@material-ui/core';\r\nimport { TimePicker } from \"@material-ui/pickers\";\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { Radio, RadioGroup, FormControl, FormLabel, FormControlLabel } from '@material-ui/core';\r\nimport styles from './AsignacionModal.module.css';\r\nimport moment from \"moment\";\r\nimport {APIURL} from 'utils/Enviroment';\r\nimport {useSelector} from 'react-redux';\r\nmoment.locale('es');\r\n\r\n\r\nconst Modal = (props) => {\r\n const [LoadedTiempoEstimado,setLoadedTiempoEstimado] = useState(false);\r\n const [RadioValue, setRadioValue] = useState('');\r\n const [HoraDialogFin, setHoraDialogFin] = useState(new Date());\r\n const [TiempoTotal, setTiempoTotal] = useState('');\r\n const [Configuraciones, setConfiguraciones] = useState(null);\r\n const [PrioridadesAsignacion, setPrioridadesAsignacion] = useState([]);\r\n const [TiposVisitaCliente, setTiposVisitaCliente] = useState([]);\r\n const [TipoValues, setTipoValues] = useState([]);\r\n const [TipoInitialValues, setTipoInitialValues] = useState([]);\r\n\r\n const Configuracion = useSelector(e=>e.Configuraciones);\r\n const TipoVisita = useSelector(e=>e.TipoVisita);\r\n\r\n let NoWarn = \"\" + LoadedTiempoEstimado + HoraDialogFin + TiempoTotal + TiposVisitaCliente + TipoInitialValues;\r\n \r\n if (NoWarn === true) {\r\n console.log('NoWarn :', NoWarn);\r\n }\r\n\r\n\r\n const urlApi = APIURL ;\r\n\r\n\r\n useEffect(() => {\r\n cargarPrioridadesAsignacion();\r\n cargarTiempoEstimado();\r\n cargarTiposAsignacionCliente();\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const cargarTiposAsignacionCliente = () => {\r\n getTipos(TipoVisita);\r\n setTiposVisitaCliente(TipoVisita);\r\n }\r\n\r\n const cargarTiempoEstimado = () => {\r\n setLoadedTiempoEstimado(true)\r\n setConfiguraciones(Configuracion);\r\n }\r\n\r\n const cargarPrioridadesAsignacion = () => {\r\n fetch(urlApi + \"/api/PrioridadAsignacion\")\r\n .then(res => {\r\n if (res.status === 200) {\r\n\r\n res.json()\r\n .then(\r\n (result) => {\r\n setPrioridadesAsignacion(result);\r\n },\r\n )\r\n }\r\n\r\n })\r\n }\r\n\r\n const onChangeTipos = (Index, tipos) => event => {\r\n\r\n let ArrayTipos = [...tipos];\r\n\r\n ArrayTipos[Index].Tiempo = event.target.value;\r\n\r\n let TiempoTotal = 0;\r\n tipos.map(tipo => {\r\n if (tipo.Tiempo !== '') {\r\n TiempoTotal += tipo.Tiempo;\r\n }\r\n return false;\r\n })\r\n\r\n let olddate = new moment(props.HoraDialogInicio).toDate();\r\n let fecha = TiempoTotal;\r\n let date = new moment(olddate).add(fecha, 'minutes').toDate();\r\n\r\n\r\n setHoraDialogFin(date);\r\n setTiempoTotal(Number(fecha));\r\n setTipoValues(ArrayTipos);\r\n }\r\n\r\n const getTipos = (tipos) => {\r\n\r\n let ArrayValues = [];\r\n\r\n tipos.map((tipo) => {\r\n ArrayValues.push({ \"Nombre\": tipo.Nombre, \"Tiempo\": '', \"Id\": tipo.idTipoVisita })\r\n return false;\r\n });\r\n\r\n let ArrayInitalValues = [];\r\n\r\n tipos.map((tipo) => {\r\n ArrayInitalValues.push({ \"Nombre\": tipo.Nombre, \"Tiempo\": '', \"Id\": tipo.idTipoVisita })\r\n return false;\r\n });\r\n\r\n setTipoValues(ArrayValues);\r\n setTipoInitialValues(ArrayInitalValues);\r\n }\r\n\r\n const handlePrioridadRadio = (event) => {\r\n setRadioValue(parseInt(event.target.value));\r\n }\r\n\r\n\r\n const getTiempos = () => {\r\n if (Configuraciones) {\r\n let { IN, MV } = Configuraciones;\r\n\r\n let Tiempos = [];\r\n let Interval = parseInt(IN);\r\n let Max = parseInt(MV);\r\n for (let val = Interval; val <= Max; val += Interval) {\r\n\r\n let label = getLabelTiempoEstimado(val);\r\n let valueMinutes = parseInt(val / 60);\r\n let item = { \"Label\": label, \"Value\": valueMinutes }\r\n\r\n Tiempos.push(item);\r\n\r\n }\r\n\r\n return Tiempos;\r\n }\r\n }\r\n\r\n const getLabelTiempoEstimado = (seconds) => {\r\n let date = new Date(seconds * 1000).toISOString().substr(11, 8);\r\n\r\n var res = date.split(\":\");\r\n\r\n let Horas = parseInt(res[0]);\r\n let Minutos = parseInt(res[1]);\r\n\r\n let label = \"\";\r\n\r\n if (Horas !== 0) {\r\n label += Horas + (Horas === 1 ? \" Hora\" : \" Horas\")\r\n }\r\n\r\n if (Horas !== 0 && Minutos !== 0) {\r\n label += \" y \"\r\n }\r\n\r\n if (Minutos !== 0) {\r\n label += Minutos + \" Minutos\"\r\n }\r\n return label;\r\n }\r\n\r\n\r\n return (\r\n props.setDialog(false)}\r\n scroll={'paper'}\r\n aria-labelledby=\"scroll-dialog-title\"\r\n >\r\n \r\n {\r\n props.ButtonQuitarDisabled ? \"Asignar Hora\" : \"Editar Hora\"\r\n }\r\n \r\n \r\n \r\n Cliente: {props.ClienteNombre}\r\n \r\n
    \r\n
    \r\n
    \r\n
    Hora Inicio:
    \r\n props.handleFechaDialogInicio(date)}\r\n />\r\n
    \r\n
    \r\n \r\n Prioridad\r\n handlePrioridadRadio(event)} row>\r\n {PrioridadesAsignacion.map((priAsig, index) => {\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\n \r\n \r\n \r\n \r\n \r\n \r\n {TipoValues.map((tipVisCli, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    \r\n Tipo\r\n \r\n Tiempo\r\n
    \r\n {tipVisCli.Nombre}\r\n \r\n \r\n {\r\n getTiempos().map((tiempo) => {\r\n return {tiempo.Label}\r\n })\r\n }\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.ButtonQuitarDisabled ? null :\r\n \r\n }\r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n );\r\n}\r\n\r\n\r\nconst getRadio = (Color, ColorChecked) => {\r\n const RadioColor = withStyles({\r\n root: {\r\n color: Color,\r\n '&$checked': {\r\n color: ColorChecked,\r\n },\r\n },\r\n checked: {},\r\n })(props => );\r\n\r\n return ;\r\n}\r\n\r\nexport default Modal;","import React, { useState, useRef } from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Button from '@material-ui/core/Button';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport moment from \"moment\";\r\nimport xlsx from 'xlsx';\r\n\r\nconst CargarAsignaciones = (props) => {\r\n const { showDialog, setDialog } = props;\r\n const [initialData, setInitialData] = useState([]);\r\n const context = useRef();\r\n\r\n const readFile = file => {\r\n let reader = new FileReader();\r\n return new Promise((resolve, reject) => {\r\n reader.onload = e => {\r\n let data = e.target.result;\r\n let readedData = xlsx.read(data, { type: 'binary', cellDates: true });\r\n\r\n if (readedData) {\r\n resolve(readedData);\r\n } else {\r\n reject(\"No se pudo leer el archivo\");\r\n }\r\n }\r\n reader.readAsBinaryString(file);\r\n });\r\n }\r\n\r\n const convertirData = data => {\r\n let primeraPagina = data.SheetNames[0];\r\n let asignaciones = xlsx.utils.sheet_to_row_object_array(data.Sheets[primeraPagina]);\r\n\r\n return asignaciones.map(x => (\r\n {\r\n CodigoAsesor: x.CodigoAsesor,\r\n CodigoCliente: x.CodigoCliente,\r\n Empresa: x.Empresa,\r\n FechaAsignacion: x.FechaAsignacion,\r\n HoraFinal: x.HoraFinal,\r\n HoraInicio: x.HoraInicio,\r\n idPrioridad: x.idPrioridad,\r\n error: false\r\n }\r\n ));\r\n }\r\n\r\n const validarInformacion = data => {\r\n return data.map(x => {\r\n if (x.CodigoAsesor === undefined || x.CodigoAsesor === \"\") {\r\n x.error = true;\r\n }\r\n\r\n if (x.CodigoCliente === undefined || x.CodigoCliente === \"\") {\r\n x.error = true;\r\n }\r\n\r\n if (x.Empresa === undefined || x.Empresa === \"\") {\r\n x.error = true;\r\n }\r\n\r\n if (x.FechaAsignacion === undefined || x.FechaAsignacion === \"\") {\r\n x.error = true;\r\n }\r\n\r\n if (x.HoraFinal === undefined || x.HoraFinal === \"\") {\r\n x.error = true;\r\n }\r\n\r\n if (x.HoraInicio === undefined || x.HoraInicio === \"\") {\r\n x.error = true;\r\n }\r\n\r\n if (x.idPrioridad === undefined || x.idPrioridad === \"\") {\r\n x.error = true;\r\n }\r\n return x;\r\n\r\n });\r\n }\r\n\r\n const convertirFechaHora = data => {\r\n return data.map(x => {\r\n if (x.FechaAsignacion instanceof Date) {\r\n x.FechaAsignacion = moment(x.FechaAsignacion).format(\"DD/MM/YYYY\");\r\n } else {\r\n x.FechaAsignacion = \"\";\r\n }\r\n\r\n if (x.HoraFinal instanceof Date) {\r\n x.HoraFinal = moment(x.HoraFinal).format(\"hh:mm a\");\r\n } else {\r\n x.HoraFinal = \"\";\r\n }\r\n\r\n if (x.HoraInicio instanceof Date) {\r\n x.HoraInicio = moment(x.HoraInicio).format(\"hh:mm a\");\r\n } else {\r\n x.HoraInicio = \"\";\r\n }\r\n\r\n return x;\r\n\r\n })\r\n }\r\n\r\n const handleUpload = (event) => {\r\n let file = event.target.files[0];\r\n\r\n if (file !== undefined && file !== null) {\r\n\r\n const extension = file.name.split('.')[1];\r\n\r\n if (extension !== \"xlsx\" && extension !== \"xls\") {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"El formato del archivo no es permitido\",\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target: context.current\r\n });\r\n setInitialData([]);\r\n return;\r\n }\r\n\r\n readFile(file)\r\n .then((readedData) => {\r\n let dataConvertida = convertirData(readedData);\r\n let informacionValidada = validarInformacion(dataConvertida);\r\n let horaFecha = convertirFechaHora(informacionValidada);\r\n setInitialData(horaFecha);\r\n })\r\n .catch((error) => console.error(error));\r\n }\r\n };\r\n\r\n const save = () => {\r\n let existenVacios = initialData.some(x => x.error);\r\n if (existenVacios) {\r\n Swal.fire({\r\n title: 'Advertencia',\r\n text: \"Se encontraron asignaciones con errores.\",\r\n type: 'warning',\r\n confirmButtonText: 'Ok',\r\n target: context.current\r\n });\r\n\r\n return;\r\n }\r\n\r\n fetch(`${APIURL}/api/asignaciones/cargar`, {\r\n headers: {\r\n \"Content-type\": \"application/json\",\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(initialData)\r\n }).then(res => {\r\n if (res.status === 200) {\r\n res.json()\r\n .then(resultado => {\r\n\r\n if (resultado.StatusCode === 400) {\r\n let asignaciones = [...new Set(resultado.Lista)];\r\n let copiaAsignaciones = initialData;\r\n\r\n for (let asignacion of asignaciones) {\r\n copiaAsignaciones[asignacion].error = true;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: resultado.Message,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target: context.current\r\n })\r\n\r\n setInitialData((prev) => ([...copiaAsignaciones]));\r\n }\r\n\r\n if (resultado.StatusCode === 200) {\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: resultado.Message,\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n target: context.current\r\n }).then(e => {\r\n closeDialog();\r\n })\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n if (res.status === 400) {\r\n res.json()\r\n .then(resultado => {\r\n Swal.fire({\r\n title: 'Error',\r\n text: resultado.Message,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target: context.current\r\n })\r\n });\r\n }\r\n })\r\n\r\n };\r\n\r\n const closeDialog = () => {\r\n setInitialData([]);\r\n setDialog(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n

    Cargar asignaciones

    \r\n
    \r\n \r\n
    \r\n \r\n {(initialData.length === 0)\r\n ?
    \r\n :
    \r\n \r\n
    \r\n \r\n Cargar agenda\r\n \r\n
    \r\n }\r\n\r\n
    \r\n \r\n )\r\n}\r\n\r\nconst TablaAsignaciones = props => {\r\n\r\n const style = { textAlign: 'center' }\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\n \r\n \r\n {props.asignaciones.map((x, i) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    #Codigo AsesorCodigo ClienteEmpresaFecha AsignaciĆ³nHora InicioHora FinalPrioridad
    {i + 2}{x.CodigoAsesor}{x.CodigoCliente}{x.Empresa}{x.FechaAsignacion}{x.HoraInicio}{x.HoraFinal}{x.idPrioridad}
    \r\n )\r\n}\r\n\r\nexport default CargarAsignaciones;","import React, { Component } from 'react';\r\nimport { DatePicker, TimePicker } from \"@material-ui/pickers\";\r\nimport { Radio, RadioGroup, FormControl, FormLabel, FormControlLabel } from '@material-ui/core';\r\nimport { withStyles } from '@material-ui/core/styles';\r\n// import { green, red, blue, } from '@material-ui/core/colors';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport { Dialog, DialogActions, DialogContent, DialogTitle, DialogContentText, Button, Select, MenuItem } from '@material-ui/core';\r\nimport { ScaleLoader } from 'react-spinners';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport Loader from 'components/Global/Loader';\r\nimport 'containers/Asignacion/Asignacion.css';\r\nimport styles from './Asignacion.module.css';\r\nimport AsignacionModal from 'components/Agenda/AsignacionModal';\r\nimport CargarAsignaciones from 'components/Agenda/CargarAsignaciones';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\nimport 'sweetalert2/src/sweetalert2.scss'\r\nimport { verificarConexion } from 'utils/http';\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader\r\n} from 'reactstrap';\r\nimport { connect } from 'react-redux';\r\nimport moment from \"moment\";\r\nimport axios from 'axios'\r\nmoment.locale('es');\r\n\r\nclass Asignacion extends Component {\r\n urlApi = APIURL;\r\n state = {\r\n startDate: new Date(),\r\n endDate: new Date((new Date()).valueOf() + (1000 * 60 * 60 * 24) * 6 + 1),\r\n ShowTable: false,\r\n isLoaded: false,\r\n clientes: null,\r\n Asignaciones: [],\r\n ShowDialog: false,\r\n HoraDialogInicio: new Date(),\r\n HoraDialogFin: new Date(),\r\n RadioValue: 3,\r\n GuardarAsignacion: false,\r\n LoadedTiempoEstimado: false,\r\n Configuraciones: null,\r\n FechaFinDialog: '',\r\n Rutas: [],\r\n RutaSelected: null,\r\n TiposVisitaCliente: [],\r\n PrioridadesAsignacion: [],\r\n TipoVisitaClienteDialogValue: '',\r\n TipoValues: [],\r\n TipoInitialValues: [],\r\n ArrayTipoValues: [],\r\n showCargar: false,\r\n Asesores: [],\r\n AsesorSelected: null,\r\n RutasSinFiltro: [],\r\n IdAsignacion: null,\r\n limpiarAsignacionesShow: false,\r\n eliminarRangoAsignacionesShow:false,\r\n }\r\n\r\n setCargar = (show) => {\r\n this.setState((prevState) => ({ ...prevState, showCargar: show }))\r\n }\r\n\r\n limpiarAsignacionesShow = async (show) => {\r\n this.setState({ limpiarAsignacionesShow: show })\r\n }\r\n\r\n eliminarRangoAsignacionesShow = (show) => {\r\n this.setState({ eliminarRangoAsignacionesShow: show })\r\n }\r\n\r\n mostrarAdvertencia = (title, text, type) => {\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n type: type,\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n\r\n limpiarAsignaciones = async () => {\r\n\r\n this.setState({ limpiarAsignacionesShow: false })\r\n try {\r\n const request = await axios.post(`${APIURL}/api/asignaciones/limpiarAsignaciones/${this.state.AsesorSelected}`);\r\n console.log(request.data)\r\n if (request.data > 0) {\r\n this.mostrarAdvertencia(\"Asignaciones\", \"Se limpiaron las asignaciones corectamente\", \"success\")\r\n return;\r\n } else {\r\n this.mostrarAdvertencia(\"Asignaciones\", \"No se encontraron asignaciones para limpiar\", \"warning\")\r\n return;\r\n }\r\n\r\n } catch (err) {\r\n this.mostrarAdvertencia(\"Error\", \"No se pudo limpiar las asignaciones\", \"error\");\r\n }\r\n }\r\n\r\n eliminarRangoAsignaciones = async () => {\r\n this.setState({ eliminarRangoAsignacionesShow: false })\r\n try {\r\n await axios.delete(`${APIURL}/api/asignaciones/eliminarasignaciones/${moment(this.state.startDate).format(\"YYYY-MM-DD\").toString()}/${moment(this.state.endDate).format(\"YYYY-MM-DD\").toString()}/${this.state.AsesorSelected}`);\r\n } catch (err) {\r\n this.mostrarAdvertencia(\"Error\", \"No se pudo limpiar las asignaciones\", \"error\");\r\n }\r\n }\r\n\r\n cargarClientes = () => {\r\n fetch(this.urlApi + \"/api/cliente/asignacion\", {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n }\r\n })\r\n .then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n\r\n res.json()\r\n .then(\r\n (result) => {\r\n /*let RutaCodigo = '';\r\n let Rutas = result.map(cliente => {\r\n return { Ruta: cliente.Ruta, Codigo: cliente.CodigoRuta };\r\n }).filter((value, index, self) => {\r\n if (self[self.indexOf(value)].Codigo !== RutaCodigo) {\r\n RutaCodigo = self[self.indexOf(value)].Codigo;\r\n return true;\r\n }\r\n return false;\r\n });*/\r\n let Asesor = Array.from(new Set(result.map(s => s.Asesor)));\r\n let Asesores = [];\r\n let AsesorSelect = null;\r\n // eslint-disable-next-line\r\n Asesor.map((Ase, index) => {\r\n if (index === 0) {\r\n AsesorSelect = Ase;\r\n }\r\n let Valores = { key: Ase, value: Ase, text: Ase }\r\n Asesores.push(Valores);\r\n })\r\n\r\n let Rutas = Array.from(new Set(result.map(s => s.CodigoRuta)))\r\n .map(CodigoRuta => {\r\n return {\r\n Ruta: result.find(s => s.CodigoRuta === CodigoRuta).Ruta,\r\n Codigo: CodigoRuta,\r\n Asesor: result.find(s => s.CodigoRuta === CodigoRuta).Asesor,\r\n };\r\n });\r\n\r\n let DropdownRutas = [];\r\n let RutaSelected = null;\r\n\r\n Rutas.filter(r => r.Asesor === AsesorSelect).map((Ruta, ind) => {\r\n if (ind === 0) {\r\n RutaSelected = Ruta.Ruta;\r\n }\r\n let Opciones = { key: Ruta.Codigo, value: Ruta.Ruta, text: Ruta.Codigo + \" - \" + Ruta.Ruta }\r\n DropdownRutas.push(Opciones);\r\n return true;\r\n })\r\n\r\n this.setState({\r\n RutaSelected: RutaSelected,\r\n Rutas: DropdownRutas,\r\n clientes: result,\r\n isLoaded: true,\r\n Asesores: Asesores,\r\n AsesorSelected: AsesorSelect,\r\n RutasSinFiltro: Rutas\r\n })\r\n\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n error: true\r\n });\r\n }\r\n )\r\n }\r\n\r\n })\r\n }\r\n cargarAsignaciones = (FechaInicio, FechaFin) => {\r\n var inicio = moment(FechaInicio).format();\r\n var fin = moment(FechaFin).format();\r\n var asesor = null;\r\n fetch(this.urlApi + `/api/Asignaciones?FechaInicio=${inicio}&FechaFin=${fin}&Asesor=${asesor}`, {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token'),\r\n }\r\n })\r\n .then(res => {\r\n if (res.status === 200) {\r\n\r\n res.json()\r\n .then(\r\n (result) => {\r\n this.setState({\r\n Asignaciones: result,\r\n ShowTable: true,\r\n });\r\n },\r\n )\r\n }\r\n\r\n })\r\n }\r\n\r\n cargarTiposAsignacionCliente = () => {\r\n this.setState((prevState) => ({ ...prevState, TiposVisitaCliente: this.props.TipoVisita }));\r\n this.getTipos(this.props.TipoVisita);\r\n }\r\n\r\n cargarTiempoEstimado = () => {\r\n this.setState((prevState) => ({ ...prevState, LoadedTiempoEstimado: true, Configuraciones: this.props.Configuraciones }))\r\n }\r\n\r\n cargarPrioridadesAsignacion = () => {\r\n fetch(this.urlApi + \"/api/PrioridadAsignacion\", {\r\n // headers: {\r\n // 'Authorization':\r\n // 'Bearer ' + localStorage.getItem('token'),\r\n // }\r\n })\r\n .then(res => {\r\n if (res.status === 200) {\r\n\r\n res.json()\r\n .then(\r\n (result) => {\r\n this.setState({\r\n PrioridadesAsignacion: result,\r\n });\r\n },\r\n )\r\n }\r\n\r\n })\r\n }\r\n\r\n getTiempoEstimado() {\r\n\r\n if (this.state.Configuraciones) {\r\n let { IN, MV } = this.state.Configuraciones;\r\n\r\n let Tiempos = [];\r\n let Interval = parseInt(IN);\r\n let Max = parseInt(MV);\r\n for (let val = Interval; val <= Max; val += Interval) {\r\n\r\n let label = this.getLabelTiempoEstimado(val);\r\n let valueMinutes = parseInt(val / 60);\r\n let item = {label}\r\n\r\n Tiempos.push(item);\r\n }\r\n\r\n let MenuItems = Tiempos.map(Item => Item);\r\n\r\n return MenuItems;\r\n }\r\n }\r\n\r\n getTiempos() {\r\n\r\n if (this.props.Configuraciones) {\r\n let { IN, MV } = this.props.Configuraciones;\r\n\r\n let Tiempos = [];\r\n let Interval = parseInt(IN);\r\n let Max = parseInt(MV);\r\n for (let val = Interval; val <= Max; val += Interval) {\r\n\r\n let label = this.getLabelTiempoEstimado(val);\r\n let valueMinutes = parseInt(val / 60);\r\n let item = { \"Label\": label, \"Value\": valueMinutes }\r\n\r\n Tiempos.push(item);\r\n }\r\n\r\n return Tiempos;\r\n }\r\n }\r\n\r\n getTipos(tipos) {\r\n\r\n let ArrayValues = [];\r\n\r\n tipos.map((tipo) => {\r\n ArrayValues.push({ \"Nombre\": tipo.Nombre, \"Tiempo\": '', \"Id\": tipo.idTipoVisita })\r\n return false;\r\n });\r\n\r\n let ArrayInitalValues = [];\r\n\r\n tipos.map((tipo) => {\r\n ArrayInitalValues.push({ \"Nombre\": tipo.Nombre, \"Tiempo\": '', \"Id\": tipo.idTipoVisita })\r\n return false;\r\n });\r\n\r\n this.setState({\r\n TipoValues: ArrayValues,\r\n TipoInitialValues: ArrayInitalValues,\r\n ArrayTipoValues: ArrayInitalValues\r\n });\r\n }\r\n\r\n getLabelTiempoEstimado = (seconds) => {\r\n let date = new Date(seconds * 1000).toISOString().substr(11, 8);\r\n\r\n var res = date.split(\":\");\r\n\r\n let Horas = parseInt(res[0]);\r\n let Minutos = parseInt(res[1]);\r\n\r\n let label = \"\";\r\n\r\n if (Horas !== 0) {\r\n label += Horas + (Horas === 1 ? \" Hora\" : \" Horas\")\r\n }\r\n\r\n if (Horas !== 0 && Minutos !== 0) {\r\n label += \" y \"\r\n }\r\n\r\n if (Minutos !== 0) {\r\n label += Minutos + \" Minutos\"\r\n }\r\n return label;\r\n }\r\n\r\n async componentDidMount() {\r\n if (!IsAllow(\"/asignacion\")) {\r\n this.props.history.push('/home');\r\n }\r\n\r\n const isOnline = await verificarConexion();\r\n if (!isOnline || localStorage.getItem(\"Conexion\") === \"offline\") {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder visualizar esta pagina.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n });\r\n this.setState((prevState) => ({ ...prevState, isLoaded: true }))\r\n } else if (localStorage.getItem(\"Conexion\") === \"Online\" && isOnline) {\r\n\r\n this.cargarClientes();\r\n this.cargarAsignaciones(this.state.startDate, this.state.endDate);\r\n this.cargarTiposAsignacionCliente();\r\n this.cargarPrioridadesAsignacion();\r\n this.cargarTiempoEstimado();\r\n }\r\n }\r\n\r\n eliminarAsignacion = async () => {\r\n try {\r\n await axios.post(`${APIURL}/api/asignaciones/eliminar/${this.state.IdAsignacion}`)\r\n this.handleInputChange(this.state.ButtonQuitarDisabled, this.state.ClienteCodigo, this.state.fechaAsignacion);\r\n alert(\"AsignaciĆ³n eliminada con exito.\");\r\n } catch (err) {\r\n alert(\"No se pudo eliminar la asignaciĆ³n.\");\r\n }\r\n }\r\n\r\n\r\n render() {\r\n const { error, isLoaded, LoadedTiempoEstimado } = this.state;\r\n\r\n if (error) {\r\n return
    Error: {error.message}
    ;\r\n } else if (!isLoaded || !LoadedTiempoEstimado) {\r\n return \r\n } else {\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n Asignar Trabajo\r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n this.handleFechaInicio(date)}\r\n />\r\n\r\n
    \r\n
    \r\n this.handleFechaFin(date)}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n Asesor\r\n
    \r\n this.handleOnChangeAsesor(value)}\r\n options={this.state.Asesores}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={this.state.AsesorSelected}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n Ruta\r\n
    \r\n this.handleOnChange(value)}\r\n options={this.state.Rutas}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={this.state.RutaSelected}\r\n />\r\n
    \r\n\r\n
    \r\n\r\n this.onClick()}>\r\n {this.state.GuardarAsignacion ?\r\n : 'Asignar'\r\n }\r\n \r\n
    \r\n
    \r\n { this.setCargar(true) }}>\r\n Cargar asignaciones\r\n \r\n
    \r\n\r\n
    \r\n { this.limpiarAsignacionesShow(true) }}>\r\n Liberar Asignaciones\r\n \r\n { this.eliminarRangoAsignacionesShow(true) }}>\r\n Eliminar rango visitas\r\n \r\n
    \r\n
    \r\n\r\n {/* */}\r\n\r\n \r\n \r\n

    Liberar asignaciones

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

    ĀæEstas seguro de liberar las asignaciones de {this.state.AsesorSelected}?

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n { this.limpiarAsignacionesShow(false) }}\r\n color=\"primary\"\r\n variant=\"outlined\">\r\n Cancelar\r\n \r\n { this.limpiarAsignaciones() }}\r\n color=\"primary\"\r\n variant=\"outlined\">\r\n Limpiar\r\n \r\n
    \r\n \r\n \r\n \r\n

    Eliminar asignaciones

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

    ĀæEstas seguro de eliminar las asignaciones de {this.state.AsesorSelected}?

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

    \r\n

    Desde: {moment(this.state.startDate).format(\"DD-MM-YYYY\").toString()}

    \r\n

    Hasta: {moment(this.state.endDate).format(\"DD-MM-YYYY\").toString()}

    \r\n\r\n { this.eliminarRangoAsignacionesShow(false) }}\r\n color=\"primary\"\r\n variant=\"outlined\">\r\n Cancelar\r\n \r\n { this.eliminarRangoAsignaciones() }}\r\n color=\"primary\"\r\n variant=\"outlined\">\r\n Eliminar\r\n \r\n
    \r\n \r\n\r\n
    \r\n {\r\n this.state.ShowTable &&\r\n
    \r\n {this.Table()}\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n this.setDialog(false)}\r\n scroll={'paper'}\r\n aria-labelledby=\"scroll-dialog-title\"\r\n >\r\n \r\n {\r\n this.state.ButtonQuitarDisabled ? \"Asignar Hora\" : \"Editar Hora\"\r\n }\r\n \r\n {/* \r\n \r\n Cliente: {this.state.ClienteNombre}\r\n \r\n
    \r\n
    \r\n
    Hora Inicio:
    \r\n this.handleFechaDialogInicio(date)}\r\n />\r\n
    \r\n\r\n
    \r\n
    Tiempo Estimado:
    \r\n\r\n \r\n {\r\n this.getTiempoEstimado()\r\n }\r\n \r\n
    \r\n\r\n
    \r\n \r\n Prioridad\r\n this.handlePrioridadRadio(event)} row>\r\n {this.state.PrioridadesAsignacion.map((priAsig, index) => {\r\n return (\r\n \r\n\r\n );\r\n })}\r\n \r\n \r\n
    \r\n
    \r\n
    Tipo Visita:
    \r\n\r\n \r\n {this.state.TiposVisitaCliente.map((tipVisCli, index) => {\r\n return (\r\n {tipVisCli.Nombre}\r\n\r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n\r\n
    */}\r\n \r\n \r\n Cliente: {this.state.ClienteNombre}\r\n \r\n
    \r\n
    \r\n
    \r\n
    Hora Inicio:
    \r\n this.handleFechaDialogInicio(date)}\r\n />\r\n
    \r\n
    \r\n \r\n Prioridad\r\n this.handlePrioridadRadio(event)} row>\r\n {this.state.PrioridadesAsignacion.map((priAsig, index) => {\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\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.TipoValues.map((tipVisCli, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    \r\n Tipo\r\n \r\n Tiempo\r\n
    \r\n {tipVisCli.Nombre}\r\n \r\n \r\n {\r\n this.getTiempos().map((tiempo) => {\r\n return {tiempo.Label}\r\n })\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n {\r\n this.state.ButtonQuitarDisabled ? null :\r\n <>\r\n \r\n {this.state.IdAsignacion && ()}\r\n \r\n }\r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n\r\n );\r\n }\r\n\r\n }\r\n\r\n handleFechaInicio = (fecha) => {\r\n\r\n var date = moment(fecha).toDate();\r\n\r\n var fech = moment(fecha).toDate();\r\n fech.setDate(date.getDate() + 7);\r\n\r\n this.setState({\r\n startDate: date,\r\n endDate: fech,\r\n })\r\n }\r\n\r\n\r\n onChangeTipos = (Index, tipos, name) => event => {\r\n\r\n let ArrayTipos = [...tipos];\r\n\r\n ArrayTipos[Index].Tiempo = event.target.value;\r\n\r\n let TiempoTotal = 0;\r\n tipos.map(tipo => {\r\n if (tipo.Tiempo !== '') {\r\n TiempoTotal += tipo.Tiempo;\r\n }\r\n return false;\r\n })\r\n\r\n let olddate = new moment(this.state.HoraDialogInicio).toDate();\r\n let fecha = TiempoTotal;\r\n let date = new moment(olddate).add(fecha, 'minutes').toDate();\r\n this.setState({\r\n HoraDialogFin: date,\r\n [name]: Number(fecha),\r\n TipoValues: ArrayTipos,\r\n });\r\n }\r\n\r\n OnChangeFechaInicio = (HoraInicio) => {\r\n let olddate = new moment(HoraInicio).toDate();\r\n let fecha = this.state.FechaFinDialog;\r\n let date = new moment(olddate).add(fecha, 'minutes').toDate();\r\n\r\n this.setState({\r\n HoraDialogFin: date,\r\n });\r\n }\r\n\r\n handleFechaFin = (fecha) => {\r\n var date = moment(fecha).toDate();\r\n\r\n const diffTime = new Date(date) - new Date(this.state.startDate);\r\n\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n if (diffDays <= 7 && diffDays > 0) {\r\n this.setState({\r\n endDate: date,\r\n })\r\n }\r\n else {\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Ingrese Fecha VĆ”lida',\r\n })\r\n var fech = new Date();\r\n fech.setDate(this.state.startDate.getDate() + 6);\r\n this.setState({\r\n endDate: fech,\r\n })\r\n }\r\n\r\n }\r\n\r\n\r\n handleOnChange = (value) => {\r\n this.setState({\r\n RutaSelected: value,\r\n });\r\n }\r\n handleOnChangeAsesor = (value) => {\r\n let RutaFiltrada = this.state.RutasSinFiltro.filter(r => r.Asesor === value);\r\n let DropdownRutas = [];\r\n let RutaSelected = null;\r\n\r\n RutaFiltrada.map((Ruta, ind) => {\r\n if (ind === 0) {\r\n RutaSelected = Ruta.Ruta;\r\n }\r\n let Opciones = { key: Ruta.Codigo, value: Ruta.Ruta, text: Ruta.Codigo + \" - \" + Ruta.Ruta }\r\n DropdownRutas.push(Opciones);\r\n return true;\r\n })\r\n this.setState({\r\n AsesorSelected: value,\r\n Rutas: DropdownRutas,\r\n RutaSelected: RutaSelected\r\n });\r\n }\r\n handleFechaDialogInicio = (fecha) => {\r\n var date = moment(fecha).toDate();\r\n this.setState({\r\n HoraDialogInicio: date,\r\n //FechaFinDialog: '',\r\n });\r\n this.OnChangeFechaInicio(date)\r\n }\r\n\r\n handleTiempoEstimadoChange = name => event => {\r\n let olddate = new moment(this.state.HoraDialogInicio).toDate();\r\n let fecha = event.target.value;\r\n let date = new moment(olddate).add(fecha, 'minutes').toDate();\r\n\r\n this.setState({\r\n HoraDialogFin: date,\r\n [name]: Number(fecha)\r\n });\r\n }\r\n\r\n handleTipoVisitaClienteChange = name => event => {\r\n this.setState({\r\n [name]: Number(event.target.value)\r\n });\r\n }\r\n\r\n handlePrioridadRadio = (event) => {\r\n this.setState({\r\n RadioValue: parseInt(event.target.value)\r\n });\r\n }\r\n\r\n onClick = async () => {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n this.setState({\r\n GuardarAsignacion: true,\r\n })\r\n\r\n fetch(this.urlApi + \"/api/Asignaciones\", {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token'),\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(this.state.Asignaciones),\r\n\r\n })\r\n .then(res => {\r\n if (res.status === 200) {\r\n res.json()\r\n .then(\r\n (result) => {\r\n this.setState({\r\n GuardarAsignacion: false,\r\n });\r\n },\r\n )\r\n }\r\n else if (res.status === 204) {\r\n this.setState({\r\n GuardarAsignacion: false,\r\n })\r\n\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n Toast.fire({\r\n type: 'success',\r\n title: 'AsignaciĆ³n Guardada',\r\n })\r\n }\r\n else {\r\n this.setState({\r\n GuardarAsignacion: false,\r\n })\r\n }\r\n\r\n })\r\n }\r\n else {\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Sin conexiĆ³n a internet',\r\n })\r\n }\r\n\r\n }\r\n\r\n handleSelect = (item) => {\r\n this.setState({\r\n asesorSelected: item,\r\n Asignaciones: [],\r\n });\r\n }\r\n\r\n handleCheckbox = (evento, cliente, current_datetime) => {\r\n\r\n var dia = new Date(current_datetime)\r\n let fecha = dia.getDate() + \"-\" + (dia.getMonth() + 1) + \"-\" + dia.getFullYear();\r\n\r\n var dateInicio = current_datetime;\r\n var dateFin = current_datetime;\r\n var prioridad = 3;\r\n var tipoVisita = '';\r\n var tiempoEstimado = '';\r\n var asignaciones = [...this.state.Asignaciones];\r\n if (!evento) {\r\n if (asignaciones.length > 0) {\r\n var index = 0;\r\n var found = false;\r\n asignaciones.forEach((asignacion, ind) => {\r\n var day = new Date(asignacion.fecha)\r\n var fechaAsignacion = day.getDate() + \"-\" + (day.getMonth() + 1) + \"-\" + day.getFullYear()\r\n if (fechaAsignacion === fecha) {\r\n index = ind;\r\n found = true;\r\n return 0;\r\n }\r\n })\r\n\r\n if (found) {\r\n var ListaAsignaciones = [...asignaciones[index].asignaciones];\r\n var encontrado = false;\r\n var asignacionIndex = 0;\r\n ListaAsignaciones.forEach((asignacion, ind) => {\r\n if (asignacion.cliente === cliente.Codigo) {\r\n encontrado = true;\r\n asignacionIndex = ind;\r\n return 0;\r\n }\r\n });\r\n if (encontrado) {\r\n dateInicio = ListaAsignaciones[asignacionIndex].HoraInicio;\r\n if (!this.isValidDate(this.state.dateInicio)) {\r\n dateInicio = new moment(dateInicio).toDate();\r\n };\r\n\r\n dateFin = ListaAsignaciones[asignacionIndex].HoraFin;\r\n\r\n if (!this.isValidDate(this.state.dateFin)) {\r\n dateFin = new moment(dateFin).toDate();\r\n };\r\n var diffMs = Math.abs(dateFin - dateInicio);\r\n tiempoEstimado = ~~((diffMs / 1000) / 60);\r\n\r\n prioridad = ListaAsignaciones[asignacionIndex].IdPrioridad;\r\n tipoVisita = ListaAsignaciones[asignacionIndex].IdTipoVisita\r\n this.setState((prevState) => ({ ...prevState, IdAsignacion: ListaAsignaciones[asignacionIndex].IdAsignacionxAsesor }));\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n this.setState({\r\n ShowDialog: true,\r\n ButtonQuitarDisabled: evento,\r\n ClienteNombre: cliente.Nombre,\r\n ClienteCodigo: cliente.Codigo,\r\n fechaAsignacion: current_datetime,\r\n HoraDialogInicio: dateInicio,\r\n HoraDialogFin: dateFin,\r\n FechaFinDialog: tiempoEstimado,\r\n RadioValue: prioridad,\r\n TipoVisitaClienteDialogValue: tipoVisita\r\n })\r\n\r\n\r\n }\r\n\r\n\r\n handleInputEdit = (evento, cliente, current_datetime) => {\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n if (Date.parse(this.state.HoraDialogInicio) > Date.parse(this.state.HoraDialogFin)) {\r\n\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Ingrese Fecha VĆ”lida',\r\n })\r\n return false;\r\n }\r\n\r\n let finTiempoValid = this.state.FechaFinDialog === \"\";\r\n if (finTiempoValid) {\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Ingrese Fecha VĆ”lida',\r\n customClass: {\r\n container: styles.ToastOnTopModal,\r\n }\r\n })\r\n return;\r\n }\r\n\r\n\r\n // if (this.state.TipoVisitaClienteDialogValue === '') {\r\n\r\n // Toast.fire({\r\n // type: 'error',\r\n // title: 'Seleccione Tipo Visita',\r\n // customClass: {\r\n // container: styles.ToastOnTopModal,\r\n // }\r\n // })\r\n // return false;\r\n // }\r\n\r\n let dia = new Date(current_datetime);\r\n let fecha = dia.getDate() + \"-\" + (dia.getMonth() + 1) + \"-\" + dia.getFullYear()\r\n var asignaciones = [...this.state.Asignaciones];\r\n\r\n if (asignaciones.length > 0) {\r\n let index = 0;\r\n let found = false;\r\n asignaciones.forEach((asignacion, ind) => {\r\n var day = new Date(asignacion.fecha);\r\n var fechaAsignacion = day.getDate() + \"-\" + (day.getMonth() + 1) + \"-\" + day.getFullYear()\r\n if (fechaAsignacion === fecha) {\r\n index = ind;\r\n found = true;\r\n return 0;\r\n }\r\n })\r\n\r\n if (found) {\r\n let ListaAsignaciones = [...asignaciones[index].asignaciones];\r\n\r\n let horarioChoca = false;\r\n ListaAsignaciones.some((asignacion) => {\r\n\r\n if (horarioChoca === false) {\r\n let fechaAsignacionIni = moment(asignacion.HoraInicio).toDate();\r\n let fechaAsignacionFin = moment(asignacion.HoraFin).toDate();\r\n horarioChoca = ((fechaAsignacionIni > this.state.HoraDialogInicio && fechaAsignacionIni < this.state.HoraDialogFin) || (this.state.HoraDialogInicio > fechaAsignacionIni && this.state.HoraDialogInicio < fechaAsignacionFin));\r\n }\r\n\r\n return false;\r\n });\r\n if (horarioChoca) {\r\n Toast.fire({\r\n type: 'error',\r\n title: 'La fecha choca con otra asignaciĆ³n',\r\n customClass: {\r\n container: styles.ToastOnTopModal,\r\n }\r\n })\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n this.handleInputChange(false, cliente, current_datetime);\r\n this.handleInputChange(true, cliente, current_datetime);\r\n }\r\n\r\n handleInputChange = (evento, cliente, current_datetime) => {\r\n\r\n\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n if (Date.parse(this.state.HoraDialogInicio) > Date.parse(this.state.HoraDialogFin)) {\r\n\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Ingrese Fecha VĆ”lida',\r\n customClass: {\r\n container: styles.ToastOnTopModal,\r\n }\r\n })\r\n return false;\r\n }\r\n let dia = new Date(current_datetime);\r\n let fecha = dia.getDate() + \"-\" + (dia.getMonth() + 1) + \"-\" + dia.getFullYear()\r\n\r\n var asignaciones = [...this.state.Asignaciones];\r\n\r\n if (evento) {\r\n let fechainiValid = this.isValidDate(this.state.HoraDialogInicio);\r\n let fechafinValid = this.isValidDate(this.state.HoraDialogFin);\r\n let finTiempoValid = this.state.FechaFinDialog !== \"\";\r\n let fechasValidas = fechainiValid && fechafinValid && finTiempoValid;\r\n\r\n if (!fechasValidas) {\r\n\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Ingrese Fecha VĆ”lida',\r\n customClass: {\r\n container: styles.ToastOnTopModal,\r\n }\r\n })\r\n return false;\r\n }\r\n\r\n // if (this.state.TipoVisitaClienteDialogValue === '') {\r\n\r\n // Toast.fire({\r\n // type: 'error',\r\n // title: 'Seleccione Tipo Visita',\r\n // customClass: {\r\n // container: styles.ToastOnTopModal,\r\n // }\r\n // })\r\n // return false;\r\n // }\r\n\r\n if (asignaciones.length > 0) {\r\n let index = 0;\r\n let found = false;\r\n asignaciones.forEach((asignacion, ind) => {\r\n var day = new Date(asignacion.fecha);\r\n var fechaAsignacion = day.getDate() + \"-\" + (day.getMonth() + 1) + \"-\" + day.getFullYear()\r\n if (fechaAsignacion === fecha) {\r\n index = ind;\r\n found = true;\r\n return 0;\r\n }\r\n })\r\n\r\n if (found) {\r\n let ListaAsignaciones = [...asignaciones[index].asignaciones];\r\n\r\n let encontrado = false;\r\n let asignacionIndex = 0;\r\n let horarioChoca = false;\r\n ListaAsignaciones.some((asignacion, ind) => {\r\n if (Date.parse(asignacion.HoraInicio) > Date.parse(this.state.HoraDialogInicio) && asignacion.Asesor === this.state.AsesorSelected) {\r\n encontrado = true;\r\n asignacionIndex = ind;\r\n return true;\r\n }\r\n\r\n if (horarioChoca === false) {\r\n let fechaAsignacionIni = moment(asignacion.HoraInicio).toDate();\r\n let fechaAsignacionFin = moment(asignacion.HoraFin).toDate();\r\n horarioChoca = ((fechaAsignacionIni > this.state.HoraDialogInicio && fechaAsignacionIni < this.state.HoraDialogFin && asignacion.Asesor === this.state.AsesorSelected) || (this.state.HoraDialogInicio > fechaAsignacionIni && this.state.HoraDialogInicio < fechaAsignacionFin && asignacion.Asesor === this.state.AsesorSelected));\r\n }\r\n\r\n return false;\r\n });\r\n if (horarioChoca) {\r\n Toast.fire({\r\n type: 'error',\r\n title: 'La fecha choca con otra asignaciĆ³n',\r\n customClass: {\r\n container: styles.ToastOnTopModal,\r\n }\r\n })\r\n return false;\r\n }\r\n if (encontrado) {\r\n ListaAsignaciones.splice(asignacionIndex, 0, { cliente: cliente, HoraInicio: moment(this.state.HoraDialogInicio).format(), HoraFin: moment(this.state.HoraDialogFin).format(), IdPrioridad: this.state.RadioValue, IdTipoVisita: this.state.TipoVisitaClienteDialogValue, Asesor: this.state.AsesorSelected });\r\n }\r\n else {\r\n ListaAsignaciones.push({ cliente: cliente, HoraInicio: moment(this.state.HoraDialogInicio).format(), HoraFin: moment(this.state.HoraDialogFin).format(), IdPrioridad: this.state.RadioValue, IdTipoVisita: this.state.TipoVisitaClienteDialogValue, Asesor: this.state.AsesorSelected });\r\n }\r\n\r\n asignaciones[index].asignaciones = ListaAsignaciones;\r\n }\r\n else {\r\n let dia = { fecha: current_datetime, asignaciones: [{ cliente: cliente, HoraInicio: moment(this.state.HoraDialogInicio).format(), HoraFin: moment(this.state.HoraDialogFin).format(), IdPrioridad: this.state.RadioValue, IdTipoVisita: this.state.TipoVisitaClienteDialogValue, Asesor: this.state.AsesorSelected }] }\r\n asignaciones.push(dia);\r\n }\r\n } else {\r\n let dia = { fecha: current_datetime, asignaciones: [{ cliente: cliente, HoraInicio: moment(this.state.HoraDialogInicio).format(), HoraFin: moment(this.state.HoraDialogFin).format(), IdPrioridad: this.state.RadioValue, IdTipoVisita: this.state.TipoVisitaClienteDialogValue, Asesor: this.state.AsesorSelected }] }\r\n asignaciones.push(dia);\r\n }\r\n\r\n this.setState({\r\n Asignaciones: asignaciones,\r\n ShowDialog: false,\r\n TipoValues: this.state.TipoInitialValues\r\n })\r\n this.cargarTiposAsignacionCliente();\r\n\r\n } else {\r\n if (asignaciones.length > 0) {\r\n let index = 0;\r\n let found = false;\r\n asignaciones.forEach((asignacion, ind) => {\r\n var day = new Date(asignacion.fecha);\r\n var fechaAsignacion = day.getDate() + \"-\" + (day.getMonth() + 1) + \"-\" + day.getFullYear()\r\n if (fechaAsignacion === fecha) {\r\n index = ind;\r\n found = true;\r\n return 0;\r\n }\r\n })\r\n\r\n if (found) {\r\n let ListaAsignaciones = [...asignaciones[index].asignaciones];\r\n let indexAsignacion = 0;\r\n let encontrado = false;\r\n ListaAsignaciones.forEach((el, inde) => {\r\n if (el.cliente === cliente) {\r\n indexAsignacion = inde;\r\n encontrado = true;\r\n return 0;\r\n }\r\n })\r\n\r\n if (encontrado) {\r\n ListaAsignaciones.splice(indexAsignacion, 1);\r\n asignaciones[index].asignaciones = ListaAsignaciones;\r\n }\r\n }\r\n\r\n // if (asignaciones[index].asignaciones.length === 0) {\r\n // asignaciones.splice(index, 1);\r\n // }\r\n }\r\n this.setState({\r\n Asignaciones: asignaciones,\r\n ShowDialog: false,\r\n })\r\n }\r\n }\r\n\r\n isValidDate = (date) => {\r\n return date && Object.prototype.toString.call(date) === \"[object Date]\" && !isNaN(date);\r\n }\r\n\r\n Table = () => {\r\n var fecha = this.state.startDate;\r\n\r\n\r\n var header = [];\r\n var days = ['Domingo', 'Lunes', 'Martes', 'MiĆ©rcoles', 'Jueves', 'Viernes', 'SĆ”bado'];\r\n\r\n do {\r\n var di = new Date(fecha);\r\n var dayName = days[di.getDay()];\r\n\r\n header.push({ dia: dayName, fecha: di })\r\n fecha = fecha.valueOf() + (1000 * 60 * 60 * 24);\r\n } while (fecha < this.state.endDate);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {\r\n header.map((dia) => {\r\n return (\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n \r\n {\r\n this.state.clientes.map((cliente, ind) => {\r\n\r\n if (cliente.Asesor === this.state.AsesorSelected && cliente.Ruta === this.state.RutaSelected) {\r\n var filas = this.Filas(header, cliente);\r\n\r\n return (\r\n \r\n \r\n \r\n {/* */}\r\n \r\n {\r\n filas.map(elemento => elemento)\r\n }\r\n \r\n );\r\n }\r\n return null;\r\n })\r\n }\r\n \r\n
    CodigoClientes / DĆ­asRutaCiudad{dia.dia}
    {cliente.Codigo}{cliente.Nombre}{cliente.Ruta}{cliente.Direccion}
    \r\n )\r\n }\r\n\r\n Filas = (fechas, cliente) => {\r\n var array = [];\r\n\r\n fechas.map((dia) => {\r\n var diaAsignado = new Date(dia.fecha);\r\n var diaAsignacion = diaAsignado.getDate() + \"-\" + (diaAsignado.getMonth() + 1) + \"-\" + diaAsignado.getFullYear();\r\n var asignaciones = this.state.Asignaciones;\r\n var found = false;\r\n var index = \"\";\r\n var key = diaAsignacion + cliente.Codigo;\r\n asignaciones.forEach((asignacion) => {\r\n var day = new Date(asignacion.fecha);\r\n\r\n var fechaAsignacion = day.getDate() + \"-\" + (day.getMonth() + 1) + \"-\" + day.getFullYear();\r\n\r\n if (fechaAsignacion === diaAsignacion) {\r\n\r\n asignacion.asignaciones.forEach((el, ind) => {\r\n if (el.cliente === cliente.Codigo) {\r\n found = true;\r\n index = ind + 1;\r\n return 0;\r\n }\r\n })\r\n\r\n }\r\n if (found)\r\n return 0;\r\n })\r\n var row =\r\n \r\n this.handleCheckbox(evento.target.checked, cliente, dia.fecha)} />\r\n }\r\n label={index}\r\n style={{ margin: 0 }}\r\n />\r\n\r\n\r\n ;\r\n\r\n array.push(row);\r\n return 0;\r\n })\r\n\r\n return array;\r\n }\r\n\r\n setDialog = (state) => {\r\n this.setState({\r\n TipoValues: this.state.TipoInitialValues,\r\n ShowDialog: state\r\n })\r\n }\r\n}\r\n\r\nconst getRadio = (Color, ColorChecked) => {\r\n const RadioColor = withStyles({\r\n root: {\r\n color: Color,\r\n '&$checked': {\r\n color: ColorChecked,\r\n },\r\n },\r\n checked: {},\r\n })(props => );\r\n\r\n return ;\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n Configuraciones: state.Configuraciones,\r\n TipoVisita: state.TipoVisita\r\n})\r\n\r\nexport default connect(mapStateToProps)(Asignacion);","import React, { useEffect } from 'react';\r\nimport { Calendar } from '@fullcalendar/core';\r\nimport dayGridPlugin from '@fullcalendar/daygrid';\r\nimport timeGridPlugin from '@fullcalendar/timegrid';\r\nimport interactionPlugin from '@fullcalendar/interaction';\r\nimport listPlugin from '@fullcalendar/list';\r\nimport esLocale from '@fullcalendar/core/locales/es';\r\nimport 'containers/Agenda/Agenda.css';\r\n\r\nimport '@fullcalendar/core/main.css';\r\nimport '@fullcalendar/daygrid/main.css';\r\nimport '@fullcalendar/timegrid/main.css';\r\nimport '@fullcalendar/list/main.css';\r\n\r\nconst Calendario = props => {\r\n\r\n const getHeight = () => {\r\n let h = window.innerHeight - 130;\r\n return h;\r\n }\r\n\r\n useEffect(()=>{\r\n var calendarEl = document.getElementById('calendar');\r\n var eventos = props.asignaciones;\r\n\r\n var calendar = new Calendar(calendarEl, {\r\n plugins: [dayGridPlugin, timeGridPlugin, listPlugin, interactionPlugin],\r\n defaultView: 'listDay',\r\n locale: esLocale,\r\n customButtons: {\r\n Asignacion: {\r\n text: 'AsignaciĆ³n',\r\n click: () => {\r\n props.onClickAsignacion();\r\n }\r\n },\r\n Asesores: {\r\n text: props.AsesorSelected,\r\n click: () => {\r\n props.onClickAsesores();\r\n }\r\n }\r\n \r\n },\r\n dateClick: (info) => props.onClickAgenda(info),\r\n header: {\r\n right: 'prev,next today Asignacion, Asesores',\r\n left: 'title',\r\n center: 'dayGridMonth,listWeek,listDay'\r\n },\r\n buttonText: {\r\n listWeek: 'Semana',\r\n listDay: 'DĆ­a',\r\n },\r\n editable: true,\r\n droppable: true,\r\n height: getHeight(),\r\n eventLimit: true,\r\n eventSources: [\r\n {\r\n // events: [{\r\n // extendedProps\r\n // }]\r\n events: eventos\r\n }\r\n ],\r\n eventTimeFormat: {\r\n hour: 'numeric',\r\n minute: '2-digit',\r\n meridiem: 'short'\r\n },\r\n eventClick: (info) => props.onClickEvento(info),\r\n\r\n });\r\n\r\n calendar.render();\r\n\r\n return ()=>{\r\n calendar.destroy();\r\n }\r\n // eslint-disable-next-line\r\n },[props.asignaciones])\r\n\r\n\r\n return
    ;\r\n}\r\n\r\nexport default Calendario;","import React, { Fragment, Component } from 'react';\r\nimport Calendar from 'components/Agenda/Calendar';\r\nimport { ClipLoader } from 'react-spinners';\r\nimport GoogleMapReact from 'google-map-react';\r\nimport { ScaleLoader } from 'react-spinners';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport FacturasModal from \"components/Recibos/FacturasModal/FacturasModal\";\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport Button from '@material-ui/core/Button';\r\nimport FormGroup from '@material-ui/core/FormGroup';\r\nimport Select from '@material-ui/core/Select';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport styles from 'containers/Agenda/Agenda.module.css';\r\nimport 'containers/Agenda/Agenda.css';\r\nimport moment from \"moment\";\r\nimport { connect } from 'react-redux';\r\nimport { IsAllow, PermisoAdministradorVisita } from 'components/Seguridad/Permisos';\r\nimport { get, verificarConexion } from 'utils/http';\r\nimport axios from 'axios';\r\nimport { ObtenerCoordenadas } from 'utils/common';\r\nimport { KeyboardDatePicker } from \"@material-ui/pickers\";\r\nimport { useSelector } from 'react-redux';\r\nmoment.locale('es');\r\n\r\n\r\n\r\nclass Agenda extends Component {\r\n urlApi = APIURL;\r\n state = {\r\n TiemposFuera:[],\r\n Asignaciones: [],\r\n Configuraciones : [],\r\n mostrarAcciones: true,\r\n isLoaded: false,\r\n Eventos: [],\r\n mostarEvento: false,\r\n isModalLoaded: false,\r\n ShowModalFacturas: false,\r\n DataModalFacturas: [],\r\n Acciones: [\r\n { Accion: \"Pedidos\", IdAccion: 1, Orden: 1, UrlRedirect: \"/Pedidos\", Estado: true },\r\n { Accion: \"Recibos\", IdAccion: 2, Orden: 2, UrlRedirect: \"/Recibos\", Estado: true },\r\n { Accion: \"Devoluciones\", IdAccion: 3, Orden: 3, UrlRedirect: \"/devolucion\", Estado: true },\r\n { Accion: \"Promesas de Pago\", IdAccion: 4, Orden: 4, UrlRedirect: null, Estado: true },\r\n ],\r\n map: null,\r\n maps: null,\r\n noAtendido: false,\r\n tipo: null,\r\n tipoSelected: false,\r\n razon: null,\r\n razonSelected: false,\r\n Observacion: '',\r\n guardandoRazon: false,\r\n estadoFacturasClienteActivo: null,\r\n mostarNoAtendido: false,\r\n IdAsignacion: 0,\r\n checkin: null,\r\n checkout: null,\r\n Asesores: [],\r\n AsesorSelected: null,\r\n OpenModalAsesor: false,\r\n OpenModalPromesaPago: false,\r\n date: new Date(),\r\n valorPago: 0,\r\n OpenModalNoVenta: false,\r\n RazonNoVenta: [],\r\n NoVentaSelected: null,\r\n ComentarioRazonNoVenta: ''\r\n }\r\n\r\n myRef = React.createRef();\r\n refCoordenadas = React.createRef();\r\n\r\n\r\n cargarAsesores = () => {\r\n let asesores = this.props.Permisos[0].AsesoresUsuario.map(s => s.Usuario);\r\n this.setState({\r\n Asesores: asesores,\r\n AsesorSelected: asesores[0],\r\n });\r\n }\r\n\r\n cargarEmpresas = () => {\r\n fetch(`${this.urlApi}/api/empresa/empresas`)\r\n .then(res => res.json())\r\n .then(data => { this.props.onSaveEmpresas(data) })\r\n .catch(error => console.log(error))\r\n }\r\n\r\n cargarClientesContado = () => {\r\n fetch(`${APIURL}/api/clientecontado/${localStorage.getItem('codigo')}`)\r\n .then(res => res.json())\r\n .then(data => { this.props.onSaveClientesContado(data) })\r\n .catch(error => console.log(error))\r\n }\r\n\r\n cargarMonedas = () => {\r\n fetch(`${this.urlApi}/api/moneda`)\r\n .then(res => res.json())\r\n .then(data => { this.props.onSaveMonedas(data) })\r\n .catch(error => console.log(error))\r\n }\r\n\r\n obtenerClientesUnicos = data => {\r\n let clientes = [];\r\n\r\n let noExistenAsignaciones = data.length === 0;\r\n if (noExistenAsignaciones) {\r\n return [];\r\n }\r\n\r\n for (let dia of data) {\r\n for (let asignacion of dia.asignaciones) {\r\n const existeCliente = clientes.find(x => x.Codigo === asignacion.cliente);\r\n if (existeCliente===undefined) {\r\n clientes.push({ Codigo: asignacion.cliente, Nombre: asignacion.NombreCliente, Latitud: asignacion.Latitud, Longitud: asignacion.Longitud,Asesor:this.state.AsesorSelected })\r\n }\r\n }\r\n }\r\n\r\n this.setState((prev) => ({ ...prev, clientes: clientes }))\r\n }\r\n\r\n cargarAsignaciones = async () => {\r\n try {\r\n let { Inicio, Fin } = this.getFechas(1);\r\n let request = await axios.get(`${this.urlApi}/api/Asignaciones`, {\r\n params: { FechaInicio: Inicio, FechaFin: Fin, Asesor: this.state.AsesorSelected }, headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token'),\r\n }\r\n });\r\n let eventos = this.setAsignaciones(request.data);\r\n this.setState({\r\n Asignaciones: request.data,\r\n ShowTable: true,\r\n isLoaded: true,\r\n Eventos: eventos,\r\n });\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n obtenerTiemposFueraAsesorDia = async () => {\r\n try {\r\n const asesor = localStorage.getItem(\"codigo\");\r\n const request = await axios.get(`${APIURL}/api/tiemposfuera/diario/${asesor}`);\r\n this.setState(prev => ({ ...prev, TiemposFuera: request.data }))\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n cargarClientes = async (clientes) => {\r\n try {\r\n let request = await axios.get(`${this.urlApi}/api/cliente/agenda`, {\r\n params: { clientes }, headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token'),\r\n }\r\n });\r\n this.setState((prev) => ({ ...prev, clientes: request.data }))\r\n } catch (err) {\r\n this.setState({\r\n error: true\r\n });\r\n }\r\n }\r\n\r\n cargarAsignacionesConClientes = async () => {\r\n try {\r\n let { Inicio, Fin } = this.getFechas(1);\r\n let request = await axios.get(`${this.urlApi}/api/Asignaciones`, {\r\n params: { FechaInicio: Inicio, FechaFin: Fin, Asesor: this.state.AsesorSelected }, headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token'),\r\n }\r\n });\r\n this.obtenerClientesUnicos(request.data);\r\n let eventos = this.setAsignaciones(request.data);\r\n this.setState({\r\n Asignaciones: request.data,\r\n ShowTable: true,\r\n isLoaded: true,\r\n Eventos: eventos,\r\n });\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n cargarRazonNoVenta = async () => {\r\n\r\n fetch(this.urlApi + `/api/RazonNoVenta`, {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token'),\r\n }\r\n })\r\n .then(res => {\r\n if (res.status === 200) {\r\n\r\n res.json()\r\n .then(\r\n (result) => {\r\n this.setState({\r\n CausaNoVenta: result\r\n });\r\n },\r\n )\r\n }\r\n\r\n })\r\n }\r\n\r\n cargarListadoRazonNoVenta = async () => {\r\n const { data/*, error*/ } = await get(`${this.urlApi}/api/razonnoventa/listado`);\r\n this.setState({ RazonNoVenta: data });\r\n\r\n }\r\n\r\n enviarCheckinApi = async (location, check) => {\r\n const existeTiempoAbierto = this.state.TiemposFuera.find(x => x.horaSalida === null);\r\n if (existeTiempoAbierto) {\r\n alert(\"Cerrar tiempos fuera de agenda abiertos.\");\r\n return;\r\n }\r\n\r\n const isOnline = await verificarConexion();\r\n if (!isOnline || localStorage.getItem(\"Conexion\") === \"offline\") {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder realizar esta accion.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n });\r\n } else if (localStorage.getItem(\"Conexion\") === \"Online\" && isOnline) {\r\n const fechas = this.getFechas(2);\r\n\r\n const parametros = {\r\n IdAsignacionxAsesor: this.state.IdAsignacion,\r\n location: location,\r\n Fecha: new Date(),\r\n Asesor: localStorage.getItem('codigo'),\r\n Inicio: fechas.Inicio,\r\n Fin: fechas.Fin,\r\n origen: \"web\"\r\n }\r\n\r\n fetch(`${this.urlApi}/api/Asignaciones/${check}`, {\r\n headers: {\r\n \"Content-type\": \"application/json\"\r\n },\r\n body: JSON.stringify(parametros),\r\n method: \"POST\"\r\n }).then(res => {\r\n if (res.status === 200) {\r\n res.json()\r\n .then(resultado => {\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: resultado.Message,\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n target: this.myRef.current\r\n })\r\n });\r\n\r\n this.cargarAsignaciones();\r\n\r\n }\r\n\r\n if (res.status === 400) {\r\n res.json()\r\n .then(resultado => {\r\n Swal.fire({\r\n title: 'Error',\r\n text: resultado.Message,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target: this.myRef.current\r\n })\r\n });\r\n }\r\n })\r\n }\r\n }\r\n\r\n alertPromesaPago = (success, msjAsignacion) => {\r\n\r\n if (success) {\r\n return '
    ' + msjAsignacion + '
    ';\r\n }\r\n return '
    ' + msjAsignacion + '
    ';\r\n }\r\n\r\n\r\n enviarPromesaPago = async () => {\r\n try {\r\n this.setState({ OpenModalPromesaPago: false, date: new Date(), valorPago: 0 })\r\n let postBody = {\r\n IdAsignacionXAsesor: this.state.IdAsignacion,\r\n FechaPromesa: this.state.date,\r\n Valor: this.state.valorPago,\r\n }\r\n\r\n await axios.post(`${APIURL}/api/promesaPago/crear`, postBody, {\r\n headers: { 'Authorization': 'Bearer ' + localStorage.getItem('token') }\r\n }).then((response) => {\r\n\r\n console.log(this.alertPromesaPago(response.data.success, response.data.msjAsignacion).toString())\r\n\r\n Swal.fire({\r\n title: 'Registro Guardado',\r\n html: response.data.msjPromesa + '
    ' + this.alertPromesaPago(response.data.success, response.data.msjAsignacion).toString(),\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n target: this.myRef.current\r\n })\r\n });\r\n\r\n } catch (err) {\r\n console.log(\"err\", err)\r\n Swal.fire({\r\n title: 'Error',\r\n text: err.response.data.Message,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target: this.myRef.current\r\n })\r\n }\r\n }\r\n\r\n\r\n enviarRazonesNoVenta = async () => {\r\n try {\r\n this.setState({ OpenModalNoVenta: false, NoVentaSelected: null, ComentarioRazonNoVenta: '' })\r\n let postBody = {\r\n IdAsignacionXAsesor: this.state.IdAsignacion,\r\n IdRazonNoVenta: this.state.NoVentaSelected,\r\n Comentarios: this.state.ComentarioRazonNoVenta,\r\n }\r\n\r\n await axios.post(`${APIURL}/api/bitacoraRazonNoVenta/crear`, postBody, {\r\n headers: { 'Authorization': 'Bearer ' + localStorage.getItem('token') }\r\n });\r\n this.enviarCheckin(\"checkout\")\r\n } catch (err) {\r\n console.log(\"err\", err)\r\n Swal.fire({\r\n title: 'Error',\r\n text: err.response.data.Message,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target: this.myRef.current\r\n })\r\n }\r\n }\r\n\r\n enviarCheckin = (check) => {\r\n ObtenerCoordenadas((position) => {\r\n this.enviarCheckinApi({\r\n longitude: position.coords.longitude,\r\n latitude: position.coords.latitude\r\n }, check)\r\n }, (error) => {\r\n this.enviarCheckinApi(null, check);\r\n });\r\n }\r\n\r\n getFechas = (meses) => {\r\n var actual = new Date();\r\n var inicio = new Date(actual.getFullYear(), actual.getMonth(), 1);\r\n var mesesdespues = new Date(inicio);\r\n mesesdespues = new Date(mesesdespues.setMonth(mesesdespues.getMonth() + meses));\r\n var fin = new Date(mesesdespues - 1);\r\n\r\n return { Inicio: moment(inicio).format(), Fin: moment(fin).format() }\r\n }\r\n\r\n\r\n renderMarkers() {\r\n if (this.state.map !== null) {\r\n let map = this.state.map;\r\n\r\n let infowindow = new this.state.maps.InfoWindow({\r\n content: this.state.clienteActivo.nombre,\r\n });\r\n let marker = new this.state.maps.Marker({\r\n position: {\r\n lat: this.state.clienteActivo.latitud,\r\n lng: this.state.clienteActivo.longitud,\r\n },\r\n // label: cliente.Nombre,\r\n map: map,\r\n title: this.state.clienteActivo.nombre\r\n });\r\n marker.addListener('click', function () {\r\n infowindow.open(map, marker);\r\n });\r\n map.addListener('click', function () {\r\n infowindow.close();\r\n });\r\n }\r\n\r\n }\r\n setMapsApi = (map, maps) => {\r\n this.setState({ map, maps });\r\n this.renderMarkers();\r\n }\r\n\r\n setAsignaciones = (asignaciones) => {\r\n var eventos = [];\r\n let tareas = [];\r\n\r\n asignaciones.map(dia => {\r\n // eslint-disable-next-line\r\n dia.asignaciones.map(asignacion => {\r\n if (asignacion.Asesor === this.state.AsesorSelected) {\r\n let prioridad = asignacion.IdPrioridad;\r\n let textColor = 'white';\r\n let color = asignacion.ColorRelleno;\r\n let fechainicio = moment(asignacion.HoraInicio).format();\r\n let fechaFin = moment(asignacion.HoraFin).format();\r\n let cliente = asignacion.cliente;\r\n let latitud = 0;\r\n let longitud = 0;\r\n let IdAsignacion = asignacion.IdAsignacionxAsesor;\r\n let objetoCliente = {};\r\n let Checkin = asignacion.Checkin;\r\n let Checkout = asignacion.Checkout;\r\n let EsPromesaPago = (asignacion.EsPromesaPago) ? \"============= VISITA PROMESA PAGO =============\" : \"\";\r\n\r\n\r\n this.state.clientes.some(clien => {\r\n\r\n if (clien.Codigo === asignacion.cliente) {\r\n if (!(clien.FacturacionEntrega === \"No\" || clien.FacturacionEntrega === \"Nunca\")) {\r\n cliente = \"āš  \" + clien.Nombre;\r\n }\r\n else {\r\n cliente = clien.Nombre;\r\n }\r\n objetoCliente = { ...clien }\r\n latitud = clien.Latitud;\r\n longitud = clien.Longitud;\r\n return true\r\n }\r\n return false;\r\n })\r\n\r\n var evento = {\r\n title: cliente + EsPromesaPago,\r\n start: fechainicio,\r\n end: fechaFin,\r\n textColor: textColor,\r\n color: color,\r\n extendedProps: {\r\n Codigo: asignacion.cliente,\r\n Longitud: longitud,\r\n Latitud: latitud,\r\n IdAsignacion: IdAsignacion,\r\n Prioridad: prioridad,\r\n Checkin,\r\n Checkout\r\n },\r\n cliente: objetoCliente\r\n }\r\n\r\n let tarea = {\r\n Codigo: asignacion.cliente,\r\n IdAsignacion: IdAsignacion,\r\n Checkin,\r\n Checkout,\r\n CheckinApi: Checkin,\r\n CheckoutApi: Checkout,\r\n Bloqueo: Checkout,\r\n fechaIngreso: fechainicio\r\n }\r\n\r\n tareas.push(tarea);\r\n eventos.push(evento);\r\n return false;\r\n }\r\n })\r\n return false;\r\n })\r\n this.props.onSaveAsignaciones(tareas);\r\n return eventos;\r\n }\r\n\r\n onClickEvento = (info) => {\r\n let prioridad;\r\n\r\n switch (info.event.extendedProps.Prioridad) {\r\n case 1:\r\n prioridad = \"Baja\";\r\n break;\r\n case 2:\r\n prioridad = \"Media\";\r\n break;\r\n case 3:\r\n prioridad = \"Alta\";\r\n break;\r\n\r\n default:\r\n prioridad = \"Baja\";\r\n break;\r\n }\r\n\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n IdAsignacion: info.event.extendedProps.IdAsignacion,\r\n checkin: info.event.extendedProps.Checkin,\r\n checkout: info.event.extendedProps.Checkout\r\n }));\r\n\r\n let clienteActivo = {\r\n nombre: info.event.title,\r\n fechaFin: moment(info.event.end).format(\"DD/MM/YYYY hh:mm A\"),\r\n fechaInicio: moment(info.event.start).format(\"DD/MM/YYYY hh:mm A\"),\r\n codigo: info.event.extendedProps.Codigo,\r\n latitud: info.event.extendedProps.Latitud,\r\n longitud: info.event.extendedProps.Longitud,\r\n IdAsignacion: info.event.extendedProps.IdAsignacion,\r\n prioridad: prioridad,\r\n color: info.el.style.backgroundColor,\r\n cliente: info.event.extendedProps.cliente\r\n };\r\n let showAcciones = true;\r\n if (moment(info.event.end).toDate() < new Date()) {\r\n showAcciones = false;\r\n }\r\n this.setState({\r\n mostarEvento: true,\r\n mostrarAcciones: showAcciones,\r\n noAtendido: false,\r\n tipoSelected: false,\r\n razonSelected: false,\r\n tipo: null,\r\n razon: null,\r\n Observacion: '',\r\n clienteActivo: clienteActivo,\r\n ComentarioRazonNoVenta: ''\r\n });\r\n\r\n this.setState({\r\n isModalLoaded: true\r\n });\r\n }\r\n\r\n onClickModal = (route, codigo) => {\r\n this.props.history.push(route, { CodigoCliente: codigo });\r\n }\r\n\r\n OpenModalFacturas = (futuras) => {\r\n let DataModal = [];\r\n this.state.clienteActivo.cliente.AcuerdosXTipoPedido.forEach(acuXTipPed => {\r\n acuXTipPed.Acuerdos.forEach(acu => {\r\n acu.Facturas.forEach(fact => {\r\n fact.Cuotas.forEach(cuot => {\r\n let vencio = true;\r\n if (futuras) {\r\n vencio = moment(cuot.FechaVencimiento).isBetween(moment(), moment().add(15, 'day'), 'days');\r\n } else {\r\n vencio = (moment().isAfter(cuot.FechaVencimiento, 'days')) || moment().isSame(cuot.FechaVencimiento, 'days')\r\n }\r\n if (cuot.Saldo > 0 && vencio) {\r\n DataModal.push({\r\n Tipo: cuot.TipoDocumento,\r\n NumeroFactura: fact.Factura,\r\n Fecha: moment(cuot.Factura.FechaFactura).format(\"DD/MM/YYYY\"),\r\n Vencimiento: moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\"),\r\n Dias: moment(cuot.FechaVencimiento).diff(moment(new Date()), 'days'),\r\n FechaDescuento: moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\"),\r\n DiasDescuento: moment(cuot.FechaMaxDescuento).diff(moment(new Date()), 'days') + 1,\r\n Valor: cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n Saldo: cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,'),\r\n });\r\n }\r\n });\r\n });\r\n });\r\n });\r\n\r\n\r\n this.setState({\r\n ShowModalFacturas: true,\r\n DataModalFacturas: DataModal,\r\n });\r\n }\r\n CloseModalFacturas = (state) => {\r\n\r\n this.setState({\r\n ShowModalFacturas: state,\r\n });\r\n }\r\n\r\n onClickAsignacion = () => {\r\n this.props.history.push(\"/Asignacion\");\r\n }\r\n onClickAsesores = () => {\r\n this.setState({ OpenModalAsesor: true });\r\n }\r\n onCloseModalAtendido = () => {\r\n let noAtendido = false;\r\n if (!this.state.noAtendido) {\r\n noAtendido = true;\r\n }\r\n\r\n this.state.isModalLoaded && this.setState({ mostarNoAtendido: false, noAtendido: noAtendido, })\r\n }\r\n\r\n onClickAgenda = (info) => {\r\n info.dayEl.style.backgroundColor = '#ddd';\r\n }\r\n\r\n opcionTipos = () => {\r\n const opciones = [];\r\n\r\n this.state.CausaNoVenta.map((tipo) => {\r\n let opcion = (\r\n {tipo.Tipo}\r\n )\r\n opciones.push(opcion);\r\n return false;\r\n });\r\n return opciones\r\n }\r\n\r\n opcionRazonNoVenta = () => {\r\n const opciones = [];\r\n this.state.RazonNoVenta.filter(x => x.Activo === true).map((razon) => {\r\n let opcion = (\r\n {razon.RazonNoVenta}\r\n )\r\n opciones.push(opcion);\r\n return false;\r\n });\r\n return opciones\r\n }\r\n\r\n opcionAsesores = () => {\r\n const opciones = [];\r\n\r\n this.state.Asesores.map((ase, index) => {\r\n\r\n let opcion = (\r\n {ase}\r\n )\r\n opciones.push(opcion);\r\n return false;\r\n });\r\n return opciones\r\n }\r\n\r\n opcionCausas = () => {\r\n const opciones = [];\r\n\r\n this.state.CausaNoVenta.map((tipo) => {\r\n\r\n if (tipo.IdRazonNoVentaTipo === this.state.tipo) {\r\n let Razones = tipo.RazonesNoVenta;\r\n Razones.map((razon) => {\r\n let opcion = (\r\n {razon.Causa}\r\n )\r\n\r\n opciones.push(opcion);\r\n return false;\r\n })\r\n }\r\n return false;\r\n });\r\n return opciones\r\n }\r\n\r\n onChangeAsesor = () => {\r\n /*this.cargarClientes();\r\n var eventos = this.setAsignaciones(this.state.Asignaciones);\r\n this.setState({\r\n Eventos: eventos,\r\n OpenModalAsesor: false,\r\n clienteActivo : false\r\n })*/\r\n this.cargarAsignacionesConClientes();\r\n }\r\n\r\n handleOnChangeAsesor = (event) => {\r\n this.setState({\r\n AsesorSelected: event.target.value,\r\n });\r\n }\r\n\r\n handleChangeTipo = (event) => {\r\n this.setState({\r\n tipo: event.target.value,\r\n tipoSelected: true,\r\n razon: null,\r\n razonSelected: false,\r\n })\r\n }\r\n\r\n handleRazonNoVenta = (event) => {\r\n this.setState({\r\n NoVentaSelected: event.target.value,\r\n })\r\n }\r\n\r\n handleChangeCausa = (event) => {\r\n this.setState({\r\n razon: event.target.value,\r\n razonSelected: true,\r\n })\r\n }\r\n\r\n handleChangeObservacion = (event) => {\r\n this.setState({\r\n Observacion: event.target.value,\r\n })\r\n }\r\n\r\n handleChangeComentario = (event) => {\r\n this.setState({\r\n ComentarioRazonNoVenta: event.target.value,\r\n })\r\n }\r\n\r\n handleChangeValorPago = (event) => {\r\n this.setState({\r\n valorPago: event.target.value,\r\n })\r\n }\r\n\r\n guardarRazon = () => {\r\n this.setState({\r\n guardandoRazon: true,\r\n })\r\n\r\n let postBody = {\r\n Fecha: new moment().format(),\r\n IdRazonNoVentaTipo: this.state.tipo,\r\n IdRazonNoVentaCausa: this.state.razon,\r\n CodigoCliente: this.state.clienteActivo.codigo,\r\n IdAsignacionxAsesor: this.state.clienteActivo.IdAsignacion,\r\n Observacion: this.state.Observacion,\r\n }\r\n\r\n fetch(this.urlApi + \"/api/BitacoraVisitasCliente\", {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token'),\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(postBody),\r\n\r\n })\r\n .then(res => {\r\n\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n if (res.status === 200) {\r\n res.json()\r\n .then(\r\n (result) => {\r\n this.setState({\r\n guardandoRazon: false,\r\n mostarNoAtendido: false,\r\n });\r\n },\r\n )\r\n }\r\n else if (res.status === 204) {\r\n this.setState({\r\n guardandoRazon: false,\r\n mostarNoAtendido: false,\r\n });\r\n\r\n this.cargarAsignaciones();\r\n\r\n Toast.fire({\r\n type: 'success',\r\n title: 'RazĆ³n Guardada',\r\n customClass: {\r\n container: styles.ToastOnTopModal,\r\n }\r\n });\r\n }\r\n else {\r\n this.setState({\r\n guardandoRazon: false,\r\n });\r\n\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Ha ocurrido un error',\r\n customClass: {\r\n container: styles.ToastOnTopModal,\r\n }\r\n });\r\n\r\n }\r\n\r\n })\r\n }\r\n\r\n cargarConfiguraciones = async () => {\r\n const { data, error } = await get(`${APIURL}/api/configuraciones`, \"Configuraciones\");\r\n if (error) {\r\n console.log(error);\r\n } else {\r\n\r\n this.setState({\r\n Configuraciones: data\r\n });\r\n this.props.onSaveConfiguraciones(data);\r\n }\r\n }\r\n\r\n cargarTipoVisitas = async () => {\r\n const { data, error } = await get(`${APIURL}/api/TipoVisitaCliente`, \"TipoVisita\");\r\n if (error) {\r\n console.log(error);\r\n } else {\r\n this.props.onSaveTipoVisita(data);\r\n }\r\n }\r\n\r\n async componentDidMount() {\r\n if (!IsAllow(\"/agenda\")) {\r\n this.props.history.push('/home');\r\n }\r\n\r\n const isOnline = await verificarConexion();\r\n if (!isOnline || localStorage.getItem(\"Conexion\") === \"offline\") {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder visualizar esta pagina.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n });\r\n this.setState((prevState) => ({ ...prevState, isLoaded: true }))\r\n } else if (localStorage.getItem(\"Conexion\") === \"Online\" && isOnline) {\r\n this.cargarAsesores()\r\n this.cargarAsignacionesConClientes();\r\n this.cargarRazonNoVenta();\r\n this.cargarListadoRazonNoVenta();\r\n this.cargarTipoVisitas();\r\n this.cargarConfiguraciones();\r\n this.obtenerTiemposFueraAsesorDia();\r\n this.setState((prevState) => ({ ...prevState, isLoaded: true }))\r\n } else {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder visualizar esta pagina.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n });\r\n this.setState((prevState) => ({ ...prevState, isLoaded: true }));\r\n }\r\n }\r\n\r\n verifyBlock = (action) => {\r\n const asignacion = this.props.asignaciones.find(x => x.IdAsignacion === this.state.IdAsignacion);\r\n\r\n if (action === \"checkin\") {\r\n let fechaActual = moment(new Date()).format(\"DD-MM-YYYY\");\r\n let fechaAsignacion = moment(asignacion.fechaIngreso).format(\"DD-MM-YYYY\");\r\n\r\n if (moment(fechaAsignacion).isBefore(fechaActual)) {\r\n return true;\r\n }\r\n\r\n return asignacion.Checkin;\r\n }\r\n\r\n if (action === \"bloqueo\") {\r\n return asignacion.Bloqueo;\r\n }\r\n\r\n return asignacion.Checkout;\r\n }\r\n\r\n verifyBlockNoseVisito = () => {\r\n const asignacion = this.props.asignaciones.find(x => x.IdAsignacion === this.state.IdAsignacion);\r\n\r\n if (asignacion.Checkin) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n actualizarCoordenadasPedido = (longitud, latitud) => {\r\n let copiaClientes = this.props.clientesPedido;\r\n let indice = copiaClientes.map(x => x.Codigo).indexOf(this.state.clienteActivo.codigo);\r\n copiaClientes[indice].Longitud = longitud;\r\n copiaClientes[indice].Latitud = latitud;\r\n this.props.onSaveClientesPedido(copiaClientes);\r\n }\r\n\r\n actualizarCoordenadasRecibo = (longitud, latitud) => {\r\n let copiaClientes = this.props.clientesRecibo;\r\n let indice = copiaClientes.map(x => x.Codigo).indexOf(this.state.clienteActivo.codigo);\r\n copiaClientes[indice].Longitud = longitud;\r\n copiaClientes[indice].Latitud = latitud;\r\n this.props.onSaveClientesRecibo(copiaClientes);\r\n }\r\n\r\n actualizarDataExterna = request => {\r\n const { latitud, longitud } = request.data;\r\n this.actualizarCoordenadasPedido(longitud, latitud);\r\n this.actualizarCoordenadasRecibo(longitud, latitud);\r\n }\r\n\r\n actualizarData = request => {\r\n this.setState((prevState) => ({ ...prevState, clienteActivo: { ...prevState.clienteActivo, latitud: request.data.latitud, longitud: request.data.longitud } }));\r\n let copiaClientes = this.state.clientes;\r\n let indice = copiaClientes.map(x => x.Codigo).indexOf(this.state.clienteActivo.codigo);\r\n copiaClientes[indice].Latitud = request.data.latitud;\r\n copiaClientes[indice].Longitud = request.data.longitud;\r\n this.setState((prevState) => ({ ...prevState, clientes: copiaClientes }));\r\n let eventos = this.setAsignaciones(this.state.Asignaciones);\r\n this.setState({\r\n Eventos: eventos,\r\n })\r\n\r\n this.actualizarDataExterna(request);\r\n }\r\n\r\n enviarCoordenadasApi = async (coor) => {\r\n try {\r\n const data = {\r\n cliente: this.state.clienteActivo.codigo,\r\n latitud: coor.latitude,\r\n longitud: coor.longitude\r\n }\r\n const request = await axios.post(`${APIURL}/api/cliente/coordenadas`, data);\r\n this.actualizarData(request);\r\n } catch (err) {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Ha ocurrido un error y no se pudo obtener las coordenadas.\",\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n target: this.refCoordenadas.current\r\n });\r\n }\r\n }\r\n\r\n mensajeErrorCoordenadas = () => {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Ha ocurrido un error y no se pudo obtener las coordenadas.\",\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n target: this.refCoordenadas.current\r\n });\r\n }\r\n\r\n confirmacionCoordenadas = () => {\r\n Swal.fire({\r\n title: 'Confirmar',\r\n text: `ĀæEstĆ” seguro de realizar el pinneo en la ubicacĆ³n actual?`,\r\n type: 'question',\r\n showCancelButton: true,\r\n confirmButtonColor: '#06bf53',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'SĆ­',\r\n cancelButtonText: 'No',\r\n target: this.refCoordenadas.current\r\n }).then((result) => {\r\n if (result.value) {\r\n ObtenerCoordenadas((position) => {\r\n this.enviarCoordenadasApi({\r\n longitude: position.coords.longitude,\r\n latitude: position.coords.latitude\r\n })\r\n }, (error) => {\r\n this.mensajeErrorCoordenadas()\r\n });\r\n }\r\n })\r\n }\r\n\r\n verificarObtencionCoordenadas = () => {\r\n navigator.permissions.query({ name: 'geolocation' }).then(res => {\r\n if (res.state === \"granted\") {\r\n this.confirmacionCoordenadas();\r\n } else {\r\n Swal.fire({\r\n title: 'Advertencia',\r\n text: \"Habilite la geoposiciĆ³n en su dispositivo para realizar esta acciĆ³n.\",\r\n type: 'warning',\r\n confirmButtonText: 'OK',\r\n target: this.refCoordenadas.current\r\n });\r\n }\r\n }).catch(err => {\r\n this.mensajeErrorCoordenadas()\r\n })\r\n }\r\n\r\n registrarCheckOut = async () => {\r\n const request = await axios.get(`${APIURL}/api/asignaciones/reporte/${this.state.clienteActivo.codigo}`);\r\n let visita = request.data.filter(x => moment(x.FechaAsignacion).format(\"DD/MM/YYYY\") === moment().format(\"DD/MM/YYYY\"))\r\n if (visita[0].Cobros === 0 && visita[0].Promesa_de_Pago === 0 && visita[0].Ventas === 0) {\r\n this.openModalRazonNoVenta()\r\n }\r\n else {\r\n this.enviarCheckin(\"checkout\")\r\n }\r\n }\r\n\r\n openModalRazonNoVenta = () => {\r\n this.setState({ OpenModalNoVenta: true });\r\n }\r\n\r\n accesoPineo = () => {\r\n var permisos = this.props.Permisos[0].RolesUsuarios.filter(x => x.Nombre === \"Registrar Pineo\");\r\n if (permisos.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n eliminarAsignacion = async (asignacionId) => {\r\n try {\r\n const result = window.confirm(`ĀæEsta seguro de eliminar la visita?`);\r\n if (result) {\r\n await axios.post(`${this.urlApi}/api/asignaciones/eliminar/${asignacionId}`)\r\n alert(\"AsignaciĆ³n eliminada con exito.\");\r\n }\r\n\r\n } catch (err) {\r\n alert(\"No se pudo eliminar la asignaciĆ³n.\");\r\n }\r\n }\r\n\r\n render() {\r\n this.accesoPineo();\r\n let tipoDisabled = false;\r\n let causaDisabled = false;\r\n let APIKEY = this.state.Configuraciones.ApiKey_GoogleMaps;\r\n\r\n if (!this.state.mostrarAcciones && !this.state.noAtendido) {\r\n causaDisabled = true;\r\n tipoDisabled = true;\r\n \r\n }\r\n\r\n if (!this.state.tipoSelected) {\r\n causaDisabled = true;\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {\r\n this.state.isLoaded ?\r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n \r\n
    \r\n\r\n }\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n {\r\n this.state.clienteActivo &&\r\n this.state.isModalLoaded && this.setState({ mostarEvento: false })}\r\n aria-labelledby=\"scroll-dialog-title\"\r\n ref={this.myRef}\r\n >\r\n \r\n \r\n {this.state.clienteActivo.nombre}\r\n
    \r\n \r\n {\r\n this.state.isModalLoaded ?\r\n <>\r\n \r\n
    \r\n
    \r\n
    UbicaciĆ³n
    \r\n
    \r\n {(this.state.clienteActivo.latitud === null && this.state.clienteActivo.longitud === null)\r\n ?\r\n
    \r\n

    No hay coordenadas disponibles

    \r\n {this.state.AsesorSelected === localStorage.getItem('codigo') && }\r\n
    \r\n :\r\n { this.setMapsApi(map, maps) }}\r\n yesIWantToUseGoogleMapApiInternals={true}\r\n >\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    InformaciĆ³n
    \r\n {PermisoAdministradorVisita() && }\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n { /*\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n */}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \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 {this.state.clienteActivo.codigo}\r\n
    \r\n Facturas Vencidas:\r\n \r\n\r\n {this.state.clienteActivo.cliente.NumeroFacturasVencidas} Facturas - HNL {this.state.clienteActivo.cliente.MontoFacturasVencidas.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} \r\n \r\n {\r\n this.OpenModalFacturas(false);\r\n }\r\n } />\r\n
    \r\n Facturas Prox a Vencer:\r\n \r\n {this.state.clienteActivo.cliente.NumeroFacturasXVencer} Facturas - HNL {this.state.clienteActivo.cliente.MontoFacturasXVencer.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}\r\n \r\n {\r\n this.OpenModalFacturas(true);\r\n }\r\n }\r\n\r\n />\r\n
    \r\n Prioridad:\r\n \r\n {this.state.clienteActivo.prioridad}\r\n
    \r\n Fecha Inicio:\r\n \r\n {this.state.clienteActivo.fechaInicio}\r\n
    \r\n Fecha Fin:\r\n \r\n {this.state.clienteActivo.fechaFin}\r\n
    \r\n
    \r\n {this.accesoPineo() === true && \r\n \r\n\r\n {!this.verifyBlock(\"checkin\")\r\n ? \r\n : }\r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {\r\n this.state.Acciones.map((accion, index) => {\r\n if (accion.Estado) {\r\n return (\r\n \r\n )\r\n }\r\n return false;\r\n })\r\n }\r\n \r\n \r\n :\r\n <>\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n }\r\n\r\n {\r\n this.onCloseModalAtendido()}\r\n aria-labelledby=\"No-Atendido-Modal\">\r\n \r\n \r\n JustificaciĆ³n de No Venta\r\n
    \r\n \r\n \r\n {\r\n this.state.isModalLoaded &&\r\n <>\r\n
    RazĆ³n
    \r\n
    \r\n
    \r\n \r\n Tipo\r\n \r\n {\r\n this.opcionRazonNoVenta()\r\n }\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n }\r\n
    \r\n \r\n \r\n this.enviarRazonesNoVenta()}>\r\n Guardar\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n this.setState({ OpenModalAsesor: false })}\r\n aria-labelledby=\"No-Atendido-Modal\">\r\n \r\n \r\n Asesores Disponibles\r\n \r\n \r\n \r\n {\r\n <>\r\n
    \r\n
    \r\n \r\n Asesor\r\n \r\n {\r\n this.opcionAsesores()\r\n }\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n }\r\n
    \r\n \r\n \r\n this.onChangeAsesor()}>\r\n Aceptar\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n this.onCloseModalAtendido()}\r\n aria-labelledby=\"No-Atendido-Modal\">\r\n \r\n \r\n Cancelar visita\r\n \r\n \r\n \r\n {\r\n this.state.isModalLoaded &&\r\n <>\r\n
    RazĆ³n
    \r\n
    \r\n
    \r\n \r\n Tipo\r\n \r\n {\r\n this.opcionTipos()\r\n }\r\n\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Causa\r\n \r\n {\r\n this.opcionCausas()\r\n }\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n }\r\n
    \r\n \r\n \r\n this.guardarRazon()}>\r\n {\r\n this.state.guardandoRazon ?\r\n : 'Guardar'\r\n }\r\n \r\n \r\n \r\n }\r\n {\r\n this.setState({ OpenModalPromesaPago: false, date: new Date(), valorPago: 0 })}\r\n aria-labelledby=\"No-Atendido-Modal\">\r\n \r\n \r\n Promesa de Pago\r\n \r\n \r\n \r\n {\r\n this.state.isModalLoaded &&\r\n <>\r\n
    \r\n
    \r\n
    Fecha:
    \r\n \r\n this.setState({ date: d })}\r\n format=\"DD/MM/YYYY\"\r\n minDate={new Date()}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n }\r\n
    \r\n \r\n \r\n this.enviarPromesaPago()}>\r\n {\r\n this.state.guardandoRazon ?\r\n : 'Guardar'\r\n }\r\n \r\n \r\n \r\n }\r\n \r\n \r\n )\r\n\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n empresas: state.empresas,\r\n asignaciones: state.Asignaciones,\r\n Permisos: state.Permisos,\r\n clientesPedido: state.clientes,\r\n clientesRecibo: state.Recibo.clientes\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n onSaveEmpresas: (empresas) => { dispatch({ type: 'SET_EMPRESAS', payload: empresas }) },\r\n onSaveMonedas: (monedas) => { dispatch({ type: 'SET_ABREVACIONMONEDAS', payload: monedas }) },\r\n onSaveClientesContado: (clientes) => { dispatch({ type: 'SET_CLIENTESCONTADO', payload: clientes }) },\r\n onSaveAsignaciones: (asignaciones) => { dispatch({ type: 'SET_ASIGNACIONES', payload: asignaciones }) },\r\n onSaveTipoVisita: (data) => { dispatch({ type: \"SET_TIPOVISITA\", payload: data }) },\r\n onSaveConfiguraciones: (data) => { dispatch({ type: \"SET_CONFIGURACIONES\", payload: data }) },\r\n onSaveClientesPedido: (data) => { dispatch({ type: 'STORE_CLIENTES', clientes: data }) },\r\n onSaveClientesRecibo: (data) => { dispatch({ type: 'STORE_RECIBO_CLIENTES', clientes: data }) }\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Agenda);","import React,{useEffect,useState} from 'react';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport {APIURL} from 'utils/Enviroment';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport {Table} from 'reactstrap';\r\nimport { SyncLoader } from 'react-spinners';\r\nimport {\r\n Button,\r\n Card,\r\n CardContent,\r\n} from '@material-ui/core';\r\nimport 'semantic-ui-css/semantic.min.css';\r\nimport {IsAllow} from 'components/Seguridad/Permisos';\r\n\r\nconst Sincronizacionlista = (props)=>{\r\n const [modulos,setModulos] = useState([]);\r\n const [gestores,setGestores] = useState([]);\r\n const [moduloSelected,setModuloSelected] = useState(0);\r\n\r\n const SincronizarModulos = ()=>{\r\n fetch(`${APIURL}/api/SincronizacionLista/ModulosGestores`)\r\n .then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(data=> \r\n {setModulos(data)},\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n\r\n error\r\n });\r\n }\r\n )\r\n }\r\n })\r\n }\r\n\r\n const SincronizarGestores = ()=>{\r\n fetch(`${APIURL}/api/SincronizacionLista/Gestores`)\r\n .then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(data=> \r\n {setGestores(data)},\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n\r\n error\r\n });\r\n }\r\n )\r\n }\r\n })\r\n //.then(res=>res.json())\r\n //.then(data=>setGestores(data))\r\n }\r\n\r\n const PostearEnLista = (id)=>{\r\n\r\n Swal.fire({\r\n title: 'Confirmar',\r\n text: \"ĀæEstĆ” seguro de realizar estĆ” acciĆ³n?\",\r\n type: 'question',\r\n showCancelButton: true,\r\n confirmButtonColor: '#06bf53',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'SĆ­',\r\n cancelButtonText: 'No',\r\n }).then((result) => {\r\n if (result.value) {\r\n fetch(`${APIURL}/api/SincronizacionLista/${id}/${localStorage.getItem('codigo')}/upload`,{\r\n headers:{\r\n \"Content-type\":\"application/json\"\r\n },\r\n method:\"POST\"\r\n })\r\n .then(res=>res.json())\r\n .then(data=>\r\n Swal.fire({\r\n title: 'Mensaje del servidor',\r\n text: data,\r\n type: 'info',\r\n confirmButtonText: 'Ok'\r\n })\r\n \r\n ); \r\n }\r\n })\r\n }\r\n\r\n useEffect(()=>{\r\n if(!IsAllow(\"/sincronizacionlista\"))\r\n {\r\n props.history.push('/home');\r\n }\r\n SincronizarModulos();\r\n SincronizarGestores();\r\n // eslint-disable-next-line\r\n },[])\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Selecione mĆ³dulo de sincronizaciĆ³n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setModuloSelected(value);\r\n }}\r\n options={\r\n modulos.sort(function (a, b) {\r\n return a.NOMBRE.localeCompare(b.NOMBRE);\r\n }).map(modulo => {\r\n return {key:modulo.ID, text:modulo.NOMBRE, value: modulo.ID}\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {\r\n props.loading &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n {(moduloSelected===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 {gestores.filter(x=>x.ID_MODULO === moduloSelected).sort(function (a, b) {\r\n return a.NOMBRE.localeCompare(b.NOMBRE);\r\n }).map(gestor=>(\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    NombreAcciĆ³n
    {gestor.NOMBRE}\r\n
    \r\n {PostearEnLista(gestor.ID)}}\r\n variant=\"contained\"\r\n color=\"primary\">\r\n Seleccionar\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n } \r\n
    \r\n )\r\n}\r\n\r\nexport default Sincronizacionlista;","import React,{useEffect,useState} from 'react';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport {APIURL} from 'utils/Enviroment';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\n\r\nimport {\r\n Card as CardR,\r\n CardBody,\r\n CardHeader\r\n} from 'reactstrap';\r\nimport {\r\n Card,\r\n CardContent,\r\n Button\r\n} from '@material-ui/core';\r\nimport 'semantic-ui-css/semantic.min.css';\r\nimport styles from './SincronizacionListaMonitor.module.css';\r\nimport 'semantic-ui-css/semantic.min.css';\r\nimport {IsAllow} from 'components/Seguridad/Permisos';\r\nconst SincronizacionListaMonitor = (props)=>{\r\n const [listado,setListado] = useState([]);\r\n const [modulos,setModulos] = useState([]);\r\n const [fechaSelected,setFechaSelected] = useState(new Date());\r\n const [moduloSelected,setModuloSelected] = useState(0);\r\n\r\n const SincronizarListado = ()=>{\r\n fetch(`${APIURL}/api/SincronizacionLista/${localStorage.getItem('codigo')}`)\r\n .then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(data=> \r\n {setListado(data)},\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n\r\n error\r\n });\r\n }\r\n )\r\n }\r\n })\r\n }\r\n\r\n const SincronizarModulos = ()=>{\r\n fetch(`${APIURL}/api/SincronizacionLista/ModulosGestores`)\r\n .then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(data=> \r\n {\r\n var todo = {\"ID\": 0, \"NOMBRE\": \"Todo\"};\r\n data.push(todo);\r\n setModulos(data);\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n\r\n error\r\n });\r\n }\r\n )\r\n }\r\n })\r\n }\r\n\r\n useEffect(()=>{\r\n if(!IsAllow(\"/sincronizacionListaMonitor\"))\r\n {\r\n props.history.push('/home'); \r\n }\r\n SincronizarModulos();\r\n SincronizarListado();\r\n let intervalo = setInterval(SincronizarListado,30000);\r\n\r\n return ()=>{\r\n clearInterval(intervalo);\r\n }\r\n // eslint-disable-next-line\r\n },[])\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n Filtros de BĆŗsqueda\r\n \r\n\r\n \r\n
    \r\n
    \r\n setFechaSelected(date)}\r\n />\r\n \r\n
    \r\n
    \r\n {\r\n setModuloSelected(value);\r\n }}\r\n options={\r\n modulos.sort((a, b)=> (a.NOMBRE.localeCompare(b.NOMBRE)))\r\n .map(modulo => ({key:modulo.ID, text:modulo.NOMBRE, value: modulo.ID})\r\n )}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listado.filter(x=> (x.ID_MODULO === moduloSelected || moduloSelected === 0) && new Date(x.FECHA).setHours(0,0,0,0)===new Date(fechaSelected).setHours(0,0,0,0))\r\n .map((item, ind)=>(\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    ID ListaCĆ³digo GestorNombre GestorMĆ³duloFechaEn EsperaEn EjecuciĆ³nFinalizado
    {item.ID}{item.ID_GESTOR}{item.NOMBRE}{item.MODULO}{item.FECHASTR}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default SincronizacionListaMonitor;","import React from 'react';\r\nimport { Table } from 'reactstrap';\r\nimport { FaEdit } from \"react-icons/fa\";\r\nimport { MdCheckCircle,MdCancel } from \"react-icons/md\";\r\nimport { MdPlaylistAdd } from \"react-icons/md\";\r\n\r\nexport const TablaRoles = props => {\r\n const {roles,modificarEstado,modificarRol} = props;\r\n\r\n return (\r\n
    \r\n {roles.length===0\r\n ?
    \r\n

    No hay roles

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

    Roles

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {roles.map(rol=>(\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    RolEstadoAcciones
    {rol.Nombre}{rol.Status?

    Activo

    :

    Inactivo

    }
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n )\r\n}","import React,{useRef} from 'react';\r\nimport {Formik,Form,Field} from 'formik';\r\nimport * as yup from 'yup';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport CheckBox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nconst validationSchema = yup.object().shape(\r\n{\r\n Nombre: yup.string().required('El nombre es obligatorio'),\r\n Status: yup.boolean()\r\n});\r\n\r\nexport const FormularioCrud = props => {\r\n const {Valores,Crear,OcultarModal,Modificar} = props;\r\n\r\n const context = useRef();\r\n\r\n let initialValues,edit;\r\n\r\n if(Valores)\r\n {\r\n initialValues={\r\n Id: Valores.Id,\r\n Nombre: Valores.Nombre,\r\n Status: Valores.Status,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit=true;\r\n }\r\n else\r\n {\r\n initialValues={\r\n Nombre: '',\r\n Status: true,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit=false;\r\n }\r\n\r\n const handleSubmit = (values)=>{\r\n Crear(values);\r\n OcultarModal();\r\n }\r\n\r\n const handleEdit = (values) =>{\r\n Modificar(values);\r\n OcultarModal();\r\n }\r\n\r\n return (\r\n {\r\n handleSubmit(values)\r\n }}>\r\n {({errors,resetForm,values,setValues})=>(\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n }\r\n label={\"Activar\"}/>\r\n \r\n \r\n {edit && } \r\n {!edit && }\r\n \r\n \r\n\r\n \r\n
    \r\n )}\r\n \r\n )\r\n}","import React,{useState,useEffect} from 'react';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport axios from 'axios';\r\n\r\nimport { TablaRoles } from 'components/Seguridad/Mantenimiento/Roles/TablaRoles';\r\nimport { FormularioCrud } from 'components/Seguridad/Mantenimiento/FormularioCrud';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nexport const Roles = props => {\r\n const [roles,setRoles] = useState([]);\r\n const [mostrar,setMostar] = useState(false);\r\n const [rol,setRol] = useState(null);\r\n\r\n const cargarRoles = async () => {\r\n try{\r\n const request = await axios.get(`${APIURL}/api/rol`);\r\n setRoles(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los roles\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const crearRol = async (data)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/rol/crear`,data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha creado el rol exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarRoles();\r\n });\r\n\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado el rol.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarRol = async (data)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/rol/modificar`,data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha modificado el rol exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarRoles();\r\n });\r\n\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el rol.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarEstado = async (id)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/rol/estado/${id}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarRoles();\r\n });\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el rol.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const abrirModificarRol = (rol)=>{\r\n setRol(rol);\r\n setMostar(true);\r\n }\r\n\r\n const ocultarModal = ()=>{\r\n setMostar(false);\r\n setRol(null);\r\n }\r\n\r\n useEffect(()=>{\r\n cargarRoles();\r\n },[])\r\n\r\n return (\r\n
    \r\n \r\n \r\n REGISTRAR NUEVO ROL\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}","import React from 'react';\r\nimport { Table } from 'reactstrap';\r\nimport { FaEdit } from \"react-icons/fa\";\r\nimport { MdCheckCircle,MdCancel } from \"react-icons/md\";\r\nimport { MdPlaylistAdd } from \"react-icons/md\";\r\n\r\nexport const TablaPantallas = props => {\r\n const {pantallas,modificarEstado,modificarPantalla,modificarModoOffline} = props;\r\n\r\n return (\r\n
    \r\n {pantallas.length===0\r\n ? \r\n
    \r\n

    No hay pantallas

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

    Pantallas

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pantallas.map(pantalla=>(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    PantallaRutaEstadoModo OfflineAcciones
    {pantalla.Nombre}{pantalla.Ruta}{pantalla.Status?

    Activo

    :

    Inactivo

    }
    {modificarModoOffline(pantalla.Id)}} style={{ height: 20, width: 20}}/>\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n )\r\n}","import React,{useRef} from 'react';\r\nimport {Formik,Form,Field} from 'formik';\r\nimport * as yup from 'yup';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport CheckBox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nconst validationSchema = yup.object().shape(\r\n{\r\n Nombre: yup.string().required('El nombre es obligatorio'),\r\n Ruta:yup.string().required('La ruta es obligatoria'),\r\n Status: yup.boolean(),\r\n ModoOffline:yup.boolean()\r\n});\r\n\r\nexport const FormularioCrud = props => {\r\n const {Valores,Crear,OcultarModal,Modificar} = props;\r\n\r\n const context = useRef();\r\n\r\n let initialValues,edit;\r\n\r\n if(Valores)\r\n {\r\n initialValues={\r\n Id: Valores.Id,\r\n Nombre: Valores.Nombre,\r\n Status: Valores.Status,\r\n Ruta: Valores.Ruta,\r\n ModoOffline:Valores.ModoOffline,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit=true;\r\n }\r\n else\r\n {\r\n initialValues={\r\n Nombre: '',\r\n Status: true,\r\n Ruta:'',\r\n ModoOffline:false,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit=false;\r\n }\r\n\r\n const handleSubmit = (values)=>{\r\n Crear(values);\r\n OcultarModal();\r\n }\r\n\r\n const handleEdit = (values) =>{\r\n Modificar(values);\r\n OcultarModal();\r\n }\r\n\r\n return (\r\n {\r\n handleSubmit(values)\r\n }}>\r\n {({errors,resetForm,values,setValues})=>(\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n }\r\n label={\"Activar\"}\r\n />\r\n \r\n }\r\n label={\"Modo Offline\"}\r\n />\r\n
    \r\n \r\n \r\n {edit && } \r\n {!edit && }\r\n \r\n
    \r\n\r\n \r\n
    \r\n )}\r\n \r\n )\r\n}","import React,{useState,useEffect} from 'react';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport axios from 'axios';\r\n\r\nimport { TablaPantallas } from 'components/Seguridad/Mantenimiento/Pantallas/TablaPantallas';\r\nimport { FormularioCrud } from 'components/Seguridad/Mantenimiento/Pantallas/FormularioCrud';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nexport const Pantallas = props => {\r\n const [pantallas,setPantallas] = useState([]);\r\n const [mostrar,setMostar] = useState(false);\r\n const [pantalla,setPantalla] = useState(null);\r\n\r\n const cargarPantallas = async () => {\r\n try{\r\n const request = await axios.get(`${APIURL}/api/pantalla/pantallas`);\r\n setPantallas(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las pantallas\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const crearPantalla = async (data)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/pantalla/crear`,data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha creado la pantalla exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarPantallas();\r\n });\r\n\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado la pantalla.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarPantalla = async (data)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/pantalla/modificar`,data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha modificado la pantalla exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarPantallas();\r\n });\r\n\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado la pantalla.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarEstado = async (id)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/pantalla/estado/${id}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarPantallas();\r\n });\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado la pantalla.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarModoOffline = async (id)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/pantalla/modooffline/${id}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarPantallas();\r\n });\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado la pantalla.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const abrirModificarPantalla = (rol)=>{\r\n setPantalla(rol);\r\n setMostar(true);\r\n }\r\n\r\n const ocultarModal = ()=>{\r\n setMostar(false);\r\n setPantalla(null);\r\n }\r\n\r\n useEffect(()=>{\r\n cargarPantallas();\r\n },[])\r\n\r\n return (\r\n
    \r\n \r\n \r\n REGISTRAR NUEVA PANTALLA\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}","import React from 'react';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport { MdCheckCircle, MdCancel } from \"react-icons/md\";\r\nimport { MdPlaylistAdd } from \"react-icons/md\";\r\n\r\nexport const TablaUsuario = props => {\r\n const { roles, modificarEstado, modificarBloqueoCredito, modificarTodosAsesores, UpdateUsuarioOficina, modificarAdministradorProducto, modificarManejaBodegaEspecifico,seleccionarUsuario } = props;\r\n\r\n const getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n });\r\n\r\n const HeadersListaPedidos = [\r\n {\r\n label: \"Usuario\",\r\n name: \"Usuario\",\r\n options: {\r\n filter: true,\r\n }\r\n },\r\n {\r\n label: \"Estado\",\r\n name: \"Estado\",\r\n options: {\r\n filter: true,\r\n }\r\n },\r\n {\r\n label: \"Bloqueo informaciĆ³n sensible\",\r\n name: \"Bloqueo informaciĆ³n sensible\",\r\n options: {\r\n filter: false,\r\n }\r\n },\r\n {\r\n label: \"Maneja todos los asesores\",\r\n name: \"Maneja todos los asesores\",\r\n options: {\r\n filter: false,\r\n }\r\n },\r\n {\r\n label: \"Usuario Oficina\",\r\n name: \"Usuario Oficina\",\r\n options: {\r\n filter: false,\r\n }\r\n },\r\n {\r\n label: \"Administrador Productos\",\r\n name: \"Administrador Productos\",\r\n options: {\r\n filter: false,\r\n }\r\n },\r\n {\r\n label: \"Maneja Bodega Especifico\",\r\n name: \"Maneja Bodega Especifico\",\r\n options: {\r\n filter: false,\r\n }\r\n },\r\n {\r\n label: \"Acciones\",\r\n name: \"acciones\",\r\n options: {\r\n filter: false,\r\n }\r\n }\r\n ]\r\n\r\n const obtenerData = () => {\r\n return roles.map(rol => ([\r\n rol.Nombre,\r\n rol.Status ? \"Activo\" : \"Inactivo\",\r\n
    modificarBloqueoCredito(rol.Id)} style={{ height: 20, width: 20 }} />
    ,\r\n
    modificarTodosAsesores(rol.Id)} style={{ height: 20, width: 20 }} />
    ,\r\n
    UpdateUsuarioOficina(rol.Id, e.target.checked)} style={{ height: 20, width: 20 }} />
    ,\r\n
    modificarAdministradorProducto(rol.Id)} style={{ height: 20, width: 20 }} />
    ,\r\n
    modificarManejaBodegaEspecifico(rol.Id)} style={{ height: 20, width: 20 }} />
    ,\r\n
    \r\n \r\n \r\n
    \r\n ]));\r\n }\r\n\r\n return (\r\n
    \r\n {roles.length === 0\r\n ?
    \r\n

    No hay usuarios

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

    Usuarios

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n )\r\n}\r\n\r\nconst DatatableOptions = {\r\n filter: true,\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};","import React,{useState,useEffect,useRef} from 'react';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport axios from 'axios';\r\nimport {Formik,Field} from 'formik';\r\n\r\nimport { TablaUsuario } from 'components/Seguridad/Mantenimiento/Usuario/TablaUsuario';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nexport const Usuario = props => {\r\n const [usuarios,setUsuarios] = useState([]);\r\n const [mostrar,setMostar] = useState(false);\r\n const [usuario,setUsuario] = useState(null);\r\n const [codigo,setCodigo] = useState('');\r\n const [mostrarEditar,setMostrarEditar] = useState(false);\r\n const [usuarioEdit,setUsuarioEdit] = useState({});\r\n\r\n const myRef = useRef();\r\n\r\n const cargarUsuarios = async () => {\r\n try{\r\n const request = await axios.get(`${APIURL}/api/usuario`);\r\n setUsuarios(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los usuarios.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const crearUsuario = async ()=>{\r\n try{\r\n\r\n if(usuario===null || usuario===undefined || usuario.CODE===null || usuario.CODE===undefined){\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"No se puede registar un usuario vacio.\",\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target:myRef.current\r\n });\r\n return;\r\n }\r\n\r\n let newUsuario = {\r\n usuario:usuario.CODE,\r\n nombre:usuario.NAME,\r\n EmpresaId:usuario.COMPANY,\r\n creador:localStorage.getItem('codigo')\r\n }\r\n\r\n await axios.post(`${APIURL}/api/usuario`,newUsuario);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha creado el usuario exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n target:myRef.current\r\n }).then(e=>{\r\n cargarUsuarios();\r\n });\r\n\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado el usuario.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target:myRef.current\r\n });\r\n }\r\n }\r\n\r\n const modificarEstado = async (id)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/usuario/desactivar/${id}/${localStorage.getItem('codigo')}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarUsuarios();\r\n });\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el usuario.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarBloqueoCredito = async (id)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/usuario/desactivar/sensible/${id}/${localStorage.getItem('codigo')}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarUsuarios();\r\n });\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el usuario.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarAdministradorProducto = async (id)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/usuario/desactivar/administradorproductos/${id}/${localStorage.getItem('codigo')}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarUsuarios();\r\n });\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el usuario.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarManejaBodegaEspecifico = async (id)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/usuario/estado/bodegaEspecifico/${id}/${localStorage.getItem('codigo')}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarUsuarios();\r\n });\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el usuario.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarTodosAsesores = async (id)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/usuario/desactivar/asesores/${id}/${localStorage.getItem('codigo')}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarUsuarios();\r\n });\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el usuario.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const verificarUsuario = async () => {\r\n try{\r\n const data = await axios.get(`${APIURL}/api/usuario/verificar/${codigo}`);\r\n setUsuario(data.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se pudo verificar el usuario.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n target:myRef.current\r\n });\r\n }\r\n }\r\n\r\n const UpdateUsuarioOficina = async (id,Estado)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/usuario/usuarioOficina/${id}/${Estado}/${localStorage.getItem('codigo')}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n cargarUsuarios();\r\n });\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el usuario.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const ocultarModal = ()=>{\r\n setMostar(false);\r\n setUsuario(null);\r\n }\r\n\r\n const seleccionarUsuario = (e) => {\r\n console.log(e);\r\n setUsuarioEdit(e);\r\n setMostrarEditar(true);\r\n }\r\n\r\n const actualizarCorreo = async (data) => {\r\n try {\r\n await axios.post(`${APIURL}/api/usuario/correo/${data.Id}`, data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarUsuarios();\r\n });\r\n\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el usuario.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n useEffect(()=>{\r\n cargarUsuarios();\r\n },[])\r\n\r\n return (\r\n
    \r\n \r\n \r\n REGISTRAR NUEVO USUARIO\r\n \r\n
    \r\n {setCodigo(e.target.value)}}/>\r\n \r\n
    \r\n
    \r\n {usuario && \r\n
    \r\n {(usuario.CODE===null || usuario.CODE===undefined)\r\n ?

    El usuario no existe o no esta habilitado en AX.

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

    Datos Generales

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

    Codigo: {usuario.CODE}

    \r\n

    Nombre: {usuario.NAME}

    \r\n

    Empresa Principal: {usuario.COMPANY}

    \r\n
    \r\n
    }\r\n
    \r\n }\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n Editar Usuario: {usuarioEdit.Nombre}\r\n \r\n
    \r\n actualizarCorreo(e)}>\r\n {({ handleSubmit }) => (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n )\r\n}","import React from 'react'\r\nimport { FaEdit } from \"react-icons/fa\";\r\nimport { MdCancel,MdCheckCircle } from \"react-icons/md\";\r\nimport Button from '@material-ui/core/Button';\r\nimport { Table } from 'reactstrap';\r\nimport { MdPlaylistAdd } from \"react-icons/md\";\r\n\r\nconst TablaFunciones =(props) =>{\r\n return (\r\n
    \r\n {\r\n
    \r\n
    \r\n

    Funciones

    \r\n
    \r\n \r\n
    \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.Funciones.map(fun=>(\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    FuncionEstadoAcciones
    {fun.Nombre}{fun.Status ?

    Activo

    :

    Inactivo

    }
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n\r\n}\r\nexport default TablaFunciones;","import React,{useEffect,useState} from 'react';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport TablaFunciones from 'components/Seguridad/Mantenimiento/Funciones/TablaFunciones';\r\nimport { FormularioCrud } from 'components/Seguridad/Mantenimiento/FormularioCrud';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport axios from 'axios';\r\n\r\nconst Funciones =(props) =>{\r\n const [Funciones,setFunciones] = useState([]);\r\n const [mostrar,setMostar] = useState(false);\r\n const [Funcion,setFuncion] = useState(null);\r\n\r\n useEffect(() => {\r\n ObtenerFunciones();\r\n }, []);\r\n\r\n const ObtenerFunciones = ()=>{\r\n fetch(`${APIURL}/api/Funciones`)\r\n .then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(data=> \r\n {setFunciones(data)},\r\n (error) => {\r\n this.setState({\r\n error\r\n });\r\n }\r\n )\r\n }\r\n })\r\n }\r\n\r\n const modificarEstado = (Id)=>{\r\n Swal.fire({\r\n title: 'Confirmar',\r\n text: \"ĀæEstĆ” seguro de realizar estĆ” acciĆ³n?\",\r\n type: 'question',\r\n showCancelButton: true,\r\n confirmButtonColor: '#06bf53',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'SĆ­',\r\n cancelButtonText: 'No',\r\n }).then((result) => {\r\n if (result.value) {\r\n fetch(`${APIURL}/api/Funciones/ActualizarEstado/${Id}`, {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n })\r\n .then(res=>{\r\n if(res.status===200){\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n ObtenerFunciones()\r\n })\r\n }\r\n if(res.status===400){\r\n res.json()\r\n .then(resultado=>{\r\n Swal.fire({\r\n title: 'Error',\r\n text: resultado.Message,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n })\r\n });\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const CrearFuncion = async (data)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/Funciones/Crear`, data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha creado la funcion exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n ObtenerFunciones();\r\n });\r\n\r\n }catch(err){\r\n Swal.fire({\r\n title: 'Error',\r\n text: err.response.data.Message,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n const ModificarFuncion = async (data)=>{\r\n try{\r\n await axios.post(`${APIURL}/api/funcion/modificar`,data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha modificado la funcion exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e=>{\r\n ObtenerFunciones();\r\n });\r\n }catch(err){\r\n Swal.fire({\r\n title: 'Error',\r\n text: err.response.data.Message,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const OcultarModal = ()=>{\r\n setMostar(false);\r\n setFuncion(null);\r\n }\r\n\r\n const AbrirModificarFuncion = (Funcion)=>{\r\n setFuncion(Funcion);\r\n setMostar(true);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n REGISTRAR NUEVA FUNCION\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 Funciones;","import React from 'react';\r\nimport {Route,Switch} from 'react-router-dom';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport ContactMailIcon from '@material-ui/icons/ContactMail';\r\nimport AirplayIcon from '@material-ui/icons/Airplay';\r\nimport LanguageIcon from '@material-ui/icons/Language';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport {IsAllow} from 'components/Seguridad/Permisos';\r\nimport { Roles } from './Roles';\r\nimport { Pantallas } from './Pantallas'\r\nimport { Usuario } from './Usuario';\r\nimport Funciones from './Funciones';\r\n\r\n\r\nexport const Mantenimiento = props => {\r\n const [value, setValue] = React.useState(0);\r\n\r\n const handleChange = (event, newValue) => {\r\n setValue(newValue);\r\n };\r\n if(!IsAllow(\"/seguridad-mantenimiento\"))\r\n {\r\n props.history.push('/home');\r\n }\r\n const redirectUsuarios = () =>{\r\n props.history.push('/seguridad-mantenimiento');\r\n }\r\n\r\n const redirectRoles = ()=>{\r\n props.history.push('/seguridad-mantenimiento/roles');\r\n }\r\n\r\n const redirectFunciones = () =>{\r\n props.history.push('/seguridad-mantenimiento/funciones');\r\n }\r\n\r\n const redirectAsignacion = () => {\r\n props.history.push('/seguridad-mantenimiento/pantallas')\r\n }\r\n \r\n return (\r\n
    \r\n \r\n \r\n } label=\"Usuarios\" />\r\n } label=\"Roles\" />\r\n } label=\"Funciones\" />\r\n } label=\"Pantallas\" />\r\n \r\n \r\n
    \r\n \r\n }/>\r\n }/>\r\n }/>\r\n }/>\r\n \r\n
    \r\n
    \r\n )\r\n}","import React from 'react';\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport { MdCheckCircle,MdCancel } from \"react-icons/md\";\r\n\r\nexport const TablaRelacion = props =>{\r\n const {titulo,cabeceras,valores,accion,funcion} = props;\r\n\r\n const dataTabla = ()=>{\r\n const estilo = accion===\"agregar\"?\"success\":\"danger\";\r\n const icono = accion===\"agregar\"?:\r\n return valores.map((valor)=>[valor.Nombre,]);\r\n\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n viewColumns:false,\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado registros\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};","import React,{useState,useEffect} from 'react';\r\nimport axios from 'axios';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { TablaRelacion } from 'components/Seguridad/Relacional/TablaRelacion';\r\n\r\nexport const RolesFunciones = props => {\r\n const [rol,setRol] = useState(null);\r\n const [roles,setRoles] = useState([]);\r\n const [funcionesAsignadas,setFuncionesAsignadas] = useState([]);\r\n const [funcionesNoAsignadas,setFuncionesNoAsignadas] = useState([]);\r\n\r\n const cargarRoles = async () => {\r\n try{\r\n const request = await axios.get(`${APIURL}/api/rol/rolesactivos`);\r\n setRoles(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los roles\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarFuncionesAsignadas = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/rol/funciones/${id}`);\r\n setFuncionesAsignadas(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las funciones\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarFuncionesNoAsignadas = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/rol/funcionesnoasignadas/${id}`);\r\n setFuncionesNoAsignadas(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las funciones\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const asignarFuncion =async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/api/rol/asignarfuncion/${rol}/${id}/${localStorage.getItem('codigo')}`);\r\n cargarFunciones(rol);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las funciones\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const removerFuncion =async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/api/rol/removerfuncion/${rol}/${id}/${localStorage.getItem('codigo')}`);\r\n cargarFunciones(rol);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las funciones\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarFunciones = id =>{\r\n cargarFuncionesAsignadas(id);\r\n cargarFuncionesNoAsignadas(id);\r\n }\r\n\r\n useEffect(()=>{\r\n cargarRoles();\r\n },[]);\r\n\r\n\r\n return (\r\n
    \r\n {\r\n setRol(value);\r\n cargarFunciones(value);\r\n }}\r\n options={roles.map(rol => {\r\n return {key:rol.Id, value:rol.Id,text:rol.Nombre}\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n
    \r\n {rol===null\r\n ?

    Seleccione un rol para visualizar sus funciones

    \r\n :(\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n )\r\n\r\n}","import React,{useState,useEffect} from 'react';\r\nimport axios from 'axios';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { TablaRelacion } from 'components/Seguridad/Relacional/TablaRelacion';\r\n\r\nexport const UsuarioRoles = props => {\r\n const [usuario,setUsuario] = useState(null);\r\n const [usuarios,setUsuarios] = useState([]);\r\n const [rolesAsignados,setRolesAsignados] = useState([]);\r\n const [rolesNoAsignados,setRolesNoAsignados] = useState([]);\r\n\r\n const cargarUsuarios = async () => {\r\n try{\r\n const request = await axios.get(`${APIURL}/api/usuario/usuariosactivos`);\r\n setUsuarios(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los usuarios.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarRolesAsignados = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/usuario/roles/${id}`);\r\n setRolesAsignados(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los roles.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarRolesNoAsignados = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/usuario/rolesnoasignados/${id}`);\r\n setRolesNoAsignados(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los roles.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const asignarRol =async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/api/usuario/asignarrol/${usuario}/${id}/${localStorage.getItem('codigo')}`);\r\n cargarRoles(usuario);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las roles.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const removerRol =async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/api/usuario/removerrol/${usuario}/${id}/${localStorage.getItem('codigo')}`);\r\n cargarRoles(usuario);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los roles.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarRoles = id =>{\r\n cargarRolesAsignados(id);\r\n cargarRolesNoAsignados(id);\r\n }\r\n\r\n useEffect(()=>{\r\n cargarUsuarios();\r\n },[]);\r\n\r\n return (\r\n
    \r\n {\r\n setUsuario(value);\r\n cargarRoles(value);\r\n }}\r\n options={usuarios.map(usuario => {\r\n return {key:usuario.Id, value:usuario.Id,text:usuario.Usuario}\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n
    \r\n {usuario===null\r\n ?

    Seleccione un usuario para visualizar sus roles

    \r\n :(\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n )\r\n}","import React from 'react';\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport { MdCheckCircle,MdCancel } from \"react-icons/md\";\r\n\r\nexport const TablaFuncionesPantalla = props =>{\r\n const {titulo,cabeceras,valores,accion,funcion} = props;\r\n\r\n const dataTabla = ()=>{\r\n const estilo = accion===\"agregar\"?\"success\":\"danger\";\r\n const icono = accion===\"agregar\"?:\r\n return valores.map((valor)=>[valor.Nombre,valor.Ruta,]);\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n}","import React,{useState,useEffect} from 'react';\r\nimport axios from 'axios';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { TablaFuncionesPantalla } from 'components/Seguridad/Relacional/TablaFuncionesPantalla';\r\n\r\nexport const PantallasFunciones = (props) => {\r\n const [Funciones,setFunciones] = useState([]);\r\n const [Funcion,setFuncion] = useState(null);\r\n const [PantallasAsignadas,setPantallasAsignadas] = useState([]);\r\n const [PantallasNoAsignadas,setPantallasNoAsignadas] = useState([]); \r\n\r\n useEffect(()=>{\r\n CargarFunciones();\r\n },[]);\r\n\r\n const CargarFunciones = async () => {\r\n try\r\n {\r\n const request = await axios.get(`${APIURL}/api/Funciones`);\r\n setFunciones(request.data);\r\n }\r\n catch(err)\r\n {\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las funciones\";\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n const cargarPantallasAsignadas = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/PantallasAsignadas/${id}`);\r\n setPantallasAsignadas(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las pantallas\";\r\n \r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n \r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarPantallasNoAsignadas = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/PantallasNoAsignadas/${id}`);\r\n setPantallasNoAsignadas(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las pantallas\";\r\n \r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n \r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarPantallas = id =>{\r\n cargarPantallasAsignadas(id);\r\n cargarPantallasNoAsignadas(id);\r\n }\r\n\r\n const asignarPantalla =async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/Api/Pantalla/AsignarPantalla/${Funcion}/${id}/${localStorage.getItem('codigo')}`);\r\n cargarPantallas(Funcion);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las pantallas.\";\r\n \r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n \r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const removerFuncion =async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/api/Pantalla/RemoverPantalla/${Funcion}/${id}/${localStorage.getItem('codigo')}`);\r\n cargarPantallas(Funcion);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las pantallas\";\r\n \r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n \r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n setFuncion(value);\r\n cargarPantallas(value);\r\n }}\r\n options={Funciones.map(fun => {\r\n return {key:fun.Id, value:fun.Id,text:fun.Nombre}\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n
    \r\n {Funcion===null\r\n ?

    Seleccione una funciones para visualizar las pantallas a las que tiene acceso

    \r\n :(\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n )\r\n \r\n\r\n\r\n}","import React,{useState,useEffect} from 'react';\r\nimport axios from 'axios';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { TablaRelacion } from 'components/Seguridad/Relacional/TablaRelacion';\r\n\r\n\r\nexport const UsuariosEmpresas = (props) => {\r\n const [usuario,setUsuario] = useState(null);\r\n const [usuarios,setUsuarios] = useState([]);\r\n const [EmpresasAsignadas,setEmpresasAsignadas] = useState([]);\r\n const [EmpresasNoAsignadas,setEmpresasNoAsignadas] = useState([]);\r\n useEffect(()=>{\r\n cargarUsuarios();\r\n },[]);\r\n const cargarUsuarios = async () => {\r\n try{\r\n const request = await axios.get(`${APIURL}/api/usuario/usuariosactivos`);\r\n setUsuarios(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los usuarios.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarEmpresasAsignadas = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/empresa/EmpresasAsignadas/${id}`);\r\n setEmpresasAsignadas(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las empresas\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarEmpresasNoAsignadas = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/empresa/EmpresasNoAsignadas/${id}`);\r\n setEmpresasNoAsignadas(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las empresas\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarPantallas = id =>{\r\n cargarEmpresasAsignadas(id);\r\n cargarEmpresasNoAsignadas(id);\r\n }\r\n\r\n const asignarEmpresa =async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/Api/Empresa/AsignarEmpresa/${id}/${usuario}/${localStorage.getItem('codigo')}`);\r\n cargarPantallas(usuario);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las pantallas.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const removerEmpresa =async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/Api/Empresa/RemoverEmpresa/${id}/${usuario}/${localStorage.getItem('codigo')}`);\r\n cargarPantallas(usuario);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las pantallas\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n setUsuario(value);\r\n cargarPantallas(value);\r\n }}\r\n options={usuarios.map(usuario => {\r\n return {key:usuario.Id, value:usuario.Id,text:usuario.Usuario}\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n
    \r\n {usuario === null\r\n ?

    Seleccione un usuario para visualizar las empresas a las que tiene acceso

    \r\n :(\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n )\r\n}","import React,{useState,useEffect} from 'react';\r\nimport axios from 'axios';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { TablaRelacion } from 'components/Seguridad/Relacional/TablaRelacion';\r\n\r\nexport const UsuarioAsesor = (props) =>{\r\n const [usuario,setUsuario] = useState(null);\r\n const [usuarios,setUsuarios] = useState([]);\r\n const [AsesoresAsignados,setAsesoresAsignados] = useState([]);\r\n const [AsesoresNoAsignados,setAsesoresNoAsignados] = useState([]);\r\n\r\n useEffect(()=>{\r\n cargarUsuarios();\r\n },[]);\r\n\r\n const cargarUsuarios = async () => {\r\n try{\r\n const request = await axios.get(`${APIURL}/api/usuario/usuariosactivos`);\r\n setUsuarios(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los usuarios.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarAsesoresAsignados = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/AsesoresAsignados/${id}`);\r\n setAsesoresAsignados(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las empresas\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarAsesoresNoAsignados = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/AsesoresNoAsignados/${id}`);\r\n setAsesoresNoAsignados(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las empresas\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const asignarAsesores = async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/api/AsignarAsesores/${id}/${usuario}/${localStorage.getItem('codigo')}`);\r\n cargarPantallas(usuario);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los asesores.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n const removerAsesores =async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/api/RemoverAsesor/${id}/${usuario}/${localStorage.getItem('codigo')}`);\r\n cargarPantallas(usuario);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los asesores.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n const cargarPantallas = id =>{\r\n cargarAsesoresAsignados(id);\r\n cargarAsesoresNoAsignados(id);\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n setUsuario(value);\r\n cargarPantallas(value);\r\n }}\r\n options={usuarios.map(usuario => {\r\n return {key:usuario.Id, value:usuario.Id,text:usuario.Usuario}\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n
    \r\n {usuario === null\r\n ?

    Seleccione un usuario para visualizar los asesores a los que tiene acceso

    \r\n :(\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n )\r\n}","import React,{useState,useEffect} from 'react';\r\nimport axios from 'axios';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { TablaRelacion } from 'components/Seguridad/Relacional/TablaRelacion';\r\n\r\nexport const AsignacionLinea = (props) => {\r\n const [usuario,setUsuario] = useState(null);\r\n const [usuarios,setUsuarios] = useState([]);\r\n const [LineasAsignadas,setLineasAsignadas] = useState([]);\r\n const [LineasNoAsignadas,setLineasNoAsignadas] = useState([]);\r\n useEffect(()=>{\r\n cargarUsuarios();\r\n },[]);\r\n const cargarUsuarios = async () => {\r\n try{\r\n const request = await axios.get(`${APIURL}/api/usuario/usuariosactivos`);\r\n setUsuarios(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los usuarios.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarLineasAsignadas = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/linea/getLineasAsignadas/${id}`);\r\n console.log(request.data)\r\n setLineasAsignadas(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las empresas\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarLineasNoAsignadas = async (id)=>{\r\n try{\r\n const request = await axios.get(`${APIURL}/api/linea/getLineasNoAsignadas/${id}`);\r\n console.log(request.data)\r\n setLineasNoAsignadas(request.data);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las empresas\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarPantallas = id =>{\r\n cargarLineasAsignadas(id);\r\n cargarLineasNoAsignadas(id);\r\n }\r\n\r\n const asignarLinea =async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/api/linea/AsignarLinea/${id}/${usuario}/${localStorage.getItem('codigo')}`);\r\n cargarPantallas(usuario);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las pantallas.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const removerLinea =async (id) =>{\r\n try{\r\n await axios.post(`${APIURL}/api/linea/RemoverLinea/${id}/${usuario}/${localStorage.getItem('codigo')}`);\r\n cargarPantallas(usuario);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las pantallas\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n setUsuario(value);\r\n cargarPantallas(value);\r\n }}\r\n options={usuarios.map(usuario => {\r\n return {key:usuario.Id, value:usuario.Id,text:usuario.Usuario}\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n />\r\n
    \r\n {usuario === null\r\n ?

    Seleccione un usuario para visualizar las lineas a las que tiene acceso

    \r\n :(\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n )\r\n}","import React from 'react';\r\nimport {Route,Switch} from 'react-router-dom';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport RecentActorsIcon from '@material-ui/icons/RecentActors';\r\nimport DvrIcon from '@material-ui/icons/Dvr';\r\nimport SupervisorAccountIcon from '@material-ui/icons/SupervisorAccount';\r\nimport BusinessIcon from '@material-ui/icons/Business';\r\n\r\nimport { RolesFunciones } from './RolesFunciones';\r\nimport { UsuarioRoles } from './UsuarioRoles';\r\nimport {PantallasFunciones} from './PantallasFunciones';\r\nimport {UsuariosEmpresas} from './UsuariosEmpresas';\r\nimport {UsuarioAsesor} from './UsuarioAsesor';\r\nimport { AsignacionLinea } from '../Mantenimiento/AsignacionLinea';\r\nimport { CheckCircle } from '@material-ui/icons';\r\n\r\nexport const Relacional = props => { \r\n const [value, setValue] = React.useState(0);\r\n\r\n const handleChange = (event, newValue) => {\r\n setValue(newValue);\r\n };\r\n\r\n const redirectRolesFunciones = () =>{\r\n props.history.push('/seguridad-permisos/roles-funciones');\r\n }\r\n\r\n const redirectUsuarioRoles = () =>{\r\n props.history.push('/seguridad-permisos');\r\n }\r\n\r\n const redirectUsuarioEmpresa = () =>{\r\n props.history.push('/seguridad-permisos/Usuario-Empresa');\r\n }\r\n const redirectFuncionPantalla = () =>{\r\n props.history.push('/seguridad-permisos/Funciones-Pantallas');\r\n }\r\n const redirectUsuarioAsesor = () =>{\r\n props.history.push('/seguridad-permisos/Usuario-Asesor');\r\n }\r\n const redirectAgirnarLinea = () =>{\r\n props.history.push('/seguridad-permisos/Asignacion-Linea');\r\n }\r\n return (\r\n
    \r\n \r\n \r\n } label=\"Usuario-Empresa\" />\r\n } label=\"Usuario-Asesor\" />\r\n } label=\"Usuario-Roles\" />\r\n } label=\"Roles-Funciones\" />\r\n } label=\"Pantallas-Funciones\" />\r\n } label=\"Asignacion-Linea\" />\r\n \r\n \r\n
    \r\n \r\n }/>\r\n }/>\r\n }/>\r\n }/>\r\n }/>\r\n }/>\r\n \r\n
    \r\n
    \r\n )\r\n}","import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Stepper from '@material-ui/core/Stepper';\r\nimport Step from '@material-ui/core/Step';\r\nimport StepLabel from '@material-ui/core/StepLabel';\r\nimport StepContent from '@material-ui/core/StepContent';\r\nimport Button from '@material-ui/core/Button';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { ScaleLoader } from 'react-spinners';\r\nimport { verificarConexion } from 'utils/http';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { Paper } from '@material-ui/core';\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n },\r\n button: {\r\n marginTop: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n actionsContainer: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n resetContainer: {\r\n padding: theme.spacing(3),\r\n },\r\n}));\r\n\r\nfunction getSteps() {\r\n return ['Sincronizar Pedidos',\r\n 'Sincronizar Recibos',\r\n 'Sincronizar configuraciones',\r\n 'Modulo Cartera de Clientes',\r\n 'Sincronizar Modulo Recibo',\r\n 'Sincronizar Modulo de pedidos'\r\n ];\r\n}\r\n\r\nfunction getStepContent(step) {\r\n switch (step) {\r\n case 0:\r\n return \"Se sincronizara los pedidos que se encuentren en la bandeja de Salida\";\r\n case 1:\r\n return \"Se sincronizara los recibos que se encuestren en la bandeja de Salida\";\r\n case 2:\r\n return \"Se sincronizarĆ” configuraciones necesarias en sistema\";\r\n case 3:\r\n return \"Se carga la cartera de clientes y su informacion general\";\r\n case 4:\r\n return \"Se sincronizara listado de clientes, monedas, bancos, tipos de pagos\";\r\n case 5:\r\n return \"Se sincronizara listado de clientes, paquetes, precios, stock\";\r\n default:\r\n return 'Unknown step';\r\n }\r\n}\r\n\r\nconst VerticalLinearStepper = (props) => {\r\n const classes = useStyles();\r\n const steps = getSteps();\r\n const mostrarAdvertencia = (title, text, type) => {\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n type: type,\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n\r\n const isStepOptional = (step) => {\r\n return props.ModulosError.includes(step);\r\n };\r\n\r\n const isStepFailed = (step) => {\r\n return props.ModulosError.includes(step);\r\n };\r\n\r\n const SyncDiaria = async () => {\r\n let isOnline = await verificarConexion();\r\n if (localStorage.getItem(\"Conexion\") === \"offline\") {\r\n mostrarAdvertencia(\"Modo Offline\", \"Se encuentra en modo offline, no puede realizar sincronizaciĆ³n diaria.\", \"warning\");\r\n }\r\n else {\r\n if (!isOnline) {\r\n mostrarAdvertencia('Sin internet', 'Necesita internet para poder realizar sincronizaciĆ³n diaria.', 'warning');\r\n }\r\n else {\r\n props.CargarModuloInicial();\r\n }\r\n }\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n {props.loading ?\r\n : \"SincronizaciĆ³n Diaria\"\r\n }\r\n \r\n Verificar conexiĆ³n internet\r\n
    \r\n
    \r\n\r\n \r\n {steps.map((label, index) => {\r\n const stepProps = {};\r\n const labelProps = {};\r\n if (isStepOptional(index)) {\r\n labelProps.optional = (\r\n \r\n Ā”Ocurrio un error en la sincronizaciĆ³n!\r\n \r\n );\r\n }\r\n\r\n if (isStepFailed(index)) {\r\n labelProps.error = true;\r\n }\r\n\r\n return (\r\n \r\n

    {label}

    \r\n \r\n {getStepContent(index)}\r\n \r\n
    \r\n )\r\n })}\r\n
    \r\n {props.activeStep === steps.length && (\r\n \r\n

    0 ? \"red\" : \"green\" }}>{props.ModulosError.length > 0 ? \"Ā”Proceso de SincronizaciĆ³n ejecutado con errores!\" : \"Ā”Proceso de SincronizaciĆ³n ejecutado correctamente!\"}

    \r\n
    \r\n )}\r\n
    \r\n );\r\n}\r\n\r\nexport default VerticalLinearStepper;","import React, { useState, useEffect } from 'react';\r\nimport { APIURL, APP_VERSION } from 'utils/Enviroment';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport { get, backgroundPostPedidos, backgroundPostRecibos } from 'utils/http';\r\nimport SteperSync from 'containers/Home/SteperSync';\r\nimport { getLocalStorage } from 'utils/http';\r\nimport moment from 'moment';\r\nimport axios from 'axios';\r\nimport { FiAlertTriangle } from 'react-icons/fi';\r\nimport { verificarConexion } from 'utils/http';\r\nimport { reemplazarUrl } from 'utils/common';\r\nimport update1 from 'assets/update1.jpeg';\r\nimport update2 from 'assets/update2.jpeg';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\n\r\nexport const Home = (props) => {\r\n const dispatch = useDispatch();\r\n const [loading, setloading] = useState(false);\r\n const [mensaje, setMensaje] = useState('');\r\n const [activeStep, setActiveStep] = useState(0);\r\n const [SyncDiaria, setSyncDiaria] = useState(true);\r\n const [UsuarioOficina, setUsuarioOficina] = useState(false);\r\n const [displaySincronizacion, setDisplaySincronizacion] = useState(false);\r\n const [update, setUpdate] = useState(false);\r\n const Colecciones = useSelector(e => e.ListaPrecios);\r\n const [ModulosError, setModulosError] = useState([]);\r\n const Configuraciones = useSelector(e => e.Configuraciones);\r\n const [velocidad, setVelocidad] = useState(0);\r\n\r\n useEffect(() => {\r\n cargarConfiguracionBaseColor();\r\n localStorage.setItem(\"Operando\", \"No\");\r\n if (localStorage.getItem(\"SesionObligatorio\") === null || localStorage.getItem(\"SesionObligatorio\") === undefined) {\r\n localStorage.setItem(\"SesionObligatorio\", 1);\r\n localStorage.removeItem(\"token\")\r\n window.location.reload();\r\n }\r\n async function inicioSesion() {\r\n const permisos = await verificarUsuario();\r\n if (permisos) {\r\n let config = await cargarConfiguraciones();\r\n if (config.APP_VERSION === APP_VERSION) {\r\n if (permisos[0].UsuarioOficina) {\r\n localStorage.setItem(\"UsuarioOficina\", true);\r\n cargarConfiguracionesUsuarioOficina();\r\n dispatch({ type: 'SET_PERMISOS', payload: permisos });\r\n } else {\r\n localStorage.setItem(\"UsuarioOficina\", false);\r\n setDisplaySincronizacion(true);\r\n let data = getLocalStorage(\"ListaPrecios\");\r\n if (data === null) {\r\n dispatch({ type: 'SET_PERMISOS', payload: [] });\r\n setSyncDiaria(false);\r\n }\r\n else {\r\n CargaPermisos();\r\n }\r\n }\r\n } else {\r\n setUpdate(true);\r\n dispatch({ type: 'SET_PERMISOS', payload: [] });\r\n }\r\n }\r\n }\r\n setModulosError([])\r\n inicioSesion();\r\n\r\n const startCalculating = () => {\r\n return window.setInterval(MeasureConnectionSpeed, 5000);\r\n };\r\n\r\n const MeasureConnectionSpeed = () => {\r\n let startTime, endTime;\r\n const download = new Image();\r\n startTime = new Date().getTime();\r\n const cacheBuster = '?nnn=' + startTime;\r\n download.src = \"https://www.sammobile.com/wp-content/uploads/2019/03/keyguard_default_wallpaper_silver.png\" + cacheBuster;\r\n\r\n download.onload = function (d) {\r\n endTime = new Date().getTime();\r\n showResults(startTime, endTime);\r\n };\r\n };\r\n\r\n const showResults = (startTime, endTime) => {\r\n const duration = (endTime - startTime) / 1000;\r\n const bitsLoaded = 2550420 * 8;\r\n const speedBps = (bitsLoaded / duration).toFixed(2);\r\n const speedKbps = (speedBps / 1024).toFixed(2);\r\n const speedMbps = (speedKbps / 1024).toFixed(2);\r\n setVelocidad(speedMbps);\r\n };\r\n\r\n let intervalFun = startCalculating();\r\n\r\n return () => {\r\n window.clearInterval(intervalFun);\r\n };\r\n // eslint-disable-next-line\r\n }, [])\r\n /*---------------------------INICIO SESION ---------------------------------------------------------*/\r\n const logSession = async () => {\r\n try {\r\n const request = await axios.get(`https://ipapi.co/json`);\r\n let logSession = {\r\n Usuario: localStorage.getItem('codigo'),\r\n version_navegador: window.navigator.appVersion,\r\n IP_Publica: request.data.ip,\r\n Latitud: request.data.latitude,\r\n Longitud: request.data.longitude,\r\n Version_App: APP_VERSION\r\n }\r\n\r\n registrarLogSesion(logSession);\r\n } catch (err) {\r\n console.log(err);\r\n return null;\r\n }\r\n }\r\n\r\n\r\n const registrarLogSesion = (data) => {\r\n fetch(APIURL + \"/api/logsesion\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(data)\r\n })\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n console.log(result.Message)\r\n },\r\n )\r\n }\r\n\r\n const CargaPermisos = async () => {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n ObtenerPermisos();\r\n }\r\n }\r\n\r\n const ObtenerPermisos = async () => {\r\n fetch(`${APIURL}/api/Accesos/${localStorage.getItem('codigo')}`)\r\n .then(res => {\r\n if (res.status === 401) {\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(data => {\r\n setUsuarioOficina(data[0].UsuarioOficina)\r\n dispatch({ type: 'SET_PERMISOS', payload: data });\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n )\r\n }\r\n })\r\n }\r\n\r\n const cargarConfiguracionesUsuarioOficina = () => {\r\n setloading(true);\r\n ////Configuracion General\r\n cargarEmpresas();\r\n cargarAbreviacionMonedas();\r\n cargarClientesContado();\r\n cargarComunidadAutonoma();\r\n cargarMonedas();\r\n cargarMotivosDevolucion();\r\n\r\n ////Configuracion De Pedido\r\n cargarCorrelativoPedido();\r\n cargarMaestroLinea();\r\n cargarTiposColeccion();\r\n cargarTiposPedido();\r\n cargarEmpresasTransporte();\r\n cargarPrecioCajas();\r\n cargarImpuestoClientes();\r\n cargarImpuestoProductos();\r\n cargarMaestroBodega();\r\n /////Configuracion De Recibos\r\n cargarCorrelativoRecibo();\r\n cargarBancos();\r\n cargarTipoPago();\r\n cargarTipoVisitasOficina();\r\n }\r\n\r\n const verificarUsuario = async () => {\r\n let onLine = await verificarConexion();\r\n if (onLine) {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Accesos/${localStorage.getItem('codigo')}`);\r\n return request.data;\r\n } catch (err) {\r\n console.log(err);\r\n return null;\r\n }\r\n } else {\r\n Swal.fire({\r\n title: 'Sin Internet',\r\n text: \"Necesita internet para poder realizar esta accion.\",\r\n type: 'error',\r\n confirmButtonText: 'Ok'\r\n });\r\n //return null;\r\n }\r\n }\r\n /*----------------------------------------------------MODULOS DE SINCRONIZACION-------------------------------- */\r\n // eslint-disable-next-line\r\n const ValoresModulos = [{ Nombre: \"SincronizarPedidosPendiente\", Valor: 0 },\r\n { Nombre: \"SincronizarReciboPendiente\", Valor: 1 },\r\n { Nombre: \"SincronizarConfiguraciones\", Valor: 2 },\r\n { Nombre: \"SincronizarCartera\", Valor: 3 },\r\n { Nombre: \"SincronizarRecibo\", Valor: 4 },\r\n { Nombre: \"SincronizarPedidos\", Valor: 5 }]\r\n\r\n const CargaModuloPedidosPendientes = async () => {\r\n setMensaje('Sincronizando Pedidos');\r\n let tienePedidosPendientes = await backgroundPostPedidos();\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n localStorage.setItem(\"PedidosPendientes\", tienePedidosPendientes);\r\n CargaModuloRecibosPendientes();\r\n }\r\n\r\n const CargaModuloRecibosPendientes = async () => {\r\n setMensaje('Sincronizando Recibos');\r\n let tieneRecibosPendientes = await backgroundPostRecibos();\r\n localStorage.setItem(\"RecibosPendientes\", tieneRecibosPendientes);\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n CargarModuloConfiguraciones();\r\n }\r\n\r\n const CargarModuloConfiguraciones = () => {\r\n setloading(true);\r\n ////Documentos Pendientes\r\n //sincronizarDocumentosPendientes();\r\n\r\n ////Configuracion General\r\n ObtenerPermisos();\r\n cargarEmpresas();\r\n cargarAbreviacionMonedas();\r\n cargarClientesContado();\r\n cargarComunidadAutonoma();\r\n cargarMonedas();\r\n cargarMotivosDevolucion();\r\n\r\n ////Configuracion De Pedido\r\n cargarMaestroLinea();\r\n cargarTiposColeccion();\r\n cargarTiposPedido();\r\n cargarEmpresasTransporte();\r\n cargarPrecioCajas();\r\n cargarImpuestoClientes();\r\n cargarImpuestoProductos();\r\n cargarMaestroBodega();\r\n /////Configuracion De Recibos\r\n cargarBancos();\r\n cargarTipoPago();\r\n cargarTipoVisitas(); ///Siempre debe ser el Ultimo Metodo\r\n }\r\n\r\n const ModuloCarteracliente = () => {\r\n cargarDocumentosPendientes();\r\n CarteraClientes();\r\n }\r\n\r\n const CargaModuloRecibo = () => {\r\n cargarCorrelativoRecibo();\r\n cargarFirmaRecibo();\r\n cargarClientesRecibos();///Siempre debe ser el Ultimo Metodo\r\n }\r\n\r\n const CargaModuloPedidos = () => {\r\n cargarCorrelativoPedido();\r\n cargarClientesPedidos();///Siempre debe ser el Ultimo Metodo\r\n\r\n }\r\n\r\n /*------------------------------------------------------------------------------------------------------------------ */\r\n const cargarDocumentosPendientes = async () => {\r\n const { data, error } = await get(`${APIURL}/api/documentospendientes/facturas`, \"DocumentosPendientes\");\r\n dispatch({ type: \"SET_DOCUMENTOSPENDIENTES\", payload: data });\r\n\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarCartera\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: \"SET_DOCUMENTOSPENDIENTES\", payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-DocumentosPendientes`, moment(`${fecha} 23:59:59`));\r\n }\r\n\r\n const cargarComunidadAutonoma = async () => {\r\n setMensaje('Cargando Monedas');\r\n const { data, error } = await get(`${APIURL}/api/transporte/comunidadautonoma`, \"comunidadesAutonomas\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'SET_COMUNIDADAUTONOMA', payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-comunidadesAutonomas`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarEmpresas = async () => {\r\n\r\n setMensaje('Cargando Empresas');\r\n const { data, error } = await get(`${APIURL}/api/empresa/empresas`, \"Empresas\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'SET_EMPRESAS', payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-Empresas`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarAbreviacionMonedas = async () => {\r\n setMensaje('Cargando Monedas');\r\n const { data, error } = await get(`${APIURL}/api/moneda`, \"AbreviacionMonedas\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'SET_ABREVACIONMONEDAS', payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-AbreviacionMonedas`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarMonedas = async () => {\r\n setMensaje('Cargando Monedas');\r\n const { data, error } = await get(`${APIURL}/api/moneda/monedas`, \"MonedasGlobal\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: \"SET_MONEDASGLOBAL\", payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-MonedasGlobal`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarConfiguraciones = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/configuraciones`);\r\n dispatch({ type: \"SET_CONFIGURACIONES\", payload: request.data });\r\n return request.data;\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n\r\n const cargarTipoVisitas = async () => {\r\n setMensaje('Cargando Tipo Visitas');\r\n const { data, error } = await get(`${APIURL}/api/TipoVisitaCliente`, \"TipoVisita\");\r\n if (error) {\r\n /*console.log(error);\r\n let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]));*/\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n ModuloCarteracliente();\r\n } else {\r\n dispatch({ type: \"SET_TIPOVISITA\", payload: data });\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n ModuloCarteracliente();\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-TipoVisita`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarConfiguracionBaseColor = async () => {\r\n setMensaje('Cargando configuraciĆ³n base color');\r\n const { data, error } = await get(`${APIURL}/api/basecolorimpuesto`, \"ConfiguracionBaseColor\");\r\n if (error) {\r\n /*console.log(error);\r\n let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]));*/\r\n\r\n } else {\r\n dispatch({ type: \"SET_CONFIGURACIONBASECOLOR\", payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-ConfiguracionBaseColor`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarTipoVisitasOficina = async () => {\r\n setMensaje('Cargando Tipo Visitas');\r\n const { data, error } = await get(`${APIURL}/api/TipoVisitaCliente`, \"TipoVisita\");\r\n if (error) {\r\n console.log(error);\r\n setloading(false);\r\n } else {\r\n dispatch({ type: \"SET_TIPOVISITA\", payload: data });\r\n setloading(false);\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-TipoVisita`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarClientesContado = async () => {\r\n setMensaje('Cargando Clientes de Contado');\r\n const { data, error } = await get(`${APIURL}/api/clientecontado/${localStorage.getItem('codigo')}`, \"clientesContado\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: \"SET_CLIENTESCONTADO\", payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-clientesContado`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n /*--------- ----------------CARGA DE INFORMACION EN FLUJO DE RECIBOS --------------------------------------*/\r\n\r\n const cargarClientesRecibos = async () => {\r\n setMensaje('Cargando Clientes de Recibo');\r\n const { data, error } = await get(`${APIURL}/api/cliente/cuenta`, \"Recibo\", \"clientes\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarRecibo\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n CargaModuloPedidos();\r\n } else {\r\n dispatch({ type: 'STORE_RECIBO_CLIENTES', clientes: data });\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n CargaModuloPedidos();\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-Recibo`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarTipoPago = async () => {\r\n setMensaje('Cargando tipo de pago');\r\n const { data, error } = await get(`${APIURL}/api/tipopago`, \"TipoPagoGlobal\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: \"SET_TIPOPAGOGLOBAL\", payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-TipoPagoGlobal`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarBancos = async () => {\r\n setMensaje('Cargando Bancos');\r\n const { data, error } = await get(`${APIURL}/api/banco`, \"BancosGlobal\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: \"SET_BANCOSGLOBAL\", payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-BancosGlobal`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarCorrelativoRecibo = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/recibos/correlativo/${localStorage.getItem('empresa')}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n }\r\n });\r\n localStorage.setItem(\"CorrelativoReciboDiario\", request.data)\r\n dispatch({ type: \"SET_CORRELATIVORECIBODIARIO\", payload: request.data });\r\n }\r\n catch (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarRecibo\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n }\r\n }\r\n\r\n const cargarFirmaRecibo = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/recibos/firma/${localStorage.getItem('empresa')}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n }\r\n });\r\n localStorage.setItem(\"firmarecibo\", request.data)\r\n }\r\n catch (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarRecibo\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n }\r\n }\r\n\r\n /*--------- ----------------CARGA DE INFORMACION EN FLUJO DE PEDIDOS--------------------------------------*/\r\n const cargarCorrelativoPedido = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/PedidosXCliente/correlativo/${localStorage.getItem('empresa')}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n }\r\n });\r\n localStorage.setItem(\"CorrelativoPedidoDiario\", request.data)\r\n }\r\n catch (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarPedidos\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n }\r\n }\r\n\r\n const cargarMaestroLinea = async () => {\r\n setloading(true);\r\n setMensaje('Cargando lineas');\r\n const { data, error } = await get(`${APIURL}/api/maestrolinea`, \"MaestroLineas\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'STORE_MAESTROLINEA', maestroLineas: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-MaestroLineas`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarTiposColeccion = async () => {\r\n setMensaje('Cargando Tipos Coleccion');\r\n const { data, error } = await get(`${APIURL}/api/TiposColeccion`, \"TiposColeccion\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'STORE_TIPOS_COLECCION', TiposColeccion: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-TiposColeccion`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarTiposPedido = async () => {\r\n setMensaje('Cargando Tipos de Pedidos');\r\n const { data, error } = await get(`${APIURL}/api/tipopedido`, \"TiposPedido\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'STORE_TIPO_PEDIDO', TipoPedido: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-TiposPedido`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarEmpresasTransporte = async () => {\r\n setMensaje('Cargando Empresas Transporte');\r\n const { data, error } = await get(`${APIURL}/api/transporte/empresas`, \"EmpresaTransporteGlobal\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'SET_EMPRESASTRANSPORTEGLOBAL', payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-EmpresaTransporteGlobal`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarPrecioCajas = async () => {\r\n setMensaje('Cargando Precio Cajas');\r\n const { data, error } = await get(`${APIURL}/api/transporte/preciocaja`, \"PrecioCajasGlobal\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'SET_PRECIOCAJASGLOBAL', payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-PrecioCajasGlobal`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarImpuestoClientes = async () => {\r\n setMensaje('Cargando Impuestos Clientes');\r\n const { data, error } = await get(`${APIURL}/api/gruposimpuestos/Clientes`, \"ClienteImpuestosGlobal\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'SET_CLIENTEIMPUESTOSGLOBAL', payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-ClienteImpuestosGlobal`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarImpuestoProductos = async () => {\r\n setMensaje('Cargando Impuestos Productos')\r\n const { data, error } = await get(`${APIURL}/api/gruposimpuestos/Articulos`, \"ProductoImpuestosGlobal\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'SET_PRODUCTOIMPUESTOSGLOBAL', payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-ProductoImpuestosGlobal`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarMaestroBodega = async () => {\r\n setMensaje('Cargando Maestro de Bodega')\r\n const { data, error } = await get(`${APIURL}/api/MaestroBodegaAlmacenes`, \"MaestroBodegaGlobal\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarConfiguraciones\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'SET_BODEGAALMACENES', payload: data });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-MaestroBodegaGlobal`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarMotivosDevolucion = async () => {\r\n const { data } = await get(`${APIURL}/api/motivos/devolucion`, \"Devolucion\", \"motivosDevolucion\");\r\n dispatch({ type: \"SET_MOTIVOSDEVOLUCION\", payload: data });\r\n }\r\n\r\n const cargarClientesPedidos = async () => {\r\n setMensaje('Cargando Cliente Pedidos')\r\n const { data, error } = await get(`${APIURL}/api/cliente/pedido`, \"clientes\");\r\n if (error) {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarPedidos\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(error);*/\r\n } else {\r\n dispatch({ type: 'STORE_CLIENTES', clientes: data });\r\n cargarListaPrecios(data);\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-clientes`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const cargarListaPrecios = (clientes) => {\r\n setMensaje('Cargando Colecciones y Productos')\r\n let data = getLocalStorage(\"ListaPrecios\");\r\n\r\n if (data) {\r\n dispatch({ type: 'SET_LISTAPRECIOS', payload: data });\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n setSyncDiaria(true);\r\n setloading(false);\r\n } else {\r\n const listaPrecios = [...new Set(clientes.map(x => x.GrupoPrecio))];\r\n const paises = [...new Set(clientes.map(x => x.EmpresaId))];\r\n\r\n axios.get(APIURL + \"/api/colecciones/listaprecios\", {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n params: {\r\n ListaPrecios: listaPrecios,\r\n Paises: paises\r\n }\r\n })\r\n .then(res => {\r\n CargaImagenes(res.data);\r\n })\r\n .catch(err => {\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarPedidos\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))\r\n console.log(err)*/\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n setSyncDiaria(true);\r\n setloading(false);\r\n });\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-ListaPrecios`, moment(`${fecha} 23:59:59`))\r\n }\r\n const CargaImagenes = async (data) => {\r\n let ColeccionOriginal = Colecciones;\r\n setMensaje('Cargando imagenes')\r\n let listaPrecios = data;\r\n listaPrecios.forEach(e => {\r\n let coleccion = ColeccionOriginal.filter(c => c.CodigoColeccion === e.CodigoColeccion);\r\n e.Edades.forEach(async function (edades) {\r\n let Edades;\r\n if (coleccion !== undefined && coleccion.length > 0) {\r\n let imagenBlob = reemplazarUrl(coleccion[0].FotoPortada, Configuraciones.UrlImages, Configuraciones.UrlImagesOffline);\r\n if (imagenBlob) {\r\n coleccion[0].FotoPortada = imagenBlob;\r\n }\r\n let Edad = coleccion[0].Edades;\r\n Edades = Edad.filter(e => e.IdEdad === edades.IdEdad);\r\n }\r\n edades.ProductosXEdad.forEach(prod => {\r\n let ProductosXEdad;\r\n if (Edades !== undefined && Edades.length > 0) {\r\n ProductosXEdad = Edades[0].ProductosXEdad.filter(p => p.ProductoId === prod.ProductoId)\r\n }\r\n ///Imagenes generales del producto\r\n prod.ListaImagenes.forEach(async function (img) {\r\n let imges;\r\n if (ProductosXEdad !== undefined && ProductosXEdad.length > 0) {\r\n imges = ProductosXEdad[0].ListaImagenes.filter(i => i.IdFotografia === img.IdFotografia)\r\n }\r\n if (imges !== undefined && imges.length > 0) {\r\n if (imges[0].FotografiaProducto.includes(Configuraciones.UrlImagesOffline)) {\r\n img.FotografiaProducto = imges[0].FotografiaProducto;\r\n }\r\n else {\r\n let imagenBlob = reemplazarUrl(img.FotografiaProducto, Configuraciones.UrlImages, Configuraciones.UrlImagesOffline);\r\n if (imagenBlob) {\r\n img.FotografiaProducto = imagenBlob;\r\n }\r\n }\r\n }\r\n else {\r\n let imagenBlob = reemplazarUrl(img.FotografiaProducto, Configuraciones.UrlImages, Configuraciones.UrlImagesOffline);\r\n if (imagenBlob) {\r\n img.FotografiaProducto = imagenBlob;\r\n }\r\n }\r\n\r\n })\r\n\r\n ///Imagenes por color del producto\r\n prod.ListaColores.forEach(color => {\r\n let colores;\r\n if (ProductosXEdad !== undefined && ProductosXEdad.length > 0) {\r\n colores = ProductosXEdad[0].ListaColores.filter(i => i.CodigoColor === color.CodigoColor)\r\n }\r\n color.ListaImagenes.forEach(async function (img) {\r\n let imgColor;\r\n if (colores !== undefined && colores.length > 0) {\r\n imgColor = colores[0].ListaImagenes.filter(i => i.IdFotografia === img.IdFotografia)\r\n }\r\n if (imgColor !== undefined && imgColor.length > 0) {\r\n if (imgColor[0].FotografiaProducto.includes(Configuraciones.UrlImagesOffline)) {\r\n img.FotografiaProducto = imgColor[0].FotografiaProducto;\r\n }\r\n else {\r\n let imagenColorBlob = reemplazarUrl(img.FotografiaProducto, Configuraciones.UrlImages, Configuraciones.UrlImagesOffline);\r\n if (imagenColorBlob) {\r\n img.FotografiaProducto = imagenColorBlob;\r\n }\r\n }\r\n }\r\n else {\r\n let imagenColorBlob = reemplazarUrl(img.FotografiaProducto, Configuraciones.UrlImages, Configuraciones.UrlImagesOffline);\r\n if (imagenColorBlob) {\r\n img.FotografiaProducto = imagenColorBlob;\r\n }\r\n }\r\n })\r\n })\r\n })\r\n })\r\n })\r\n //setTimeout(() => {\r\n logSession();\r\n dispatch({ type: 'SET_LISTAPRECIOS', payload: listaPrecios });\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-ListaPrecios`, moment(`${fecha} 23:59:59`));\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n setSyncDiaria(true);\r\n setloading(false);\r\n //}, 40000)\r\n }\r\n /*const convertirBlob = async (url) => {\r\n try {\r\n const request = await axios.get(url, { responseType: 'blob' });\r\n return request.data;\r\n } catch (err) {\r\n return null;\r\n }\r\n }*/\r\n\r\n /*const convertToBase64 = async (url)=>{\r\n try{\r\n const request = await axios.get(url, { responseType: 'arraybuffer' });\r\n const nuevoString = Buffer.from(request.data, 'binary').toString('base64');\r\n return `data:image/jpg;base64,${nuevoString}`;\r\n }catch(err){\r\n return null;\r\n }\r\n }*/\r\n\r\n /*--------- ----------------CARGA DE INFORMACION EN FLUJO DE CARTERA DE CLIENTES--------------------------------------*/\r\n\r\n const CarteraClientes = async () => {\r\n\r\n if (UsuarioOficina === false) {\r\n const { data, error } = await get(`${APIURL}/api/cliente/${localStorage.getItem(\"codigo\")}`, \"Cartera\");\r\n if (error) {\r\n CargaModuloRecibo();\r\n /*let step = ValoresModulos.filter(v => v.Nombre === \"SincronizarCartera\")\r\n setModulosError((prevState) => ([...prevState, step[0].Valor]))*/\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n console.log(error);\r\n } else {\r\n localStorage.setItem(\"UltimaSyncCartera\", new Date())\r\n dispatch({ type: \"SET_CARTERA\", payload: data });\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n CargaModuloRecibo();\r\n }\r\n }\r\n\r\n let fecha = moment(new Date()).format(\"YYYY-MM-DD\");\r\n localStorage.setItem(`expiracion-Cartera`, moment(`${fecha} 23:59:59`))\r\n }\r\n\r\n const verManual = async () => {\r\n const isOnline = await verificarConexion();\r\n if (isOnline) {\r\n window.open('https://www.canva.com/design/DAGJ53R4Os0/gZy1q-yp4NpbVJVdWEp05w/view?utm_content=DAGJ53R4Os0&utm_campaign=designshare&utm_medium=link&utm_source=editor#1', '_blank');\r\n }\r\n else {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder visualizar el manĆŗal.\",\r\n type: \"error\",\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n }\r\n /*--------------------------------------------------------------------------------------------------------------------*/\r\n return (\r\n
    \r\n
    \r\n \r\n

    Ā”Bienvenido(a) {localStorage.getItem('asesor')}!

    \r\n {localStorage.getItem(\"UsuarioOficina\") === \"false\" && (\r\n Manual Eva\r\n )}\r\n

    Velocidad internet {velocidad} Mbps

    \r\n
    \r\n
    \r\n {update && (\r\n
    \r\n

    Nueva versiĆ³n disponible. Presione shift+f5 para actualizar la aplicaciĆ³n.

    \r\n
    OpciĆ³n 1
    \r\n \"update1\"\r\n
    OpciĆ³n 2
    \r\n \"update2\"\r\n
    \r\n )}\r\n {displaySincronizacion &&
    \r\n {\r\n SyncDiaria === false &&\r\n
    \r\n Ā”Necesita realizar la sincronizaciĆ³n diaria obligatoria para acceder al sistema!\r\n
    \r\n }\r\n\r\n \r\n \r\n
    }\r\n
    \r\n
    \r\n
    \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Loader from 'components/Global/Loader';\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport { Button } from \"@material-ui/core\";\r\nimport DetallePedido from 'components/ListadoPedidos/DetallePedido';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport {APIURL} from 'utils/Enviroment';\r\nimport ImprimirPedido from 'components/ListadoPedidos/ImprimirPedido';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport {IsAllow} from 'components/Seguridad/Permisos';\r\nimport axios from 'axios';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { FiAlertTriangle } from 'react-icons/fi';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport { verificarConexion } from 'utils/http';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nmoment.locale('es');\r\n\r\nexport const ListaPedidosPendientes = (props) => {\r\n const urlApi = APIURL;\r\n const dispatch = useDispatch();\r\n const [state, setState] = useState({\r\n error: false,\r\n isLoaded: false,\r\n startDate: new Date(new Date().getFullYear(), new Date().getMonth(), 1),\r\n endDate: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 1),\r\n pedidos: [],\r\n clientes: [],\r\n pedido: null,\r\n Detalles: [],\r\n });\r\n const [showDialog, setShowDialog] = useState(false);\r\n const [loading,setLoading] = useState(false);\r\n const [DialogPedido, setDialogPedido] = useState(null);\r\n\r\n useEffect(() => {\r\n if(!IsAllow(\"/lista-pedidos-pendientes\"))\r\n {\r\n props.history.push('/home');\r\n }\r\n cargarPedidos(\"1900-01-01\", \"1900-01-01\");\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n\r\n const cargarPedidos = async (FechaInicio, FechaFin) => {\r\n const isOnline = await verificarConexion();\r\n if (!isOnline || localStorage.getItem(\"Conexion\")===\"offline\") {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder visualizar esta pagina.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n });\r\n setState({...state,isLoaded:true});\r\n } else if(localStorage.getItem(\"Conexion\")===\"Online\" && isOnline){\r\n var Inicio = moment(FechaInicio).format(\"YYYY-MM-DD\");\r\n var Fin = moment(FechaFin).format(\"YYYY-MM-DD\");\r\n let Asesor = localStorage.getItem('codigo');\r\n fetch(urlApi + \"/api/PedidosXCliente/Pendientes/\"+ Asesor + \"/\" + Inicio + \"/\" + Fin, {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n\r\n }\r\n })\r\n .then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(\r\n (result) => {\r\n\r\n setState({\r\n ...state,\r\n isLoaded: true,\r\n pedidos: result\r\n });\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n setState({\r\n ...state,\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n )\r\n }\r\n })\r\n }\r\n }\r\n\r\n const sincronizarPedido = async (pedido)=>{\r\n let isOnline = await verificarConexion();\r\n if(isOnline && localStorage.getItem(\"Conexion\")===\"Online\"){\r\n try{\r\n setLoading(true);\r\n const request = await axios.post(urlApi + \"/api/PedidosXCliente/sincronizar/\"+pedido);\r\n Swal.fire({\r\n type: 'success',\r\n title: 'Sincronizado',\r\n text: request.data,\r\n });\r\n setLoading(false);\r\n cargarClientes();\r\n cargarPedidos(\"1900-01-01\", \"1900-01-01\");\r\n }catch(err){\r\n setLoading(false);\r\n let mensaje = \"Ha ocurrido un error y no se pudo sincronizar el pedido con AX.\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Error',\r\n text: mensaje,\r\n })\r\n }\r\n }else{\r\n Swal.fire({\r\n title: 'Sin Internet',\r\n text: 'Necesita internet para sincronizar el pedido',\r\n type: 'warning',\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n }\r\n\r\n\r\n const cargarClientes = async () => {\r\n try {\r\n const request = await axios.get(urlApi + \"/api/cliente/pedido\", {\r\n headers: {\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token')\r\n }\r\n });\r\n dispatch({ type: 'STORE_CLIENTES', clientes: request.data });\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error y no se actualizar la cartera de clientes\");\r\n }\r\n }\r\n\r\n const getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n })\r\n const DataPedidos = () => {\r\n let DataPedidos = [];\r\n state.pedidos.map(pedido => {\r\n\r\n\r\n //if (moment(fechaIni) < moment(pedido.FechaActual) && moment(pedido.FechaActual) < moment(fechaFin)) {\r\n let data = [\r\n pedido.PedidoId,\r\n pedido.Cliente.Nombre,\r\n moment(pedido.FechaActual).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(pedido.FechaActual).format('DD/MM/YYYY') : \"\",\r\n pedido.Linea.Linea,\r\n pedido.NombreColeccion,\r\n (pedido.BodegaEspecifica===null?\"No\":pedido.BodegaEspecifica?\"Si\":\"No\"),\r\n pedido.TotalUnidades,\r\n moment(pedido.FechaEntrega).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(pedido.FechaEntrega).format('DD/MM/YYYY') : \"\",\r\n pedido.Procesando?\"Procesando\":\"No Procesando\",\r\n pedido.ErrorAx,\r\n
    \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n ]\r\n\r\n DataPedidos.push(data);\r\n //}\r\n return false;\r\n\r\n });\r\n\r\n return DataPedidos;\r\n }\r\n\r\n const GetPedidoDetalle = async (Pedido, EsImpresion) =>{\r\n let isOnline = await verificarConexion();\r\n if (!isOnline || localStorage.getItem(\"Conexion\") === \"offline\") {\r\n Swal.fire({\r\n title: 'Sin Internet',\r\n text: 'Necesita internet para sincronizar el pedido',\r\n type: 'warning',\r\n confirmButtonText: 'Ok',\r\n })\r\n } else {\r\n let EnDetalle = EsImpresion ? null : Pedido;\r\n fetch(`${APIURL}/api/PedidoDetalle/${Pedido.PedidoId}`)\r\n .then(res => res.json())\r\n .then(data => {\r\n setState({\r\n ...state,\r\n Detalles: data,\r\n pedido: EnDetalle,\r\n });\r\n if (EsImpresion) {\r\n setShowDialog(true);\r\n }\r\n });\r\n setDialogPedido(Pedido);\r\n }\r\n }\r\n\r\n const hidePrint = () => {\r\n setShowDialog(false);\r\n setDialogPedido(null);\r\n }\r\n\r\n\r\n const RegresarListaPedidos = () => {\r\n setState({ ...state, pedido: null });\r\n }\r\n\r\n if (!state.isLoaded) {\r\n return ;\r\n }\r\n if (state.error) {\r\n return
    Error: {state.error.message}
    ;\r\n }\r\n if (state.pedido != null && state.Detalles !== null) {\r\n return (\r\n \r\n )\r\n } else {\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n Los pedidos mostrados en esta pantalla estĆ”n registrados Ćŗnicamente en la nube pero no en AX.\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n hidePrint()}\r\n scroll={'paper'}\r\n aria-labelledby=\"scroll-dialog-title\"\r\n >\r\n\r\n {\r\n DialogPedido && state.Detalles !== null &&\r\n \r\n }\r\n \r\n\r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\n\r\nconst HeadersListaPedidos = [\r\n \"No. Pedido\",\r\n \"Cliente\",\r\n \"Fecha Pedido\",\r\n \"LĆ­nea\",\r\n \"Paquete\",\r\n \"Bodega Especifica\",\r\n \"Total Unidades\",\r\n \"Fecha Entrega\",\r\n \"Procesando\",\r\n \"Ultimo mensaje de error\",\r\n {\r\n label: \"Acciones\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pĆ”gina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pĆ”gina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport Button from \"@material-ui/core/Button\";\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport DetallePedido from 'components/ListadoPedidos/DetallePedido';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport moment from \"moment\";\r\nimport { useSelector } from 'react-redux';\r\nimport 'moment/locale/es';\r\n\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\n\r\nexport const ListaPedidosFlotante = props => {\r\n const [state, setState] = useState({\r\n error: false,\r\n isLoaded: false,\r\n startDate: new Date(new Date().getFullYear(), new Date().getMonth(), 1),\r\n endDate: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 1),\r\n pedidos: [],\r\n clientes: [],\r\n pedido: null,\r\n Detalles: [],\r\n });\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [fechaInicio, setFechaInicio] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() - 30));\r\n const [fechaFin, setFechaFin] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate()));\r\n const [estado, setEstado] = useState(0);\r\n const [AsesorSelected, setAsesorSelected] = useState(null);\r\n const [todos, setTodos] = useState(false);\r\n const AsesoresUsuario = useSelector(e => e.Permisos[0].AsesoresUsuario);\r\n\r\n const cargarPedidosFlotantes = async (fechainicio, fechafin) => {\r\n try {\r\n setState({ ...state, isLoaded: true });\r\n let Inicio = moment(fechainicio).format(\"YYYY-MM-DD\");\r\n let Fin = moment(fechafin).format(\"YYYY-MM-DD\");\r\n let Asesor = AsesorSelected == null ? AsesoresUsuario[0].Usuario : AsesorSelected;\r\n let ruta = todos ? `${APIURL}/api/pedidosxcliente/flotantes/${Inicio}/${Fin}/${estado}` : `${APIURL}/api/pedidosxcliente/flotantes/${Inicio}/${Fin}/${estado}/${Asesor}`;\r\n const request = await axios.get(ruta, { headers: { 'Authorization': 'Bearer ' + localStorage.getItem('token') } });\r\n setState({\r\n ...state,\r\n isLoaded: true,\r\n pedidos: request.data\r\n });\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n const handleFechaInicio = (fecha) => {\r\n setFechaInicio(fecha);\r\n\r\n var fech = moment(fecha).add(30, 'days')\r\n setFechaFin(fech);\r\n }\r\n\r\n const handleFechaFin = (date) => {\r\n setFechaFin(date);\r\n }\r\n\r\n const obtenerDetallePedido = async (Pedido, EsImpresion) => {\r\n let EnDetalle = EsImpresion ? null : Pedido;\r\n axios.get(`${APIURL}/api/PedidoDetalle/flotante/${Pedido.Id}`)\r\n .then(data => {\r\n setState({\r\n ...state,\r\n Detalles: data.data,\r\n pedido: EnDetalle,\r\n });\r\n\r\n });\r\n }\r\n\r\n const sincronizarPedidoFlotante = async (id) => {\r\n try {\r\n setLoading(true);\r\n await axios.post(`${APIURL}/api/pedidosxcliente/flotantes/sincronizar/${id}`, {}, { headers: { 'Authorization': 'Bearer ' + localStorage.getItem('token') } });\r\n setLoading(false);\r\n cargarPedidosFlotantes(fechaInicio, fechaFin);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: 'Pedido sincronizado con exito.',\r\n type: 'success',\r\n })\r\n } catch (err) {\r\n setLoading(false);\r\n let mensaje = \"Ha ocurrido un error y no se pudo aprobar el pedido.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok'\r\n });\r\n }\r\n }\r\n\r\n const peticionSincronizarPedido = (id, correlativo) => {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: `ĀæEsta seguro de aprobar el pedido flotante ${correlativo}?`,\r\n type: 'warning',\r\n width: '600px',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then(async (result) => {\r\n if (result.value) {\r\n sincronizarPedidoFlotante(id);\r\n }\r\n })\r\n }\r\n\r\n const cancelarPedidoFlotante = async (id) => {\r\n try {\r\n await axios.post(`${APIURL}/api/pedidosxcliente/flotantes/cancelar/${id}`, {}, { headers: { 'Authorization': 'Bearer ' + localStorage.getItem('token') } });\r\n cargarPedidosFlotantes(fechaInicio, fechaFin);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: 'Pedido cancelado con exito.',\r\n type: 'success',\r\n })\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se pudo cancelar el pedido.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok'\r\n });\r\n }\r\n }\r\n\r\n const peticionCancelarPedido = (id, correlativo) => {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: `ĀæEsta seguro de cancelar el pedido flotante ${correlativo}?`,\r\n type: 'warning',\r\n width: '600px',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then(async (result) => {\r\n if (result.value) {\r\n cancelarPedidoFlotante(id);\r\n }\r\n })\r\n }\r\n\r\n const DataPedidos = () => {\r\n let DataPedidos = [];\r\n state.pedidos.map(pedido => {\r\n let data = [\r\n pedido.PedidoId,\r\n pedido.Cliente.Nombre,\r\n moment(pedido.FechaActual).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(pedido.FechaActual).format('DD/MM/YYYY') : \"\",\r\n pedido.Linea.Linea,\r\n pedido.NombreColeccion,\r\n (pedido.BodegaEspecifica === null ? \"No\" : pedido.BodegaEspecifica ? \"Si\" : \"No\"),\r\n pedido.TotalUnidades,\r\n moment(pedido.FechaEntrega).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(pedido.FechaEntrega).format('DD/MM/YYYY') : \"\",\r\n pedido.PedidoGenerado,\r\n pedido.Asesor,\r\n
    \r\n \r\n \r\n \r\n {pedido.Estado === 0 && <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n ]\r\n DataPedidos.push(data);\r\n return false;\r\n });\r\n\r\n return DataPedidos;\r\n }\r\n\r\n const RegresarListaPedidos = () => {\r\n setState({ ...state, pedido: null });\r\n }\r\n\r\n const getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n })\r\n\r\n const cancelarReinicio = e => {\r\n if (e.which === 116) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (!IsAllow(\"/lista-pedidos-flotante\")) {\r\n props.history.push('/home');\r\n }\r\n setAsesorSelected(AsesoresUsuario[0].Usuario);\r\n cargarPedidosFlotantes(\"1900-01-01\", \"1900-01-01\");\r\n\r\n window.addEventListener('keydown', cancelarReinicio);\r\n return () => {\r\n window.removeEventListener('keydown', cancelarReinicio);\r\n }\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n if (state.pedido != null && state.Detalles !== null) {\r\n return (\r\n \r\n )\r\n } else {\r\n return (\r\n
    \r\n \r\n

    Pedidos Flotante

    \r\n
    \r\n
    \r\n handleFechaInicio(date)}\r\n />\r\n\r\n
    \r\n
    \r\n handleFechaFin(date)}\r\n />\r\n
    \r\n
    \r\n {\r\n setEstado(value);\r\n }}\r\n options={[\r\n { key: 0, value: 0, text: \"Pendiente\" },\r\n { key: 1, value: 1, text: \"Aprobado\" },\r\n { key: 2, value: 2, text: \"Cancelado\" },\r\n ]}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={estado}\r\n />\r\n
    \r\n
    \r\n
    \r\n { setTodos((prev) => (!prev)) }} />\r\n \r\n
    \r\n
    \r\n
    \r\n setAsesorSelected(value)}\r\n options={AsesoresUsuario.map((Ase) => ({ key: Ase.Usuario, value: Ase.Usuario, text: Ase.Usuario }))}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={AsesorSelected}\r\n />\r\n
    \r\n
    \r\n { cargarPedidosFlotantes(fechaInicio, fechaFin) }}>Obtener\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst HeadersListaPedidos = [\r\n \"No. Pedido\",\r\n \"Cliente\",\r\n \"Fecha Pedido\",\r\n \"Lƭnea\",\r\n \"Paquete\",\r\n \"Bodega Especifica\",\r\n \"Total Unidades\",\r\n \"Fecha Entrega\",\r\n \"Pedido Generado\",\r\n \"Asesor\",\r\n {\r\n label: \"Acciones\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[15, 50, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport Loader from 'components/Global/Loader';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { Button } from \"@material-ui/core\";\r\nimport DetalleRecibo from 'components/ListadoRecibos/DetalleRecibo';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport Listado from 'components/ListadoRecibos/Listado';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\nimport axios from 'axios';\r\nimport { FiAlertTriangle } from 'react-icons/fi';\r\nimport { verificarConexion } from 'utils/http';\r\n\r\nmoment.locale('es');\r\n\r\nexport const ListaReciboPendiente = (props) => {\r\n const urlApi = APIURL;\r\n\r\n const [error, setError] = useState(false);\r\n const [isLoaded, setIsLoaded] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), 1));\r\n const [startDate, setStartDate] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), 1));\r\n const [endDate, setEndDate] = useState(new Date(new Date().getFullYear(), new Date().getMonth() + 1, 1));\r\n const [recibos, setRecibos] = useState([]);\r\n const [recibo, setRecibo] = useState(null);\r\n const [showDialog, setShowDialog] = useState(false);\r\n const [DialogRecibo, setDialogRecibo] = useState(null);\r\n const [isLoading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!IsAllow(\"/lista-recibos-pendientes\")) {\r\n props.history.push('/home');\r\n }\r\n cargarRecibos();\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const cambiarRecibo = (recibo) => {\r\n setRecibo(recibo);\r\n }\r\n\r\n const cargarRecibos = async () => {\r\n let isOnline = await verificarConexion();\r\n if (!isOnline) {\r\n Swal.fire({\r\n title: \"Sin internet\",\r\n text: \"Necesita internet para poder visualizar esta pagina.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n });\r\n setIsLoaded(true);\r\n } else {\r\n fetch(urlApi + \"/api/Recibo/Pendiente\", {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n\r\n }\r\n })\r\n .then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(\r\n (result) => {\r\n\r\n setRecibos(result);\r\n setIsLoaded(true);\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n setError(error);\r\n setIsLoaded(true);\r\n }\r\n )\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n const handleFechaInicio = (fecha) => {\r\n\r\n var date = moment(fecha).toDate();\r\n\r\n var fech = moment(fecha).toDate();\r\n fech.setMonth(date.getMonth() + 1);\r\n\r\n setStartDate(date);\r\n setEndDate(fech);\r\n }\r\n\r\n const handleFechaFin = (fecha) => {\r\n var date = moment(fecha).toDate();\r\n\r\n const diffTime = new Date(date) - new Date(startDate);\r\n\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n if (diffDays > 1) {\r\n setEndDate(date);\r\n }\r\n else {\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Ingrese Fecha VƔlida',\r\n })\r\n var fech = new Date();\r\n fech.setDate(startDate.getDate() + 6);\r\n setEndDate(fech);\r\n }\r\n }\r\n\r\n const sincronizar = async (recibo) => {\r\n let isOnline = await verificarConexion();\r\n let ruta = `${urlApi}/api/Recibo/Pendiente/${recibo.recibo}`;\r\n if (recibo.anticipo) {\r\n ruta = `${urlApi}/api/Recibo/Anticipo/Pendiente/${recibo.recibo}`;\r\n }\r\n if (isOnline && localStorage.getItem(\"Conexion\")===\"Online\") {\r\n try {\r\n setLoading(true);\r\n const request = await axios.post(ruta);\r\n setLoading(false);\r\n Swal.fire({\r\n type: 'success',\r\n title: 'Sincronizado',\r\n text: request.data,\r\n });\r\n cargarRecibos();\r\n } catch (err) {\r\n setLoading(false);\r\n let mensaje = \"Ha ocurrido un error y no se pudo sincronizar el recibo con AX.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Error',\r\n text: mensaje,\r\n })\r\n }\r\n } else {\r\n Swal.fire({\r\n title: 'Sin Internet',\r\n text: 'Necesita internet para sincronizar el recibo',\r\n type: 'warning',\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n }\r\n\r\n const DataRecibos = () => {\r\n let DataRecibos = [];\r\n\r\n if (recibos != null) {\r\n\r\n }\r\n\r\n recibos.map(recib => {\r\n\r\n let fechaIni = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate());\r\n let fechaFin = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());\r\n fechaFin.setDate(fechaFin.getDate() + 1);\r\n\r\n if (moment(fechaIni) < moment(recib.Fecha) && moment(recib.Fecha) < moment(fechaFin)) {\r\n let data =\r\n {\r\n NumeroRecibo: recib.NumeroRecibo,\r\n CodigoCliente: recib.CodigoCliente,\r\n Fecha: moment(recib.Fecha).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(recib.Fecha).format('DD/MM/YYYY') : \"\",\r\n IdTipoPago: recib.TipoPago.Descripcion,\r\n Referencia: recib.Referencia,\r\n FechaCheque: moment(recib.Fecha).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(recib.Fecha).format('DD/MM/YYYY') : \"\",\r\n IdBanco: recib.IdBanco,\r\n IdCuentaBancaria: recib.IdCuentaBancaria,\r\n Valor: recib.Valor,\r\n IdMoneda: recib.IdMoneda,\r\n Sincronizado: recib.Sincronizado ? \"Si\" : \"No\",\r\n CodigoAsesor: recib.CodigoAsesor,\r\n IdFactura: recib.IdFactura,\r\n Descuento: recib.Descuento,\r\n Acciones:\r\n
    \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n }\r\n\r\n DataRecibos.push(data);\r\n }\r\n return false;\r\n\r\n });\r\n\r\n return DataRecibos;\r\n }\r\n\r\n const hidePrint = () => {\r\n setShowDialog(false);\r\n setDialogRecibo(null);\r\n }\r\n\r\n\r\n const RegresarListaRecibos = () => {\r\n setRecibo(null);\r\n }\r\n\r\n if (!isLoaded) {\r\n return ;\r\n }\r\n if (error) {\r\n return
    Error: {error.message}
    ;\r\n }\r\n if (recibo != null) {\r\n\r\n return (\r\n \r\n )\r\n } else {\r\n return (\r\n <>\r\n
    \r\n Los recibos mostrados en esta pantalla estĆ”n registrados Ćŗnicamente en la nube pero no en AX.\r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n}\r\n\r\n\r\nconst HeadersListaRecibos = [\r\n {\r\n name: \"NumeroRecibo\",\r\n label: \"Numero Recibo\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Fecha\",\r\n label: \"Fecha\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"CodigoCliente\",\r\n label: \"Codigo Cliente\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdTipoPago\",\r\n label: \"TipoPago\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Referencia\",\r\n label: \"Referencia\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"FechaCheque\",\r\n label: \"Fecha Cheque\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdBanco\",\r\n label: \"Banco\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdCuentaBancaria\",\r\n label: \"Cuenta Bancaria\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Valor\",\r\n label: \"Valor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdMoneda\",\r\n label: \"Moneda\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Sincronizado\",\r\n label: \"Sincronizado\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"CodigoAsesor\",\r\n label: \"Codigo Asesor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdFactura\",\r\n label: \"Factura\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Descuento\",\r\n label: \"Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Acciones\",\r\n label: \"Acciones\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado recibos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};","import React, { useState, useEffect } from 'react';\r\nimport Loader from 'components/Global/Loader';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { Button } from \"@material-ui/core\";\r\nimport DetalleRecibo from 'components/ListadoRecibos/DetalleRecibo';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport Listado from 'components/ListadoRecibos/Listado';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\nimport axios from 'axios';\r\nimport { useSelector } from 'react-redux';\r\nimport { verificarConexion } from 'utils/http';\r\nmoment.locale('es');\r\n\r\nexport const ListaReciboCreditos = (props) => {\r\n const [error, setError] = useState(false);\r\n const [isLoaded, setIsLoaded] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), 1));\r\n const [startDate, setStartDate] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), 1));\r\n const [endDate, setEndDate] = useState(new Date(new Date().getFullYear(), new Date().getMonth() + 1, 1));\r\n const [recibos, setRecibos] = useState([]);\r\n const [recibo, setRecibo] = useState(null);\r\n const [showDialog, setShowDialog] = useState(false);\r\n const [DialogRecibo, setDialogRecibo] = useState(null);\r\n const [isLoading, setLoading] = useState(false);\r\n const [Asesores, setAsesores] = useState([]);\r\n const [AsesorSelected, setAsesorSelected] = useState(null);\r\n const AsesoresUsuario = useSelector(e => e.Permisos[0].AsesoresUsuario);\r\n\r\n useEffect(() => {\r\n if (!IsAllow(\"/lista-recibos-creditos\")) {\r\n props.history.push('/home');\r\n }\r\n\r\n let asesores = AsesoresUsuario.map(e => ({ key: e.Usuario, value: e.Usuario, text: e.Usuario }));\r\n setAsesores(asesores);\r\n setAsesorSelected(AsesoresUsuario[0].Usuario)\r\n\r\n cargarRecibos(\"1900-01-01\", \"1900-01-01\");\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const cambiarRecibo = (recibo) => {\r\n setRecibo(recibo);\r\n }\r\n\r\n // eslint-disable-next-line\r\n /*const cargarRecibos = async () => {\r\n fetch(APIURL + \"/api/Recibo\", {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n\r\n }\r\n })\r\n .then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(\r\n (result) => {\r\n\r\n setRecibos(result);\r\n setIsLoaded(true);\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n setError(error);\r\n setIsLoaded(true);\r\n }\r\n )\r\n }\r\n })\r\n }*/\r\n\r\n const cargarRecibos = async (FechaInicio, FechaFin) => {\r\n setLoading(true);\r\n var Inicio = moment(FechaInicio).format(\"YYYY-MM-DD\");\r\n var Fin = moment(FechaFin).format(\"YYYY-MM-DD\");\r\n let Asesor = AsesorSelected == null ? AsesoresUsuario[0].Usuario : AsesorSelected;\r\n fetch(APIURL + \"/api/Recibo/\" + Asesor + \"/\" + Inicio + \"/\" + Fin, {\r\n headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token')\r\n\r\n }\r\n }).then(res => {\r\n if (res.status === 401) {\r\n localStorage.setItem('token', '');\r\n window.location.reload();\r\n }\r\n if (res.status === 200) {\r\n res.json()\r\n .then(\r\n (result) => {\r\n setRecibos(result);\r\n setIsLoaded(true);\r\n setLoading(false);\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n setError(error);\r\n setIsLoaded(true);\r\n }\r\n )\r\n }\r\n })\r\n }\r\n\r\n const handleFechaInicio = (fecha) => {\r\n\r\n var date = moment(fecha).toDate();\r\n\r\n var fech = moment(fecha).toDate();\r\n fech.setMonth(date.getMonth() + 1);\r\n\r\n setStartDate(date);\r\n setEndDate(fech);\r\n }\r\n\r\n const handleFechaFin = (fecha) => {\r\n var date = moment(fecha).toDate();\r\n\r\n const diffTime = new Date(date) - new Date(startDate);\r\n\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n if (diffDays > 1) {\r\n setEndDate(date);\r\n }\r\n else {\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n\r\n Toast.fire({\r\n type: 'error',\r\n title: 'Ingrese Fecha VƔlida',\r\n })\r\n var fech = new Date();\r\n fech.setDate(startDate.getDate() + 6);\r\n setEndDate(fech);\r\n }\r\n }\r\n\r\n const sincronizar = async (recibo) => {\r\n let isOnline = await verificarConexion();\r\n let ruta = `${APIURL}/api/Recibo/Pendiente/${recibo.recibo}`;\r\n if (recibo.anticipo) {\r\n ruta = `${APIURL}/api/Recibo/Anticipo/Pendiente/${recibo.recibo}`;\r\n }\r\n if (isOnline) {\r\n try {\r\n setLoading(true);\r\n const request = await axios.post(ruta);\r\n setLoading(false);\r\n Swal.fire({\r\n type: 'success',\r\n title: 'Sincronizado',\r\n text: request.data,\r\n });\r\n } catch (err) {\r\n setLoading(false);\r\n let mensaje = \"Ha ocurrido un error y no se pudo sincronizar el recibo con AX.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Error',\r\n text: mensaje,\r\n })\r\n }\r\n } else {\r\n Swal.fire({\r\n title: 'Sin Internet',\r\n text: 'Necesita internet para sincronizar el recibo',\r\n type: 'warning',\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n }\r\n\r\n const DataRecibos = () => {\r\n let DataRecibos = [];\r\n\r\n recibos.filter(r => r.Asesor === AsesorSelected).forEach(recib => {\r\n\r\n let fechaIni = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate());\r\n let fechaFin = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());\r\n fechaFin.setDate(fechaFin.getDate() + 1);\r\n\r\n if (moment(fechaIni) < moment(recib.Fecha) && moment(recib.Fecha) < moment(fechaFin)) {\r\n let data =\r\n {\r\n NumeroRecibo: recib.NumeroRecibo,\r\n CodigoCliente: recib.CodigoCliente,\r\n Fecha: moment(recib.Fecha).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(recib.Fecha).format('DD/MM/YYYY') : \"\",\r\n IdTipoPago: recib.TipoPago.Descripcion,\r\n Referencia: recib.Referencia,\r\n FechaCheque: moment(recib.Fecha).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(recib.Fecha).format('DD/MM/YYYY') : \"\",\r\n IdBanco: recib.IdBanco,\r\n IdCuentaBancaria: recib.IdCuentaBancaria,\r\n Valor: recib.Valor,\r\n IdMoneda: recib.IdMoneda,\r\n Sincronizado: recib.Sincronizado ? \"Si\" : \"No\",\r\n CodigoAsesor: recib.CodigoAsesor,\r\n IdFactura: recib.IdFactura,\r\n Descuento: recib.Descuento,\r\n Acciones:\r\n
    \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n }\r\n\r\n DataRecibos.push(data);\r\n }\r\n });\r\n return DataRecibos;\r\n }\r\n\r\n const hidePrint = () => {\r\n setShowDialog(false);\r\n setDialogRecibo(null);\r\n }\r\n\r\n const handleOnChangeAsesor = (value) => {\r\n setAsesorSelected(value);\r\n }\r\n\r\n const RegresarListaRecibos = () => {\r\n setRecibo(null);\r\n }\r\n\r\n if (!isLoaded) {\r\n return ;\r\n }\r\n if (error) {\r\n return
    Error: {error.message}
    ;\r\n }\r\n if (recibo != null) {\r\n\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\r\n}\r\n\r\n\r\nconst HeadersListaRecibos = [\r\n {\r\n name: \"NumeroRecibo\",\r\n label: \"Numero Recibo\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Fecha\",\r\n label: \"Fecha\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"CodigoCliente\",\r\n label: \"Codigo Cliente\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdTipoPago\",\r\n label: \"TipoPago\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Referencia\",\r\n label: \"Referencia\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"FechaCheque\",\r\n label: \"Fecha Cheque\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdBanco\",\r\n label: \"Banco\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdCuentaBancaria\",\r\n label: \"Cuenta Bancaria\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Valor\",\r\n label: \"Valor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdMoneda\",\r\n label: \"Moneda\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Sincronizado\",\r\n label: \"Sincronizado\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"CodigoAsesor\",\r\n label: \"Codigo Asesor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdFactura\",\r\n label: \"Factura\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Descuento\",\r\n label: \"Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Acciones\",\r\n label: \"Acciones\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado recibos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};","import React, { useRef, useEffect } from 'react';\r\nimport AccountCircleRoundedIcon from '@material-ui/icons/AccountCircleRounded';\r\n\r\nexport const Cliente = (props) => {\r\n let style, styleText, styleIcon;\r\n\r\n const myRef = useRef();\r\n\r\n useEffect(() => {\r\n if (props.seleccionado && myRef.current) {\r\n\r\n if (props.seleccionado.Codigo === props.codigo) {\r\n myRef.current.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'center',\r\n });\r\n }\r\n }\r\n // eslint-disable-next-line\r\n }, [props.seleccionado]);\r\n\r\n if (props.seleccionado === undefined) {\r\n style = {\r\n cursor: 'pointer',\r\n display: 'flex',\r\n alignItems: 'center',\r\n }\r\n\r\n styleText = {\r\n fontFamily: 'Calibri',\r\n color: \"#000000\",\r\n fontWeight: \"normal\"\r\n }\r\n\r\n styleIcon = {\r\n width: 42,\r\n height: 42\r\n }\r\n\r\n } else {\r\n style = {\r\n cursor: 'pointer',\r\n backgroundColor: (props.seleccionado.Codigo === props.codigo) ? \"#243746\" : \"\",\r\n display: 'flex',\r\n alignItems: 'center',\r\n }\r\n\r\n styleText = {\r\n fontFamily: 'Calibri',\r\n color: (props.seleccionado.Codigo === props.codigo) ? \"#ffffff\" : \"#000000\",\r\n fontWeight: (props.seleccionado.Codigo === props.codigo) ? \"bold\" : \"normal\"\r\n }\r\n\r\n styleIcon = {\r\n width: 42,\r\n height: 42,\r\n color: (props.seleccionado.Codigo === props.codigo) ? \"#ffffff\" : \"#000000\",\r\n }\r\n }\r\n\r\n return (\r\n
    { props.seleccionarCliente(props.codigo) }} style={style}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    {props.nombre}
    \r\n
    {props.codigo}
    \r\n
    \r\n
    \r\n )\r\n}","import React from 'react';\r\nimport { Cliente } from './Cliente';\r\n\r\nexport const ListaClientes = props => {\r\n return (\r\n
    \r\n {props.clientes.map((cliente) => (\r\n )\r\n )}\r\n
    \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport CuentaCorrienteTable from 'containers/CuentaCorriente/CuentaCorienteTable';\r\nimport styles from \"components/Recibos/Facturas/CuotasTable.module.css\";\r\nimport moment from 'moment';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nexport const CuentaCorriente = props => {\r\n const [cuotas, setCuotas] = useState([]);\r\n const dispatch = useDispatch();\r\n\r\n const calcularCuotasCuentaCorriente = () => {\r\n let agrupacionCuentCorriente = [];\r\n let agrupacionCuentaCorriente = [];\r\n let totalSaldo = 0;\r\n let totalAPagar = 0;\r\n props.cliente.AcuerdosXTipoPedido.forEach(acuXTip => {\r\n acuXTip.Acuerdos.forEach(acu => {\r\n acu.Facturas.forEach(fact => {\r\n fact.Cuotas.filter(c => c.Saldo > 0).forEach(cuot => {\r\n let diasVencimiento = (moment().diff(cuot.FechaVencimiento, 'days') * -1) + 1;\r\n let diasDescuento = (moment().diff(cuot.FechaMaxDescuento, 'days') * -1) + 1;\r\n let aPagar = cuot.Saldo;\r\n if (diasDescuento >= 0 && cuot.Descuento && cuot.IdAcuerdoxCliente === null) {\r\n aPagar -= cuot.Descuento;\r\n }\r\n totalSaldo += cuot.Saldo;\r\n totalAPagar += aPagar;\r\n let colorFuente = fact.facturaEnTransito ? \"font-weight-bold \" + styles.InfoText : diasVencimiento < 0 ? \"text-danger font-weight-bold\" : diasVencimiento < 15 ? \"font-weight-bold \" + styles.WarnRecibo : \"\";\r\n if (localStorage.getItem('empresa') === 'IMGT') {\r\n agrupacionCuentCorriente.push({\r\n Tipo: {cuot.TipoDocumento}, // Tipo\r\n TipoPedido: {acuXTip.TipoPedido},// TipoPedido\r\n Factura: {fact.Factura},// Factura\r\n NumeroFEL: {fact.NumeroFEL},\r\n IdAcuerdoxCliente: {cuot.IdAcuerdoxCliente},// IdAcuerdoxCliente\r\n NumeroCuota: {cuot.NumeroCuota},// NumeroCuota\r\n FechaFactura: {moment(cuot.FechaFactura).format(\"DD/MM/YYYY\")},// FechaFactura\r\n FechaVencimiento: {moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\") === '01/01/1900' ? '' : moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\")},// FechaVencimiento\r\n Dias: {isNaN(diasVencimiento) ? \"\" : diasVencimiento},// Dias\r\n Valor: {cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Valor\r\n Saldo: {cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Saldo\r\n FechaMaxDescuento: {moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" && moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== '01/01/1900' ? moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") : \"\"},// FechaMaxDescuento\r\n DiasV: {isNaN(diasDescuento) ? \"\" : diasDescuento}, // DiasV\r\n Descuento: {cuot.Descuento.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Descuento\r\n APagar: {aPagar.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// APagar\r\n idmoneda: {cuot.IdMoneda},// idmoneda\r\n excepcionDescuento: {fact.ExcepcionDescuento ? \"Si\" : \"No\"}\r\n });\r\n }\r\n else {\r\n agrupacionCuentCorriente.push({\r\n Tipo: {cuot.TipoDocumento}, // Tipo\r\n TipoPedido: {acuXTip.TipoPedido},// TipoPedido\r\n Factura: {fact.Factura},// Factura\r\n IdAcuerdoxCliente: {cuot.IdAcuerdoxCliente},// IdAcuerdoxCliente\r\n NumeroCuota: {cuot.NumeroCuota},// NumeroCuota\r\n FechaFactura: {moment(cuot.FechaFactura).format(\"DD/MM/YYYY\")},// FechaFactura\r\n FechaVencimiento: {moment(cuot.FechaVencimiento).format(\"DD/MM/YYYY\")},// FechaVencimiento\r\n Dias: {isNaN(diasVencimiento) ? \"\" : diasVencimiento},// Dias\r\n Valor: {cuot.ValorCuota.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Valor\r\n Saldo: {cuot.Saldo.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Saldo\r\n FechaMaxDescuento: {moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" && moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== '01/01/1900' ? moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") : \"\"},// FechaMaxDescuento\r\n DiasV: {isNaN(diasDescuento) || moment(cuot.FechaMaxDescuento).format(\"DD/MM/YYYY\") === '01/01/1900' ? \"\" : diasDescuento}, // DiasV\r\n Descuento: {cuot.Descuento.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// Descuento\r\n APagar: {aPagar.toFixed(2).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')},// APagar\r\n idmoneda: {cuot.IdMoneda},// idmoneda\r\n excepcionDescuento: {fact.ExcepcionDescuento ? \"Si\" : \"No\"}\r\n });\r\n }\r\n });\r\n let diasVencimiento = (moment().diff(fact.FechaVencimiento, 'days') * -1) + 1;\r\n let diasDescuento = (moment().diff(fact.FechaMaxDescuento, 'days') * -1) + 1;\r\n let aPagar = fact.Saldo;\r\n if (diasDescuento >= 0 && fact.Descuento && fact.IdAcuerdoxCliente == null) {\r\n aPagar -= fact.Descuento;\r\n }\r\n if (localStorage.getItem('empresa') === 'IMGT') {\r\n agrupacionCuentaCorriente.push({\r\n Tipo: fact.Tipo, // Tipo\r\n TipoPedido: acuXTip.Tipo,// TipoPedido\r\n Factura: fact.Factura,// Factura\r\n NumeroFEL: fact.NumeroFEL,\r\n IdAcuerdoxCliente: fact.IdAcuerdoxCliente,// IdAcuerdoxCliente\r\n FechaFactura: moment(fact.FechaFactura).format(\"DD/MM/YYYY\"),// FechaFactura\r\n FechaVencimiento: moment(fact.FechaVencimiento).format(\"DD/MM/YYYY\"),// FechaVencimiento\r\n Dias: isNaN(diasVencimiento) ? \"\" : diasVencimiento,// Dias\r\n TotalFactura: fact.TotalFactura,// TotalFactura\r\n Saldo: fact.Saldo,// Saldo\r\n FechaMaxDescuento: moment(fact.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" && moment(fact.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== '01/01/1900' ? moment(fact.FechaMaxDescuento).format(\"DD/MM/YYYY\") : \"\",// FechaMaxDescuento\r\n DiasV: isNaN(diasDescuento) ? \"\" : diasDescuento, // DiasV\r\n Descuento: fact.Descuento,// Descuento\r\n APagar: aPagar,// APagar\r\n idmoneda: fact.IdMoneda,// idmoneda\r\n facturaEnTransito: fact.facturaEnTransito\r\n });\r\n }\r\n else {\r\n agrupacionCuentaCorriente.push({\r\n Tipo: fact.Tipo, // Tipo\r\n TipoPedido: acuXTip.Tipo,// TipoPedido\r\n Factura: fact.Factura,// Factur\r\n IdAcuerdoxCliente: fact.IdAcuerdoxCliente,// IdAcuerdoxCliente\r\n FechaFactura: moment(fact.FechaFactura).format(\"DD/MM/YYYY\"),// FechaFactura\r\n FechaVencimiento: moment(fact.FechaVencimiento).format(\"DD/MM/YYYY\"),// FechaVencimiento\r\n Dias: isNaN(diasVencimiento) ? \"\" : diasVencimiento,// Dias\r\n TotalFactura: fact.TotalFactura,// TotalFactura\r\n Saldo: fact.Saldo,// Saldo\r\n FechaMaxDescuento: moment(fact.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== \"Invalid date\" && moment(fact.FechaMaxDescuento).format(\"DD/MM/YYYY\") !== '01/01/1900' ? moment(fact.FechaMaxDescuento).format(\"DD/MM/YYYY\") : \"\",// FechaMaxDescuento\r\n DiasV: isNaN(diasDescuento) ? \"\" : diasDescuento, // DiasV\r\n Descuento: fact.Descuento,// Descuento\r\n APagar: aPagar,// APagar\r\n idmoneda: fact.IdMoneda,// idmoneda\r\n facturaEnTransito: fact.facturaEnTransito\r\n });\r\n }\r\n });\r\n });\r\n });\r\n agrupacionCuentCorriente.sort((a, b) => {\r\n if (moment(a.FechaVencimiento.props.children, \"DD/MM/YYYY\").isAfter(moment(b.FechaVencimiento.props.children, \"DD/MM/YYYY\"), 'day')) {\r\n return 1;\r\n }\r\n if (moment(a.FechaVencimiento.props.children, \"DD/MM/YYYY\").isBefore(moment(b.FechaVencimiento.props.children, \"DD/MM/YYYY\"), 'day')) {\r\n return -1;\r\n }\r\n if (moment(a.FechaVencimiento.props.children, \"DD/MM/YYYY\").isSame(moment(b.FechaVencimiento.props.children, \"DD/MM/YYYY\"), 'day')) {\r\n return 0;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n agrupacionCuentCorriente.sort((a, b) => {\r\n if (a.Factura.props.children < b.Factura.props.children) {\r\n\r\n return -1;\r\n }\r\n if (a.Factura.props.children > b.Factura.props.children) {\r\n\r\n return 1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n agrupacionCuentCorriente.sort((a, b) => {\r\n if (a.NumeroCuota.props.children < b.NumeroCuota.props.children) {\r\n\r\n return -1;\r\n }\r\n if (a.NumeroCuota.props.children > b.NumeroCuota.props.children) {\r\n\r\n return 1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n agrupacionCuentaCorriente.sort((a, b) => {\r\n return moment(a.FechaVencimiento).diff(b.FechaVencimiento);\r\n });\r\n\r\n agrupacionCuentaCorriente.sort((a, b) => {\r\n return a.Factura < b.Factura ? -1 : 1;\r\n });\r\n\r\n agrupacionCuentCorriente.push({\r\n Tipo:
    Totales
    ,// Tipo\r\n TipoPedido: null,// TipoPedido\r\n Factura: null,// Factura\r\n IdAcuerdoxCliente: null,// IdAcuerdoxCliente\r\n NumeroCuota: null,// NumeroCuota\r\n FechaFactura: null,// FechaFactura\r\n FechaVencimiento: null,// FechaVencimiento\r\n Dias: null,// Dias\r\n Valor: null,// Valor\r\n Saldo: (),// Saldo\r\n FechaMaxDescuento: null,// FechaMaxDescuento\r\n DiasV: null,// DiasV\r\n Descuento: null,// Descuento\r\n APagar: (),// APagar\r\n idmoneda: null,// idmoneda\r\n });\r\n\r\n setCuotas(agrupacionCuentCorriente);\r\n dispatch({ type: 'SET_CUENTAIMPRIMIR', payload: agrupacionCuentaCorriente });\r\n }\r\n\r\n useEffect(() => {\r\n if (props.cliente !== undefined) {\r\n calcularCuotasCuentaCorriente();\r\n }\r\n // eslint-disable-next-line\r\n }, [props.cliente])\r\n\r\n if (props.cliente === undefined) {\r\n return

    Seleccione un cliente

    \r\n }\r\n\r\n return \r\n}","import React from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport { useSelector } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { numberWithCommas } from 'utils/common';\r\nimport { FiAlertTriangle } from 'react-icons/fi';\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n});\r\n\r\nlet HeaderDocumentoPendientes = [\r\n {\r\n name: \"Tipo\",\r\n label: \"Tipo\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Valor\",\r\n label: \"Valor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Moneda\",\r\n label: \"Moneda\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"FechaDocumento\",\r\n label: \"Fecha Documento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"CodigoCliente\",\r\n label: \"Codigo Cliente\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Factura\",\r\n label: \"Factura\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"NumeroDocumento\",\r\n label: \"Numero Documento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Estado\",\r\n label: \"Estado\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"CreadoPor\",\r\n label: \"Creado Por\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n {\r\n name: \"ReferenciaAx\",\r\n label: \"Referencia Ax\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n {\r\n name: \"IdentificadorAx\",\r\n label: \"Identificador Ax\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado recibos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n\r\nconst styles = {\r\n center: {\r\n textAlign: 'center'\r\n }\r\n}\r\n\r\nexport const FacturasReservadas = props => {\r\n const { cliente } = props;\r\n const Pendientes = useSelector(e => e.DocumentosPendientes);\r\n\r\n const obtenerDatos = () => {\r\n return Pendientes.filter(x => x.CodigoCliente === cliente.Codigo).map(doc => {\r\n let valor, fecha;\r\n\r\n if (doc.Valor) {\r\n valor = numberWithCommas(doc.Valor);\r\n }\r\n\r\n if (doc.FechaDocumento) {\r\n fecha = moment(doc.FechaDocumento).format(\"DD/MM/YYYY\");\r\n }\r\n\r\n return {\r\n Tipo: doc.Tipo,\r\n Valor: valor,\r\n Moneda: doc.Moneda,\r\n FechaDocumento: fecha,\r\n CodigoCliente: doc.CodigoCliente,\r\n Factura: doc.Factura,\r\n NumeroDocumento: doc.NumeroDocumento,\r\n Estado: doc.Estado,\r\n CreadoPor: doc.CreadoPor,\r\n ReferenciaAx: doc.ReferenciaAx,\r\n IdentificadorAx: doc.IdentificadorAx,\r\n NumeroFel: doc.NumeroFel\r\n }\r\n });\r\n }\r\n\r\n if (!cliente) {\r\n return

    Seleccione un cliente.

    \r\n } else {\r\n const existenDocumentosPendientes = Pendientes.some(e => e.CodigoCliente === cliente.Codigo);\r\n\r\n if (!existenDocumentosPendientes) {\r\n return

    El cliente no tiene facturas reservadas.

    \r\n }\r\n\r\n if (cliente.Codigo.includes('IMGT')) {\r\n const existeCabeceraFel = HeaderDocumentoPendientes.some(x => (x.name === \"NumeroFel\"));\r\n\r\n if (!existeCabeceraFel) {\r\n HeaderDocumentoPendientes.splice(6, 0, {\r\n name: \"NumeroFel\",\r\n label: \"Numero Fel\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n })\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n {\"Estos documentos se encuentran pendientes por liberar en AX y estƔn reservando valores en facturas en la cuenta corriente de este cliente. Comunƭquese con el departamento de CrƩditos o Bodega (Devoluciones) para gestionarlos.\"}\r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n}","import React, { useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport moment from 'moment';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport { numberWithCommas } from 'utils/common';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n});\r\n\r\nconst HeaderDocumentoPendientes = [\r\n {\r\n name: \"documento\",\r\n label: \"Documento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"numero\",\r\n label: \"NĆŗmero\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"fecha\",\r\n label: \"Fecha\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"vencimiento\",\r\n label: \"Vencimiento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"valor\",\r\n label: \"Valor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"saldo\",\r\n label: \"Saldo\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"descuento\",\r\n label: \"Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"vencimientoDescuento\",\r\n label: \"Vencimiento Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"diasGracia\",\r\n label: \"DĆ­as de Gracia\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"editarDiasGracia\",\r\n label: \"Agregar DĆ­as\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n }\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pĆ”gina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado recibos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pĆ”gina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n\r\nconst styles = {\r\n center: {\r\n textAlign: 'center'\r\n }\r\n}\r\n\r\nexport const DiasGracia = (props) => {\r\n const { cliente } = props;\r\n const [facturas, setFacturas] = useState([]);\r\n const [facturaSeleccionada, setFacturaSeleccionada] = useState();\r\n const [diasfactSelec, setdiasfactSelec] = useState();\r\n const [diasFactura, setDiasFactura] = useState();\r\n const [mostrarModal, setMostrarModal] = useState(false);\r\n\r\n const obtenerdiasgracia = async () => {\r\n try {\r\n\r\n const request = await axios.get(`${APIURL}/api/factura/facturasDiasGracias/${cliente.Codigo}`);\r\n const data = request.data;\r\n const facturas = data.map(({ Tipo, FechaFactura, DiasGracia, FechaVencimiento, TotalFactura, Saldo, Descuento, Factura, FechaMaxDescuento }) => ({\r\n documento: Tipo,\r\n numero: Factura,\r\n diasGracia: DiasGracia,\r\n fecha: moment(FechaFactura).format(\"DD/MM/YYYY\"),\r\n vencimiento: moment(FechaVencimiento).format(\"DD/MM/YYYY\"),\r\n valor: numberWithCommas(TotalFactura),\r\n saldo: numberWithCommas(Saldo),\r\n descuento: numberWithCommas(Descuento),\r\n vencimientoDescuento: moment(FechaMaxDescuento).format(\"DD/MM/YYYY\"),\r\n editarDiasGracia: \r\n }));\r\n setFacturas(facturas);\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n const actualizarDias = async () => {\r\n try {\r\n await axios.put(`${APIURL}/api/factura/diasgraciafactura/${cliente.Codigo}/${facturaSeleccionada}/${diasFactura}`);\r\n setMostrarModal(false)\r\n await obtenerdiasgracia();\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (cliente !== undefined) {\r\n obtenerdiasgracia();\r\n }\r\n }, [cliente]);\r\n\r\n if (cliente === undefined) {\r\n return

    Seleccione un cliente.

    \r\n }\r\n\r\n return (\r\n
    \r\n \r\n Agregar dĆ­as de gracia a la factura: {facturaSeleccionada}\r\n \r\n
    \r\n
    \r\n setDiasFactura(e.target.value)}\r\n margin=\"normal\"\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n actualizarDias()}>\r\n Guardar\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport moment from 'moment';\r\nimport { numberWithCommas } from 'utils/common';\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n});\r\n\r\nlet HeaderDocumentoPendientes = [\r\n {\r\n name: \"NumRecibo\",\r\n label: \"NĆŗm.Recibo\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"FechaRecepcion\",\r\n label: \"Fecha RecepciĆ³n\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"NumCheque\",\r\n label: \"NĆŗm.Cheque\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Banco\",\r\n label: \"Banco\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Valor\",\r\n label: \"Valor Cheque\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"FechaVencimiento\",\r\n label: \"Fecha Vencimiento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"TipoCheque\",\r\n label: \"Tipo Cheque\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n }\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pĆ”gina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado chequesposfechados\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pĆ”gina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n\r\nconst styles = {\r\n center: {\r\n textAlign: 'center'\r\n }\r\n}\r\n\r\nexport const ChequesContabilizados = props => {\r\n const { cliente } = props;\r\n const [chequesCont, setchequesCont] = useState([]);\r\n const cheques = props.cliente;\r\n let totalSaldo = 0;\r\n\r\n useEffect(() => {\r\n if (cliente !== undefined) {\r\n obtenerDatos();\r\n }\r\n }, [cliente]);\r\n\r\n const getTotal = () => {\r\n return [\r\n {\r\n NumRecibo: null,\r\n FechaRecepcion: null,\r\n NumCheque: null,\r\n Banco: null,\r\n Valor: numberWithCommas(totalSaldo),\r\n FechaVencimiento: null,\r\n TipoCheque: null,\r\n }\r\n ]\r\n }\r\n\r\n\r\n const obtenerDatos = () => {\r\n const getCheques = cheques.chequesContabilizados.filter(x => x.CodigoCliente === cliente.Codigo).map(doc => {\r\n let colorFuente = moment(doc.FechaVencimiento).isBefore(moment(), 'day') ? \"text-danger font-weight-bold\" : \"inline-block\";\r\n return {\r\n NumRecibo: {doc.NumeroRecibo},\r\n FechaRecepcion: {moment(doc.FechaRecepcion).format(\"DD/MM/YYYY\")},\r\n NumCheque: {doc.NumeroCheque},\r\n Banco: {doc.Banco} ,\r\n Valor: {numberWithCommas(doc.ValorCheque)} ,\r\n FechaVencimiento: {moment(doc.FechaVencimiento).format(\"DD/MM/YYYY\")} ,\r\n TipoCheque: {doc.TipoCheque} ,\r\n }\r\n });\r\n\r\n totalSaldo = cheques.chequesContabilizados.map((che) => che.ValorCheque).reduce((a, b) => a + b, 0);\r\n let sumatoria = getTotal();\r\n let newlist = [...getCheques, ...sumatoria]\r\n setchequesCont(newlist);\r\n\r\n }\r\n\r\n if (!cliente) {\r\n return

    Seleccione un cliente.

    \r\n } else {\r\n const existenCheques = cheques.chequesContabilizados.some(e => e.CodigoCliente === cliente.Codigo);\r\n\r\n if (!existenCheques) {\r\n return

    El cliente no tiene cheques posfechados.

    \r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n}","import React, { useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport moment from 'moment';\r\nimport { numberWithCommas } from 'utils/common';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n});\r\n\r\nconst HeaderDocumentoPendientes = [\r\n {\r\n name: \"documento\",\r\n label: \"Documento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"numero\",\r\n label: \"Numero\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"fecha\",\r\n label: \"Fecha\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"vencimiento\",\r\n label: \"Vencimiento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"valor\",\r\n label: \"Valor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"saldo\",\r\n label: \"Saldo\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"descuento\",\r\n label: \"Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"vencimientoDescuento\",\r\n label: \"Vencimiento Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"excepcionDescuento\",\r\n label: \"Excepcion Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n }\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado recibos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n\r\nconst styles = {\r\n center: {\r\n textAlign: 'center'\r\n }\r\n}\r\n\r\nexport const ExcepcionDescuento = (props) => {\r\n const { cliente } = props;\r\n const [facturas, setFacturas] = useState([]);\r\n\r\n const obtenerFacturasDescuentoVencido = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/factura/descuentovencido/${cliente.Codigo}`);\r\n const data = request.data;\r\n const facturasDescuento = data.map(({ fecha, vencimiento, valor, saldo, excepcionDescuento, numero, descuento, vencimientoDescuento, ...rest }) => ({\r\n ...rest,\r\n numero,\r\n fecha: moment(fecha).format(\"DD/MM/YYYY\"),\r\n vencimiento: moment(vencimiento).format(\"DD/MM/YYYY\"),\r\n vencimientoDescuento: moment(vencimientoDescuento).format(\"DD/MM/YYYY\"),\r\n valor: numberWithCommas(valor),\r\n saldo: numberWithCommas(saldo),\r\n descuento: numberWithCommas(descuento),\r\n excepcionDescuento: \r\n }));\r\n\r\n setFacturas(facturasDescuento);\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n const actualizarExcepcionDescuento = async (cliente, factura) => {\r\n try {\r\n await axios.put(`${APIURL}/api/factura/excepciondescuento/${cliente}/${factura}`);\r\n await obtenerFacturasDescuentoVencido();\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (cliente !== undefined) {\r\n obtenerFacturasDescuentoVencido();\r\n }\r\n }, [cliente]);\r\n\r\n if (cliente === undefined) {\r\n return

    Seleccione un cliente.

    \r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport moment from 'moment';\r\nimport { numberWithCommas } from 'utils/common';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nconst getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n});\r\n\r\nconst HeaderDocumentoPendientes = [\r\n {\r\n name: \"documento\",\r\n label: \"Documento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"numero\",\r\n label: \"Numero\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"fecha\",\r\n label: \"Fecha\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"vencimiento\",\r\n label: \"Vencimiento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"valor\",\r\n label: \"Valor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"saldo\",\r\n label: \"Saldo\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"descuento\",\r\n label: \"Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"vencimientoDescuento\",\r\n label: \"Vencimiento Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"sinDescuento\",\r\n label: \"Remover Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n }\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado recibos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n\r\nconst styles = {\r\n center: {\r\n textAlign: 'center'\r\n }\r\n}\r\n\r\nexport const RemoverDescuento = (props) => {\r\n const { cliente } = props;\r\n const [facturas, setFacturas] = useState([]);\r\n\r\n const obtenerFacturasDescuentoActivo = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/factura/descuentoactivo/${cliente.Codigo}`);\r\n const data = request.data;\r\n const facturasDescuento = data.map(({ fecha, vencimiento, valor, saldo, sinDescuento, numero, descuento, vencimientoDescuento, ...rest }) => ({\r\n ...rest,\r\n numero,\r\n fecha: moment(fecha).format(\"DD/MM/YYYY\"),\r\n vencimiento: moment(vencimiento).format(\"DD/MM/YYYY\"),\r\n vencimientoDescuento: moment(vencimientoDescuento).format(\"DD/MM/YYYY\"),\r\n valor: numberWithCommas(valor),\r\n saldo: numberWithCommas(saldo),\r\n descuento: numberWithCommas(descuento),\r\n sinDescuento: \r\n }));\r\n\r\n setFacturas(facturasDescuento);\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n const actualizarExcepcionDescuento = async (cliente, factura) => {\r\n try {\r\n await axios.put(`${APIURL}/api/factura/removerdescuento/${cliente}/${factura}`);\r\n await obtenerFacturasDescuentoActivo();\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (cliente !== undefined) {\r\n obtenerFacturasDescuentoActivo();\r\n }\r\n }, [cliente]);\r\n\r\n if (cliente === undefined) {\r\n return

    Seleccione un cliente.

    \r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { get } from 'utils/http';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { ListaClientes } from 'components/Cartera/ListaClientes';\r\nimport { InformacionGeneral } from 'components/Cartera/InformacionGeneral';\r\nimport { CuentaCorriente } from 'components/Cartera/CuentaCorriente';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport ContactMailIcon from '@material-ui/icons/ContactMail';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport { IsAllow, PermisoExcepcionDescuento } from 'components/Seguridad/Permisos';\r\nimport CachedIcon from '@material-ui/icons/Cached';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport axios from 'axios';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport { verificarConexion } from 'utils/http';\r\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\r\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\r\nimport { FacturasReservadas } from 'components/Cartera/FacturasReservadas';\r\nimport { DiasGracia } from 'components/Cartera/DiasGracia';\r\nimport { ChequesContabilizados } from 'components/Cartera/ChequesContabilizados';\r\nimport moment from 'moment';\r\nimport { ExcepcionDescuento } from 'components/Cartera/ExcepcionDescuento';\r\nimport { RemoverDescuento } from 'components/Cartera/RemoverDescuento';\r\n\r\nexport const Cartera = props => {\r\n const dispatch = useDispatch();\r\n const clientes = useSelector(e => e.Cartera);\r\n const [value, setValue] = useState(0);\r\n const [cliente, setCliente] = useState(undefined);\r\n const [loading, setLoading] = useState(true);\r\n const [filtrados, setFiltrados] = useState([]);\r\n const AsesoresUsuario = useSelector(e => e.Permisos[0].AsesoresUsuario);\r\n const [asesor, setAsesor] = useState(AsesoresUsuario[0]);\r\n const [showClientes, setShowClientes] = useState(true);\r\n\r\n const calcularDescuentoNuevaLogica = (clienteSeleccionado) => {\r\n let cliente = { ...clienteSeleccionado };\r\n for (let AcuerdosXTipoPedido of cliente.AcuerdosXTipoPedido) {\r\n\r\n for (let Acuerdos of AcuerdosXTipoPedido.Acuerdos) {\r\n let acuerdosFacturas = Acuerdos.Facturas.filter(f => f.Descuento === 0);\r\n\r\n for (let Facturas of Acuerdos.Facturas) {\r\n Facturas.FechaVencimiento = moment(Facturas.FechaVencimiento).add(Facturas.DiasGracia, 'days');\r\n\r\n if (Facturas.SinDescuento) {\r\n Facturas.Descuento = 0;\r\n }\r\n\r\n for (let Cuotas of Facturas.Cuotas) {\r\n Cuotas.FechaVencimiento = moment(Cuotas.FechaVencimiento).add(Cuotas.DiasGracia, 'days');\r\n\r\n if (Cuotas.SinDescuento) {\r\n Cuotas.Descuento = \"0.00\";\r\n }\r\n }\r\n }\r\n\r\n let descuentoAplicadoCuotaAcuerdo = {};\r\n for (let Facturas of acuerdosFacturas) {\r\n let Descuento = cliente.MaestroDescuento.length > 0 ? cliente.MaestroDescuento[0].DescuentoDetalle.filter(d => d.Linea === Facturas.IdLinea) : [];\r\n let noAplicaDescuento = Descuento.length === 0;\r\n let porcentajeDescuento = 0;\r\n let diasDescuento = 0;\r\n\r\n if (Descuento.length !== 0) {\r\n const descuentoArreglo = Descuento.find(x => x.CodigoDescuento === Facturas.CodigoDescuento);\r\n if (descuentoArreglo !== undefined) {\r\n porcentajeDescuento = descuentoArreglo.Porcentaje;\r\n diasDescuento = descuentoArreglo.DiasDescuento;\r\n }\r\n }\r\n\r\n let totalDocumentosAplicados = 0;\r\n\r\n if (Facturas.DocumentosAplicadosAFacturas.length > 0) {\r\n totalDocumentosAplicados = Facturas.DocumentosAplicadosAFacturas.reduce((prev, curr) => prev + curr.Valor, 0);\r\n };\r\n\r\n Facturas.Descuento = noAplicaDescuento ? 0 : Facturas.TotalFactura * (porcentajeDescuento / 100);\r\n\r\n if (Facturas.SinDescuento) {\r\n Facturas.Descuento = 0;\r\n }\r\n\r\n for (let Cuotas of Facturas.Cuotas) {\r\n\r\n let valordescuento = 0;\r\n if (AcuerdosXTipoPedido.AgrupaPorCuota === true) {\r\n if (Acuerdos.DescuentoEnAcuerdos !== null) {\r\n let Flete = 0;\r\n\r\n let DocumentoCuota = cliente.DocumentosAplicadosxCuotas.find(x => x.IdAcuerdoxCliente === Acuerdos.Acuerdo && x.NumeroCuota === Cuotas.NumeroCuota);\r\n if (DocumentoCuota !== undefined) {\r\n totalDocumentosAplicados = DocumentoCuota.Valor;\r\n Flete = DocumentoCuota.Flete;\r\n }\r\n\r\n if (Acuerdos.DescuentoEnAcuerdos != null) {\r\n let consumidoCuota = Cuotas.SaldoCuota - Cuotas.DisponibleCuota;\r\n let totalfactura = consumidoCuota - totalDocumentosAplicados - Flete;\r\n valordescuento = totalfactura * (Acuerdos.DescuentoEnAcuerdos.Porcentaje / 100);\r\n }\r\n \r\n if (descuentoAplicadoCuotaAcuerdo[`${Cuotas.IdAcuerdoxCliente}-${Cuotas.NumeroCuota}`] === undefined) {\r\n Cuotas.Descuento = valordescuento.toFixed(2);\r\n descuentoAplicadoCuotaAcuerdo[`${Cuotas.IdAcuerdoxCliente}-${Cuotas.NumeroCuota}`] = true;\r\n } else {\r\n Cuotas.Descuento = \"0.00\";\r\n }\r\n }\r\n }\r\n else {\r\n let fechaMaxDescuent = noAplicaDescuento ? moment(Facturas.FechaFactura).format() : moment(Facturas.FechaFactura).add((diasDescuento + cliente.DiasTransporte), 'days').format();\r\n\r\n Facturas.FechaMaxDescuento = fechaMaxDescuent;\r\n Cuotas.FechaMaxDescuento = fechaMaxDescuent;\r\n\r\n let totalfactura = Cuotas.ValorCuota - totalDocumentosAplicados - Cuotas.Flete;\r\n let fechaActual = new Date().setHours(0, 0, 0, 0);;\r\n let diasTranscurridos = Math.abs(moment(Facturas.FechaFactura).diff(moment(fechaActual), 'days'));\r\n\r\n if (diasTranscurridos > 60 && cliente.EmpresaId === \"IMGT\") {\r\n const porcentajeDeduccion = 1.12;\r\n totalfactura = totalfactura / porcentajeDeduccion;\r\n }\r\n\r\n valordescuento = noAplicaDescuento ? 0 : totalfactura * (porcentajeDescuento / 100);\r\n Cuotas.Descuento = valordescuento.toFixed(2);\r\n Facturas.Descuento = valordescuento;\r\n\r\n if (Cuotas.SinDescuento) {\r\n Cuotas.Descuento = \"0.00\";\r\n Facturas.Descuento = 0;\r\n }\r\n }\r\n };\r\n\r\n };\r\n };\r\n };\r\n\r\n return cliente;\r\n }\r\n\r\n const handleChange = (event, newValue) => {\r\n setValue(newValue);\r\n };\r\n\r\n const cargarCartera = async (codigo) => {\r\n if (AsesoresUsuario.length === 1) {\r\n const { data, error } = await get(`${APIURL}/api/cliente/${asesor.Usuario}`, \"Cartera\");\r\n if (error) {\r\n console.log(error);\r\n setLoading(false);\r\n } else {\r\n dispatch({ type: \"SET_CARTERA\", payload: data });\r\n setFiltrados(data);\r\n setLoading(false);\r\n localStorage.setItem(\"UltimaSyncCartera\", new Date())\r\n }\r\n cargarDocumentosPendientes();\r\n }\r\n\r\n if (AsesoresUsuario.length > 1) {\r\n try {\r\n let seleccionado = asesor.Usuario;\r\n if (codigo) {\r\n seleccionado = codigo\r\n }\r\n setCliente(undefined);\r\n setLoading(true);\r\n const request = await axios.get(`${APIURL}/api/cliente/${seleccionado}`, { headers: { Authorization: `Bearer ${localStorage.getItem('token')}` } });\r\n const requestPendientes = await axios.get(`${APIURL}/api/documentospendientes/facturas`, { headers: { Authorization: `Bearer ${localStorage.getItem('token')}` } });\r\n dispatch({ type: \"SET_CARTERA\", payload: request.data });\r\n dispatch({ type: \"SET_DOCUMENTOSPENDIENTES\", payload: requestPendientes.data });\r\n setFiltrados(request.data);\r\n setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n }\r\n\r\n const cargarDocumentosPendientes = async () => {\r\n try {\r\n const { data, error } = await get(`${APIURL}/api/documentospendientes/facturas`, \"DocumentosPendientes\");\r\n dispatch({ type: \"SET_DOCUMENTOSPENDIENTES\", payload: data });\r\n console.log(error);\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n const recargarClientes = async () => {\r\n if (localStorage.getItem(\"Conexion\") === \"offline\") {\r\n Swal.fire({\r\n title: \"Modo Offline\",\r\n text: \"Se encuentra en modo offline, no puede actualizar registros.\",\r\n type: \"warning\",\r\n confirmButtonText: 'Ok',\r\n })\r\n } else {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n localStorage.removeItem('expiracion-Cartera');\r\n localStorage.removeItem('expiracion-DocumentosPendientes');\r\n setCliente(undefined);\r\n setLoading(true);\r\n cargarCartera();\r\n } else {\r\n Swal.fire({\r\n title: 'Sin Internet',\r\n text: 'Necesita internet para sincronizar la cartera',\r\n type: 'warning',\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n }\r\n }\r\n\r\n const handleRecarga = () => {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: 'ĀæDesea actualizar la informaciĆ³n en cartera de clientes?',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value) {\r\n recargarClientes();\r\n }\r\n })\r\n }\r\n\r\n const moverClientesConFlecha = (e) => {\r\n if (e.which === 38) {\r\n e.preventDefault();\r\n if (localStorage.getItem(\"indice\") !== \"null\" && localStorage.getItem(\"indice\") !== \"0\") {\r\n let index = Number(localStorage.getItem(\"indice\"));\r\n const nuevoCliente = calcularDescuentoNuevaLogica(clientes[index - 1]);\r\n setCliente(nuevoCliente);\r\n localStorage.setItem(\"indice\", (index - 1));\r\n return;\r\n }\r\n } else if (e.which === 40) {\r\n e.preventDefault();\r\n if (localStorage.getItem(\"indice\") === \"null\" && clientes.length > 0) {\r\n const nuevoCliente = calcularDescuentoNuevaLogica(clientes[0]);\r\n setCliente(nuevoCliente);\r\n localStorage.setItem(\"indice\", 0);\r\n return;\r\n } else {\r\n let index = Number(localStorage.getItem(\"indice\"));\r\n if ((index + 1) === clientes.length) {\r\n return;\r\n }\r\n if ((index + 1) <= clientes.length) {\r\n const nuevoCliente = calcularDescuentoNuevaLogica(clientes[index + 1]);\r\n setCliente(nuevoCliente);\r\n localStorage.setItem(\"indice\", (index + 1));\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (!IsAllow(\"/cartera\")) {\r\n props.history.push('/home');\r\n }\r\n cargarCartera();\r\n dispatch({ type: 'SET_CUENTAIMPRIMIR', payload: [] });\r\n localStorage.setItem(\"indice\", null);\r\n\r\n window.addEventListener('keydown', moverClientesConFlecha);\r\n return () => {\r\n window.removeEventListener('keydown', moverClientesConFlecha)\r\n localStorage.removeItem(\"indice\");\r\n }\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const seleccionarCliente = id => {\r\n let index = clientes.map(x => x.Codigo).indexOf(id);\r\n const clienteSeleccionado = clientes.find(x => x.Codigo === id);\r\n localStorage.setItem(\"indice\", index);\r\n const nuevoCliente = calcularDescuentoNuevaLogica(clienteSeleccionado);\r\n setCliente(nuevoCliente);\r\n }\r\n\r\n const redirectCartera = () => {\r\n props.history.push('/cartera');\r\n }\r\n\r\n const redirectRoles = () => {\r\n props.history.push('/cartera/cuenta');\r\n }\r\n\r\n const redirectDocumentosPendientes = () => {\r\n props.history.push('/cartera/facturas-reservadas');\r\n }\r\n\r\n const redirectChequesPosfechados = () => {\r\n props.history.push('/cartera/cheques-posfechados');\r\n }\r\n\r\n const redirectDiasGracia = () => {\r\n props.history.push('/cartera/dias-gracia');\r\n }\r\n\r\n const redirecRemoverDescuento = () => {\r\n props.history.push('/cartera/remover-descuento');\r\n }\r\n\r\n const redirectExcepcionDescuento = () => {\r\n props.history.push('/cartera/excepcion-descuento');\r\n }\r\n\r\n const handleChangeBusqueda = (busqueda) => {\r\n if (busqueda === \"\") {\r\n setFiltrados(clientes);\r\n return;\r\n }\r\n\r\n const filtradosNuevos = clientes.filter(x => x.Nombre.includes(busqueda.toUpperCase()) || x.Codigo.includes(busqueda.toUpperCase()));\r\n setFiltrados(filtradosNuevos);\r\n }\r\n\r\n const handleClickShowClientes = () => {\r\n setShowClientes(!showClientes);\r\n }\r\n\r\n return (<>\r\n {!loading && }\r\n
    \r\n {loading\r\n ? \r\n : (<>{showClientes &&
    \r\n
    \r\n { handleChangeBusqueda(e.target.value) }}\r\n style={{ width: '90%', marginBottom: '15px' }}\r\n label=\"Buscar\"\r\n InputProps={{\r\n endAdornment: (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n \r\n
    \r\n \r\n
    }\r\n
    \r\n

    Ultima SincronizaciĆ³n: {moment(localStorage.getItem(\"UltimaSyncCartera\")).format(\"DD/MM/YYYY h:mm:ss a\")}

    \r\n {AsesoresUsuario.length > 1 && {\r\n const seleccionado = AsesoresUsuario.find(x => x.Usuario === value);\r\n setAsesor(seleccionado);\r\n cargarCartera(value);\r\n }}\r\n options={AsesoresUsuario.map(asesor => {\r\n return { key: asesor.Usuario, value: asesor.Usuario, text: asesor.Usuario }\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={asesor.Usuario}\r\n />}\r\n \r\n \r\n } label=\"Informacion\" />\r\n } label=\"Cuenta Corriente\" />\r\n } label=\"Facturas Reservadas\" />\r\n } label=\"Cheques Posfechados\" />\r\n {PermisoExcepcionDescuento() && } label=\"ExcepciĆ³n Descuento\" />}\r\n {PermisoExcepcionDescuento() && } label=\"DĆ­as de gracia\" />}\r\n {PermisoExcepcionDescuento() && } label=\"Remover Descuento\" />}\r\n \r\n \r\n
    \r\n \r\n } />\r\n } />\r\n } />\r\n } />\r\n {PermisoExcepcionDescuento() && } />}\r\n {PermisoExcepcionDescuento() && } />}\r\n {PermisoExcepcionDescuento() && } />}\r\n \r\n
    \r\n
    )\r\n }\r\n
    \r\n )\r\n}","import React, { useState } from 'react';\r\nimport GoogleMapReact from 'google-map-react';\r\nimport { useSelector } from 'react-redux';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\n\r\nexport const MapaAsesor = props => {\r\n\r\n const APIKEY = useSelector(e => e.Configuraciones.ApiKey_GoogleMaps);\r\n\r\n return (\r\n \r\n {props.ubicaciones.map((ubicacion) => ())}\r\n \r\n )\r\n}\r\n\r\nconst Marker = props => {\r\n const [visible, setVisible] = useState(false);\r\n const nombreApellido = props.ubicacion.asesor.split(' ').filter(x => x !== \"\");\r\n const iniciales = nombreApellido[0].charAt(0) + nombreApellido[1].charAt(0);\r\n \r\n\r\n const handleVisibleClick = () => {\r\n setVisible(!visible);\r\n }\r\n\r\n return <>\r\n {/*\"marker\"*/}\r\n
    {iniciales}
    \r\n {visible && }\r\n \r\n}\r\n\r\nconst InfoWindow = props => {\r\n const { ultimaFecha, asesor, fechacheckout, nombrecliente, codigocliente } = props.ubicacion;\r\n return (\r\n
    \r\n

    Datos

    \r\n

    Usuario: {asesor}

    \r\n

    Ultimo Cliente Visitado: {`${codigocliente}-${nombrecliente}`}

    \r\n

    Ultima Visita: {moment(fechacheckout).format('DD/MM/YYYY hh:mm a')}

    \r\n

    Ultima ActualizaciĆ³n: {moment(ultimaFecha).format('DD/MM/YYYY hh:mm a')}

    \r\n \r\n
    \r\n )\r\n}\r\n\r\nconst styles = {\r\n infowindow: {\r\n width: 300,\r\n height: 240,\r\n background: '#fff',\r\n borderRadius: 10,\r\n padding: 5,\r\n boxShadow: '5px 5px #c1c1c1',\r\n zIndex: 99\r\n },\r\n infowindowTitle: {\r\n textAlign: 'center'\r\n },\r\n infowindowButton: {\r\n width: '100%',\r\n borderStyle: 'none',\r\n color: '#fff',\r\n background: \"#243746\",\r\n borderRadius: 10,\r\n padding: 5,\r\n fontSize: 15\r\n },\r\n markerStyle: {\r\n position: 'absolute',\r\n width: 40,\r\n height: 35,\r\n left: -40 / 2,\r\n top: -40 / 2,\r\n\r\n border: '5px solid #f44336',\r\n borderRadius: 40,\r\n backgroundColor: 'white',\r\n textAlign: 'center',\r\n color: '#3f51b5',\r\n fontSize: 16,\r\n fontWeight: 'bold',\r\n padding: 4,\r\n cursor: 'pointer',\r\n zIndex: 9\r\n }\r\n}\r\n","import React from 'react';\r\nimport AccountCircleRoundedIcon from '@material-ui/icons/AccountCircleRounded';\r\n\r\nexport const AsesorCard = (props) => {\r\n let style, styleText, styleIcon;\r\n\r\n if (props.asesorSeleccionado.length === 0) {\r\n style = {\r\n cursor: 'pointer',\r\n display: 'flex',\r\n alignItems: 'center',\r\n }\r\n\r\n styleText = {\r\n fontFamily: 'Calibri',\r\n color: \"#000000\",\r\n fontWeight: \"normal\"\r\n }\r\n\r\n styleIcon = {\r\n width: 42,\r\n height: 42\r\n }\r\n\r\n } else {\r\n style = {\r\n cursor: 'pointer',\r\n backgroundColor: (props.asesorSeleccionado.includes(props.codigo)) ? \"#243746\" : \"\",\r\n display: 'flex',\r\n alignItems: 'center',\r\n }\r\n\r\n styleText = {\r\n fontFamily: 'Calibri',\r\n color: (props.asesorSeleccionado.includes(props.codigo)) ? \"#ffffff\" : \"#000000\",\r\n fontWeight: (props.asesorSeleccionado.includes(props.codigo)) ? \"bold\" : \"normal\"\r\n }\r\n\r\n styleIcon = {\r\n width: 42,\r\n height: 42,\r\n color: (props.asesorSeleccionado.includes(props.codigo)) ? \"#ffffff\" : \"#000000\",\r\n }\r\n }\r\n\r\n return (\r\n
    { props.seleccionarAsesor(props.codigo) }} style={style}>\r\n
    \r\n \r\n
    \r\n
    \r\n
    {props.nombre}
    \r\n
    Codigo: {props.codigo.toUpperCase()}
    \r\n
    Empresa: {props.empresa.toUpperCase()}
    \r\n
    \r\n
    \r\n )\r\n}","import React from 'react';\r\nimport { AsesorCard } from './AsesorCard';\r\n\r\nexport const ListaAsesores = props => {\r\n return (\r\n
    \r\n {props.asesores.sort((a,b)=>(a.nombre.localeCompare(b.nombre))).map((asesor) => (\r\n )\r\n )}\r\n
    \r\n )\r\n}","import React, { useState, useEffect, useCallback } from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport axios from 'axios';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport { useSelector } from 'react-redux';\r\nimport { MapaAsesor } from 'components/Coordenadas/MapaAsesor';\r\nimport { ListaAsesores } from 'components/Coordenadas/ListaAsesores';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\n\r\nexport const CoordenadasAsesor = props => {\r\n const [asesores, setAsesores] = useState([]);\r\n const [asesoresFiltrados, setAsesoresFiltrados] = useState([]);\r\n const [asesoresSeleccionados, setAsesoresSeleccionados] = useState([]);\r\n const [ubicaciones, setUbicaciones] = useState([]);\r\n const [checked, setChecked] = useState(false);\r\n const EMPRESAS_ASIGNADAS = useSelector(e => e.Permisos[0].EmpresasUsuarios);\r\n\r\n const cargarAsesores = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Geoposicion/asesores`, { headers: { 'Authorization': `Bearer ${localStorage.getItem('token')}` } });\r\n setAsesores(request.data);\r\n setAsesoresFiltrados(request.data);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n\r\n const cargarUltimaLocalizacion = async () => {\r\n if (asesoresSeleccionados.length > 0) {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Geoposicion`, { headers: { 'Authorization': `Bearer ${localStorage.getItem('token')}` }, params: { asesores: asesoresSeleccionados } });\r\n setUbicaciones(request.data);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n }\r\n\r\n const cargarUltimaLocalizacionIntervalo = useCallback(async () => {\r\n if (asesoresSeleccionados.length > 0) {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Geoposicion`, { headers: { 'Authorization': `Bearer ${localStorage.getItem('token')}` }, params: { asesores: asesoresSeleccionados } });\r\n setUbicaciones(request.data);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n }, [asesoresSeleccionados])\r\n\r\n useEffect(() => {\r\n\r\n if (!IsAllow(\"/ultima-geolocalizacion-monitoreo\")) {\r\n props.history.push('/home');\r\n }\r\n\r\n cargarAsesores();\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n useEffect(() => {\r\n let intervaloUbicacion = setInterval(cargarUltimaLocalizacionIntervalo, 15000);\r\n\r\n return () => {\r\n clearInterval(intervaloUbicacion);\r\n }\r\n }, [cargarUltimaLocalizacionIntervalo]);\r\n\r\n const seleccionarAsesor = (codigo) => {\r\n if (asesoresSeleccionados.includes(codigo)) {\r\n if (asesoresSeleccionados.length === 1) {\r\n limpiarMarcadores();\r\n }\r\n setAsesoresSeleccionados(asesoresSeleccionados.filter(x => x !== codigo));\r\n setChecked(false);\r\n } else {\r\n setAsesoresSeleccionados([...asesoresSeleccionados, codigo]);\r\n }\r\n }\r\n\r\n const limpiarMarcadores = () => {\r\n setUbicaciones([]);\r\n }\r\n\r\n const handleClickTodosAsesores = () => {\r\n if (checked) {\r\n setAsesoresSeleccionados([]);\r\n limpiarMarcadores();\r\n } else {\r\n setAsesoresSeleccionados(asesoresFiltrados.map(x => x.codigo));\r\n }\r\n setChecked(!checked);\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\n {\r\n let filtrados = asesores.filter(x => x.empresa.toUpperCase() === value.toUpperCase());\r\n setAsesoresFiltrados(filtrados);\r\n }}\r\n options={EMPRESAS_ASIGNADAS.map(empresa => {\r\n return { key: empresa.EmpresaId, value: empresa.EmpresaId, text: empresa.EmpresaId }\r\n })}\r\n closeOnChange={true}\r\n\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n {ubicaciones.length === 0\r\n ?
    \r\n

    Pinear Coordenada

    \r\n
    \r\n :
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n}","import React from 'react';\r\nimport { DialogTitle, DialogContent, DialogActions, Button } from \"@material-ui/core\";\r\nimport Logo from 'assets/img/logo/LogoSinLetrasB.png';\r\nimport ReactToPrint from 'react-to-print';\r\nimport styles from \"components/ListadoPedidos/ImprimirPedido.module.css\";\r\nimport moment from \"moment\";\r\nimport {useSelector} from 'react-redux';\r\nimport 'moment/locale/es';\r\n\r\nconst ImprimirBandejaSalida = (props) => {\r\nconst Monedas = useSelector(e=>e.AbreviacionMonedas);\r\nconst clientesContado = useSelector(e=>e.clientesContado);\r\nconst empresas = useSelector(e=>e.Empresas);\r\nlet NombreCliente= props.Pedido.Nombre; //props.Pedido.Cliente.Nombre;\r\nlet DireccionCliente= props.Pedido.Direccion;\r\nconst clienteContado = clientesContado.find(x=>x.id===props.Pedido.ClienteContadoId);\r\nconst empresa = empresas.find(x=>x.COMPANY_CODE === localStorage.getItem('EmpresaCliente').toUpperCase());\r\nconst moneda = Monedas.find(e=>e.IdMoneda === props.Pedido.MonedaCliente).Abreviacion;\r\nconsole.log(props);\r\n\r\nif(clienteContado!==null && clienteContado!==undefined)\r\n{\r\n if(props.Pedido.TotalXPedido<10000)\r\n {\r\n NombreCliente = 'CONSUMIDOR FINAL';\r\n }\r\n}\r\n let NumeroPedido = props.Pedido.NumeroReferencia !== \"\" ? props.Pedido.NumeroReferencia : \"En Proceso\";\r\n let TotalUnidad = 0;\r\n let cantidad = 0;\r\n const componentRef = React.useRef();\r\n return (\r\n <>\r\n Vista Previa Pedido\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {\"Logo\"}\r\n\r\n
    \r\n

    \r\n {empresa.NAME}\r\n

    \r\n

    \r\n {empresa.FISCAL_DOCUMENT}: {empresa.NIFCIF}\r\n

    \r\n
    \r\n
    \r\n Copia\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {NombreCliente}

    \r\n

    \r\n DirecciĆ³n : {DireccionCliente}
    \r\n CĆ³digo : {props.Pedido.CodigoCliente}
    \r\n

    \r\n

    \r\n {\"Este documento ha sido generado fuera de linea.\"}\r\n

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

    Pedido {NumeroPedido}

    \r\n

    \r\n Fecha del pedido : {moment(props.Pedido.FechaActual).format('DD/MM/YYYY hh:mm a')}
    \r\n Entrega Sugerida : {moment(props.Pedido.FechaEntrega).format('DD/MM/YYYY hh:mm a')}
    \r\n Asesor: {localStorage.getItem('asesor')}
    \r\n Modo Venta: {props.Pedido.ModoVenta}
    \r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {props.Detalle.map((producto, index1) => {\r\n return (\r\n producto.Colores.map((Color, index2) => {\r\n let CantProducto = 0;\r\n let TotalProducto = 0;\r\n let cellSize = 0;\r\n return( \r\n \r\n \r\n \r\n \r\n {Color.Tallas.map((Talla, index3) => {\r\n TotalUnidad += Number(Talla.Cantidad);\r\n cantidad += Number(Talla.Cantidad);\r\n TotalProducto += Number(Talla.Cantidad * Talla.Precio);\r\n CantProducto += Number(Talla.Cantidad);\r\n cellSize = 100 / cantidad;\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\n \r\n \r\n {Color.Tallas.map((det, index4) => {\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\n
    {Talla.Talla}
    \r\n }\r\n
    CantTotal
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {producto.Codigo}\r\n
    \r\n
    {producto.NombreProducto}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\"Precio\"}\r\n
    \r\n {Color.NombreColor}\r\n
    \r\n
    \r\n {det? det.Precio : \"--\"}\r\n
    \r\n \r\n
    {CantProducto}{numberWithCommas(TotalProducto)}
    \r\n )\r\n })\r\n )\r\n })}\r\n
    \r\n
    \r\n
    \r\n {\r\n props.Pedido.Firma === null ?\r\n
    :\r\n {\"Firma\"}\r\n }\r\n\r\n
    \r\n\r\n
    \r\n \r\n Firma\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Unidades:\r\n
    \r\n
    \r\n {TotalUnidad}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Subtotal:\r\n
    \r\n\r\n
    \r\n {numberWithCommas(props.Pedido.subtotal)}\r\n
    \r\n
    \r\n\r\n {(props.Pedido.Flete>0 && props.Pedido.Flete !== null ) &&
    \r\n
    \r\n Flete:\r\n
    \r\n\r\n
    \r\n {numberWithCommas((props.Pedido.Flete))}\r\n
    \r\n
    }\r\n\r\n
    \r\n
    \r\n Impuesto:\r\n
    \r\n\r\n
    \r\n {numberWithCommas((props.Pedido.Impuesto))}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Total:\r\n
    \r\n\r\n
    \r\n {moneda}{numberWithCommas((props.Pedido.subtotal + props.Pedido.Impuesto + props.Pedido.Flete))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n }\r\n content={() => componentRef.current}\r\n />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst numberWithCommas = (x) => {\r\n x = x.toFixed(2);\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nexport default ImprimirBandejaSalida;","import React, { useState, useEffect } from 'react';\r\nimport Loader from 'components/Global/Loader';\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport { Button, Dialog } from \"@material-ui/core\";\r\nimport { PrintOutlined } from '@material-ui/icons';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport {APIURL} from 'utils/Enviroment';\r\nimport ImprimirBandejaSalida from 'components/ListadoPedidos/ImprimirBandejaSalida';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport {IsAllow} from 'components/Seguridad/Permisos';\r\nimport {useSelector,useDispatch} from 'react-redux';\r\nimport axios from 'axios';\r\nimport { FiAlertTriangle } from 'react-icons/fi';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { verificarConexion } from 'utils/http';\r\nmoment.locale('es');\r\n\r\nconst BandejaSalida = (props) => {\r\n const urlApi = APIURL;\r\n\r\n const [state, setState] = useState({\r\n error: false,\r\n isLoaded: false,\r\n pedidos: [],\r\n clientes: [],\r\n pedido: null,\r\n Detalle:[],\r\n });\r\n const [showDialog, setShowDialog] = useState(false);\r\n const [DialogPedido, setDialogPedido] = useState(null);\r\n const [loading,setLoading] = useState(false);\r\n const PedidosCache = useSelector(p=>p.PedidoSincronizar);\r\n const dispatch = useDispatch();\r\n\r\n const cancelarReinicio = e => {\r\n if (e.which === 116) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if(!IsAllow(\"/lista-pedidos-BandejaSalida\"))\r\n {\r\n props.history.push('/home');\r\n }\r\n // eslint-disable-next-line\r\n setState({\r\n ...state,\r\n isLoaded: true,\r\n pedidos: PedidosCache\r\n });\r\n\r\n window.addEventListener('keydown', cancelarReinicio);\r\n return () => {\r\n window.removeEventListener('keydown', cancelarReinicio);\r\n }\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const mostrarAdvertencia = (title,text,type)=>{\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n type: type,\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n\r\n const existeCorrelativoPrevio = correlativo => {\r\n return PedidosCache.some(pedido => correlativo > pedido.NumeroReferencia);\r\n }\r\n\r\n const Sincronizar = async (pedidoId, correlativo) => {\r\n if (existeCorrelativoPrevio(correlativo)) {\r\n mostrarAdvertencia(\"Advertencia\", \"Se deben sincronizar los pedidos en orden de correlativo.\", \"warning\");\r\n } else {\r\n let isOnline = await verificarConexion();\r\n try {\r\n if (localStorage.getItem(\"Conexion\") === \"offline\") {\r\n mostrarAdvertencia(\"Modo Offline\", \"Se encuentra en modo offline, no puede actualizar registros.\", \"warning\");\r\n } else {\r\n if (!isOnline) {\r\n mostrarAdvertencia('Sin internet', 'Necesita internet para poder actualizar los registros.', 'warning');\r\n } else {\r\n setLoading(true);\r\n localStorage.setItem(\"Operando\",\"Si\");\r\n const pedido = PedidosCache.find(x => x.PedidoId === pedidoId);\r\n const request = await axios.post(urlApi + '/api/PedidosXCliente', pedido, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token'),\r\n 'Content-Type': 'application/json'\r\n },\r\n });\r\n\r\n if (request.data) {\r\n localStorage.setItem(\"Operando\", \"No\");\r\n const nuevosPedidos = PedidosCache.filter(x => x.PedidoId !== pedidoId);\r\n dispatch({ type: \"SET_RESETPEDIDOSINCRONIZAR\", payload: nuevosPedidos });\r\n setState((prevState) => ({ ...prevState, pedidos: nuevosPedidos }));\r\n\r\n if (request.data.mensaje.includes(\"flotante\")) {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: request.data.mensaje,\r\n });\r\n } else {\r\n Swal.fire({\r\n type: 'success',\r\n title: 'Sincronizado',\r\n text: \"Pedido sincronizado correctamente\",\r\n });\r\n }\r\n }\r\n setLoading(false);\r\n localStorage.setItem(\"Operando\",\"No\");\r\n }\r\n }\r\n }\r\n catch (err) {\r\n localStorage.setItem(\"Operando\",\"No\");\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado el pedido.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n setLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n })\r\n const DataPedidos = () => {\r\n let DataPedidos = [];\r\n state.pedidos.map(pedido => {\r\n let data = [\r\n pedido.NumeroReferencia !== \"\" ? pedido.NumeroReferencia : \"En Proceso\",\r\n pedido.CodigoCliente,\r\n moment(pedido.FechaActual).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(pedido.FechaActual).format('DD/MM/YYYY') : \"\",\r\n \"No\",\r\n \"En Proceso\",\r\n pedido.Linea,\r\n pedido.CodigoColeccion,\r\n pedido.TipoPedido.TipoPedido, //Credito\r\n \"En Cache\", //Estado\r\n moment(pedido.FechaEntrega).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(pedido.FechaEntrega).format('DD/MM/YYYY') : \"\",\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n ]\r\n\r\n DataPedidos.push(data);\r\n //}\r\n return false;\r\n\r\n });\r\n\r\n return DataPedidos;\r\n }\r\n\r\n const hidePrint = () => {\r\n setShowDialog(false);\r\n setDialogPedido(null);\r\n }\r\n // eslint-disable-next-line\r\n let Productos = [];\r\n const ImpresionPedido = (Pedido) => {\r\n // eslint-disable-next-line\r\n Pedido.DetallePedido.map((producto, index1) => {\r\n let agregado = false;\r\n if(Productos.length> 0){\r\n Productos.forEach((productoUnico, index2) => {\r\n if(productoUnico.Codigo === producto.CodigoProducto)\r\n {\r\n productoUnico.Colores.forEach((colores, index3) => {\r\n let color = productoUnico.Colores.filter(c => c.CodigoColor === producto.CodigoColor);\r\n if(color.length > 0 && colores.CodigoColor === producto.CodigoColor)\r\n {\r\n colores.Tallas.push({Talla : producto.Talla, Cantidad : producto.Cantidad, Precio : producto.PrecioUnitario});\r\n agregado = true;\r\n }\r\n else if(color.length <= 0)\r\n {\r\n let nuevoColor = {\r\n CodigoColor: producto.CodigoColor,\r\n NombreColor: producto.NombreColor,\r\n Tallas: [{\r\n Talla : producto.Talla,\r\n Cantidad : producto.Cantidad,\r\n Precio : producto.PrecioUnitario\r\n }]\r\n };\r\n productoUnico.Colores.push(nuevoColor);\r\n agregado = true;\r\n }\r\n });\r\n }\r\n \r\n });\r\n }\r\n \r\n\r\n if(!agregado)\r\n {\r\n let Producto = {\r\n Codigo : producto.CodigoProducto,\r\n NombreProducto : producto.NombreProducto,\r\n Colores : [{\r\n CodigoColor: producto.CodigoColor,\r\n NombreColor: producto.NombreColor,\r\n Tallas: [{\r\n Talla : producto.Talla,\r\n Cantidad : producto.Cantidad,\r\n Precio : producto.PrecioUnitario\r\n }],\r\n }]\r\n };\r\n Productos.push(Producto)\r\n }\r\n });\r\n\r\n setState({\r\n ...state,\r\n Detalles: Productos,\r\n });\r\n setDialogPedido(Pedido);\r\n setShowDialog(true);\r\n }\r\n if (!state.isLoaded) {\r\n return ;\r\n }\r\n if (state.error) {\r\n return
    Error: {state.error.message}
    ;\r\n }\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n Sincronizando\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n Los pedidos mostrados en esta pantalla estĆ”n registrados Ćŗnicamente en su dispositivo.\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n hidePrint()}\r\n scroll={'paper'}\r\n aria-labelledby=\"scroll-dialog-title\"\r\n >\r\n {\r\n DialogPedido &&\r\n \r\n }\r\n \r\n\r\n
    \r\n );\r\n}\r\n\r\n\r\nconst HeadersListaPedidos = [\r\n \"No. Pedido\",\r\n \"Cliente\",\r\n \"Fecha Pedido\",\r\n \"Sincronizado\",\r\n \"Num. Pedido Ax\",\r\n \"Lƭnea\",\r\n \"Paquete\",\r\n 'Tipo CrƩdito',\r\n \"Estado\",\r\n \"Fecha Entrega\",\r\n {\r\n label: \"Acciones\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n\r\n\r\nexport default BandejaSalida;\r\n","import React, { useState } from 'react';\r\nimport { DialogActions, DialogContent, DialogTitle, Button } from '@material-ui/core';\r\nimport ReactToPrint from 'react-to-print';\r\nimport Logo from 'assets/img/logo/LogoSinLetrasB.png';\r\nimport styles from \"components/ListadoRecibos/Recibo.module.css\";\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { ObtenerCoordenadas } from 'utils/common';\r\n\r\nconst ImpresionBandejaSalida = (props) => {\r\n const [numeroCopia, setNumeroCopia] = useState(props.recibo.LogImpresion.length);\r\n const Monedas = useSelector(e => e.AbreviacionMonedas);\r\n const empresas = useSelector(e => e.Empresas);\r\n let NombreCliente = props.recibo.NombreCliente;\r\n let DireccionCliente = props.recibo.Direccion;\r\n const empresaCliente = props.recibo.CodigoCliente.split(\"-\")[0];\r\n const empresa = empresas.find(x => x.COMPANY_CODE === empresaCliente.toUpperCase());\r\n const moneda = Monedas.find(e => e.IdMoneda === props.recibo.Pagos[0].IdMoneda).Abreviacion;\r\n const RecibosEnCache = useSelector(e => e.RecibosEnCache);\r\n const dispatch = useDispatch();\r\n\r\n const componentRef = React.useRef();\r\n\r\n const RegistrarLogs = () => {\r\n ObtenerCoordenadas((position) => {\r\n let logRecibo = {\r\n numRecibo: props.recibo.NumeroRecibo,\r\n Usuario: localStorage.getItem(\"codigo\"),\r\n Fecha: new Date(),\r\n Latitude: position.coords.latitude,\r\n Longitude: position.coords.longitude\r\n };\r\n postLogRecibos(logRecibo);\r\n }, (error) => {\r\n let logRecibo = {\r\n numRecibo: props.recibo.NumeroRecibo,\r\n Usuario: localStorage.getItem(\"codigo\"),\r\n Fecha: new Date(),\r\n Latitude: null,\r\n Longitude: null\r\n };\r\n postLogRecibos(logRecibo);\r\n });\r\n }\r\n\r\n const postLogRecibos = (data) => {\r\n let copiaEstado = RecibosEnCache;\r\n let indice = copiaEstado.map(x => x.CodigoUltimoRecibo).indexOf(data.numRecibo);\r\n copiaEstado[indice].LogImpresion = [...copiaEstado[indice].LogImpresion, data];\r\n dispatch({ type: \"SET_RECIBOSENCACHELOG\", payload: copiaEstado });\r\n setNumeroCopia((prev) => (prev + 1));\r\n props.hidePrint();\r\n }\r\n\r\n return (\r\n <>\r\n Vista Previa Recibo\r\n \r\n
    \r\n {props.recibo.NumeroRecibo}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\"Logo\"}\r\n
    \r\n
    \r\n

    \r\n {empresa.NAME}\r\n

    \r\n

    Copia

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

    \r\n {empresa.FISCAL_DOCUMENT}: {empresa.NIFCIF}\r\n

    \r\n {/*
    ImpresiĆ³n No. {numeroCopia + 1}
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {props.recibo.CodigoCliente}\r\n

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

    \r\n {\"No.\" + props.recibo.NumeroRecibo}\r\n

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

    \r\n {NombreCliente}\r\n

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

    \r\n {DireccionCliente}\r\n

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

    \r\n\r\n Fecha: {moment(props.recibo.Fecha).format('DD/MM/YYYY hh:mm a')}\r\n

    \r\n
    \r\n
    \r\n \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.recibo.Pagos.map((pag, index) => (\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 Pago\r\n \r\n Esp. Pago\r\n \r\n Fecha\r\n \r\n Referencia\r\n \r\n Banco\r\n \r\n Monto\r\n
    \r\n {pag.TipoPago}\r\n \r\n {pag.EspecificacionPago}\r\n \r\n {moment(props.recibo.Fecha).format(\"DD/MM/YYYY\")}\r\n \r\n {pag.Referencia}\r\n \r\n {pag.Banco}\r\n \r\n {numberWithCommas(pag.Monto)}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \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.recibo.Facturas.map((factu, index) => {\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\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
    \r\n Documento\r\n \r\n Fecha\r\n \r\n\r\n \r\n\r\n \r\n Parcial\r\n \r\n Aplicado\r\n
    \r\n {factu.TipoDocumento}\r\n \r\n {moment(factu.Fecha).format(\"DD/MM/YYYY\")}\r\n \r\n {factu.EsAbono === true && \"Abono\"}\r\n {factu.EsAbono === false && \"Cancelado\"}\r\n \r\n\r\n \r\n {numberWithCommas(factu.Parcial)}\r\n \r\n\r\n
    \r\n {factu.IdFactura}\r\n {factu.NumeroFEL !== \"\" && factu.NumeroFEL !== null &&\r\n \" - FEL: \" + factu.NumeroFEL\r\n }\r\n \r\n {\"Dias: \" + factu.Dias}\r\n \r\n Desc\r\n \r\n\r\n \r\n {numberWithCommas(Number(factu.Parcial2))}\r\n \r\n {numberWithCommas(factu.Aplicado)}\r\n
    \r\n
    \r\n
    \r\n

    \r\n Total Recibo:\r\n {moneda}\r\n {numberWithCommas(Number(props.recibo.Total))}\r\n

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

    \r\n {localStorage.getItem('asesor')}\r\n

    \r\n
    \r\n

    Proforma Provisional

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n }\r\n content={() => componentRef.current}\r\n onAfterPrint={(e) => RegistrarLogs()}\r\n />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst numberWithCommas = (x) => {\r\n try {\r\n x = x.toFixed(2);\r\n }\r\n catch (error) {\r\n x = parseFloat(x).toFixed(2);\r\n }\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return parts.join(\".\");\r\n}\r\n\r\nexport default ImpresionBandejaSalida;","import React, { useState, useEffect } from 'react';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { Button } from \"@material-ui/core\";\r\nimport DetalleRecibo from 'components/ListadoRecibos/DetalleRecibo';\r\nimport { PrintOutlined } from '@material-ui/icons';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport { Dialog } from \"@material-ui/core\";\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\nimport ImpresionBandejaSalida from \"components/ListadoRecibos/ImpresionBandejaSalida\";\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { FiAlertTriangle } from 'react-icons/fi';\r\nimport axios from 'axios';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { verificarConexion } from 'utils/http';\r\nmoment.locale('es');\r\n\r\nconst BadejaSalidaRecibos = (props) => {\r\n const urlApi = APIURL;\r\n const [recibos, setRecibos] = useState([]);\r\n const [recibo, setRecibo] = useState(null);\r\n const [showDialog, setShowDialog] = useState(false);\r\n const [DialogRecibo, setDialogRecibo] = useState(null);\r\n const [isLoading, setLoading] = useState(false);\r\n const RecibosCache = useSelector(r => r.RecibosEnCache);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n if (!IsAllow(\"/lista-recibos-BandejaSalida\")) {\r\n props.history.push('/home');\r\n }\r\n setRecibos(RecibosCache);\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n })\r\n\r\n const mostrarAdvertencia = (title, text, type) => {\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n type: type,\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n\r\n const existeCorrelativoPrevio = correlativo => {\r\n return RecibosCache.some(recibo => correlativo > recibo.CodigoUltimoRecibo);\r\n }\r\n\r\n const Sincronizar = async (reciboId, correlativo) => {\r\n if (existeCorrelativoPrevio(correlativo)) {\r\n mostrarAdvertencia(\"Advertencia\", \"Se deben sincronizar los recibos en orden de correlativo.\", \"warning\");\r\n } else {\r\n let isOnline = await verificarConexion();\r\n try {\r\n if (localStorage.getItem(\"Conexion\") === \"offline\") {\r\n mostrarAdvertencia(\"Modo Offline\", \"Se encuentra en modo offline, no puede actualizar registros.\", \"warning\");\r\n } else {\r\n if (!isOnline) {\r\n mostrarAdvertencia('Sin internet', 'Necesita internet para poder actualizar los registros.', 'warning');\r\n } else {\r\n localStorage.setItem(\"Operando\", \"Si\");\r\n setLoading(true);\r\n const recibo = RecibosCache.find(x => x.ReciboId === reciboId);\r\n let Ruta = recibo.EsAnticipo ? '/api/Recibo/Anticipo' : '/api/proforma';\r\n const request = await axios.post(urlApi + Ruta, recibo, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token'),\r\n 'Content-Type': 'application/json'\r\n },\r\n });\r\n\r\n if (request.data) {\r\n localStorage.setItem(\"Operando\", \"No\");\r\n setLoading(false);\r\n const nuevosRecibos = RecibosCache.filter(x => x.ReciboId !== reciboId);\r\n dispatch({ type: \"SET_RESETRECIBOSENCACHE\", payload: nuevosRecibos });\r\n setRecibos(nuevosRecibos);\r\n\r\n if (request.data.Mensaje.includes(\"flotante\")) {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Advertencia',\r\n text: request.data.Mensaje,\r\n });\r\n } else {\r\n Swal.fire({\r\n type: 'success',\r\n title: 'Sincronizado',\r\n text: \"Recibo sincronizado correctamente\",\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n catch (err) {\r\n localStorage.setItem(\"Operando\", \"No\");\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado el recibo.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n setLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const DataRecibos = () => {\r\n let DataRecibos = [];\r\n\r\n recibos.map(recib => {\r\n\r\n let data = {\r\n NumeroRecibo: recib.CodigoUltimoRecibo,\r\n CodigoCliente: recib.CodigoCliente,\r\n NombreCliente: recib.NombreCliente,\r\n Fecha: moment(recib.Fecha).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(recib.Fecha).format('DD/MM/YYYY') : \"\",\r\n FechaCheque: moment(recib.Fecha).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(recib.Fecha).format('DD/MM/YYYY') : \"\",\r\n IdBanco: recib.Pagos[0].Banco,\r\n IdCuentaBancaria: \"\",\r\n Valor: recib.Total,\r\n IdMoneda: recib.Pagos[0].IdMoneda,\r\n Sincronizado: \"No\",\r\n CodigoAsesor: recib.Asesor,\r\n IdFactura: recib.Facturas[0].IdFactura,\r\n Descuento: recib.Facturas[0].Parcial2,\r\n Acciones:\r\n
    \r\n\r\n \r\n \r\n \r\n {/*\r\n \r\n */}\r\n
    \r\n }\r\n\r\n DataRecibos.push(data);\r\n return false;\r\n });\r\n\r\n return DataRecibos;\r\n }\r\n\r\n const Imprimir = (recibo) => {\r\n setDialogRecibo(recibo);\r\n setShowDialog(true);\r\n }\r\n\r\n const hidePrint = () => {\r\n setShowDialog(false);\r\n setDialogRecibo(null);\r\n }\r\n\r\n\r\n const RegresarListaRecibos = () => {\r\n setRecibo(null);\r\n }\r\n\r\n if (recibo != null) {\r\n\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 Sincronizando\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n Los recibos mostrados en esta pantalla estĆ”n registrados Ćŗnicamente en su dispositivo.\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n hidePrint()}\r\n scroll={'paper'}\r\n aria-labelledby=\"scroll-dialog-title\">\r\n {\r\n DialogRecibo &&\r\n \r\n }\r\n \r\n
    \r\n \r\n );\r\n }\r\n\r\n}\r\n\r\n\r\nconst HeadersListaRecibos = [\r\n {\r\n name: \"NumeroRecibo\",\r\n label: \"Numero Recibo\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Fecha\",\r\n label: \"Fecha\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"CodigoCliente\",\r\n label: \"Codigo Cliente\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"NombreCliente\",\r\n label: \"Nombre Cliente\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"FechaCheque\",\r\n label: \"Fecha Cheque\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdBanco\",\r\n label: \"Banco\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdCuentaBancaria\",\r\n label: \"Cuenta Bancaria\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Valor\",\r\n label: \"Valor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdMoneda\",\r\n label: \"Moneda\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Sincronizado\",\r\n label: \"Sincronizado\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"CodigoAsesor\",\r\n label: \"Codigo Asesor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdFactura\",\r\n label: \"Factura\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Descuento\",\r\n label: \"Descuento\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Acciones\",\r\n label: \"Acciones\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pĆ”gina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado recibos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pĆ”gina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};\r\n\r\n\r\nexport default BadejaSalidaRecibos;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport { PermisoAprobarFlotantes } from 'components/Seguridad/Permisos';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport moment from \"moment\";\r\nimport axios from 'axios';\r\nimport { useSelector } from 'react-redux';\r\nimport 'moment/locale/es';\r\n\r\nimport DetalleRecibo from 'components/ListadoRecibos/DetalleRecibo';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\n\r\nexport const ListaRecibosFlotante = props => {\r\n const [recibos, setRecibos] = useState([]);\r\n const [recibo, setRecibo] = useState(null);\r\n const [isLoading, setLoading] = useState(false);\r\n const [startDate, setStartDate] = useState(new Date(new Date().getFullYear(), new Date().getMonth(), 1));\r\n const [endDate, setEndDate] = useState(new Date(new Date().getFullYear(), new Date().getMonth() + 1, 1));\r\n const [estado, setEstado] = useState(0);\r\n const [todos, setTodos] = useState(false);\r\n const [AsesorSelected, setAsesorSelected] = useState(null);\r\n const AsesoresUsuario = useSelector(e => e.Permisos[0].AsesoresUsuario);\r\n\r\n const getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n })\r\n\r\n const cargarRecibosFlotantes = async (fechainicio, fechafinal) => {\r\n try {\r\n let Inicio = moment(fechainicio).format(\"YYYY-MM-DD\");\r\n let Fin = moment(fechafinal).format(\"YYYY-MM-DD\");\r\n let Asesor = AsesorSelected == null ? AsesoresUsuario[0].Usuario : AsesorSelected;\r\n let ruta = todos ? `${APIURL}/api/Recibo/flotante/${Inicio}/${Fin}/${estado}` : `${APIURL}/api/Recibo/flotante/${Inicio}/${Fin}/${estado}/${Asesor}`;\r\n const request = await axios.get(ruta, { headers: { 'Authorization': `Bearer ${localStorage.getItem('token')}` } });\r\n setRecibos(request.data);\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n const handleFechaInicio = (fecha) => {\r\n let date = moment(fecha).toDate();\r\n\r\n let fech = moment(fecha).toDate();\r\n fech.setMonth(date.getMonth() + 1);\r\n\r\n setStartDate(date);\r\n setEndDate(fech);\r\n }\r\n\r\n const handleFechaFin = (fecha) => {\r\n let date = moment(fecha).toDate();\r\n\r\n const diffTime = new Date(date) - new Date(startDate);\r\n\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n if (diffDays > 1) {\r\n setEndDate(date);\r\n }\r\n else {\r\n let fech = new Date();\r\n fech.setDate(startDate.getDate() + 6);\r\n setEndDate(fech);\r\n }\r\n }\r\n\r\n const RegresarListaRecibos = () => {\r\n setRecibo(null);\r\n }\r\n\r\n const cambiarRecibo = (recibo) => {\r\n setRecibo(recibo);\r\n }\r\n\r\n const cancelarReciboFlotante = async (id) => {\r\n try {\r\n await axios.post(`${APIURL}/api/recibo/flotante/cancelar/${id}`, {}, { headers: { 'Authorization': 'Bearer ' + localStorage.getItem('token') } });\r\n cargarRecibosFlotantes(startDate, endDate);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: 'Recibo cancelado con exito.',\r\n type: 'success',\r\n })\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se pudo cancelar el recibo.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok'\r\n });\r\n }\r\n }\r\n\r\n const sincronizarReciboFlotante = async (id) => {\r\n try {\r\n setLoading(true);\r\n const request = await axios.post(`${APIURL}/api/recibo/flotante/sincronizar/${id}`, {}, { headers: { 'Authorization': 'Bearer ' + localStorage.getItem('token') } });\r\n setLoading(false);\r\n cargarRecibosFlotantes(startDate, endDate);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: request.data,\r\n type: 'success',\r\n })\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se pudo aprobar el recibo.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok'\r\n });\r\n }\r\n }\r\n\r\n const peticionCancelarRecibo = (id, correlativo) => {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: `ĀæEsta seguro de cancelar el recibo flotante ${correlativo}?`,\r\n type: 'warning',\r\n width: '600px',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value) {\r\n cancelarReciboFlotante(id);\r\n }\r\n })\r\n }\r\n\r\n const peticionSincronizarRecibo = (id, correlativo) => {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: `ĀæEsta seguro de aprobar el recibo flotante ${correlativo}?`,\r\n type: 'warning',\r\n width: '600px',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.value) {\r\n sincronizarReciboFlotante(id);\r\n }\r\n })\r\n }\r\n\r\n const DataRecibos = () => {\r\n let DataRecibos = [];\r\n\r\n recibos.forEach(recib => {\r\n let fechaIni = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate());\r\n let fechaFin = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());\r\n fechaFin.setDate(fechaFin.getDate() + 1);\r\n\r\n if (moment(fechaIni) < moment(recib.Fecha) && moment(recib.Fecha) < moment(fechaFin)) {\r\n let data =\r\n {\r\n NumeroRecibo: recib.NumeroRecibo,\r\n CodigoCliente: recib.CodigoCliente,\r\n NombreCliente: recib.Cliente.Nombre,\r\n Fecha: moment(recib.Fecha).format('DD/MM/YYYY') !== \"Invalid date\" ? moment(recib.Fecha).format('DD/MM/YYYY HH:mm') : \"\",\r\n IdTipoPago: recib.TipoPago.Descripcion,\r\n Banco: recib.DescripcionBanco,\r\n Referencia: recib.Referencia,\r\n Valor: recib.Valor,\r\n IdMoneda: recib.IdMoneda,\r\n ReciboGenerado: recib.ReciboGenerado,\r\n CodigoAsesor: recib.CodigoAsesor,\r\n RazonFlotante: recib.RazonFlotante,\r\n Acciones:\r\n
    \r\n \r\n \r\n \r\n {PermisoAprobarFlotantes() && \r\n {recib.Estado === 0 && <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n }\r\n
    \r\n }\r\n DataRecibos.push(data);\r\n }\r\n });\r\n return DataRecibos;\r\n }\r\n\r\n useEffect(() => {\r\n if (!IsAllow(\"/lista-recibos-flotante\")) {\r\n props.history.push('/home');\r\n }\r\n setAsesorSelected(AsesoresUsuario[0].Usuario);\r\n cargarRecibosFlotantes(\"1900-01-01\", \"1900-01-01\");\r\n\r\n //eslint-disable-next-line\r\n }, [])\r\n\r\n if (recibo != null) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n
    \r\n \r\n

    Recibos flotante

    \r\n
    \r\n
    \r\n
    \r\n handleFechaInicio(date)}\r\n />\r\n\r\n
    \r\n
    \r\n handleFechaFin(date)}\r\n />\r\n
    \r\n
    \r\n setEstado(value)}\r\n options={[\r\n { key: 0, value: 0, text: \"Pendientes\" },\r\n { key: 1, value: 1, text: \"Aprobados\" },\r\n { key: 2, value: 2, text: \"Cancelados\" }\r\n ]}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={estado}\r\n />\r\n
    \r\n {PermisoAprobarFlotantes() &&\r\n
    \r\n
    \r\n { setTodos((prev) => (!prev)) }} />\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n setAsesorSelected(value)}\r\n options={AsesoresUsuario.map((Ase) => ({ key: Ase.Usuario, value: Ase.Usuario, text: Ase.Usuario }))}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n value={AsesorSelected}\r\n />\r\n
    \r\n
    \r\n cargarRecibosFlotantes(startDate, endDate)}\r\n >Obtener\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst HeadersListaRecibos = [\r\n {\r\n name: \"NumeroRecibo\",\r\n label: \"Numero Recibo\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Fecha\",\r\n label: \"Fecha\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"CodigoCliente\",\r\n label: \"CĆ³digo Cliente\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"NombreCliente\",\r\n label: \"Nombre Cliente\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdTipoPago\",\r\n label: \"TipoPago\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Banco\",\r\n label: \"Banco\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Referencia\",\r\n label: \"Referencia\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Valor\",\r\n label: \"Valor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"IdMoneda\",\r\n label: \"Moneda\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"ReciboGenerado\",\r\n label: \"Recibo Generado\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"CodigoAsesor\",\r\n label: \"Codigo Asesor\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"RazonFlotante\",\r\n label: \"RazĆ³n Flotante\",\r\n options: {\r\n filter: true,\r\n sort: true,\r\n }\r\n },\r\n {\r\n name: \"Acciones\",\r\n label: \"Acciones\",\r\n options: {\r\n filter: false,\r\n sort: false,\r\n }\r\n },\r\n];\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pĆ”gina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado recibos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pĆ”gina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};","import React from 'react';\r\nimport styles from 'containers/Sincronizacion/SincronizacionListaMonitor.module.css'\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport axios from 'axios';\r\n\r\nexport const SincronizacionTable = props => {\r\n const { listado, fecha } = props;\r\n\r\n const mostrarAdvertencia = (idLista) => {\r\n Swal.fire({\r\n title: 'Aviso',\r\n text: \"EstĆ” cancelando la ejecuciĆ³n de esta sincronizaciĆ³n. Desea continuar?\",\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#d33',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'Continuar',\r\n cancelButtonText: 'Cancelar',\r\n }).then((result) => {\r\n if (result.value) {\r\n enviarCancelarLista(idLista);\r\n }\r\n })\r\n }\r\n\r\n const enviarCancelarLista = async (idListaACancelar) => {\r\n try {\r\n const data = { IdLista: idListaACancelar };\r\n console.log(data);\r\n await axios.post(`${APIURL}/api/SincronizacionEspecifico/Coleccion/cancelar`, data);\r\n\r\n Swal.fire(\r\n {\r\n type: 'success',\r\n title: 'Registro Actualizado',\r\n showConfirmButton: false,\r\n timer: 1500\r\n }\r\n ).then(() => {\r\n props.Recargar();\r\n })\r\n\r\n } catch (err) {\r\n console.log(err);\r\n let mensaje = \"Error al procesar solicitud.\";\r\n\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n }).then(() => {\r\n window.location.reload();\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listado.filter(x => new Date(x.FECHA).setHours(0, 0, 0, 0) === new Date(fecha).setHours(0, 0, 0, 0)).map((item, ind) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    AccionesID ListaCĆ³digo GestorNombre GestorMĆ³duloPaqueteEmpresaForzosaFechaEn EsperaEn EjecuciĆ³nFinalizado
    {item.ID}{item.ID_GESTOR}{item.NOMBRE}{item.MODULO}{item.PAQUETE}{item.EMPRESA}{item.FORZOSA===\"0\"?\"No\":\"Si\"}{item.FECHASTR}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n} from 'reactstrap';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\nimport { SincronizacionTable } from 'components/Sincronizacion/SincronizacionTable';\r\nimport axios from 'axios';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport CachedIcon from '@material-ui/icons/Cached';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\n\r\nexport const SincronizacionColeccionEspecifica = props => {\r\n const [empresa, setEmpresa] = useState(\"IMHN\");\r\n const [coleccion, setColeccion] = useState('');\r\n const [listaEspecifica, setListaEspecifica] = useState([]);\r\n const [checked, setChecked] = useState(false);\r\n const [forzar, setForzar] = useState(false);\r\n const [bodegaEspecifico, setBodegaEspecifico] = useState(false);\r\n const [fechaSelected, setFechaSelected] = useState(new Date());\r\n const EMPRESAS_ASIGNADAS = useSelector(e => e.Permisos[0].EmpresasUsuarios);\r\n const GESTOR_ESPECIFICO = parseInt(useSelector(e => e.Configuraciones.SyncColeccion));\r\n const GESTOR_BODEGAESPECIFICO = parseInt(useSelector(e => e.Configuraciones.SyncBodegaEspecifica));\r\n const mostrarAdvertencia = (title, text, type) => {\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n type: type,\r\n confirmButtonText: 'Ok',\r\n })\r\n }\r\n\r\n const limpiar = ()=>{\r\n setChecked(false);\r\n setForzar(false);\r\n setEmpresa(EMPRESAS_ASIGNADAS[0].EmpresaId);\r\n }\r\n\r\n const enviarSincronizacionEspecifica = async () => {\r\n try {\r\n const data = { IdGestor: bodegaEspecifico ? GESTOR_BODEGAESPECIFICO : GESTOR_ESPECIFICO, EmpresaId: empresa, ColeccionId: coleccion, Usuario: localStorage.getItem('codigo'), Forzar: forzar ? \"1\" : \"0\" };\r\n await axios.post(`${APIURL}/api/SincronizacionEspecifico/Coleccion/upload`, data);\r\n limpiar();\r\n cargarListaEspecifica();\r\n } catch (err) {\r\n let mensaje = \"Error al procesar solicitud.\";\r\n\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n }\r\n\r\n const cargarListaEspecifica = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/SincronizacionEspecifico/${localStorage.getItem('codigo')}`);\r\n setListaEspecifica(request.data);\r\n } catch (err) {\r\n let mensaje = \"Error al procesar solicitud.\";\r\n\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n }\r\n\r\n const enviarSincronizacionEspecificaEmpresas = async () => {\r\n for (let pais of EMPRESAS_ASIGNADAS) {\r\n try {\r\n const data = { IdGestor: bodegaEspecifico ? GESTOR_BODEGAESPECIFICO : GESTOR_ESPECIFICO, EmpresaId: pais.EmpresaId, ColeccionId: coleccion, Usuario: localStorage.getItem('codigo'), Forzar: forzar ? \"1\" : \"0\" };\r\n await axios.post(`${APIURL}/api/SincronizacionEspecifico/Coleccion/upload`, data);\r\n limpiar();\r\n cargarListaEspecifica();\r\n } catch (err) {\r\n let mensaje = \"Error al procesar solicitud.\";\r\n\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'OK',\r\n });\r\n }\r\n }\r\n }\r\n const verificarColeccion = async () => {\r\n try {\r\n let ruta = bodegaEspecifico ? \"verificarBodegaLocal\" : \"verificar\";\r\n const data = await axios.get(`${APIURL}/api/SincronizacionEspecifico/${ruta}/${empresa}/${coleccion}`);\r\n let EsValida = data.data.CodigoPaquete !== null ? true : false;\r\n if (!EsValida) {\r\n return mostrarAdvertencia(\"Paquete Incorrecto\", \"El cĆ³digo del paquete no existe, favor verifique\", \"warning\");\r\n }\r\n\r\n if (checked) {\r\n enviarSincronizacionEspecificaEmpresas();\r\n } else {\r\n enviarSincronizacionEspecifica();\r\n }\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se pudo verificar el paquete.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok'\r\n });\r\n }\r\n }\r\n const enviarSincronizacion = () => {\r\n if (checked === true && coleccion === \"\") {\r\n mostrarAdvertencia(\"InformaciĆ³n necesaria\", \"Ingrese el codigo de colecciĆ³n.\", \"warning\");\r\n } else if (checked === false && (empresa === \"\" || coleccion === \"\")) {\r\n mostrarAdvertencia(\"InformaciĆ³n necesaria\", \"Seleccione pais o ingrese el codigo de colecciĆ³n.\", \"warning\");\r\n } else {\r\n Swal.fire({\r\n title: 'Confirmar',\r\n text: `ĀæEstĆ” seguro de sincronizar el paquete ${coleccion}?`,\r\n type: 'question',\r\n showCancelButton: true,\r\n confirmButtonColor: '#06bf53',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'SĆ­',\r\n cancelButtonText: 'No',\r\n }).then((result) => {\r\n if (result.value) {\r\n verificarColeccion();\r\n }\r\n })\r\n }\r\n }\r\n\r\n const SincronizacionForzosa = () => {\r\n if (!forzar) {\r\n Swal.fire({\r\n title: 'Confirmar',\r\n text: `Al forzar la sincronizaciĆ³n estarĆ” deshabilitando los productos actuales, por lo que no se podrĆ” utilizar el paquete para ventas mientras se ejecuta el proceso. ĀæDesea continuar?`,\r\n type: 'question',\r\n showCancelButton: true,\r\n confirmButtonColor: '#06bf53',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'SĆ­',\r\n cancelButtonText: 'No',\r\n }).then((result) => {\r\n if (result.value) {\r\n setForzar(!forzar)\r\n }\r\n })\r\n }\r\n else {\r\n setForzar(!forzar)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (!IsAllow(\"/sincronizacion-especifica-coleccion\")) {\r\n props.history.push('/home');\r\n }\r\n cargarListaEspecifica();\r\n let intervalo = setInterval(cargarListaEspecifica, 30000);\r\n\r\n return () => {\r\n clearInterval(intervalo);\r\n }\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n return (\r\n
    \r\n \r\n \r\n SincronizaciĆ³n especifica colecciĆ³n\r\n \r\n \r\n
    \r\n setFechaSelected(date)}\r\n />\r\n
    \r\n { setChecked(!checked) }} />\r\n \r\n
    \r\n {\r\n setEmpresa(value);\r\n }}\r\n options={EMPRESAS_ASIGNADAS.map(empresa => {\r\n return { key: empresa.EmpresaId, value: empresa.EmpresaId, text: empresa.EmpresaId }\r\n })}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n disabled={checked}\r\n />\r\n
    \r\n { SincronizacionForzosa() }} />\r\n \r\n
    \r\n
    \r\n { setBodegaEspecifico(!bodegaEspecifico) }} />\r\n \r\n
    \r\n { setColeccion(e.target.value.toUpperCase()) })} />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { Loading } from 'components/Global/Loading';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { verificarConexion } from 'utils/http';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\n\r\nconst HeadersListaClientes = [\r\n {\r\n label: \"Codigo\",\r\n name: \"Codigo\",\r\n options: {\r\n filter: false,\r\n sort: false\r\n }\r\n },\r\n {\r\n label: \"Cliente\",\r\n name: \"Cliente\",\r\n options: {\r\n filter: false,\r\n sort: false\r\n }\r\n },\r\n \"Asesor\",\r\n \"Empresa\",\r\n {\r\n label: \"Acciones\",\r\n name: \"Acciones\",\r\n options: {\r\n filter: false,\r\n sort: false\r\n }\r\n }\r\n];\r\n\r\nexport const SincronizacionCliente = (props) => {\r\n const [clientes, setClientes] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const clientesCache = useSelector(e => e.Recibo.clientes);\r\n const clientesCartera = useSelector(e => e.Cartera);\r\n const permisos = useSelector(e => e.Permisos[0]);\r\n const dispatch = useDispatch();\r\n\r\n const cargarClientes = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/cliente/sincronizacion`, {\r\n headers: {\r\n 'Authorization': 'Bearer ' + localStorage.getItem('token'),\r\n 'Content-Type': 'application/json'\r\n }\r\n });\r\n setClientes(request.data);\r\n } catch (e) {\r\n\r\n }\r\n }\r\n\r\n const getMuiTheme = () => createMuiTheme({\r\n overrides: {\r\n MUIDataTable: {\r\n responsiveScrollMaxHeight: {\r\n maxHeight: 'unset !important',\r\n }\r\n },\r\n MUIDataTableBodyRow: {\r\n root: {\r\n '&:nth-child(odd)': {\r\n backgroundColor: '#f8f8f8'\r\n }\r\n }\r\n },\r\n }\r\n });\r\n\r\n const cargarCliente = async (cliente) => {\r\n if (!permisos.UsuarioOficina) {\r\n if (localStorage.getItem(\"Conexion\") === \"Online\") {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n try {\r\n let request = await axios.get(`${APIURL}/api/cliente/cuenta/${cliente}`, { headers: { Authorization: 'Bearer ' + localStorage.getItem('token') } });\r\n let clientesStorage = clientesCache;\r\n let clientesStorageCartera = clientesCartera;\r\n let indexCartera = clientesStorageCartera.map(e => e.Codigo).indexOf(cliente);\r\n let index = clientesStorage.map(e => e.Codigo).indexOf(cliente);\r\n clientesStorage[index] = request.data;\r\n clientesStorageCartera[indexCartera].AcuerdosXTipoPedido = request.data.AcuerdosXTipoPedido;\r\n dispatch({ type: 'SET_CARTERA', payload: clientesStorageCartera });\r\n dispatch({ type: 'STORE_RECIBO_CLIENTES', clientes: clientesStorage });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n const sincronizarCliente = async (cliente) => {\r\n let isOnline = await verificarConexion();\r\n if (isOnline) {\r\n try {\r\n setLoading(true);\r\n await axios.post(`${APIURL}/api/cliente/sincronizacion/${cliente}`);\r\n cargarCliente(cliente);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: 'Cuenta del cliente actualizada exitosamente.',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n });\r\n setLoading(false);\r\n } catch (err) {\r\n setLoading(false);\r\n let mensaje = \"Ha ocurrido un error y no se pudo actualizar la cuenta corriente del cliente.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n } else {\r\n Swal.fire({\r\n title: 'Error',\r\n text: \"Necesita estar conectado a internet para poder sincronizar.\",\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n\r\n }\r\n\r\n const confirmarSincronizacion = cliente => {\r\n Swal.fire({\r\n title: 'Confirmar',\r\n text: `ĀæDesea sincronizar cuenta corriente del cliente ${cliente}?`,\r\n type: 'question',\r\n showCancelButton: true,\r\n confirmButtonColor: '#06bf53',\r\n cancelButtonColor: '#3085d6',\r\n confirmButtonText: 'SĆ­',\r\n cancelButtonText: 'No',\r\n }).then((result) => {\r\n if (result.value) {\r\n sincronizarCliente(cliente);\r\n }\r\n })\r\n }\r\n\r\n const DataClientes = () => {\r\n return clientes.map(cliente => ([cliente.Codigo, cliente.Nombre, cliente.Asesor, cliente.EmpresaId, ]));\r\n }\r\n\r\n useEffect(() => {\r\n if (!IsAllow(\"/sincronizacion-especifica-cliente\")) {\r\n props.history.push('/home');\r\n }\r\n\r\n cargarClientes();\r\n\r\n //eslint-disable-next-line\r\n }, []);\r\n\r\n return (\r\n
    \r\n

    SincronizaciĆ³n Cliente

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado pedidos\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n downloadCsv: \"Descargar CSV\",\r\n print: \"Imprimir\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};","import React, { useState } from 'react';\r\nimport { Marker, InfoWindow } from '@react-google-maps/api';\r\n\r\nexport const PedidoMarker = props => {\r\n const { datos } = props;\r\n const [open, setOpen] = useState(false);\r\n\r\n return (\r\n { setOpen(true) }} clickable position={{ lat: datos.lat, lng: datos.lng }} icon={{ url: \"https://raw.githubusercontent.com/Concept211/Google-Maps-Markers/master/images/marker_green.png\" }} >\r\n {open && { setOpen(false) }}>\r\n
    \r\n

    Pedido

    \r\n

    Codigo Cliente: {datos.cliente}

    \r\n

    Nombre Cliente: {datos.nombreCliente}

    \r\n

    Correlativo: {datos.pedidoId}

    \r\n

    Pedido AX: {datos.numeroPedido}

    \r\n

    Total Pedido: {datos.totalPedido}

    \r\n
    \r\n
    }\r\n
    \r\n )\r\n}","import React, { useState } from 'react';\r\nimport { Marker, InfoWindow } from '@react-google-maps/api';\r\n\r\nexport const ReciboMarker = props => {\r\n const { datos } = props;\r\n const [open, setOpen] = useState(false);\r\n\r\n return (\r\n { setOpen(true) }} clickable position={{ lat: datos.lat, lng: datos.lng }} icon={{ url: \"https://raw.githubusercontent.com/Concept211/Google-Maps-Markers/master/images/marker_blue.png\" }} >\r\n {open && { setOpen(false) }}>\r\n
    \r\n

    Recibo

    \r\n

    Recibo: {datos.numeroRecibo}

    \r\n

    Codigo Cliente: {datos.cliente}

    \r\n

    Nombre Cliente: {datos.nombreCliente}

    \r\n

    Total Recibo: {`${datos.totalRecibo} ${datos.moneda}`}

    \r\n
    \r\n
    }\r\n
    \r\n )\r\n}","import React, { useState } from 'react';\r\nimport { Marker, InfoWindow } from '@react-google-maps/api';\r\nimport moment from \"moment\";\r\n\r\nexport const ClientesMarker = props => {\r\n const { datos } = props;\r\n const [open, setOpen] = useState(false);\r\n return (\r\n { setOpen(true) }} clickable position={{ lat: datos.Latitud, lng: datos.Longitud }} icon={{ url: \"https://raw.githubusercontent.com/Concept211/Google-Maps-Markers/master/images/marker_red.png\" }} >\r\n {open && { setOpen(false) }}>\r\n
    \r\n

    Cliente

    \r\n

    Codigo Cliente: {datos.cliente}

    \r\n

    Nombre Cliente: {datos.NombreCliente}

    \r\n

    Hora Inicio: {moment(datos.HoraInicio).format('LT')}

    \r\n

    Hora Fin: {moment(datos.HoraFin).format('LT')}

    \r\n

    ĀæVisita Finalizada?: {datos.Checkin && datos.Checkout ? \"Si\" : \"No\"}

    \r\n
    \r\n
    }\r\n
    \r\n )\r\n}","import React, { useState } from 'react';\r\nimport { GoogleMap, useJsApiLoader, Polyline, Marker, InfoWindow } from '@react-google-maps/api';\r\n//import { APIKEY } from 'utils/Enviroment';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nimport { useSelector } from 'react-redux';\r\n\r\n//components\r\nimport { PedidoMarker } from './PedidoMarker';\r\nimport { ReciboMarker } from './ReciboMarker';\r\nimport inicio from 'assets/georecorrido/Inicia_dia.png';\r\nimport final from 'assets/georecorrido/Finaliza_dia.png';\r\nimport { ClientesMarker } from './ClientesMarker';\r\n\r\nconst MapaReconstruccion = props => {\r\n const { coordenadas, recibos, pedidos } = props.recorrido;\r\n let initialCoors = { lat: coordenadas[0].lat, lng: coordenadas[0].lng };\r\n let lastCoors = { lat: coordenadas[coordenadas.length - 1].lat, lng: coordenadas[coordenadas.length - 1].lng };\r\n const [inicioruta, setInicio] = useState(false);\r\n const [finalruta, setFinal] = useState(false);\r\n const APIKEY = useSelector(e => e.Configuraciones.ApiKey_GoogleMaps);\r\n\r\n\r\n const { isLoaded } = useJsApiLoader({\r\n id: 'google-map-script',\r\n googleMapsApiKey: APIKEY\r\n })\r\n\r\n const [options, setOptions] = useState({\r\n strokeColor: '#FF0000',\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: '#FF0000',\r\n fillOpacity: 0.35,\r\n clickable: false,\r\n draggable: false,\r\n editable: false,\r\n visible: true,\r\n radius: 30000,\r\n paths: coordenadas,\r\n zIndex: 1\r\n })\r\n\r\n\r\n const onLoad = React.useCallback(function callback(mapi) {\r\n const lineSymbol = {\r\n path: window.google.maps.SymbolPath.CIRCLE,\r\n scale: 8,\r\n strokeColor: \"#393\",\r\n };\r\n setOptions((prevState) => ({\r\n ...prevState, icons: [{\r\n icon: lineSymbol,\r\n offset: \"100%\",\r\n }]\r\n }))\r\n }, [])\r\n\r\n const animateCircle = (line) => {\r\n console.log(line)\r\n if (line.icons) {\r\n let count = 0;\r\n window.setInterval(() => {\r\n count = (count + 1) % 200;\r\n const icons = line.get(\"icons\");\r\n icons[0].offset = count / 2 + \"%\";\r\n line.set(\"icons\", icons);\r\n }, 200);\r\n }\r\n }\r\n\r\n const onUnmount = React.useCallback(function callback(map) {\r\n \r\n }, [])\r\n\r\n const onLoadPolyline = polyline => {\r\n animateCircle(polyline)\r\n }\r\n\r\n const clicMarcadorInicio = () => {\r\n setInicio(!inicioruta);\r\n }\r\n\r\n const clicMarcadorFinal = () => {\r\n setFinal(!finalruta);\r\n }\r\n\r\n return isLoaded ? (\r\n \r\n \r\n {inicioruta && \r\n
    \r\n

    Inicio Ruta

    \r\n

    {moment(new Date(coordenadas[0].fecha)).format('DD/MM/YYYY hh:mm a')}

    \r\n
    \r\n
    }\r\n
    \r\n \r\n {finalruta && \r\n
    \r\n

    Final Ruta

    \r\n

    {moment(new Date(coordenadas[coordenadas.length - 1].fecha)).format('DD/MM/YYYY hh:mm a')}

    \r\n
    \r\n
    }\r\n
    \r\n {(recibos && recibos.length > 0)\r\n && recibos.map((x) => )}\r\n\r\n {(pedidos && pedidos.length > 0)\r\n && pedidos.map((x) => )}\r\n\r\n {(props.clientesAgendado && props.clientesAgendado.length > 0)\r\n && props.clientesAgendado.map((x) => )}\r\n\r\n \r\n
    \r\n ) : <>\r\n}\r\n\r\nexport default React.memo(MapaReconstruccion)","import React, { useState } from 'react';\r\nimport moment from 'moment';\r\nimport {\r\n MuiPickersUtilsProvider,\r\n KeyboardTimePicker,\r\n KeyboardDatePicker,\r\n} from '@material-ui/pickers';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport MomentUtils from '@date-io/moment';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport { useSelector } from 'react-redux';\r\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\r\n\r\nconst FormularioReconstruccion = props => {\r\n const { asesoresFiltrados, filtroAsesoresPorPais, cargarRecorrido, cargarAsignaciones } = props;\r\n const fechaFinalInicial = moment(new Date()).format(\"YYYY-MM-DD\");\r\n const [selectedDate, setSelectedDate] = useState(moment().format(\"YYYY-MM-DD\"));\r\n const [asesor, setAsesor] = useState('');\r\n const [inicio, setInicio] = useState(moment().format(\"YYYY-MM-DD\"));\r\n const [final, setFinal] = useState(moment(`${fechaFinalInicial} 23:59:59`));\r\n const EMPRESAS_ASIGNADAS = useSelector(e => e.Permisos[0].EmpresasUsuarios);\r\n\r\n const handleDateChange = (date) => {\r\n setSelectedDate(date);\r\n };\r\n\r\n const handleInicioChange = (date) => {\r\n setInicio(date);\r\n }\r\n\r\n const handleFinalChange = (date) => {\r\n setFinal(date);\r\n }\r\n\r\n const handleClickObtenerRecorrido = () => {\r\n let fechaInicio = \"\";\r\n let fechaFinal = \"\";\r\n\r\n if (typeof selectedDate === \"string\") {\r\n fechaInicio = `${selectedDate} ${moment(inicio).format(\"hh:mm a\")}`;\r\n fechaFinal = `${selectedDate} ${moment(final).format(\"hh:mm a\")}`;\r\n } else {\r\n fechaInicio = `${selectedDate.format(\"YYYY-MM-DD\")} ${moment(inicio).format(\"hh:mm a\")}`;\r\n fechaFinal = `${selectedDate.format(\"YYYY-MM-DD\")} ${moment(final).format(\"hh:mm a\")}`;\r\n }\r\n\r\n cargarRecorrido(asesor, fechaInicio, fechaFinal);\r\n cargarAsignaciones(asesor, fechaInicio, fechaFinal);\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 filtroAsesoresPorPais(value);\r\n }}\r\n options={EMPRESAS_ASIGNADAS.map(empresa => {\r\n return { key: empresa.EmpresaId, value: empresa.EmpresaId, text: empresa.EmpresaId }\r\n })}\r\n closeOnChange={true}\r\n\r\n />\r\n {\r\n setAsesor(value);\r\n }}\r\n options={asesoresFiltrados.map(asesor => {\r\n return { key: asesor.codigo, value: asesor.codigo, text: asesor.nombre }\r\n })}\r\n closeOnChange={true}\r\n />\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormularioReconstruccion;","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { IsAllow } from 'components/Seguridad/Permisos';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\n//components\r\nimport MapaReconstruccion from './components/MapaReconstruccion';\r\nimport FormularioReconstruccion from './components/FormularioReconstruccion';\r\nimport inicio from 'assets/georecorrido/Inicia_dia.png';\r\nimport final from 'assets/georecorrido/Finaliza_dia.png';\r\nimport SinCoordenadas from 'assets/SinCoordenadas.png';\r\n\r\nexport const ReconstruccionRuta = props => {\r\n const [asesores, setAsesores] = useState([]);\r\n const [asesoresFiltrados, setAsesoresFiltrados] = useState([]);\r\n const [recorrido, setRecorrido] = useState({});\r\n const [clientesAgendado, setClientesAgendados] = useState([]);\r\n const [mostrarDescripcion, setMostrarDescripcion] = useState(false);\r\n\r\n const cargarAsesores = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Geoposicion/asesores`, { headers: { 'Authorization': `Bearer ${localStorage.getItem('token')}` } });\r\n setAsesores(request.data);\r\n setAsesoresFiltrados(request.data);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n\r\n const cargarRecorrido = async (asesor, fechaInicio, fechaFin) => {\r\n try {\r\n if (asesor === \"\") {\r\n Swal.fire({\r\n title: 'Advertencia',\r\n text: \"Seleccione un asesor.\",\r\n type: 'warning',\r\n confirmButtonText: 'OK',\r\n });\r\n return;\r\n }\r\n const request = await axios.get(`${APIURL}/api/Geoposicion/recorrido`, { headers: { 'Authorization': `Bearer ${localStorage.getItem('token')}` }, params: { asesor, FechaInicio: fechaInicio, FechaFin: fechaFin } });\r\n setRecorrido(request.data);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n\r\n const cargarAsignaciones = async (asesor, fechaInicio, fechaFin) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Asignaciones`, {\r\n params: { FechaInicio: fechaInicio, FechaFin: fechaFin, Asesor: asesor }, headers: {\r\n 'Authorization':\r\n 'Bearer ' + localStorage.getItem('token'),\r\n }\r\n });\r\n setClientesAgendados(request.data[0].asignaciones)\r\n } catch (err) {\r\n\r\n }\r\n }\r\n\r\n const filtroAsesoresPorPais = (pais) => {\r\n let filtrados = asesores.filter(x => x.empresa.toUpperCase() === pais.toUpperCase());\r\n setAsesoresFiltrados(filtrados);\r\n }\r\n\r\n const validarCoordenadas = () => {\r\n return Object.keys(recorrido).length > 0 && recorrido.coordenadas && recorrido.coordenadas.length > 0;\r\n }\r\n\r\n useEffect(() => {\r\n if (!IsAllow(\"/recorrido-monitoreo\")) {\r\n props.history.push('/home');\r\n }\r\n cargarAsesores();\r\n\r\n //eslint-disable-next-line\r\n }, [])\r\n\r\n const handleMostrarDescripcion = () => {\r\n setMostrarDescripcion(!mostrarDescripcion);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {mostrarDescripcion && }\r\n {validarCoordenadas() ?\r\n \r\n :\r\n
    \r\n \"SinCoordenadas\"\r\n \r\n \r\n
    \r\n }\r\n
    \r\n )\r\n}\r\n\r\nconst Simbologia = () => {\r\n return
    \r\n

    Simbologia

    \r\n
    \r\n \"recibomarker\"\r\n
    Recibo
    \r\n
    \r\n
    \r\n \"recibomarker\"\r\n
    Pedido
    \r\n
    \r\n
    \r\n \"clientemarker\"\r\n
    Cliente
    \r\n
    \r\n
    \r\n \"recibomarker\"\r\n
    Inicio Ruta
    \r\n
    \r\n
    \r\n \"recibomarker\"\r\n
    Final Ruta
    \r\n
    \r\n
    \r\n
    \r\n
    Recorrido
    \r\n
    \r\n
    \r\n

    O

    \r\n
    Asesor
    \r\n
    \r\n
    \r\n}","import React from 'react'\r\nimport { FaEdit } from \"react-icons/fa\";\r\nimport { MdCancel, MdCheckCircle } from \"react-icons/md\";\r\nimport Button from '@material-ui/core/Button';\r\nimport { Table } from 'reactstrap';\r\nimport { MdPlaylistAdd } from \"react-icons/md\";\r\n\r\nconst TablaTiposIngreso = (props) => {\r\n return (\r\n
    \r\n {\r\n
    \r\n
    \r\n

    Tipos de Ingreso

    \r\n
    \r\n \r\n
    \r\n
    \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.TiposIngreso.map(tip => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    NombreEtiquetaStatusAcciones
    {tip.Nombre}{tip.Etiqueta}{tip.Status ?

    Activo

    :

    Inactivo

    }
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n}\r\nexport default TablaTiposIngreso;","import React, { useState, useEffect, useRef } from 'react';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport axios from 'axios';\r\nimport { Formik, Form, Field } from 'formik';\r\nimport * as yup from 'yup';\r\nimport TablaTiposIngreso from 'components/Encuestas/TiposIngreso/TablaTiposIngreso';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport CheckBox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\n\r\nexport const TiposIngreso = props => {\r\n const [tiposIngresos, setTiposIngresos] = useState([]);\r\n const [mostrar, setMostrar] = useState(false);\r\n const [tipoIngreso, setTipoIngreso] = useState(null);\r\n\r\n const context = useRef();\r\n const validationSchema = yup.object().shape(\r\n {\r\n Nombre: yup.string().required('El nombre es obligatorio'),\r\n Etiqueta: yup.string().required('La etiqueta es obligatoria'),\r\n Status: yup.boolean(),\r\n RequiereGrupoOpciones: yup.boolean(),\r\n });\r\n\r\n const cargarTipoIngreso = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/TipoIngreso`);\r\n setTiposIngresos(request.data);\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los tipos de ingresos.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const registrarTipoIngreso = async (data) => {\r\n try {\r\n await axios.post(`${APIURL}/api/TipoIngreso/registrar`, data);\r\n setMostrar(false)\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha creado el tipo ingreso exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarTipoIngreso();\r\n });\r\n\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado el tipo ingreso.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificar = async (data) => {\r\n setMostrar(false)\r\n try {\r\n await axios.post(`${APIURL}/api/TipoIngreso/modificar`, data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha modificado el tipo de ingreso exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarTipoIngreso();\r\n });\r\n\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado la pantalla.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarEstado = async (id) => {\r\n try {\r\n await axios.post(`${APIURL}/api/tipoIngreso/estado/${id}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarTipoIngreso();\r\n });\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el estado.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const openEdit = (tip) => {\r\n setTipoIngreso(tip);\r\n setMostrar(true);\r\n }\r\n\r\n const Mostrar = () => {\r\n setTipoIngreso(null);\r\n setMostrar(true);\r\n }\r\n useEffect(() => {\r\n cargarTipoIngreso();\r\n }, [])\r\n\r\n let initialValues, edit;\r\n\r\n if (tipoIngreso) {\r\n initialValues = {\r\n Id: tipoIngreso.$id,\r\n Nombre: tipoIngreso.Nombre,\r\n Etiqueta:tipoIngreso.Etiqueta,\r\n Status: tipoIngreso.Status,\r\n RequiereGrupoOpciones: tipoIngreso.RequiereGrupoOpciones,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = true;\r\n }\r\n else {\r\n initialValues = {\r\n Nombre: '',\r\n Etiqueta:'',\r\n Status: true,\r\n RequiereGrupoOpciones: false,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = false;\r\n }\r\n return (\r\n
    \r\n \r\n REGISTRAR TIPO DE INGRESO\r\n \r\n {\r\n registrarTipoIngreso(values)\r\n }}>\r\n {({ errors, resetForm, values, setValues }) => (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n }\r\n label={\"Activar\"}\r\n />\r\n \r\n }\r\n label={\"Requiere Grupo de Opciones\"}\r\n />\r\n \r\n \r\n {edit && }\r\n {!edit && }\r\n \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}","import React from 'react'\r\nimport { FaEdit } from \"react-icons/fa\";\r\nimport { MdCancel, MdCheckCircle } from \"react-icons/md\";\r\nimport Button from '@material-ui/core/Button';\r\nimport { Table } from 'reactstrap';\r\nimport { MdPlaylistAdd } from \"react-icons/md\";\r\n\r\nconst TablaSeccion = (props) => {\r\n return (\r\n
    \r\n {\r\n
    \r\n
    \r\n

    Grupo de Opciones

    \r\n
    \r\n \r\n
    \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.GrupoOpciones.map(sec => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    NombreStatusAcciones
    {sec.Nombre}{sec.Status ?

    Activo

    :

    Inactivo

    }
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n\r\n}\r\nexport default TablaSeccion;","import React, { useState, useEffect, useRef } from 'react';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport axios from 'axios';\r\nimport { Formik, Form, Field } from 'formik';\r\nimport * as yup from 'yup';\r\nimport TablaGrupoOpciones from 'components/Encuestas/GrupoOpciones/TablaGrupoOpciones';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport CheckBox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\n\r\nexport const GrupoOpciones = props => {\r\n const [GrupoOpciones, setGrupoOpciones] = useState([]);\r\n const [mostrar, setMostrar] = useState(false);\r\n const [grupoOpcion, setgrupoOpcion] = useState(null);\r\n\r\n const context = useRef();\r\n const validationSchema = yup.object().shape(\r\n {\r\n Nombre: yup.string().required('El nombre es obligatorio'),\r\n Status: yup.boolean(),\r\n });\r\n\r\n useEffect(() => {\r\n cargarGrupoOpciones();\r\n }, [])\r\n\r\n const cargarGrupoOpciones = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/GrupoOpciones`);\r\n setGrupoOpciones(request.data);\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los grupos de opciones.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const registrarGrupoOpciones = async (data) => {\r\n try {\r\n await axios.post(`${APIURL}/api/GrupoOpciones/registrar`, data);\r\n setMostrar(false)\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha creado el grupo de opciones exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarGrupoOpciones();\r\n });\r\n\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado el grupo de opciones.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarGrupoOpciones = async (data) => {\r\n setMostrar(false)\r\n try {\r\n await axios.post(`${APIURL}/api/GrupoOpciones/modificar`, data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha modificado el grupo de opciones exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarGrupoOpciones();\r\n });\r\n\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el registro.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarEstado = async (id) => {\r\n try {\r\n await axios.post(`${APIURL}/api/GrupoOpciones/estado/${id}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarGrupoOpciones();\r\n });\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el estado.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const openEdit = (tip) => {\r\n setgrupoOpcion(tip);\r\n setMostrar(true);\r\n }\r\n\r\n const Mostrar = () => {\r\n setgrupoOpcion(null);\r\n setMostrar(true);\r\n }\r\n \r\n let initialValues, edit;\r\n\r\n if (grupoOpcion) {\r\n initialValues = {\r\n Id: grupoOpcion.Id,\r\n Nombre: grupoOpcion.Nombre,\r\n Status: grupoOpcion.Status,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = true;\r\n }\r\n else {\r\n initialValues = {\r\n Nombre: '',\r\n Status: true,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = false;\r\n }\r\n return (\r\n
    \r\n \r\n REGISTRAR GRUPO DE OPCIONES\r\n \r\n {\r\n registrarGrupoOpciones(values)\r\n }}>\r\n {({ errors, resetForm, values, setValues }) => (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n }\r\n label={\"Activar\"}\r\n />\r\n \r\n \r\n {edit && }\r\n {!edit && }\r\n \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}","import React from 'react'\r\nimport { FaEdit } from \"react-icons/fa\";\r\nimport Button from '@material-ui/core/Button';\r\nimport { Table } from 'reactstrap';\r\nimport { MdPlaylistAdd } from \"react-icons/md\";\r\n\r\nconst TablaSeccion = (props) => {\r\n return (\r\n
    \r\n {\r\n
    \r\n
    \r\n

    Grupo de Opciones Detalle

    \r\n
    \r\n \r\n
    \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.GrupoOpcionesDetalle.map(opc => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    Grupo OpcionesNombreAcciones
    {opc.NombreGrupoOpciones}{opc.Nombre}\r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n\r\n}\r\nexport default TablaSeccion;","import React, { useState, useEffect, useRef } from 'react';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport axios from 'axios';\r\nimport { Formik, Form, Field } from 'formik';\r\nimport * as yup from 'yup';\r\nimport TablaGrupoOpcionesDetalle from 'components/Encuestas/GrupoOpcionesDetalle/TablaGrupoOpcionesDetalle';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nexport const GrupoOpcionesDetalle = props => {\r\n const [GrupoOpcionesDetalle, setGrupoOpcionesDetalle] = useState([]);\r\n const [GrupoOpciones, setGrupoOpciones] = useState([]);\r\n const [mostrar, setMostrar] = useState(false);\r\n const [grupoOpcionDetalle, setGrupoOpcionDetalle] = useState(null);\r\n\r\n const context = useRef();\r\n const validationSchema = yup.object().shape(\r\n {\r\n Nombre: yup.string().required('El nombre es obligatorio'),\r\n Status: yup.boolean(),\r\n });\r\n\r\n useEffect(() => {\r\n cargarGrupoOpcionesDetalle();\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n const cargarGrupoOpcionesDetalle = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/GrupoOpcionesDetalle`);\r\n setGrupoOpcionesDetalle(request.data);\r\n cargarGrupoOpciones()\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los grupos de opciones detalle.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarGrupoOpciones = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/GrupoOpciones`);\r\n let GrupoOpciones = [];\r\n request.data.filter(g => g.Status === true).forEach(grupo => {\r\n let Valores = { key: grupo.Nombre, value: grupo.Id}\r\n GrupoOpciones.push(Valores);\r\n })\r\n setGrupoOpciones(GrupoOpciones);\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se han cargado los grupos de opciones.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const registrarGrupoOpcionesDetalle = async (data) => {\r\n setMostrar(false)\r\n try {\r\n await axios.post(`${APIURL}/api/GrupoOpcionesDetalle/registrar`, data);\r\n \r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha creado el grupo de opciones exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarGrupoOpcionesDetalle();\r\n });\r\n\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado el tipo ingreso.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarGrupoOpciones = async (data) => {\r\n setMostrar(false)\r\n try {\r\n await axios.post(`${APIURL}/api/GrupoOpcionesDetalle/modificar`, data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha modificado el grupo de opciones exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarGrupoOpcionesDetalle();\r\n });\r\n\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el registro.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const openEdit = (opc) => {\r\n setGrupoOpcionDetalle(opc);\r\n setMostrar(true);\r\n }\r\n\r\n const Mostrar = () => {\r\n setGrupoOpcionDetalle(null);\r\n setMostrar(true);\r\n }\r\n\r\n let initialValues, edit;\r\n\r\n if (grupoOpcionDetalle) {\r\n initialValues = {\r\n Id: grupoOpcionDetalle.Id,\r\n Nombre: grupoOpcionDetalle.Nombre,\r\n GrupoOpcionesId: grupoOpcionDetalle.GrupoOpcionesId,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = true;\r\n }\r\n else {\r\n initialValues = {\r\n Nombre: '',\r\n GrupoOpcionesId: GrupoOpciones.length > 0 ? GrupoOpciones[0].value : '',\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = false;\r\n }\r\n return (\r\n
    \r\n \r\n REGISTRAR GRUPO DE OPCIONES\r\n \r\n {\r\n registrarGrupoOpcionesDetalle(values)\r\n }}>\r\n {({ errors, resetForm, values, setValues }) => (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {\r\n GrupoOpciones.map(opcion => {\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 {edit && }\r\n {!edit && }\r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}","import React from 'react'\r\nimport { FaEdit } from \"react-icons/fa\";\r\nimport { MdCancel, MdCheckCircle } from \"react-icons/md\";\r\nimport Button from '@material-ui/core/Button';\r\nimport { Table } from 'reactstrap';\r\nimport { MdPlaylistAdd } from \"react-icons/md\";\r\nimport GroupAddIcon from '@material-ui/icons/GroupAdd';\r\nconst TablaSeccion = (props) => {\r\n return (\r\n
    \r\n {\r\n
    \r\n
    \r\n
    \r\n {\r\n props.Mostrar === true &&\r\n \r\n }\r\n
    \r\n
    \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.Secciones.map(sec => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    NombreTituloStatusAcciones
    {sec.Nombre}{sec.Titulo}{sec.Status ?

    Activo

    :

    Inactivo

    }
    \r\n {\r\n props.Mostrar === true &&\r\n <>\r\n \r\n \r\n \r\n }\r\n {\r\n props.Mostrar === false &&\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 TablaSeccion;","import React from 'react'\r\nimport { FaEdit } from \"react-icons/fa\";\r\nimport { MdCancel, MdCheckCircle, MdAddBox, MdPlaylistAdd } from \"react-icons/md\";\r\nimport Button from '@material-ui/core/Button';\r\nimport { Table } from 'reactstrap';\r\nimport KeyboardBackspaceIcon from '@material-ui/icons/KeyboardBackspace';\r\n\r\nconst TablaPreguntas = (props) => {\r\n return (\r\n
    \r\n {\r\n
    \r\n
    \r\n
    \r\n {\r\n props.MostrarPregunta &&\r\n \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \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.Preguntas.map(preg => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    PreguntaDescripcionStatusAcciones
    {preg.Nombre}{preg.Descripcion}{preg.Status ?

    Activo

    :

    Inactivo

    }
    \r\n \r\n \r\n \r\n { preg.PreguntaOpciones.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\nexport default TablaPreguntas;","import React, { useState, useEffect, useRef } from 'react';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport axios from 'axios';\r\nimport { Formik, Form, Field } from 'formik';\r\nimport * as yup from 'yup';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport CheckBox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport TablaPreguntas from 'components/Encuestas/Preguntas/TablaPreguntas'\r\nimport { useSelector } from 'react-redux';\r\n\r\nexport const Preguntas = props => {\r\n const Preg = useSelector(e => e.PreguntasEncuesta);\r\n const TipoIngreso = useSelector(e => e.TipoIngreso);\r\n const GrupoOpciones = useSelector(g => g.GrupoOpciones);\r\n const [mostrar, setMostrar] = useState(false);\r\n const [pregunta, setPregunta] = useState(null);\r\n const [requiereGrupoOpciones, setRequiereGrupoOpciones] = useState(false);\r\n const [tipoIngreso, setTipoIngreso] = useState(TipoIngreso.length > 0 ? TipoIngreso[0].value : '');\r\n const [grupoOpcion, setGrupoOpcion] = useState(null);\r\n const [grupoOpcionPregunta, setgrupoOpcionPregunta] = useState([]);\r\n const [modalPreguntaAnidada, setmodalPreguntaAnidada] = useState(false);\r\n const [EditarPreguntaAnidada, setEditarPreguntaAnidada] = useState(false);\r\n const [preguntasAnidadas, setPreguntasAnidadas] = useState([]);\r\n const [PreguntaOpcion, setPreguntaOpcion] = useState('');\r\n const [render, setrender] = useState(true);\r\n const [mensaje, setmensaje] = useState(\"\");\r\n const context = useRef();\r\n const validationSchema = yup.object().shape(\r\n {\r\n Nombre: yup.string().required('La pregunta es obligatoria'),\r\n Obligatorio: yup.boolean(),\r\n RespuestaObligatorio: yup.boolean(),\r\n Status: yup.boolean(),\r\n });\r\n\r\n const Validaciones = yup.object().shape(\r\n {\r\n Nombre: yup.string().required('La pregunta es obligatoria'),\r\n PreguntasOpcionesId: yup.string().required('El campo es obligatorio'),\r\n RespuestaObligatorio: yup.boolean(),\r\n Status: yup.boolean(),\r\n });\r\n\r\n useEffect(() => {\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n const cargarPreguntasAnidadas = async (preguntaOpcionesId) => {\r\n try {\r\n return await axios.get(`${APIURL}/api/preguntas/anidadas/${preguntaOpcionesId}`);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n\r\n const cargarPreguntasOpciones = async (preguntaId) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/preguntasOpciones/SinAnidada/${preguntaId}`);\r\n let GrupoOpcion = [];\r\n setPreguntaOpcion(request.data[0].Id);\r\n request.data.forEach(preg =>{\r\n let Valores = { key: preg.GrupoOpcionesDetalle, value: preg.Id }\r\n GrupoOpcion.push(Valores);\r\n })\r\n setgrupoOpcionPregunta(GrupoOpcion);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n\r\n const registrarPreguntas = async (data) => {\r\n data.GrupoOpcionesId = grupoOpcion;\r\n data.TipoIngresoId = tipoIngreso;\r\n data.RequiereOpciones = requiereGrupoOpciones;\r\n if (data.GrupoOpcionesId != null && data.GrupoOpcionesDetalle.length === 0 && data.RequiereOpciones === true) {\r\n setmensaje(\"Este campo es obligatorio\")\r\n }\r\n else {\r\n try {\r\n await axios.post(`${APIURL}/api/preguntas/registrar`, data);\r\n setMostrar(false)\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha creado la pregunta exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n setmensaje(\"\");\r\n props.cargarPreguntas(data.SeccionEncuestaId, props.NombreSeccion);\r\n });\r\n\r\n } catch (err) {\r\n setmensaje(\"\");\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado la pregunta.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n }\r\n\r\n const registrarPreguntasAnidadas = async (data) => {\r\n data.GrupoOpcionesId = grupoOpcion;\r\n data.TipoIngresoId = tipoIngreso;\r\n data.RequiereOpciones = requiereGrupoOpciones;\r\n data.PreguntasOpcionesId = PreguntaOpcion;\r\n if (data.GrupoOpcionesId != null && data.GrupoOpcionesDetalle.length === 0 && data.RequiereOpciones === true) {\r\n setmensaje(\"Este campo es obligatorio\")\r\n }\r\n else {\r\n try {\r\n await axios.post(`${APIURL}/api/preguntas/Anidadas`, data);\r\n setmodalPreguntaAnidada(false)\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha creado la pregunta exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n setgrupoOpcionPregunta([]);\r\n })\r\n\r\n } catch (err) {\r\n setmensaje(\"\");\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado la pregunta.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n }\r\n\r\n const modificar = async (data) => {\r\n data.TipoIngresoId = tipoIngreso;\r\n data.GrupoOpcionesId = grupoOpcion;\r\n data.RequiereOpciones = requiereGrupoOpciones;\r\n pregunta.PreguntaOpciones.forEach(element => {\r\n data.GrupoOpcionesDetalle.push(element.GrupoOpcionesDetalleId)\r\n });\r\n\r\n if (data.GrupoOpcionesId != null && data.GrupoOpcionesDetalle.length === 0) {\r\n setmensaje(\"Este campo es obligatorio\")\r\n }\r\n else {\r\n try {\r\n await axios.post(`${APIURL}/api/preguntas/modificar`, data);\r\n setMostrar(false)\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha modificado la pregunta exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n props.cargarPreguntas(data.SeccionEncuestaId, props.NombreSeccion);\r\n });\r\n setmensaje(\"\")\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado la pantalla.\";\r\n setmensaje(\"\")\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n }\r\n\r\n const modificarPreguntaAnidada = async (data) => {\r\n data.TipoIngresoId = tipoIngreso;\r\n data.GrupoOpcionesId = grupoOpcion;\r\n data.RequiereOpciones = requiereGrupoOpciones;\r\n preguntasAnidadas.PreguntaOpciones.forEach(element => {\r\n data.GrupoOpcionesDetalle.push(element.GrupoOpcionesDetalleId)\r\n });\r\n\r\n if (data.GrupoOpcionesId != null && data.GrupoOpcionesDetalle.length === 0) {\r\n setmensaje(\"Este campo es obligatorio\")\r\n }\r\n else {\r\n try {\r\n await axios.post(`${APIURL}/api/preguntasAnidadas/modificar`, data);\r\n setmodalPreguntaAnidada(false)\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha modificado la pregunta exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n })\r\n setmensaje(\"\")\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado la pantalla.\";\r\n setmensaje(\"\")\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n }\r\n\r\n const modificarEstado = async (id) => {\r\n try {\r\n await axios.post(`${APIURL}/api/preguntas/estado/${id}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n props.cargarPreguntas(Preg[0].SeccionId, props.NombreSeccion);\r\n });\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el estado.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const openEditarPreguntaAnidada = (resp) => {\r\n setrender(true)\r\n if (resp.PreguntaOpciones.length > 0) {\r\n let GrupoOpcion = [];\r\n let count = 0;\r\n resp.PreguntaOpciones.forEach(async (op, Index) => {\r\n let Pregunta = await cargarPreguntasAnidadas(op.Id);\r\n if (Pregunta.data.length > 0) {\r\n let Valores = { key: op.GrupoOpcionesDetalle, value: op.Id }\r\n GrupoOpcion.push(Valores);\r\n\r\n if (count === 0) {\r\n let requiereGrupoOpciones = TipoIngreso.length > 0 ? TipoIngreso.find(t => t.value === Pregunta.data[0].TipoIngresoId).RequiereGrupoOpciones : false;\r\n setTipoIngreso(Pregunta.data[0].TipoIngresoId);\r\n setGrupoOpcion(Pregunta.data[0].GrupoOpcionesId);\r\n setPreguntasAnidadas(Pregunta.data[0]);\r\n setPreguntaOpcion(Pregunta.data[0].preguntaOpcionId);\r\n setRequiereGrupoOpciones(requiereGrupoOpciones);\r\n if (requiereGrupoOpciones === false) {\r\n props.cargarGrupoOpcionesDetalle(0);\r\n }\r\n if (Pregunta.data[0].GrupoOpcionesId !== null) {\r\n props.cargarGrupoOpcionesDetalle(Pregunta.data[0].GrupoOpcionesId);\r\n }\r\n }\r\n count++;\r\n }\r\n });\r\n setgrupoOpcionPregunta(GrupoOpcion);\r\n setPregunta(resp);\r\n setmodalPreguntaAnidada(true);\r\n setEditarPreguntaAnidada(true);\r\n }\r\n }\r\n\r\n const cerrarModalAnidado = () => {\r\n setgrupoOpcionPregunta([]);\r\n setmodalPreguntaAnidada(false);\r\n setEditarPreguntaAnidada(false);\r\n }\r\n\r\n const openEdit = (resp) => {\r\n let requiereGrupoOpciones = TipoIngreso.length > 0 ? TipoIngreso.find(t => t.value === resp.TipoIngresoId).RequiereGrupoOpciones : false;\r\n setRequiereGrupoOpciones(requiereGrupoOpciones);\r\n setTipoIngreso(resp.TipoIngresoId);\r\n if (requiereGrupoOpciones === false) {\r\n props.cargarGrupoOpcionesDetalle(0);\r\n }\r\n setGrupoOpcion(resp.GrupoOpcionesId);\r\n if (resp.GrupoOpcionesId !== null) {\r\n props.cargarGrupoOpcionesDetalle(resp.GrupoOpcionesId);\r\n }\r\n setPregunta(resp);\r\n setMostrar(true);\r\n }\r\n\r\n const openModalAnidado = (resp) => {\r\n if (resp.PreguntaOpciones.length > 0) {\r\n cargarPreguntasOpciones(resp.Id);\r\n }\r\n setRequiereGrupoOpciones(false);\r\n setGrupoOpcion(null);\r\n props.cargarGrupoOpcionesDetalle(0);\r\n setTipoIngreso(TipoIngreso.length > 0 ? TipoIngreso[0].value : '');\r\n setPregunta(resp);\r\n setmodalPreguntaAnidada(true);\r\n setEditarPreguntaAnidada(false);\r\n }\r\n\r\n const Mostrar = () => {\r\n setRequiereGrupoOpciones(false)\r\n setGrupoOpcion(null)\r\n props.cargarGrupoOpcionesDetalle(0);\r\n setTipoIngreso(TipoIngreso.length > 0 ? TipoIngreso[0].value : '');\r\n setPregunta(null);\r\n setMostrar(true);\r\n }\r\n\r\n const handleOnChange = (Id) => {\r\n // eslint-disable-next-line\r\n let requiereOpciones = TipoIngreso.find(t => t.value == Id).RequiereGrupoOpciones;\r\n setRequiereGrupoOpciones(requiereOpciones);\r\n setTipoIngreso(Id);\r\n if (requiereOpciones === false) {\r\n setGrupoOpcion(null);\r\n }\r\n setrender(false)\r\n }\r\n\r\n const grupoOpcionDetalle = (Id) => {\r\n props.cargarGrupoOpcionesDetalle(Id);\r\n setGrupoOpcion(Id);\r\n setrender(false);\r\n }\r\n\r\n const GrupoOpcions = (value) => {\r\n if (pregunta !== null) {\r\n pregunta.PreguntaOpciones = pregunta.PreguntaOpciones.filter(p => p.GrupoOpcionesDetalleId !== value);\r\n setPregunta(pregunta);\r\n }\r\n }\r\n\r\n const GrupoOpcionesAnidadas = (value) => {\r\n if (preguntasAnidadas !== null) {\r\n preguntasAnidadas.PreguntaOpciones = preguntasAnidadas.PreguntaOpciones.filter(p => p.GrupoOpcionesDetalleId !== value);\r\n setPreguntasAnidadas(preguntasAnidadas);\r\n }\r\n }\r\n\r\n const changePreguntaAnidada = async (Id) => {\r\n setPreguntaOpcion(Id);\r\n if (EditarPreguntaAnidada) {\r\n setrender(true)\r\n let Pregunta = await cargarPreguntasAnidadas(Id);\r\n if (Pregunta.data.length > 0) {\r\n setTipoIngreso(Pregunta.data[0].TipoIngresoId);\r\n setGrupoOpcion(Pregunta.data[0].GrupoOpcionesId);\r\n setPreguntasAnidadas(Pregunta.data[0])\r\n let requiereGrupoOpciones = TipoIngreso.length > 0 ? TipoIngreso.find(t => t.value === Pregunta.data[0].TipoIngresoId).RequiereGrupoOpciones : false;\r\n setRequiereGrupoOpciones(requiereGrupoOpciones);\r\n if (Pregunta.data[0].GrupoOpcionesId !== null) {\r\n props.cargarGrupoOpcionesDetalle(Pregunta.data[0].GrupoOpcionesId);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n let initialValues, edit;\r\n\r\n if (pregunta && modalPreguntaAnidada === false) {\r\n\r\n initialValues = {\r\n Id: pregunta.Id,\r\n SeccionEncuestaId: pregunta.SeccionEncuestaId,\r\n TipoIngresoId: pregunta.TipoIngresoId,\r\n RequiereOpciones: requiereGrupoOpciones,\r\n GrupoOpcionesId: pregunta.GrupoOpcionesId,\r\n GrupoOpcionesDetalle: [],\r\n GrupoOpcion: pregunta.PreguntaOpciones,\r\n Nombre: pregunta.Nombre,\r\n Descripcion: pregunta.Descripcion,\r\n Status: pregunta.Status,\r\n Obligatorio: pregunta.Obligatorio,\r\n RespuestaObligatorio: pregunta.RespuestaObligatorio,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = true;\r\n }\r\n else if (modalPreguntaAnidada === true && EditarPreguntaAnidada === true) {\r\n initialValues = {\r\n Id: preguntasAnidadas.Id,\r\n SeccionEncuestaId: Preg[0].SeccionId,\r\n TipoIngresoId: TipoIngreso.length > 0 ? tipoIngreso : null,\r\n RequiereOpciones: requiereGrupoOpciones,\r\n GrupoOpcionesId: GrupoOpciones.length > 0 ? grupoOpcion : null,\r\n GrupoOpcionesDetalle: [],\r\n GrupoOpcion: preguntasAnidadas.PreguntaOpciones,\r\n Nombre: preguntasAnidadas.Nombre,\r\n Descripcion: preguntasAnidadas.Descripcion,\r\n Status: preguntasAnidadas.Status,\r\n RespuestaObligatorio: false,\r\n PreguntasOpcionesId: preguntasAnidadas.preguntaOpcionId,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = false;\r\n }\r\n else if (modalPreguntaAnidada === true && !EditarPreguntaAnidada) {\r\n initialValues = {\r\n Id: pregunta.Id,\r\n TipoIngresoId: TipoIngreso.length > 0 ? tipoIngreso : null,\r\n RequiereOpciones: requiereGrupoOpciones,\r\n GrupoOpcionesId: GrupoOpciones.length > 0 ? grupoOpcion : null,\r\n GrupoOpcionesDetalle: [],\r\n GrupoOpcion: '',\r\n Nombre: '',\r\n Descripcion: '',\r\n Status: true,\r\n RespuestaObligatorio: false,\r\n PreguntasOpcionesId: PreguntaOpcion,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = false;\r\n }\r\n else {\r\n initialValues = {\r\n Id: '',\r\n SeccionEncuestaId: Preg[0].SeccionId,\r\n TipoIngresoId: TipoIngreso.length > 0 ? tipoIngreso : null,\r\n RequiereOpciones: requiereGrupoOpciones,\r\n GrupoOpcionesId: GrupoOpciones.length > 0 ? grupoOpcion : null,\r\n GrupoOpcionesDetalle: [],\r\n GrupoOpciones: [],\r\n Nombre: '',\r\n Descripcion: '',\r\n Status: true,\r\n Obligatorio: false,\r\n RespuestaObligatorio: false,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = false;\r\n }\r\n return (\r\n <>\r\n
    \r\n \r\n REGISTRAR PREGUNTAS\r\n \r\n {\r\n registrarPreguntas(values)\r\n }}>\r\n {({ errors, resetForm, values, setValues }) => (\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n { handleOnChange(e.target.value) }} className=\"form-control\" style={{ width: '450px', marginRight: '20px' }}>\r\n {\r\n TipoIngreso.map(tig => {\r\n return (\r\n \r\n )\r\n })\r\n }\r\n \r\n
    \r\n {requiereGrupoOpciones &&\r\n
    \r\n \r\n { grupoOpcionDetalle(e.target.value) }} style={{ width: '450px', marginRight: '20px' }}>\r\n {\r\n GrupoOpciones.map(grupo => {\r\n return (\r\n \r\n )\r\n })\r\n }\r\n \r\n
    \r\n }\r\n {props.grupoOpcionesDetalle.length > 0 && requiereGrupoOpciones && edit &&\r\n <>\r\n \r\n
    \r\n \r\n {\r\n props.grupoOpcionesDetalle.map(grupo => {\r\n\r\n return (\r\n \r\n \r\n g.GrupoOpcionesDetalleId === grupo.value)}\r\n onChange={(e) => GrupoOpcions(grupo.value)}\r\n >\r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n

    {mensaje}

    \r\n
    \r\n \r\n }\r\n\r\n {props.grupoOpcionesDetalle.length > 0 && requiereGrupoOpciones && edit === false &&\r\n <>\r\n \r\n
    \r\n \r\n {\r\n props.grupoOpcionesDetalle.map(grupo => {\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

    {mensaje}

    \r\n
    \r\n \r\n }\r\n\r\n \r\n }\r\n label={\"Activar\"}\r\n />\r\n \r\n }\r\n label={\"Obligatorio\"}\r\n />\r\n \r\n }\r\n label={\"Respuesta Obligatoria\"}\r\n />\r\n \r\n \r\n {edit && }\r\n {!edit && }\r\n \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n\r\n \r\n {EditarPreguntaAnidada ? \"MODIFICAR PREGUNTAS ANIDADAS\" : \"REGISTRAR PREGUNTAS ANIDADAS\"}\r\n \r\n {\r\n registrarPreguntasAnidadas(values)\r\n }}>\r\n {({ errors, values }) => (\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n { changePreguntaAnidada(e.target.value) }}\r\n value={PreguntaOpcion}>\r\n {\r\n grupoOpcionPregunta.map(opcion => {\r\n return (\r\n \r\n )\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 { handleOnChange(e.target.value) }} className=\"form-control\" style={{ width: '450px', marginRight: '20px' }}>\r\n {\r\n TipoIngreso.map(tig => {\r\n return (\r\n \r\n )\r\n })\r\n }\r\n \r\n
    \r\n {requiereGrupoOpciones &&\r\n
    \r\n \r\n { grupoOpcionDetalle(e.target.value) }} style={{ width: '450px', marginRight: '20px' }}>\r\n {\r\n GrupoOpciones.map(grupo => {\r\n return (\r\n \r\n )\r\n })\r\n }\r\n \r\n
    \r\n }\r\n {props.grupoOpcionesDetalle.length > 0 && requiereGrupoOpciones && !EditarPreguntaAnidada &&\r\n <>\r\n \r\n
    \r\n \r\n {\r\n props.grupoOpcionesDetalle.map(grupo => {\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

    {mensaje}

    \r\n
    \r\n \r\n }\r\n\r\n {props.grupoOpcionesDetalle.length > 0 && requiereGrupoOpciones && EditarPreguntaAnidada &&\r\n <>\r\n \r\n
    \r\n \r\n {\r\n props.grupoOpcionesDetalle.map(grupo => {\r\n\r\n return (\r\n \r\n \r\n g.GrupoOpcionesDetalleId === grupo.value)}\r\n onChange={(e) => GrupoOpcionesAnidadas(grupo.value)}\r\n >\r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n

    {mensaje}

    \r\n
    \r\n \r\n }\r\n \r\n }\r\n label={\"Activar\"}\r\n />\r\n \r\n }\r\n label={\"Respuesta Obligatoria\"}\r\n />\r\n \r\n \r\n {EditarPreguntaAnidada && }\r\n {!EditarPreguntaAnidada && }\r\n \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n )\r\n}","import React, { useState, useEffect, useRef } from 'react';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport axios from 'axios';\r\nimport { Formik, Form, Field } from 'formik';\r\nimport * as yup from 'yup';\r\nimport TablaSecciones from 'components/Encuestas/Secciones/TablaSecciones';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport CheckBox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { TablaRelacion } from 'components/Seguridad/Relacional/TablaRelacion';\r\nimport {Preguntas} from 'components/Encuestas/Preguntas/Preguntas';\r\nexport const Secciones = props => {\r\n const dispatch = useDispatch();\r\n const Pregunta = useSelector(e => e.PreguntasEncuesta);\r\n const [mostrar, setMostrar] = useState(false);\r\n const [mostrarUsuario, setMostrarUsuario] = useState(false);\r\n const [Seccion, setSeccion] = useState(null);\r\n const [UsuariosConAcceso,setUsuariosConAcceso] = useState([]);\r\n const [UsuariosSinAcceso,setUsuariosSinAcceso] = useState([]);\r\n const [seccionSelected, setSeccionSelected] = useState(null);\r\n const [grupoOpcionesDetalle, setGrupoOpcionesDetalle] = useState([]);\r\n const Secciones = useSelector(e => e.SeccionEncuesta);\r\n const [MostrarPregunta,setMostrarPregunta] = useState(false);\r\n const context = useRef();\r\n const validationSchema = yup.object().shape(\r\n {\r\n Nombre: yup.string().required('El nombre es obligatorio'),\r\n Titulo: yup.string().required('El Titulo es obligatorio'),\r\n Descripcion: yup.string(),\r\n Status: yup.boolean(),\r\n Obligatorio: yup.boolean(),\r\n });\r\n useEffect(() => {\r\n cargarSecciones();\r\n // eslint-disable-next-line\r\n }, [])\r\n const cargarSecciones = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Encuesta/Seccion`);\r\n let Seccion = []\r\n let valores = { Secciones: request.data, EncuestaId: '', NombreEncuesta: '' }\r\n Seccion.push(valores);\r\n dispatch({ type: 'SET_SECCIONESENCUESTA', payload: Seccion });\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las secciones de encuestas.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const registrarSecciones = async (data) => {\r\n try {\r\n await axios.post(`${APIURL}/api/Encuesta/Secciones/registrar`, data);\r\n setMostrar(false)\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha creado la secciĆ³n exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarSecciones();\r\n });\r\n\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado el tipo ingreso.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificar = async (data) => {\r\n setMostrar(false)\r\n try {\r\n await axios.post(`${APIURL}/api/secciones/modificar`, data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha modificado la seccion de encuesta exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarSecciones();\r\n });\r\n\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado la pantalla.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const modificarEstado = async (id) => {\r\n try {\r\n await axios.post(`${APIURL}/api/secciones/estado/${id}`);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha cambiado el estado exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarSecciones();\r\n });\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado el estado.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarUsuarios = (seccionId) => {\r\n cargarUsuariosConAcceso(seccionId);\r\n cargarUsuariosSinAcceso(seccionId);\r\n setSeccionSelected(seccionId);\r\n setMostrarUsuario(true);\r\n }\r\n const cargarUsuariosConAcceso = async (seccionId) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/secciones/usuarios/${seccionId}`);\r\n setUsuariosConAcceso(request.data);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n\r\n const cargarUsuariosSinAcceso = async (seccionId) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/secciones/usuariosSinAcceso/${seccionId}`);\r\n setUsuariosSinAcceso(request.data);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n\r\n const asignarUsuario = async (usuarioId) => {\r\n try{\r\n await axios.post(`${APIURL}/api/secciones/AsignarAccesoUsuario/${seccionSelected}/${usuarioId}/${localStorage.getItem('codigo')}`);\r\n cargarUsuarios(seccionSelected);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha guardado el registro\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n const removerUsuario = async (usuarioId) => {\r\n try{\r\n await axios.post(`${APIURL}/api/secciones/RemoverUsuario/${usuarioId}/${seccionSelected}/${localStorage.getItem('codigo')}`)\r\n cargarUsuarios(seccionSelected);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha guardado el registro\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarPreguntas = async (seccionId, NombreSeccion) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/preguntas/${seccionId}`);\r\n let preguntas = [];\r\n let valores = {Preguntas: request.data, SeccionId: seccionId, NombreSeccion: NombreSeccion}\r\n preguntas.push(valores);\r\n cargarTipoIngreso();\r\n cargarGrupoOpciones();\r\n setGrupoOpcionesDetalle([]);\r\n dispatch({ type: 'SET_PREGUNTASENCUESTA',payload: preguntas });\r\n setMostrarPregunta(true)\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las preguntas de encuestas.\";\r\n \r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarTipoIngreso = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/TipoIngreso`);\r\n let TipoIngreso = [];\r\n request.data.filter(g => g.Status === true).forEach(tipo => {\r\n let Valores = { key: tipo.Etiqueta, value: tipo.Id, RequiereGrupoOpciones: tipo.RequiereGrupoOpciones}\r\n TipoIngreso.push(Valores);\r\n })\r\n dispatch({type: 'SET_TIPOINGRESO', payload:TipoIngreso})\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\",err.response)\r\n }\r\n }\r\n \r\n const cargarGrupoOpciones = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/GrupoOpciones`);\r\n let GrupoOpciones = [{key: \"Seleccione...\" , value: '0'}];\r\n request.data.filter(g => g.Status === true).forEach(grupo => {\r\n let Valores = { key: grupo.Nombre, value: grupo.Id}\r\n GrupoOpciones.push(Valores);\r\n })\r\n dispatch({type: 'SET_GRUPOOPCIONES', payload:GrupoOpciones})\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n \r\n const cargarGrupoOpcionesDetalle = async (GrupoOpcionId) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/GrupoOpcionesDetalle/${GrupoOpcionId}`);\r\n let GrupoOpcionesDetalle = [];\r\n request.data.forEach(grupo => {\r\n let Valores = { key: grupo.Nombre, value: grupo.Id}\r\n GrupoOpcionesDetalle.push(Valores);\r\n })\r\n setGrupoOpcionesDetalle(GrupoOpcionesDetalle);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n\r\n const openEdit = (sec) => {\r\n setSeccion(sec);\r\n setMostrar(true);\r\n }\r\n\r\n const Mostrar = () => {\r\n setSeccion(null);\r\n setMostrar(true);\r\n }\r\n\r\n let initialValues, edit;\r\n\r\n if (Seccion) {\r\n initialValues = {\r\n Id: Seccion.Id,\r\n Nombre: Seccion.Nombre,\r\n Titulo: Seccion.Titulo,\r\n Descripcion: Seccion.Descripcion,\r\n Status: Seccion.Status,\r\n Obligatorio: Seccion.Obligatorio,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = true;\r\n }\r\n else {\r\n initialValues = {\r\n Nombre: '',\r\n Titulo: '',\r\n Descripcion:'',\r\n Status: true,\r\n Obligatorio: false,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = false;\r\n }\r\n return (\r\n
    \r\n \r\n REGISTRAR SECCIONES DE ENCUESTAS\r\n \r\n {\r\n registrarSecciones(values)\r\n }}>\r\n {({ errors, resetForm, values, setValues }) => (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n }\r\n label={\"Activar\"}\r\n />\r\n \r\n }\r\n label={\"Obligatorio\"}\r\n />\r\n \r\n \r\n {edit && }\r\n {!edit && }\r\n \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n ACCESO DE USUARIOS\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n MostrarPregunta &&\r\n \r\n }\r\n {\r\n MostrarPregunta === false &&\r\n 0 ? Secciones[0].Secciones : []} Mostrar ={true} setMostrar={Mostrar} openEdit={openEdit} ModificarEstado={modificarEstado} cargarPreguntas={cargarPreguntas} cargarUsuarios ={cargarUsuarios}/>\r\n\r\n }\r\n \r\n
    \r\n )\r\n}","import React from 'react';\r\nimport {Route,Switch} from 'react-router-dom';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport RecentActorsIcon from '@material-ui/icons/RecentActors';\r\nimport SupervisorAccountIcon from '@material-ui/icons/SupervisorAccount';\r\nimport {TiposIngreso} from 'components/Encuestas/TiposIngreso/TiposIngreso';\r\nimport {GrupoOpciones} from 'components/Encuestas/GrupoOpciones/GrupoOpciones'\r\nimport {GrupoOpcionesDetalle} from 'components/Encuestas/GrupoOpcionesDetalle/GrupoOpcionesDetalle'\r\nimport {Secciones} from 'components/Encuestas/Secciones/Secciones'\r\n\r\nexport const MantenimientoEncuesta = props => {\r\n const [value, setValue] = React.useState(0);\r\n\r\n const handleChange = (event, newValue) => {\r\n setValue(newValue);\r\n };\r\n\r\n const redirectGrupoOpciones = () =>{\r\n props.history.push('/Mantenimiento/Encuesta/GrupoOpciones');\r\n }\r\n\r\n const redirectGrupoOpcionesDetalle = () =>{\r\n props.history.push('/Mantenimiento/Encuesta/GrupoOpcionesDetalle');\r\n }\r\n\r\n const redirectTiposIngreso = () =>{\r\n props.history.push('/Mantenimiento/Encuesta');\r\n }\r\n\r\n const redirectSecciones = () =>{\r\n props.history.push('/Mantenimiento/Encuesta/secciones');\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n } label=\"Tipos Ingreso\" />\r\n } label =\"Grupo Opciones\"/>\r\n } label =\"Grupo Opciones Detalle\"/>\r\n } label =\"Secciones\"/>\r\n \r\n \r\n
    \r\n \r\n }/>\r\n }/>\r\n }/>\r\n }/>\r\n \r\n
    \r\n
    \r\n )\r\n}","import React from 'react';\r\nimport styles from 'components/Recibos/RecibosBreadCrumb/RecibosBreadCrumb.module.css';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport NavigationBreadcrumb from 'components/Pedidos/NavigationBreadcrumb/NavigationBreadcrumb';\r\nimport { FaSignOutAlt } from 'react-icons/fa';\r\nimport { Dropdown } from 'element-react';\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\nmoment.locale('es');\r\n\r\nconst EncuestaBreadCrumb = (props) => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n (\r\n { props.clickBreadCrumb(\"/Encuesta\") }, Titulo: \"Encuesta\" },\r\n { Titulo: \"Seccion\" }\r\n ]}\r\n />\r\n )} />\r\n (\r\n { props.clickBreadCrumb(\"/Encuesta\") }, Titulo: \"Encuesta\" },\r\n { Titulo: \"ListaSecciones\" }\r\n ]}\r\n />\r\n )} />\r\n (\r\n { props.clickBreadCrumb(\"/Encuesta\") }, Titulo: \"Encuesta\" },\r\n { Click: () => { props.clickBreadCrumb(\"/Encuesta/Seccion\") }, Titulo: \"Seccion\" },\r\n { Titulo: \"Preguntas\" }\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.cliente &&\r\n
    \r\n \r\n Cancelar\r\n \r\n )}\r\n >\r\n \r\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 EncuestaBreadCrumb;","import React from 'react';\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport PostAddIcon from '@material-ui/icons/PostAdd';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport BusinessIcon from '@material-ui/icons/Business';\r\nimport QueuePlayNextIcon from '@material-ui/icons/QueuePlayNext';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport GridOnIcon from '@material-ui/icons/GridOn';\r\n\r\nexport const TablaEncuesta = props => {\r\n const { titulo, cabeceras, valores,abrirRango } = props;\r\n\r\n const dataTabla = () => {\r\n return valores.map((valor) =>\r\n [valor.Nombre,\r\n valor.Descripcion,\r\n \r\n { props.openEdit(valor) }}>\r\n \r\n \r\n ,\r\n \r\n { props.CargarEmpresasUsuario(valor.Id) }}>\r\n \r\n \r\n ,\r\n \r\n { props.AgregarSeccion(valor.Id, valor.Nombre) }}>\r\n \r\n \r\n ,\r\n \r\n { props.cargarSecciones(valor.Id, valor.Nombre) }}>\r\n \r\n \r\n ,\r\n \r\n { abrirRango(valor.Id) }}>\r\n \r\n \r\n \r\n ]);\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pƔgina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado registros\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pƔgina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};","import React, { useState } from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport axios from 'axios';\r\nimport moment from 'moment';\r\nimport FileSaver from 'file-saver';\r\nimport XLSX from 'xlsx';\r\nimport { APIURL } from 'utils/Enviroment';\r\n\r\nexport const RangoFecha = props => {\r\n const [inicio, setInicio] = useState(new Date());\r\n const [final, setFinal] = useState(new Date());\r\n\r\n const convertirArreglo = data => {\r\n let resueltas = [];\r\n for (let encuesta of data) {\r\n let nuevo = {\r\n EncuestaId: encuesta.EncuestaId,\r\n Cliente: encuesta.Cliente,\r\n Fecha: encuesta.Fecha,\r\n Asesor: encuesta.Asesor\r\n }\r\n\r\n for (let detalle of encuesta.Detalle) {\r\n let respuestas = Object.keys(detalle);\r\n let preguntaRepetida = Object.keys(nuevo);\r\n\r\n if (preguntaRepetida.includes(detalle[respuestas[1]])) {\r\n nuevo[detalle[respuestas[1]]] = nuevo[detalle[respuestas[1]]] + \",\" + detalle[respuestas[2]];\r\n } else {\r\n nuevo[detalle[respuestas[1]]] = detalle[respuestas[2]];\r\n }\r\n }\r\n\r\n resueltas.push(nuevo);\r\n }\r\n\r\n return resueltas\r\n }\r\n\r\n const guardarExcel = csvData => {\r\n const fileName = \"Pruebas\";\r\n const fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n const fileExtension = '.xlsx';\r\n const ws = XLSX.utils.json_to_sheet(csvData);\r\n const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const data = new Blob([excelBuffer], { type: fileType });\r\n FileSaver.saveAs(data, fileName + fileExtension);\r\n }\r\n\r\n const cargarData = async () => {\r\n try {\r\n let fechaInicio = moment(inicio).format(\"YYYY-MM-DD\");\r\n let fechaFinal = moment(final).format(\"YYYY-MM-DD\");\r\n const request = await axios.get(`${APIURL}/api/encuesta/excel/${fechaInicio}/${fechaFinal}/${props.encuestaId}`);\r\n\r\n if (request.data.length === 0) {\r\n alert(\"No hay registros\");\r\n return;\r\n }\r\n\r\n const transformada = convertirArreglo(request.data);\r\n guardarExcel(transformada);\r\n } catch (err) {\r\n alert(\"Ha ocurrido un error y no se pudo obtener las encuestas.\");\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n { props.abrirRango(0) }}\r\n >\r\n \r\n
    \r\n Generar Excel\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n setInicio(date)}\r\n />\r\n setFinal(date)}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n )\r\n}","import React, { useState, useEffect, useRef } from 'react';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport axios from 'axios';\r\nimport { Formik, Form, Field } from 'formik';\r\nimport * as yup from 'yup';\r\nimport { TablaEncuesta } from 'components/Encuestas/Encuestas/TablaEncuesta';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport moment from 'moment';\r\nimport { MdPlaylistAdd } from \"react-icons/md\";\r\nimport { TablaRelacion } from 'components/Seguridad/Relacional/TablaRelacion';\r\nimport { RangoFecha } from './RangoFecha';\r\n\r\nexport const Encuesta = (props) => {\r\n const [encuestas, setEncuestas] = useState([]);\r\n const [encuestasInactivas, setEncuestasInactivas] = useState([]);\r\n const [EncuestaSelected, setEncuestaSelected] = useState(null);\r\n const [mostrar, setMostrar] = useState(false);\r\n const [mostrarEmpresas, setMostrarEmpresas] = useState(false);\r\n const [encuesta, setEncuesta] = useState(null);\r\n const [fechaInicio, setFechaInicio] = useState(new Date());\r\n const [fechaFin, setfechaFin] = useState(new Date());\r\n const [EmpresasAsignadas, setEmpresasAsignadas] = useState([]);\r\n const [EmpresasNoAsignadas, setEmpresasNoAsignadas] = useState([]);\r\n const [SeccionesPermitidas, setSeccionesPermitidas] = useState([]);\r\n const [SeccionesNoPermitidas, setSeccionesNoPermitidas] = useState([]);\r\n const [MostrarSecciones, setMostrarSecciones] = useState(false);\r\n const [open, setOpen] = useState(false);\r\n const [encuestaId, setEncuestaId] = useState(0);\r\n const context = useRef();\r\n const validationSchema = yup.object().shape(\r\n {\r\n Nombre: yup.string().required('El nombre es obligatorio'),\r\n Descripcion: yup.string(),\r\n });\r\n\r\n useEffect(() => {\r\n cargarEncuestas();\r\n // eslint-disable-next-line\r\n }, [])\r\n const cargarEncuestas = async () => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Encuesta`);\r\n let fecha = moment().format('YYYY-MM-DD');\r\n let EncuestasActivas = request.data.filter(e => moment(e.FechaInicio).format(\"YYYY-MM-DD\") <= fecha && moment(e.FechaFin).format(\"YYYY-MM-DD\") >= fecha);\r\n let EncuestasInactivas = request.data.filter(e => moment(e.FechaInicio).format(\"YYYY-MM-DD\") > fecha || moment(e.FechaFin).format(\"YYYY-MM-DD\") < fecha);\r\n setEncuestasInactivas(EncuestasInactivas);\r\n setEncuestas(EncuestasActivas);\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se han cargado las encuestas.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const registrarEncuesta = async (data) => {\r\n try {\r\n await axios.post(`${APIURL}/api/Encuesta/registrar`, data);\r\n setMostrar(false)\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha creado la encuesta exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarEncuestas();\r\n });\r\n\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha registrado la encuesta.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const ModificarEncuestas = async (data) => {\r\n setMostrar(false)\r\n try {\r\n await axios.post(`${APIURL}/api/Encuesta/modificar`, data);\r\n Swal.fire({\r\n title: 'Confirmado',\r\n text: \"Se ha modificado la encuesta exitosamente.\",\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n }).then(e => {\r\n cargarEncuestas();\r\n });\r\n\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha modificado la pantalla.\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const openEdit = (encuesta) => {\r\n setFechaInicio(encuesta.FechaInicio)\r\n setfechaFin(encuesta.FechaFin)\r\n setEncuesta(encuesta);\r\n setMostrar(true);\r\n }\r\n\r\n const Modificar = (valores) => {\r\n valores.FechaInicio = moment(fechaInicio).format(\"YYYY-MM-DD\");\r\n valores.FechaFin = moment(fechaFin).format(\"YYYY-MM-DD\");\r\n ModificarEncuestas(valores)\r\n }\r\n\r\n const Mostrar = () => {\r\n setEncuesta(null);\r\n setMostrar(true);\r\n }\r\n\r\n const AgregarSeccion = (EncuestaId) => {\r\n cargarSeccionesPermitidas(EncuestaId);\r\n cargarSeccionesNoPermitidas(EncuestaId);\r\n setEncuestaSelected(EncuestaId)\r\n setMostrarSecciones(true);\r\n }\r\n\r\n const CargarEmpresasUsuario = (EncuestaId) => {\r\n cargarEmpresasPermitidas(EncuestaId);\r\n cargarEmpresasNoPermitidas(EncuestaId);\r\n setEncuestaSelected(EncuestaId)\r\n setMostrarEmpresas(true);\r\n }\r\n\r\n const cargarSeccionesPermitidas = async (EncuestaId) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Encuesta/SeccionesPermitidas/${EncuestaId}`);\r\n setSeccionesPermitidas(request.data);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n\r\n const cargarSeccionesNoPermitidas = async (EncuestaId) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Encuesta/SeccionesNoPermitidas/${EncuestaId}`);\r\n setSeccionesNoPermitidas(request.data);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n\r\n const asignarSeccion = async (SeccionId) => {\r\n console.log(SeccionId)\r\n try {\r\n await axios.post(`${APIURL}/api/Encuesta/AsignarSecciones/${EncuestaSelected}/${SeccionId}/${localStorage.getItem('codigo')}`);\r\n AgregarSeccion(EncuestaSelected);\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha guardado el registro\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const removerSeccion = async (SeccionId) => {\r\n try {\r\n await axios.post(`${APIURL}/api/Encuesta/RemoverSeccion/${SeccionId}/${EncuestaSelected}/${localStorage.getItem('codigo')}`);\r\n AgregarSeccion(EncuestaSelected);\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha guardado el registro\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const asignarEmpresa = async (EmpresaId) => {\r\n try {\r\n await axios.post(`${APIURL}/api/Encuesta/AsignarEmpresa/${EmpresaId}/${EncuestaSelected}/${localStorage.getItem('codigo')}`);\r\n CargarEmpresasUsuario(EncuestaSelected);\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha guardado el registro\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const removerEmpresa = async (EmpresaId) => {\r\n try {\r\n await axios.post(`${APIURL}/api/Encuesta/RemoverEmpresa/${EmpresaId}/${EncuestaSelected}/${localStorage.getItem('codigo')}`);\r\n CargarEmpresasUsuario(EncuestaSelected);\r\n } catch (err) {\r\n let mensaje = \"Ha ocurrido un error y no se ha guardado el registro\";\r\n\r\n if (err.response) {\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n const cargarEmpresasPermitidas = async (EncuestaId) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Encuesta/EmpresaPermitidas/${EncuestaId}`);\r\n setEmpresasAsignadas(request.data);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n\r\n const abrirRango = id => {\r\n setOpen(!open);\r\n setEncuestaId(id);\r\n }\r\n\r\n const cargarEmpresasNoPermitidas = async (EncuestaId) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/Encuesta/EmpresasNoPermitidas/${EncuestaId}`);\r\n setEmpresasNoAsignadas(request.data);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n let initialValues, edit;\r\n\r\n if (encuesta) {\r\n\r\n initialValues = {\r\n Id: encuesta.Id,\r\n Nombre: encuesta.Nombre,\r\n Descripcion: encuesta.Descripcion,\r\n FechaInicio: encuesta.FechaInicio,\r\n FechaFin: encuesta.FechaFin,\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n\r\n edit = true;\r\n }\r\n else {\r\n initialValues = {\r\n Nombre: '',\r\n Descripcion: '',\r\n FechaInicio: new Date(),\r\n FechaFin: new Date(),\r\n Usuario: localStorage.getItem('codigo')\r\n }\r\n edit = false;\r\n }\r\n return (\r\n
    \r\n \r\n REGISTRAR NUEVA ENCUESTA\r\n \r\n {\r\n values.FechaInicio = moment(fechaInicio).format(\"YYYY-MM-DD\");\r\n values.FechaFin = moment(fechaFin).format(\"YYYY-MM-DD\");\r\n registrarEncuesta(values)\r\n }}>\r\n {({ errors, resetForm, values, setValues, setFieldValue }) => (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n setFechaInicio(date)}\r\n />\r\n setfechaFin(date)}\r\n />\r\n
    \r\n \r\n \r\n {edit && }\r\n {!edit && }\r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n\r\n \r\n ACCESO DE EMPRESAS A ENCUESTA\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n SECCIONES PARA ENCUESTA\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport Button from '@material-ui/core/Button';\r\nimport axios from 'axios';\r\nimport TablaSecciones from 'components/Encuestas/Secciones/TablaSecciones';\r\nimport { APIURL } from 'utils/Enviroment';\r\nimport { useSelector } from 'react-redux';\r\nimport { TablaRelacion } from 'components/Seguridad/Relacional/TablaRelacion';\r\n\r\nexport const SeccionesEncuesta = props => {\r\n const [mostrarUsuario, setMostrarUsuario] = useState(false);\r\n const [UsuariosConAcceso,setUsuariosConAcceso] = useState([]);\r\n const [UsuariosSinAcceso,setUsuariosSinAcceso] = useState([]);\r\n const [seccionSelected, setSeccionSelected] = useState(null);\r\n const Secciones = useSelector(e => e.SeccionEncuesta);\r\n const cargarUsuarios = (seccionId) => {\r\n cargarUsuariosConAcceso(seccionId);\r\n cargarUsuariosSinAcceso(seccionId);\r\n setSeccionSelected(seccionId);\r\n setMostrarUsuario(true);\r\n }\r\n const cargarUsuariosConAcceso = async (seccionId) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/secciones/usuarios/${seccionId}/${props.Secciones[0].EncuestaId}`);\r\n setUsuariosConAcceso(request.data);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n\r\n const cargarUsuariosSinAcceso = async (seccionId) => {\r\n try {\r\n const request = await axios.get(`${APIURL}/api/secciones/usuariosSinAcceso/${seccionId}/${props.Secciones[0].EncuestaId}`);\r\n setUsuariosSinAcceso(request.data);\r\n } catch (err) {\r\n console.log(\"Ha ocurrido un error\", err.response)\r\n }\r\n }\r\n\r\n const asignarUsuario = async (usuarioId) => {\r\n try{\r\n await axios.post(`${APIURL}/api/secciones/AsignarAccesoUsuario/${seccionSelected}/${usuarioId}/${localStorage.getItem('codigo')}/${props.Secciones[0].EncuestaId}`);\r\n cargarUsuarios(seccionSelected);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha guardado el registro\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n const removerUsuario = async (usuarioId) => {\r\n try{\r\n await axios.post(`${APIURL}/api/secciones/RemoverUsuario/${usuarioId}/${seccionSelected}/${localStorage.getItem('codigo')}/${props.Secciones[0].EncuestaId}`)\r\n cargarUsuarios(seccionSelected);\r\n }catch(err){\r\n let mensaje = \"Ha ocurrido un error y no se ha guardado el registro\";\r\n\r\n if(err.response){\r\n mensaje = err.response.data.Message;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Error',\r\n text: mensaje,\r\n type: 'error',\r\n confirmButtonText: 'Ok',\r\n });\r\n }\r\n }\r\n\r\n \r\n useEffect(() => {\r\n // eslint-disable-next-line\r\n }, [])\r\n\r\n return (\r\n
    \r\n \r\n ACCESO DE USUARIOS\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n\r\n \r\n
    \r\n )\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Dropdown } from \"semantic-ui-react\";\r\nimport 'semantic-ui-css/semantic.min.css'\r\nimport {\r\n Card,\r\n CardContent,\r\n} from '@material-ui/core';\r\n\r\nconst SelectClienteEncuesta = (props) => {\r\n const [Value, setValue] = useState(null);\r\n useEffect(() => {\r\n props.cargarClientes();\r\n // eslint-disable-next-line\r\n },[]);\r\n\r\n var options = [];\r\n const handleOnChange = (value) => {\r\n var val = JSON.parse(value);\r\n setValue(value);\r\n props.cargarEncuestasActivas(val)\r\n }\r\n\r\n props.clientes.map(el => {\r\n var cliente = { key: el.Codigo, value: JSON.stringify(el), text: el.Codigo + ' - ' + el.Nombre }\r\n options.push(cliente);\r\n return 0;\r\n })\r\n\r\n return (\r\n <>\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Clientes\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleOnChange(value)}\r\n options={options}\r\n noResultsMessage={\"No hay resultados\"}\r\n closeOnChange={true}\r\n style={{ zIndex: 999 }}\r\n value={Value}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\nexport default SelectClienteEncuesta;\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport MUIDataTable from \"mui-datatables\";\r\nimport TableFooter from \"@material-ui/core/TableFooter\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport CustomFooter from 'components/Layout/CustomFooter';\r\nimport Button from '@material-ui/core/Button';\r\nimport { FaEdit } from \"react-icons/fa\";\r\nimport moment from 'moment';\r\nexport const TablaEncuestasActivas = props => {\r\n const { valores } = props;\r\n const columns = [\r\n\r\n { name: 'Nombre', label: 'Nombre' },\r\n { name: 'Descripcion', label: 'DescripciĆ³n' },\r\n { name: 'FechaInicio', label: 'Fecha Inicio' },\r\n { name: 'FechaFin', label: 'Fecha Fin' },\r\n { name: 'Acciones', label: 'Acciones' },\r\n ]\r\n const dataTabla = () => {\r\n return valores.map((valor) =>\r\n [valor.Nombre,\r\n valor.Descripcion,\r\n moment(valor.FechaInicio).format(\"DD/MM/YYYY\"),\r\n moment(valor.FechaFin).format(\"DD/MM/YYYY\"),\r\n ]);\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst DatatableOptions = {\r\n filterType: \"dropdown\",\r\n responsive: \"scrollMaxHeight\",\r\n print: false,\r\n download: false,\r\n selectableRows: 'none',\r\n customFooter: (count, page, rowsPerPage, changeRowsPerPage, changePage) => (\r\n \r\n \r\n changePage(page)}\r\n onChangeRowsPerPage={event => changeRowsPerPage(event.target.value)}\r\n rowsPerPageOptions={[10, 15, 100]}\r\n ActionsComponent={CustomFooter}\r\n labelRowsPerPage=\"Filas por pĆ”gina:\"\r\n />\r\n \r\n \r\n ),\r\n textLabels: {\r\n body: {\r\n noMatch: \"No se han encontrado registros\",\r\n toolTip: \"Ordenar\",\r\n },\r\n pagination: {\r\n next: \"Siguiente\",\r\n previous: \"Anterior\",\r\n rowsPerPage: \"Filas por pĆ”gina:\",\r\n displayRows: \"de\",\r\n },\r\n toolbar: {\r\n search: \"Buscar\",\r\n viewColumns: \"Ver Columnas\",\r\n filterTable: \"Filtrar Tabla\",\r\n },\r\n filter: {\r\n all: \"Todos\",\r\n title: \"Filtros\",\r\n reset: \"Quitar\",\r\n },\r\n viewColumns: {\r\n title: \"Mostrar Columnas\",\r\n titleAria: \"Mostrar/Esconder Columnas\",\r\n },\r\n selectedRows: {\r\n text: \"Fila(s) seleccionadas\",\r\n delete: \"Borrar\",\r\n deleteAria: \"Borrar Filas Seleccionadas\",\r\n },\r\n }\r\n};","import React from 'react'\r\nconst TextError = (props) => {\r\n return(\r\n
    \r\n {props.children}\r\n
    \r\n)}\r\nexport default TextError; ","import React from 'react'\r\nimport { Field, ErrorMessage } from 'formik'\r\nimport TextError from './TextError'\r\nimport FormikErrorFocus from 'formik-error-focus'\r\nconst Input = (props) => {\r\n const { label, Descripcion, name, ...rest } = props;\r\n return (\r\n \r\n )\r\n}\r\nexport default Input; ","import React from 'react'\r\nimport { Field, ErrorMessage } from 'formik'\r\nimport TextError from './TextError'\r\nimport FormikErrorFocus from 'formik-error-focus'\r\nconst TextArea = (props) => {\r\n const { label, Descripcion, name, ...rest } = props;\r\n return (\r\n \r\n )\r\n}\r\nexport default TextArea; ","import React from 'react'\r\nimport { Field, ErrorMessage } from 'formik'\r\nimport TextError from './TextError'\r\nimport FormikErrorFocus from 'formik-error-focus'\r\nconst Select = (props) => {\r\n const { label, Descripcion, name, options, ...rest } = props;\r\n return (\r\n \r\n )\r\n}\r\nexport default Select; ","import React from 'react'\r\nimport { Field, ErrorMessage } from 'formik'\r\nimport TextError from './TextError'\r\nimport FormikErrorFocus from 'formik-error-focus'\r\nconst RadioButton = (props) => {\r\n const { label, Descripcion, name, options, ...rest } = props;\r\n return (\r\n \r\n )\r\n}\r\nexport default RadioButton; ","import React from 'react'\r\nimport { Field, ErrorMessage } from 'formik'\r\nimport TextError from './TextError'\r\nimport FormikErrorFocus from 'formik-error-focus'\r\nconst CheckBox = (props) => {\r\n const { label, Descripcion, name, options, ...rest } = props;\r\n return (\r\n \r\n )\r\n}\r\nexport default CheckBox; ","import React from 'react'\r\nimport { Field, ErrorMessage } from 'formik'\r\nimport TextError from './TextError'\r\nimport { DatePicker } from \"@material-ui/pickers\";\r\nimport FormikErrorFocus from 'formik-error-focus'\r\nconst datePicker = (props) => {\r\n const { label, Descripcion, name, ...rest } = props;\r\n return (\r\n \r\n )\r\n}\r\nexport default datePicker; ","import React from 'react'\r\nimport Input from './Input'\r\nimport TextArea from './TextArea'\r\nimport Select from './Select'\r\nimport RadioButton from './RadioButton'\r\nimport CheckBox from './CheckBox'\r\nimport DatePicker from './DatePicker'\r\nconst FormikControl = (props) => {\r\n\r\n const {control, ...rest} = props;\r\n switch(props.control){\r\n case 'number':\r\n return \r\n case 'input':\r\n return \r\n case 'textarea' : \r\n return