{"version":3,"sources":["context/auth/authContext.js","context/cobros/cobrosContext.js","config/axios.js","assets/banner.gif","components/Usuario/UsuarioData.js","assets/cardinal-color.svg","components/Nav.js","assets/cardinal-full-white.svg","assets/frontini-logo.svg","assets/bannerfooter.gif","components/Footer.js","context/alerts/alertContext.js","components/Alert.js","assets/E404.svg","components/E404.js","types/index.js","context/auth/authReducer.js","context/auth/authState.js","context/alerts/alertReducer.js","context/alerts/alertState.js","context/cobros/cobrosReducer.js","context/cobros/cobrosState.js","context/usuarios/usuariosContext.js","context/usuarios/usuariosReducer.js","context/usuarios/usuariosState.js","assets/factura/17.png","assets/factura/18-withText.png","assets/factura/19.png","assets/factura/20.png","assets/factura/21.png","assets/factura/24.png","assets/factura/frontini-logo.svg","assets/factura/logoProvincia-Net.png","assets/factura/logoPago-Facil.png","components/Usuario/UsuarioFactura.js","components/Login.js","components/ModalRegister.js","components/Register.js","components/ConfirmarMail.js","components/RecuperarPass.js","components/Usuario/MisDatos/DatosPersonales.js","components/Usuario/MisDatos/GrupoPago/ModalAltaGP.js","components/Usuario/MisDatos/GrupoPago/Modal_Bloq_Desbloq.js","components/Usuario/MisDatos/GrupoPago/GrupoPago.js","components/Loading.js","components/Usuario/MisArchivos.js","components/Usuario/MisDatos.js","components/Usuario/MisFacturas/ModalCarga.js","components/Usuario/MisFacturas/MisFacturas.js","components/Usuario/MisPagos/ModalDetalle.js","components/Usuario/MisPagos/MisPagos.js","components/Usuario/MisFacturas/FacturaDescarga.js","components/Usuario/MisFacturas/NotificarPago.js","App.js","index.js"],"names":["authContext","createContext","cobrosContext","axiosClient","axios","create","baseURL","process","UsuarioData","location","useLocation","idEmpresa","URLSearchParams","search","get","nroDoc","nroSoc","history","useHistory","useContext","AuthContext","getUser","auth","CobrosContext","formatDate","formatImporte","calcularVencimiento","addFactura","setDatosFactura","recaptchaRef","useRef","useState","captchaVerified","setCaptchaVerified","facturasCliente","setFacturasCliente","archivosUsuario","setArchivosUsuario","setDeudaTotal","deudaVencida","setDeudaVencida","mainLoading","setMainLoading","loadingLogin","setLoadingLogin","loading","setLoading","loadingFactura","setLoadingFactura","datosEmpresa","setDatosEmpresa","showAlert","setShowAlert","type","color","bgColor","accentColor","message","datosAlert","setDatosAlert","dni","nrosocio","idGrupo","captchaToken","datosUsuario","setDatosUsuario","useEffect","then","push","post","id","response","data","newDatosUsuario","id_grupo","catch","err","console","log","updateValue","e","target","name","value","updateAlert","newDatosAlert","dir_ip","a","publicIp","v4","fallbackUrls","undefined","dir_ip_v4","v6","dir_ip_v6","openInNewTab","url","newWindow","window","open","opener","solicitarFactura","factura","newLoadingFacturas","facturas","localStorage","getItem","facturas_JSON","JSON","parse","setItem","stringify","date","Date","year","getFullYear","month","getMonth","dt","getDate","hs","getHours","min","getMinutes","nombreempresa","nroSocio","payload","empresa","fecha","hora","direccion_ip","onExpired","className","xmlns","fill","viewBox","stroke","strokeLinecap","strokeLinejoin","strokeWidth","d","to","htmlFor","fillRule","clipRule","placeholder","onChange","identificacion","ref","sitekey","token","onErrored","onClick","removeItem","length","archivos","current","reset","total","total_deuda","code","cx","cy","r","src","bannerAside","nombre","toUpperCase","map","f","fechaVencimiento","cod_barra","descripcion","importe","saldo","saldoafecha","href","download","Nav","logoutUser","checkPermission","menuItems","puntoCobro","checkGrupo","link","permiso","menuOpen","setMenuOpen","userMenuOpen","setUserMenuOpen","showNav","setShowNav","pathname","includes","aria-expanded","frontiniLogo","alt","item","aria-haspopup","role","aria-orientation","aria-labelledby","Footer","showFooter","setShowFooter","cardinalLogo","classsName","bannerFoot","alertContext","Alert","alert","AlertContext","category","msg","E404","E404img","LOGING_SUCCESS","LOGING_ERROR","GET_USER","LOG_OUT","SET_FECHA","SET_ALERT","DELETE_ALERT","RESULTADO_PERSONA","DNI_PERSONA","FACTURAS_SELECCIONADAS","SELECCIONAR_FACTURA","FACTURAS_CLIENTE","IMPORTE_TOTAL","NOMBRE_CLIENTE","VERIFICAR_PARCIAL","SET_PAGO_PARCIAL","SET_IMPORTE_CLIENTE","RECIBOS_CLIENTE","SET_BUSCADOR_ESTADO","VENCIMIENTO_CLIENTE","TOTAL_CLIENTE","RESET_STATE","SET_MODAL_GP","SET_MODAL_REGISTER","SET_MODAL_DETALLE","SET_MODAL_BLOQ_DESBLOQ","SET_MODAL_LOADING_PREFERENCIA","state","action","username","userId","grupos","permission","parseInt","datosCobrador","AuthState","props","setAlert","useReducer","authReducer","loginLoading","dispatch","fechaInput","setFechaInput","header","headers","Authorization","loginUser","solicitarResetPassword","email","sitio","Provider","userID","setFecha","isNaN","getTime","day","getUTCDate","toString","getUTCMonth","children","AlertState","alertReducer","setTimeout","resultadoPersona","nombreCliente","facturaSeleccionada","seleccionadasPagar","importeTotal","importeCliente","pagoParcial","pagoVerificado","recibosIDs","recibosCliente","buscadorActivo","montoPorCliente","vencimientoCliente","totalCliente","dniPersona","CobrosState","cobrosReducer","pagoCobrador","setPagoCobrador","vuelto","setVuelto","observaciones","setObservaciones","dataObservaciones","setDataObservaciones","loadingState","setLoadingState","metodoPago","setMetodoPago","modalAnularRecibo","setModalAnularRecibo","idRecibo","setIdRecibo","recibosUpdated","setRecibosUpdated","datosFactura","validacionFacturasParciales","selectPersona","getPersona","dniOsocio","cobrador","fecha_de_cobro","filtrarFacturasSeleccionadas","usuario","filtrar","filter","some","other","Intl","NumberFormat","minimumFractionDigits","format","obj","estado","procesarPagoParcial","importeRecibo","procesarPago","observacionesRecibo","idCobrador","horaDeCobro","formaPago","mostrarRecibos","recibos","consultarImprimirRecibo","imprimirTicket","consultarImprimirCierreDetalle","imprimirCierreDetalle","rendicion","consultarImprimirCierre","imprimirCierre","dataTicket","doc","reimpresion","fechaTicket","addFont","setFont","setFontSize","text","toLocaleDateString","timeZone","linea","i","concepto","pagoTotal","recibo","jsPDF","orientation","unit","autoPrint","output","filename","fechaCierre","checkEstadoFactura","interes","filtrarFacturas","eliminarFactura","eliminarFacturasSelecionadas","setPagoParcial","setPagoVerificado","setImporteCliente","pagoTerminado","imprimirTodosTickets","addPage","setMostrarVuelto","setMostrarObservaciones","pideObservaciones","resetState","usuariosContext","modalGP","modalRegister","modalDetalle","modalBloqDesbloq","modalLoadingPreferencia","UsuariosState","usuariosReducer","updateGP","setUpdateGP","setModalGP","setModalRegister","setModalDetalle","setModalBloqDesbloq","setModalLoadingPreferencia","UsuarioFactura","idFactura","Object","keys","inputRef","useBarcode","ID_empresa","LogoCS","LogoObstreticasD1","LogoObstreticasD5","LogoObstreticasD6","LogoCOPBA2","LogoCOPBAX","LogoPagoFacil","width","height","LogoProvincia","fechaVencimiento1","fechaVencimiento2","FrontiniLogo","Login","password","user","setUser","loadingReset","setLoadingReset","onSubmit","preventDefault","trim","ModalRegister","aria-hidden","aria-modal","stroke-linecap","stroke-linejoin","stroke-width","Register","UsuariosContext","initialValues","apellido","fechaNac","confirmPass","validate","values","errors","test","pass","setSubmitting","mail","scrollTo","top","touched","handleChange","handleBlur","handleSubmit","isSubmitting","fill-rule","clip-rule","onBlur","disabled","ConfirmarMail","title","subtitle","progress","error","textoNotificacion","setTextoNotificacion","codigo","newText","RecuperarPass","resetPassword","codigoUnico","requestCompletado","setRequestCompletado","strongPasswordCheck","plain_password","confirmar_password","DatosPersonales","habilitarEdicion","setHabilitarEdicion","misDatos","setMisDatos","datosGenerales","setDatosGenerales","loadingDatos","setLoadingDatos","actualizando","setActualizando","persona","provincias","generos","newDatos","genero","g","clave","slice","celular","telefono","direccion","provincia","p","ciudad","codigoPostal","idPersona","tipoDoc","actualizarDatos","ModalAltaGP","setDNIPersona","nombrePersona","setNombrePersona","agregarPersona","dniPadre","dniHijo","mensaje","maxLength","MODAL_BLOQ_DESBLOQ","dataModal","handleAction","elim","bloq","nroDocPadre","nroDocHijo","GrupoPago","setDataModal","grupoPropio","setGrupoPropio","grupoExterno","setGrupoExterno","grupoPropioAux","grupoExternoAux","dato","sort","b","miembro","Loading","MisArchivos","loadingFacturas","setLoadingFacturas","setArchivos","hayError","setHayError","ar","id_emp","id_arch","id_archivo","id_empresa","focus","MisDatos","elegido","setElegido","ModalCarga","preserveAspectRatio","parseFloat","importe2","opacity","attributename","from","dur","repeatcount","MisFacturas","facturasPropias","setFacturasPropias","facturasGrupo","setFacturasGrupo","paymentModalOpen","setPaymentModalOpen","preferenceId","setPreferenceId","setFacturaSeleccionada","aux","GP_ARRAY","PROP_ARRAY","MERGED_ARRAY","key","hasOwnProperty","addCheckout","MercadoPago","locale","checkout","preference","autoOpen","script","document","createElement","addEventListener","body","appendChild","generarPreferencia","nomCliente","REACT_APP_NOMBRE_CLIENTE","infoAdicional","items","titulo","cantidad","precio_unitario","preferencia","id_preferencia_mp","nombre_empresa","newPaymentModal","entries","handlePaymentModal","medioDePago","medio","ModalDetalle","pago","Math","floor","random","MisPagos","loadingPagos","setLoadingPagos","detalle","setDetalle","pagosPropios","setPagosPropios","pagosGrupo","setPagosGrupo","pagosPropiosAux","pagosGrupoAux","numero","punto_cobro","FacturaDescarga","imprimiendo","setImprimiendo","print","LogoCardinal","now","getNowTime","NotificarPago","preference_id","payment_id","estado_pago","loadingPago","setLoadingPago","setFactura","nombre_cliente","id_preferencia","id_pago","monto_abonado","App","exact","path","component","Confirmacion","ReactDOM","render","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.daffe67d.chunk.js","sourcesContent":["import {createContext} from 'react';\r\n\r\nconst authContext = createContext();\r\n\r\nexport default authContext;","import {createContext} from 'react';\r\n\r\nconst cobrosContext = createContext();\r\n\r\nexport default cobrosContext;","import axios from \"axios\";\r\nvar env = process.env.REACT_APP_BACKEND_URL;\r\n\r\nconst axiosClient = axios.create({\r\n baseURL: env,\r\n});\r\n\r\nexport default axiosClient;\r\n","export default __webpack_public_path__ + \"static/media/banner.f5b0da6d.gif\";","import React, { useEffect, useContext, useState, useRef } from \"react\";\r\nimport AuthContext from \"../../context/auth/authContext\";\r\nimport CobrosContext from \"../../context/cobros/cobrosContext\";\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport axiosClient from \"../../config/axios\";\r\nimport { useHistory, Link, useLocation } from \"react-router-dom\";\r\nimport publicIp from \"public-ip\";\r\nimport bannerAside from \"../../assets/banner.gif\";\r\n\r\nfunction UsuarioData() {\r\n let location = useLocation();\r\n const idFactura = new URLSearchParams(location.search).get(\"f\");\r\n\r\n const idEmpresa = new URLSearchParams(location.search).get(\"idEmpresa\");\r\n const nroDoc = new URLSearchParams(location.search).get(\"nroDoc\");\r\n const nroSoc = new URLSearchParams(location.search).get(\"nroSoc\");\r\n /* if (nroDoc === null || nroSoc === \"\") {\r\n window.location.href = \"/login\";\r\n } */\r\n const history = useHistory();\r\n const authContext = useContext(AuthContext);\r\n const { getUser, auth } = authContext;\r\n\r\n const cobrosContext = useContext(CobrosContext);\r\n const {\r\n formatDate,\r\n formatImporte,\r\n calcularVencimiento,\r\n addFactura,\r\n setDatosFactura,\r\n } = cobrosContext;\r\n\r\n const recaptchaRef = useRef();\r\n\r\n const [captchaVerified, setCaptchaVerified] = useState(false);\r\n const [facturasCliente, setFacturasCliente] = useState([]);\r\n const [archivosUsuario, setArchivosUsuario] = useState([]);\r\n const [deudaTotal, setDeudaTotal] = useState(0);\r\n const [deudaVencida, setDeudaVencida] = useState(0);\r\n const [mainLoading, setMainLoading] = useState(true);\r\n const [loadingLogin, setLoadingLogin] = useState(true);\r\n const [loading, setLoading] = useState(false);\r\n const [loadingFactura, setLoadingFactura] = useState({});\r\n const [datosEmpresa, setDatosEmpresa] = useState({});\r\n const [showAlert, setShowAlert] = useState(false);\r\n const [datosAlert, setDatosAlert] = useState({\r\n type: \"warning\",\r\n color: \"yellow\",\r\n bgColor: \"300\",\r\n accentColor: \"400\",\r\n message: \"Warning!\",\r\n });\r\n\r\n const [datosUsuario, setDatosUsuario] = useState({\r\n dni: \"\",\r\n nrosocio: \"\",\r\n idGrupo: \"0\",\r\n captchaToken: null,\r\n });\r\n\r\n useEffect(() => {\r\n getUser().then(() => {\r\n if (auth) {\r\n history.push(\"/mis-datos\");\r\n } else {\r\n setLoadingLogin(false);\r\n }\r\n });\r\n }, [auth]);\r\n\r\n useEffect(() => {\r\n setDatosFactura({});\r\n if (idEmpresa !== null) {\r\n axiosClient\r\n .post(\"datos_empresa\", { id: idEmpresa })\r\n .then((response) => {\r\n setDatosEmpresa(response.data.data[0]);\r\n const newDatosUsuario = { ...datosUsuario };\r\n newDatosUsuario[\"idGrupo\"] = response.data.data[0].id_grupo;\r\n if (nroDoc && nroSoc !== null) {\r\n newDatosUsuario[\"dni\"] = nroDoc;\r\n newDatosUsuario[\"nrosocio\"] = nroSoc;\r\n }\r\n setDatosUsuario(newDatosUsuario);\r\n setMainLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n } else {\r\n if (nroDoc && nroSoc !== null) {\r\n const newDatosUsuario = { ...datosUsuario };\r\n newDatosUsuario[\"dni\"] = nroDoc;\r\n newDatosUsuario[\"nrosocio\"] = nroSoc;\r\n setDatosUsuario(newDatosUsuario);\r\n setMainLoading(false);\r\n } else {\r\n setMainLoading(false);\r\n }\r\n\r\n // else {\r\n // setMainLoading(false);\r\n // }\r\n }\r\n }, []);\r\n\r\n const updateValue = (e) => {\r\n const newDatosUsuario = { ...datosUsuario };\r\n newDatosUsuario[e.target.name] = e.target.value;\r\n setDatosUsuario(newDatosUsuario);\r\n };\r\n\r\n const updateAlert = (type, color, bgColor, accentColor, message) => {\r\n var newDatosAlert = { ...datosAlert };\r\n newDatosAlert.type = type;\r\n newDatosAlert.color = color;\r\n newDatosAlert.bgColor = bgColor;\r\n newDatosAlert.accentColor = accentColor;\r\n newDatosAlert.message = message;\r\n setDatosAlert(newDatosAlert);\r\n setShowAlert(true);\r\n };\r\n\r\n const buscarFacturas = () => {\r\n setShowAlert(false);\r\n if (datosUsuario.dni === \"\" || datosUsuario.nrosocio === \"\") {\r\n updateAlert(\r\n \"warning\",\r\n \"yellow\",\r\n \"300\",\r\n \"500\",\r\n \"Por favor, completá los dos campos\"\r\n );\r\n } else {\r\n if (!captchaVerified) {\r\n updateAlert(\r\n \"warning\",\r\n \"yellow\",\r\n \"300\",\r\n \"500\",\r\n \"Por favor, completá el reCaptcha\"\r\n );\r\n } else {\r\n setLoading(true);\r\n setFacturasCliente([]);\r\n setArchivosUsuario([]);\r\n localStorage.removeItem(\"facturas\");\r\n axiosClient\r\n .post(\"facturas_descargas\", datosUsuario)\r\n .then((response) => {\r\n if (\r\n response.data.data.facturas.length === 0 &&\r\n response.data.data.archivos.length === 0\r\n ) {\r\n updateAlert(\r\n \"warning\",\r\n \"yellow\",\r\n \"300\",\r\n \"500\",\r\n \"No se encontraron facturas con los datos solicitados\"\r\n );\r\n recaptchaRef.current.reset();\r\n setLoading(false);\r\n } else {\r\n setDeudaTotal(response.data.data.total);\r\n setDeudaVencida(response.data.data.total_deuda);\r\n setFacturasCliente(response.data.data.facturas);\r\n setArchivosUsuario(response.data.data.archivos);\r\n setCaptchaVerified(false);\r\n recaptchaRef.current.reset();\r\n setLoading(false);\r\n }\r\n })\r\n .catch((err) => {\r\n if (err.response.data.code === 404) {\r\n updateAlert(\r\n \"warning\",\r\n \"yellow\",\r\n \"300\",\r\n \"500\",\r\n \"No se encontraron facturas con los datos solicitados\"\r\n );\r\n setLoading(false);\r\n setCaptchaVerified(false);\r\n recaptchaRef.current.reset();\r\n } else {\r\n updateAlert(\r\n \"error\",\r\n \"red\",\r\n \"300\",\r\n \"500\",\r\n \"Hubo un error, por favor intentá de nuevo\"\r\n );\r\n setLoading(false);\r\n setCaptchaVerified(false);\r\n recaptchaRef.current.reset();\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n const dir_ip = async () => {\r\n const dir_ip_v4 = await publicIp\r\n .v4({\r\n fallbackUrls: [\"https://ifconfig.co/ip\"],\r\n })\r\n .catch((err) => {\r\n console.log(null);\r\n });\r\n if (dir_ip_v4 === undefined) {\r\n const dir_ip_v6 = await publicIp\r\n .v6({\r\n fallbackUrls: [\"https://ifconfig.co/ip\"],\r\n })\r\n .catch((err) => {\r\n console.log(null);\r\n });\r\n if (dir_ip_v6 === undefined) {\r\n return \"NO SE PUDO OBTENER LA IP\";\r\n } else {\r\n return dir_ip_v6;\r\n }\r\n } else {\r\n return dir_ip_v4;\r\n }\r\n };\r\n\r\n const openInNewTab = (url) => {\r\n const newWindow = window.open(url, \"_blank\", \"noopener,noreferrer\");\r\n if (newWindow) newWindow.opener = null;\r\n };\r\n\r\n const solicitarFactura = async (factura) => {\r\n var newLoadingFacturas = { ...loadingFactura };\r\n newLoadingFacturas[factura.id] = true;\r\n setLoadingFactura(newLoadingFacturas);\r\n setDatosFactura(factura);\r\n var facturas = localStorage.getItem(\"facturas\");\r\n if (facturas !== null) {\r\n var facturas_JSON = JSON.parse(facturas);\r\n facturas_JSON.facturas[factura.id] = factura;\r\n localStorage.setItem(\"facturas\", JSON.stringify(facturas_JSON));\r\n } else {\r\n var facturas_JSON = {\r\n facturas: {\r\n [factura.id]: factura,\r\n },\r\n };\r\n localStorage.setItem(\"facturas\", JSON.stringify(facturas_JSON));\r\n }\r\n //localStorage.setItem(\"factura\", JSON.stringify(factura));\r\n var date = new Date();\r\n var year = date.getFullYear();\r\n var month = date.getMonth() + 1;\r\n var dt = date.getDate();\r\n var hs = date.getHours();\r\n var min = date.getMinutes();\r\n if (dt < 10) {\r\n dt = \"0\" + dt;\r\n }\r\n if (month < 10) {\r\n month = \"0\" + month;\r\n }\r\n if (hs < 10) {\r\n hs = \"0\" + hs;\r\n }\r\n if (min < 10) {\r\n min = \"0\" + min;\r\n }\r\n\r\n const payload = {\r\n empresa: factura.nombreempresa,\r\n nroDoc: factura.nroDoc,\r\n nroSocio: factura.nroSocio,\r\n fecha: year + \"-\" + month + \"-\" + dt,\r\n hora: hs + \":\" + min,\r\n direccion_ip: await dir_ip(),\r\n };\r\n axiosClient\r\n .post(\"log_factura\", payload)\r\n .then((response) => {\r\n newLoadingFacturas = { ...loadingFactura };\r\n newLoadingFacturas[factura.id] = false;\r\n setLoadingFactura(newLoadingFacturas);\r\n })\r\n .catch((err) => {\r\n newLoadingFacturas = { ...loadingFactura };\r\n newLoadingFacturas[factura.id] = false;\r\n setLoadingFactura(newLoadingFacturas);\r\n console.log(err);\r\n });\r\n openInNewTab(\"/factura?f=\" + factura.id);\r\n };\r\n\r\n const onVerified = (token) => {\r\n const newDatosUsuario = { ...datosUsuario };\r\n newDatosUsuario.captchaToken = token;\r\n setDatosUsuario(newDatosUsuario);\r\n setCaptchaVerified(true);\r\n }; \r\n\r\n const onExpired = () => {\r\n const newDatosUsuario = { ...datosUsuario };\r\n newDatosUsuario.captchaToken = null;\r\n setDatosUsuario(newDatosUsuario);\r\n setCaptchaVerified(false);\r\n };\r\n\r\n if (mainLoading || loadingLogin) {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n

Cargando...

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

\r\n 😱 ¿Sabías que ahora podés ver tus facturas y pagos en un solo\r\n lugar?\r\n

\r\n \r\n Registrate acá\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Mis Facturas\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Número de DNI\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n updateValue(e)}\r\n value={datosUsuario.dni}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n {datosEmpresa.identificacion === undefined\r\n ? \"Identificación\"\r\n : datosEmpresa.identificacion}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n updateValue(e)}\r\n value={datosUsuario.nrosocio}\r\n />\r\n
\r\n \r\n buscarFacturas()}\r\n >\r\n Buscar\r\n {loading ? (\r\n \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 {showAlert ? (\r\n \r\n
\r\n

\r\n {datosAlert.type === \"warning\" ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n\r\n

\r\n {datosAlert.message}\r\n

\r\n

\r\n
\r\n
\r\n setShowAlert(false)}\r\n >\r\n \r\n \r\n
\r\n
\r\n ) : null}\r\n\r\n {facturasCliente.length > 0 ? (\r\n 0\r\n ? \"p-4 bg-white rounded shadow-lg mb-3 ml-4 mr-4 transition ease-in duration-75 transform opacity-100 scale-100\"\r\n : \"p-4 bg-white rounded shadow-lg mb-3 ml-4 mr-4 transition ease-out duration-100 transform opacity-0 scale-0\"\r\n }\r\n >\r\n
\r\n
\r\n
\r\n

\r\n {facturasCliente[0].nombre.toUpperCase() +\r\n \" - \" +\r\n facturasCliente[0].nroSocio}\r\n

\r\n

\r\n Facturas\r\n

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

Deuda Total

\r\n

{formatImporte(deudaTotal)}

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

Abonar a la fecha

\r\n

{formatImporte(deudaVencida)}

\r\n
\r\n
\r\n
\r\n {facturasCliente.map((f) => (\r\n addFactura(f)}\r\n >\r\n
\r\n

EMPRESA

\r\n

{f.nombreempresa}

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

\r\n FECHA DE EMISIÓN\r\n

\r\n

{formatDate(f.fecha)}

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

DESCRIPCIÓN

\r\n

{f.descripcion}

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

VENCIMIENTO

\r\n

\r\n {formatDate(f.fechaVencimiento)}\r\n

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

TOTAL

\r\n

\r\n {formatImporte(f.importe)}\r\n

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

SALDO

\r\n

\r\n {formatImporte(f.saldo)}\r\n

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

\r\n SALDO A LA FECHA\r\n

\r\n

\r\n {formatImporte(f.saldoafecha)}\r\n

\r\n \r\n {f.cod_barra !== 0 ? (\r\n
\r\n

ACCIONES

\r\n solicitarFactura(f)}\r\n >\r\n {loadingFactura[f.id] ? (\r\n
\r\n \r\n \r\n \r\n

CARGANDO...

\r\n
\r\n ) : (\r\n \"DESCARGAR\"\r\n )}\r\n \r\n
\r\n ) : null}\r\n \r\n ))}\r\n \r\n ) : null}\r\n {archivosUsuario.length > 0 ? (\r\n
\r\n
\r\n

\r\n {facturasCliente[0].nombre.toUpperCase() +\r\n \" - \" +\r\n facturasCliente[0].nroSocio}\r\n

\r\n

\r\n Archivos\r\n

\r\n
\r\n {archivosUsuario.map((a) => (\r\n addFactura(f)}\r\n >\r\n
\r\n

EMPRESA

\r\n

{a.nombreempresa}

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

DESCRIPCIÓN

\r\n

{a.descripcion}

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

ACCIONES

\r\n {/* \r\n DESCARGAR\r\n */}\r\n \r\n DESCARGAR\r\n \r\n
\r\n
\r\n ))}\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default UsuarioData;\r\n","export default __webpack_public_path__ + \"static/media/cardinal-color.add1432e.svg\";","import React, { useContext, useState, useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport AuthContext from \"../context/auth/authContext\";\r\n\r\nimport frontiniLogo from \"../assets/cardinal-color.svg\";\r\n\r\nfunction Nav() {\r\n const authContext = useContext(AuthContext);\r\n const { auth, logoutUser, checkPermission, puntoCobro, checkGrupo } =\r\n authContext;\r\n const menuItems = [\r\n { nombre: \"Iniciar Sesión\", link: \"/login\", permiso: \"NO_USER\" },\r\n { nombre: \"Registrarse\", link: \"/register\", permiso: \"NO_USER\" },\r\n { nombre: \"Mis Datos\", link: \"/mis-datos\", permiso: \"USUARIO\" },\r\n {\r\n nombre: \"Mis Facturas\",\r\n link: \"/mis-facturas\",\r\n permiso: \"USUARIO\",\r\n },\r\n { nombre: \"Mis Pagos\", link: \"/mis-pagos\", permiso: \"USUARIO\" },\r\n { nombre: \"Mis Archivos\", link: \"/mis-archivos\", permiso: \"USUARIO\" },\r\n ];\r\n const [menuOpen, setMenuOpen] = useState(false);\r\n const [userMenuOpen, setUserMenuOpen] = useState(false);\r\n const [showNav, setShowNav] = useState(false);\r\n\r\n const menuToggle = () => {\r\n setMenuOpen(!menuOpen);\r\n };\r\n\r\n const userMenuToggle = () => {\r\n setUserMenuOpen(!userMenuOpen);\r\n };\r\n const checkURL = () => {\r\n if (\r\n window.location.pathname !== \"/confirmacion\" &&\r\n window.location.pathname !== \"/login2\" &&\r\n !window.location.pathname.includes(\"factura-descarga\")\r\n ) {\r\n setShowNav(true);\r\n } else {\r\n setShowNav(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n checkURL();\r\n });\r\n\r\n if (showNav) {\r\n return (\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n {menuItems.map((item) =>\r\n checkPermission(item.permiso) ? (\r\n \r\n {item.nombre}\r\n \r\n ) : null\r\n )}\r\n
\r\n
\r\n \r\n \r\n );\r\n } else {\r\n return
;\r\n }\r\n}\r\n\r\nexport default Nav;\r\n","export default __webpack_public_path__ + \"static/media/cardinal-full-white.aaa28a03.svg\";","export default __webpack_public_path__ + \"static/media/frontini-logo.4a7950c3.svg\";","export default __webpack_public_path__ + \"static/media/bannerfooter.2172bfe2.gif\";","import React, { useEffect, useState, useContext } from \"react\";\r\nimport cardinalLogo from \"../assets/cardinal-full-white.svg\";\r\nimport frontiniLogo from \"../assets/frontini-logo.svg\";\r\nimport bannerFoot from \"../assets/bannerfooter.gif\";\r\nimport AuthContext from \"../context/auth/authContext\";\r\n\r\n\r\nfunction Footer() {\r\n const [showFooter, setShowFooter] = useState(false);\r\n const authContext = useContext(AuthContext);\r\n const { auth } = authContext;\r\n console.log(authContext);\r\n const checkURL = () => {\r\n setShowFooter(\r\n window.location.pathname !== \"/factura\" &&\r\n !window.location.pathname.includes(\"factura-descarga\")\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n checkURL();\r\n }, []);\r\n\r\n if (showFooter) {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \"Cardinal\r\n
\r\n {\r\n auth ?\r\n
\r\n \r\n
\r\n : null\r\n } \r\n
\r\n \r\n

Frontini S.R.L

\r\n

\r\n Dirección Calle 14 N° 622 1/2\r\n

\r\n

\r\n La Plata, Bs. As. – Argentina\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n Desarrollado por Frontini Soluciones Informáticas\r\n \r\n
\r\n
\r\n );\r\n } else {\r\n return
;\r\n }\r\n}\r\n\r\nexport default Footer;\r\n","import {createContext} from 'react';\r\n\r\nconst alertContext = createContext();\r\n\r\nexport default alertContext;","import React, { useContext } from \"react\";\r\nimport AlertContext from \"../context/alerts/alertContext\";\r\n\r\nfunction Alert() {\r\n const alertContext = useContext(AlertContext);\r\n const { alert } = alertContext;\r\n\r\n if (alert) {\r\n return (\r\n \r\n {alert.category === \"red-300\" ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {alert.category === \"yellow-300\" ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {alert.category === \"green-300\" ? (\r\n \r\n \r\n \r\n ) : null}\r\n

{alert.msg}

\r\n \r\n );\r\n } else {\r\n return
;\r\n }\r\n}\r\n\r\nexport default Alert;\r\n","export default __webpack_public_path__ + \"static/media/E404.abb5b3d4.svg\";","import React from \"react\";\r\n\r\nimport E404img from \"../assets/E404.svg\";\r\n\r\nfunction E404() {\r\n \r\n return (\r\n
\r\n
\r\n \"imagen\r\n
\r\n
\r\n

\r\n ¡Oh no! Error 404\r\n

\r\n

\r\n La página que estás buscando no existe.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default E404;\r\n","export const LOGING_SUCCESS = \"LOGING_SUCCESS\";\r\nexport const LOGING_ERROR = \"LOGING_ERROR\";\r\nexport const GET_USER = \"GET_USER\";\r\nexport const LOG_OUT = \"LOG_OUT\";\r\nexport const SET_FECHA = \"SET_FECHA\";\r\n\r\nexport const SET_ALERT = \"SET_ALERT\";\r\nexport const DELETE_ALERT = \"DELETE_ALERT\";\r\n\r\nexport const RESULTADO_PERSONA = \"RESULTADO_PERSONA\";\r\nexport const DNI_PERSONA = \"DNI_PERSONA\";\r\nexport const FACTURAS_SELECCIONADAS = \"FACTURAS_SELECCIONADAS\";\r\nexport const SELECCIONAR_FACTURA = \"SELECCIONAR_FACTURA\";\r\nexport const FACTURAS_CLIENTE = \"FACTURAS_CLIENTE\";\r\nexport const IMPORTE_TOTAL = \"IMPORTE_TOTAL\";\r\nexport const NOMBRE_CLIENTE = \"NOMBRE_CLIENTE\";\r\nexport const VERIFICAR_PARCIAL = \"VERIFICAR_PARCIAL\";\r\nexport const SET_PAGO_PARCIAL = \"SET_PAGO_PARCIAL\";\r\nexport const SET_IMPORTE_CLIENTE = \"SET_IMPORTE_CLIENTE\";\r\nexport const PROCESAR_PAGO = \"PROCESAR_PAGO\";\r\nexport const RECIBOS_CLIENTE = \"RECIBOS_CLIENTE\";\r\nexport const SET_BUSCADOR_ESTADO = \"SET_BUSCADOR_ESTADO\";\r\nexport const VENCIMIENTO_CLIENTE = \"VENCIMIENTO_CLIENTE\";\r\nexport const TOTAL_CLIENTE = \"TOTAL_CLIENTE\";\r\nexport const RESET_STATE = \"RESET_STATE\";\r\n\r\n// Usuarios Types\r\nexport const SET_MODAL_GP = \"SET_MODAL_GP\";\r\nexport const SET_MODAL_REGISTER = \"SET_MODAL_REGISTER\";\r\nexport const SET_MODAL_DETALLE = \"SET_MODAL_DETALLE\";\r\nexport const SET_MODAL_BLOQ_DESBLOQ = \"SET_MODAL_BLOQ_DESBLOQ\";\r\nexport const SET_MODAL_LOADING_PREFERENCIA = \"SET_MODAL_LOADING_PREFERENCIA\";\r\n","import {\r\n LOGING_SUCCESS,\r\n LOGING_ERROR,\r\n GET_USER,\r\n LOG_OUT,\r\n SET_FECHA,\r\n} from \"../../types/index.js\";\r\n\r\nexport default (state, action) => {\r\n switch (action.type) {\r\n case GET_USER:\r\n localStorage.setItem(\"username\", action.payload.username);\r\n localStorage.setItem(\"userId\", action.payload.userId);\r\n localStorage.setItem(\"grupos\", JSON.stringify(action.payload.grupos));\r\n localStorage.setItem(\r\n \"permission\",\r\n JSON.stringify(action.payload.permission)\r\n );\r\n localStorage.setItem(\"fecha\", action.payload.fecha);\r\n localStorage.setItem(\"hora\", action.payload.hora);\r\n return {\r\n ...state,\r\n auth: true,\r\n token: localStorage.getItem(\"token\"),\r\n username: localStorage.getItem(\"username\"),\r\n name: localStorage.getItem(\"name\"),\r\n userId: parseInt(localStorage.getItem(\"userId\")),\r\n grupos: JSON.parse(localStorage.getItem(\"grupos\")),\r\n puntoCobro: localStorage.getItem(\"puntoCobro\"),\r\n datosCobrador: JSON.parse(localStorage.getItem(\"datosCobrador\")),\r\n permission: JSON.parse(localStorage.getItem(\"permission\")),\r\n fecha: localStorage.getItem(\"fecha\"),\r\n hora: localStorage.getItem(\"hora\"),\r\n };\r\n\r\n case LOGING_SUCCESS:\r\n localStorage.setItem(\"token\", action.payload.token);\r\n localStorage.setItem(\"username\", action.payload.username);\r\n if (action.payload.nombre) {\r\n localStorage.setItem(\"name\", action.payload.nombre);\r\n } else {\r\n localStorage.setItem(\"name\", action.payload.username);\r\n }\r\n localStorage.setItem(\"userId\", action.payload.userId);\r\n localStorage.setItem(\"grupos\", JSON.stringify(action.payload.grupos));\r\n localStorage.setItem(\r\n \"permission\",\r\n JSON.stringify(action.payload.permission)\r\n );\r\n return {\r\n ...state,\r\n auth: true,\r\n token: localStorage.getItem(\"token\"),\r\n username: localStorage.getItem(\"username\"),\r\n name: localStorage.getItem(\"name\"),\r\n userId: parseInt(localStorage.getItem(\"userId\")),\r\n grupos: JSON.parse(localStorage.getItem(\"grupos\")),\r\n puntoCobro: localStorage.getItem(\"puntoCobro\"),\r\n datosCobrador: JSON.parse(localStorage.getItem(\"datosCobrador\")),\r\n permission: JSON.parse(localStorage.getItem(\"permission\")),\r\n };\r\n case LOGING_ERROR:\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"username\");\r\n localStorage.removeItem(\"name\");\r\n localStorage.removeItem(\"userId\");\r\n localStorage.removeItem(\"grupos\");\r\n localStorage.removeItem(\"permission\");\r\n localStorage.removeItem(\"datosCobrador\");\r\n localStorage.removeItem(\"puntoCobro\");\r\n localStorage.removeItem(\"fecha\");\r\n localStorage.removeItem(\"hora\");\r\n return {\r\n ...state,\r\n token: null,\r\n auth: false,\r\n username: null,\r\n puntoCobro: null,\r\n grupos: [],\r\n };\r\n case LOG_OUT:\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"username\");\r\n localStorage.removeItem(\"name\");\r\n localStorage.removeItem(\"userId\");\r\n localStorage.removeItem(\"grupos\");\r\n localStorage.removeItem(\"permission\");\r\n localStorage.removeItem(\"datosCobrador\");\r\n localStorage.removeItem(\"puntoCobro\");\r\n localStorage.removeItem(\"fecha\");\r\n localStorage.removeItem(\"hora\");\r\n return {\r\n ...state,\r\n token: null,\r\n auth: false,\r\n username: null,\r\n puntoCobro: null,\r\n grupos: [],\r\n };\r\n case SET_FECHA:\r\n return {\r\n ...state,\r\n fecha: action.payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import React, { useReducer, useContext, useState } from \"react\";\r\nimport authContext from \"./authContext\";\r\nimport authReducer from \"./authReducer\";\r\nimport axiosClient from \"../../config/axios\";\r\n\r\nimport AlertContext from \"../alerts/alertContext\";\r\n\r\nimport {\r\n LOGING_SUCCESS,\r\n LOGING_ERROR,\r\n GET_USER,\r\n LOG_OUT,\r\n SET_FECHA,\r\n} from \"../../types/index.js\";\r\n\r\nconst AuthState = (props) => {\r\n const alertContext = useContext(AlertContext);\r\n const { setAlert } = alertContext;\r\n\r\n const initialState = {\r\n token: null,\r\n auth: false,\r\n username: null,\r\n name: null,\r\n userId: null,\r\n grupos: [],\r\n permission: [\"NO_USER\"],\r\n datosCobrador: [],\r\n puntoCobro: null,\r\n fecha: null,\r\n hora: null,\r\n loginLoading: false,\r\n };\r\n\r\n const [state, dispatch] = useReducer(authReducer, initialState);\r\n const [loadingLogin, setLoadingLogin] = useState(false);\r\n const [fechaInput, setFechaInput] = useState(\"\");\r\n\r\n const header = {\r\n headers: {\r\n Authorization: \"Bearer \" + state.token,\r\n },\r\n };\r\n\r\n const loginUser = async (data) => {\r\n setLoadingLogin(true);\r\n\r\n try {\r\n const response = await axiosClient.post(\"login\", data);\r\n \r\n dispatch({\r\n type: LOGING_SUCCESS,\r\n payload: response.data,\r\n });\r\n setLoadingLogin(false);\r\n setAlert(\"Ingreso Existoso\", \"green-300\");\r\n } catch (error) {\r\n dispatch({\r\n type: LOGING_ERROR,\r\n });\r\n setLoadingLogin(false);\r\n setAlert(\"Ocurrio un error al ingresar\", \"red-300\");\r\n }\r\n };\r\n\r\n const getUser = async () => {\r\n //header que chequea con el token de local storage.\r\n const data = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"token\"),\r\n },\r\n };\r\n\r\n try {\r\n const response = await axiosClient.get(\"v2/key/self\", data);\r\n dispatch({\r\n type: GET_USER,\r\n payload: response.data.data,\r\n });\r\n } catch (error) {\r\n //setAlert(\"La sesion ha expirado\", \"yellow-300\");\r\n dispatch({\r\n type: LOGING_ERROR,\r\n });\r\n }\r\n };\r\n\r\n const logoutUser = () => {\r\n dispatch({\r\n type: LOG_OUT,\r\n });\r\n };\r\n\r\n const setFecha = (data) => {\r\n var date = new Date(data);\r\n setFechaInput(data);\r\n\r\n if (!isNaN(date.getTime())) {\r\n var day = date.getUTCDate().toString();\r\n var month = (date.getUTCMonth() + 1).toString();\r\n var fecha =\r\n date.getFullYear() +\r\n \"/\" +\r\n (month[1] ? month : \"0\" + month[0]) +\r\n \"/\" +\r\n (day[1] ? day : \"0\" + day[0]);\r\n dispatch({\r\n type: SET_FECHA,\r\n payload: fecha,\r\n });\r\n }\r\n };\r\n\r\n const checkPermission = (data) => {\r\n const value = state.permission.includes(data);\r\n return value;\r\n };\r\n\r\n const checkGrupo = (data) => {\r\n const value = state.grupos.includes(data);\r\n return value;\r\n };\r\n\r\n const solicitarResetPassword = async (email) => {\r\n await axiosClient\r\n .post(\"solicitar_reset_password\", { email: email, sitio: \"CU\" })\r\n .then(() => {\r\n setAlert(\r\n \"Si el email se encuentra registrado, se enviará un mensaje a tu casilla de correo\",\r\n \"green-300\"\r\n );\r\n })\r\n .catch(() =>\r\n setAlert(\"Hubo un error procesando tu solicitud\", \"red-300\")\r\n );\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default AuthState;\r\n","import { SET_ALERT, DELETE_ALERT } from \"../../types/index.js\";\r\n\r\nexport default (state, action) => {\r\n switch (action.type) {\r\n case SET_ALERT:\r\n return {\r\n alert: action.payload\r\n };\r\n case DELETE_ALERT:\r\n return {\r\n alert: null\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import React, { useReducer } from \"react\";\r\nimport alertContext from \"./alertContext\";\r\nimport alertReducer from \"./alertReducer\";\r\n\r\nimport { SET_ALERT, DELETE_ALERT } from \"../../types/index.js\";\r\n\r\nconst AlertState = props => {\r\n const initialState = {\r\n alert: null\r\n };\r\n\r\n const [state, dispatch] = useReducer(alertReducer, initialState);\r\n\r\n const setAlert = (msg, category) => {\r\n dispatch({\r\n type: SET_ALERT,\r\n payload: {\r\n msg,\r\n category\r\n }\r\n });\r\n\r\n setTimeout(() => {\r\n dispatch({\r\n type: DELETE_ALERT\r\n });\r\n }, 5000);\r\n };\r\n\r\n return (\r\n {props.children}\r\n );\r\n};\r\n\r\nexport default AlertState;\r\n","import {\r\n RESULTADO_PERSONA,\r\n FACTURAS_CLIENTE,\r\n NOMBRE_CLIENTE,\r\n FACTURAS_SELECCIONADAS,\r\n IMPORTE_TOTAL,\r\n SELECCIONAR_FACTURA,\r\n VERIFICAR_PARCIAL,\r\n SET_PAGO_PARCIAL,\r\n SET_IMPORTE_CLIENTE,\r\n RECIBOS_CLIENTE,\r\n SET_BUSCADOR_ESTADO,\r\n VENCIMIENTO_CLIENTE,\r\n TOTAL_CLIENTE,\r\n RESET_STATE,\r\n DNI_PERSONA,\r\n} from \"../../types/index.js\";\r\n\r\nexport default (state, action) => {\r\n switch (action.type) {\r\n case RESET_STATE:\r\n return {\r\n resultadoPersona: [],\r\n facturasCliente: [],\r\n nombreCliente: \"\",\r\n facturaSeleccionada: {},\r\n seleccionadasPagar: [],\r\n importeTotal: 0,\r\n importeCliente: 0,\r\n pagoParcial: \"\",\r\n pagoVerificado: false,\r\n recibosIDs: [],\r\n recibosCliente: [],\r\n buscadorActivo: true,\r\n montoPorCliente: [],\r\n vencimientoCliente: 0,\r\n totalCliente: 0,\r\n dniPersona: null,\r\n };\r\n case RESULTADO_PERSONA:\r\n return {\r\n ...state,\r\n resultadoPersona: action.payload,\r\n };\r\n case FACTURAS_CLIENTE:\r\n return {\r\n ...state,\r\n facturasCliente: action.payload,\r\n };\r\n case SELECCIONAR_FACTURA:\r\n return {\r\n ...state,\r\n facturaSeleccionada: action.payload,\r\n };\r\n case IMPORTE_TOTAL:\r\n return {\r\n ...state,\r\n importeTotal: action.payload,\r\n };\r\n case NOMBRE_CLIENTE:\r\n return {\r\n ...state,\r\n nombreCliente: action.payload,\r\n };\r\n case FACTURAS_SELECCIONADAS:\r\n return {\r\n ...state,\r\n seleccionadasPagar: action.payload,\r\n };\r\n case VERIFICAR_PARCIAL:\r\n return {\r\n ...state,\r\n pagoVerificado: action.payload,\r\n };\r\n\r\n case VENCIMIENTO_CLIENTE:\r\n return {\r\n ...state,\r\n vencimientoCliente: action.payload,\r\n };\r\n case TOTAL_CLIENTE:\r\n return {\r\n ...state,\r\n totalCliente: action.payload,\r\n };\r\n case SET_PAGO_PARCIAL:\r\n return {\r\n ...state,\r\n pagoParcial: action.payload,\r\n };\r\n case SET_IMPORTE_CLIENTE:\r\n return {\r\n ...state,\r\n importeCliente: action.payload,\r\n };\r\n case RECIBOS_CLIENTE:\r\n return {\r\n ...state,\r\n recibosCliente: action.payload,\r\n };\r\n case SET_BUSCADOR_ESTADO:\r\n return {\r\n ...state,\r\n buscadorActivo: action.payload,\r\n };\r\n case DNI_PERSONA:\r\n return {\r\n ...state,\r\n dniPersona: action.payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import React, { useReducer, useContext, useEffect, useState } from \"react\";\r\n\r\nimport cobrosContext from \"./cobrosContext\";\r\nimport cobrosReducer from \"./cobrosReducer\";\r\n\r\nimport AuthContext from \"../auth/authContext\";\r\nimport AlertContext from \"../alerts/alertContext\";\r\n\r\nimport axiosClient from \"../../config/axios\";\r\n\r\nimport jsPDF from \"jspdf\";\r\n\r\nimport {\r\n RESULTADO_PERSONA,\r\n FACTURAS_SELECCIONADAS,\r\n SELECCIONAR_FACTURA,\r\n IMPORTE_TOTAL,\r\n VERIFICAR_PARCIAL,\r\n SET_PAGO_PARCIAL,\r\n FACTURAS_CLIENTE,\r\n NOMBRE_CLIENTE,\r\n SET_IMPORTE_CLIENTE,\r\n RECIBOS_CLIENTE,\r\n SET_BUSCADOR_ESTADO,\r\n VENCIMIENTO_CLIENTE,\r\n TOTAL_CLIENTE,\r\n RESET_STATE,\r\n DNI_PERSONA,\r\n} from \"../../types/index.js\";\r\n\r\nconst CobrosState = (props) => {\r\n const authContext = useContext(AuthContext);\r\n const { name, userID, fecha, hora, header } = authContext;\r\n\r\n const alertContext = useContext(AlertContext);\r\n const { setAlert } = alertContext;\r\n\r\n const initialState = {\r\n resultadoPersona: [],\r\n facturasCliente: [],\r\n nombreCliente: \"\",\r\n facturaSeleccionada: {},\r\n seleccionadasPagar: [],\r\n importeTotal: 0,\r\n importeCliente: 0,\r\n pagoParcial: \"\",\r\n pagoVerificado: false,\r\n recibosIDs: [],\r\n recibosCliente: [],\r\n buscadorActivo: true,\r\n montoPorCliente: [],\r\n vencimientoCliente: 0,\r\n totalCliente: 0,\r\n dniPersona: null,\r\n };\r\n\r\n const [state, dispatch] = useReducer(cobrosReducer, initialState);\r\n\r\n const [pagoCobrador, setPagoCobrador] = useState({});\r\n const [vuelto, setVuelto] = useState(false);\r\n const [observaciones, setObservaciones] = useState(false);\r\n const [dataObservaciones, setDataObservaciones] = useState(\"\");\r\n const [loadingState, setLoadingState] = useState(false);\r\n const [metodoPago, setMetodoPago] = useState(\"\");\r\n const [modalAnularRecibo, setModalAnularRecibo] = useState(false);\r\n const [idRecibo, setIdRecibo] = useState(null);\r\n const [recibosUpdated, setRecibosUpdated] = useState(false);\r\n const [datosFactura, setDatosFactura] = useState({});\r\n\r\n useEffect(() => {\r\n //valido si hay facturas con un estado erroneo para habilitar/deshabilitar el boton de pago\r\n validacionFacturasParciales();\r\n }, [state.seleccionadasPagar, state.recibosCliente]);\r\n\r\n useEffect(() => {\r\n selectPersona(state.dniPersona);\r\n }, [fecha]);\r\n\r\n //Limpia el state inicial cuando se cambia de componente.\r\n const resetState = () => {\r\n dispatch({\r\n type: RESET_STATE,\r\n });\r\n };\r\n\r\n //busca la persona por DNI\r\n const getPersona = async (data) => {\r\n setLoadingState(true);\r\n await axiosClient\r\n .post(`/getPersonas`, data, header)\r\n .then((response) => {\r\n dispatch({\r\n type: RESULTADO_PERSONA,\r\n payload: response.data.data,\r\n });\r\n dispatch({\r\n type: DNI_PERSONA,\r\n payload: data,\r\n });\r\n dispatch({\r\n type: FACTURAS_CLIENTE,\r\n payload: [],\r\n });\r\n setLoadingState(false);\r\n })\r\n .catch((err) => {\r\n setLoadingState(false);\r\n });\r\n };\r\n\r\n //Busca la persona para traer las facturas correspondientes.\r\n const selectPersona = async (data) => {\r\n setLoadingState(true);\r\n dispatch({\r\n type: RESULTADO_PERSONA,\r\n payload: [],\r\n });\r\n dispatch({\r\n type: DNI_PERSONA,\r\n payload: data,\r\n });\r\n await axiosClient\r\n .post(\r\n `v2/facturas_cliente`,\r\n {\r\n dniOsocio: data,\r\n cobrador: userID,\r\n fecha_de_cobro: fecha,\r\n },\r\n header\r\n )\r\n .then((response) => {\r\n setLoadingState(false);\r\n //Envio la data a los states para poder manejar las facturas.\r\n dispatch({\r\n type: FACTURAS_CLIENTE,\r\n payload: response.data.data.facturas,\r\n });\r\n dispatch({\r\n type: VENCIMIENTO_CLIENTE,\r\n payload: response.data.data.total_deuda,\r\n });\r\n dispatch({\r\n type: TOTAL_CLIENTE,\r\n payload: response.data.data.total,\r\n });\r\n\r\n //Filtro facturas antes de volverlas al array por si ya habían selecciondas del mismo usuario.\r\n filtrarFacturasSeleccionadas();\r\n dispatch({\r\n type: NOMBRE_CLIENTE,\r\n payload: response.data.data.usuario,\r\n });\r\n\r\n //Si el data viene vacio muestro un alert que no hay facturas disponibles.\r\n if (response.data.data.facturas.length === 0) {\r\n setAlert(\"El usuario no registra servicios a pagar\", \"yellow-300\");\r\n }\r\n })\r\n .catch((err) => {\r\n setLoadingState(false);\r\n });\r\n };\r\n\r\n //Filtra las facturas ya seleccionadas de un cliente si se busca otra vez.\r\n //Esta funcion se ejecuta en el componente \"Facturas Cliente\"\r\n const filtrarFacturasSeleccionadas = () => {\r\n if (state.facturasCliente.length > 0) {\r\n let filtrar = state.facturasCliente.filter(\r\n (item) =>\r\n !state.seleccionadasPagar.some((other) => item.id === other.id)\r\n );\r\n dispatch({\r\n type: FACTURAS_CLIENTE,\r\n payload: filtrar,\r\n });\r\n }\r\n };\r\n\r\n //Agrega la factura seleccionada al state y calcula el importe.\r\n const addFactura = (data) => {\r\n dispatch({\r\n type: SELECCIONAR_FACTURA,\r\n payload: data,\r\n });\r\n dispatch({\r\n type: IMPORTE_TOTAL,\r\n payload: state.importeTotal + parseInt(data.saldo) + data.interes,\r\n });\r\n };\r\n\r\n //Filtra de la lista las facturas que se seleccionan para pagar.\r\n const filtrarFacturas = () => {\r\n if (state.facturasCliente.length > 0) {\r\n let filtrar = state.facturasCliente.filter(\r\n (f) => f.id !== state.facturaSeleccionada.id\r\n );\r\n dispatch({\r\n type: FACTURAS_CLIENTE,\r\n payload: filtrar,\r\n });\r\n dispatch({\r\n type: FACTURAS_SELECCIONADAS,\r\n payload: [...state.seleccionadasPagar, state.facturaSeleccionada],\r\n });\r\n }\r\n };\r\n\r\n //Eliminar Facturas seleccionadas\r\n const eliminarFacturasSelecionadas = () => {\r\n dispatch({\r\n type: FACTURAS_SELECCIONADAS,\r\n payload: [],\r\n });\r\n dispatch({\r\n type: IMPORTE_TOTAL,\r\n payload: 0,\r\n });\r\n };\r\n\r\n //Eliminar Factura seleccionada especifica\r\n const eliminarFactura = (factura) => {\r\n let filtrar = state.seleccionadasPagar.filter((f) => f.id !== factura.id);\r\n dispatch({\r\n type: FACTURAS_SELECCIONADAS,\r\n payload: filtrar,\r\n });\r\n dispatch({\r\n type: IMPORTE_TOTAL,\r\n payload: state.importeTotal - factura.saldo - factura.interes,\r\n });\r\n };\r\n\r\n //Formatea las fechas segun lo necesario en las vistas.\r\n const formatDate = (data) => {\r\n var date = new Date(data);\r\n\r\n if (!isNaN(date.getTime())) {\r\n var day = date.getUTCDate().toString();\r\n var month = (date.getUTCMonth() + 1).toString();\r\n var fecha =\r\n (day[1] ? day : \"0\" + day[0]) +\r\n \"/\" +\r\n (month[1] ? month : \"0\" + month[0]) +\r\n \"/\" +\r\n date.getFullYear();\r\n return fecha;\r\n }\r\n };\r\n\r\n // Funcion para formatear el importe\r\n const formatImporte = (data) => {\r\n const total = new Intl.NumberFormat(\"de-DE\", {\r\n minimumFractionDigits: 2,\r\n }).format(data);\r\n\r\n return \"$ \" + total;\r\n };\r\n\r\n //Funcion para comparar el vencimiento de una fecha.\r\n const calcularVencimiento = (fechaVencimiento) => {\r\n let fecha = new Date();\r\n let vencimiento = new Date(fechaVencimiento);\r\n if (fecha > vencimiento) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n const setPagoParcial = (data) => {\r\n dispatch({\r\n type: SET_PAGO_PARCIAL,\r\n payload: data,\r\n });\r\n };\r\n\r\n const setPagoVerificado = (data) => {\r\n dispatch({\r\n type: VERIFICAR_PARCIAL,\r\n payload: data,\r\n });\r\n };\r\n\r\n const validacionFacturasParciales = () => {\r\n //busco en las facturas seleccionadas las que tengan el estado de error\r\n var result = state.seleccionadasPagar.filter((obj) => {\r\n return obj.estado === \"No Pagada a tiempo\";\r\n });\r\n\r\n //Activo o desactivo el error, depende si hay coincidencias en el filtro de arriba.\r\n if (result.length > 0) {\r\n dispatch({\r\n type: VERIFICAR_PARCIAL,\r\n payload: false,\r\n });\r\n } else {\r\n dispatch({\r\n type: VERIFICAR_PARCIAL,\r\n payload: true,\r\n });\r\n }\r\n };\r\n\r\n const setImporteCliente = (data) => {\r\n dispatch({\r\n type: SET_IMPORTE_CLIENTE,\r\n payload: data,\r\n });\r\n };\r\n\r\n //Procesa el pago parcial para chequear las facturas seleccionadas del usuario.\r\n const procesarPagoParcial = async (data) => {\r\n setLoadingState(true);\r\n dispatch({\r\n type: VERIFICAR_PARCIAL,\r\n payload: false,\r\n });\r\n\r\n await axiosClient\r\n .post(\r\n `v2/facturas_recibo/provisional`,\r\n {\r\n facturas: data,\r\n importeRecibo: state.pagoParcial,\r\n fecha_de_cobro: fecha,\r\n },\r\n header\r\n )\r\n .then((response) => {\r\n setLoadingState(false);\r\n //Reemplaza las facturas seleccionadas asignando los estados correspondientes.\r\n dispatch({\r\n type: FACTURAS_SELECCIONADAS,\r\n payload: response.data.data,\r\n });\r\n validacionFacturasParciales();\r\n dispatch({\r\n type: IMPORTE_TOTAL,\r\n payload: parseInt(state.pagoParcial),\r\n });\r\n })\r\n .catch((err) => {\r\n setLoadingState(false);\r\n setAlert(err.response.data.message, \"red-300\");\r\n });\r\n };\r\n\r\n //Funcion para cambiar la vista segun el estado de las facturas (pago parcial)\r\n const checkEstadoFactura = (data) => {\r\n switch (data) {\r\n case \"Pagada completa a tiempo\":\r\n return (\r\n \r\n {data}\r\n \r\n );\r\n case \"Pagada completa vencida\":\r\n return (\r\n \r\n {data}\r\n \r\n );\r\n case \"Pagada incompleta a tiempo\":\r\n return (\r\n \r\n {data}\r\n \r\n );\r\n case \"Pagada incompleta vencida\":\r\n return (\r\n \r\n {data}\r\n \r\n );\r\n case \"No Pagada a tiempo\":\r\n return (\r\n \r\n {data}\r\n \r\n );\r\n case \"No Pagada vencida\":\r\n return (\r\n \r\n {data}\r\n \r\n );\r\n default:\r\n return ;\r\n }\r\n };\r\n\r\n //Función para procesar el pago y traer el ID de los recibos.\r\n const procesarPago = async () => {\r\n setLoadingState(true);\r\n dispatch({\r\n type: SET_PAGO_PARCIAL,\r\n payload: 0,\r\n });\r\n\r\n await axiosClient\r\n .post(\r\n `v2/nuevo_recibo`,\r\n {\r\n facturas: state.seleccionadasPagar,\r\n importeRecibo: state.importeTotal,\r\n fecha_de_cobro: fecha,\r\n observacionesRecibo: dataObservaciones,\r\n idCobrador: userID,\r\n horaDeCobro: hora,\r\n formaPago: metodoPago,\r\n },\r\n header\r\n )\r\n .then((response) => {\r\n setLoadingState(false);\r\n mostrarRecibos(response.data.data.recibos);\r\n dispatch({\r\n type: FACTURAS_SELECCIONADAS,\r\n payload: [],\r\n });\r\n dispatch({\r\n type: FACTURAS_CLIENTE,\r\n payload: [],\r\n });\r\n dispatch({\r\n type: SET_BUSCADOR_ESTADO,\r\n payload: false,\r\n });\r\n })\r\n .catch((err) => {\r\n setAlert(err.response.data.message, \"red-300\");\r\n setLoadingState(false);\r\n });\r\n };\r\n\r\n //Función para mostrar los recibos procesados.\r\n const mostrarRecibos = async (data) => {\r\n setLoadingState(true);\r\n await axiosClient\r\n .post(\r\n `v2/recibos`,\r\n {\r\n recibos: data,\r\n },\r\n\r\n header\r\n )\r\n .then((response) => {\r\n setLoadingState(false);\r\n dispatch({\r\n type: RECIBOS_CLIENTE,\r\n payload: response.data.data,\r\n });\r\n\r\n dispatch({\r\n type: IMPORTE_TOTAL,\r\n payload: 0,\r\n });\r\n })\r\n .catch((err) => {\r\n setLoadingState(false);\r\n });\r\n };\r\n\r\n //Función para consultar e imprimir algun recibo específico\r\n const consultarImprimirRecibo = async (data) => {\r\n await axiosClient\r\n .post(\r\n `v2/recibos`,\r\n {\r\n recibos: data,\r\n },\r\n\r\n header\r\n )\r\n .then((response) => {\r\n imprimirTicket(response.data.data[0], true);\r\n })\r\n .catch((err) => {});\r\n };\r\n\r\n //Función para consultar e imprimir un cierre de caja con detalle\r\n const consultarImprimirCierreDetalle = async (data) => {\r\n await axiosClient\r\n .get(`v2/rendiciones/${data}`, header)\r\n .then((response) => {\r\n imprimirCierreDetalle(response.data.data.rendicion);\r\n })\r\n .catch((err) => {});\r\n };\r\n\r\n //Función para consultar e imprimir un cierre de caja con detalle\r\n const consultarImprimirCierre = async (data) => {\r\n await axiosClient\r\n .get(`v2/rendiciones/${data}`, header)\r\n .then((response) => {\r\n imprimirCierre(response.data.data.rendicion);\r\n })\r\n .catch((err) => {});\r\n };\r\n\r\n //Funcion que vacía los recibos del cliente, para poder activar la interfaz de cobros nuevamente\r\n const pagoTerminado = () => {\r\n dispatch({\r\n type: RECIBOS_CLIENTE,\r\n payload: [],\r\n });\r\n dispatch({\r\n type: SET_BUSCADOR_ESTADO,\r\n payload: true,\r\n });\r\n };\r\n\r\n //diseño de los tickets para pasar a las funciones de impresión.\r\n const dataTicket = (doc, data, reimpresion) => {\r\n //Si no es reimpresion imprime con la fecha del dia de emision, sino, caputra la fecha del pago del recibo.\r\n if (!reimpresion) {\r\n let fechaTicket = new Date(fecha);\r\n let fechaLetras = {\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\",\r\n timeZone: \"UTC\",\r\n };\r\n\r\n doc.addFont(\"courier\", \"courier\", \"normal\");\r\n\r\n //Debug para saber las fuentes disponibles en el sistema.\r\n //console.log(doc.getFontList());\r\n\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.setFontSize(12);\r\n doc.text(2, 5, \"Cardinal Puntos de Pago\");\r\n doc.setFont(\"courier\", \"italic\");\r\n doc.setFontSize(9);\r\n doc.text(2, 10, \"Comprobante de Pago\");\r\n\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.setFontSize(8);\r\n doc.text(\r\n 2,\r\n 20,\r\n \"Dolores, \" +\r\n fechaTicket.toLocaleDateString(\"es-ES\", fechaLetras) +\r\n \" \" +\r\n hora +\r\n \"hs\"\r\n );\r\n\r\n doc.setFont(\"courier\", \"normal\");\r\n doc.setFontSize(9);\r\n doc.text(2, 30, \"Recibimos de \" + data.nombre);\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.text(2, 35, \"El monto de \" + formatImporte(data.importe));\r\n doc.setFont(\"courier\", \"normal\");\r\n doc.text(2, 40, \"Para la empresa \" + data.empresa.nombre);\r\n doc.text(2, 45, \"Cobrador: \" + name);\r\n doc.text(2, 50, \"Concepto de pago:\");\r\n\r\n if (data.facturas.length > 0) {\r\n let linea = 50;\r\n doc.setFontSize(7);\r\n doc.setFont(\"courier\", \"bold\");\r\n for (var i = 0; i < data.facturas.length; i++) {\r\n linea += 5;\r\n doc.text(\r\n 2,\r\n linea,\r\n data.facturas[i].concepto +\r\n (data.facturas[i].pagoTotal ? \" - COMPLETO\" : \" - PARCIAL\")\r\n );\r\n }\r\n }\r\n } else {\r\n let fechaTicket = new Date(data.fecha);\r\n let fechaLetras = {\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\",\r\n timeZone: \"UTC\",\r\n };\r\n\r\n doc.addFont(\"courier\", \"courier\", \"normal\");\r\n\r\n //Debug para saber las fuentes disponibles en el sistema.\r\n //console.log(doc.getFontList());\r\n\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.setFontSize(12);\r\n doc.text(2, 5, \"Cardinal Puntos de Pago\");\r\n\r\n doc.setFont(\"courier\", \"italic\");\r\n doc.setFontSize(9);\r\n doc.text(2, 10, \"Comprobante de Pago\");\r\n\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.setFontSize(8);\r\n doc.text(\r\n 6,\r\n 20,\r\n \"Dolores, \" +\r\n fechaTicket.toLocaleDateString(\"es-AR\", fechaLetras) +\r\n \" \" +\r\n data.hora +\r\n \"hs\"\r\n );\r\n\r\n doc.setFont(\"courier\", \"normal\");\r\n doc.setFontSize(9);\r\n doc.text(2, 30, \"Recibimos de \" + data.nombre);\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.text(2, 35, \"El monto de \" + formatImporte(data.importe));\r\n doc.setFont(\"courier\", \"normal\");\r\n doc.text(2, 40, \"Para la empresa \" + data.empresa.nombre);\r\n doc.text(2, 45, \"Cobrador: \" + name);\r\n doc.text(2, 50, \"Concepto de pago:\");\r\n\r\n if (data.facturas.length > 0) {\r\n let linea = 50;\r\n doc.setFontSize(7);\r\n doc.setFont(\"courier\", \"bold\");\r\n for (var i = 0; i < data.facturas.length; i++) {\r\n linea += 5;\r\n doc.text(\r\n 2,\r\n linea,\r\n data.facturas[i].concepto +\r\n (data.facturas[i].pagoTotal ? \" - COMPLETO\" : \" - PARCIAL\")\r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n //imprime el ticket individualmente\r\n const imprimirTicket = (recibo, reimpresion) => {\r\n const doc = new jsPDF({\r\n orientation: \"portrait\",\r\n unit: \"mm\",\r\n format: [190, 700],\r\n });\r\n\r\n dataTicket(doc, recibo, reimpresion);\r\n doc.autoPrint();\r\n doc.output(\"dataurlnewwindow\", { filename: \"Comprobante-pago.pdf\" });\r\n };\r\n\r\n //imprime la rendición con todos los recibos.\r\n const imprimirCierreDetalle = (rendicion) => {\r\n const doc = new jsPDF({\r\n orientation: \"portrait\",\r\n unit: \"mm\",\r\n format: [190, 700],\r\n });\r\n\r\n let fechaCierre = new Date(rendicion.fecha);\r\n let fechaLetras = {\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\",\r\n timeZone: \"UTC\",\r\n };\r\n\r\n doc.addFont(\"courier\", \"courier\", \"normal\");\r\n\r\n //Debug para saber las fuentes disponibles en el sistema.\r\n //console.log(doc.getFontList());\r\n\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.setFontSize(12);\r\n doc.text(2, 5, \"Cardinal Puntos de Pago\");\r\n\r\n doc.setFont(\"courier\", \"italic\");\r\n doc.setFontSize(9);\r\n doc.text(2, 10, \"Cierre de Caja\");\r\n\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.setFontSize(8);\r\n doc.text(\r\n 2,\r\n 20,\r\n fechaCierre.toLocaleDateString(\"es-AR\", fechaLetras) +\r\n \" \" +\r\n rendicion.hora +\r\n \"hs\"\r\n );\r\n\r\n doc.setFont(\"courier\", \"normal\");\r\n doc.setFontSize(9);\r\n doc.text(2, 30, \"Cobrador: \" + rendicion.cobrador.nombre);\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.text(2, 35, \"El monto de \" + formatImporte(rendicion.importe));\r\n doc.setFont(\"courier\", \"normal\");\r\n doc.text(2, 40, \"Cierre de Caja Numero: \" + rendicion.id);\r\n doc.text(2, 45, \"Observaciones: \");\r\n doc.text(2, 50, rendicion.observaciones);\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.text(2, 60, \"Recibos:\");\r\n\r\n if (rendicion.recibos.length > 0) {\r\n let linea = 60;\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.setFontSize(7);\r\n for (var i = 0; i < rendicion.recibos.length; i++) {\r\n linea += 5;\r\n doc.text(\r\n 2,\r\n linea,\r\n rendicion.recibos[i].nombre + \" - \" + rendicion.recibos[i].fecha\r\n );\r\n doc.text(59, linea, formatImporte(rendicion.recibos[i].importe));\r\n }\r\n }\r\n\r\n doc.autoPrint();\r\n doc.output(\"dataurlnewwindow\", {\r\n filename: `Cierre-de-Caja-${rendicion.id}.pdf`,\r\n });\r\n };\r\n\r\n //imprime la rendición sin los recibos.\r\n const imprimirCierre = (rendicion) => {\r\n const doc = new jsPDF({\r\n orientation: \"portrait\",\r\n unit: \"mm\",\r\n format: [190, 700],\r\n });\r\n\r\n let fechaCierre = new Date(rendicion.fecha);\r\n let fechaLetras = {\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\",\r\n timeZone: \"UTC\",\r\n };\r\n\r\n doc.addFont(\"courier\", \"courier\", \"normal\");\r\n\r\n //Debug para saber las fuentes disponibles en el sistema.\r\n //console.log(doc.getFontList());\r\n\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.setFontSize(12);\r\n doc.text(2, 5, \"Cardinal Puntos de Pago\");\r\n\r\n doc.setFont(\"courier\", \"italic\");\r\n doc.setFontSize(9);\r\n doc.text(2, 10, \"Cierre de Caja\");\r\n\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.setFontSize(8);\r\n doc.text(\r\n 2,\r\n 20,\r\n fechaCierre.toLocaleDateString(\"es-AR\", fechaLetras) +\r\n \" \" +\r\n rendicion.hora +\r\n \"hs\"\r\n );\r\n\r\n doc.setFont(\"courier\", \"normal\");\r\n doc.setFontSize(9);\r\n doc.text(2, 30, \"Cobrador: \" + rendicion.cobrador.nombre);\r\n doc.setFont(\"courier\", \"bold\");\r\n doc.text(2, 35, \"El monto de \" + formatImporte(rendicion.importe));\r\n doc.setFont(\"courier\", \"normal\");\r\n doc.text(2, 40, \"Cierre de Caja Numero: \" + rendicion.id);\r\n doc.text(2, 45, \"Observaciones: \");\r\n doc.text(2, 50, rendicion.observaciones);\r\n\r\n doc.autoPrint();\r\n doc.output(\"dataurlnewwindow\", {\r\n filename: `Cierre-de-Caja-${rendicion.id}.pdf`,\r\n });\r\n };\r\n\r\n //Manda a imprimir todos los tickets de la lista de recibos del cliente.\r\n const imprimirTodosTickets = () => {\r\n const doc = new jsPDF({\r\n orientation: \"portrait\",\r\n unit: \"mm\",\r\n format: [190, 700],\r\n });\r\n\r\n for (var i = 0; i < state.recibosCliente.length; i++) {\r\n var recibo = state.recibosCliente[i];\r\n dataTicket(doc, recibo);\r\n doc.addPage();\r\n }\r\n\r\n doc.autoPrint();\r\n doc.output(\"dataurlnewwindow\", { filename: \"Comprobante-pago.pdf\" });\r\n };\r\n\r\n //Habilita o no el calculo de vuelto según el método de pago seleccionado.\r\n const setMostrarVuelto = () => {\r\n if (pagoCobrador.length > 0) {\r\n if (pagoCobrador[0].vuelto === 1) {\r\n setVuelto(true);\r\n } else {\r\n setVuelto(false);\r\n }\r\n }\r\n };\r\n\r\n // Habilita o no el campo para agregar observaciones al recibo.\r\n const setMostrarObservaciones = () => {\r\n if (pagoCobrador.length > 0) {\r\n if (pagoCobrador[0].pideObservaciones === 1) {\r\n setObservaciones(true);\r\n } else {\r\n setObservaciones(false);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default CobrosState;\r\n","import { createContext } from \"react\";\r\n\r\nconst usuariosContext = createContext();\r\n\r\nexport default usuariosContext;\r\n","import {\r\n SET_MODAL_BLOQ_DESBLOQ,\r\n SET_MODAL_DETALLE,\r\n SET_MODAL_GP,\r\n SET_MODAL_REGISTER,\r\n SET_MODAL_LOADING_PREFERENCIA,\r\n} from \"../../types/index.js\";\r\n\r\nexport default (state, action) => {\r\n switch (action.type) {\r\n case SET_MODAL_GP:\r\n return {\r\n modalGP: action.payload,\r\n };\r\n case SET_MODAL_REGISTER:\r\n return {\r\n modalRegister: action.payload,\r\n };\r\n case SET_MODAL_DETALLE:\r\n return {\r\n modalDetalle: action.payload,\r\n };\r\n case SET_MODAL_BLOQ_DESBLOQ:\r\n return {\r\n modalBloqDesbloq: action.payload,\r\n };\r\n case SET_MODAL_LOADING_PREFERENCIA:\r\n return {\r\n modalLoadingPreferencia: action.payload,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import React, { useReducer, useState } from \"react\";\r\nimport usuariosContext from \"./usuariosContext\";\r\nimport usuariosReducer from \"./usuariosReducer\";\r\n\r\nimport {\r\n SET_MODAL_GP,\r\n SET_MODAL_REGISTER,\r\n SET_MODAL_DETALLE,\r\n SET_MODAL_BLOQ_DESBLOQ,\r\n SET_MODAL_LOADING_PREFERENCIA,\r\n} from \"../../types/index.js\";\r\n\r\nconst UsuariosState = (props) => {\r\n const initialState = {\r\n modalGP: false,\r\n modalRegister: false,\r\n modalDetalle: false,\r\n modalBloqDesbloq: false,\r\n modalLoadingPreferencia: false,\r\n };\r\n\r\n const [state, dispatch] = useReducer(usuariosReducer, initialState);\r\n const [updateGP, setUpdateGP] = useState(false);\r\n\r\n const setModalGP = (state) => {\r\n dispatch({ type: SET_MODAL_GP, payload: state });\r\n };\r\n\r\n const setModalRegister = (state) => {\r\n dispatch({ type: SET_MODAL_REGISTER, payload: state });\r\n };\r\n\r\n const setModalDetalle = (state) => {\r\n dispatch({ type: SET_MODAL_DETALLE, payload: state });\r\n };\r\n\r\n const setModalBloqDesbloq = (state) => {\r\n dispatch({ type: SET_MODAL_BLOQ_DESBLOQ, payload: state });\r\n };\r\n\r\n const setModalLoadingPreferencia = (state) => {\r\n dispatch({ type: SET_MODAL_LOADING_PREFERENCIA, payload: state });\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default UsuariosState;\r\n","export default __webpack_public_path__ + \"static/media/17.beecc632.png\";","export default __webpack_public_path__ + \"static/media/18-withText.0fa7d221.png\";","export default __webpack_public_path__ + \"static/media/19.b7d1813f.png\";","export default __webpack_public_path__ + \"static/media/20.e8df45fa.png\";","export default __webpack_public_path__ + \"static/media/21.2271c291.png\";","export default __webpack_public_path__ + \"static/media/24.d07b1593.png\";","export default __webpack_public_path__ + \"static/media/frontini-logo.4f3da483.svg\";","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/logoPago-Facil.3213874a.png\";","import React, { useContext, useEffect } from \"react\";\r\nimport LogoCS from \"../../assets/factura/17.png\";\r\nimport LogoObstreticasD1 from \"../../assets/factura/18-withText.png\";\r\nimport LogoObstreticasD5 from \"../../assets/factura/19.png\";\r\nimport LogoObstreticasD6 from \"../../assets/factura/20.png\";\r\nimport LogoCOPBA2 from \"../../assets/factura/21.png\";\r\nimport LogoCOPBAX from \"../../assets/factura/24.png\";\r\nimport FrontiniLogo from \"../../assets/factura/frontini-logo.svg\";\r\nimport LogoProvincia from \"../../assets/factura/logoProvincia-Net.png\";\r\nimport LogoPagoFacil from \"../../assets/factura/logoPago-Facil.png\";\r\nimport { useBarcode } from \"react-barcodes\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nfunction UsuarioFactura() {\r\n let location = useLocation();\r\n const idFactura = new URLSearchParams(location.search).get(\"f\");\r\n if (idFactura === null || idFactura === \"\") {\r\n window.location.href = \"/\";\r\n }\r\n const facturas = JSON.parse(localStorage.getItem(\"facturas\"));\r\n if (facturas === null || facturas.facturas[idFactura] === undefined) {\r\n window.location.href = \"/\";\r\n }\r\n const datosFactura = facturas.facturas[idFactura];\r\n\r\n useEffect(() => {\r\n if (Object.keys(datosFactura).length === 0) {\r\n window.location.href = \"/\";\r\n }\r\n }, []);\r\n\r\n //Formatea las fechas segun lo necesario en las vistas.\r\n const formatDate = (data) => {\r\n var date = new Date(data);\r\n\r\n if (!isNaN(date.getTime())) {\r\n var day = date.getUTCDate().toString();\r\n var month = (date.getUTCMonth() + 1).toString();\r\n var fecha =\r\n (day[1] ? day : \"0\" + day[0]) +\r\n \"/\" +\r\n (month[1] ? month : \"0\" + month[0]) +\r\n \"/\" +\r\n date.getFullYear();\r\n return fecha;\r\n }\r\n };\r\n\r\n // Funcion para formatear el importe\r\n const formatImporte = (data) => {\r\n const total = new Intl.NumberFormat(\"de-DE\", {\r\n minimumFractionDigits: 2,\r\n }).format(data);\r\n\r\n return \"$ \" + total;\r\n };\r\n\r\n const { inputRef } = useBarcode({\r\n value: datosFactura.cod_barra,\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {/* \r\n Este hardcodeo es horrible, pero comienza en el backend, y se arrastra hasta acá \r\n asi que ¯\\_(ツ)_/¯\r\n */}\r\n {datosFactura.ID_empresa === 17 ? (\r\n \r\n ) : null}\r\n {datosFactura.ID_empresa === 18 ? (\r\n \r\n ) : null}\r\n {datosFactura.ID_empresa === 19 ? (\r\n \r\n ) : null}\r\n {datosFactura.ID_empresa === 20 ? (\r\n \r\n ) : null}\r\n {datosFactura.ID_empresa === 21 ? (\r\n \r\n ) : null}\r\n {datosFactura.ID_empresa === 24 ? (\r\n \r\n ) : null}\r\n
\r\n
\r\n {datosFactura.ID_empresa === 21 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n\r\n
\r\n

\r\n Descripción: \r\n {datosFactura.descripcion}\r\n

\r\n

\r\n Nombre, Apellido y Matrícula: {\" \"}\r\n {datosFactura.nombre + \" - \" + datosFactura.nroSocio}\r\n

\r\n {datosFactura.fechaVencimiento1 !== datosFactura.fechaVencimiento2 ? (\r\n
\r\n

\r\n Vencimiento 1: {\" \"}\r\n {formatDate(datosFactura.fechaVencimiento1)}\r\n

\r\n

\r\n Vencimiento 2: {\" \"}\r\n {formatDate(datosFactura.fechaVencimiento2)}\r\n

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

\r\n Vencimiento 1: {\" \"}\r\n {formatDate(datosFactura.fechaVencimiento1)}\r\n

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

\r\n Importe: {\" \"}\r\n {formatImporte(datosFactura.importe)}\r\n

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

Desarrollado por:

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

\r\n Impreso:{\" \"}\r\n {formatDate(new Date()) +\r\n \" \" +\r\n new Date().getHours() +\r\n \":\" +\r\n new Date().getMinutes()}\r\n

\r\n {/*

\r\n Fecha:{\" \"}\r\n \r\n

*/}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default UsuarioFactura;\r\n","import React, { Fragment, useState, useContext, useEffect } from \"react\";\r\nimport AuthContext from \"../context/auth/authContext\";\r\nimport AlertContext from \"../context/alerts/alertContext\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nimport cardinalLogo from \"../assets/cardinal-full-white.svg\";\r\n\r\nfunction Login() {\r\n const authContext = useContext(AuthContext);\r\n const { loginUser, auth, getUser, loadingLogin, solicitarResetPassword } =\r\n authContext;\r\n\r\n const alertContext = useContext(AlertContext);\r\n const { setAlert } = alertContext;\r\n\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n getUser();\r\n if (auth) {\r\n history.push(\"/mis-datos\");\r\n }\r\n }, [auth]);\r\n\r\n const [user, setUser] = useState({\r\n email: \"\",\r\n password: \"\",\r\n });\r\n\r\n const [loadingReset, setLoadingReset] = useState(false);\r\n\r\n const onChange = (e) => {\r\n setUser({\r\n ...user,\r\n [e.target.name]: e.target.value,\r\n });\r\n };\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n if (user.email.trim() === \"\") {\r\n setAlert(\"Ingresar Email\", \"red-300\");\r\n return;\r\n }\r\n if (user.password.trim() === \"\") {\r\n setAlert(\"Ingresar Contraseña\", \"red-300\");\r\n return;\r\n }\r\n loginUser(user);\r\n };\r\n\r\n const solicitarReset = () => {\r\n if (user.email.trim() === \"\") {\r\n setAlert(\r\n \"Por favor, ingresá tu email para solicitar la recuperación de tu contraseña\",\r\n \"red-300\"\r\n );\r\n return;\r\n }\r\n setLoadingReset(true);\r\n solicitarResetPassword(user.email).then(() => setLoadingReset(false));\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 Email\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Contraseña\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n Ingresar\r\n {loadingLogin ? (\r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n
\r\n solicitarReset()}\r\n >\r\n Olvidé mi contraseña\r\n {loadingReset ? (\r\n \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\nexport default Login;\r\n","import { Link } from \"react-router-dom\";\r\n\r\nfunction ModalRegister() {\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 Registración Exitosa\r\n

\r\n
\r\n

\r\n

\r\n Se envió un correo electrónico de confirmación a la\r\n casilla de correo que nos indicaste.\r\n
Por favor revisá la misma para continuar con la{\" \"}\r\n activación de tu cuenta.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Ir a Inicio de Sesión\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ModalRegister;\r\n","import { useContext, useEffect } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport axiosClient from \"../config/axios\";\r\nimport UsuariosContext from \"../context/usuarios/usuariosContext\";\r\nimport AlertContext from \"../context/alerts/alertContext\";\r\nimport AuthContext from \"../context/auth/authContext\";\r\nimport ModalRegister from \"./ModalRegister\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nfunction Register() {\r\n const usuariosContext = useContext(UsuariosContext);\r\n const { setModalRegister, modalRegister } = usuariosContext;\r\n const alertContext = useContext(AlertContext);\r\n const { setAlert } = alertContext;\r\n const authContext = useContext(AuthContext);\r\n const { auth, getUser } = authContext;\r\n\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n getUser();\r\n if (auth) {\r\n history.push(\"/mis-datos\");\r\n }\r\n }, [auth]);\r\n\r\n return (\r\n
\r\n
\r\n

\r\n Registrarse en Cardinal\r\n

\r\n

\r\n Los campos requeridos están marcados con un *{\" \"}\r\n

\r\n
\r\n {\r\n const errors = {};\r\n if (!values.nombre) {\r\n errors.nombre = \"El nombre es requerido\";\r\n }\r\n if (!values.apellido) {\r\n errors.apellido = \"El apellido es requerido\";\r\n }\r\n if (!values.dni) {\r\n errors.dni = \"El DNI es requerido\";\r\n } else if (isNaN(values.dni)) {\r\n errors.dni = \"El DNI solo puede contener dígitos\";\r\n }\r\n if (!values.fechaNac) {\r\n errors.fechaNac = \"La fecha de nacimiento es requerida\";\r\n }\r\n if (!values.email) {\r\n errors.email = \"El email es requerido\";\r\n } else if (\r\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(values.email)\r\n ) {\r\n errors.email = \"Formato de mail incorrecto\";\r\n }\r\n if (!values.pass) {\r\n errors.pass = \"La contraseña es requerida\";\r\n } else {\r\n if (values.pass.length < 9) {\r\n errors.pass = \"La contraseña debe contener al menos 9 dígitos\";\r\n } else {\r\n if (!/\\d/.test(values.pass)) {\r\n errors.pass =\r\n \"La contraseña debe contener al menos un dígito numérico\";\r\n } else {\r\n if (values.pass !== values.confirmPass) {\r\n errors.pass = \"Las contraseñas no coinciden\";\r\n errors.confirmPass = \"Las contraseñas no coinciden\";\r\n }\r\n if (!values.confirmPass) {\r\n errors.confirmPass = \"La confirmación es requerida\";\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }}\r\n onSubmit={(values, { setSubmitting }) => {\r\n var payload = {\r\n mail: values.email,\r\n nombre: values.nombre,\r\n apellido: values.apellido,\r\n fechaNac: values.fechaNac,\r\n nroDoc: values.dni,\r\n password: values.pass,\r\n };\r\n axiosClient\r\n .post(\"/v2/add_registracion\", payload)\r\n .then((response) => {\r\n setModalRegister(true);\r\n setSubmitting(false);\r\n })\r\n .catch((err) => {\r\n console.log(err.response.data.data);\r\n if (\r\n err.response.data !== undefined &&\r\n err.response.data.data !== undefined\r\n ) {\r\n if (err.response.data.data.includes(\"mail\")) {\r\n setAlert(\r\n \"El mail que ingresaste ya se encuentra registrado. Por favor, ingresá uno diferente\",\r\n \"red-300\"\r\n );\r\n }\r\n if (err.response.data.data.includes(\"usuario\")) {\r\n setAlert(\r\n \"El DNI que ingresaste ya se encuentra registrado. Por favor, ingresá uno diferente\",\r\n \"red-300\"\r\n );\r\n }\r\n } else {\r\n setAlert(\r\n \"No pudimos procesar tu solicitud de registro. Por favor intentá más tarde\",\r\n \"red-300\"\r\n );\r\n }\r\n window.scrollTo({ top: 0 });\r\n setSubmitting(false);\r\n });\r\n }}\r\n >\r\n {({\r\n values,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n isSubmitting,\r\n }) => (\r\n
\r\n \r\n
\r\n \r\n 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 {errors.nombre && touched.nombre && errors.nombre\r\n ? errors.nombre\r\n : \"Placeholder\"}\r\n

\r\n
\r\n
\r\n \r\n Apellido *\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {errors.apellido && touched.apellido && errors.apellido\r\n ? errors.apellido\r\n : \"Placeholder\"}\r\n

\r\n
\r\n
\r\n \r\n DNI *\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {errors.dni && touched.dni && errors.dni\r\n ? errors.dni\r\n : \"Placeholder\"}\r\n

\r\n
\r\n
\r\n \r\n Fecha de Nacimiento\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {errors.fechaNac && touched.fechaNac && errors.fechaNac\r\n ? errors.fechaNac\r\n : \"Placeholder\"}\r\n

\r\n
\r\n
\r\n \r\n Email Personal *\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {errors.email && touched.email && errors.email\r\n ? errors.email\r\n : \"Placeholder\"}\r\n

\r\n
\r\n
\r\n \r\n Contraseñ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 {errors.pass && touched.pass && errors.pass\r\n ? errors.pass\r\n : \"Placeholder\"}\r\n

\r\n
\r\n
\r\n \r\n Confirmar Contraseñ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 {errors.confirmPass &&\r\n touched.confirmPass &&\r\n errors.confirmPass\r\n ? errors.confirmPass\r\n : \"Placeholder\"}\r\n

\r\n
\r\n
\r\n \r\n {isSubmitting ? (\r\n
\r\n

PROCESANDO SOLICITUD

\r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"REGISTRARME\"\r\n )}\r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n {modalRegister ? : null}\r\n
\r\n );\r\n}\r\n\r\nexport default Register;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useLocation, Link } from \"react-router-dom\";\r\nimport axiosClient from \"../config/axios\";\r\n\r\nfunction ConfirmarMail() {\r\n let location = useLocation();\r\n const token = new URLSearchParams(location.search).get(\"cod\");\r\n const username = new URLSearchParams(location.search).get(\"username\");\r\n if (token === null || token === \"\") {\r\n window.location.href = \"/\";\r\n }\r\n if (username === null || username === \"\") {\r\n window.location.href = \"/\";\r\n }\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [textoNotificacion, setTextoNotificacion] = useState({\r\n title: \"Estamos confirmando tu correo electrónico\",\r\n subtitle: \"Aguardá unos momentos por favor\",\r\n progress: \"Confirmando...\",\r\n error: false,\r\n });\r\n\r\n useEffect(() => {\r\n if (\r\n token !== null &&\r\n token !== \"\" &&\r\n username !== null &&\r\n username !== \"\"\r\n ) {\r\n axiosClient\r\n .post(\"/v2/checkCodigoMail\", { codigo: token, username: username })\r\n .then((response) => {\r\n if (response.data.error === false) {\r\n var newText = { ...textoNotificacion };\r\n newText.title = \"Se confirmó correctamente tu correo electrónico\";\r\n newText.subtitle = \"Ya podés iniciar sesión en Cardinal\";\r\n newText.progress = \"Confirmación exitosa\";\r\n newText.error = false;\r\n setTextoNotificacion(newText);\r\n setLoading(false);\r\n } else {\r\n var newText = { ...textoNotificacion };\r\n textoNotificacion.title =\r\n \"No pudimos confirmar tu correo electrónico\";\r\n newText.subtitle = \"Hubo un error en el proceso\";\r\n newText.progress = \"Error al confirmar\";\r\n newText.error = true;\r\n setTextoNotificacion(newText);\r\n setLoading(false);\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n var newText = { ...textoNotificacion };\r\n newText.title = \"No pudimos confirmar tu correo electrónico\";\r\n newText.subtitle = \"Hubo un error en el proceso\";\r\n newText.progress = \"Error al confirmar\";\r\n newText.error = true;\r\n setTextoNotificacion(newText);\r\n setLoading(false);\r\n });\r\n }\r\n }, []);\r\n\r\n useEffect(() => {}, [\r\n textoNotificacion.title,\r\n textoNotificacion.subtitle,\r\n textoNotificacion.progress,\r\n textoNotificacion.error,\r\n ]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n Confirmación de Correo Electrónico\r\n

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

\r\n {textoNotificacion.title}\r\n

\r\n

\r\n {textoNotificacion.subtitle}\r\n

\r\n
\r\n
\r\n {loading ? (\r\n \r\n \r\n \r\n \r\n ) : textoNotificacion.error ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n\r\n

\r\n {textoNotificacion.progress}\r\n

\r\n
\r\n
\r\n {textoNotificacion.progress === \"Confirmación exitosa\" ? (\r\n
\r\n \r\n \r\n \r\n \r\n Ir a Inicio de Sesión\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ConfirmarMail;\r\n","import React, { Fragment, useEffect, useState, useContext } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport cardinalLogo from \"../assets/cardinal-full-white.svg\";\r\nimport AuthContext from \"../context/auth/authContext\";\r\nimport AlertContext from \"../context/alerts/alertContext\";\r\nimport axiosClient from \"../config/axios\";\r\nimport { Formik } from \"formik\";\r\n\r\nfunction RecuperarPass() {\r\n const authContext = useContext(AuthContext);\r\n const { resetPassword } = authContext;\r\n const alertContext = useContext(AlertContext);\r\n const { setAlert } = alertContext;\r\n let location = useLocation();\r\n const codigoUnico = new URLSearchParams(location.search).get(\"codigoUnico\");\r\n const username = new URLSearchParams(location.search).get(\"username\");\r\n\r\n const [mainLoading, setMainLoading] = useState(true);\r\n const [requestCompletado, setRequestCompletado] = useState(false);\r\n\r\n useEffect(() => {\r\n if (codigoUnico === null || username === null) {\r\n window.location.href = \"/\";\r\n } else {\r\n setMainLoading(false);\r\n }\r\n });\r\n\r\n const strongPasswordCheck = (plain_password) => {\r\n if (plain_password.length < 9) {\r\n return [false, \"La contraseña debe contener al menos 9 caracteres\"];\r\n }\r\n if (/\\s/g.test(plain_password)) {\r\n return [false, \"La contraseña no puede contener espacios\"];\r\n }\r\n if (!/\\d/.test(plain_password)) {\r\n return [false, \"La contraseña debe contener al menos 1 número\"];\r\n }\r\n var test_string = /[`!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?~]/;\r\n if (!test_string.test(plain_password)) {\r\n return [false, \"La contraseña debe contener al menos 1 símbolo especial\"];\r\n }\r\n return [true, \"\"];\r\n };\r\n\r\n if (!mainLoading) {\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Recuperación de Contraseña\r\n

\r\n

\r\n ¡Hola, {username}!\r\n

\r\n

\r\n Por favor completá los datos solicitados para recuperar tu\r\n contraseña\r\n

\r\n
\r\n {\r\n const errors = {};\r\n if (!values.password) {\r\n errors.password = \"Por favor, completá la contraseña\";\r\n } else if (!strongPasswordCheck(values.password)[0]) {\r\n errors.password = strongPasswordCheck(values.password)[1];\r\n }\r\n if (!values.confirmar_password) {\r\n errors.confirmar_password =\r\n \"Por favor, completá la confirmación de la contraseña\";\r\n }\r\n if (values.password && values.confirmar_password) {\r\n if (values.password !== values.confirmar_password) {\r\n errors.password = \"Las contraseñas no coinciden\";\r\n errors.confirmar_password = \"Las contraseñas no coinciden\";\r\n }\r\n }\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n var payload = {\r\n codigo: codigoUnico,\r\n password: values.password,\r\n };\r\n await axiosClient\r\n .post(\"reset_password_user\", payload)\r\n .then(() => {\r\n setRequestCompletado(true);\r\n setSubmitting(false);\r\n setAlert(\r\n \"Contraseña restablecida exitosamente, se te redirigirá al inicio en 5 segundos\",\r\n \"green-300\"\r\n );\r\n setTimeout(() => (window.location.href = \"/\"), 5000);\r\n })\r\n .catch(() => {\r\n setSubmitting(false);\r\n setAlert(\r\n \"Hubo un error procesando la solicitud\",\r\n \"red-300\"\r\n );\r\n });\r\n }}\r\n >\r\n {({\r\n values,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n isSubmitting,\r\n }) => (\r\n \r\n
\r\n

\r\n La contraseña debe respetar el siguiente formato:\r\n

\r\n
\r\n
• Longitud mínima de 9 caracteres
\r\n
• No debe contener espacios
\r\n
• Debe contener al menos un dígito del 0 al 9
\r\n
\r\n • Debe contener al menos uno de los siguientes símbolos\r\n
\r\n !@#$%^()_+\\-=\\[\\]{}\r\n ;':\"\\\\|,.\\/?~{\" \"}\r\n
\r\n
\r\n
\r\n \r\n Nueva Contraseñ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 {errors.password && touched.password && errors.password}\r\n \r\n\r\n \r\n Confirmar Nueva Contraseñ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 {errors.confirmar_password &&\r\n touched.confirmar_password &&\r\n errors.confirmar_password}\r\n \r\n\r\n \r\n Cambiar Contraseña\r\n {isSubmitting ? (\r\n \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 } else {\r\n return
;\r\n }\r\n}\r\n\r\nexport default RecuperarPass;\r\n","import { useState, useEffect, useContext } from \"react\";\r\nimport axiosClient from \"../../../config/axios\";\r\nimport AuthContext from \"../../../context/auth/authContext\";\r\nimport AlertContext from \"../../../context/alerts/alertContext\";\r\n\r\nfunction DatosPersonales() {\r\n const authContext = useContext(AuthContext);\r\n const { header, userID, getUser, checkGrupo, auth } = authContext;\r\n const alertContext = useContext(AlertContext);\r\n const { setAlert } = alertContext;\r\n\r\n const [habilitarEdicion, setHabilitarEdicion] = useState(false);\r\n const [misDatos, setMisDatos] = useState({\r\n nombre: \"\",\r\n apellido: \"\",\r\n nroDoc: \"\",\r\n fechaNac: { date: \"\" },\r\n mail: \"\",\r\n nroDoc: \"\",\r\n tipoDoc: \"\",\r\n genero: \"\",\r\n celular: \"\",\r\n direccion: \"\",\r\n provincia: \"\",\r\n ciudad: \"\",\r\n codigoPostal: \"\",\r\n telefono: \"\",\r\n });\r\n const [datosGenerales, setDatosGenerales] = useState({});\r\n const [loadingDatos, setLoadingDatos] = useState(true);\r\n const [actualizando, setActualizando] = useState(false);\r\n\r\n useEffect(() => {\r\n getUser().then(() => {\r\n if (!checkGrupo(\"USUARIO\")) {\r\n window.location = \"/login\";\r\n } else {\r\n axiosClient\r\n .get(`v2/mis_datos/${userID}`, header)\r\n .then((response) => {\r\n if (response.data.error === false) {\r\n setMisDatos(response.data.data.persona);\r\n var datosGenerales = {\r\n provincias: response.data.data.provincias,\r\n generos: response.data.data.generos,\r\n };\r\n setDatosGenerales(datosGenerales);\r\n } else {\r\n setAlert(\r\n \"Hubo un problema recuperando tus datos. Por favor, intentá más tarde\",\r\n \"red-300\"\r\n );\r\n }\r\n setLoadingDatos(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setAlert(\r\n \"Hubo un problema recuperando tus datos. Por favor, intentá más tarde\",\r\n \"red-300\"\r\n );\r\n });\r\n }\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!checkGrupo(\"USUARIO\")) {\r\n window.location = \"/login\";\r\n }\r\n }, [auth]);\r\n\r\n const updateValue = (e) => {\r\n var newDatos = { ...misDatos };\r\n newDatos[e.target.name] = e.target.value;\r\n setMisDatos(newDatos);\r\n };\r\n\r\n const actualizarDatos = () => {\r\n setActualizando(true);\r\n var payload = {\r\n idPersona: userID,\r\n mail: misDatos.mail,\r\n nombre: misDatos.nombre,\r\n apellido: misDatos.apellido,\r\n fechaNac:\r\n misDatos.fechaNac.date !== undefined\r\n ? misDatos.fechaNac.date\r\n : misDatos.fechaNac,\r\n nroDoc: misDatos.nroDoc.toString(),\r\n tipoDoc: misDatos.tipoDoc,\r\n genero: misDatos.genero,\r\n celular: misDatos.celular,\r\n direccion: misDatos.direccion,\r\n provincia: misDatos.provincia,\r\n ciudad: misDatos.ciudad,\r\n codigoPostal: misDatos.codigoPostal,\r\n telefono: misDatos.telefono,\r\n };\r\n axiosClient\r\n .post(\"v2/editar_persona\", payload, header)\r\n .then((response) => {\r\n if (response.data.error === false) {\r\n setAlert(\"Datos actualizados correctamente\", \"green-300\");\r\n setHabilitarEdicion(false);\r\n } else {\r\n setAlert(\r\n \"Hubo un error actualizando tus datos. Por favor, intentá más tarde\",\r\n \"red-300\"\r\n );\r\n }\r\n setActualizando(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setAlert(\r\n \"Hubo un error actualizando tus datos. Por favor, intentá más tarde\",\r\n \"red-300\"\r\n );\r\n setActualizando(false);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n

\r\n Datos Personales\r\n

\r\n
\r\n
\r\n \r\n updateValue(e)}\r\n />\r\n
\r\n
\r\n \r\n updateValue(e)}\r\n />\r\n
\r\n
\r\n \r\n updateValue(e)}\r\n >\r\n {!loadingDatos && datosGenerales.generos.length > 0 ? (\r\n datosGenerales.generos.map((g) => (\r\n \r\n ))\r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n updateValue(e)}\r\n />\r\n
\r\n
\r\n \r\n updateValue(e)}\r\n />\r\n
\r\n
\r\n \r\n updateValue(e)}\r\n />\r\n
\r\n
\r\n \r\n updateValue(e)}\r\n />\r\n
\r\n
\r\n \r\n updateValue(e)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n updateValue(e)}\r\n />\r\n
\r\n
\r\n \r\n updateValue(e)}\r\n >\r\n {!loadingDatos && datosGenerales.provincias.length > 0 ? (\r\n datosGenerales.provincias.map((p) => (\r\n \r\n ))\r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n updateValue(e)}\r\n />\r\n
\r\n
\r\n \r\n updateValue(e)}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n if (habilitarEdicion) {\r\n actualizarDatos();\r\n } else {\r\n setHabilitarEdicion(!habilitarEdicion);\r\n }\r\n }}\r\n className={\r\n habilitarEdicion\r\n ? actualizando\r\n ? \"bg-gray-400 flex flex-row items-center font-medium text-gray-800 text-lg px-6 py-1 rounded-md focus:outline-none cursor-not-allowed w-full lg:w-3/12 2xl:w-2/12 justify-center lg:mt-1.5\"\r\n : \"bg-green-500 flex flex-row items-center font-medium text-white text-lg px-6 py-1 rounded-md focus:outline-none transition duration-300 hover:bg-green-600 w-full lg:w-3/12 2xl:w-3/12 justify-center lg:mt-1.5\"\r\n : \"bg-mainBlueLight flex flex-row items-center font-medium text-white text-lg px-6 py-1 rounded-md focus:outline-none transition duration-300 hover:bg-indigo-600 w-full lg:w-2/12 2xl:w-1/12 justify-center lg:mt-1.5\"\r\n }\r\n disabled={actualizando}\r\n >\r\n {habilitarEdicion ? (\r\n actualizando ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n {habilitarEdicion\r\n ? actualizando\r\n ? \"Actualizando\"\r\n : \"Guardar Cambios\"\r\n : \"Editar\"}\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default DatosPersonales;\r\n","import { useContext, useState } from \"react\";\r\nimport axiosClient from \"../../../../config/axios\";\r\nimport UsuariosContext from \"../../../../context/usuarios/usuariosContext\";\r\nimport AuthContext from \"../../../../context/auth/authContext\";\r\nimport AlertContext from \"../../../../context/alerts/alertContext\";\r\n\r\nfunction ModalAltaGP() {\r\n const usuariosContext = useContext(UsuariosContext);\r\n const { setModalGP, updateGP, setUpdateGP } = usuariosContext;\r\n const authContext = useContext(AuthContext);\r\n const { header } = authContext;\r\n const alertContext = useContext(AlertContext);\r\n const { setAlert } = alertContext;\r\n const [dniPersona, setDNIPersona] = useState(\"\");\r\n const [nombrePersona, setNombrePersona] = useState(\"\");\r\n\r\n const agregarPersona = async () => {\r\n if (dniPersona === \"\" || nombrePersona === \"\") {\r\n //alerta\r\n return false;\r\n }\r\n var payload = {\r\n dniPadre: localStorage.getItem(\"name\"),\r\n dniHijo: dniPersona,\r\n nombre: nombrePersona,\r\n };\r\n axiosClient\r\n .post(\"add_grupo_pago\", payload, header)\r\n .then((response) => {\r\n console.log(response);\r\n setUpdateGP(!updateGP);\r\n setAlert(\"Persona agregada exitosamente\", \"green-300\");\r\n setModalGP(false);\r\n })\r\n .catch((err) => {\r\n var mensaje = err.response.data.data\r\n ? err.response.data.data\r\n : \"Hubo un error agregando la persona a su grupo\";\r\n setAlert(mensaje, \"red-300\");\r\n setModalGP(false);\r\n console.log(err);\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 Agregar Persona a Grupo de Pago\r\n

\r\n
\r\n

\r\n

\r\n Para agregar una Persona a tu Grupo de Pago, ingresá el DNI y\r\n un nombre para identificar a la misma. Luego, hacé click en{\" \"}\r\n Agregar\r\n

\r\n
\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 (parseInt(e.target.value) > 0 || e.target.value === \"\") {\r\n setDNIPersona(e.target.value);\r\n }\r\n }}\r\n //disabled={aceptandoArchivo}\r\n value={dniPersona}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n setNombrePersona(e.target.value)}\r\n //disabled={aceptandoArchivo}\r\n value={nombrePersona}\r\n />\r\n
\r\n {/* {\r\n setModalGP(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n Buscar\r\n */}\r\n
\r\n
\r\n
\r\n {\r\n agregarPersona();\r\n }}\r\n disabled={nombrePersona === \"\" || dniPersona === \"\"}\r\n >\r\n \r\n \r\n \r\n

Agregar

\r\n \r\n {\r\n setModalGP(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n

Cerrar

\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ModalAltaGP;\r\n","import { useContext } from \"react\";\r\nimport axiosClient from \"../../../../config/axios\";\r\nimport AlertContext from \"../../../../context/alerts/alertContext\";\r\nimport AuthContext from \"../../../../context/auth/authContext\";\r\nimport UsuariosContext from \"../../../../context/usuarios/usuariosContext\";\r\n\r\nfunction MODAL_BLOQ_DESBLOQ(props) {\r\n const dataModal = props.data;\r\n const usuariosContext = useContext(UsuariosContext);\r\n const { setModalBloqDesbloq, setUpdateGP, updateGP } = usuariosContext;\r\n const authContext = useContext(AuthContext);\r\n const { header } = authContext;\r\n const alertContext = useContext(AlertContext);\r\n const { setAlert } = alertContext;\r\n\r\n const handleAction = async () => {\r\n if (dataModal.elim) {\r\n var payload = {\r\n idGrupo: dataModal.persona.id,\r\n estado: 2,\r\n };\r\n axiosClient\r\n .post(\"set_grupo_estado\", payload, header)\r\n .then((response) => {\r\n console.log(response);\r\n setAlert(\"Persona deshabilitada correctamente\", \"green-300\");\r\n setUpdateGP(!updateGP);\r\n setModalBloqDesbloq(false);\r\n })\r\n .catch((err) => {\r\n setAlert(\"Hubo un error deshabilitando a la persona\", \"red-300\");\r\n setModalBloqDesbloq(false);\r\n console.log(err);\r\n });\r\n } else {\r\n if (dataModal.bloq) {\r\n var payload = {\r\n idGrupo: dataModal.persona.id,\r\n estado: 2,\r\n };\r\n axiosClient\r\n .post(\"set_grupo_estado\", payload, header)\r\n .then((response) => {\r\n console.log(response);\r\n setAlert(\"Persona deshabilitada correctamente\", \"green-300\");\r\n setUpdateGP(!updateGP);\r\n setModalBloqDesbloq(false);\r\n })\r\n .catch((err) => {\r\n setAlert(\"Hubo un error deshabilitando a la persona\", \"red-300\");\r\n setModalBloqDesbloq(false);\r\n console.log(err);\r\n });\r\n } else {\r\n var payload = {\r\n idGrupo: dataModal.persona.id,\r\n estado: 1,\r\n };\r\n axiosClient\r\n .post(\"set_grupo_estado\", payload, header)\r\n .then((response) => {\r\n console.log(response);\r\n setAlert(\"Persona habilitada correctamente\", \"green-300\");\r\n setUpdateGP(!updateGP);\r\n setModalBloqDesbloq(false);\r\n })\r\n .catch((err) => {\r\n setAlert(\"Hubo un error habilitando a la persona\", \"red-300\");\r\n setModalBloqDesbloq(false);\r\n console.log(err);\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
\r\n {dataModal.bloq || dataModal.elim ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n

\r\n {dataModal.bloq || dataModal.elim\r\n ? \"Deshabilitar Persona\"\r\n : \"Habilitar Persona\"}\r\n

\r\n
\r\n

\r\n {`¿Desea ${\r\n dataModal.bloq\r\n ? \"deshabilitarse dentro del grupo de pago de la persona?\"\r\n : dataModal.elim\r\n ? \"deshabilitar a la persona de tu grupo de pago?\"\r\n : parseInt(localStorage.getItem(\"name\")) ===\r\n dataModal.persona.nroDocPadre\r\n ? \"habilitar a la persona dentro de tu grupo de pago?\"\r\n : \"habilitarse dentro del grupo de pago de la persona?\"\r\n }`}{\" \"}\r\n

\r\n

\r\n {\" \"}\r\n {dataModal.bloq\r\n ? \"Si lo hacés, la persona dejará de ver y recibir tus facturas\"\r\n : dataModal.elim\r\n ? \"Si lo hacés, no podrás ver ni pagar las facturas de la persona\"\r\n : parseInt(localStorage.getItem(\"name\")) !==\r\n dataModal.persona.nroDocPadre\r\n ? \"Si lo hacés, la persona podrá volver a ver y pagar tus facturas\"\r\n : \"Si lo hacés, podrás volver a ver y pagar las facturas de la persona\"}\r\n

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

\r\n

NOMBRE:

{\" \"}\r\n {dataModal.persona.nombre}\r\n

\r\n

\r\n

DNI:

{\" \"}\r\n {dataModal.persona.nroDocHijo}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n handleAction();\r\n }}\r\n >\r\n

\r\n {dataModal.bloq\r\n ? \"Deshabilitar\"\r\n : dataModal.elim\r\n ? \"Deshabilitar\"\r\n : \"Habilitar\"}\r\n

\r\n \r\n {\r\n setModalBloqDesbloq(false);\r\n }}\r\n >\r\n

Cerrar

\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default MODAL_BLOQ_DESBLOQ;\r\n","import { useContext, useState, useEffect } from \"react\";\r\nimport ModalAltaGP from \"./ModalAltaGP\";\r\nimport MODAL_BLOQ_DESBLOQ from \"./Modal_Bloq_Desbloq\";\r\nimport UsuariosContext from \"../../../../context/usuarios/usuariosContext\";\r\nimport AuthContext from \"../../../../context/auth/authContext\";\r\nimport axiosClient from \"../../../../config/axios\";\r\n\r\nfunction GrupoPago() {\r\n const usuariosContext = useContext(UsuariosContext);\r\n const {\r\n setModalGP,\r\n modalGP,\r\n setModalBloqDesbloq,\r\n modalBloqDesbloq,\r\n updateGP,\r\n } = usuariosContext;\r\n const authContext = useContext(AuthContext);\r\n const { header } = authContext;\r\n\r\n const [dataModal, setDataModal] = useState({ bloq: false, persona: null });\r\n const [grupoPropio, setGrupoPropio] = useState([]);\r\n const [grupoExterno, setGrupoExterno] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n if (dataModal.persona !== null) {\r\n setModalBloqDesbloq(true);\r\n }\r\n }, [dataModal]);\r\n\r\n useEffect(() => {\r\n if (grupoExterno.length > 0 && grupoPropio.length > 0) {\r\n setLoading(false);\r\n }\r\n }, [grupoExterno, grupoPropio]);\r\n\r\n useEffect(() => {\r\n axiosClient\r\n .get(\"get_grupos_pago/\" + localStorage.getItem(\"name\"), header)\r\n .then((response) => {\r\n var grupoPropioAux = [];\r\n var grupoExternoAux = [];\r\n var dniPersona = parseInt(localStorage.getItem(\"name\"));\r\n response.data.data.map((dato) => {\r\n if (dato.nroDocPadre === dniPersona) {\r\n grupoPropioAux.push(dato);\r\n } else {\r\n grupoExternoAux.push(dato);\r\n }\r\n });\r\n grupoPropioAux = grupoPropioAux.sort((a, b) =>\r\n a.estado > b.estado ? 1 : -1\r\n );\r\n grupoExternoAux = grupoExternoAux.sort((a, b) =>\r\n a.estado > b.estado ? 1 : -1\r\n );\r\n setGrupoPropio(grupoPropioAux);\r\n setGrupoExterno(grupoExternoAux);\r\n setLoading(false);\r\n\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }, [updateGP]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Mi Grupo\r\n

\r\n

\r\n Estas son las personas que están dentro de tu grupo de pago\r\n

\r\n
\r\n setModalGP(true)}\r\n >\r\n \r\n \r\n \r\n

Agregar

\r\n \r\n
\r\n {loading ? (\r\n
\r\n \r\n \r\n \r\n
\r\n ) : (\r\n grupoPropio.map((miembro) => (\r\n
\r\n
\r\n

NOMBRE

\r\n

{miembro.nombre}

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

DNI

\r\n

{miembro.nroDocHijo}

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

EMAIL

\r\n

\r\n {miembro.mail === null ? \"No posee\" : miembro.mail}\r\n

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

ESTADO

\r\n \r\n {miembro.estado === 1 || miembro.estado == 0\r\n ? \"HABILITADO\"\r\n : miembro.estado === 3\r\n ? \"BLOQUEADO\"\r\n : \"DESHABILITADO\"}\r\n

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

ACCIONES

\r\n {\r\n setDataModal({\r\n bloq: false,\r\n elim: miembro.estado === 1 || miembro.estado === 0,\r\n persona: miembro,\r\n });\r\n }}\r\n >\r\n {miembro.estado === 1 || miembro.estado === 0 ? (\r\n \r\n \r\n \r\n ) : miembro.estado === 3 ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n\r\n

\r\n {miembro.estado === 1 || miembro.estado === 0\r\n ? \"DESHABILITAR\"\r\n : miembro.estado === 3\r\n ? \"NO DISPONIBLE\"\r\n : \"HABILITAR\"}\r\n

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

\r\n Grupos en los que estoy\r\n

\r\n

\r\n Estas son las personas que te agregaron a sus grupos de pago\r\n

\r\n {loading ? (\r\n
\r\n \r\n \r\n \r\n
\r\n ) : (\r\n grupoExterno.map((miembro) => (\r\n
\r\n
\r\n

NOMBRE

\r\n

{miembro.nombre}

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

DNI

\r\n

{miembro.nroDocPadre}

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

EMAIL

\r\n

\r\n {miembro.mail === null ? \"No posee\" : miembro.mail}\r\n

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

ESTADO

\r\n \r\n {miembro.estado === 1 || miembro.estado === 0\r\n ? \"HABILITADO\"\r\n : \"DESHABILITADO\"}\r\n

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

ACCIONES

\r\n {\r\n setDataModal({\r\n bloq: miembro.estado === 1 || miembro.estado === 0,\r\n elim: false,\r\n persona: miembro,\r\n });\r\n }}\r\n >\r\n {miembro.estado === 1 || miembro.estado === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n\r\n

\r\n {miembro.estado === 1 || miembro.estado === 0\r\n ? \"DESHABILITAR\"\r\n : \"HABILITAR\"}\r\n

\r\n \r\n
\r\n
\r\n ))\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n\r\n {modalGP ? : null}\r\n {modalBloqDesbloq ? : null}\r\n
\r\n );\r\n}\r\n\r\nexport default GrupoPago;\r\n","import React from \"react\";\r\n\r\nfunction Loading({ color }) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Loading;\r\n","import { useEffect, useState, useContext } from \"react\";\r\nimport Loading from \"../Loading\";\r\nimport axiosClient from \"../../config/axios\";\r\nimport AuthContext from \"../../context/auth/authContext\";\r\nimport CobrosContext from \"../../context/cobros/cobrosContext\";\r\n\r\nfunction MisArchivos() {\r\n const authContext = useContext(AuthContext);\r\n const { header, getUser, checkGrupo, auth, username } = authContext;\r\n const dniPersona = username;\r\n const cobrosContext = useContext(CobrosContext);\r\n const { formatDate } = cobrosContext;\r\n const [loadingFacturas, setLoadingFacturas] = useState(true);\r\n const [archivos, setArchivos] = useState([]);\r\n const [hayError, setHayError] = useState(false);\r\n\r\n useEffect(() => {\r\n getUser().then(() => {\r\n if (!checkGrupo(\"USUARIO\")) {\r\n window.location = \"/login\";\r\n } else {\r\n var payload = {\r\n dni: dniPersona,\r\n };\r\n axiosClient\r\n .post(`v2/get_mis_archivos`, payload, header)\r\n .then((response) => {\r\n setArchivos(response.data.data);\r\n setLoadingFacturas(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setHayError(true);\r\n setLoadingFacturas(false);\r\n });\r\n }\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!checkGrupo(\"USUARIO\")) {\r\n window.location = \"/login\";\r\n }\r\n }, [auth]);\r\n\r\n const openInNewTab = (url,id_emp,id_arch) => {\r\n let payload={\r\n id_archivo:id_arch,\r\n id_empresa:id_emp\r\n }\r\n axiosClient\r\n .post(`v2/set_log`, payload, header)\r\n .then((response) => {\r\n \r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setHayError(true); \r\n });\r\n\r\n window.open(url, \"_blank\").focus();\r\n };\r\n\r\n if (auth) {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Mis Archivos\r\n

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

\r\n Acá podés revisar el listado de tus archivos subidos\r\n

\r\n
\r\n {loadingFacturas ? : null}\r\n {archivos && archivos.length > 0 ? (\r\n archivos.map((ar) => (\r\n \r\n {/*
\r\n

\r\n NRO. ARCHIVO\r\n

\r\n

{ar.id}

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

\r\n FECHA SUBIDA\r\n

\r\n

\r\n {ar.fecha !== null\r\n ? formatDate(ar.fecha)\r\n : \"No Especificada\"}\r\n

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

EMPRESA

\r\n

{ar.descripcion}

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

\r\n NOMBRE ARCHIVO\r\n

\r\n

\r\n {\" \"}\r\n {ar.nombre !== null ? ar.nombre : \"No Especificado\"}\r\n

\r\n
\r\n
\r\n openInNewTab(ar.url,ar.ID_empresa,ar.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Ver Archivo\r\n \r\n
\r\n
\r\n ))\r\n ) : !loadingFacturas && !hayError ? (\r\n
\r\n

\r\n

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

{\" \"}\r\n Aún no tenés archivos subidos. Cuando te suban uno nuevo, van\r\n a aparecer acá.{\" \"}\r\n

\r\n
\r\n ) : !loadingFacturas && hayError ? (\r\n
\r\n

\r\n

🙁

¡Ups! Hubo un error\r\n recuperando tus archivos. Por favor, intentá más tarde.{\" \"}\r\n

\r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n );\r\n } else {\r\n window.location = \"/\";\r\n }\r\n}\r\n\r\nexport default MisArchivos;\r\n","import { useState, useContext } from \"react\";\r\nimport DatosPersonales from \"./MisDatos/DatosPersonales\";\r\nimport GrupoPago from \"./MisDatos/GrupoPago/GrupoPago\";\r\nimport MisArchivos from \"./MisArchivos\";\r\nimport AuthContext from \"../../context/auth/authContext\";\r\n\r\nfunction MisDatos() {\r\n const [elegido, setElegido] = useState(\"personales\");\r\n const authContext = useContext(AuthContext);\r\n const { auth } = authContext;\r\n\r\n if (auth) {\r\n return (\r\n
\r\n
\r\n
\r\n setElegido(\"personales\")}\r\n >\r\n Datos Personales\r\n \r\n {/* setElegido(\"facturacion\")}\r\n >\r\n Datos de Facturación\r\n */}\r\n setElegido(\"grupo-pago\")}\r\n >\r\n
\r\n

Grupo de Pago

\r\n
\r\n \r\n setElegido(\"datos-servicio\")}\r\n >\r\n Credenciales\r\n \r\n
\r\n
\r\n {elegido === \"personales\" ? : null}\r\n {/* {elegido === \"facturacion\" ? : null} */}\r\n {elegido === \"grupo-pago\" ? : null}\r\n {elegido === \"datos-servicio\" ? : null}\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n window.location = \"/\";\r\n }\r\n}\r\n\r\nexport default MisDatos;\r\n","import { useContext } from \"react\";\r\nimport CobrosContext from \"../../../context/cobros/cobrosContext\";\r\n\r\nfunction ModalCarga(props) {\r\n const cobrosContext = useContext(CobrosContext);\r\n const { formatImporte } = cobrosContext;\r\n\r\n if (props.factura) {\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 Estamos preparando todo para el Pago\r\n

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

Vas a pagar:

\r\n

\r\n {props.factura.descripcion + \" - \" + props.factura.nombre}\r\n

\r\n

Por un monto de:

\r\n

\r\n {formatImporte(\r\n parseFloat(props.factura.importe) +\r\n parseFloat(props.factura.importe2)\r\n )}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\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 ModalCarga;\r\n","import { useEffect, useState, useContext } from \"react\";\r\nimport Loading from \"../../Loading\";\r\nimport axiosClient from \"../../../config/axios\";\r\nimport AuthContext from \"../../../context/auth/authContext\";\r\nimport CobrosContext from \"../../../context/cobros/cobrosContext\";\r\nimport UsuariosContext from \"../../../context/usuarios/usuariosContext\";\r\nimport ModalCarga from \"./ModalCarga\";\r\n\r\nfunction MisFacturas() {\r\n const authContext = useContext(AuthContext);\r\n const { header, userID, getUser, checkGrupo, auth } = authContext;\r\n const cobrosContext = useContext(CobrosContext);\r\n const { formatDate, formatImporte, calcularVencimiento } = cobrosContext;\r\n const usuariosContext = useContext(UsuariosContext);\r\n const { modalLoadingPreferencia, setModalLoadingPreferencia } =\r\n usuariosContext;\r\n const [loadingFacturas, setLoadingFacturas] = useState(true);\r\n /* const [facturas, setFacturas] = useState([]); */\r\n const [facturasPropias, setFacturasPropias] = useState(null);\r\n const [facturasGrupo, setFacturasGrupo] = useState(null);\r\n const [hayError, setHayError] = useState(false);\r\n const [paymentModalOpen, setPaymentModalOpen] = useState({});\r\n const [preferenceId, setPreferenceId] = useState(null);\r\n const [facturaSeleccionada, setFacturaSeleccionada] = useState(null);\r\n\r\n useEffect(() => {\r\n getUser().then(() => {\r\n if (!checkGrupo(\"USUARIO\")) {\r\n window.location = \"/login\";\r\n } else {\r\n axiosClient\r\n .get(`v2/mis_facturas/${userID}`, header)\r\n .then((response) => {\r\n //setFacturas(response.data.data.facturas);\r\n var facturasPropias = { ...response.data.data.facturas };\r\n var aux = { ...response.data.data };\r\n delete aux[\"facturas\"];\r\n var facturasGrupo = aux;\r\n var GP_ARRAY = [];\r\n var PROP_ARRAY = [];\r\n var MERGED_ARRAY = [];\r\n for (var key in facturasGrupo) {\r\n if (facturasGrupo.hasOwnProperty(key)) {\r\n GP_ARRAY.push(facturasGrupo[key]);\r\n MERGED_ARRAY.push(facturasGrupo[key]);\r\n }\r\n }\r\n for (var key in facturasPropias) {\r\n if (facturasPropias.hasOwnProperty(key)) {\r\n PROP_ARRAY.push(facturasPropias[key]);\r\n MERGED_ARRAY.push(facturasPropias[key]);\r\n }\r\n }\r\n setFacturasGrupo(GP_ARRAY);\r\n setFacturasPropias(PROP_ARRAY);\r\n\r\n localStorage.setItem(\"facturas\", JSON.stringify(MERGED_ARRAY));\r\n setLoadingFacturas(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setHayError(true);\r\n setLoadingFacturas(false);\r\n });\r\n }\r\n });\r\n }, []);\r\n\r\n const addCheckout = () => {\r\n const mp = new window.MercadoPago(\r\n \"TEST-891c851b-20b5-4d8b-97ad-5438f35e8089\",\r\n {\r\n locale: \"es-AR\",\r\n }\r\n );\r\n\r\n // Inicializa el checkout\r\n mp.checkout({\r\n preference: {\r\n id: preferenceId,\r\n },\r\n autoOpen: true,\r\n });\r\n setModalLoadingPreferencia(false);\r\n setFacturaSeleccionada(null);\r\n };\r\n\r\n useEffect(() => {\r\n if (preferenceId) {\r\n // con el preferenceId en mano, inyectamos el script de mercadoPago\r\n const script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.src = \"https://sdk.mercadopago.com/js/v2\";\r\n script.addEventListener(\"load\", addCheckout); // Cuando cargue el script, se ejecutará la función addCheckout\r\n document.body.appendChild(script);\r\n }\r\n }, [preferenceId]);\r\n\r\n const generarPreferencia = async (factura) => {\r\n var payload = {\r\n nomCliente: process.env.REACT_APP_NOMBRE_CLIENTE,\r\n infoAdicional: factura.id,\r\n items: [\r\n {\r\n titulo: factura.nombre + \" - \" + factura.descripcion,\r\n descripcion:\r\n factura.descripcion +\r\n \" || \" +\r\n factura.nombre +\r\n \" || \" +\r\n factura.nroDoc.toString(),\r\n cantidad: 1,\r\n precio_unitario:\r\n parseFloat(factura.importe) + parseFloat(factura.importe2),\r\n },\r\n ],\r\n };\r\n axiosClient\r\n .post(\"preferencias\", payload, header)\r\n .then((response) => {\r\n setPreferenceId(response.data.data.preferencia.id_preferencia_mp);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setModalLoadingPreferencia(false);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (facturaSeleccionada !== null) {\r\n console.log(facturaSeleccionada);\r\n setModalLoadingPreferencia(true);\r\n generarPreferencia(facturaSeleccionada);\r\n }\r\n }, [facturaSeleccionada]);\r\n\r\n useEffect(() => {\r\n if (!checkGrupo(\"USUARIO\")) {\r\n window.location = \"/login\";\r\n }\r\n }, [auth]);\r\n\r\n useEffect(() => {\r\n if (facturasPropias !== null && facturasGrupo !== null) {\r\n setLoadingFacturas(false);\r\n }\r\n }, [facturasGrupo, facturasPropias]);\r\n\r\n const handlePaymentModal = (id) => {\r\n const newPaymentModal = { ...paymentModalOpen };\r\n newPaymentModal[id] = !newPaymentModal[id];\r\n for (var [key] of Object.entries(newPaymentModal)) {\r\n if (key !== id[0].toString()) {\r\n newPaymentModal[key] = false;\r\n }\r\n }\r\n setPaymentModalOpen(newPaymentModal);\r\n };\r\n\r\n const openInNewTab = (url) => {\r\n window.open(url, \"_blank\").focus();\r\n };\r\n\r\n if (auth) {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Mis Facturas\r\n

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

\r\n Acá podés revisar el listado de tus facturas pendientes\r\n

\r\n
\r\n {loadingFacturas ? : null}\r\n {!loadingFacturas && facturasPropias && facturasGrupo ? (\r\n
\r\n

\r\n Tus facturas pendientes\r\n

\r\n {facturasPropias.length > 0 ? (\r\n facturasPropias.map((f) => (\r\n \r\n {/*
\r\n

NRO.

\r\n

{f.numero}

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

NOMBRE

\r\n

{f.nombre}

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

\r\n EMPRESA\r\n

\r\n

\r\n {f.nombre_empresa}\r\n

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

\r\n DESCRIPCIÓN\r\n

\r\n

\r\n {f.nombre + \" - \" + f.descripcion}\r\n

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

\r\n FECHA EMISIÓN\r\n

\r\n

\r\n {formatDate(f.fecha)}\r\n

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

\r\n FECHA VENCIMIENTO\r\n

\r\n \r\n {formatDate(f.fechaVencimiento1)}\r\n

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

\r\n IMPORTE\r\n

\r\n \r\n {calcularVencimiento(f.fechaVencimiento1)\r\n ? formatImporte(\r\n (\r\n parseFloat(f.importe) + parseFloat(f.importe2)\r\n ).toString()\r\n )\r\n : formatImporte(f.importe)}\r\n

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

\r\n SALDO A LA FECHA\r\n

\r\n

\r\n {formatImporte(f.saldo)}\r\n

\r\n
\r\n
\r\n
\r\n handlePaymentModal([f.id])}\r\n >\r\n \r\n \r\n \r\n Pagar\r\n \r\n \r\n {f.medioDePago.map((medio) => (\r\n {\r\n if (\r\n medio.nombre === \"Bapro\" ||\r\n medio.nombre === \"PFacil\"\r\n ) {\r\n openInNewTab(\"/factura-descarga?f=\" + f.id);\r\n } else {\r\n if (medio.nombre === \"MercadoPago\") {\r\n setFacturaSeleccionada(f);\r\n //generarPreferencia(f);\r\n }\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n

\r\n {medio.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 No tenés facturas pendientes propias{\" \"}\r\n
\r\n )}\r\n

\r\n Facturas pendientes de tu Grupo de Pago\r\n

\r\n {facturasGrupo.length > 0 ? (\r\n facturasGrupo.map((f) => (\r\n \r\n {/*
\r\n

NRO.

\r\n

{f.numero}

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

NOMBRE

\r\n

{f.nombre}

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

\r\n EMPRESA\r\n

\r\n

\r\n {f.nombre_empresa}\r\n

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

\r\n DESCRIPCIÓN\r\n

\r\n

\r\n {f.nombre + \" - \" + f.descripcion}\r\n

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

\r\n FECHA EMISIÓN\r\n

\r\n

\r\n {formatDate(f.fecha)}\r\n

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

\r\n FECHA VENCIMIENTO\r\n

\r\n \r\n {formatDate(f.fechaVencimiento1)}\r\n

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

\r\n IMPORTE\r\n

\r\n \r\n {calcularVencimiento(f.fechaVencimiento1)\r\n ? formatImporte(\r\n (\r\n parseFloat(f.importe) + parseFloat(f.importe2)\r\n ).toString()\r\n )\r\n : formatImporte(f.importe)}\r\n

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

\r\n SALDO A LA FECHA\r\n

\r\n

\r\n {formatImporte(f.saldo)}\r\n

\r\n
\r\n
\r\n
\r\n {/* handlePaymentModal([f.id])}\r\n >\r\n \r\n \r\n \r\n Pagar\r\n */}\r\n \r\n {f.medioDePago.map((medio) => (\r\n {\r\n if (\r\n medio.nombre === \"Bapro\" ||\r\n medio.nombre === \"PFacil\"\r\n ) {\r\n openInNewTab(\"/factura-descarga?f=\" + f.id);\r\n } else {\r\n if (medio.nombre === \"MercadoPago\") {\r\n setFacturaSeleccionada(f);\r\n //generarPreferencia(f);\r\n }\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n

\r\n {medio.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 No tenés facturas pendientes de tu Grupo de Pago{\" \"}\r\n
\r\n )}\r\n \r\n ) : !loadingFacturas && !hayError ? (\r\n
\r\n

\r\n

🥳

¡Enhorabuena! No\r\n tenés nuevas facturas pendientes.{\" \"}\r\n

\r\n
\r\n ) : !loadingFacturas && hayError ? (\r\n
\r\n

\r\n

🙁

¡Ups! Hubo un error\r\n recuperando tus facturas. Por favor, intentá más tarde.{\" \"}\r\n

\r\n
\r\n ) : null}\r\n \r\n \r\n {modalLoadingPreferencia ? (\r\n \r\n ) : null}\r\n \r\n );\r\n } else {\r\n window.location = \"/\";\r\n }\r\n}\r\n\r\nexport default MisFacturas;\r\n","import { useContext } from \"react\";\r\nimport UsuariosContext from \"../../../context/usuarios/usuariosContext\";\r\nimport CobrosContext from \"../../../context/cobros/cobrosContext\";\r\n\r\nfunction ModalDetalle(props) {\r\n const usuariosContext = useContext(UsuariosContext);\r\n const { setModalDetalle } = usuariosContext;\r\n const cobrosContext = useContext(CobrosContext);\r\n const { formatImporte } = cobrosContext;\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 Detalle del Pago\r\n

\r\n
\r\n {props.data && props.data.length > 0\r\n ? props.data.map((pago) => (\r\n \r\n
\r\n

\r\n DESCRIPCIÓN\r\n

\r\n

\r\n {pago.descripcion}\r\n

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

\r\n IMPORTE\r\n

\r\n

\r\n {formatImporte(pago.importe)}\r\n

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

\r\n TIPO DE PAGO\r\n

\r\n

\r\n {pago.pagoTotal === 1 ? (\r\n \r\n TOTAL\r\n \r\n ) : (\r\n \r\n PARCIAL\r\n \r\n )}\r\n

\r\n
\r\n
\r\n ))\r\n : null}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setModalDetalle(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n Cerrar\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalDetalle;\r\n","import { useEffect, useState, useContext } from \"react\";\r\nimport Loading from \"../../Loading\";\r\nimport axiosClient from \"../../../config/axios\";\r\nimport AuthContext from \"../../../context/auth/authContext\";\r\nimport CobrosContext from \"../../../context/cobros/cobrosContext\";\r\nimport UsuariosContext from \"../../../context/usuarios/usuariosContext\";\r\nimport ModalDetalle from \"./ModalDetalle\";\r\n\r\nfunction MisPagos() {\r\n const authContext = useContext(AuthContext);\r\n const { header, userID, getUser, checkGrupo, auth, username } = authContext;\r\n const cobrosContext = useContext(CobrosContext);\r\n const { formatDate, formatImporte, calcularVencimiento } = cobrosContext;\r\n const usuariosContext = useContext(UsuariosContext);\r\n const { modalDetalle, setModalDetalle } = usuariosContext;\r\n const [loadingPagos, setLoadingPagos] = useState(true);\r\n const [pagos, setPagos] = useState([]);\r\n const [hayError, setHayError] = useState(false);\r\n const [detalle, setDetalle] = useState([]);\r\n const [pagosPropios, setPagosPropios] = useState(null);\r\n const [pagosGrupo, setPagosGrupo] = useState(null);\r\n\r\n useEffect(() => {\r\n getUser().then(() => {\r\n if (!checkGrupo(\"USUARIO\")) {\r\n window.location = \"/login\";\r\n } else {\r\n axiosClient\r\n .get(`v2/mis_recibos/${userID}`, header)\r\n .then((response) => {\r\n var pagosPropiosAux = [];\r\n var pagosGrupoAux = [];\r\n response.data.data.map((pago) => {\r\n if (pago.nroDoc === parseInt(username)) {\r\n pagosPropiosAux.push(pago);\r\n } else {\r\n pagosGrupoAux.push(pago);\r\n }\r\n });\r\n console.log(pagosPropiosAux);\r\n console.log(pagosGrupoAux);\r\n setPagosPropios(pagosPropiosAux);\r\n setPagosGrupo(pagosGrupoAux);\r\n //setPagos(response.data.data);\r\n //setLoadingPagos(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setHayError(true);\r\n setLoadingPagos(false);\r\n });\r\n }\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!checkGrupo(\"USUARIO\")) {\r\n window.location = \"/login\";\r\n }\r\n }, [auth]);\r\n\r\n useEffect(() => {\r\n if (pagosGrupo !== null && pagosPropios !== null) {\r\n setLoadingPagos(false);\r\n }\r\n }, [pagosGrupo, pagosPropios]);\r\n\r\n if (auth) {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Mis Pagos

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

\r\n Acá podés revisar el listado de tus pagos realizados\r\n

\r\n
\r\n {loadingPagos ? : null}\r\n {!loadingPagos && pagosPropios && pagosGrupo ? (\r\n
\r\n

\r\n Pagos de tus facturas\r\n

\r\n {pagosPropios.length > 0 ? (\r\n pagosPropios.map((p) => (\r\n \r\n
\r\n

NRO.

\r\n

{p.numero}

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

\r\n EMPRESA\r\n

\r\n

\r\n {p.nombre_empresa}\r\n

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

\r\n NOMBRE\r\n

\r\n

{p.nombre}

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

\r\n DESCRIPCIÓN\r\n

\r\n

{p.punto_cobro}

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

\r\n FECHA DE PAGO\r\n

\r\n

\r\n {formatDate(p.fecha) + \" - \" + p.hora + \" hs\"}\r\n

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

\r\n FORMA DE PAGO\r\n

\r\n

{p.formaPago}

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

\r\n IMPORTE ABONADO\r\n

\r\n \r\n {calcularVencimiento(p.fechaVencimiento1)\r\n ? formatImporte(\r\n (\r\n parseFloat(p.importe) + parseFloat(p.importe2)\r\n ).toString()\r\n )\r\n : formatImporte(p.importe)}\r\n

\r\n
\r\n
\r\n {\r\n setDetalle(p.facturas);\r\n setModalDetalle(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n Ver Detalle\r\n \r\n
\r\n
\r\n ))\r\n ) : (\r\n
\r\n {\" \"}\r\n Aún no realizaste ningún pago de tus facturas{\" \"}\r\n
\r\n )}\r\n

\r\n Pagos de tu Grupo de Pago\r\n

\r\n {pagosGrupo.length > 0 ? (\r\n pagosGrupo.map((p) => (\r\n \r\n
\r\n

NRO.

\r\n

{p.numero}

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

\r\n EMPRESA\r\n

\r\n

\r\n {p.nombre_empresa}\r\n

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

\r\n NOMBRE\r\n

\r\n

{p.nombre}

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

\r\n DESCRIPCIÓN\r\n

\r\n

{p.punto_cobro}

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

\r\n FECHA DE PAGO\r\n

\r\n

\r\n {formatDate(p.fecha) + \" - \" + p.hora + \" hs\"}\r\n

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

\r\n FORMA DE PAGO\r\n

\r\n

{p.formaPago}

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

\r\n IMPORTE ABONADO\r\n

\r\n \r\n {calcularVencimiento(p.fechaVencimiento1)\r\n ? formatImporte(\r\n (\r\n parseFloat(p.importe) + parseFloat(p.importe2)\r\n ).toString()\r\n )\r\n : formatImporte(p.importe)}\r\n

\r\n
\r\n
\r\n {\r\n console.log(p);\r\n setDetalle(p.facturas);\r\n setModalDetalle(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n Ver Detalle\r\n \r\n
\r\n
\r\n ))\r\n ) : (\r\n
\r\n {\" \"}\r\n Aún no realizaste ningún pago de las facturas de tu Grupo de\r\n Pago{\" \"}\r\n
\r\n )}\r\n
\r\n ) : !loadingPagos && !hayError ? (\r\n
\r\n

\r\n

💵

Aún no tenés pagos registrados.\r\n Cuando pagues, van a aparecer acá.\r\n

\r\n
\r\n ) : !loadingPagos && hayError ? (\r\n
\r\n

\r\n

🙁

¡Ups! Hubo un error\r\n recuperando tus pagos. Por favor, intentá más tarde.{\" \"}\r\n

\r\n
\r\n ) : null}\r\n
\r\n \r\n {modalDetalle ? : null}\r\n \r\n );\r\n } else {\r\n window.location = \"/\";\r\n }\r\n}\r\n\r\nexport default MisPagos;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport LogoCS from \"../../../assets/factura/17.png\";\r\nimport LogoObstreticasD1 from \"../../../assets/factura/18-withText.png\";\r\nimport LogoObstreticasD5 from \"../../../assets/factura/19.png\";\r\nimport LogoObstreticasD6 from \"../../../assets/factura/20.png\";\r\nimport LogoCOPBA2 from \"../../../assets/factura/21.png\";\r\nimport LogoCOPBAX from \"../../../assets/factura/24.png\";\r\nimport FrontiniLogo from \"../../../assets/factura/frontini-logo.svg\";\r\nimport LogoCardinal from \"../../../assets/cardinal-color.svg\";\r\nimport LogoProvincia from \"../../../assets/factura/logoProvincia-Net.png\";\r\nimport LogoPagoFacil from \"../../../assets/factura/logoPago-Facil.png\";\r\nimport { useBarcode } from \"react-barcodes\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nfunction FacturaDescarga() {\r\n let location = useLocation();\r\n const idFactura = new URLSearchParams(location.search).get(\"f\");\r\n /* if (idFactura === null || idFactura === \"\") {\r\n window.location.href = \"/\";\r\n } */\r\n const facturas = JSON.parse(localStorage.getItem(\"facturas\"));\r\n if (facturas === null) {\r\n window.location.href = \"/\";\r\n }\r\n const datosFactura = facturas.filter(\r\n (factura) => factura.id.toString() === idFactura\r\n )[0];\r\n\r\n const [imprimiendo, setImprimiendo] = useState(false);\r\n\r\n useEffect(() => {\r\n if (Object.keys(datosFactura).length === 0) {\r\n window.location.href = \"/\";\r\n }\r\n }, []);\r\n\r\n //Formatea las fechas segun lo necesario en las vistas.\r\n const formatDate = (data) => {\r\n var date = new Date(data);\r\n\r\n if (!isNaN(date.getTime())) {\r\n var day = date.getUTCDate().toString();\r\n var month = (date.getUTCMonth() + 1).toString();\r\n var fecha =\r\n (day[1] ? day : \"0\" + day[0]) +\r\n \"/\" +\r\n (month[1] ? month : \"0\" + month[0]) +\r\n \"/\" +\r\n date.getFullYear();\r\n return fecha;\r\n }\r\n };\r\n\r\n // Funcion para formatear el importe\r\n const formatImporte = (data) => {\r\n const total = new Intl.NumberFormat(\"de-DE\", {\r\n minimumFractionDigits: 2,\r\n }).format(data);\r\n\r\n return \"$ \" + total;\r\n };\r\n\r\n const getNowTime = () => {\r\n var now = new Date();\r\n var hora = \"\";\r\n var minutos = \"\";\r\n if (now.getHours() < 10) {\r\n hora = \"0\" + now.getHours();\r\n } else {\r\n hora = now.getHours();\r\n }\r\n if (now.getMinutes() < 10) {\r\n minutos = \"0\" + now.getMinutes();\r\n } else {\r\n minutos = now.getMinutes();\r\n }\r\n return hora + \":\" + minutos;\r\n };\r\n\r\n const imprimirFactura = () => {\r\n setImprimiendo(true);\r\n };\r\n\r\n useEffect(() => {\r\n if (imprimiendo) {\r\n window.print();\r\n setImprimiendo(false);\r\n }\r\n }, [imprimiendo]);\r\n\r\n const { inputRef } = useBarcode({\r\n value: datosFactura.cod_barra,\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {1 === 1 ? : null}\r\n {datosFactura.ID_empresa === 18 ? (\r\n \r\n ) : null}\r\n {datosFactura.ID_empresa === 19 ? (\r\n \r\n ) : null}\r\n {datosFactura.ID_empresa === 20 ? (\r\n \r\n ) : null}\r\n {datosFactura.ID_empresa === 21 ? (\r\n \r\n ) : null}\r\n {datosFactura.ID_empresa === 24 ? (\r\n \r\n ) : null}\r\n
\r\n

{datosFactura.nombre_empresa}

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

\r\n Descripción: \r\n {datosFactura.descripcion}\r\n

\r\n

\r\n Nombre, Apellido y Matrícula: {\" \"}\r\n {datosFactura.nombre + \" - \" + datosFactura.nroSocio}\r\n

\r\n {datosFactura.fechaVencimiento1 !== datosFactura.fechaVencimiento2 ? (\r\n
\r\n
\r\n {\" \"}\r\n

\r\n Fecha 1° Vencimiento: {\" \"}\r\n {formatDate(datosFactura.fechaVencimiento1)}\r\n

{\" \"}\r\n

\r\n Importe: {\" \"}\r\n {formatImporte(datosFactura.importe)}\r\n

\r\n
\r\n\r\n
\r\n {\" \"}\r\n

\r\n Fecha 2° Vencimiento: {\" \"}\r\n {formatDate(datosFactura.fechaVencimiento2)}\r\n

{\" \"}\r\n

\r\n Importe: {\" \"}\r\n {formatImporte(datosFactura.importe2)}\r\n

\r\n
\r\n
\r\n ) : (\r\n
\r\n {\" \"}\r\n

\r\n Fecha 1° Vencimiento: {\" \"}\r\n {formatDate(datosFactura.fechaVencimiento1)}\r\n

{\" \"}\r\n

\r\n Importe: {\" \"}\r\n {formatImporte(datosFactura.importe)}\r\n

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

Desarrollado por:

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

\r\n Impreso: {formatDate(new Date()) + \" \" + getNowTime()}\r\n

\r\n {/*

\r\n Fecha:{\" \"}\r\n \r\n

*/}\r\n
\r\n
\r\n
\r\n {!imprimiendo && (\r\n imprimirFactura()}\r\n >\r\n IMPRIMIR\r\n \r\n )}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default FacturaDescarga;\r\n","import { useEffect, useContext, useState } from \"react\";\r\nimport { useLocation, Link } from \"react-router-dom\";\r\nimport axiosClient from \"../../../config/axios\";\r\nimport AuthContext from \"../../../context/auth/authContext\";\r\n\r\nfunction NotificarPago() {\r\n const authContext = useContext(AuthContext);\r\n const { header, userID, getUser, checkGrupo, auth, username } = authContext;\r\n let location = useLocation();\r\n const preference_id = new URLSearchParams(location.search).get(\r\n \"preference_id\"\r\n );\r\n const payment_id = new URLSearchParams(location.search).get(\"payment_id\");\r\n const estado_pago = new URLSearchParams(location.search).get(\r\n \"collection_status\"\r\n );\r\n\r\n const [loadingPago, setLoadingPago] = useState(true);\r\n const [factura, setFactura] = useState(null);\r\n const [hayError, setHayError] = useState(false);\r\n\r\n // Funcion para formatear el importe\r\n const formatImporte = (data) => {\r\n const total = new Intl.NumberFormat(\"de-DE\", {\r\n minimumFractionDigits: 2,\r\n }).format(data);\r\n\r\n return \"$ \" + total;\r\n };\r\n\r\n if (preference_id === null || payment_id === null) {\r\n window.location.href = \"/login\";\r\n }\r\n\r\n useEffect(() => {\r\n getUser();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (auth) {\r\n var payload = {\r\n nombre_cliente: process.env.REACT_APP_NOMBRE_CLIENTE,\r\n id_preferencia: preference_id,\r\n id_pago: payment_id,\r\n };\r\n axiosClient\r\n .post(\"notificacion_pago\", payload, header)\r\n .then((response) => {\r\n if (response.data.data.message === \"El pago no fue procesado\") {\r\n setLoadingPago(false);\r\n } else {\r\n setFactura(response.data.data);\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setHayError(true);\r\n setLoadingPago(false);\r\n });\r\n }\r\n }, [auth]);\r\n\r\n useEffect(() => {\r\n if (factura) {\r\n setLoadingPago(false);\r\n }\r\n }, [factura]);\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 {loadingPago\r\n ? \"Estamos verificando tu pago\"\r\n : factura\r\n ? \"Pago aprobado exitosamente\"\r\n : !hayError && estado_pago === \"in_process\"\r\n ? \"Pago pendiente\"\r\n : \"Hubo un error verificando el Pago\"}\r\n

\r\n {loadingPago ? (\r\n \r\n \r\n \r\n ) : factura ? (\r\n
\r\n \r\n \r\n \r\n
\r\n

\r\n Abonaste{\" \"}\r\n

\r\n {factura.descripcion + \" - \" + factura.nombre}\r\n

\r\n

\r\n

\r\n {\" \"}\r\n por un total de{\" \"}\r\n

\r\n {formatImporte(factura.monto_abonado)}\r\n

\r\n

\r\n
\r\n
\r\n ) : !hayError && estado_pago === \"in_process\" ? (\r\n
\r\n \r\n \r\n \r\n
\r\n

\r\n Tu pago está siendo procesado\r\n

\r\n

\r\n {\" \"}\r\n Te notificaremos cuando se acredite para que lo veas\r\n reflejado\r\n

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

\r\n No pudimos verificar tu Pago\r\n

\r\n
\r\n No te preocupes, ponete en contacto con nuestro equipo y\r\n brindale esta información:\r\n
\r\n {\" \"}\r\n
\r\n

ID Preferencia:

\r\n

{preference_id}

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

ID Pago:

\r\n

{payment_id}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {(!loadingPago && factura) ||\r\n (!loadingPago && estado_pago === \"in_process\") ? (\r\n \r\n Volver a Mis Pagos\r\n \r\n ) : !loadingPago ? (\r\n \r\n Contactarse\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default NotificarPago;\r\n","import React from \"react\";\r\nimport { BrowserRouter as Router, Switch, Route } from \"react-router-dom\";\r\n\r\nimport UsuarioData from \"./components/Usuario/UsuarioData\";\r\n\r\nimport Nav from \"./components/Nav\";\r\nimport Footer from \"./components/Footer\";\r\nimport Alert from \"./components/Alert\";\r\nimport E404 from \"./components/E404\";\r\n\r\nimport AuthState from \"./context/auth/authState\";\r\nimport AlertState from \"./context/alerts/alertState\";\r\nimport CobrosState from \"./context/cobros/cobrosState\";\r\nimport UsuariosState from \"./context/usuarios/usuariosState\";\r\nimport UsuarioFactura from \"./components/Usuario/UsuarioFactura\";\r\nimport Login from \"./components/Login\";\r\nimport Register from \"./components/Register\";\r\nimport Confirmacion from \"./components/ConfirmarMail\";\r\nimport RecuperarPass from \"./components/RecuperarPass\";\r\n\r\n//Rutas de Usuario Protegidas\r\nimport MisDatos from \"./components/Usuario/MisDatos\";\r\nimport MisFacturas from \"./components/Usuario/MisFacturas/MisFacturas\";\r\nimport MisPagos from \"./components/Usuario/MisPagos/MisPagos\";\r\nimport MisArchivos from \"./components/Usuario/MisArchivos\";\r\nimport FacturaDescarga from \"./components/Usuario/MisFacturas/FacturaDescarga\";\r\nimport NotificarPago from \"./components/Usuario/MisFacturas/NotificarPago\";\r\n\r\nfunction App() {\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\nexport default App;\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./assets/index.css\";\r\nimport App from \"./App\";\r\n\r\n/*\r\n * Agregar estilos si los borra el PurgeCSS en el build:\r\n * bg-red-300\r\n * bg-red-500\r\n * bg-gray-100\r\n * border-gray-500\r\n * bg-green-100\r\n * bg-green-300\r\n * bg-yellow-300\r\n * bg-yellow-400\r\n * bg-yellow-500\r\n * bg-purple-400\r\n * bg-green-400\r\n * bg-mainBlueLight\r\n * text-mainBlueLight\r\n * text-purple-700\r\n * text-green-700\r\n * text-gray-700\r\n * border-yellow-500\r\n * border-red-500\r\n */\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n"],"sourceRoot":""}