{"version":3,"sources":["assets/logo.png","assets/services/btn-rifas.png","assets/services/btn-recargas.png","assets/services/btn-paquetes.png","assets/services/btn-pines.png","assets/services/btn-deportes.png","assets/services/botoncobrador.png","assets/quienes-somos.jpg","assets/nuestra-app.jpg","assets/PROMOCIONAL.jpg","assets/home/ganador.jpeg","assets/home/fotos-05.jpg","assets/home/foto-8.jpg","assets/home/PROMOCIONAL.jpg","assets/home/quienes-somos.jpg","assets/Cardoso_Logo.png","assets/movilgoFrente.png","assets/fondo.png","assets/services/btn-soat.png","assets/services/btn-prestamos.png","assets/home/RIFA2.jpg","assets/home/RIFA.jpg","assets/images/movilgositoMano.png","assets/images/logo.png","assets/images/puntos4.png","assets/images/punto2.png","assets/images/nuestra-rifa.png","assets/images/puntos3.png","assets/images/puntos1.png","assets/images/punto-GO.png","assets/images/facebookR.png","assets/images/instagramR.png","assets/images/footer.png","assets/terminos.pdf","assets/POLITICA DE PRIVACIDAD_Movil Go.pdf","shared/components/buttons.js","shared/components/list-operator.js","utilities/formats.js","screens/recargas/components/summary.js","shared/components/list-prices.js","utilities/odoo-config.js","utilities/cipher.js","services/product.service.js","shared/components/managmentErrors.js","shared/components/loadingMovilGo.js","shared/components/modalNotificationTransaction.js","shared/components/pdfTransaction.js","screens/recargas/recargas.js","shared/components/buttons-services.js","screens/menu-services/components/list-services.js","screens/menu-services/menu-service.js","screens/paquetes/components/summary.js","shared/components/style.js","shared/components/carousel.js","screens/paquetes/paquetes-component.js","screens/rifas/components/carousel-rifas.js","screens/rifas/rifas-component.js","screens/recargas-pines/components/summary.js","screens/recargas-pines/recargas-pines.js","services/rifa.service.js","screens/rifas/components/search-boleta.js","screens/rifas/components/item.js","screens/rifas/components/list.js","screens/rifas/components/modal-abonar.js","screens/rifas/components/abonar.js","services/cliente.service.js","screens/rifas/components/modal-registro.js","screens/rifas/components/modal-boletas.js","screens/rifas/components/comprar.js","screens/recargas-deportivas/components/summary.js","screens/recargas-deportivas/recargas-deportivas.js","services/collector.service.js","screens/caja/components/detailBox.js","services/caja.service.js","screens/caja/components/item.js","shared/components/Excel.js","shared/components/list.js","screens/caja/components/tabsBox.js","screens/caja/caja.js","screens/cajafecha/components/detailBox.js","screens/cajafecha/components/tabsBox.js","screens/cajafecha/cajafecha.js","screens/home/components/carruselhome.js","screens/home/home-component.js","screens/soat/soat.js","services/soat.service.js","screens/soat/buscar/link.js","screens/soat/buscar/buscar.js","screens/soat/comprar/componets/client-info.js","screens/soat/comprar/componets/vehicle-info.js","screens/soat/comprar/componets/send-policy.js","screens/soat/comprar/comprar.js","screens/rifas/components/showRifa.js","screens/rifas/components/terms-and-conditions.js","screens/rifas/components/political.js","services/recaudo.service.js","screens/recaudo/components/modal.pay.js","screens/recaudo/recaudo.js","services/bingo.service.js","screens/super-bingo/super-bingo.js","screens/certificaciones/components/summary.js","services/certification.service.js","screens/certificaciones/certificados.js","services/nova.service.js","screens/prestamos/componentes/pago.js","screens/prestamos/componentes/desembolso.js","screens/prestamos/busca.js","routes.js","services/login.service.js","shared/components/inputs.js","screens/login/components/config.js","screens/login/login.js","shared/components/header.js","shared/components/footer.js","App.js","serviceWorker.js","index.js"],"names":["module","exports","ButtonImage","props","image","onClick","Image","className","style","styles","container","src","height","width","margin","ListOperator","operators","map","operator","i","image_medium","key","ListTypes","types","clean","limpiar","useState","clicked","setClickedBtn","indexBtn","setIndexBtn","useEffect","type","btn_class","Button","index","variant","minWidth","backgroundColor","FormatMoney","value","Capitalize","toString","replace","NumberWithCommas","charAt","toUpperCase","slice","DateToString","date","yearFirst","addDays","addMonths","addYears","getDate","setDate","setMonth","getMonth","setFullYear","getFullYear","length","Summary","phone","price","ListPrices","prices","ListNumberTicket","numbers","selectTicket","active","console","log","number","numero_boleta","OdooConfig","a","config","host","port","database","encryptKey","Url_Home","CryptoJS","require","Desencrypt","data","localStorage","getItem","bytes","AES","decrypt","JSON","parse","enc","Utf8","Transaction","call","user","finish","args","params","model","method","setTimeout","alert","odoo","Odoo","url","db","username","password","connect","errLogin","responseLogin","execute_kw","err","response","errores","id","ManagmentErrors","listErrors","result","forEach","element","descripcion","LoadingMovilGo","position","right","zIndex","top","FormLabel","fontSize","textShadow","Spinner","role","size","padding","animation","color","LoadingMovilGoSoat","left","LoadingMovilGoRegistro","ModalNotificationTransaction","message","closeModal","Modal","centered","show","backdrop","keyboard","Header","Title","Body","textAlign","Footer","ModalNotificationTransactionSoat","align","jsPdfGenerator","datos","doc","jsPDF","setFontSize","text","cont","factura","iframe","output","x","window","open","document","write","close","save","Recargas","cleanFile","setState","visible","selectedOperator","operador","selectedPrice","getResponse","flag","toast","success","loading","opacity","modalNotification","error","componentDidMount","recargas","componentWillUnmount","_isMounted","sendData","state","valor","product","product_id","atributes","numero","precio","selectOperator","selectPrice","toLowerCase","valida","fecha","numero_aprobacion","listRecargas","this","Row","Col","Card","Container","fluid","maxHeight","md","xs","lg","Form","Group","Control","placeholder","arial-label","maxLength","onChange","event","target","Prices","thousandSeparator","prefix","parseInt","disabled","PureComponent","border","marginTop","ListServices","services","service","source","MenuServices","onClickRoutes","route","history","push","permiso","Idpadre","datoSession","routes","Routes","RoutesCollector","RoutesAdmin","RouteCardoso","listaPaquetes","packet","HomeWrapper","styled","div","Carrusel","packages","cards","setCards","undefined","windowSize","setWindowSize","handleResize","innerWidth","innerHeight","addEventListener","removeEventListener","useWindowSize","numberCards","setNumberCards","settings","arrows","dots","accesibility","infinite","speed","slidesToShow","slidesToScroll","adaptiveHeight","aux","minHeight","maxWidth","Text","name","vigencia","PaquetesComponent","cleanField","carrouselView","listPackages","listCharges","initialice","packagesByOperator","categ_id_name","namePacket","idPackage","tagList","Object","keys","selectType","paquetes","selectedType","pricePacket","CarruselRifas","rifas","idPadre","setIPadre","capturarRifa","sorteo","imagen","porcentaje_recaudo","resolucion","setItem","stringify","numero_resolucion_rifa","showabono","Boolean","Img","alt","fecha_sorteo","to","RifasComponent","selectedRifa","email","pinPackage","RecargasPines","categoryPin","pinPines","eachObjPin","paquetesPines","nameGroup","nameGroupPin","listKindPin","packPinByOperator","correo","checkPhone","nameEachPin","packName","viewSummary","selectedPin","id_pin","pines","buttonsPines","selectedProduct","modalInfoPines","resumeView","listTypes","errorEmail","listePricesByOperator","pinesByOperator","searchNumber","callback","client","searchPayments","tipo","getRifaResume","transaccion","SearchBoletas","listaAbonos","deleteListAbonos","typeSearch","setTypeSearch","searchValue","setSearchValue","setLoading","setOpacity","foundPayments","_list","abonos","_element","autoClose","Check","defaultChecked","label","InputGroup","FormControl","e","Prepend","rifa","trim","findPayments","icon","faSearch","ItemBallotsUser","itemBallotsUser","setPayment","setVisible","vendedor_externo_id","boleta","nombre","celular","deuda","ListBallotsUser","Table","striped","bordered","hover","responsive","obj","ModalAbonar","dataTicket","navigate","setActive","visibleN","setVisibleN","setModalNotification","setPrice","callbackPayment","otherValue","Label","numeroBoleta","valorPagar","partner_id","nombre_cliente","warning","paytmentTicket","Abonos","setListAbonos","list","cedula","visibleBoletas","visiblePayTicket","selectedPayment","isShadow","scrollWidth","searchClient","saveClient","usuario","ModalRegistro","id_product","setCliente","setParther","setNombre","apellido","setApellido","direccion","setDireccion","setEmail","setCelular","setEmailValid","errors","setErrors","saved","cleanFields","viriryFile","emailValid","match","nameValid","lastValid","split","registrarCliente","test","ModalBoletas","numbersTicket","luckyNumber","chooseTicket","Compras","showcomprar","calcularAbono","valorRifa","buyMessage","numberTicket","showModal","visibleRegistro","styleTicket","borderWidth","borderColor","viewTicket","foundNumber","esta","newNumber","allNumbersTicket","disponibles","idProduct","k","info","searchTicket","numSuerte","numeroDeLaSuerte","numeroAleatorio","Math","floor","random","foundClient","userTicket","styleUser","viewUserTicket","findClient","identification","handleChange","handleChangeUser","navigateNext","errorMessage","payTicket","generatedLink","session","urlPago","navigator","share","title","then","location","href","catch","creditoRifa","showRifa","idpadre","sm","marginLeft","idClient","RecargasDeportivas","recargasDeportivas","listRecargasDeportivas","paySeller","payCollector","DetailBox","addToast","useToasts","setShow","showPago","setModalPayment","pay","setPay","descriptionPay","setDescriptionPay","imgPrevious","setImgPrevious","setSelectedPrice","activeCargar","setActiveCargar","userlog","setUserlog","handleClose","detailBox","checkPermission","appearance","autoDismiss","carryBag","DragArea","multiple","accept","reader","FileReader","readAsDataURL","files","onload","preventDefault","changeImg","sendToOdoo","json","consignacion","navigateNextPhoto","nombre_caja","estado","balanceInicial","balanceFinal","debito","ganancia","credito","onHide","closeButton","tyle","sendPhoto","getBox","page","pagina","kwargs","getReport","ItemMoves","itemMoves","products","parteTabla","isSmallScreen","setIsSmallScreen","aprobation","printBill","fechaSorteo","producto_id","rifa_aprobacion","rifa_numero_boleta","recarga_aprobacion","recarga_numero_celular","bingo_aprobacion","bingo_cedula","bingo_cliente_nombre","bingo_apellido_cliente","bingo_numero_celular","str","soat_datos","jsondataSoat","Contact","Phone","DocumentNumber","FirstName","FirstName1","LastName","LastName1","soat_placa","toFixed","mitabla","categflag","comision","ItemError","itemError","observacion","ItemSummaryBox","itemSummary","cantidad","Excel","search","moves","setMoves","movimientos","table","filename","sheet","buttonText","on","ListMoves","rigthPage","leftPage","contPage","exportEx","setExportEx","setItemMoves","interval","setInterval","clearInterval","movesTable","excelExport","faChevronLeft","faChevronRight","Fragment","movesTableSmallScreen","ListErrors","ListSummaryBox","summaryBox","TabsBox","setKey","pageMoves","setPageMoves","pageErrors","setPageErrors","setSummaryBox","setListErrors","initializeMoves","initializeErrors","movimientosError","initializeSummaryBox","Tabs","activeKey","onSelect","Tab","eventKey","Caja","initializeData","caja","cargar","viewMoves","datesBox","pageMovesInt","CajaFecha","initmove","alamanaque","senttoodo","move","resum","CarruselHome","goToSlide","offsetRadius","showNavigation","gentle","uuidv4","content","ganador","foto1","foto2","foto3","foto4","slide","slides","animationConfig","Component","img","borderStyle","borderRadius","img2","HomeComponent","GANADOR","quienesSomos","nuestraApp","Soat","searchSoat","documento","placa","fechaVencimiento","err2","response2","searchPolisaSoat","source_request","Numberplate","InsurancePolicyNumber","LinkSoat","rel","msj","SoatBuscar","Date","clearData","licensePlate","verifyFields","soats","setSearchedData","res","linkres","policyData","modalLink","minDate","ClientInfo","dataContact","infoContact","closeAction","confirmAction","optionsDepartamentos","setOptionsDepartamentos","optionsActividades","setOptionsActividades","opcionesCiudades","setOpcionesCiudades","opcionesTipoDocument","setOpcionesTipoDocument","ciudades","soat","ciudadesSoat","departamentos","deptosSoat","actividades","actividadSoat","tipoDocumentoCliente","tipoDepartamento","setTipoDepartamento","stateId","tipoCiudad","setTipoCiudad","FirstNames","LastNames","Address","Name","Contacto","setContacto","address","setAddress","tipoDocumento","setTipoDocumento","actividadesEconomicas","setActividadesEconomicas","flagMunicipio","setFlagMunicipio","flagDepartamento","setFlagDepartamento","flagActividad","setFlagActividad","flagDocument","setFlagDocument","flagDocumentEdit","setFlagDocumentEdit","flagDocumentNotEdit","setFlagDocumentNotEdit","firstName","lastName","city","adress","CiiuId","StateId","DocumentTypeId","prop","hasOwnProperty","isObjEmpty","documentoSeleccionado","documentoslist","elements","departamentoSeleccionado","opcionesDepartamentoslist","sort","b","actividadSeleccionada","opcionesActividadList","ciiuId","ciudadSelecionada","cityId","cityName","respuesta_cliente","CityId","loadData","borderBottomWidth","fontWeight","rowContainer","classNamePrefix","isDisabled","isLoading","isClearable","isRtl","isSearchable","options","selectedDepto","initialiceMunicipio","widt","defaultProps","vehicle","paddingHorizontal","titleSummary","alignSelf","colContainer","flexDirection","justifyContent","marginVertical","paddingLeft","VehicleInfo","dataVehicle","infoVehicle","fuelType","country","respuesta_vehiculo","contactVehicle","descuento","respuesta_tarifa","Law2161Discount","HasDiscount","flagPropietario","setFlagPropietario","flagMotorNumberEdit","setFlagMotorNumberEdit","flagChasisNumberEdit","setFlagChasisNumberEdit","flagVinEdit","setFlagVinEdit","flagPassengersEdit","setFlagPassengersEdit","flagMotorNumberNotEdit","setFlagMotorNumberNotEdit","flagChasisNumberNotEdit","setFlagChasisNumberNotEdit","flagVinNotEdit","setFlagVinNotEdit","flagPassengersNotEdit","setFlagPassengersNotEdit","selectDocumento","setSelectDocumento","ChasisNumber","MotorNumber","PassengerCapacity","Vin","VehicleBodyTypeName","InfoVehicle","setInfoVehicle","flagVehicleBodyTypeName","setFlagVehicleBodyTypeName","flagVehicleBodyTypeNameNotEdit","setFlagVehicleBodyTypeNameNotEdit","VehicleYear","pAlign","NumberPlate","CylinderCapacity","CountryId","CityName","ActionRadio","LoadCapacity","BrandName","VehicleLineDescription","VehicleClassName","FuelTypeId","ServiceTypeName","SendPolicy","productId","cellular","setCellular","setModalNotificacion","setResponse","iva","setIva","tipoCiud","setTipoCiud","tarifa","numIva","datee","year","preparedData","Cellular","Email","FromValidateDate","RegimenTypeId","Rutid","SystemSource","ChangeEmisionType","Vehicle","BrandId","ServiceTypeId","VIN","VehicleClassId","VehicleClassMinistryId","VehicleLineId","VehicleBodyTypeId","EnginePowerTypeId","Payments","MethodOfPaymentId","ReferenceNumber1","ReferenceNumber2","PaymentAmount","TotalWithDiscountAmount","Observation","NewTariff","Percentage","GasDiscount","PercentageGasDiscount","GasDiscountFormatted","TotalLawDiscountFormatted","InsurancePremium","InsuranceTaxFormatted","InsuranceFineFormatted","Total","ElectricDiscount","rowContainer2","Amount","TotalLawDiscount","TotalWithDiscountAmountFormatted","checked","marginleft","bottom","alignItems","SoatComprar","date2","documentNumber","getVehiculo","showClientInfo","showPaymentInfo","showVehicleInfo","TarifaError","Poliza","respuesta_poliza_vigente","Message","Mesajetarifa","temps","contact","documentType","insurance","showDate","datepolicy","idSoat","min","faBackspace","back","ShowRifa","setImg","imgPromotional","setImgPromotional","setName","numTicket","setNumTicket","t","useParams","persona","rutaimagenpromocional","overflow","marginRight","TermsAndConditions","Political","getDebts","payDebt","amount","ModalPay","abono","callBack","cliente_id","parseFloat","vencido","confirm","Recaudo","showPay","setShowPay","infoModal","setInfoModal","debts","setDebts","debtsC","setDebtsC","payAll","setPayAll","dat","rows","rowsito","deudores","codigo","acciones","faCheck","faEdit","columns","field","small","entries","entriesOptions","infoLabel","paginationLabel","entriesLabel","searchLabel","cloneDebts","myFish","updateItem","searchClientBingo","getBingo","SuperBingo","found","register","count","cusPhone","cusName","apellidos","cusLastName","bingo","bingo_apellido_nombre","bingo_tripletas","add","subtract","dateStart","reward","newDate","cursor","Pagination","Prev","Item","Next","departamento","municipio","snrLicense","snrOffice","searchCertification","searchSnr","code","license","Certificados","certificados","certificado","selectCertification","pressCertification","certification","getPlacePay","places","group","loadPlaces","deptos","optionPlaces","initialiceTown","municipios","optionTowns","snrLicenseResumen","townSelected","modalInfoPay","placeSelected","handleShow","checkColor","errorDocument","errorPhone","errorLicense","errorOffice","payplace","package","modalInfoSnrLicense","optionCode","codeSelected","loadplaces","loadTowns","towns","informacion","class","aria-label","aria-describedby","searchPrestamo","id_solicitud","Pago","pago","setPago","valorPagoError","flagButton","setFlagButton","flagError","Error","rst","valor_deuda","marco","partner_name","account_move_id","idsolicitud","cliente_nombre","Desembolso","loadinglocal","setLoadingl","solicitud_valoraprobado","fecha_solicitud","PrestamosBuscar","setCedula","setId_solicitud","setTipo","produc_id","setProduc_id","showDesembolso","setShowDesembolso","setShowPago","setData","notification","setNotification","dataPago","setDataPago","dataInfo","setDataInfo","setDeuda","abonado","setAbonado","searchDisburse","datatipo","newLocal","mitecnova","productNova","searchedData","tipo2","solictud_ids","saveInfoPay","responsePago","infoRecibo","ModalBody","withRouter","exact","path","component","sensitive","recarga","paquete","listProducts","Login","paramsOdoo","version","product_write_date","error_write_date","documento_write_date","parent_id","SaveErrores","productos","SaveProducts","tv","InputForm","onBlur","required","setError","enterKey","onKeyDown","keyCode","Config","conexion","configuracionList","conexionSelect","setConexionSelect","saveConfiguration","faTimes","defaultValue","option","LoginComponent","onLogin","viewModalLogin","setCargar","setConfig","setUser","setPassword","errUser","setErrUser","errPass","setErrPass","login","verifyField","faCog","HeaderDefault","init","setViewModalLogin","userLog","setUserLog","userName","setUserName","redirect","setRedirect","showcardoso","setShowcardoso","showcajas","setShowcajas","setAppElement","initialiceData","includes","logueo","ciphertext","encrypt","Encrypt","errorr","Navbar","collapseOnSelect","expand","bg","Brand","Logo","logoCardoso","Toggle","aria-controls","Collapse","Nav","NavDropdown","Divider","removeItem","resp","faMapMarkerAlt","faMobileAlt","faEnvelope","transform","movilgoFrente","App","getListProducts","backgroundImage","fondo","hostname","ReactDOM","render","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.8daf037f.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.e8059bf5.png\";","module.exports = __webpack_public_path__ + \"static/media/btn-rifas.fb186fec.png\";","module.exports = __webpack_public_path__ + \"static/media/btn-recargas.a5049572.png\";","module.exports = __webpack_public_path__ + \"static/media/btn-paquetes.76cfcc93.png\";","module.exports = __webpack_public_path__ + \"static/media/btn-pines.6b3b083d.png\";","module.exports = __webpack_public_path__ + \"static/media/btn-deportes.9a507f18.png\";","module.exports = __webpack_public_path__ + \"static/media/botoncobrador.0a7384d0.png\";","module.exports = __webpack_public_path__ + \"static/media/quienes-somos.709e0251.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nuestra-app.2482b266.jpg\";","module.exports = __webpack_public_path__ + \"static/media/PROMOCIONAL.88bf07c0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/ganador.57248c1e.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/fotos-05.5cb417bf.jpg\";","module.exports = __webpack_public_path__ + \"static/media/foto-8.c8bf0aab.jpg\";","module.exports = __webpack_public_path__ + \"static/media/PROMOCIONAL.88bf07c0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/quienes-somos.709e0251.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Cardoso_Logo.9faaa6b9.png\";","module.exports = __webpack_public_path__ + \"static/media/movilgoFrente.16f85125.png\";","module.exports = __webpack_public_path__ + \"static/media/fondo.56008cd0.png\";","module.exports = __webpack_public_path__ + \"static/media/btn-soat.7c67688c.png\";","module.exports = __webpack_public_path__ + \"static/media/btn-prestamos.0c97b17c.png\";","module.exports = __webpack_public_path__ + \"static/media/RIFA2.d6e42871.jpg\";","module.exports = __webpack_public_path__ + \"static/media/RIFA.05b75afa.jpg\";","module.exports = __webpack_public_path__ + \"static/media/movilgositoMano.4b19b150.png\";","module.exports = __webpack_public_path__ + \"static/media/logo.e8059bf5.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAArCAYAAABFGwtWAAAACXBIWXMAAAsSAAALEgHS3X78AAACY0lEQVR4nO2b7W3CQBBEN1b+YlECJbiEdAAd5NwARwdxB0AFdiqAEigBOiAdEBog2mitWDE/PHtJJMg8yfmQPJzHWSF4OeRyucgozAs99GfkGIX5bBTmY0cuODJjXc+RY7cf7pblZSxEZKdHXsaJDCQvYxCRjWUHk5exEZE6L+MKyIxtnU1exhmQY7d+LrlbJiLHznECHmcvIu/2HWHXyQ/iXK9PnfWOwFrs1ie9W+fp0fN0NUEzf51jt5+/xgf9QghCxrtFUDg0BIZDQ2A4NASGQ0NgPodGpZLJIoi8jAuTU4PR8zXnWKtA5Fcnx279XFK3zC524zCLaj2XqFm085egNZ04rSm79XPJ3TL75eAwi43TLLY3FLGmem1bhzVltz7p3WhN2Y1GmPw6fPdEYDg0BIZDQ2A4NASGQ0NgWiMcbBsghIoe1EiaWWwcRrJApFknx279nLdbJR0jXNv+z8EPZCWj0yw+m2QaulZrTSOi6dntai6l28t3I/x6rteIJWzNIvq/lpXlqqGBjjU9IH8QdrtKareGco/A8IUwgeHQEBgODYHh0BAYDg2B4dAQmEf5+lC4OgPEE7SiqEE8gdlSzS3sc8xDcyqwwrleQ36B3a7mkrqpEX5ymsXKaRa3Dms6dlpTduvnkrtl53qt4VeHWVyZkUTNop7/BlrTk+Uga8puV0nuRiNMYPhCmMBwaAgMh4bAcGgIDIeGwHBoCMx/MMK61h7pZteo51dgt8IcTQC76f0vbqXbvRvhYNcIdbOhnjq7TR17hOtb6nbvRrhxdls4u+lmb7Sb7hEub6abSPUBrVeQNpoSVpoAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA3CAYAAAC2EuL1AAAACXBIWXMAAAsSAAALEgHS3X78AAACVElEQVRoge2awVHDMBBFPx6uCXQAHcQluAR3YLmBxCWkBLsCOR1ABaSEpANKADdgZuGLmAMHdnXICP2ZTKKDfvbbzsxbZW/meca63d0D6AF0kx/eoNS63TkA5eSHTuuBLx+pZZz8cDJ4lAD2ANzNym0l4BHABsAZQKUJyoCey8PkB6csbgTQAHhnLX8OyoCS6U4yFZpCftGJhYFfcC06QR5XuZsrtx3lXdba18pty5XbOosHfXrxilBLL58/f5OpK+bjerXKIVNRDpmKcshU9C9C3uLCek8AaiMUC3eWWv7FT+6UZmE01OLYdFTFut090vRB3rnWmO4J1hteMK0CWPt1u6uVtVRsFsTnWEx+eF0U9cS1Rj27GIF0S6sV9p61oD/5QfYdvv0WQBsDrO+tYE2f2tos0KfKgJ6ScshUlEOmohwyFX2HJOuZJIfUZE+rTxXj+gafApcTa0/A1hqGQ+qjJSgv9oulFlyaBfFxBYsLd7ExFNgRzu/IsVqFvY32jnJfw2VfsCWqCNatttWa/LAnFAtYq7oHalmLBdDb8FfDD7i2AnEsn9i1ZEBPRTlkKsohU1EOmYoCuwpYj0Q8tQQJI4F+bwV9ZhIKQ8zpj+XERas9/Y40/bHMdIj5uJYMCPKnxceqR74+/ZaAfrD8h8E7J1A8aGd4KKnlWXsXWctp6ZPZNRXlkKkoh0xFOWQqytMffxXhvLIQz4I7+wjTH13s6Y8wnt0YT78DWFumP2rWsok9/RFrPDucoKunP7hP9n/VFXn6Q0ai62uY/uAkSjfPMz4AMA5rNiVqkFcAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/nuestra-rifa.b4af8d7e.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAACqCAYAAACkos9yAAAACXBIWXMAAAsSAAALEgHS3X78AAABzElEQVRoge2Y0W2DQBBEx5Z/uVBCOjAlUIJL4BrgUkI6CFQAqSApwSWQDlyCQwNE6yw2P5buDqQQeVayZH/cu7XF7M4YwzAgKcoqKcpM3oe+NklRvgB4A/ANIOub+oSA2gJoAXwB+Aw9LLWRNubUdtZpAghYCiBiSgEcAVR9U7cxHRQA9gAaY91zcAuTeVBEzQOq8eEBKwJEaWAEGOsyAJ2xLliJUjsAcvsTgIN04rPejHWiYNmp+UVMxroDgFPf1J3Prca6s176HqVG/dqvMksoZwKWA8ijbKxLowCqgw/ZjyGQcQRIByd1qd6l0pcRkG1VgSKOvG/qsyckUzUWwctUl3EqHpvLlYBlAca6Smd9OMBYJyvKqRq9lqyoVlV82Y2tutUuIPaJNd4b6+xOFRjafqf2+NfqRioyoxoJWAzwN7FPpC8jAON/KPqh8+1gYjTrWKMpXVdXqzun+CgTAMY+xj4C1gZg7GPsI+DhYx8Y+y5FLRCApWNf5bsb78W+NsJoPnzsI2BVgNXEPlFY6uMV78W+o6/RZOwjgIBbjSMgVgsifRFgHtvBNfbtIgG5HO6buqIaCfjHgGnsi1XjmNps7I94c7SzYt8w4Ad0g1EJcLyTBwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIEAAAASCAYAAAB8Ur29AAAACXBIWXMAAAsSAAALEgHS3X78AAAA9UlEQVRoge2ZwQ2DMBAEN/5DKIESXAIlUIJpALdEKSkhHaQUR5aOD59wlhWDvSMd5sFyLFqB5EMIoUh1bh1T+v5T17l1iHXlZ8zhzaAA/eItgHe/+E3TvV+8A/CRVaPbpJ9VaAYAr1hyflZ3O29FQgBgBPAEYDUvOF4v66TsZ/d+Cs0gz7nXWe7nreDvYE781LrET9+coLOxavf2iAfSNqV+B+RCMASEISAMQfOAISBgCAgYAgKGgIAhINhDEPe4lfvcEJ1mT72IrmZvuTAtTcsUust7y4k5TMo0abSJ07LpsP5E7p8yLavZWz5ampbV5i1LhYAvG3KJ1s3kVJsAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/punto-GO.dacfe184.png\";","module.exports = __webpack_public_path__ + \"static/media/facebookR.c7197cdb.png\";","module.exports = __webpack_public_path__ + \"static/media/instagramR.6a12c981.png\";","module.exports = __webpack_public_path__ + \"static/media/footer.d0be8fab.png\";","module.exports = __webpack_public_path__ + \"static/media/terminos.4e20e512.pdf\";","module.exports = __webpack_public_path__ + \"static/media/POLITICA DE PRIVACIDAD_Movil Go.d9f9619f.pdf\";","import React from 'react';\nimport {Image} from 'react-bootstrap';\n\nexport const ButtonImage = (props) =>{\n const {image, onClick}= props;\n\n return(\n <>\n \n \n \n );\n}\n\nconst styles={\n container: {\n height: '90px',\n width: '90px',\n margin: '15px'\n }\n}","import React, { useState, useEffect } from 'react';\nimport { ButtonImage } from './buttons';\nimport { Button } from 'react-bootstrap';\n\nexport const ListOperator = (props) => {\n const { operators = [], onClick } = props;\n \n return (\n
\n {operators && operators.map((operator, i) => {\n return (\n onClick(operator)} key={i} />\n )\n })\n }\n
\n )\n}\n\n\nexport const ListTypes = (props) => {\n //console.log(\"ListTypesPROPS2 list-operator: \", props)\n const { types = [], onClick,clean, limpiar } = props;\n \n // console.log(\"types\",types)\n\n const [clicked, setClickedBtn] = useState(false);\n const [indexBtn, setIndexBtn] = useState(-1);\n\n const handleClick = (index) => {\n clean(true);\n setClickedBtn(true);\n setIndexBtn(index);\n }\n \n useEffect(() => {\n setClickedBtn(limpiar) }, [limpiar]);\n \n return (\n
\n {types && types.map((type, i) => {\n let btn_class;\n if(indexBtn!==-1){\n if(indexBtn===i){ btn_class = clicked ? \"#bedb02\" : \"\" }\n }\n return (\n \n )\n })}\n
\n )\n\n}\n\n\n\n","export const NumberWithCommas = (value) => {\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n}\r\n\r\nexport const FormatMoney = (value) => {\r\n if (typeof (value) === 'string') {\r\n return Capitalize(value);\r\n }\r\n return '$ ' + NumberWithCommas(value);\r\n};\r\n\r\nexport const Capitalize = (value) => {\r\n return (value.charAt(0).toUpperCase() + value.slice(1));\r\n}\r\n\r\nexport const FormatDateCompleteBueno = function (una_fecha) {\r\n\r\n const fecha = una_fecha ? new Date(una_fecha) : new Date(Date.now());\r\n\r\n\r\n const miFecha = fecha.getFullYear() + \"-\" + (((fecha.getMonth() + 1).toString().length === 1) ? \"0\" + (fecha.getMonth() + 1) : (fecha.getMonth() + 1)) + \"-\" + (((fecha.getDate()).toString().length === 1) ? \"0\" + (fecha.getDate()) : (fecha.getDate())) + \" \" + fecha.getHours() + \":\" + fecha.getMinutes();\r\n return miFecha;\r\n};\r\n\r\nexport const FormatDateComplete = function (una_fecha) {\r\n const fecha = una_fecha === null ? new Date() : new Date(una_fecha + \" UTC\");\r\n const miFecha = fecha.getFullYear() + \"-\" + (((fecha.getMonth() + 1).toString().length === 1) ? \"0\" + (fecha.getMonth() + 1) : (fecha.getMonth() + 1)) + \"-\" + (((fecha.getDate()).toString().length === 1) ? \"0\" + (fecha.getDate()) : (fecha.getDate())) + \" \" + fecha.getHours() + \":\" + fecha.getMinutes() + \":\" + fecha.getSeconds() + \"\";\r\n return miFecha;\r\n};\r\nexport const OdooDateToReact = (dateOdoo) => {\r\n const dateSplit = dateOdoo.split(\" \")[0].split(\"-\");\r\n const hourSplit = dateOdoo.split(\" \")[1].split(\":\");\r\n return new Date(dateSplit[0], dateSplit[1], dateSplit[2], hourSplit[0], hourSplit[1], hourSplit[2]);\r\n}\r\n\r\n/**\r\n * Modifica una fecha para convertirla en un string sencillo con formato \"dd-mm-yyyy\".\r\n * @param date Una fecha de tipo date.\r\n * @param yearFirst Invierte el orden del formato a \"yyyy-mmm-dd\".\r\n * @param addDays Añadir dias a la fecha.\r\n * @param addMonths Añadir meses a la fecha\".\r\n * @param addYears Añadir años a la fecha.\r\n * @return Un string con la fecha convertida.\r\n*/\r\nexport const DateToString = (date, yearFirst = false, addDays = 0, addMonths = 0, addYears = 0) => {\r\n if (date && date.getDate) {\r\n date.setDate(date.getDate() + addDays);\r\n date.setMonth(date.getMonth() + addMonths);\r\n date.setFullYear(date.getFullYear() + addYears);\r\n\r\n if (yearFirst) {\r\n date = date.getFullYear() + \"-\" + (((date.getMonth() + 1).toString().length === 1) ? \"0\" + (date.getMonth() + 1) : (date.getMonth() + 1)) + \"-\" + (((date.getDate()).toString().length === 1) ? \"0\" + (date.getDate()) : (date.getDate()));\r\n } else {\r\n date = (((date.getDate()).toString().length === 1) ? \"0\" + (date.getDate()) : (date.getDate())) + \"-\" + (((date.getMonth() + 1).toString().length === 1) ? \"0\" + (date.getMonth() + 1) : (date.getMonth() + 1)) + \"-\" + date.getFullYear();\r\n }\r\n //console.log(\"date del DateToString \",date)\r\n return date;\r\n } else {\r\n return \"Error\";\r\n }\r\n}\r\n","import React from 'react';\nimport { FormatMoney,Capitalize } from '../../../utilities/formats';\n\nexport const Summary = (props) => {\n const { phone, operator, price } = props\n\n return (\n
\n

Operador:

\n

{Capitalize(operator)}

\n

Celular:

\n

{phone}

\n

Valor de recarga:

\n

{FormatMoney(price)}

\n
\n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { Button } from 'react-bootstrap';\nimport { FormatMoney } from '../../utilities/formats';\n\nexport const ListPrices = (props) => { \n const { prices = [], onClick,clean, limpiar } = props;\n \n const [clicked, setClickedBtn] = useState(false);\n const [indexBtn, setIndexBtn] = useState(-1); \n\n const handleClick = (index) => {\n clean(true);\n setClickedBtn(true);\n setIndexBtn(index);\n }\n\n useEffect(() => {\n setClickedBtn(limpiar)\n }, [limpiar]);\n\n return (\n
\n {prices.map((price, i) => {\n let btn_class;\n if (indexBtn !== -1) {\n if (indexBtn === i) {\n btn_class = clicked ? \"#bedb02\" : \"\"\n }\n }\n return (\n \n )\n })}\n
\n )\n\n}\n\nexport const ListNumberTicket = (props) => {\n\n const { numbers = [], selectTicket, active } = props;\n const [clicked, setClickedBtn] = useState(false);\n const [indexBtn, setIndexBtn] = useState(-1);\n const handleClick = (index) => {\n setClickedBtn(true);\n setIndexBtn(index);\n }\n console.log(\"ListNumberTicket number\",numbers)\n return (\n\n
\n {numbers.map((number, i) => {\n let btn_class;\n if (indexBtn !== -1) {\n if (indexBtn === i) {\n btn_class = clicked ? \"#bedb02\" : \"\"\n }\n\n }\n\n return (\n \n )\n })}\n\n
\n )\n}\n","\nexport const OdooConfig = async () => {\n\n\n const config = {\n //pruebas\n /* host: 'https://pruebasmovilgo.movilgo.com.co',\n port: '',\n database: 'pruebasmovilgo',\n encryptKey: 'zEA2tiTWsWABVz7El8OBxfLN7K5X1Qni', */\n\n //produccion Republica Dominicana\n host: 'https://movilgoadmin.movilgo.com.co',\n port: '',\n database: 'republicadominicana',\n encryptKey: 'zEA2tiTWsWABVz7El8OBxfLN7K5X1Qni'\n\n \n //produccion Cambiar la url home\n /* host: localStorage.getItem(\"conexion\") === 'pruebas' ? 'http://45.56.65.237' : 'https://movilgoadmin.movilgo.com.co',\n port: localStorage.getItem(\"conexion\") === 'pruebas' ? '8069' : '',\n database: localStorage.getItem(\"conexion\") === 'pruebas' ? 'pruebasmovilgo' : 'movilgo',\n encryptKey: 'zEA2tiTWsWABVz7El8OBxfLN7K5X1Qni' */\n //\n }\n\n return config;\n}\nexport const version = '1.3'\n//pruebas\n/* export const Url_Home='https://vendedorpruebas.movilgo.com.co/Rifas/' //http://45.79.43.96:8099/Rifas\nexport const Url_pago='http://45.79.43.96:8098/'\nexport const idCardoso='581' //Id padre Cardoso\nexport const idCardosoVendedor = '647'\nexport const idMobilgoVendedor = '648' */\n\n//produccion Colombia\n/* export const Url_Home='https://vendedor.movilgo.com.co/Rifas/'\nexport const Url_pago='https://movilgo.com.co/'\nexport const idCardoso='581' //Id padre Cardoso\nexport const idCardosoVendedor = '642'\nexport const idMobilgoVendedor = '643' */\n\n//produccion republica dominicana\nexport const Url_Home='https://rdvendedor.movilgo.com.co/Rifas/'\nexport const Url_pago= 'https://rdcliente.movilgo.com.co/' \nexport const idCardoso='581' //Id padre Cardoso\nexport const idRDominic='649' //Id Padre RepDom\nexport const idCardosoVendedor = '642'\nexport const idMobilgoVendedor = '643'\nexport const idRDominicVendedor = '647'\nexport const idRDominicFinal = '648'","\nvar CryptoJS = require(\"crypto-js\");\n\nexport const Encrypt = (data) => {\n\n var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), 'my-secret-key@123').toString();\n localStorage.setItem(\"Session\", ciphertext);\n}\n\nexport const Desencrypt = () => {\n const data = localStorage.getItem('Session');\n if (data) {\n var bytes = CryptoJS.AES.decrypt(data, 'my-secret-key@123');\n var decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\n return (decryptedData);\n }\n return null;\n\n}\n\n","\nimport Odoo from 'odoo-xmlrpc';\nimport { OdooConfig } from '../utilities/odoo-config';\nimport { Desencrypt } from '../utilities/cipher';\n\nexport const Transaction = async (data, call) => {\n //console.log(\"PRODUCT-SERVICE TRANSACTION DATA: \", data)\n const config = await OdooConfig();\n const user = Desencrypt();\n let finish = false;\n const args = [[0, data]];\n\n //console.log(\"PRODUCT.SERVICE ARGS: \",args )\n\n const params = {\n model: \"movilgo.webservice\",\n method: \"transaccion\",\n };\n\n setTimeout(() => {\n if (finish) {\n return;\n }\n alert(\"Tiempo limite excedidoo\");\n call(false, \"\");\n return;\n }, 100000);\n\n const odoo = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: user.user,\n password: user.password\n });\n\n odoo.connect((errLogin, responseLogin) => {\n if (errLogin) {\n return;\n\n }\n odoo.execute_kw(params.model, params.method, args, (err, response) => {\n //console.log(\"response del porduct \" + data.atributes.tipo, response)\n /* console.log(\"ERR de proucto err,\",err )\n console.log(\"response de proucto,response\", response ) */\n finish = true;\n if (err) {\n /* call(err,false); */\n call(false, err);\n return false;\n }\n\n if (response) {\n if (response.errores && response.errores.id) {\n\n call(false, response);\n return false;\n }\n call(true, response);\n return true;\n }\n return false;\n\n });\n })\n}\n\n","\nexport const ManagmentErrors = (id) => {\n const listErrors = JSON.parse(localStorage.getItem(\"Errores\"));\n let result = \"Error inesperado.\"\n listErrors.forEach(element => {\n if (element.id === id) {\n result = element.descripcion;\n return;\n }\n });\n return result\n\n}\n","import React from 'react';\nimport { Spinner, FormLabel } from 'react-bootstrap';\n\nexport const LoadingMovilGoLogin = (props) => {\n \n return (\n <>\n {
\n Móvil\n

Go...

\n \n\n
}\n\n \n )\n}\n\nexport const LoadingMovilGo = (props) => {\n \n return (\n <>\n {
\n Móvil\n

Go...

\n \n\n
}\n\n \n )\n}\nexport const LoadingMovilGoSoat = (props) => {\n \n return (\n <>\n {
\n Móvil\n

Go...

\n \n\n
}\n\n \n )\n}\n\nexport const LoadingMovilGoRegistro = (props) => {\n \n return (\n <>\n {
\n Móvil\n

Go...

\n \n\n
}\n\n \n )\n}\n","import React from 'react';\nimport { Button, Modal } from 'react-bootstrap';\n\nexport const ModalNotificationTransaction = (props) => {\n\n const { message, type, closeModal } = props\n return (\n \n \n Transacción {type}\n \n \n
\n

{message}

\n
\n
\n \n \n \n
\n )\n\n}\n\nexport const ModalNotificationTransactionSoat = (props) => {\n const { message, type, closeModal } = props\n return (\n \n \n Transacción {type}\n \n \n
\n
{message}
\n
\n
\n \n \n \n
\n )\n\n}","\nimport jsPDF from 'jspdf'\nexport const jsPdfGenerator = (datos) => {\n var doc = new jsPDF('p', 'pt');\n doc.setFontSize(20);\n doc.text(65, 35, 'MóvilGo S.A.S');\n doc.setFontSize(13);\n doc.text(13, 50, 'Buenas e inteligentes ideas');\n doc.setFontSize(13);\n doc.text(13, 65, 'NIT: 901.330.856-1');\n doc.setFontSize(13);\n doc.text(13, 80, 'Carrera 23#62-39(AV.Santander)');\n doc.setFontSize(13);\n doc.text(13, 95, 'ED.Capitalia OF-404B');\n doc.setFontSize(13);\n doc.text(13, 110, '8931880');\n let cont = 135;\n let factura=''\n datos.forEach(element => {\n if(factura===''){\n factura=element\n }\n doc.text(13, cont, element);\n cont = cont + 20\n });\n var string = doc.output('datauristring');\n\n var iframe = \"\"\n\n var x = window.open();\n x.document.open();\n x.document.write(iframe);\n x.document.close();\n\n doc.save(factura+'.pdf');\n}\n\n","import React, { PureComponent } from 'react';\nimport { ListOperator } from '../../shared/components/list-operator';\nimport { Summary } from './components/summary';\nimport { ListPrices } from '../../shared/components/list-prices';\nimport { Container, Row, Col, Form, Card, Button, Image } from 'react-bootstrap';\nimport NumberFormat from 'react-number-format';\nimport { Transaction } from '../../services/product.service';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { ManagmentErrors } from '../../shared/components/managmentErrors';\nimport { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\nimport { ModalNotificationTransaction } from '../../shared/components/modalNotificationTransaction';\nimport { FormatMoney } from '../../utilities/formats';\nimport { jsPdfGenerator } from '../../shared/components/pdfTransaction';\n\nclass Recargas extends PureComponent {\n constructor(props) {\n super(props);\n this.recargas = this.props.recargas;\n this.state = {\n visible: false,\n selectedOperator: { id: -1, image_medium: null, operador: '', },\n recargas: [],\n selectedPrice: '',\n phone: '',\n loading: true,\n opacity: 1,\n modalNotification: false\n }\n this._isMounted = false;\n this.listRecargas = [];\n this.response = [];\n this.phone = '';\n this.valor = '';\n this.operador = '';\n this.clean = ''\n }\n\n cleanFile = () => {\n this.setState({\n visible: false,\n selectedOperator: {\n image_medium: null,\n operador: '',\n },\n selectedPrice: '',\n phone: '',\n clean: false\n });\n }\n\n getResponse = (flag, response) => {\n //console.log(\"data de la recarga CAMILA\",flag, response)\n if (flag) {\n this.response = response;\n const success = () => toast.success(\"Recarga comprada exitosamente\");\n success();\n this.setState({ loading: false, opacity: 1, modalNotification: true });\n } else {\n /* const message = ManagmentErrors(response.errores.id); */\n const message = ManagmentErrors(\"MARIACAMILA\");\n const error = () => toast.error(message);\n error();\n this.setState({ loading: false, opacity: 1 });\n }\n }\n\n componentDidMount = () => {\n //this._isMounted = true;\n //console.log(\"did\",this.recargas)\n if (this.recargas) {\n this.setState({ recargas: this.recargas, loading: false })\n }\n }\n\n componentWillUnmount = () => {\n this._isMounted = false;\n }\n\n sendData = async () => {\n this.phone = this.state.phone;\n this.valor = this.state.selectedPrice;\n this.operador = this.state.selectedOperator.operador\n this.setState({ loading: true, opacity: 0.4 });\n const product = {\n product_id: this.state.selectedOperator.id,\n atributes: {\n numero: this.state.phone,\n precio: this.state.selectedPrice\n }\n }\n\n await Transaction(product, this.getResponse);\n this.cleanFile();\n }\n\n selectOperator = (operator) => {\n this.cleanFile();\n this.setState({ selectedOperator: operator });\n }\n\n selectPrice = (price) => {\n if (typeof (price) === 'string' && price.toLowerCase() === 'otro valor') {\n this.setState({ visible: true, selectedPrice: '' });\n }\n else {\n this.setState({ selectedPrice: price, visible: false });\n }\n }\n\n closeModal = (flag) => {\n this.setState({ modalNotification: flag });\n\n const data = [\n \"Factura No: \" + this.response.valida.id,\n \"Fecha:\" + this.response.valida.fecha,\n \"No.Aprobacion:\" + this.response.valida.numero_aprobacion,\n \"Producto: Recarga \" + this.operador,\n \"Celular: \" + this.phone,\n \"Valor: \" + FormatMoney(this.valor)\n ]\n jsPdfGenerator(data);\n }\n\n render() {\n return (\n <>\n \n\n
\n\n \n

Recargas

\n \n\n \n \n this.selectOperator(operator)}\n operators={this.state.recargas} />\n \n \n \n \n \n
\n {this.state.selectedOperator.image_medium && }\n
\n \n \n \n

Número de Celular

\n this.setState({ phone: event.target.value.replace(/\\D/, '') })}\n />\n
\n
\n this.setState({ clean: flag })} limpiar={this.state.clean} onClick={(i) => this.selectPrice(i)} prices={Prices} />
\n {this.state.visible &&\n this.setState({ selectedPrice: parseInt(event.target.value.replace(\"$\", \"\").replace(\",\", \"\")) })}\n />\n }\n
\n \n \n

Resumen de Compra

\n \n \n \n \n
\n
\n
\n \n \n \n \n \n\n \n \n \n \n \n
\n\n
\n\n {this.state.modalNotification && this.closeModal(flag)}\n type={\"Recarga\"}\n message={\"Recarga realizada exitosamente\"} />}\n {this.state.loading && }\n \n )\n }\n}\n\nconst Prices = [\n 1000,\n 2000,\n 3000,\n 5000,\n 10000,\n 20000,\n 'Otro valor'\n]\n\nexport default Recargas;","import React from 'react';\nimport { Image} from 'react-bootstrap';\n\nexport const ButtonImage = (props) => {\n const { image, onClick } = props;\n\n return (\n \n );\n}\n","import React from 'react';\nimport { ButtonImage } from '../../../shared/components/buttons-services';\n\nexport const ListServices = (props) =>{\n\n const {services = [], onClick }=props;\n\n return (\n
\n\n {services.map((service, i) => {\n return (\n onClick(service.source)} image={service.image} />\n )\n })\n }\n\n
\n \n )\n}","import React, { PureComponent } from 'react';\n//import { Card } from 'react-bootstrap';\nimport { ListServices } from './components/list-services';\nimport { Row, Col } from 'react-bootstrap';\nimport { idCardoso, idMobilgoVendedor, idRDominic, idRDominicFinal, idRDominicVendedor } from '../../utilities/odoo-config';\nimport { Desencrypt } from '../../utilities/cipher';\n\nclass MenuServices extends PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n listaPaquetes: '',\n routes: []\n }\n }\n \n onClickRoutes = (route) => {\n this.props.history.push(route);\n }\n\n componentDidMount = () => {\n const permiso = localStorage.getItem('Permission');\n const Idpadre = localStorage.getItem('idPadre');\n const datoSession = Desencrypt();\n let routes = Routes;\n if (permiso === 'cobrador') {\n routes = RoutesCollector;\n } else if (permiso === 'administrador') {\n routes = RoutesAdmin;\n } else if (Idpadre === idCardoso || Idpadre == idRDominic) {\n routes = RouteCardoso;\n }\n else if (datoSession.id == idMobilgoVendedor) {\n routes = RouteCardoso;\n }\n else if (datoSession.id == idRDominicVendedor || datoSession.id == idRDominicFinal) {\n routes = RouteCardoso;\n }\n\n this.setState({ listaPaquetes: this.props.listaPaquetes, routes })\n }\n\n render() {\n return (\n
\n\n

Servicios MóvilGo

\n \n \n this.onClickRoutes(route)}\n />\n \n \n
\n );\n };\n}\n\nconst Routes = [\n {\n image: require('../../assets/services/btn-recargas.png'),\n source: '/Recargas'\n },\n {\n image: require('../../assets/services/btn-paquetes.png'),\n source: '/Paquetes'\n },\n {\n image: require('../../assets/services/btn-rifas.png'),\n source: '/Rifas'\n } ,\n {\n image: require('../../assets/services/btn-pines.png'),\n source: '/Pines'\n },\n {\n image: require('../../assets/services/btn-deportes.png'),\n source: '/Recargas-Deportivas'\n },/*\n {\n image: require('../../assets/services/btn-soat.png'),\n source: '/Soat'\n },\n {\n image: require('../../assets/services/botonbingo.png'),\n source: '/Super-Bingo'\n }, */\n\n /* Este fragmento permite el acceso a \"Certificados\" que se encuentra \n en \"route.js\", el cual su vez redirecciona a la vista. */\n /* {\n image: require('../../assets/services/btn-certificado.png'),//require('../../assets/services/btn-certificados.png'),\n source: '/Certificados'\n },\n {\n image: require('../../assets/services/btn-prestamos.png'),\n source: '/Prestamos/Busca'\n },*/ \n \n /* { image: require('../../assets/services/btn-prestamos.png'),\n source: '/Mitecnova/' }, */\n \n \n \n]\n\nconst RoutesCollector = [\n {\n image: require('../../assets/services/botoncobrador.png'),\n source: '/Recaudo'\n },\n]\n\nconst RouteCardoso =[\n {\n image: require('../../assets/services/btn-rifas.png'),\n source: '/Rifas'\n },\n]\n\nconst RoutesAdmin = [\n {\n image: require('../../assets/services/btn-recargas.png'),\n source: '/Recargas'\n },\n {\n image: require('../../assets/services/btn-paquetes.png'),\n source: '/Paquetes'\n },\n {\n image: require('../../assets/services/btn-rifas.png'),\n source: '/Rifas'\n },\n {\n image: require('../../assets/services/btn-pines.png'),\n source: '/Pines'\n },\n {\n image: require('../../assets/services/btn-deportes.png'),\n source: '/Recargas-Deportivas'\n },\n {\n image: require('../../assets/services/btn-soat.png'),\n source: '/Soat'\n },\n {\n image: require('../../assets/services/botoncobrador.png'),\n source: '/Recaudo'\n }, \n /* {\n image: require('../../assets/services/btn-deportes.png'),//require('../../assets/services/btn-certificados.png'),\n source: '/Certificados'\n },\n */\n {\n image: require('../../assets/services/btn-prestamos.png'),\n source: '/Prestamos/Busca'\n }, \n /* { image: require('../../assets/services/btn-prestamos.png'),\n source: '/Mitecnova' }, */\n]\n\nexport default MenuServices;","import React from 'react';\nimport { FormatMoney, Capitalize } from '../../../utilities/formats';\n\nexport const Summary = (props) => {\n const { phone, operator, price, packet } = props\n\n return (\n
\n
Operador:
\n
{Capitalize(operator)}
\n
Celular:
\n
{phone}
\n
Paquete:
\n
{packet}
\n
Valor del paquete:
\n {price &&
{FormatMoney(parseInt(price))}
}\n
\n );\n}\n"," \nimport styled from \"styled-components\";\n\nexport let HomeWrapper = styled.div`\n .slick-arrow {\n background-color: #61dafb;\n height: 35px;\n width: 35px;\n border-radius: '20'\n \n }\n .slick-arrow:hover,\n .slick-arrow:active,\n .slick-arrow:focus {\n background-color: #61dafb !important;\n }\n`;","import React, { useEffect, useState } from 'react';\nimport { Card, Button, Container, } from 'react-bootstrap';\nimport { FormatMoney } from '../../utilities/formats';\nimport \"react-multi-carousel/lib/styles.css\";\nimport \"slick-carousel/slick/slick.css\";\nimport \"slick-carousel/slick/slick-theme.css\";\nimport Slider from \"react-slick\";\nimport { HomeWrapper } from './style'\n\nexport const Carrusel = (props) => {\n\n /* console.log(\"PROPS CARRUSEL: \", props) */\n const { packages = [], onClick } = props;\n //console.log(\"PAQUETE: \", packages)\n\n const [cards, setCards] = useState([]);\n const size = useWindowSize();\n const [numberCards, setNumberCards] = useState(2);\n \n function useWindowSize() \n {\n const [windowSize, setWindowSize] = useState({ width: undefined, height: undefined, }); \n useEffect(() => {\n function handleResize() {\n setWindowSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n }\n window.addEventListener(\"resize\", handleResize);\n handleResize();\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n return windowSize;\n }\n\n useEffect(() => {\n if (size.width <= 768 && size.height <= 1024) {\n setNumberCards(1)\n }else if(size.width >= 768 && size.height >= 800){\n setNumberCards(2)\n }else{\n setNumberCards(3)\n }\n }, [size]);\n\n\n let settings = {\n arrows: true,\n dots: false,\n accesibility: true,\n infinite: false,\n speed: 300,\n slidesToShow: numberCards,\n slidesToScroll: 1,\n adaptiveHeight: false\n };\n\n useEffect(() => { \n let aux = [];\n packages.forEach(element => {\n //console.log(\"ELEMENET FORE CAROUSEL\", element)\n aux.push(\n
\n \n \n \n {element.name}\n \n \n Valor {FormatMoney(element.precio)}\n \n \n Vigenica {element.vigencia} Dias\n \n \n \n \n \n \n
\n );\n });\n setCards(aux);\n }, [packages, onClick]);\n\n return (\n \n \n \n {cards}\n \n \n \n )\n}","import React, { PureComponent } from 'react';\nimport { ListOperator, ListTypes } from '../../shared/components/list-operator';\nimport { Summary } from './components/summary';\nimport { Row, Col, Form, Card, Button, Image } from 'react-bootstrap';\nimport { Transaction } from '../../services/product.service';\nimport { Carrusel } from '../../shared/components/carousel';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { ManagmentErrors } from '../../shared/components/managmentErrors';\nimport { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\nimport { ModalNotificationTransaction } from '../../shared/components/modalNotificationTransaction';\nimport { jsPdfGenerator } from '../../shared/components/pdfTransaction';\nimport { FormatMoney } from '../../utilities/formats';\n\nclass PaquetesComponent extends PureComponent {\n\n constructor(props) {\n super(props);\n this.operators = [];\n this.listPackages = [];\n\n //Prueba\n //this.listPackages = this.props.listPackages;\n\n this.listCharges = [];\n this.state = {\n idPackage: -1,\n visible: false,\n loading: true,\n selectedOperator: { id: -1, image_medium: '', operador: '', },\n paquetes: [],\n selectedType: '',\n tagList: [],\n operators: [],\n precio: '',\n phone: '',\n vigencia: '',\n name: '',\n carrouselView: false,\n opacity: 1,\n modalNotification: false\n }\n this.packagesByOperator = {};\n this.response = [];\n this.phone = '';\n this.valor = '';\n this.operador = '';\n this.namePacket = '';\n this.clean = ''\n }\n\n cleanField = () => {\n\n this.setState({\n clean: false,\n name: '',\n price: '',\n phone: '',\n selectedOperator: { id: -1, image_medium: '', operador: '', },\n carrouselView: false\n //selectedOperator: {}, \n })\n //this.operador= '';\n }\n\n componentDidMount = () => {\n\n this.listPackages = this.props.listPackages;\n this.listCharges = this.props.listCharges;\n\n console.log(\"DID: listPackages\", this.listPackages)\n\n if (this.listPackages) {\n /* if (this.listPackages||this.listCharges) { */\n // console.log(\"did\")\n this.setState({ loading: false })\n /* PRUEBA this.setState({listPackages:this.listPackages, loading: false }) */\n this.initialice();\n }\n }\n\n initialice = () => {\n\n let operators = [];\n\n //console.log(\"initialice OPERATORS\", operators)\n this.listPackages.forEach(element => {\n if (!this.packagesByOperator[element.operador]) {\n this.packagesByOperator[element.operador] = {};\n\n //console.log(\"ENTRA\")\n for (let i = 0; i < this.listCharges.length; i++) {\n if (this.listCharges[i].operador === element.operador) {\n operators.push(this.listCharges[i]);\n }\n }\n }\n if (!this.packagesByOperator[element.operador][element.categ_id_name]) {\n this.packagesByOperator[element.operador][element.categ_id_name] = [];\n }\n this.packagesByOperator[element.operador][element.categ_id_name].push(element);\n });\n\n this.setState({ operators });\n }\n\n componentWillUnmount = () => {\n this.packagesByOperator = {};\n }\n\n getResponse = (flag, response) => {\n // console.log(\"este es el response de paquetes \",response)\n if (flag) {\n this.response = response\n const success = () => toast.success(\"Paquete comprado exitosamente\");\n success();\n this.setState({ loading: false, opacity: 1, modalNotification: true })\n } else {\n const message = ManagmentErrors(response.errores.id);\n const error = () => toast.error(message);\n error();\n this.setState({ loading: false, opacity: 1 })\n }\n }\n\n sendData = async () => {\n this.phone = this.state.phone;\n this.valor = this.state.price;\n this.namePacket = this.state.name;\n\n this.setState({ loading: true, opacity: 0.4 })\n const product = {\n product_id: this.state.idPackage,\n atributes: {\n numero: this.state.phone,\n precio: this.state.price,\n\n }\n }\n await Transaction(product, this.getResponse);\n }\n\n selectOperator = (operator) => {\n // console.log(\"PASO 1 RECARGA OPERADOR\", operator.operador)\n this.cleanField();\n this.setState({\n selectedOperator: operator,\n tagList: Object.keys(this.packagesByOperator[operator.operador])\n });\n /* console.log(\"taglist:\",this.packagesByOperator[operator.operador]) */\n //console.log(\"taglist2:\",this.packagesByOperator) \n //console.log(\"selectedOperator:\",this.state.selectedOperator);\n this.setState({ carrouselView: false })\n\n }\n\n selectType = (type) => {\n /* console.log(\"PASO 2 TYPE: \", type)\n console.log(\"PAQUETES:\",this.state.tagList); */\n //console.log(\"selectedOperator.operador: \", this.state.selectedOperator.operador)\n this.operador = type\n this.setState({\n paquetes:\n this.packagesByOperator[this.state.selectedOperator.operador][type]\n });\n this.setState({ carrouselView: true })\n }\n\n closeModal = (flag) => {\n this.cleanField()\n // console.log(\"la flag es\", flag)\n this.setState({ modalNotification: flag });\n //console.log(\"response\", this.response)\n\n const data = [\n \"Factura No: \" + this.response.valida.id,\n \"Fecha:\" + this.response.valida.fecha,\n \"No.Aprobacion:\" + this.response.valida.numero_aprobacion,\n \"Producto: Paquete \" + this.state.name,\n \"Celular: \" + this.phone,\n \"Valor: \" + FormatMoney(this.valor)\n ]\n jsPdfGenerator(data);\n }\n\n render() {\n return (\n <>\n \n
\n
\n

Paquetes

\n \n \n \n {this.state.operators &&\n this.selectOperator(operador)}\n operators={this.state.operators}\n />}\n \n \n \n \n \n {\n {this.state.selectedOperator.image_medium &&\n }\n }\n {\n this.setState({ clean: flag })}\n limpiar={this.state.clean}\n onClick={(type) => { this.selectType(type) }}\n types={this.state.tagList} />\n }\n
\n \n \n {this.state.carrouselView &&\n {\n this.setState({ name: namePacket, price: pricePacket, idPackage: id })\n }}\n packages={this.state.paquetes}\n operador={this.state.selectedOperator.name}\n type={this.state.selectedType} />}\n \n \n \n

Celular

\n this.setState({ phone: event.target.value.replace(/\\D/, '') })}\n />\n
\n \n \n
\n
\n \n \n \n \n \n
\n
\n\n
\n {this.state.modalNotification &&\n\n this.closeModal(flag)}\n type={\"Paquete\"}\n message={\"Paquete comprado exitosamente\"} />}\n {this.state.loading && }\n \n )\n }\n}\n\nexport default PaquetesComponent;","import React, { useEffect, useState } from 'react';\nimport { Card, Button, Row, Container, Col } from 'react-bootstrap';\nimport { FormatMoney } from '../../../utilities/formats';\nimport \"slick-carousel/slick/slick.css\";\nimport \"slick-carousel/slick/slick-theme.css\";\nimport Slider from \"react-slick\";\nimport { HomeWrapper } from '../../../shared/components/style'\nimport \"react-multi-carousel/lib/styles.css\";\nimport { Link } from 'react-router-dom';\nimport { idCardoso, idCardosoVendedor, idMobilgoVendedor, idRDominic, idRDominicFinal, idRDominicVendedor } from '../../../utilities/odoo-config';\nimport { Desencrypt } from '../../../utilities/cipher';\n\nexport const CarruselRifas = (props) => {\n const { rifas = [] } = props;\n const [cards, setCards] = useState([])\n const [idPadre, setIPadre] = useState([])\n \n\n const capturarRifa = async (id, name, sorteo, precio, imagen, porcentaje_recaudo, resolucion) => {\n localStorage.setItem('datosRifa', JSON.stringify({ id, name, sorteo, precio, imagen, porcentaje_recaudo, resolucion }));\n }\n\n\n const size = useWindowSize();\n const [numberCards, setNumberCards] = useState(2);\n function useWindowSize() {\n\n const [windowSize, setWindowSize] = useState({ width: undefined, height: undefined, });\n\n useEffect(() => {\n function handleResize() {\n setWindowSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n }\n window.addEventListener(\"resize\", handleResize);\n handleResize();\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n return windowSize;\n }\n \n\n useEffect(() => {\n\n if (size.width <= 768 && size.height <= 1024) {\n setNumberCards(1)\n }\n else if (size.width >= 768 && size.height >= 800) {\n setNumberCards(2)\n }\n\n }, [size]);\n\n\n let settings = {\n arrows: true,\n dots: false,\n accesibility: true,\n infinite: false,\n speed: 300,\n slidesToShow: numberCards,\n slidesToScroll: 1,\n adaptiveHeight: false\n };\n\n useEffect(() => {\n let aux = [];\n rifas.forEach(element => {\n // console.log(\"element del carrusel rifa\",element)\n if(element.numero_resolucion_rifa!=false){\n const datoSession = Desencrypt();\n var showabono = new Boolean(true)\n setIPadre(localStorage.getItem('idPadre'))\n if ((datoSession.id == idCardosoVendedor)|| (idPadre == idRDominic) ||(datoSession.id == idMobilgoVendedor) || (datoSession.id == idRDominicVendedor) || (datoSession.id == idRDominicFinal)){ \n showabono = false\n }else {\n showabono = true\n }\n aux.push(\n
\n \n {element.name}\n \n \n \n \n \n \n {element.porcentaje_recaudo < 100&&showabono&&\n }\n \n \n

\n {element.fecha_sorteo}\n
\n {FormatMoney(element.precio)}\n

\n \n \n \n \n
\n
\n
\n
\n ); \n }\n \n })\n setCards(aux)\n }, []);\n\n return (\n\n \n \n
\n
\n \n\n \n \n\n {cards}\n \n
\n
\n\n )\n}","import React, { PureComponent } from 'react';\nimport { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\nimport { CarruselRifas } from './components/carousel-rifas';\nimport { ToastContainer, toast } from 'react-toastify';\nclass RifasComponent extends PureComponent {\n\n constructor(props) {\n super(props);\n this.rifas = this.props.rifas;\n\n this.state = {\n loading: true,\n visible: false,\n selectedRifa: {\n id: -1,\n image_medium: null,\n name: '',\n precio: '',\n fecha_sorteo: '',\n\n }\n }\n \n }\n componentDidMount = () => {\n //console.log(\"this.rifas\",this.rifas)\n if (this.props.rifas) {\n this.setState({ loading: false })\n }/* else{\n \n this.setState({ loading: false })\n const error = () => toast.error(\"No tienes este producto disponible\");\n error();\n } */\n }\n render() {\n return (\n <>\n \n {this.state.loading && }\n \n

Rifas

\n\n
\n\n \n\n
\n \n\n )\n }\n}\n\nexport default RifasComponent;","import React from 'react';\n//import { FormatMoney } from '../../../utilities/formats';\n\nexport const Summary = (props) => {\n const { phone, operator, email, price, vigencia,pinPackage } = props\n\n return (\n <>\n
\n {/*

Producto:

\n

{operator}

*/}\n

Paquete:

\n

{pinPackage}

\n

Celular:

\n

{phone}

\n

Correo:

\n

{email}

\n {vigencia > 0 &&

Vigencia:

}\n {vigencia > 0 &&

{vigencia} días

}\n

Precio:

\n

{price}

\n {/*

{FormatMoney(price)}

*/}\n
\n \n );\n}\n","import React, { PureComponent } from 'react';\nimport { ListOperator/* , ListTypes */ } from '../../shared/components/list-operator';\nimport { Summary } from './components/summary';\nimport { Container, Row, Col, Form, Card, Button, Image, Modal, InputGroup } from 'react-bootstrap';\nimport NumberFormat from 'react-number-format';\nimport { Transaction } from '../../services/product.service';\nimport { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\nimport { ToastContainer, toast } from 'react-toastify';\nimport { ManagmentErrors } from '../../shared/components/managmentErrors';\nimport { ListPricesPines } from './components/list-prices';\nimport { ModalNotificationTransaction } from '../../shared/components/modalNotificationTransaction';\nimport { jsPdfGenerator } from '../../shared/components/pdfTransaction';\nimport { FormatMoney } from '../../utilities/formats';\nimport { Carrusel } from '../../shared/components/carousel';\n//import { jsPdfGenerator } from '../../shared/components/pdfTransaction';\n\nclass RecargasPines extends PureComponent {\n\n constructor(props) {\n super(props);\n this.categoryPin = [];\n this.eachObjPin = [];\n this.nameGroupPin = [];\n this.nameEachPin = {};\n this.paquetes = [];\n this.packName = [];\n this.state = {\n selectedType: '',\n price: [],\n name: '',\n idPackage: -1,\n visible: false,\n viewSummary: false,\n loading: true,\n opacity: 1,\n selectedPin: { id: -1, image_medium: null, name: '' },\n id_pin: -1,\n pines: [],\n operators: [],\n vigencia: 0,\n phone: '',\n pinPackage: '',\n selectedPrice: 0,\n buttonsPines: [
],\n email: '',\n selectedProduct: {},\n //showAnotherValueInput: false,\n modalInfoPines: false,\n modalNotification: false,\n resumeView: <>,\n listTypes: <>,\n errorEmail: '',\n // stateButtons: [false, false, false, false, false, false],\n carrouselView: false,\n\n }\n this.namePacket = '';\n this.packPinByOperator = {};\n this.listePricesByOperator = [];\n //this.paquetesPines = this.props.paquetesPines;\n this.paquetesPines = [];\n this.pinesByOperator = [];\n this.response = [];\n this.phone = '';\n this.valor = '';\n this.operador = '';\n this.clean = ''\n }\n\n cleanField = () => {\n this.setState({\n clean: false,\n name: '',\n price: ''\n })\n }\n\n componentDidMount = () => {\n\n this.categoryPin = this.props.pinPines;\n this.eachObjPin = this.props.paquetesPines;\n\n //console.log(\"CATEGORYPIN\",this.categoryPin)\n\n if (this.categoryPin || this.eachObjPin) {\n this.setState({ loading: false })\n this.initialice();\n }else{\n \n this.setState({ loading: false })\n const error = () => toast.error(\"No tienes este producto disponible\");\n error();\n }\n }\n\n initialice = () => {\n\n let nameGroup = []\n this.categoryPin.forEach(element => {\n if (element.operador) {\n nameGroup.push(element.operador)\n }\n })\n\n //console.log(\"NAMEGROUP: \",nameGroup)\n this.nameGroupPin = nameGroup;\n\n let listKindPin = [];\n // console.log(\"EACHOBJ\",this.eachObjPin)\n this.eachObjPin.forEach(element => {\n if (listKindPin[element.operador]) {\n listKindPin[element.operador].push(element);\n } else {\n listKindPin[element.operador] = [];\n listKindPin[element.operador].push(element);\n }\n })\n //console.log(\"GRUPOS\", listKindPin) \n this.setState({ listKindPin });\n }\n\n componentWillUnmount = () => {\n this.packPinByOperator = {};\n }\n\n sendData = async () => {\n //console.log(\"entra1:\", this.state.idPackage)\n this.namePacket = this.state.name;\n this.phone = this.state.phone;\n this.valor = this.state.price;\n this.operador = this.state.operador\n this.setState({ loading: true, opacity: 0.4 })\n const product = {\n product_id: this.state.idPackage,\n atributes: {\n correo: this.state.email,\n numero: this.state.phone,\n precio: this.state.price\n }\n }\n await Transaction(product, this.getResponse);\n }\n\n getResponse = (flag, response) => {\n // console.log(\"este es el response de paquetes \",response)\n if (flag) {\n this.response = response\n const success = () => toast.success(\"Producto comprado exitosamente\");\n /* this.setState({phone: '',email:'',checkPhone:false }); */\n success();\n this.setState({ loading: false, opacity: 1, modalNotification: true, phone: '', email: '', checkPhone: false, name: '', operador: '', price: '' })\n } else {\n const message = ManagmentErrors(response.errores.id);\n const error = () => toast.error(message);\n error();\n this.setState({ loading: false, opacity: 1, phone: '', email: '', checkPhone: false, name: '', operador: '', price: '' })\n }\n }\n\n selectOperator = (operator) => {\n //console.log(\"PASO 1 RECARGA OPERADOR\", operator)\n this.cleanField();\n let paquetes = this.state.listKindPin[operator]\n let operador = operator\n this.setState({ paquetes })\n this.setState({ operador })\n this.setState({ carrouselView: true })\n }\n\n closeModal = (flag) => {\n this.setState({ modalNotification: flag });\n const data = [\n \"Factura No: \" + this.response.valida.id,\n \"Fecha:\" + this.response.valida.fecha,\n \"No.Aprobacion:\" + this.response.valida.numero_aprobacion,\n \"Producto: Paquete \" + this.state.name,\n \"Celular: \" + this.phone,\n \"Valor: \" + FormatMoney(this.valor)\n ]\n jsPdfGenerator(data);\n }\n\n render() {\n return (\n <>\n \n\n
\n \n {/*
*/}\n
\n\n

Pines

\n \n {/* MUESTRA LISTADO DE PINES */}\n \n {this.state.operators &&\n \n this.selectOperator(operators.operador)}\n operators={(this.categoryPin)}\n />\n }\n \n \n \n \n \n {\n {this.state.selectedPin.image_medium &&\n }\n }\n \n
\n \n \n {this.state.carrouselView &&\n {\n //console.log(\"variables: \",namePacket, pricePacket, id)\n this.setState({ name: namePacket, price: pricePacket, idPackage: id })\n }}\n packages={this.state.paquetes}\n operador={this.state.selectedPin.operador}\n type={this.state.selectedType} />\n }\n \n\n \n \n

Celular

\n this.setState({ phone: event.target.value.replace(/\\D/, '') })}\n />\n
\n \n

Correo

\n this.setState({ email: event.target.value/* .replace(/\\D/, '') */ })}\n />\n
\n\n \n \n
\n
\n \n \n \n
\n {/*
*/}\n
\n\n {this.state.modalNotification && this.closeModal(flag)}\n type={\"Pin\"}\n message={\"Pin \" + this.state.name + \" comprado exitosamente\"}\n />}\n {this.state.loading && }\n \n )\n }\n}\n\nexport default RecargasPines;\n","import Odoo from 'odoo-xmlrpc';\nimport { OdooConfig } from '../utilities/odoo-config';\nimport { Desencrypt } from '../utilities/cipher';\n\nexport const searchNumber = async (numero_boleta, product_id, callback) => {\n const config = await OdooConfig();\n const args = [[ 0, { numero_boleta, product_id } ]]\n\n const data = await Desencrypt();\n const params = {\n model: \"movilgo.webservice\",\n method: \"buscarBoleta\",\n }\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n \n //console.log(\"args de salida buscarBoleta\",args)\n client.connect((err, response) => {\n /* console.log(\"err del conect buscarBoleta\",err)\n console.log(\"responde del conect buscarBoleta\",response) */\n if (err) {\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, args, (err, response) => {\n //console.log(\"err del serviciio buscarBoleta\",err)\n //console.log(\"response del servicio buscarBoleta\",response)\n if (err) {\n callback(err, false);\n return false;\n }\n\n callback(response, true);\n });\n }\n\n })\n}\n\nexport const searchPayments = async (tipo, valor, product_id, callback) => {\n const config = await OdooConfig();\n const args = [[ 0, { tipo, valor, product_id } ]]\n \n const data = await Desencrypt();\n const params = {\n model: \"movilgo.webservice\",\n method: \"buscarAbonoRifa\",\n }\n \n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n //console.log(\"vendedor args\",args)\n //console.log(\"vendedor cliente\",client)\n client.connect((err, response) => {\n if (err) {\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, args, (err, response) => {\n if (err) {\n ///callback(err, false);\n return false;\n }\n callback(response, true);\n });\n }\n\n })\n}\n\nexport const getRifaResume = async (transaccion, callback) => {\n const config = await OdooConfig();\n const args = [[ 0, { transaccion } ]]\n const params = {\n model: \"movilgo.webservice\",\n method: \"traerRifa\",\n }\n \n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: '8079',\n password: '1111'\n });\n\n client.connect((err, response) => {\n if (err) {\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, args, (err, response) => {\n if (err) {\n callback(err, false);\n return false;\n }\n callback(response, true);\n });\n }\n\n })\n}","import React, { useState } from 'react';\nimport { Card, Col, Row, Form, InputGroup, FormControl } from 'react-bootstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSearch } from '@fortawesome/free-solid-svg-icons';\nimport { searchPayments } from '../../../services/rifa.service'\nimport { LoadingMovilGo } from '../../../shared/components/loadingMovilGo';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\n\nexport const SearchBoletas = (props) => {\n const { listaAbonos, deleteListAbonos } = props\n const [typeSearch, setTypeSearch] = useState('cedula');\n const [searchValue, setSearchValue] = useState('');\n const [loading, setLoading] = useState(false);\n const [opacity, setOpacity] = useState(1);\n \n const foundPayments = (response, flag) => {\n \n if (flag) {\n let _list = { abonos: [] }\n if (typeSearch === \"boleta\") {\n response.abonos.forEach(element => {\n const _element = element;\n _element['boleta'] = searchValue;\n _list.abonos.push(_element)\n });\n listaAbonos(_list);\n } else if (typeSearch === \"celular\") {\n response.abonos.forEach(element => {\n const _element = element;\n _element['celular'] = searchValue;\n _list.abonos.push(_element)\n });\n listaAbonos(_list);\n } else {\n listaAbonos(response);\n }\n setLoading(false);\n setOpacity(1);\n } else {\n setLoading(true);\n setOpacity(1)\n }\n\n }\n \n const findPayments = () => {\n const rifa = JSON.parse(localStorage.getItem('datosRifa'));\n if (searchValue.trim() !== \"\") {\n setLoading(true);\n setOpacity(0.4)\n searchPayments(typeSearch, searchValue, rifa.id, foundPayments);\n } else {\n const error = () => toast.error(\"¡Se debe ingresar un valor de busqueda!\");\n error();\n }\n }\n return (\n <>\n \n \n \n \n
\n\n \n \n \n { setTypeSearch(event.target.id); deleteListAbonos(); setSearchValue(''); }}\n\n />\n \n \n { setTypeSearch(event.target.id); deleteListAbonos(); setSearchValue(''); }}\n />\n \n \n { setTypeSearch(event.target.id); deleteListAbonos(); setSearchValue(''); }}\n />\n \n \n \n\n \n { setSearchValue(e.target.value); deleteListAbonos() }}\n />\n \n \n findPayments()} className=\"mr-2 align-self-center\" icon={faSearch} />\n \n \n\n \n
\n \n
\n
\n\n {loading && }\n \n );\n\n\n}","import React from 'react';\nimport { FormatMoney } from '../../../utilities/formats';\nimport { Button } from 'react-bootstrap';\n\n\nexport const ItemBallotsUser = (props) => {\n const { itemBallotsUser, setPayment, setVisible } = props\n\n return (\n <>\n \n {itemBallotsUser.vendedor_externo_id}\n {itemBallotsUser.boleta}\n {itemBallotsUser.nombre}\n {itemBallotsUser.celular}\n {FormatMoney(itemBallotsUser.deuda)}\n \n \n \n\n )\n}","import React, { useState } from 'react';\nimport { Button, Table } from 'react-bootstrap';\nimport { FormatMoney } from '../../../utilities/formats';\nimport { ItemBallotsUser } from './item';\n\nexport const ListPrices = (props) => {\n\n const { prices = [], onClick } = props;\n\n const [clicked, setClickedBtn] = useState(false);\n const [indexBtn, setIndexBtn] = useState(-1);\n const handleClick = (index) => {\n setClickedBtn(true);\n setIndexBtn(index);\n }\n return (\n
\n {prices.map((price, i) => {\n let btn_class;\n if (indexBtn !== -1) {\n if (indexBtn === i) {\n btn_class = clicked ? \"#bedb02\" : \"\"\n }\n\n }\n return (\n \n )\n })\n }\n
\n )\n\n}\n\nexport const ListBallotsUser = (props) => {\n const { listaAbonos = [], setPayment, setVisible } = props\n return (\n <>\n
\n \n \n \n \n \n \n \n \n \n \n \n \n {listaAbonos.map((obj, i) => (\n \n ))}\n \n
IDBoletaClienteCelularSaldo
\n
\n \n )\n}","import React, { useState } from 'react';\nimport { Button, Form, Modal } from 'react-bootstrap';\nimport NumberFormat from 'react-number-format';\nimport { Transaction } from '../../../services/product.service';\nimport { ListPrices } from './list';\nimport { ToastContainer, toast } from 'react-toastify';\nimport { ManagmentErrors } from '../../../shared/components/managmentErrors';\nimport { FormatMoney } from '../../../utilities/formats';\nimport { LoadingMovilGo } from '../../../shared/components/loadingMovilGo';\nimport { ModalNotificationTransaction } from '../../../shared/components/modalNotificationTransaction';\nimport { jsPdfGenerator } from '../../../shared/components/pdfTransaction';\n\nexport const ModalAbonar = (props) => {\n const { visible, closeModal, dataTicket,navigate } = props\n const [active, setActive] = useState(true);\n const [visibleN, setVisibleN] = useState(false);\n const [loading, setLoading] = useState(false);\n const precio = [dataTicket.deuda, dataTicket.deuda / 2, \"Otro valor\"];\n const [modalNotification, setModalNotification] = useState(false);\n const [price, setPrice] = useState(0);\n\n const callbackPayment = (flag, response) => {\n\n //console.log(\"esto es el rifa response abono abono\",response)\n if (flag) {\n const rifa = JSON.parse(localStorage.getItem('datosRifa'));\n //console.log(\"esto es el rifa de abono abono\",rifa)\n const success = () => toast.success(\"Abono realizado exitosamente\");\n success();\n setModalNotification(true)\n closeModal();\n setLoading(false);\n setVisibleN(false);\n setPrice('');\n\n let data = [\n \"Factura No: \" + response.valida.id,\n \"Fecha:\" + response.valida.fecha,\n \"No.Aprobacion:\" + response.valida.numero_aprobacion,\n \"Producto: Abono \" + rifa.name,\n \"Resolucion: \" + rifa.resolucion,\n \"Fecha del sorteo: \" + rifa.sorteo,\n \"Número de boleta: \" + dataTicket.boleta,\n \"Cliente: \" + dataTicket.nombre,\n \"Valor total: \" + FormatMoney(rifa.precio),\n \"Valor abonado: \" + FormatMoney(parseInt(price)),\n \"Valor por pagar: \" + FormatMoney(rifa.precio - price),\n ]\n\n jsPdfGenerator(data);\n navigate('/Servicios')\n \n } else {\n const message = ManagmentErrors(response.errores.id);\n const error = () => toast.error(message);\n error();\n closeModal();\n setLoading(false);\n setVisibleN(false);\n setPrice('');\n }\n }\n const paytmentTicket = () => {\n if (price <= dataTicket.deuda) {\n setLoading(true);\n const idP = JSON.parse(localStorage.getItem('datosRifa'));\n const product = {\n product_id: idP.id,\n atributes: {\n numeroBoleta: dataTicket.boleta,\n valorPagar: parseInt(price),\n partner_id: dataTicket.partner_id,\n vendedor_externo_id: dataTicket.vendedor_externo_id,\n nombre_cliente: dataTicket.nombre\n }\n }\n Transaction(product, callbackPayment)\n } else {\n const warn = () => toast.warning(\"¡Atención, no puede abonar \" + FormatMoney(price) + \" porque su deuda es de \" + FormatMoney(dataTicket.deuda));\n warn();\n setActive(true);\n setVisibleN(false);\n setPrice('')\n }\n }\n const otherValue = (precio) => {\n if (precio === \"Otro valor\") {\n setVisibleN(true);\n setActive(false);\n } else\n setVisibleN(false);\n setActive(false);\n }\n\n return (\n\n <>\n \n\n \n \n Abonar a la rifa\n \n \n
\n
\n
\n {loading && < LoadingMovilGo />}\n
\n { setPrice(precio); otherValue(precio) }} prices={precio} />\n {visibleN && setPrice(parseInt(event.target.value.replace(\"$\", \"\").replace(\",\", \"\")))}\n />}\n
\n Abonar: {FormatMoney(price)}\n
\n\n
\n \n \n \n \n \n {modalNotification && setModalNotification(false)} type={\"Abono\"} message={\"Abono realizado exitosamente\"} />}\n \n\n\n )\n}","import React, { PureComponent } from 'react';\nimport { Row, Image } from 'react-bootstrap';\nimport ReactShadowScroll from 'react-shadow-scroll';\nimport { SearchBoletas } from './search-boleta';\nimport { ListBallotsUser } from './list';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { ModalAbonar } from './modal-abonar';\n\nclass Abonos extends PureComponent {\n\n constructor(props) {\n super(props);\n this.state = {\n visible: false,\n cedula: '',\n selectedPrice: '',\n boleta: '',\n visibleBoletas: false,\n listaAbonos: [],\n cont: 0,\n prices: [],\n visiblePayTicket: false,\n selectedPayment: {}\n }\n this.listaAbonos = {};\n }\n\n componentDidMount = () => {\n \n this.price();\n }\n\n selectPrice = (price) => {\n if (typeof (price) === 'string' && price.toLowerCase() === 'otro valor') {\n this.setState({ visible: true, selectedPrice: '' });\n }\n else {\n this.setState({ selectedPrice: price, visible: false });\n }\n }\n\n\n setListAbonos = (list) => {\n const noEncontre = () => toast.error(\"¡No se encontraron resultados !\");\n this.listaAbonos = list;\n\n if (this.listaAbonos.abonos.length === 0) {\n noEncontre();\n }\n \n this.setState({ listaAbonos: list, cont: this.listaAbonos.abonos.length });\n }\n\n price = () => {\n const rifa = JSON.parse(localStorage.getItem('datosRifa'));\n \n const prices = [\n rifa.precio,\n rifa.precio / 2,\n \"Otro valor\"\n ];\n this.setState({ prices })\n }\n render() {\n const rifa = JSON.parse(localStorage.getItem('datosRifa'));\n return (\n <>\n \n \n

Abonos

\n
\n \n
\n
\n \n

{rifa.name}

\n
\n
\n \n { this.setState({ listaAbonos: {}, cont: 0 }) }} \n listaAbonos={(list) => this.setListAbonos(list)} />\n \n \n
\n {this.state.cont > 0 && \n
\n this.setState({ selectedPayment: data })} \n setVisible={() => this.setState({ visiblePayTicket: true })} />\n
\n
}\n
\n
\n this.setState({ visiblePayTicket: false, cont: 0 })} \n navigate={(route)=>this.props.history.push(route)}/>\n \n
\n \n )\n }\n\n}\n\nexport default Abonos;","import Odoo from 'odoo-xmlrpc';\nimport { OdooConfig } from '../utilities/odoo-config';\nimport { Desencrypt } from '../utilities/cipher';\n\nexport const searchClient = async (product_id, cedula, callback) => {\n\n const args = [[0, { product_id, cedula }]]\n\n // console.log(\"Cliente: \", args)\n\n const config = await OdooConfig();\n const data = await Desencrypt();\n\n\n const params = {\n model: \"movilgo.webservice\",\n method: \"buscarCliente\",\n }\n\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n\n client.connect((err, response) => {\n if (err) {\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, args, (err, response) => {\n if (err) {\n callback(err, false);\n return false;\n }\n callback(response, true);\n });\n }\n\n })\n}\n\nexport const saveClient = async (usuario, callback) => {\n const args = [[0, usuario]]\n const config = await OdooConfig();\n const data = await Desencrypt();\n const params = {\n model: \"movilgo.webservice\",\n method: \"registrarCliente\",\n }\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n client.connect((err, response) => {\n if (err) {\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, args, (err, response) => {\n if (err) {\n return false;\n }\n callback(response, true);\n });\n }\n })\n}\n\n","import React, { useState } from 'react';\nimport { Button, Modal, Form } from 'react-bootstrap';\nimport { saveClient } from '../../../services/cliente.service';\nimport { LoadingMovilGoRegistro } from '../../../shared/components/loadingMovilGo';\n\nexport const ModalRegistro = (props) => {\n const { visible, closeModal, id_product, setCliente, cedula, setParther } = props;\n //const [cedula, setCedula] = useState('');\n const [nombre, setNombre] = useState('');\n const [apellido, setApellido] = useState('');\n const [direccion, setDireccion] = useState('');\n const [email, setEmail] = useState('');\n const [celular, setCelular] = useState('');\n const [opacity, setOpacity] = useState(1);\n const [loading, setLoading] = useState(false);\n const [emailValid, setEmailValid] = useState(false);\n const [errors, setErrors] = useState( {\n 'name': '',\n 'lastname': '',\n 'email':'',\n 'mobile': '',\n 'direccion': '',\n });\n const saved = (response) => {\n if (response) {\n setCliente(cedula, nombre, response.id);\n setParther(response.id);\n setLoading(false);\n setOpacity(1)\n closeModal(false);\n }\n cleanFields()\n }\n const cleanFields = () => {\n setNombre('');\n setApellido('');\n setDireccion('');\n setEmail('');\n setCelular('');\n }\n const registrarCliente = () => {\n if (!viriryFile()) {\n return\n } \n const client = {\n 'x_name1': nombre.split(' ')[0],\n 'x_name2': nombre.split(' ')[1] ?? '',\n 'x_lastname1': apellido.split(' ')[0],\n 'x_lastname2': apellido.split(' ')[1] ?? '',\n 'mobile': celular,\n 'email': email,\n 'direccion': direccion,\n 'xidentification': cedula,\n product_id: id_product\n }\n setLoading(true);\n setOpacity(0.4)\n saveClient(client, saved);\n }\n const viriryFile = () => {\n const emailValid = email.match(/^([\\w.%+-]+)@([\\w-]+\\.)+([\\w]{2,})$/i);\n const nameValid= nombre.match(/[^a-zA-Z0-9\\s/]/)\n const lastValid=apellido.match(/[^a-zA-Z0-9\\s/]/) \n let flag = true;\n const keys = [\n 'nombre',\n 'apellido',\n 'celular',\n 'direccion',\n 'email',\n ]\n const errors = {};\n keys.forEach(element => {\n if(element==='email'&&!emailValid){\n flag = false;\n setEmailValid(true);\n errors[element] = \"El correo en incorrecto\"\n }else if (element==='nombre'&&nameValid) {\n flag = false;\n errors[element] = \"El nombre no debe llevar tildes ni caracteres especiales\"\n }else if (element==='apellido'&&lastValid) {\n flag = false;\n errors[element] = \"El apellido no debe llevar tildes ni caracteres especiales\"\n }else if (element.trim() === \"\") {\n flag = false;\n errors[element] = \"Este campo es obligatorio\"\n } else {\n errors[element] = \"\"\n }\n });\n setErrors(errors)\n return flag;\n\n\n \n }\n const onBlur = () => {\n const nameValid=this.state.name.match(/[^a-zA-Z0-9\\s/]/)\n const lastValid=this.state.lastname.match(/[^a-zA-Z0-9\\s/]/) \n\n if (email !== '') {\n const validate = correo.test(email);\n if (validate) {\n setEmailValid(false);\n } else {\n setEmailValid(true);\n }\n }else{\n setEmailValid(false); \n }\n }\n\n let correo = /^[^@\\s]+@[^@\\.\\s]+(\\.[^@\\.\\s]+)+$/;\n\n return (\n <>\n \n \n Datos Personales\n \n \n
\n
\n
\n {loading && < LoadingMovilGoRegistro />}\n
\n
\n \n Cédula\n \n Nombre\n setNombre(event.target.value)} type=\"text\" placeholder=\"Nombre\" />\n

{errors.nombre}

\n Apellido\n setApellido(event.target.value)} type=\"text\" placeholder=\"Apellido\" />\n

{errors.apellido}

\n Direccion\n setDireccion(event.target.value)} type=\"text\" placeholder=\"Direccion\" />\n

{errors.direccion}

\n Correo Electronico\n setEmail(event.target.value)} type=\"email\" placeholder=\"Correo Electonico(Opcional)\" />\n

{errors.email}

\n Celular\n setCelular(event.target.value)} type=\"number\" placeholder=\"Celular\" />\n

{errors.celular}

\n
\n
\n
\n
\n
\n \n \n registrarCliente()}\n disabled={!cedula || !nombre || !apellido || !direccion || !celular || (!correo.test(email) ? email : \"\")}\n >\n Crear Cliente\n \n \n \n \n )\n}","import React, { useState } from 'react';\nimport { Button, Modal } from 'react-bootstrap';\nimport { ListNumberTicket } from '../../../shared/components/list-prices';\n\nexport const ModalBoletas = (props) => {\n const { visible, closeModal, numbersTicket,luckyNumber, selectTicket,chooseTicket } = props\n const [active, setActive] = useState(true)\n console.log(\"joojjojo modal boletas\",numbersTicket)\n return (\n <>\n \n \n {luckyNumber ? \"Su numero de la suerte es\":\"Boletas Disponibles\"}\n \n \n setActive(flag)} selectTicket={(number) => selectTicket(number)} numbers={numbersTicket} />\n \n \n \n \n \n \n \n )\n}","import React, { PureComponent } from 'react';\nimport { Row, Col, Card, InputGroup, FormControl, Button, Image } from 'react-bootstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSearch } from '@fortawesome/free-solid-svg-icons';\nimport { ListPrices } from './list';\nimport NumberFormat from 'react-number-format';\nimport { ModalRegistro } from './modal-registro';\nimport { ModalBoletas } from './modal-boletas';\nimport { searchNumber } from '../../../services/rifa.service';\nimport { searchClient } from '../../../services/cliente.service';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { Desencrypt } from '../../../utilities/cipher';\nimport { Transaction } from '../../../services/product.service';\nimport { FormatMoney } from '../../../utilities/formats';\nimport { ManagmentErrors } from '../../../shared/components/managmentErrors';\nimport { LoadingMovilGo } from '../../../shared/components/loadingMovilGo';\nimport { ModalNotificationTransaction } from '../../../shared/components/modalNotificationTransaction';\nimport { jsPdfGenerator } from '../../../shared/components/pdfTransaction';\nimport compra from '../../../assets/comprar/comprar.css';\nimport { Url_Home, Url_pago, idCardoso, idCardosoVendedor, idMobilgoVendedor, idRDominic, idRDominicFinal, idRDominicVendedor } from '../../../utilities/odoo-config';\n\n\nclass Compras extends PureComponent {\n\n constructor(props) {\n super(props);\n this.state = {\n visible: false,\n selectedPrice: '',\n boleta: '',\n visibleRegistro: false,\n visibleBoletas: false,\n creditoRifa: '',\n buyMessage: <>,\n numberTicket: '',\n identification: '',\n userTicket: '',\n message: <>,\n styleTicket: {},\n styleUser: {},\n viewTicket: false,\n viewUserTicket: false,\n partner_id: -1,\n prices: [],\n loading: false,\n opacity: 1,\n modalNotification: false,\n showRifa: <>,\n luckyNumber:false,\n rifa: JSON.parse(localStorage.getItem('datosRifa')),\n idProduct: -1,\n showcomprar: true,\n idpadre:\"\",\n };\n this.numbersTicket = [];\n this.allNumbersTicket = [];\n this.numSuerte = 0;\n }\n componentDidMount = () => {\n const datoSession = Desencrypt();\n if ((datoSession.id == idCardosoVendedor)||(datoSession.id == idMobilgoVendedor)|| (datoSession.id == idRDominicVendedor)){\n this.setState({showcomprar: false})\n } else {\n this.setState({showcomprar: true})\n }\n this.price();\n \n }\n\n calcularAbono = (price, valorRifa) => {\n\n if (price === valorRifa) {\n this.setState({\n buyMessage: (\n
Realizo el pago Completo
\n )\n }\n );\n } else {\n this.setState({\n buyMessage: (\n
Abonó: {FormatMoney(price)}
\n )\n }\n );\n }\n }\n selectTicket = (number) => {\n this.setState({ numberTicket: number })\n }\n selectPrice = (price) => {\n\n const rifa = JSON.parse(localStorage.getItem('datosRifa'));\n this.calcularAbono(price, rifa.precio)\n\n if (typeof (price) === 'string' && price.toLowerCase() === 'otro valor') {\n this.setState({ visible: true, selectedPrice: '' });\n }\n else {\n this.setState({ selectedPrice: price, visible: false });\n }\n }\n showModal = (flag) => {\n this.setState({ visibleRegistro: flag, boleta: '' });\n this.setState({ visibleBoletas: flag });\n }\n chooseTicket = (flag) => {\n this.setState({ visibleBoletas: flag, styleTicket: { borderWidth: 2, borderColor: '#07A2BA' }, viewTicket: true });\n\n }\n foundNumber = (response, flag) => {\n\n \n const encontrada = () => toast.info(\"¡Se encontró la boleta solicitada!\");\n const boletasRelacionadas = () => toast.warning(\"¡No se encontró la boleta solicitada, pero hay algunas con relación!\");\n const boletasNumSuerte = () => toast.info(\"Tu número de la suerte es el \" + this.numSuerte + \", éstas son tus sugerencias\");\n\n if (flag) {\n let esta = false;\n //this.numbersTicket = response\n let newNumber=[]\n this.allNumbersTicket =response.disponibles\n //console.log(\"response de los tikes\",response.disponibles[0].product_id)\n this.setState({idProduct: response.disponibles[0].product_id})\n \n if(this.state.luckyNumber){\n this.numbersTicket.push(response.disponibles[0])\n }else{\n for (let k = 0; k < 6; k = k + 1) {\n newNumber.push(response.disponibles[k])\n }\n this.numbersTicket = newNumber\n\n }\n //console.log(\"this.numbersTicket de los tikes\",this.numbersTicket)\n if(response?.errores){\n alert(\"Se produjo un error al consultar la boleta\")\n return\n\n }else if (response.disponibles.length > 0) {\n if(this.state.luckyNumber){\n this.setState({ visibleBoletas: true, loading: false, opacity: 1 })\n }else{\n for (let index = 0; index < response.disponibles.length; index++) {\n //console.log(\"for \",this.state.numberTicket,response.disponibles[index])\n if (this.state.numberTicket == response.disponibles[index].numero_boleta) {\n esta = true;\n }\n }\n if (esta) {\n encontrada();\n this.setState({ styleTicket: { borderWidth: 2, borderColor: '#07A2BA' }, viewTicket: true, loading: false, opacity: 1 });\n } else {\n //noEncontre();\n //this.setState({ loading: false, opacity: 1 })\n this.setState({ visibleBoletas: true, loading: false, opacity: 1 })\n }\n\n }\n \n/* \n if (response.disponibles.length === 1) {\n encontrada();\n this.setState({ styleTicket: { borderWidth: 2, borderColor: '#07A2BA' }, viewTicket: true, loading: false, opacity: 1 })\n } else {\n const size = response.disponibles[0].length\n const enviSize = this.state.numberTicket.length\n if (size === enviSize) {\n for (let index = 0; index < this.numbersTicket.length; index++) {\n console.log(\"for \",this.state.numberTicket,this.numbersTicket[index])\n if (this.state.numberTicket == this.numbersTicket[index].numero_boleta) {\n esta = true;\n }\n }\n if (esta) {\n encontrada();\n this.setState({ styleTicket: { borderWidth: 2, borderColor: '#07A2BA' }, viewTicket: true, loading: false, opacity: 1 });\n } else {\n noEncontre();\n this.setState({ loading: false, opacity: 1 })\n }\n }\n else {\n if (this.numSuerte > 0) {\n boletasNumSuerte();\n this.setState({ visibleBoletas: true, loading: false, opacity: 1 })\n } else {\n boletasRelacionadas();\n this.setState({ visibleBoletas: true, loading: false, opacity: 1 })\n }\n }\n } */\n } /* else {\n noEncontre();\n this.setState({ loading: false, opacity: 1 })\n } */\n }\n }\n\n searchTicket = () => {\n const errorDigitar = () => toast.error(\"¡No se le olvide digitar un número de boleta!\");\n const rifa = JSON.parse(localStorage.getItem('datosRifa'));\n this.numbersTicket = [];\n if (this.numSuerte !== 0) {\n this.setState({ loading: true, opacity: 0.4 });\n searchNumber(this.numSuerte, rifa.id, this.foundNumber);\n } else if (this.state.numberTicket.trim() !== \"\") {\n this.setState({ loading: true, opacity: 0.4 });\n searchNumber(this.state.numberTicket, rifa.id, this.foundNumber);\n } else {\n errorDigitar();\n }\n }\n numeroDeLaSuerte = (flag) => {\n this.setState({luckyNumber:flag})\n const min = 1;\n const max = 99;\n const numeroAleatorio = Math.floor(Math.random() * (max - min)) + min;\n this.numSuerte = numeroAleatorio;\n this.setState({ numberTicket: '' })\n this.searchTicket();\n }\n\n foundClient = (response, flag) => {\n const encontre = () => toast.info(\"¡Usuario encontrado!\");\n const noEncontre = () => toast.error(\"¡Usuario no encontrado, por favor registrarlo !\");\n if (flag) {\n if (response.name !== false) {\n encontre();\n this.setState({\n loading: false, opacity: 1,\n userTicket: response.name,\n styleUser: {\n borderWidth: 2, borderColor: '#07A2BA'\n }, viewUserTicket: true, partner_id: response.partner_id\n });\n } else {\n noEncontre();\n this.setState({ visibleRegistro: true, loading: false, opacity: .8 })\n }\n }\n }\n\n findClient = () => {\n const errorDigitar = () => toast.error(\"¡No se le olvide digitar un número de cédula!\");\n const rifa = JSON.parse(localStorage.getItem('datosRifa'));\n if (this.state.identification.trim() !== \"\") {\n this.setState({ loading: true, opacity: 0.4 });\n searchClient(rifa.id, this.state.identification, this.foundClient);\n } else {\n errorDigitar();\n }\n }\n handleChange = (event) => {\n this.numSuerte = 0;\n this.setState({ numberTicket: event.target.value.replace(/\\D/, ''), styleTicket: { borderWidth: 1 }, viewTicket: false });\n }\n\n handleChangeUser = (event) => {\n this.setState({ identification: event.target.value.replace(/\\D/, ''), styleUser: { borderWidth: 1 }, userTicket: '' })\n }\n\n navigateNext = (flag, response) => {\n console.log(\"respomse navigate\", flag, response)\n if (flag) {\n const rifa = JSON.parse(localStorage.getItem('datosRifa'));\n //console.log(\"esto es el rifa de la compra de rifa\",rifa)\n let data = []\n data = [\n \"Factura No: \" + response.valida.id,\n \"Fecha:\" + response.valida.fecha,\n \"No.Aprobacion:\" + response.valida.numero_aprobacion,\n \"Producto: \" + rifa.name,\n \"Resolucion: \" + rifa.resolucion,\n \"Fecha del sorteo: \" + rifa.sorteo,\n \"Número de boleta: \" + this.state.numberTicket,\n \"Cliente: \" + this.state.userTicket,\n \"Valor: \" + FormatMoney(this.state.selectedPrice)\n ]\n if (rifa.precio > this.state.selectedPrice) {\n data = [\n \"Factura No: \" + response.valida.id,\n \"Fecha:\" + response.valida.fecha,\n \"No.Aprobacion:\" + response.valida.numero_aprobacion,\n \"Producto: Abono \" + rifa.name,\n \"Resolucion: \" + rifa.resolucion,\n \"Fecha del sorteo: \" + rifa.sorteo,\n \"Número de boleta: \" + this.state.numberTicket,\n \"Cliente: \" + this.state.userTicket,\n \"Valor total: \" + FormatMoney(rifa.precio),\n \"Valor abonado: \" + FormatMoney(parseInt(this.state.selectedPrice)),\n \"Valor por pagar: \" + FormatMoney(rifa.precio - this.state.selectedPrice),\n ]\n }\n\n //console.log(\"esto es abono compra\", data)\n jsPdfGenerator(data);\n this.props.history.push('/Servicios')\n const success = () => toast.success(\"Boleta comprada correctamente\");\n success();\n this.setState({ modalNotification: true, loading: false, opacity: 1, userTicket: '', viewTicket: false, selectedPrice: '', numberTicket: '', styleTicket: { borderWidth: 1 }, styleUser: { borderWidth: 1 }, identification: '' })\n\n } else {\n const errorMessage = ManagmentErrors(response.errores.id)\n console.log(\"mensaje de error\", errorMessage);\n const error = () => toast.error(errorMessage);\n error();\n this.setState({ loading: false, opacity: 1, })\n }\n }\n\n payTicket = () => {\n //const rifa = JSON.parse(localStorage.getItem('datosRifa'));\n const user = Desencrypt();\n try {\n this.setState({ loading: true, opacity: 0.4 })\n let idProduct=''\n for (const element of this.numbersTicket) {\n if(parseInt(this.state.numberTicket)==parseInt(element.numero_boleta)){\n idProduct=element.product_id\n break;\n }\n console.log(\"elemento del pay ticket\",element); // 👉️ bobby\n }\n const product = {\n product_id: idProduct, \n atributes: {\n numeroBoleta: \"\" + this.state.numberTicket,\n valorPagar: parseInt(this.state.selectedPrice),\n partner_id: this.state.partner_id,\n vendedor_externo_id: user.id,\n nombre_cliente: this.state.userTicket\n }\n }\n console.log(\"product de la rifa\",product)\n localStorage.setItem(\"NumBolet\", this.state.numberTicket);\n Transaction(product, this.navigateNext)\n } catch (error) {\n\n }\n }\n\n price = () => {\n const rifa = JSON.parse(localStorage.getItem('datosRifa'));\n const datoSession = Desencrypt();\n let prices = []\n this.setState({idPadre: localStorage.getItem('idPadre')})\n if (rifa.porcentaje_recaudo === 100 || this.idPadre == idCardoso || this.idPadre == idRDominic || datoSession.id == idMobilgoVendedor || datoSession.id == idRDominicVendedor || datoSession.id == idRDominicFinal) {\n prices = [rifa.precio]\n } else {\n prices = [\n rifa.precio * rifa.porcentaje_recaudo / 100,\n rifa.precio / 2,\n rifa.precio,\n \"Otro valor\"\n ];\n }\n\n this.setState({ prices })\n }\n\n\n generatedLink=async()=>{\n\n const session = await Desencrypt();\n console.log(\"id del vendedor\",session.id)\n const urlPago =`${Url_pago}PagosExternos/?${this.state.idProduct}&&${session.id}&&${this.state.numberTicket}&&${this.state.selectedPrice}&&${this.state.partner_id}&&${this.state.userTicket.trim()}&&${this.state.rifa.name.trim()}&&${this.state.rifa.resolucion}&&${this.state.rifa.sorteo}&&${this.state.rifa.precio}`\n console.log(\"jejeje envio\",urlPago.replace(/\\s+/g, ''))\n\n if (('share' in navigator) && (session.id != idCardosoVendedor)&&(session.id != idMobilgoVendedor)&&(session.id != idRDominicVendedor)) {\n \n navigator.share({\n title: 'Compartir link',\n text: 'Link de pago Rifa MovilGo: '+this.state.rifa.name,\n url: urlPago.replace(/\\s+/g, ''),\n })\n .then(()=>{\n alert('Se compartio el link')\n window.location.href = Url_Home\n })\n .catch(()=>{\n alert('no se pudo compartir')\n })\n \n } else {\n window.open(urlPago.replace(/\\s+/g, ''), '_blank')\n window.location.href = Url_Home\n }\n \n }\n\n render() {\n const rifa = JSON.parse(localStorage.getItem('datosRifa'));\n\n return (\n <>\n {this.state.showRifa}\n

Compras

\n
\n \n \n \n\n \n \n \n \n \n \n \n \n \n
\n \n\n { this.handleChange(event) }}\n />\n \n this.searchTicket()}>\n \n \n \n \n
\n \n\n\n { this.handleChangeUser(event) }}\n />\n \n this.findClient()}>\n \n \n \n\n \n
\n

\n {rifa.name}
\n {rifa.sorteo}
\n {rifa.precio}
\n Boleta: {this.state.viewTicket && this.state.numberTicket}
\n Cliente:{this.state.userTicket}\n

\n\n
\n
\n \n
\n
\n
\n \n\n
\n this.selectPrice(i)} prices={this.state.prices} />
\n {this.state.visible &&\n\n {\n this.setState({ selectedPrice: parseInt(event.target.value.replace(\"$\", \"\").replace(\",\", \"\").replace(\",\", \"\")) })\n this.calcularAbono(event.target.value, rifa.precio)\n }}\n />\n }\n
\n\n
\n \n
\n\n {this.state.buyMessage}\n
\n
\n \n {this.state.userTicket && this.state.viewTicket && this.state.selectedPrice && this.state.showcomprar &&\n }\n {this.state.userTicket && this.state.viewTicket && this.state.selectedPrice&&\n this.generatedLink()} variant={'info'} style={{ marginLeft: '10px' }}> {this.idPadre == idRDominic ? \"Generar pago en línea\" : \"Generar pago\"} }\n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n
\n\n
\n { this.setState({ userTicket: cedula + \" - \" + nombre, styleUser: { borderWidth: 2, borderColor: '#07A2BA' } }) }} id_product={rifa.id} visible={this.state.visibleRegistro} setParther={(id) => this.setState({ partner_id: id })} closeModal={(flag) => { this.showModal(flag); this.setState({ opacity: 1 }) }} />\n {this.numbersTicket.length>0&& this.selectTicket(number)} luckyNumber={this.state.luckyNumber} chooseTicket={(flag) => this.chooseTicket(flag)} numbersTicket={this.numbersTicket} visible={this.state.visibleBoletas} closeModal={(flag) => this.showModal(flag)} />}\n {this.state.loading && }\n {this.state.modalNotification && this.setState({ modalNotification: flag })} type={\"Rifa\"} message={\"Rifa comprada exitosamente\"} />}\n \n )\n }\n\n}\n\nexport default Compras;","import React from 'react';\nimport { FormatMoney } from '../../../utilities/formats';\n\nexport const Summary = (props) => {\n const { phone, operator, price, idClient } = props\n\n return (\n
\n

Operador:

\n

{operator}

\n

Cédula:

\n

{idClient}

\n

Celular:

\n

{phone}

\n

Valor de recarga:

\n

{FormatMoney(price)}

\n
\n );\n}\n","import React, { PureComponent } from 'react';\nimport { ListOperator } from '../../shared/components/list-operator';\nimport { Summary } from './components/summary';\nimport { ListPrices } from '../../shared/components/list-prices';\nimport { Container, Row, Col, Form, Card, Button, Image } from 'react-bootstrap';\nimport NumberFormat from 'react-number-format';\nimport { Transaction } from '../../services/product.service';\nimport { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\nimport { ModalNotificationTransaction } from '../../shared/components/modalNotificationTransaction';\nimport { ToastContainer, toast } from 'react-toastify';\nimport { ManagmentErrors } from '../../shared/components/managmentErrors';\nimport { jsPdfGenerator } from '../../shared/components/pdfTransaction';\nimport { FormatMoney } from '../../utilities/formats';\n\nclass RecargasDeportivas extends PureComponent {\n\n constructor(props) {\n super(props);\n this.recargasDeportivas = this.props.recargasDeportivas;\n this.state = {\n visible: false,\n loading: true,\n selectedOperator: { id: -1, image_medium: null, name: '' },\n recargasDeportivas: [],\n selectedPrice: '',\n phone: '',\n idClient: '',\n modalNotification: false, opacity: 1\n }\n this.listRecargasDeportivas = [];\n this.response = [];\n this.phone = '';\n this.valor = '';\n this.operador = '';\n this.clean = ''\n }\n\n //*\n getResponse = (flag, response) => {\n //similar al navigateNext\n // console.log(\"flag y response: \",flag, response)\n if (flag) {\n this.response = response;\n const success = () => toast.success(\"Recarga realizada exitosamente\");\n success();\n this.setState({\n modalNotification: true, opacity: 1, idClient: '',\n selectOperator: { id: -1, image_medium: null, name: '' },\n phone: '',\n selectPrice: ''\n });\n } else {\n const message = ManagmentErrors(response.errores.id);\n const error = () => toast.error(message);\n error();\n this.setState({ opacity: 1 })\n }\n }\n\n componentDidMount = () => {\n if (this.recargasDeportivas) {\n this.setState({ loading: false, })\n }else{\n this.setState({ loading: false })\n const error = () => toast.error(\"No tienes este producto disponible\");\n error();\n }\n }\n\n //*\n // Check the real id of the require values \n sendData = async () => {\n this.phone = this.state.phone;\n this.valor = this.state.selectedPrice;\n this.operador = this.state.selectedOperator.name\n //SIMILAR al sendToOdoo\n const product = {\n product_id: this.state.selectedOperator.id,\n atributes: {\n numero: this.state.phone,\n precio: this.state.selectedPrice,\n document: this.state.idClient\n }\n }\n this.setState({ opacity: 0.4 })\n await Transaction(product, this.getResponse);\n }\n\n selectOperator = (operator) => {\n this.cleanFields();\n this.setState({ selectedOperator: operator });\n }\n\n //*\n //SIMILAR AL pressPrice del movil\n selectPrice = (price) => {\n if (typeof (price) === 'string' && price.toLowerCase() === 'otro valor') {\n this.setState({ visible: true, selectedPrice: '' });\n }\n else {\n this.setState({ selectedPrice: price, visible: false });\n }\n }\n\n closeModal = (flag) => {\n this.setState({ modalNotification: flag });\n\n const data = [\n \"Factura No: \" + this.response.valida.id,\n \"Fecha:\" + this.response.valida.fecha,\n \"No.Aprobacion:\" + this.response.valida.numero_aprobacion,\n \"Producto: \" + this.operador,\n \"Celular: \" + this.phone,\n \"Valor: \" + FormatMoney(this.valor)\n ]\n jsPdfGenerator(data);\n }\n\n cleanFields = () => {\n this.setState({\n clean: false,\n selectedPrice: ''\n })\n }\n\n render() {\n return (\n <>\n \n \n
\n

Apuestas Deportivas

\n \n \n this.selectOperator(i)}\n operators={this.recargasDeportivas} />\n \n \n \n \n \n
\n {this.state.selectedOperator.image_medium &&\n }\n
\n \n \n \n

Número de Celular

\n this.setState({ phone: event.target.value.replace(/\\D/, '') })}\n />\n
\n \n

Número de Cédula

\n this.setState({ idClient: event.target.value.replace(/\\D/, '') })}\n />\n
\n\n
\n this.setState({ clean: flag })} limpiar={this.state.clean} onClick={(i) => this.selectPrice(i)} prices={Prices} />
\n {this.state.visible &&\n\n this.setState({ selectedPrice: parseInt(event.target.value.replace(\"$\", \"\").replace(\",\", \"\").replace(\",\", \"\")) })}\n />\n }\n
\n\n \n\n \n\n

Resumen de Compra

\n \n \n \n \n
\n
\n
\n\n {!this.state.loading && \n \n Finalizar\n \n }\n
\n\n
\n {this.state.modalNotification && this.closeModal(flag)} type={\"Pin\"} message={\"Recarga de \" + this.state.selectedOperator.name + \" realizada exitosamente\"} />}\n {this.state.loading && }\n \n )\n }\n}\n\n\n\nconst Prices = [\n 1000,\n 2000,\n 3000,\n 5000,\n 10000,\n 20000,\n 'Otro valor'\n]\n\nexport default RecargasDeportivas;","import Odoo from 'odoo-xmlrpc';\nimport { OdooConfig } from '../utilities/odoo-config';\nimport { Desencrypt } from '../utilities/cipher';\n\nexport const paySeller = async (data, call) => {\n\n //console.log(\"DATA SERVICE PAYSELLER: \", data)\n const config = await OdooConfig();\n const user = Desencrypt();\n //console.log(\"user\",user) \n let finish = false;\n const args = [[0, data]];\n\n const params = {\n model: \"movilgo.webservice\",\n /* method: \"transferenciaCaja\", */\n method: \"subirPagoFactura\",\n }\n\n setTimeout(() => {\n if (finish) {\n return;\n }\n alert(\"Tiempo limite excedidoo\");\n call(false, \"\");\n return;\n }, 100000);\n\n const odoo = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: user.user,\n password: user.password\n });\n //console.log(\"odoo\",odoo)\n\n odoo.connect((errLogin, responseLogin) => {\n //console.log(\"----->CONEXIÓN ODOO PAY\")\n //console.log(\"----errLogin\", errLogin)\n //console.log(\"----responseLogin \", responseLogin)\n\n if (errLogin) {\n return;\n }\n\n odoo.execute_kw(params.model, params.method, args, (err, response) => {\n //console.log(\"----->RESPUESTAS ODOO\")\n //console.log(\"----res\", err)\n //console.log(\"----response\", response)\n finish = true;\n if (err) {\n /* call(err,false); */\n call(false, err);\n return false;\n }\n if (response) {\n //console.log(\"----response.errores\", response.errores)\n if (response.errores && response.errores.id) {\n call(false, response);\n return false;\n }\n call(true, response);\n return true;\n }\n return false;\n });\n })\n\n /* export const searchDebts = async (callback) => {\n const args = [\n 0\n ]\n const session = await AsyncStorage.getItem(\"session\");\n const client = new Odoo(JSON.parse(session));\n const params = {\n model: \"movilgo.webservice\",\n method: \"listarDeudaRuta\",\n args: args,\n kwargs: {}\n }\n client.rpc_call('/web/dataset/call_kw', params, (err, response) => {\n if (err) {\n callback(err,false);\n \n return false;\n }\n callback(response,true);\n });\n }\n */\n /* export const payDebt = async (amount, partner_id, call) => {\n const session = await AsyncStorage.getItem(\"session\");\n const client = new Odoo(JSON.parse(session));\n const args = [\n 0, { amount, partner_id }\n ]\n const params = {\n model: \"movilgo.webservice\",\n method: \"pagarDeuda\",\n args: args,\n kwargs: {}\n }\n client.rpc_call('/web/dataset/call_kw', params, (err, response) => {\n if (err) {\n \n call(false, response);\n return false;\n }\n \n if (response) {\n if (response.errores && response.errores.id) {\n const err = {\n table: \"Errors\",\n product: {\n id: response.errores.id\n }\n }\n getElementByIdDataBase(err).then(results => {\n if (results) {\n Alert.alert(Error, results.comment);\n } else {\n Alert.alert(Error, \"Movilgo no ha parametrizado el error, Comunicate con nosotros\");\n }\n \n }).catch(error => console.log(error));\n call(false, response);\n return false;\n }\n ToastAndroid.showWithGravity(\n \"Transacción realizada.\",\n ToastAndroid.SHORT,\n ToastAndroid.CENTER\n );\n call(true, response,amount);\n return true;\n }\n return false;\n });\n } */\n /* client.rpc_call('/web/dataset/call_kw', params, (err, response) => {\n if (err) {\n \n call(false, err);\n return false;\n }\n \n if (response) {\n if (response.errores && response.errores.id) {\n const err = {\n table: \"Errors\",\n product:{\n id: response.errores.id\n }\n }\n getElementByIdDataBase(err).then( results =>{\n if(results){ \n Alert.alert(Error, results.comment);\n }else{\n Alert.alert(Error, \"Movilgo no ha parametrizado el error, Comunicate con nosotros\");\n }\n \n }).catch(error => console.log(error));\n call(false, response);\n return false;\n }\n \n // ToastAndroid.showWithGravity(\n // \"Transacción realizada.\",\n // ToastAndroid.SHORT,\n // ToastAndroid.CENTER\n // );\n call(true, response);\n return true;\n }\n return false;\n }); */\n}\n\nexport const payCollector = async (data, call) => {\n console.log(\"DATA SERVICE payCollector: \", data)\n\n const config = await OdooConfig();\n const user = Desencrypt();\n let finish = false;\n const args = [[0, data]];\n\n const params = {\n model: \"movilgo.webservice\",\n method: \"transferenciaCaja\",\n /* method: \"subirPagoFactura\", */\n }\n\n setTimeout(() => {\n if (finish) {\n return;\n }\n alert(\"Tiempo limite excedidoo\");\n call(false, \"\");\n return;\n }, 100000);\n\n const odoo = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: user.user,\n password: user.password\n });\n\n odoo.connect((errLogin, responseLogin) => {\n\n if (errLogin) {\n return;\n }\n odoo.execute_kw(params.model, params.method, args, (err, response) => {\n\n finish = true;\n if (err) {\n /* call(err,false); */\n call(false, err);\n return false;\n }\n if (response) {\n if (response.errores && response.errores.id) {\n call(false, response);\n return false;\n }\n call(true, response);\n return true;\n }\n return false;\n });\n })\n}","import React, { useState, useEffect } from 'react';\nimport { Form, Row, Col, Button, Modal, Card } from 'react-bootstrap';\nimport { FormatMoney } from '../../../utilities/formats';\nimport { ListPrices } from '../../../shared/components/list-prices';\nimport NumberFormat from 'react-number-format';\nimport { Transaction } from '../../../services/product.service'\nimport { ManagmentErrors } from '../../../shared/components/managmentErrors';\nimport { useToasts } from 'react-toast-notifications'\nimport { toast } from 'react-toastify';\nimport { paySeller } from '../../../services/collector.service';\nimport { payCollector } from '../../../services/collector.service';\n\n//import { OdooConfig } from '../../../utilities/odoo-config';\nimport { Desencrypt } from '../../../utilities/cipher';\n//import Odoo from 'odoo-xmlrpc';\n\nexport const DetailBox = (props) => {\n\n //mensajes tipo alert\n const { addToast } = useToasts();\n // apertura y cierre de modales\n const [show, setShow] = useState(false);\n const [showPago, setModalPayment] = useState(false);\n //hooks asosciados a cargar comprobante de pago\n const [pay, setPay] = useState();\n const [descriptionPay, setDescriptionPay] = useState(\"\")\n const [imgPrevious, setImgPrevious] = useState(\"\");\n //const [tipo, setTipo] = useState(\"documento_pago_cliente\");\n //hooks asociados a cargar bolas\n const [selectedPrice, setSelectedPrice] = useState('');\n const [visible, setVisible] = useState(false);\n const [activeCargar, setActiveCargar] = useState(true);\n const [loading, setLoading] = useState(false);\n // Asociado al tipo de login o usuario\n const [userlog, setUserlog] = useState('');\n\n const modalPayment = () => setModalPayment(true);\n const handleShow = () => setShow(true);\n const handleClose = () => {\n setShow(false);\n setActiveCargar(true);\n setModalPayment(false);\n setPay(0); setDescriptionPay(\"\"); setImgPrevious(null)\n };\n\n const { detailBox } = props\n\n useEffect(() => {\n checkPermission();\n }, [])\n\n const checkPermission = async () => {\n //const config = await OdooConfig();\n const data = await Desencrypt();\n if (data) {\n // console.log(\"DetailBox - DATA\", data)\n setUserlog(localStorage.getItem('Permission'))\n }\n }\n\n const selectPrice = (price) => {\n if (typeof (price) === 'string' && price.toLowerCase() === 'otro valor') {\n setVisible(true); setSelectedPrice(''); setActiveCargar(false);\n }\n else {\n setSelectedPrice(price); setVisible(false); setActiveCargar(false);\n }\n }\n\n const navigateNext = (flag, response) => {\n //console.log(\"flag, response\", flag, response)\n if (flag) {\n addToast(\"Carga bolsa exitosa\", {\n appearance: 'success', autoDismiss: true,\n });\n setShow(false);\n } else {\n const message = ManagmentErrors(response.errores.id);\n addToast(message, {\n appearance: 'error', autoDismiss: true,\n });\n setShow(false);\n }\n }\n\n const carryBag = async () => {\n try {\n let idProduct = -1\n let id = localStorage.getItem(\"CargaBolsa\");\n idProduct = parseInt(id)\n const product = {\n product_id: idProduct,\n atributes: {\n precio: parseInt(selectedPrice),\n }\n }\n await Transaction(product, navigateNext);\n } catch (error) {\n //console.log(\"error sendToOdoo\", error);\n alert(\"Error\" + \"Error inesperado.\");\n }\n }\n\n function DragArea() {\n //const[imgPrevious, setImgPrevious] = useState(null);\n const changeImg = (e) => {\n\n const reader = new FileReader();\n reader.readAsDataURL(e.target.files[0])\n reader.onload = (e) => {\n //console.log(\"e de la imagen\", e.target.result)\n e.preventDefault();\n setImgPrevious(e.target.result);\n }\n }\n\n return (\n
\n {/*
*/}\n
\n { changeImg(e); }}\n >\n \n
\n
\n \"\"\n
\n
\n )\n }\n\n const sendPhoto = (pay) => {\n //console.log(\" Entra paso 1\", pay)\n /* console.log(\" READER SENDPHOTO\", imgPrevious) */\n\n if (pay > 999 /* && imgPrevious != '' */) {\n /* console.log(\"entra al if\") */\n sendToOdoo(pay);\n } else {\n alert(\"Error, El valor debe ser mayor a $1000\");\n }\n /* if (reader) { //this.setState({ \"loading\": true }); //getPrintConfig(this.navigateToPrintConfig);*/\n }\n\n\n const sendToOdoo = async (pay) => {\n /* console.log(\"Entra paso 2 PAY\", pay)\n console.log(\"usuario: \", userlog) */\n\n if (userlog == \"vendedor\") {\n //console.log(\"usuario: \", userlog)\n let json = imgPrevious \n json = json.replace('data:image/jpeg;base64,', '')\n json = json.replace('data:image/jpg;base64,', '')\n json = json.replace('data:image/png;base64,', '')\n json = json.replace('', '')\n let consignacion = json;\n\n try {\n //console.log(\"Entra paso 2 TRY\", pay)\n if (imgPrevious != '') {\n setLoading(true);\n const data = {\n \"amount\": pay,\n consignacion,\n \"descripcion\": descriptionPay,\n \"tipo\": \"documento_pago_cliente\" //tipo,//\n };\n //console.log(\" DATA - sendToOdoo\", data)\n await paySeller(data, navigateNextPhoto);\n } else {\n alert(\"Error, Aún no ha adjuntado su comprobante\")\n }\n } catch (error) {\n //console.log(\"Entra paso 2 CATCH\", pay)\n alert(\"Error\", \"Error inesperado.\");\n setLoading(false);\n setDescriptionPay('');\n setPay(''); setImgPrevious(null);\n }\n } else {\n // console.log(\"usuario: COBRADOR \", userlog)\n // console.log(\"imagen \", imgPrevious)\n let json = imgPrevious\n json = json.replace('data:image/jpeg;base64,', '')\n json = json.replace('', '')\n let consignacion = json;\n try {\n if (imgPrevious != '') {\n setLoading(true);\n const data = {\n \"amount\": pay,\n consignacion,\n /* \"consignacion\": imgPrevious, */\n \"descripcion\": descriptionPay,\n };\n // console.log(\" DATA - sendToOdoo\", data)\n await payCollector(data, navigateNextPhoto);\n } else {\n alert(\"Error, Aún no ha adjuntado su comprobante\")\n }\n } catch (error) {\n alert(\"Error, Error inesperado.\");\n /* this.setState({ \"loading\": false }); */\n }\n }\n }\n\n const navigateNextPhoto = (flag, response) => {\n //console.log(\" paso 3 - navigateNextPhoto\", flag, response)\n if (flag) {\n setLoading(false);\n\n toast.success(\"Factura cargada correctamente\");\n setModalPayment(false);\n setDescriptionPay('');\n setPay('');\n setImgPrevious(null);\n } else {\n /* alert(\"¡Error!\" + response.data.message) */\n setLoading(false);\n }\n }\n\n\n return (\n <>\n < style> {`\n .titleCol {\n font-weight:bold;\n } \n `}\n \n
\n \n

Nombre caja:

\n
{detailBox.nombre_caja}
\n \n

Estado:

\n
{detailBox.estado}
\n \n

Fecha:

\n
{detailBox.fecha}
\n \n {userlog !== \"cobrador\" &&\n \n \n }\n\n
\n \n

Balance inicial:

\n
{FormatMoney(detailBox.balanceInicial)}
\n \n

Balance final:

\n
{FormatMoney(detailBox.balanceFinal)}
\n \n

Total a cobrar:

\n
{FormatMoney(detailBox.debito)}
\n \n

Total ganancia:

\n
{FormatMoney(detailBox.ganancia)}
\n \n

Total a pagar:

\n
{FormatMoney(detailBox.credito)}
\n {userlog !== \"administrador\" &&\n \n }\n \n
\n
\n\n {/* MODAL PARA CARGAR BOLSA */}\n \n \n Carga bolsa\n \n \n
\n { }} onClick={(i) => selectPrice(i)} prices={Prices} />
\n {visible &&\n { setSelectedPrice(parseInt(event.target.value.replace(\"$\", \"\").replace(\",\", \"\").replace(\",\", \"\"))); setActiveCargar(false) }}\n />\n }\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n\n {/* MODAL CARGAR CONSTANCIA DE PAGO */}\n \n \n Cargar recibo de pago\n \n \n \n \n
\n
Valor a pagar
\n setPay(parseInt(event.target.value.replace(\"$\", \"\").replace(\",\", \"\")))}\n />\n
\n
\n
Descripción
\n \n setDescriptionPay((event.target.value))}\n />\n \n
\n
\n
Adjunta imagen por favor
\n \n {/* Espacio en el cual se cargará la imagen */}\n \n
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n )\n}\n\nconst Prices = [10000, 20000, 30000, 50000, 'Otro valor']\n\n\n // const [upLoad, setUpLoad] = useState(false);\n // const [selectFactura, setSelectFactura] = useState('');\n // const handleVewUpLoad = () => setUpLoad(true);\n // const handleCloseUpLoad = () => setUpLoad(false);\n\n\n\n","import Odoo from 'odoo-xmlrpc';\n\nimport { OdooConfig } from '../utilities/odoo-config';\nimport { Desencrypt } from '../utilities/cipher';\n\nexport const getBox = async (type, page, fecha, callback) => {\n\n const config = await OdooConfig();\n let finish = false;\n\n const args = [[0, { pagina: page, fecha, tipo: type }]]\n\n /* const args = [[ 0, { tipo: type, pagina: page, fecha} ]] */\n // console.log(\"CONTENIDO args GETBOX\", args) \n\n const data = await Desencrypt()\n const params = {\n model: \"movilgo.webservice\",\n method: \"obtenerDatosCaja\",\n args: args,\n kwargs: {}\n }\n\n setTimeout(() => {\n if (finish) {\n return;\n }\n alert(\"Tiempo limite excedidoo\");\n callback(false, \"\");\n return;\n }, 30000);\n\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n\n\n client.connect((err, response) => {\n //console.log(\"--->connect\", err, response)\n if (err) {\n return callback(err, false)\n } else {\n client.execute_kw(params.model, params.method, params.args, (err, response) => {\n //console.log(\"contenido del response del getbox\", response)\n // console.log(\"contenido del err del getbox\", err)\n finish = true\n if (err) {\n //console.log(\"--->Error\", err)\n callback(err, false);\n return false;\n }\n //console.log(\"este es el repsonde del excel\",response)\n /* callback(true, response ); */\n //console.log(\"salta al esntro desde caja.service\")\n callback(response, true);\n\n });\n }\n\n })\n\n}\n\nexport const getReport = async (fecha, callback) => {\n const config = await OdooConfig();\n let finish = false;\n const args = [[\n 0, fecha\n ]]\n\n const data = await Desencrypt();\n const params = {\n model: \"movilgo.webservice\",\n method: \"obtenerResumenCaja\",\n\n }\n setTimeout(() => {\n if (finish) {\n return;\n }\n alert(\"Tiempo limite excedidoo\");\n callback(false, \"\");\n return;\n }, 30000);\n\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n //console.log(\"args de reporte ventas\",args)\n\n client.connect((err, response) => {\n if (err) {\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, args, async (err, response) => {\n finish = true\n if (err) {\n callback(err, false);\n return false;\n }\n callback(response, true);\n });\n }\n })\n\n}\n\n\n","import React, { useEffect, useState } from 'react';\nimport { jsPdfGenerator } from '../../../shared/components/pdfTransaction';\nimport { FormatMoney } from '../../../utilities/formats';\n\nexport const ItemMoves = (props) => {\n const { itemMoves, products, parteTabla } = props;\n const [isSmallScreen, setIsSmallScreen] = useState(false);\n let aprobation = '--';\n //console.log(\"esto es lo de movimientos\",itemMoves)\n const printBill = () => {\n let data = [];\n if (itemMoves.categ_id_name === \"Rifas\") {\n let fechaSorteo = '';\n let resolucion = ''\n products.rifas.forEach(element => {\n\n if (element.id === itemMoves.producto_id){\n fechaSorteo = element.fecha_sorteo\n resolucion = element.numero_resolucion_rifa;\n }\n });\n\n data = [\n \"Factura No: \" + itemMoves.id + \" COPIA\",\n \"Fecha:\" + itemMoves.fecha,\n \"No.Aprobacion:\" + itemMoves.rifa_aprobacion,\n \"Producto: \" + itemMoves.descripcion, \n \"Resolucion: \" + resolucion,\n \"Fecha del sorteo: \" + fechaSorteo, \n \"Número de boleta: \" + itemMoves.rifa_numero_boleta,\n \"Cliente: \" + itemMoves.nombre_cliente,\n \"Valor: \" + FormatMoney(itemMoves.valor)\n ]\n } else if (itemMoves.categ_id_name === \"Recargas\" || itemMoves.categ_id_name === \"Voz\" || itemMoves.categ_id_name === \"Voz y Datos\"\n || itemMoves.categ_id_name === \"Aplicaciones\" || itemMoves.categ_id_name === \"Datos\"\n || itemMoves.categ_id_name === \"Todo incluido\") {\n\n data = [\n \"Factura No: \" + itemMoves.id + \" COPIA\",\n \"Fecha:\" + itemMoves.fecha,\n \"No.Aprobacion:\" + itemMoves.recarga_aprobacion,\n \"Producto: \" + itemMoves.descripcion,\n \"Celular: \" + itemMoves.recarga_numero_celular,\n \"Valor: \" + FormatMoney(itemMoves.valor)\n ]\n } else if (itemMoves.categ_id_name === \"Netflix\" ||\n itemMoves.categ_id_name === \"Xbox\" ||\n itemMoves.categ_id_name === \"Imvu\" ||\n itemMoves.categ_id_name === \"Playstation\" ||\n itemMoves.categ_id_name === \"Rixty\" ||\n itemMoves.categ_id_name === \"Spotify\" || itemMoves.categ_id_name === \"Minecraft\") {\n data = [\n \"Factura No: \" + itemMoves.id + \" COPIA\",\n \"Fecha:\" + itemMoves.fecha,\n \"No.Aprobacion:\" + itemMoves.recarga_aprobacion,\n \"Producto: \" + itemMoves.categ_id_name,\n \"Celular: \" + itemMoves.recarga_numero_celular,\n \"Valor: \" + FormatMoney(itemMoves.valor)\n ]\n\n } else if (itemMoves.categ_id_name === \"Recargas deportivas\") {\n data = [\n \"Factura No: \" + itemMoves.id + \" COPIA\",\n \"Fecha:\" + itemMoves.fecha,\n \"No.Aprobacion:\" + itemMoves.recarga_aprobacion,\n \"Producto: \" + itemMoves.descripcion,\n \"Celular: \" + itemMoves.recarga_numero_celular,\n \"Valor: \" + FormatMoney(itemMoves.valor)\n ]\n }else if(itemMoves.categ_id_name ===\"Bingo\"){\n \n data = [\n \"Factura No: \" + itemMoves.id + \" COPIA\",\n \"Fecha:\" + itemMoves.fecha,\n \"No.Aprobacion:\" + itemMoves.bingo_aprobacion,\n \"Producto: GANA BINGO \",\n \"Cedula: \"+ itemMoves.bingo_cedula,\n \"Cliente: \"+itemMoves.bingo_cliente_nombre + \" \" +itemMoves.bingo_apellido_cliente,\n \"Celular: \" + itemMoves.bingo_numero_celular,\n \"Valor: \" + FormatMoney(itemMoves.valor)\n ]\n }else if(itemMoves.categ_id_name===\"Soat\"){\n let str = JSON.stringify(itemMoves.soat_datos).replace(/\\\\/g, '');\n str = str.replace('\"\"\"\"', '\"\"');\n str = str.replace('\"{', '{');\n str = str.replace('}\"', '}');\n str = str.replace('\"\"\"\"', '\"\"');\n str = str.replace('\"{', '{');\n str = str.replace('}\"', '}');\n const jsondataSoat = JSON.parse(str);\n data = [\n 'Factura No: ' + itemMoves.id + ' COPIA',\n 'Fecha:' + itemMoves.fecha,\n \"No. Aprobación: \"+ itemMoves.recarga_aprobacion,\n 'Producto: ' + itemMoves.categ_id_name,\n 'Celular:' + jsondataSoat.Contact.Phone,\n 'Cedula:'+jsondataSoat.Contact.DocumentNumber,\n 'Cliente: ' + jsondataSoat.Contact.FirstName+\" \"+jsondataSoat.Contact.FirstName1+\" \"+jsondataSoat.Contact.LastName+\" \"+jsondataSoat.Contact.LastName1,\n 'Placa: ' + itemMoves.soat_placa,\n 'Valor: ' + FormatMoney(itemMoves.valor.toFixed(2)),\n ];\n } \n \n /* else if(itemMoves.categ_id_name===\"Certificados\"){\n let str = JSON.stringify(itemMoves.cer).replace(/\\\\/g, '');\n str = str.replace('\"\"\"\"', '\"\"');\n str = str.replace('\"{', '{');\n str = str.replace('}\"', '}');\n str = str.replace('\"\"\"\"', '\"\"');\n str = str.replace('\"{', '{');\n str = str.replace('}\"', '}');\n const jsondataSoat = JSON.parse(str);\n data = [\n // 'Factura No: ' + itemMoves.id + ' COPIA',\n // 'Fecha:' + itemMoves.fecha,\n // \"No. Aprobación: \"+ itemMoves.recarga_aprobacion,\n // 'Producto: ' + itemMoves.categ_id_name,\n // 'Celular:' + jsondataSoat.Contact.Phone,\n // 'Cedula:'+jsondataSoat.Contact.DocumentNumber,\n // 'Cliente: ' + jsondataSoat.Contact.FirstName+\" \"+jsondataSoat.Contact.FirstName1+\" \"+jsondataSoat.Contact.LastName+\" \"+jsondataSoat.Contact.LastName1,\n // 'Placa: ' + itemMoves.soat_placa,\n // 'Valor: ' + FormatMoney(itemMoves.valor.toFixed(2)),\n ];\n } */ \n jsPdfGenerator(data) \n }\n \n const tipo = () => {\n let mitabla = ''\n let categflag = false\n\n if (itemMoves.categ_id_name === \"Recargas\") {\n mitabla = 'Recargas'\n categflag = true\n } else if (itemMoves.categ_id_name === \"Todo incluido\" ||\n itemMoves.categ_id_name === \"Voz\" ||\n itemMoves.categ_id_name === \"Datos\" ||\n itemMoves.categ_id_name === \"Voz y Datos\" ||\n itemMoves.categ_id_name === \"Aplicaciones\") {\n mitabla = 'Paquetes'\n categflag = true\n } else if (itemMoves.categ_id_name === \"Rifas\") {\n mitabla = 'Rifas'\n categflag = true\n } else if (itemMoves.categ_id_name === \"TV\") {\n mitabla = 'Tv'\n categflag = true\n } else if (itemMoves.categ_id_name === \"Netflix\" ||\n itemMoves.categ_id_name === \"Xbox\" ||\n itemMoves.categ_id_name === \"Imvu\" ||\n itemMoves.categ_id_name === \"Playstation\" ||\n itemMoves.categ_id_name === \"Rixty\" ||\n itemMoves.categ_id_name === \"Spotify\" ||\n itemMoves.categ_id_name === \"Minecraft\") {\n mitabla = 'Pines'\n categflag = true\n } else if (itemMoves.categ_id_name === \"Recargas deportivas\") {\n mitabla = 'RecargasDeportivas'\n categflag = true\n }else if (itemMoves.categ_id_name === \"Bingo\") {\n mitabla = 'Bingo'\n categflag = true\n }else if (itemMoves.categ_id_name === \"Soat\") {\n mitabla = 'Soat'\n categflag = true\n }\n \n else if (itemMoves.categ_id_name === \"Certificado\") {\n mitabla = 'Certificado'\n categflag = true\n }\n\n return { mitabla: mitabla, categflag: categflag }\n }\n let data = tipo()\n if (itemMoves.rifa_aprobacion) {\n aprobation = itemMoves.rifa_aprobacion;\n } else if (itemMoves.recarga_aprobacion) {\n aprobation = itemMoves.recarga_aprobacion;\n }else if(itemMoves.bingo_aprobacion){\n aprobation = itemMoves.bingo_aprobacion;\n }\n\n let phone ='---';\n if(itemMoves.recarga_numero_celular){\n phone=itemMoves.recarga_numero_celular;\n }else if(itemMoves.bingo_numero_celular){\n phone=itemMoves.bingo_numero_celular;\n }\n \n useEffect(() => {\n const handleResize = () => {\n setIsSmallScreen(window.innerWidth < 768); // Establece el estado según el ancho de la ventana\n };\n \n // Agrega el evento de escucha del cambio de tamaño de la ventana\n window.addEventListener('resize', handleResize);\n \n // Limpia el evento de escucha al desmontar el componente\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n if (isSmallScreen){\n return (\n <>\n {parteTabla ? (\n \n {itemMoves.id}\n {itemMoves.descripcion}\n {FormatMoney(itemMoves.valor.toFixed(2))}\n {itemMoves.tipo}\n \n ) : (\n \n {aprobation}\n {phone}\n {FormatMoney(itemMoves.comision)}\n {itemMoves.fecha.split(\" \")[0]}\n {itemMoves.fecha.split(\" \")[1]}\n {data.categflag && }\n \n )}\n \n );\n\n }else {\n return (\n <>\n \n {itemMoves.id}\n {itemMoves.descripcion}\n {FormatMoney(itemMoves.valor.toFixed(2))}\n {itemMoves.tipo}\n {aprobation}\n {phone}\n {FormatMoney(itemMoves.comision)}\n {itemMoves.fecha.split(\" \")[0]}\n {itemMoves.fecha.split(\" \")[1]}\n \n {data.categflag && }\n \n \n \n )\n }\n\n}\n\nexport const ItemError = (props) => {\n const { itemError } = props\n const {parteTabla} = props\n console.log(\"parteTabla\", parteTabla)\n const [isSmallScreen, setIsSmallScreen] = useState(false);\n\n useEffect(() => {\n const handleResize = () => {\n setIsSmallScreen(window.innerWidth < 768); // Establece el estado según el ancho de la ventana\n };\n \n // Agrega el evento de escucha del cambio de tamaño de la ventana\n window.addEventListener('resize', handleResize);\n \n // Limpia el evento de escucha al desmontar el componente\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n if (isSmallScreen){\n return (\n <>\n {parteTabla ? (\n \n {itemError.id}\n {itemError.nombre_cliente}\n {FormatMoney(itemError.valor.toFixed(2))}\n {itemError.recarga_numero_celular ? itemError.recarga_numero_celular : '---'}\n \n ) : (\n \n {itemError.fecha}\n {itemError.tipo}\n {itemError.observacion}\n \n )}\n \n );\n } else {\n return (\n \n {itemError.id}\n {itemError.nombre_cliente}\n {FormatMoney(itemError.valor.toFixed(2))}\n {itemError.recarga_numero_celular?itemError.recarga_numero_celular:'---'}\n {itemError.fecha}\n {itemError.tipo}\n {itemError.observacion}\n \n )\n \n }\n \n}\n\nexport const ItemSummaryBox = (props) => {\n const { itemSummary } = props\n return (\n \n {itemSummary.product_id}\n {itemSummary.cantidad}\n {FormatMoney(itemSummary.valor.toFixed(2))}\n \n )\n}\n\n\n","import React, { useEffect, useState } from 'react';\nimport { Table } from 'react-bootstrap';\nimport { ItemMoves } from '../../screens/caja/components/item';\nimport ReactHTMLTableToExcel from \"react-html-table-to-excel\";\nimport { getBox } from '../../services/caja.service';\n\nexport const Excel = (props) => {\n const { search, fecha } = props\n const [moves, setMoves] = useState([]);\n //console.log(\"fecha del excel\",fecha)\n const searchMoves = () => {\n getBox(0, 0, fecha, (data, flag) => {\n // console.log(\"data del excel \",data)\n if (flag) {\n setMoves(data.movimientos)\n }\n });\n\n }\n useEffect(() => {\n searchMoves();\n }, [search])\n\n return (\n <>\n
\n\n \n\n {\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {moves.map((obj, i) => (\n \n ))}\n\n \n
IDDescripciónValorTipoAprobaciónCelularComisiónFechaHora
\n }\n
\n \n )\n\n}","import React, { useEffect, useState } from 'react';\nimport { Table, Button, Container, Row, Col } from 'react-bootstrap';\nimport { ItemMoves, ItemError, ItemSummaryBox } from '../../screens/caja/components/item';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChevronLeft, faChevronRight } from '@fortawesome/free-solid-svg-icons';\nimport { Excel } from './Excel';\nimport { getBox } from '../../services/caja.service';\nimport list from '../../assets/list/list.css';\n\n\n\nexport const ListMoves = (props) => {\n const { moves = [], products, rigthPage, leftPage, contPage, date, loading } = props\n const [isSmallScreen, setIsSmallScreen] = useState(false);\n\n const [exportEx, setExportEx] = useState(true)\n const [itemMoves, setItemMoves] = useState(\"\");\n //const [fecha, setFecha] = useState(date);\n\n //console.log(\"fecha del excel\",date)\n const searchMoves = () => {\n loading(true)\n getBox(0, 0, date, (data, flag) => {\n //console.log(\"data del excel \",data.movimientos.length)\n if (flag) {\n\n setItemMoves(data.movimientos.length)\n }\n loading(false)\n });\n // console.log(\"esto es el item \",itemMoves)\n }\n\n useEffect(() => { searchMoves(); }, []);\n\n useEffect(() => {\n if (!exportEx) {\n const interval = setInterval(() => {\n setExportEx(true);\n }, 1000 * parseInt(itemMoves));\n return () => clearInterval(interval);\n }\n }, [exportEx]);\n\n useEffect(() => {\n movesTable();\n excelExport();\n const handleResize = () => {\n setIsSmallScreen(window.innerWidth < 768); // Establece el estado según el ancho de la ventana\n };\n \n // Agrega el evento de escucha del cambio de tamaño de la ventana\n window.addEventListener('resize', handleResize);\n \n // Limpia el evento de escucha al desmontar el componente\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [exportEx])\n\n const excelExport = () => {\n if (!exportEx)\n return (\n \n )\n }\n\n const movesTableSmallScreen = () => {\n //console.log(exportEx)\n if (exportEx) {\n return (\n <>\n \n {moves.map((obj, i) => {\n \n return (\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IDDescripciónValorTipo
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
AprobaciónCelularComisiónFechaHora---
\n \n
\n
\n );\n })}\n
\n\n\n \n )\n }\n }\n\n const movesTable = () => {\n //console.log(exportEx)\n if (exportEx) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {moves.map((obj, i) => (\n \n ))}\n\n \n
IDDescripciónValorTipoAprobaciónCelularComisiónFechaHora-----
)\n }\n }\n\n if (isSmallScreen){\n return (\n <>\n
\n
\n
\n\n
\n
\n

Movimientos

\n
\n
\n\n
\n
\n \n
\n
\n\n \n \n\n
\n
\n\n
\n
\n {/*
\n \n {excelExport()}\n
*/}\n {movesTableSmallScreen()}\n
\n \n )\n\n } else {\n return (\n <>\n
\n
\n
\n\n
\n
\n

Movimientos

\n
\n
\n\n
\n
\n \n
\n
\n\n \n \n\n
\n
\n\n
\n
\n {/*
\n \n {excelExport()}\n
*/}\n {movesTable()}\n
\n \n )\n }\n}\n\n\nexport const ListErrors = (props) => {\n const { errors = [], rigthPage, leftPage, contPage } = props\n console.log(\"obj del error\", errors)\n const [isSmallScreen, setIsSmallScreen] = useState(false);\n const [objetoError, setObjetoError] = useState([]);\n const [objetoKey, setObjetoKey] = useState('');\n console.log(\"pantalla pequeña\", isSmallScreen)\n\n useEffect(() => {\n const handleResize = () => {\n setIsSmallScreen(window.innerWidth < 768); // Establece el estado según el ancho de la ventana\n };\n \n // Agrega el evento de escucha del cambio de tamaño de la ventana\n window.addEventListener('resize', handleResize);\n \n // Limpia el evento de escucha al desmontar el componente\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n \n\n if (isSmallScreen){\n\n return (\n <>\n
\n
\n
\n\n
\n
\n

Errores

\n
\n
\n
\n
\n \n
\n
\n\n \n \n\n
\n
\n
\n
\n\n \n {errors.map((obj, i) => {\n \n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IDNombreValorCelular
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
HoraTipoObservación
\n \n
\n
\n );\n })}\n
\n\n\n\n\n
\n \n )\n }else {\n return (\n <>\n
\n
\n
\n \n
\n
\n

Errores

\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {errors.map((obj, i) => (\n \n ))}\n \n \n
IDNombreValorCelularHoraTipoObservación
\n
\n \n )\n \n }\n }\n \n\nexport const ListSummaryBox = (props) => {\n const { summaryBox = [] } = props\n return (\n <>\n
\n

Resumen caja

\n \n \n \n \n \n \n \n \n \n {summaryBox.map((obj, i) => (\n \n ))}\n\n \n
ProductoCantidadValor
\n
\n \n )\n}\n\n","import React, { useEffect, useState } from 'react';\nimport { Tabs, Tab } from 'react-bootstrap';\nimport { ListMoves, ListErrors, ListSummaryBox } from '../../../shared/components/list';\nimport { getBox, getReport } from '../../../services/caja.service';\n\nexport const TabsBox = (props) => {\n const { loading, products, error } = props\n const [key, setKey] = useState('moves');\n const [pageMoves, setPageMoves] = useState(1);\n const [pageErrors, setPageErrors] = useState(1);\n const [moves, setMoves] = useState([]);\n const [summaryBox, setSummaryBox] = useState([]);\n const [listErrors, setListErrors] = useState([]);\n\n const initializeMoves = (data, flag) => {\n if (flag) {\n loading(false);\n setMoves(data.movimientos);\n /* console.log(\"tabsBosx, CAJA - data:\", data) */\n if (data.movimientos.length === 0) {\n error(\"¡No se encontraron movimientos!\")\n if (pageMoves === 1) {\n setPageMoves(0)\n } else {\n setPageMoves(pageMoves - 1)\n }\n }\n\n } else {\n loading(false);\n alert(data.message);\n }\n }\n\n const viewMoves = () => {\n\n if (pageMoves > 0) {\n loading(true);\n getBox(0, pageMoves,null ,initializeMoves);\n\n }\n\n }\n\n const initializeErrors = (data, flag) => {\n if (flag) {\n loading(false);\n setListErrors(data.movimientosError);\n if (data.movimientosError.length === 0) {\n error(\"¡No se encontraron errores registrados!\")\n if (pageErrors === 1) {\n setPageErrors(0)\n } else {\n setPageErrors(pageErrors - 1)\n }\n }\n } else {\n loading(false);\n alert(data.message);\n }\n }\n\n const viewErrors = () => {\n if (pageErrors > 0) {\n loading(true);\n getBox(1, pageErrors,null ,initializeErrors);\n }\n }\n\n const initializeSummaryBox = (data, flag) => {\n if (flag) {\n loading(false);\n setSummaryBox(data.movimientos)\n } else {\n loading(false);\n }\n }\n\n const viewSummaryBox = () => {\n loading(true);\n getReport(null,initializeSummaryBox)\n }\n\n useEffect(() => {\n if (key === 'moves') {\n viewMoves();\n } else if (key === 'errors') {\n viewErrors();\n } else if (key === 'summaryBox') {\n viewSummaryBox();\n }\n\n }, [key, pageMoves, pageErrors])\n\n \n return (\n <>\n
\n { setKey(k) }}\n >\n \n {moves.length > 0 && \n setPageMoves(pageMoves + 1)} \n leftPage={() => { if (pageMoves > 1) { setPageMoves(pageMoves - 1) } }} \n products={products} \n moves={moves}\n date={null}\n loading={loading}/>}\n \n \n {listErrors.length > 0 && setPageErrors(pageErrors + 1)} \n leftPage={() => { if (pageErrors > 1) { setPageErrors(pageErrors - 1) } }} \n errors={listErrors} />}\n \n \n {summaryBox.length > 0 && }\n \n \n
\n \n )\n}","import React, { PureComponent } from 'react';\nimport { DetailBox } from './components/detailBox';\nimport { getBox } from '../../services/caja.service';\nimport { Row } from 'react-bootstrap';\nimport { TabsBox } from './components/tabsBox';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\n\nclass Caja extends PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n caja: { \"balanceFinal\": 0, \"balanceInicial\": 0, \"credito\": 0, \"debito\": 0, \"ganancia\": 0, \"estado\": \"No disponible\", \"fecha\": \"--\", \"nombre_caja\": \"--\" },\n viewMoves: false,\n movimientos: [],\n key: '',\n cargar: true\n }\n this.products = this.props.products\n this.datesBox = {};\n }\n\n initializeData = (data, flag) => {\n\n const error = () => toast.error(\"¡Falló la conexión con el servidor!\");\n if (flag) {\n // console.log(\"detalles de la CAJA variable data\", data)\n // console.log(\"detalles de la CAJA variable flag\", flag)\n this.setState({ caja: data.caja, cargar: false });\n } else {\n const date = JSON.stringify(data.message);\n const otroDate = JSON.stringify(date.slice(1, 14))\n const comprueba = JSON.stringify(\"XML-RPC fault\");\n\n //console.log(\"detalles de la CAJA variable data\", data)\n /* console.log(\"detalles de la CAJA variable data message\", data.message)\n console.log(\"detalles de la CAJA variable data slice(1, 14)\", data.slice(1, 14))\n console.log(\"detalles de la CAJA variable flag\", flag) */\n\n if (otroDate === comprueba) {\n error();\n }\n }\n }\n initializeMoves = (data, flag) => {\n if (flag) {\n this.setState({ movimientos: data.movimientos, viewMoves: true });\n } else {\n alert(data.message);\n }\n\n }\n componentDidMount = () => {\n getBox(2, 0, null, this.initializeData);\n }\n\n render() {\n\n return (\n
\n {this.state.cargar && }\n \n
Caja
\n \n
\n \n {\n const error = () => toast.error(errorMessage);\n error();\n }}\n products={this.products}\n loading={(flag) => this.setState({ cargar: flag })} />\n \n
\n
\n )\n }\n}\nexport default Caja;","import React, { /* useEffect, useState*/ } from 'react';\nimport { Row, Col/* , Button, Modal */ } from 'react-bootstrap';\n//import { FormatMoney } from '../../../utilities/formats';\n//import { ListPrices } from '../../../shared/components/list-prices';\n//import NumberFormat from 'react-number-format';\n/* import { Transaction } from '../../../services/product.service'\nimport { ManagmentErrors } from '../../../shared/components/managmentErrors';\nimport { useToasts } from 'react-toast-notifications'\nimport { getBox } from '../../../services/caja.service'; */\n//import DateTimePicker from 'react-datetime-picker' ;\n//import RNDateTimePicker from '@react-native-community/datetimepicker'; //modal fecha\n\nexport const DetailBox = (props) => { \n \n const {detailBox} = props\n \n return (\n <>\n < style> {`.titleCol {font-weight:bold;} `} \n
\n \n \n

Nombre caja:

\n
{detailBox.nombre_caja}
\n \n \n

Estado:

\n
{detailBox.estado}
\n \n
\n \n \n

Balance inicial:

\n {/*
{FormatMoney(detailBox.caja.balanceInicial)}
*/}\n
{detailBox.balanceInicial}
\n \n \n

Balance final:

\n {/*
{FormatMoney(detailBox.caja.balanceFinal)}
*/}\n
{detailBox.balanceFinal}
\n \n \n

Total a cobrar:

\n {/*
{FormatMoney(detailBox.caja.debito)}
*/}\n
{detailBox.debito}
\n \n \n

Total ganancia:

\n {/*
{FormatMoney(detailBox.caja.debito)}
*/}\n
{detailBox.ganancia}
\n \n \n

Total a pagar:

\n {/*
{FormatMoney(detailBox.caja.credito)}
*/}\n
{detailBox.credito}
\n \n
\n
\n \n )\n}\n\n//const Prices = [ 10000, 20000, 30000, 50000, 'Otro valor' ]\n\n\n","import React, { useEffect, useState } from 'react';\nimport { Tabs, Tab } from 'react-bootstrap';\nimport { ListMoves, ListErrors, ListSummaryBox } from '../../../shared/components/list';\nimport { getBox, getReport } from '../../../services/caja.service';\n\nexport const TabsBox = (props) => {\n const { loading, products, error, fecha, pageMoves } = props\n const [key, setKey] = useState('moves');\n const [pageMovesInt, setPageMoves] = useState(pageMoves);\n const [pageErrors, setPageErrors] = useState(1);\n const [moves, setMoves] = useState([]);\n const [summaryBox, setSummaryBox] = useState([]);\n const [listErrors, setListErrors] = useState([]);\n\n //console.log(\"esto inicia el tabsbox\",moves)\n const initializeMoves = (data, flag) => {\n if (flag) {\n loading(false);\n setMoves(data.movimientos);\n //console.log(\"tabsBosxlle no \", moves)\n if (data.movimientos.length === 0) {\n error(\"¡No se encontraron movimientos!\")\n if (pageMovesInt === 1) {\n setPageMoves(0)\n } else {\n setPageMoves(pageMovesInt - 1)\n }\n }\n\n } else {\n loading(false);\n alert(data.message);\n }\n }\n\n const viewMoves = () => {\n if (pageMovesInt > 0) {\n loading(true);\n getBox(0, pageMovesInt, fecha, initializeMoves);\n }\n }\n\n const initializeErrors = (data, flag) => {\n //console.log(\"data de los eerores\",data)\n if (flag) {\n loading(false);\n setListErrors(data.movimientosError);\n if (data.movimientosError.length === 0) {\n error(\"¡No se encontraron errores registrados!\")\n if (pageErrors === 1) {\n setPageErrors(0)\n } else {\n setPageErrors(pageErrors - 1)\n }\n }\n } else {\n loading(false);\n alert(data.message);\n }\n }\n\n const viewErrors = () => {\n if (pageErrors > 0) {\n loading(true);\n getBox(1, pageErrors, fecha, initializeErrors);\n }\n }\n\n const initializeSummaryBox = (data, flag) => {\n // console.log(\"data del respponse\",data)\n // console.log(\"flag del respponse\",flag)\n if (flag) {\n loading(false);\n setSummaryBox(data.movimientos)\n } else {\n loading(false);\n }\n }\n\n const viewSummaryBox = () => {\n loading(true);\n getReport(fecha, initializeSummaryBox)\n }\n\n useEffect(() => {\n if (key === 'moves') {\n viewMoves();\n } else if (key === 'errors') {\n viewErrors();\n } else if (key === 'summaryBox') {\n viewSummaryBox();\n }\n }, [key, pageMovesInt, pageErrors])\n\n return (\n <>\n
\n { setKey(k) }}\n >\n \n {moves.length > 0 &&\n setPageMoves(pageMovesInt + 1)}\n leftPage={() => { if (pageMovesInt > 1) { setPageMoves(pageMovesInt - 1) } }}\n products={products}\n moves={moves}\n date={fecha}\n loading={loading}\n />}\n \n \n {listErrors.length > 0 && setPageErrors(pageErrors + 1)}\n leftPage={() => { if (pageErrors > 1) { setPageErrors(pageErrors - 1) } }}\n errors={listErrors} />}\n \n \n {summaryBox.length > 0 && }\n \n \n
\n \n )\n}","import React, { PureComponent } from 'react';\nimport { DetailBox } from './components/detailBox';\nimport { getBox } from '../../services/caja.service';\nimport { Row } from 'react-bootstrap';\nimport { TabsBox } from './components/tabsBox';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\n//import DateTimePicker from 'react-datetime-picker'; \n\nclass CajaFecha extends PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n caja: { \"balanceFinal\": 0, \"balanceInicial\": 0, \"credito\": 0, \"debito\": 0, \"ganancia\": 0, \"estado\": \"No disponible\", \"fecha\": \"--\", \"nombre_caja\": \"--\" },\n viewMoves: false,\n movimientos: [],\n key: '',\n cargar: false,\n alamanaque: false,\n date: '',\n initmove: false,\n move: [],\n err: [],\n resum: []\n }\n this.products = this.props.products\n this.datesBox = {};\n /* console.log(\"Variable productos inicializada al abrir el vinculo\", this.state) */\n //la variable this.state, me muestra inicialmente los valores quemados en la pantalla \n //son los valores de esta variable los que debo setiar\n }\n\n initializeData = (data, flag) => {//INFORMACIÓN QUE OBTIENE DEL CALLBACK\n\n //console.log(\"initializeData\",flag,data)\n const error = () => toast.error(\"¡Falló la conexión con el servidor!\");\n\n if (flag) {\n if (data.errores) {\n alert('Error', 'Se presento un error con los datos de esta caja');\n } else {\n\n this.setState({ caja: data.caja, cargar: false, initmove: true });\n //console.log(\"data del callback del servidor\",data, \"y flag\", flag)\n }\n\n //caja ya tiene info de caja del servidor\n //carga, cambia el estado a false\n //initmove, cambia a true\n }\n else {\n const date = JSON.stringify(data.message);\n const otroDate = JSON.stringify(date.slice(1, 14))\n const comprueba = JSON.stringify(\"XML-RPC fault\");\n\n if (otroDate === comprueba) {\n error();\n }\n\n if (!flag) {\n\n alert('Error', data.message);\n this.setState({ loading: false });\n return;\n } else {\n if (data.errores) {\n alert('Error', \"No hay dato de esa fecha \");\n this.setState({\n caja: {\n nombre_caja: '---',\n estado: '---',\n fecha: '---',\n balanceInicial: '0',\n balanceFinal: '0',\n debito: '0',\n ganancia: '0',\n credito: '0'\n },\n loading: false,\n\n });\n } else {\n this.setState({ caja: data.caja, loading: false, });\n }\n }\n }\n }\n /* \n initializeMoves = (data, flag) => {\n if (flag) {\n this.setState({ movimientos: data.movimientos, viewMoves: false });\n \n } else {\n alert(data.message);\n \n }\n \n } */\n componentDidMount = () => {\n this.setState({ alamanaque: true })\n }\n senttoodo = () => {\n this.setState({ initmove: false, cargar: true })\n // console.log(\"envio\",this.state.date)\n getBox(0, 0, this.state.date, this.initializeData)\n }\n\n\n render() {\n /* const[selectDate, SetSelectDate]=useState(new Date()); */\n return (\n
\n\n {this.state.cargar && }\n \n
Caja por Fecha
\n {this.state.alamanaque &&\n
\n

Fecha:

\n
\n {\n this.setState({ date: e.target.value },\n this.senttoodo);\n }}\n />\n {/* { \n this.setState( {date:e.target.value},this.senttoodo ); }\n } \n />*/}\n {/* */}\n
\n
\n }\n \n\n
\n {this.state.initmove &&\n \n {\n const error = () => toast.error(errorMessage);\n error();\n }}\n products={this.products}\n loading={(flag) => this.setState({ cargar: flag })}\n fecha={this.state.date}\n pageMoves={1} />\n }\n
\n
\n\n\n )\n }\n}\nexport default CajaFecha;","import React, { Component } from \"react\";\nimport Carousel from \"react-spring-3d-carousel\";\nimport uuidv4 from \"uuid\";\nimport { config } from \"react-spring\";\nimport rifa from '../../../assets/home/RIFA2.jpg';\nimport ganador from '../../../assets/home/ganador.jpeg';\nimport foto1 from '../../../assets/home/fotos-05.jpg';\nimport foto2 from '../../../assets/home/foto-8.jpg';\nimport foto3 from '../../../assets/home/PROMOCIONAL.jpg';\nimport foto4 from '../../../assets/home/quienes-somos.jpg';\n\nexport default class CarruselHome extends Component {\n state = {\n goToSlide: 0,\n offsetRadius: 2,\n showNavigation: true,\n config: config.gentle\n };\n data = [\n {\n key: uuidv4(),\n content: \"1\",\n },\n {\n content: \"2\",\n key: uuidv4(),\n },\n {\n content: \"3\",\n key: uuidv4(),\n },\n {\n content: \"4\",\n key: uuidv4(),\n },\n {\n content: \"5\",\n key: uuidv4(),\n }\n ].map((slide, index) => {\n return { ...slide, onClick: () => this.setState({ goToSlide: index }) };\n });\n \n componentDidMount(){\n \n }\n componentWillUnmount(){\n\n }\n render() {\n return (\n
\n \n
\n );\n }\n}\n\n\n","import React, { useEffect, useState } from 'react'\nimport { Modal, Card,Button } from 'react-bootstrap';\nimport quienesSomos from '../../assets/quienes-somos.jpg';\nimport nuestraApp from '../../assets/nuestra-app.jpg';\nimport GANADOR from '../../assets/PROMOCIONAL.jpg';\nimport CarruselHome from './components/carruselhome';\nimport rifa from '../../assets/home/RIFA.jpg';\nimport home from '../../assets/home/home.css';\nconst HomeComponent = () => {\n const [show,setShow]=useState(false)\n useEffect(()=>{\n setShow(true)\n\n },[])\n return (\n <>\n
\n

Bienvenido a MóvilGO

\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n

¿Quienes Somos?

\n

\n Somos una empresa que ofrece soluciones tecnológicas \n de alto nivel, mejora e implementa sistemas de\n información, dando soluciones a problemas de la vida cotidiana,\n con soporte técnico especializado al público objetivo.\n

\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n

Nuestra App

\n

\n Contamos con una aplicación móvil para facilitarle el trabajo a\n la hora de realizar ventas, rifas, consultas y mucho más...\n

\n
\n
\n \n
\n {/* setShow(false)} style={{width:'100%'}}>\n \n \n \n \n */}\n \n \n )\n}\n\nconst styles = {\n img:{padding: 5, width: '80%', borderStyle: 'solid', borderWidth: '5px', borderColor: '#F8F9FA', borderRadius: '3%',\n },\n img2:{padding: 5, borderStyle: 'solid', borderWidth: '5px', borderColor: '#07A2BA', borderRadius: '3%', 'width': \"70%\"\n },\n}\n\nexport default HomeComponent;","import React, { PureComponent } from 'react';\nimport { Button, Card, Row, Container } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\n\nexport class Soat extends PureComponent {\n\n render() {\n return (\n \n \n \n \n
\n

¿Que desea realizar?

\n
\n \n Buscar\n \n \n Comprar\n \n\n
\n
\n
\n
\n )\n }\n}\n","import Odoo from 'odoo-xmlrpc';\nimport { OdooConfig } from '../utilities/odoo-config';\nimport { Desencrypt } from '../utilities/cipher';\n\nexport const SoatService = async (data, callback) => {\n const config = await OdooConfig();\n const args = [[0, data]]\n\n const user = await Desencrypt();\n const params = {\n model: \"movilgo.webservice\",\n method: \"soatSolicitarDatos\",\n }\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: user.user,\n password: user.password\n });\n /* console.log(\"client e soat\", client) */\n client.connect((err, response) => {\n //console.log(\"err, response\", err, response)\n if (err) {\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, args, (err, response) => {\n if (err) {\n callback(err, false);\n return false;\n }\n callback(response, true);\n });\n }\n })\n\n}\n\nexport const searchSoat = async (documento, placa, product_id, fecha, fechaVencimiento, callback) => {\n const config = await OdooConfig();\n\n const args = [[0, { product_id, documento, placa, fecha, fechaVencimiento, callback },]]\n\n //console.log(\"SERVICIO ARGS ver\",args)\n const user = await Desencrypt();\n const params = {\n model: \"movilgo.webservice\",\n method: \"soatSolicitarDatos\",\n }\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: user.user,\n password: user.password\n });\n /* console.log(\"client e soat\", client) */\n client.connect((err, response) => {\n //console.log(\"err, response\", err, response) \n if (err) {\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, args, (err2, response2) => {\n if (err2) {\n callback(err2, false);\n return false;\n }\n //console.log(\"err y respons2\", response2)\n callback(response2, true);\n });\n }\n })\n\n}\n\nexport const searchPolisaSoat = async (source_request, Numberplate, InsurancePolicyNumber, product_id, email, callback) => {\n\n const config = await OdooConfig();\n const args = [[0, {\n source_request, product_id, Numberplate, InsurancePolicyNumber, email,\n callback\n }]]\n\n\n const user = await Desencrypt();\n const params = {\n model: \"movilgo.webservice\",\n method: 'soatDatosReimpresion',\n /* method: \"soatSolicitarDatos\", */\n }\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: user.user,\n password: user.password\n });\n\n client.connect((err, response) => {\n\n if (err) {\n\n return callback(response, false)\n } else {\n\n client.execute_kw(params.model, params.method, args, (err2, response2) => {\n\n\n if (err2) {\n\n callback(err2, false);\n return false;\n }\n callback(response2, true);\n\n });\n }\n\n\n\n })\n\n}","import React from 'react';\nimport { Button, Modal } from 'react-bootstrap';\n\nexport const LinkSoat = (props) => { \n return (\n \n \n {props.name}\n \n \n \n \n \n \n {/* */}\n \n \n )\n\n}","import React, { PureComponent } from 'react';\nimport { Button, Card, Row, Container, FormControl } from 'react-bootstrap';\nimport { searchPolisaSoat } from '../../../services/soat.service';\nimport { DateToString } from '../../../utilities/formats';\nimport { LoadingMovilGo } from '../../../shared/components/loadingMovilGo';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { LinkSoat } from './link';\n\nexport class SoatBuscar extends PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n /* Numberplate: \"FUD873\",\n email: \"jaimealbertogaviria@reactiva.com.co\", */\n Numberplate: \"\",\n email: \"\",\n InsurancePolicyNumber: \"\",\n date: this.getDate(1),\n loading: false,\n soats: [{ id: -1 }],\n source_request: \"W\",\n linkres: \"\",\n modalLink: false,\n }\n this.minDate = this.getDate(1);\n }\n\n getDate = (addDays = 0) => {\n let date = new Date();\n date.setDate(date.getDate() + addDays);\n return DateToString(date, true);\n }\n\n clearData = () => {\n this.setState({\n loading: false,\n date: this.getDate(1),\n Numberplate: \"\",\n licensePlate: \"\",\n email: \"\"\n })\n }\n\n verifyFields = (Numberplate, InsurancePolicyNumber, email) => {\n\n const emailValid = email.match(/^([\\w.%+-]+)@([\\w-]+\\.)+([\\w]{2,})$/i);\n //console.log(\"Entro a verify\", Numberplate, email,InsurancePolicyNumber)\n if (Numberplate === \"\") {\n const error = () => toast.error(\"Error, El número de placa o póliza es obligatorio\");\n error(); /* alert(\"Error\",\"El numero de Poliza es obligatorio\"); */\n } else if (email === \"\") {\n const error = () => toast.error(\"Error, El E-mail es obligatorio\");\n error(); /* alert(\"Error\",\"El Email es obligatorio\"); */\n } else if (!emailValid) {\n const error = () => toast.error(\"Error, El E-mail es incorrecto\");\n error(); /* alert(\"Error\",\"El Email es incorrecto\"); */\n } else {\n //console.log(\"Entro a verify ELSE\", Numberplate, email)\n /* {this.setState({loading: true})\n searchPolisaSoat(this.state.Numberplate, this.state.InsurancePolicyNumber, this.state.soats[0].id,\n this.state.email, this.setSearchedData)} */\n const info = () => toast.info(\"Los datos de la placa \" + Numberplate + \" están siendo verificados\");\n info();\n\n if (info) {\n searchPolisaSoat(\n this.state.source_request,\n this.state.Numberplate.trim(),\n this.state.InsurancePolicyNumber.trim(),\n this.props.soats[0].id,\n this.state.email.trim(),\n this.setSearchedData)\n }\n }\n }\n\n\n setSearchedData = (res, flag) => {\n // console.log(\"esto es lo que devuelve de la consutl\",flag,res)\n if (flag) {\n // console.log(\"RESPUESTA BACK ERROR\",res.errores )\n if (res.errores) {\n const error = () => toast.error(\"Error, Por favor verifique los datos. Si el error persiste comuníquese con MóvilGo\" /* + res.errores.observacion */);\n error(); /* alert(\"Error, \", res.errores.observacion); */\n } else {\n // console.log(\"RESPUESTA BACK ERROR\",res.policyData)\n this.setState({ linkres: res.policyData })\n /* const success = () => toast.success(\"Móvilgo, Cosulta exitosa, Verifique el Email ingresado.\"); */\n this.setState({ modalLink: true })\n this.clearData();\n /* success(); \n if(success){ this.clearData(); } */\n }\n } else {\n const error = () => toast.error(\"Error, Por favor verifique los datos. Si el error persiste comuníquese con MóvilGo\");\n error();\n if (error) { this.clearData(); }\n /* alert(\"Error\",\"Por favor verifique los datos. Si el error persiste comuniquese con MovilGo\",[{text:\"Volver\",\n onPress:()=>this.clearData()\n }]); */\n }\n }\n\n render() {\n return (\n \n \n \n \n \n
\n

Ingrese número de placa

\n this.setState({ Numberplate: e.target.value })}\n />\n
\n
\n

Ingrese número de póliza

\n this.setState({ InsurancePolicyNumber: event.target.value })}\n />\n
\n
\n

E-mail

\n this.setState({ email: event.target.value })}\n />\n
\n \n
\n
\n {this.state.loading && }\n {this.state.modalLink && this.setState({ modalLink: false })}\n response={this.state.linkres}\n msj=\"Presiona aquí para descargar tu SOAT. Recuerda usar el número de placa en Mayúscula para abrirlo\"\n /* closeModal={(flag) => this.closeModal(flag)} */\n />}\n
\n
\n )\n }\n}\n","import React,{useState,useEffect,Fragment} from 'react';\nimport PropTypes from 'prop-types';\nimport { Row, Button, Card, Container,FormControl} from 'react-bootstrap';\nimport Select from \"react-select\";\n\nexport const ClientInfo = (props) => {\n const {data,dataContact,closeAction,infoContact,confirmAction} = props;\n \n const[optionsDepartamentos,setOptionsDepartamentos] = useState([])\n const [optionsActividades,setOptionsActividades] = useState([])\n const [opcionesCiudades,setOpcionesCiudades] = useState([])\n const [opcionesTipoDocument,setOpcionesTipoDocument]=useState([])\n let ciudades=data.soat.ciudadesSoat\n let departamentos=data.soat.deptosSoat\n let actividades=data.soat.actividadSoat\n let tipoDocumentoCliente=[{label:\"Cedula Ciudadania\", value:1},{label:\"Cedula de Extranjeria\", value:2},{label:\"Nit\", value:3},{label:\"Tarjeta de identidad\", value:4},{label:\"Pasaporte\", value:5}]\n const [tipoDepartamento,setTipoDepartamento]=useState({label:\"-- Departamento --\",value:-1})\n const [tipoCiudad,setTipoCiudad]=useState({label:\"-- Ciudad --\",value:-1,stateId:-1});\n const [Contacto, setContacto] = useState({FirstNames:\"\",LastNames:\"\",Address:{Name:\"\"},DocumentNumber:\"\"});\n const [firstNameError, setFirstNameError] = useState('');\n const [lastNameError, setLastNameError] = useState('');\n const [documentError, setDocumentError] = useState('');\n const [address,setAddress]=useState(\"\");\n const [addressError, setAdressError] = useState('');\n const [tipoDocumento,setTipoDocumento]=useState({label:\"-- Tipo de Documento --\", value:-1});\n const [actividadesEconomicas,setActividadesEconomicas]=useState({label:\"-- Tipo de Actividad --\", value:-1});\n const [flagMunicipio,setFlagMunicipio]=useState(false)\n const [flagDepartamento,setFlagDepartamento]=useState(false)\n const [flagActividad,setFlagActividad]=useState(false)\n const [flagDocument,setFlagDocument]=useState(false)\n const [flagDocumentEdit,setFlagDocumentEdit]=useState(false)\n const [flagDocumentNotEdit,setFlagDocumentNotEdit]=useState(false)\n \n function isObjEmpty(obj) {\n //console.log(\"ENTRA7:\")\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) return false;\n }\n \n return true;\n }\n \n const loadData=()=>{\n //console.log(\"loadData - client-info: \", dataContact)\n if(isObjEmpty(dataContact)===false){\n //console.log(\"esto ingreaso al datacontac\")\n //aqui se inicialiazan los valores en caso que se regresendel modal sendPolice\n setContacto({...Contacto,\n FirstNames:dataContact.firstName,\n Contacto,\n LastNames:dataContact.lastName,\n Contacto,\n DocumentNumber:dataContact.document});\n \n setAddress(dataContact.adress)\n \n let documentoSeleccionado={label:\"\",value:\"\"}\n let documentoslist=[];\n\n tipoDocumentoCliente.forEach(elements =>{\n if(parseInt(dataContact.DocumentTypeId)===parseInt(elements.value)){\n documentoSeleccionado={label:elements.label, value:elements.value}\n }\n documentoslist.push({ label: elements.label, value: elements.value })\n })\n\n setTipoDocumento(documentoSeleccionado)\n setOpcionesTipoDocument(documentoslist)\n let departamentoSeleccionado={label:\"\",value:\"\"}\n let opcionesDepartamentoslist=[];\n\n departamentos.forEach(elements =>{\n if(parseInt(dataContact.StateId)===parseInt(elements.stateId)){\n departamentoSeleccionado={label:elements.nombre,value:elements.stateId}\n }\n opcionesDepartamentoslist.push({ label: elements.nombre, value: elements.stateId })\n opcionesDepartamentoslist.sort((a,b) =>{\n return (a.label < b.label) ? -1 : 1\n }) \n })\n setTipoDepartamento(departamentoSeleccionado); \n setOptionsDepartamentos(opcionesDepartamentoslist);\n\n let actividadSeleccionada={label:\"\",value:\"\"}\n let opcionesActividadList=[] \n actividades.forEach(elements =>{\n if(parseInt(dataContact.CiiuId)===parseInt(elements.ciiuId)){\n actividadSeleccionada={ label:\" \"+ elements.descripcion+\" \", value: elements.ciiuId }\n }\n opcionesActividadList.push({ label: elements.descripcion, value: elements.ciiuId })\n opcionesActividadList.sort((a,b) =>{\n return (a.label < b.label) ? -1 : 1\n }) \n })\n setActividadesEconomicas(actividadSeleccionada)\n setOptionsActividades(opcionesActividadList)\n\n let ciudadSelecionada={label:\"\",value:\"\"}\n let opcionesCiudades=[]\n ciudades.forEach(elements =>{\n if((parseInt(dataContact.StateId)===parseInt(elements.stateId)&&\n (parseInt(dataContact.city)===parseInt(elements.cityId)))){\n \n ciudadSelecionada={ label:elements.cityName, value: elements.cityId,stateId:elements.stateId}\n }\n if(parseInt(dataContact.StateId)===parseInt(elements.stateId)){ \n opcionesCiudades.push({ label: elements.cityName, value: elements.cityId,stateId:elements.stateId })\n opcionesCiudades.sort((a,b) =>{\n return (a.label < b.label) ? -1 : 1\n })\n }\n }) \n setTipoCiudad(ciudadSelecionada)\n setOpcionesCiudades(opcionesCiudades)\n }else if(data.soat.respuesta_cliente){\n //console.log(\"esto ingreaso al respuesta cliente\")\n // se inicilizan datos en caso que vengan datos del soat\n setContacto(data.soat.respuesta_cliente);\n setAddress(data.soat.respuesta_cliente.Address.Name)\n let documentoSeleccionado={label:\"\",value:\"\"}\n let documentoslist=[];\n tipoDocumentoCliente.forEach(elements =>{\n if(parseInt(data.soat.respuesta_cliente.DocumentTypeId)===parseInt(elements.value)){\n documentoSeleccionado={label:elements.label, value:elements.value}\n }\n documentoslist.push({ label: elements.label, value: elements.value })\n\n })\n setTipoDocumento(documentoSeleccionado)\n setOpcionesTipoDocument(documentoslist)\n let departamentoSeleccionado={label:\"\",value:\"\"}\n let opcionesDepartamentoslist=[];\n departamentos.forEach(elements =>{\n if(parseInt(data.soat.respuesta_cliente.Address.StateId)===parseInt(elements.stateId)){\n departamentoSeleccionado={label:elements.nombre,value:elements.stateId}\n }\n opcionesDepartamentoslist.push({ label: elements.nombre, value: elements.stateId })\n opcionesDepartamentoslist.sort((a,b) =>{\n return (a.label < b.label) ? -1 : 1\n }) \n })\n setTipoDepartamento(departamentoSeleccionado); \n setOptionsDepartamentos(opcionesDepartamentoslist);\n let actividadSeleccionada={label:\"\",value:\"\"}\n let opcionesActividadList=[]\n actividades.forEach(elements =>{\n if(parseInt(data.soat.respuesta_cliente.CiiuId)===parseInt(elements.ciiuId)){\n actividadSeleccionada={ label:\" \"+ elements.descripcion+\" \", value: elements.ciiuId }\n }\n opcionesActividadList.push({ label: elements.descripcion, value: elements.ciiuId })\n opcionesActividadList.sort((a,b) =>{\n return (a.label < b.label) ? -1 : 1\n }) \n })\n setActividadesEconomicas(actividadSeleccionada)\n setOptionsActividades(opcionesActividadList)\n let ciudadSelecionada={label:\"\",value:\"\"}\n let opcionesCiudades=[]\n ciudades.forEach(elements =>{\n if((parseInt(data.soat.respuesta_cliente.Address.StateId)===parseInt(elements.stateId)&&\n (parseInt(data.soat.respuesta_cliente.Address.CityId)===parseInt(elements.cityId)))){\n ciudadSelecionada={ label:elements.cityName, value: elements.cityId,stateId:elements.stateId }\n }\n if(parseInt(data.soat.respuesta_cliente.Address.StateId)===parseInt(elements.stateId)){ \n opcionesCiudades.push({ label: elements.cityName, value: elements.cityId,stateId:elements.stateId })\n opcionesCiudades.sort((a,b) =>{\n return (a.label < b.label) ? -1 : 1\n })\n }\n }) \n setTipoCiudad(ciudadSelecionada)\n setOpcionesCiudades(opcionesCiudades)\n }\n else{\n //console.log(\"esto ingreaso al no respuesta cliente\")\n // se inicilizan datos en caso que NO vengan datos del soat\n let documentoslist=[];\n tipoDocumentoCliente.forEach(elements =>{\n documentoslist.push({ label: elements.label, value: elements.value })\n })\n setOpcionesTipoDocument(documentoslist)\n let opcionesDepartamentoslist=[];\n departamentos.forEach(elements =>{\n opcionesDepartamentoslist.push({ label: elements.nombre, value: elements.stateId })\n opcionesDepartamentoslist.sort((a,b) =>{\n return (a.label < b.label) ? -1 : 1\n }) \n }) \n setOptionsDepartamentos(opcionesDepartamentoslist);\n let opcionesActividadList=[]\n actividades.forEach(elements =>{\n \n opcionesActividadList.push({ label: elements.descripcion, value: elements.ciiuId })\n opcionesActividadList.sort((a,b) =>{\n return (a.label < b.label) ? -1 : 1\n }) \n })\n setOptionsActividades(opcionesActividadList)\n }\n\n if(data.soat.respuesta_cliente){ //console.log(\"esto ingreaso al respuesta cliente\")\n // se inicilizan datos en caso que vengan datos del soat\n //console.log(\"ENTRA 6: \")\n setFlagDocumentNotEdit(true)\n }else{\n setFlagDocumentEdit(true) \n }\n }\n \n const verifyFields=()=>{\n \n //console.log(\"verifi tipo ciudad\",tipoCiudad)\n //console.log(\"verifi\",tipoCiudad.stateId,tipoDepartamento.value)\n if((Contacto.FirstNames !== \"\" || !!Contacto.FirstNames ) &&\n (Contacto.LastNames !== \"\" || !!Contacto.LastNames) &&\n (parseInt(tipoCiudad.value) !== -1 || !!tipoCiudad.value) &&\n (Contacto.DocumentNumber !== \"\" || !!Contacto.DocumentNumber) && (address !== \"\" || !!address) &&\n (parseInt(actividadesEconomicas.value) !== -1 ||actividadesEconomicas.value !== \"\" ||actividadesEconomicas.value !== undefined) &&\n (parseInt(tipoDepartamento.value) !== -1 || !!tipoDepartamento.value) &&\n (parseInt(tipoDocumento.value) !== -1 || !!tipoDocumento.value ) &&\n Contacto.FirstNames.match(/[^a-zA-Z0-9\\s/]/) === null &&\n Contacto.LastNames.match(/[^a-zA-Z0-9\\s/]/) === null &&\n parseInt(tipoCiudad.stateId) === parseInt(tipoDepartamento.value)\n ) {\n sendData();\n }else if(Contacto.FirstNames===\"\"){\n alert(\"Error, \"+\"El nombre es obligatorio\")\n }else if(Contacto.FirstNames.match(/[^a-zA-Z0-9\\s/]/)!==null){\n alert(\"Error, \"+\"No se permiten caracteres especiales en el nombre\")\n }else if(Contacto.LastNames===\"\"){\n alert(\"Error, \"+\"El apellido es obligatorio\")\n }else if(Contacto.LastNames.match(/[^a-zA-Z0-9\\s/]/)!==null){\n alert(\"Error, \"+\"No se permiten caracteres especiales en el apellido\")\n }else if(Contacto.DocumentNumber===\"\"||Contacto.DocumentNumber.length > 10){\n alert(\"Error, \"+\"El documento es obligatorio\")\n }else if(address===\"\"|| address === null){\n alert(\"Error, \"+\"La direccion es obligatoria\") \n }else if(address.match(/[^a-zA-Z0-9\\s/-]/)!==null){\n alert(\"Error, \"+\"No se permiten caracteres especiales en la direccion\")\n }else if(tipoDocumento.value===-1){\n setFlagDocument(true)\n }else if(tipoDepartamento.value===-1){\n setFlagDepartamento(true)\n }else if(tipoCiudad.value===-1){\n setFlagMunicipio(true)\n }else if(actividadesEconomicas.value===-1||actividadesEconomicas.value === ''||actividadesEconomicas.value === undefined){\n setFlagActividad(true)\n }else if(parseInt(tipoCiudad.stateId)!==parseInt(tipoDepartamento.value)){\n alert(\"Error, \"+\"La ciudad no coincide con el departamento\")\n }\n if (parseInt(tipoCiudad.stateId) !== parseInt(tipoDepartamento.value)) {\n alert('¡Error!', 'La ciudad no coincide con el departamento.');\n }\n }\n\n const sendData=()=>{\n infoContact({firstName:Contacto.FirstNames,\n lastName:Contacto.LastNames,\n city:tipoCiudad.value,\n document:Contacto.DocumentNumber,\n adress:address,\n CiiuId:actividadesEconomicas.value,\n StateId:tipoDepartamento.value,\n DocumentTypeId:tipoDocumento.value})\n confirmAction(false)\n }\n\n const initialiceMunicipio=(selectedDepto)=>{\n //console.log(\"INITIALICEmUNICIPIO\")\n setOpcionesCiudades([])\n let opcionesCiudades=[] \n ciudades.forEach(elements =>{ \n if(parseInt(selectedDepto.value)===parseInt(elements.stateId)){\n opcionesCiudades.push({ label: elements.cityName, value: elements.cityId,stateId:elements.stateId })\n opcionesCiudades.sort((a,b) =>{\n return (a.label < b.label) ? -1 : 1\n })\n } \n \n }) \n setOpcionesCiudades(opcionesCiudades)\n }\n\n useEffect(()=>{\n //console.log(\"ENTRA 5: \")\n loadData(); \n },[])\n\n //console.log(\"TIPOCIUDAD\",tipoCiudad)\n \n return (\n
\n
\n \n {/* PENDIENTE COMO SOPORTAR EFECTO BACK EN WEB */}\n \n \n \n
\n

Datos del Cliente

\n
\n
\n
\n

Nombre

\n setContacto({...Contacto,FirstNames:e.target.value})} \n />\n
\n
\n

Apellidos

\n setContacto({...Contacto,LastNames:e.target.value})} \n />\n
\n
\n
\n {flagDocumentNotEdit&&
\n
\n

Tipo de Documento

\n

{tipoDocumento.label}

\n
\n
\n

Documento

\n

{Contacto.DocumentNumber}

\n
\n
}\n {flagDocumentEdit&&
\n

Tipo de Documento

\n \n { setTipoDocumento(value) }}\n />\n \n {flagDocument&&\n

Este campo es obligatorio

} \n
\n

Documento

\n { setContacto({...Contacto,DocumentNumber:e.target.value.replace(/\\D/, '')})}} \n />\n
\n
}\n \n
\n
\n
\n

Departamento

\n \n { setTipoDepartamento(value ) \n initialiceMunicipio(value) }}\n />\n \n {flagDepartamento&&

Este campo es obligatorio

}\n
\n
\n
\n
\n

Ciudad

\n \n { setTipoCiudad(value )}}\n />\n \n {flagMunicipio&&

Este campo es obligatorio

}\n
\n
\n
\n
\n

Actividad Economica

\n \n { setActividadesEconomicas(value ) }}\n />\n \n {flagActividad&&

Este campo es obligatorio

}\n
\n
\n
\n
\n

Direccion

\n { setAddress(e.target.value)}} \n />\n {flagActividad&&

Este campo es obligatorio

}\n
\n
\n
\n
\n Confirmar\n \n
\n \n
\n
\n
\n
\n
\n\n \n
\n \n )\n}\n\nClientInfo.propTypes = {\n vehicle: PropTypes.object,\n closeAction: PropTypes.func\n}\n\nClientInfo.defaultProps = {\n vehicle: {},\n closeAction: () => { }\n};\n\nconst styles = {\n title: {\n fontWeight: 'bold',\n align:'center'\n },\n container: {\n paddingHorizontal: 10,\n maxHeight: \"100%\",\n //backgroundColor: '#078FA5'\n },\n titleSummary: {\n alignSelf: 'center',\n fontWeight: 'bold',\n fontSize: 18,\n color: '#07A2BA'\n },\n colContainer: {\n width: \"32%\"\n },\n rowContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n marginVertical: 5,\n width:\"100%\",\n paddingLeft:15\n }\n};","import React, { useState, useEffect,Fragment } from \"react\";\nimport PropTypes from \"prop-types\";\nimport {Row,Button,Card,Container,FormControl,InputGroup} from \"react-bootstrap\";\nimport Select from \"react-select\";\n\nexport const VehicleInfo = (props) => {\n //console.log(\"PROPS S.VEHICLE\",props)\n const { data, dataVehicle, infoVehicle, closeAction, confirmAction } = props;\n \n const fuelType = require(\"../../../../assets/data/fuel-type\");\n const country = require(\"../../../../assets/data/country\");\n const vehicle = data.soat.respuesta_vehiculo;\n const contactVehicle = data.soat.respuesta_vehiculo.Contact;\n \n let descuento = data.soat.respuesta_tarifa.Law2161Discount;\n descuento !== undefined\n ? (descuento = data.soat.respuesta_tarifa.Law2161Discount.HasDiscount)\n : (descuento = false);\n\n const [Contacto, setContacto] = useState({FirstName: \"\",LastName: \"\",DocumentTypeId: \"\",DocumentNumber: \"\",});\n const [flagPropietario, setFlagPropietario] = useState(false);\n const [flagMotorNumberEdit, setFlagMotorNumberEdit] = useState(false);\n const [flagChasisNumberEdit, setFlagChasisNumberEdit] = useState(false);\n const [flagVinEdit, setFlagVinEdit] = useState(false);\n const [flagPassengersEdit, setFlagPassengersEdit] = useState(false);\n const [flagMotorNumberNotEdit, setFlagMotorNumberNotEdit] = useState(true);\n const [flagChasisNumberNotEdit, setFlagChasisNumberNotEdit] = useState(true);\n const [flagVinNotEdit, setFlagVinNotEdit] = useState(true);\n const [flagPassengersNotEdit, setFlagPassengersNotEdit] = useState(true);\n const [selectDocumento, setSelectDocumento] = useState({label: '-- Seleccione una opcion --',value: ''});\n const tipoDocumento = [{label: 'Cedula Ciudadania', value: 1},{label: 'Cedula de Extranjeria', value: 2},{label: 'Nit', value: 3},{label: 'Tarjeta de identidad', value: 4},{label: 'Pasaporte', value: 5}];\n const [InfoVehicle, setInfoVehicle] = useState({ChasisNumber: vehicle.ChasisNumber,\n MotorNumber: vehicle.MotorNumber,\n PassengerCapacity: vehicle.PassengerCapacity,\n Vin: vehicle.Vin,\n VehicleBodyTypeName:vehicle.VehicleBodyTypeName\n });\n const [flagVehicleBodyTypeName, setFlagVehicleBodyTypeName] = useState(false);\n const [flagVehicleBodyTypeNameNotEdit, setFlagVehicleBodyTypeNameNotEdit] = useState(true);\n\n /* console.log(\"data.soat.respuesta_vehiculo\",data.soat.respuesta_vehiculo)\n console.log(\"ASIGANAR ESTA data.soat.respuesta_tarifa\",data.soat.respuesta_tarifa.Law2161Discount) */\n //console.log(\"dataVehicle\",dataVehicle)\n \n const isObjEmpty = (obj) => {\n for (let prop in obj) {\n if (obj.hasOwnProperty(prop)) return false;\n }\n return true;\n };\n \n const loadData = () => {\n //console.log(\"loadData -vehicle-info - dataVehicle: \", dataVehicle)\n //console.log(\"loadData -vehicle-info - infoVehicle: \", infoVehicle)\n \n if (isObjEmpty(dataVehicle) === false) {\n \n setInfoVehicle({\n ChasisNumber: dataVehicle.ChasisNumber,\n MotorNumber: dataVehicle.MotorNumber,\n PassengerCapacity: dataVehicle.PassengerCapacity,\n Vin: dataVehicle.Vin,\n VehicleBodyTypeName:dataVehicle.VehicleBodyTypeName\n })\n } else if(isObjEmpty(dataVehicle) ===true&&(InfoVehicle.ChasisNumber === ''||parseInt(InfoVehicle.ChasisNumber) === 0)&&parseInt(vehicle.VehicleYear)<2011){\n //console.log(\"dataVehicledataVehicle \", dataVehicle)\n setInfoVehicle({\n ChasisNumber: 'NA',\n MotorNumber: dataVehicle.MotorNumber,\n PassengerCapacity: dataVehicle.PassengerCapacity,\n Vin: dataVehicle.Vin,\n VehicleBodyTypeName:dataVehicle.VehicleBodyTypeName\n })\n }\n\n if (contactVehicle !== null) {\n //console.log(\"ENTRA OTROIF \", contactVehicle)\n setFlagPropietario(true);\n //console.log(\"vehicle.Contact 3\", contactVehicle);\n setContacto({\n ...Contacto,\n FirstName: vehicle.Contact.FirstName,\n /* Contacto, */\n LastName: vehicle.Contact.LastName,\n /* Contacto, */\n DocumentTypeId: vehicle.Contact.DocumentTypeId,\n /* Contacto, */\n DocumentNumber: vehicle.Contact.DocumentNumber,\n });\n }\n };\n\n const verifyFields = () => {\n\n //console.log(\"ENTRA 4: verifyFields\", vehicle)\n if (\n //console.log(\"ENTRA 4.1: verifyFields\", InfoVehicle)\n /* (InfoVehicle.ChasisNumber === ''&&parseInt(vehicle.VehicleYear)>=2011) || */\n (InfoVehicle.ChasisNumber === ''&&vehicle.VehicleYear>=2011) ||\n InfoVehicle.MotorNumber === '' ||\n InfoVehicle.PassengerCapacity === '' ||\n ((InfoVehicle.Vin === null||InfoVehicle.Vin === '')&&vehicle.VehicleYear>=2011)\n /* ((InfoVehicle.Vin === null||InfoVehicle.Vin === '')&&parseInt(vehicle.VehicleYear)>=2011) */\n ) {\n alert('Alerta', 'Todos los campos son requerido')\n } else { \n //console.log(\"CONFIRMACTION 1: \", confirmAction) //confirmAction(true); //confirmAction/* (); */\n sendData();\n /* console.log(\"INFOVEHICLE: \", infoVehicle) */\n }\n };\n\n const changeTypes = () => {\n //console.log(\"changeTypes - vehicle-info: \", vehicle) \n if (vehicle.ChasisNumber === \"\" || vehicle.ChasisNumber === null) {\n setFlagChasisNumberEdit(true)\n setFlagChasisNumberNotEdit(false)\n }\n if (InfoVehicle.MotorNumber === \"\" || InfoVehicle.MotorNumber === null) {\n setFlagMotorNumberEdit(true)\n setFlagMotorNumberNotEdit(false)\n } /* if (vehicle.MotorNumber === \"\" || vehicle.MotorNumber === null) {\n setFlagMotorNumberEdit(true) setFlagMotorNumberNotEdit(false)} */\n if (InfoVehicle.VehicleBodyTypeName === \"\" || InfoVehicle.VehicleBodyTypeName === null) {\n setFlagVehicleBodyTypeName(true)\n setFlagVehicleBodyTypeNameNotEdit(false)\n } /* se agrego un \"=\" a la vehicle.PassengerCapacity */\n if (vehicle.PassengerCapacity === \"\" || vehicle.PassengerCapacity === null || vehicle.PassengerCapacity === 0) {\n setFlagPassengersEdit(true)\n setFlagPassengersNotEdit(false)\n }\n if ((vehicle.Vin === \"\" || vehicle.Vin === null)&&parseInt(vehicle.VehicleYear)>=2011) {\n setFlagVinEdit(true)\n setFlagVinNotEdit(false)\n }\n }\n\n const sendData = () => {\n /* console.log(\"Entra SENDDATA:ChasisNumber \", InfoVehicle.ChasisNumber)\n console.log(\"Entra SENDDATA: MotorNumber\", InfoVehicle.MotorNumber )\n console.log(\"Entra SENDDATA:PassengerCapacity \", InfoVehicle.PassengerCapacity)\n console.log(\"Entra SENDDATA:Vin \", InfoVehicle.Vin)*/\n\n infoVehicle({ \n ChasisNumber: InfoVehicle.ChasisNumber,\n MotorNumber: InfoVehicle.MotorNumber,\n PassengerCapacity: InfoVehicle.PassengerCapacity,\n Vin: InfoVehicle.Vin,\n VehicleBodyTypeName:InfoVehicle.VehicleBodyTypeName\n }) \n confirmAction(false);\n };\n\n useEffect(() => {\n loadData();\n //console.log(\"ENTRA 3: vehicle-info\")\n if (descuento) {\n alert(`Esta placa tiene un descuento de `)\n }\n changeTypes();\n loadData(); }, []);\n\n return (\n
\n
\n \n \n \n \n\n
\n
\n

Datos del Vehículo

\n
\n
\n
\n

Placa

\n

{vehicle.NumberPlate}

\n
\n
\n

Modelo

\n

{vehicle.VehicleYear}

\n
\n
\n

Cilindraje

\n

{vehicle.CylinderCapacity}

\n
\n
\n
\n
\n

Pais

\n

{country[vehicle.CountryId]}

\n
\n
\n

Ciudad

\n

{vehicle.CityName}

\n
\n
\n
\n {flagMotorNumberEdit && (\n
\n

N.º motor

\n \n setInfoVehicle({...InfoVehicle, MotorNumber: e})}\n />\n \n
\n )}\n {flagMotorNumberNotEdit && (\n
\n

N.º motor

\n

{vehicle.MotorNumber}

\n
\n )}\n\n {flagChasisNumberEdit && (\n
\n

N.º de chasis

\n \n setInfoVehicle({...InfoVehicle, ChasisNumber: e})}\n />\n \n
\n )}\n {flagChasisNumberNotEdit && (\n
\n

N.º de chasis

\n {/*

{vehicle.MotorNumber}

*/}\n {InfoVehicle.ChasisNumber.toString() === 'NA'&& (

NA

)}\n {InfoVehicle.ChasisNumber.toString() !== 'NA'&& \n (

{InfoVehicle.ChasisNumber}

)}\n {parseInt(vehicle.VehicleYear)>2011 && (

{vehicle.ChasisNumber}

)}\n \n
\n )}\n {flagVinEdit && (\n
\n

VIN

\n \n setInfoVehicle({...InfoVehicle, Vin: e})}\n />\n \n
\n )}\n {flagVinNotEdit && (\n
\n

VIN

\n

{InfoVehicle.Vin}

\n {/*

{vehicle.Vin}

*/}\n \n
\n )}\n\n
\n
\n {flagPassengersEdit && (\n
\n

Pasajeros

\n \n \n setInfoVehicle({...InfoVehicle, PassengerCapacity: e})}\n />\n \n
\n )}\n {flagPassengersNotEdit && (\n
\n

Pasajeros

\n

{vehicle.PassengerCapacity}

\n
\n )}\n
\n

Tarjeta Op

\n

{vehicle.ActionRadio ?? \"--\"}

\n
\n
\n

Carga

\n

{vehicle.LoadCapacity}

\n
\n
\n\n
\n
\n

Marca

\n

{vehicle.BrandName}

\n
\n
\n

Linea

\n

{vehicle.VehicleLineDescription}

\n
\n
\n

Clase

\n

{vehicle.VehicleClassName}

\n
\n
\n\n
\n
\n

Combustible

\n

{fuelType ? fuelType[vehicle.FuelTypeId]: vehicle.FuelTypeId}

\n
\n\n {flagVehicleBodyTypeNameNotEdit &&
\n
\n

Carroceria

\n

{vehicle.VehicleBodyTypeName}

\n
\n
}\n\n {flagVehicleBodyTypeName&&
\n

Carroceria

\n \n \n setInfoVehicle({...InfoVehicle, VehicleBodyTypeName: e})}\n />\n \n {/* \n setInfoVehicle({...InfoVehicle, VehicleBodyTypeName: value})\n }\n /> */}\n
}\n\n
\n

Servicio

\n

{vehicle.ServiceTypeName}

\n
\n
\n \n
\n\n {flagPropietario && (\n
\n\n
\n

Propietario del Vehiculo

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

Nombre

\n \n setContacto({...Contacto,FirstNames:e.target.value})}\n /* onChange={(value) => setContacto({ ...Contacto, FirstName: value })} */\n />\n \n
\n \n
\n {/*
*/}\n

Apellido

\n \n setContacto({...Contacto,LastName:e.target.value})}\n //onChange={(value) => setContacto({ ...Contacto, LastName: value }) }\n />\n \n
\n\n {/*
*/}\n
\n\n
\n
\n

Tipo de Documento

\n \n { setIva(e.target.checked); }}\n />\n \n
\n\n {iva && (
\n \n { this.setState({ date: e.target.value },); console.log(e.target.value) }} /* { date2: e.target.value } */\n />\n
\n \n \n \n\n {this.state.loading && }{/* logo de carga movilgo */}\n\n {/* MODAL DE VEHICULO */}\n this.clearData()} backdrop=\"static\">\n \n Compra Soat\n \n \n this.vehicle()}\n dataVehicle={this.state.getVehiculo}\n closeAction={() => this.clearData()}\n confirmAction={() => this.setState({\n showVehicleInfo: false, showClientInfo: true\n })} >\n \n \n \n\n {/* MODAL DE DATOS CLIENTE */}\n this.clearData()} backdrop=\"static\">\n \n this.setState({ showClientInfo: false, showVehicleInfo: true })} />\n \n \n this.setState({ showVehicleInfo: true, showClientInfo: false, })}\n infoContact={this.contact}\n confirmAction={() => this.setState({ showClientInfo: false, showPaymentInfo: true })}\n />\n \n \n\n {/* MODAL DE ENVIO PÓLIZA */}\n this.clearData()} backdrop=\"static\">\n \n this.setState({ showClientInfo: true, showPaymentInfo: false })} />\n \n \n this.setState({ showClientInfo: true, showPaymentInfo: false })}\n dataContact={this.state.dataContact}\n infoVehicle={this.state.getVehiculo}\n productId={this.state.temps}/* \n productId={this.state.soats} */\n closeAction={() => this.clearData()}\n loading={this.state.loading}\n setLoading={(loading) => this.setState({ loading })}\n />\n \n \n \n \n )\n }\n}\n\n","\nimport React, { useEffect, useState } from 'react'\nimport { getRifaResume } from '../../../services/rifa.service';\nimport './styles.css'\nimport { useParams } from 'react-router-dom';\n\nexport const ShowRifa = () => {\n const [img, setImg] = useState(\"\");\n const [imgPromotional, setImgPromotional] = useState(\"\");\n const [name, setName] = useState(\"\");\n const [numTicket, setNumTicket] = useState(\"\");\n\n let { t } = useParams();\n\n useEffect(() => {\n const callback = (data, flag) => {\n if (data) {\n setImg(data.datos[0].boleta);\n setNumTicket(data.datos[0].numero_boleta);\n setName(data.datos[0].persona);\n setImgPromotional(data.datos[0].rutaimagenpromocional)\n }\n }\n getRifaResume(t, callback);\n }, [t])\n\n\n\n return (\n <>\n {img &&
\n
\n
\n \"\"\n
\n
\n
\n
\n

¡Hola!

\n\n

{name}

\n
\n
\n
\n \"\"\n
\n \"\"\n \"\"\n
\n
\n
\n
\n \"\"\n \"\"\n \"\"\n \"\"\n \n

\n \n {numTicket}\n

\n
\n
\n\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n \"\"\n
\n \"\"\n\n \"\"\n\n
\n www.movilgo.com.co\n
\n\n
\n
\n
\n
\n
\n
\n
\n

Capitalia Centro Empresarial

\n Carrera 23 # 62-39 Ofc 404 B

\n PBX. 8931880 - 3216435013\n

\n
\n
\n
\n
\n

\n En virtud de lo establecido por la disposición de Protección de Datos\n Personales, usted tiene derecho a solicitar al emisor de este mensaje\n la rectificación, actualización, inclusión o supresión de los datos personales\n incluidos en su base de datos de contactos, listas o cadenas de mensajes en los\n cuales usted se encuentre.\n

\n \n\n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
}\n \n )\n}","import React from 'react'\n\nexport const TermsAndConditions = () => {\n return (\n
\n
\n \n \n
\n
\n\n\n )\n}","import React from 'react'\n\nexport const Political = () => {\n return (\n
\n
\n \n \n
\n
\n\n\n )\n}","import Odoo from 'odoo-xmlrpc';\nimport { OdooConfig } from '../utilities/odoo-config';\nimport { Desencrypt } from '../utilities/cipher';\n\nexport const getDebts = async ( callback) => {\n const config = await OdooConfig();\n let finish = false;\n const args = [[ 0 ]]\n\n const data = await Desencrypt();\n const params = {\n model: \"movilgo.webservice\",\n method: \"listarDeudaRuta\",\n args:args,\n kwargs: {}\n }\n setTimeout(() => {\n if (finish) {\n return;\n }\n alert(\"Tiempo limite excedidoo\");\n callback(false, \"\");\n return;\n }, 30000);\n\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n\n client.connect((err, response) => {\n if (err) {\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, params.args, (err, response) => {\n finish = true\n if (err) {\n callback(err, false);\n return false;\n }\n callback(response, true);\n });\n }\n })\n\n}\n\nexport const payDebt = async (amount,partner_id, call) => {\n\n const config = await OdooConfig();\n const user = Desencrypt();\n let finish = false;\n const args = [[0, {amount,partner_id}]];\n\n const params = {\n model: \"movilgo.webservice\",\n method: \"pagarDeuda\",\n };\n\n setTimeout(() => {\n if (finish) {\n return;\n }\n alert(\"Tiempo limite excedidoo\");\n call(false, \"\");\n return;\n }, 30000);\n\n\n const odoo = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: user.user,\n password: user.password\n });\n\n odoo.connect((errLogin, responseLogin) => {\n if (errLogin) {\n return;\n }\n odoo.execute_kw(params.model, params.method, args, (err, response) => {\n finish = true;\n if (err) {\n call(false, err);\n return false;\n }\n\n if (response) {\n if (response.errores && response.errores.id) {\n\n call(false, response);\n return false;\n }\n call(true, response);\n return true;\n }\n return false;\n\n });\n })\n}\n","import React, { useState } from 'react';\nimport { Modal, Card, Button, Col, Row } from 'react-bootstrap';\nimport { FormatMoney } from '../../../utilities/formats';\nimport NumberFormat from 'react-number-format';\nimport { toast } from 'react-toastify';\nimport { ManagmentErrors } from '../../../shared/components/managmentErrors';\nimport { payDebt } from '../../../services/recaudo.service';\n\nexport const ModalPay = (props) => {\n const { show, data, close, abono, pay } = props\n const [price, setPrice] = useState('');\n\n const callBack = (flag, data) => {\n if (flag) {\n const success = () => toast.success(\"Transacción realizada\");\n success();\n } else {\n const message = ManagmentErrors(data.errores.id);\n const error = () => toast.error(message);\n error();\n }\n }\n\n const handlePayDebt = () => {\n if (!pay) {\n if (price <= data.deuda && price > 0) {\n\n if (window.confirm(\"¿Desea abonar \" + FormatMoney(price) + \" a la deuda?\")) {\n abono(data.cliente_id, price);\n payDebt(price, data.cliente_id, callBack);\n setPrice('')\n close();\n }\n } else {\n alert(\"¡Atención! \" + 'No se puede abonar este monto')\n }\n } else {\n abono(data.cliente_id, data.deuda);\n payDebt(data.deuda, data.cliente_id, callBack);\n setPrice('')\n close();\n }\n }\n\n return (\n <>\n \n setPrice('')} />\n \n \n Abonar al crédito \n \n {!pay && \n
\n
\n
\n
\n
}\n {pay && \n \n }\n
\n {!pay &&
\n
Ingrese un valor
\n setPrice(parseInt(event.target.value.replace(\"$\", \"\").replace(\",\", \"\")))}\n />\n
}\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n )\n}","import React, { useEffect, useState } from 'react';\nimport { MDBDataTable } from 'mdbreact';\nimport { getDebts } from '../../services/recaudo.service';\nimport { Container, Button } from 'react-bootstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCheck, faEdit } from '@fortawesome/free-solid-svg-icons';\nimport { FormatMoney } from '../../utilities/formats';\nimport { ToastContainer } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { ModalPay } from './components/modal.pay';\nimport { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\n\nexport const Recaudo = () => {\n const [showPay, setShowPay] = useState(false);\n const [infoModal, setInfoModal] = useState({});\n const [debts, setDebts] = useState({});\n const [debtsC, setDebtsC] = useState([]);\n const [loading, setLoading] = useState(false);\n const [payAll, setPayAll] = useState(false);\n\n \n const updateItem = (id, value) => {\n let cloneDebts = debts;\n let deuda = 0;\n let vencido = 0;\n debtsC.forEach(element => {\n if (element.codigo === id) {\n deuda = element.deuda;\n vencido = element.vencido;\n return;\n }\n });\n let data = {\n columns: cloneDebts.columns, rows: []\n\n }\n for (let index = 0; index < cloneDebts.rows.length; index++) {\n if (cloneDebts.rows[index].codigo === id) {\n if (parseInt(deuda) === parseInt(value)) {\n var myFish = cloneDebts.rows\n data.rows=myFish;\n } else {\n cloneDebts.rows[index].deuda = FormatMoney(parseInt(deuda) - parseInt(value));\n cloneDebts.rows[index].vencido = FormatMoney(parseInt(vencido) - parseInt(value));\n data.rows=cloneDebts.rows;\n return;\n }\n\n }\n }\n setDebts(data);\n }\n\n useEffect(() => {\n setLoading(true);\n getDebts((data, flag) => {\n\n if (flag) {\n setLoading(false);\n let dat = {}\n let rows = []\n let rowsito = []\n data.deudores.forEach(element => {\n rowsito.push({\n codigo: element.cliente_id,\n deuda: (element.deuda),\n vencido: (element.vencido),\n })\n rows.push({\n codigo: element.cliente_id,\n nombre: (element.nombre),\n deuda: FormatMoney(element.deuda),\n vencido: FormatMoney(element.vencido),\n acciones:\n
\n \n { setInfoModal(element); setShowPay(true); setPayAll(false) }} >\n \n \n
\n })\n });\n dat = {\n columns: [\n {\n label: 'Código',\n field: 'codigo',\n },\n {\n label: 'Nombre',\n field: 'nombre',\n sort: 'asc'\n },\n {\n label: 'Deuda',\n field: 'deuda',\n sort: 'asc'\n },\n {\n label: 'Vencido',\n field: 'vencido',\n sort: 'asc'\n },\n {\n label: 'Acciones',\n field: 'acciones',\n },\n\n ],\n rows: rows\n }\n setDebtsC(rowsito);\n setDebts(dat)\n\n } else {\n setLoading(false);\n }\n });\n }, [])\n\n return (\n <>\n {loading && }\n \n \n \n \n setShowPay(false)}\n abono={(id, value) => updateItem(id, value)}\n pay={payAll}\n />\n \n );\n}\n","import Odoo from 'odoo-xmlrpc';\nimport { OdooConfig } from '../utilities/odoo-config';\nimport { Desencrypt } from '../utilities/cipher';\n\nexport const searchClientBingo = async (product_id, cedula, callback) => {\n const config = await OdooConfig();\n const data = await Desencrypt();\n const args = [[0, { product_id: product_id, cedula: cedula }]]\n\n const params = {\n model: \"movilgo.webservice\",\n method: \"bingoBuscarCliente\",\n }\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n client.connect((err, response) => {\n if (err) {\n\n return callback(response, false)\n } else {\n\n client.execute_kw(params.model, params.method, args, (err2, response2) => {\n\n if (err2) {\n callback(err2, false);\n return false;\n }\n callback(response2, true);\n\n });\n }\n //console.log('error',err, response)\n })\n}\n\nexport const getBingo = async (product_id, callback) => {\n const config = await OdooConfig();\n const data = await Desencrypt();\n const args = [[\n 0, { product_id }\n ]]\n\n const params = {\n model: \"movilgo.webservice\",\n method: \"bingoProximoSorteo\",\n }\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n client.connect((err, response) => {\n\n if (err) {\n //console.log('error', response)\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, args, (err2, response2) => {\n if (err2) {\n callback(err2, false);\n return false;\n }\n callback(response2, true);\n\n });\n }\n\n })\n}\n\n","import { faSearch } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport React from 'react';\nimport { PureComponent } from 'react';\nimport { Card, Col, FormControl, InputGroup, Pagination, Row, Button } from 'react-bootstrap';\nimport { ToastContainer, toast } from 'react-toastify';\nimport { getBingo, searchClientBingo } from '../../services/bingo.service';\nimport { Transaction } from '../../services/product.service';\nimport { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\nimport { ManagmentErrors } from '../../shared/components/managmentErrors';\nimport { Capitalize, FormatMoney } from '../../utilities/formats';\nimport { jsPdfGenerator } from '../../shared/components/pdfTransaction';\nimport { ModalNotificationTransaction } from '../../shared/components/modalNotificationTransaction';\n\nexport class SuperBingo extends PureComponent {\n constructor() {\n super();\n this.state = {\n identification: '',\n celular: '',\n apellidos: '',\n nombre: '',\n loading: true,\n opacity: 1,\n found: false,\n register: false,\n count: 1,\n disabled: true,\n dateStart: \"\",\n reward: \"\",\n modalNotification: false,\n }\n this.response = [];\n }\n\n componentDidMount() {\n if (this.props.bingo) {\n getBingo(this.props.bingo[0].id, (res, flag) => {\n if (flag) {\n const newDate = res.dateStart.split(\"T\")[0].split(\"-\");\n this.setState({\n dateStart: res ? newDate[2] + \"-\" + newDate[1] + \"-\" + newDate[0] : \"\",\n reward: res ? FormatMoney(res.reward) : \"\",\n loading: false\n });\n } else {\n this.setState({ loading: false })\n }\n\n })\n }\n\n\n\n }\n\n foundClient = (response, flag) => {\n if (this.state.identification.trim() === \"\") {\n return;\n }\n\n if (flag) {\n if (response && response.data && response.message === \"Cliente Listado con exito\") {\n const message = () => toast.info(\"¡Usuario encontrado!\");\n message();\n this.setState({\n loading: false,\n opacity: 1,\n found: true,\n register: false,\n count: 1,\n disabled: false,\n celular: response.data.cusPhone,\n nombre: response.data.cusName,\n apellidos: response.data.cusLastName,\n });\n } else {\n const message = () => toast.error(\"¡Usuario no encontrado, por favor registrarlo !\");\n message();\n this.setState({\n loading: false,\n opacity: 1,\n found: true,\n register: true,\n count: 1,\n disabled: true,\n celular: \"\",\n nombre: \"\",\n apellidos: \"\"\n });\n\n }\n } else {\n const message = () => toast.error(\"¡Usuario no encontrado, por favor registrarlo !\");\n message();\n this.setState({\n loading: false,\n opacity: 1,\n found: true,\n register: true,\n count: 1,\n disabled: true,\n celular: \"\",\n nombre: \"\",\n apellidos: \"\"\n });\n }\n\n }\n\n findClient = () => {\n const errorDigitar = () => toast.error(\"¡No se le olvide digitar un número de cédula!\");\n if (this.state.identification.trim() !== \"\") {\n this.setState({ loading: true, opacity: 0.4 });\n searchClientBingo(this.props.bingo[0].id, this.state.identification, this.foundClient);\n } else {\n errorDigitar();\n }\n }\n\n getResponse = (flag, response) => {\n if (flag) {\n this.response = response;\n this.response[\"identification\"] = this.state.identification;\n this.response[\"nombre\"] = this.state.nombre;\n this.response[\"apellidos\"] = this.state.apellidos;\n this.response[\"celular\"] = this.state.celular;\n this.response[\"count\"] = this.state.count;\n\n const success = () => toast.success(\"Gana Bingo comprado exitosamente\");\n success();\n this.setState({\n loading: false,\n opacity: 1,\n identification: '',\n celular: '',\n apellidos: '',\n nombre: '',\n found: false,\n register: false,\n count: 1,\n })\n this.setState({ loading: false, opacity: 1, modalNotification: true });\n } else {\n if (response.errores) {\n const message = ManagmentErrors(response.errores.id);\n const error = () => toast.error(message);\n error();\n } else {\n const message = \"Error desconocido\";\n const error = () => toast.error(message);\n error();\n }\n this.setState({\n loading: false,\n opacity: 1,\n identification: '',\n celular: '',\n apellidos: '',\n nombre: '',\n found: false,\n register: false,\n count: 1,\n })\n\n }\n }\n\n sendData = () => {\n if (this.state.celular.length < 10) {\n const message = () => toast.error(\"¡El número de telefono es demasiado corto!\");\n message();\n return;\n }\n this.setState({ loading: true })\n const product = {\n product_id: this.props.bingo[0].id,\n atributes: {\n bingo_cedula: this.state.identification,\n bingo_numero_celular: this.state.celular,\n bingo_cliente_nombre: this.state.nombre,\n bingo_apellido_nombre: this.state.apellidos,\n bingo_tripletas: this.state.count,\n precio: this.props.bingo[0].precio * this.state.count\n }\n }\n Transaction(product, this.getResponse);\n }\n\n add = () => {\n if (this.state.count >= 1 && this.state.count < 5) {\n this.setState({ count: this.state.count + 1 })\n }\n }\n\n subtract = () => {\n if (this.state.count > 1) {\n this.setState({ count: this.state.count - 1 })\n }\n }\n\n closeModal = (flag) => {\n this.setState({ modalNotification: flag });\n // console.log(\n // this.state.identification,\n // this.state.nombre,\n // this.state.apellidos,\n // this.state.celular\n // )\n const data = [\n \"Factura No: \" + this.response.valida.id,\n \"Fecha: \" + this.response.valida.fecha,\n \"No.Aprobacion: \" + this.response.valida.numero_aprobacion,\n \"Producto: GANA BINGO\",\n \"Cedula: \" + this.response.identification,\n \"Cliente: \" + this.response.nombre + \" \" + this.response.apellidos,\n \"Celular: \" + this.response.celular,\n \"Valor: \" + FormatMoney(this.props.bingo[0].precio * this.response.count)\n ]\n // console.log(data);\n jsPdfGenerator(data);\n }\n\n render() {\n return (\n <>\n \n \n
\n

Bingo

\n

Fecha de sorteo {this.state.dateStart}

\n

Premio {FormatMoney(this.state.reward)}

\n \n \n \n \n \n \n this.setState({ identification: event.target.value.replace(/\\D/, '') })}\n />\n \n this.findClient()}>\n \n \n \n \n \n \n {this.state.found && \n {Capitalize(this.state.nombre) + \" \" + Capitalize(this.state.apellidos.split(\" \")[0]) + \" \" + Capitalize(this.state.apellidos.split(\" \")[1] ?? \"\")}\n \n }\n {this.state.register &&\n \n \n \n this.setState({ nombre: event.target.value })}\n />\n \n \n this.setState({ apellidos: event.target.value })}\n />\n \n \n this.setState({ celular: event.target.value.replace(/\\D/, '') })}\n />\n \n \n }\n\n \n {this.state.found && \n \n {FormatMoney(this.props.bingo[0].precio * this.state.count)}\n \n }\n {this.state.found &&
\n\n \n \n -\n {this.state.count}\n +\n \n \n
}\n {this.state.found && \n \n Comprar\n \n }\n
\n
\n
\n {this.state.modalNotification && this.closeModal(flag)} type={\"Bingo\"} message={\"Compra realizada exitosamente\"} />}\n {this.state.loading && }\n \n )\n }\n}","import React from 'react';\n//import { FormatMoney } from '../../../utilities/formats';\n\nexport const Summary = (props) => {\n const { departamento, municipio, codigo, snrLicense,snrOffice } = props\n\n return (\n
\n

Departamento:

\n

{departamento}

\n

Municipio:

\n

{municipio}

\n

Código:

\n

{codigo}

\n

snrLicense:

\n

{snrLicense}

\n {/*

snrOffice:

\n

{snrOffice}

*/}\n
\n );\n}\n","//import AsyncStorage from '@react-native-community/async-storage';\n//import {Alert, Linking} from 'react-native';\n//import Odoo from 'react-native-odoo';\nimport Odoo from 'odoo-xmlrpc';\nimport { OdooConfig } from '../utilities/odoo-config';\nimport { Desencrypt } from '../utilities/cipher';\n\n\nexport const searchCertification = async (id, callback) => {\n\n const args = [[0, { product_id: id }]];\n\n const config = await OdooConfig();\n const data = await Desencrypt();\n\n //console.log(\"ARGS - searchCertification\",args)\n\n const params = {\n model: 'movilgo.webservice',\n method: 'certificadoConsultaOficinas',\n };\n\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n\n client.connect((err, response) => {\n if (err) {\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, args, (err, response) => {\n if (err) {\n callback(err, false);\n return false;\n }\n callback(response, true);\n });\n }\n })\n};\n\n//PENDIENTE EDITARLO - no esta completado sobre la movil\nexport const searchSnr = async (id, code, license, callback) => {\n\n const args = [0, { product_id: id, snrOffice: code, snrLicense: license }];\n\n const config = await OdooConfig();\n const data = await Desencrypt();\n\n //console.log(\"searchSnr\",args)\n const params = {\n model: 'movilgo.webservice',\n method: 'certificadoConsultaMatricula',\n };\n\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n\n client.connect((err, response) => {\n if (err) {\n return callback(response, false)\n } else {\n client.execute_kw(params.model, params.method, args, (err, response) => {\n if (err) {\n callback(err, false);\n return false;\n }\n callback(response, true);\n });\n }\n })\n};\n/* \nexport const salesCertification = async (\n source_request,\n Numberplate,\n InsurancePolicyNumber,\n product_id,\n email,\n callback,\n) => {\n const args = [\n 0,\n {\n source_request,\n product_id,\n Numberplate,\n InsurancePolicyNumber,\n email,\n callback,\n },\n ];\n\n const session = await AsyncStorage.getItem('session');\n const client = new Odoo(JSON.parse(session));\n const params = {\n model: 'movilgo.webservice',\n method: 'soatDatosReimpresion',\n args: args,\n kwargs: {},\n };\n\n client.rpc_call('/web/dataset/call_kw', params, (err, response) => {\n if (err) {\n if (err.code === 100) {\n alert(\n 'Error',\n 'La sesión ha expirado, es necesario volver a loguearse.',\n );\n callback('close', false);\n return false;\n }\n console.log('El Error es: ', JSON.stringify(err));\n callback(err, false);\n return false;\n }\n\n callback(response, true);\n });\n}; */\n\n","import React, { PureComponent, Fragment } from 'react';\nimport { ListOperator } from '../../shared/components/list-operator';\nimport { Summary } from './components/summary';\nimport { ListPrices } from '../../shared/components/list-prices';\nimport { Container, Row, Col, Form, Card, Button, Image, Modal } from 'react-bootstrap';\nimport NumberFormat from 'react-number-format';\nimport { Transaction } from '../../services/product.service';\nimport { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\nimport { ModalNotificationTransaction } from '../../shared/components/modalNotificationTransaction';\nimport { ToastContainer, toast } from 'react-toastify';\nimport { ManagmentErrors } from '../../shared/components/managmentErrors';\nimport { jsPdfGenerator } from '../../shared/components/pdfTransaction';\nimport { FormatMoney } from '../../utilities/formats';\nimport Select from \"react-select\";\nimport { searchCertification, searchSnr } from '../../services/certification.service'\n\nclass Certificados extends PureComponent {\n\n\n constructor(props) {\n super(props);\n this.certificados = this.props.certificados;\n this.state = {\n Certificados: [],\n selectCertification: { id: -1, image_medium: null, name: '' },\n // selectedRecargaSport: { id: -1, title: 'None', color: 'white', },\n snrLicense: \"\",\n snrOffice: \"\",\n phone: \"\",\n email: \"\",\n document: '',\n //buttonCertification: [],\n handleClose: false,\n checkPhone: false,\n checkColor: 'white',\n errorDocument: '',\n errorPhone: '',\n errorEmail: '',\n errorLicense: '',\n errorOffice: '',\n payplace: {},\n package: {},\n modalInfoSnrLicense: false,\n optionPlaces: {},\n optionTowns: {},\n optionCode: {},\n //modalInfoVisible:false,\n modalInfoPay: false,\n placeSelected: { label: 'Seleccione un Departamento', value: -1 },\n townSelected: { label: 'Seleccione un Municipio', value: \"\" },\n codeSelected: { label: 'Seleccione un código', value: \"\" },\n loadplaces: false,\n loadTowns: false,\n selectedOperator: { id: -1, image_medium: null, name: '' },\n loading: true,\n visible: false,\n active: true,\n /* selectedMunicipio: {},\n Certificados: [],\n selectedPrice: '', \n codigo: '',\n modalNotification: false, opacity: 1*/\n }\n this.places = [];\n this.towns = [];\n this.informacion = {};\n\n // this.products; \n //this.time;\n /* this.listCertificados = [];\n this.response = [];\n this.phone = '';\n this.valor = '';\n this.operador = '';\n this.clean = '' */\n }\n\n\n componentDidMount = () => {\n /* this.pressCertification(); */\n if (this.certificados) {\n //console.log(\"COMPONENT: \", this.certificados)\n this.setState({ loading: false })\n }\n\n }\n\n selectOperator = (certificado) => {\n // console.log(\"PUSH\")\n // console.log(\"certificado: \", certificado)\n this.cleanFields();\n this.setState({ selectCertification: certificado });\n\n }\n\n pressCertification = (certification) => {\n //console.log(\"PASO1\", certification.id)\n\n this.setState({\n loading: true,\n selectCertification: {\n id: certification.id,\n title: (certification.name),\n /* title: Capitalize(certification.name), */\n color: 'rgba(7,162,186,0.7)'\n }\n });\n searchCertification(certification.id, this.getPlacePay)\n this.setState({ active: false })\n }\n\n getPlacePay = (res, flag) => {\n\n if (flag) {\n this.setState({ loading: false })\n res.forEach((element) => {\n if (this.places[element.group]) {\n this.places[element.group].push(element);\n } else {\n this.places[element.group] = [];\n this.places[element.group].push(element);\n }\n })\n \n this.loadPlaces(this.places)\n\n } else {\n this.setState({ loading: false })\n alert(\"Error\", \"No se obtuvieron lugares de pago\");\n }\n }\n\n loadPlaces = (places/* , town */) => {\n const keys = Object.keys(places);//const keys2 = Object.keys(town);\n let deptos = []\n keys.forEach((element) => {\n //console.log(\"DEPTOS: \",element)\n deptos.push({ value: element, label: element })\n })\n //ASIGNACIÓN DEL VALOR DE \"options\" A LA VARIABLE \"optionPlaces\"\n this.setState({ optionPlaces: deptos/* , optionTowns:municipios */ })\n\n }\n\n initialiceTown = (places) => {\n // console.log(\"TRAE\",this.places[places.value])\n let municipios = []\n /* let codigo = [] */\n\n /* if(places != null){ */\n this.places[places.value].forEach((element) => {\n municipios.push({ value: element.code, label: element.name })\n /* codigo.push({value:element.code,label:element.name}) */\n })\n\n this.setState({ optionTowns: municipios/* , optionCode:codigo */ })\n /* }else{alert(\"PRUEBA\")} */\n }\n\n snrLicenseResumen = () => {\n this.setState({ loading: true })\n //console.log(\"DATOS- SNR code-licen-id\",/* CODIGO: */this.state.townSelected.value,this.state.snrLicense,this.state.selectCertification.id)\n searchSnr(this.state.selectCertification.id, this.state.townSelected.value, this.state.snrLicense, this.snrLicense)\n }\n\n snrLicense = (flag, res) => {\n //console.log(\"responde del snrLicenseFFF\",flag,res)\n if (flag) {\n //console.log(\"ENTRO AL IF\")\n this.setState({ modalInfoPay: true, loading: true })\n } else {\n this.setState({ loading: false })\n alert(\"Error\", \"algo salio mal\");\n }\n }\n\n cleanFields = () => {\n this.setState({\n\n })\n }\n\n handleClose = () => {\n this.setState({\n modalInfoPay: false, active: true,\n placeSelected: { label: 'Seleccione un Departamento', value: -1 },\n townSelected: { label: 'Seleccione un Municipio' }\n })\n /* this.setState({active:true})\n this.setState({active:true}) */\n }\n\n handleShow = () => {\n this.setState({ modalInfoPay: true })\n }\n\n render() {\n\n\n\n return (\n\n <>\n \n\n \n\n
\n

Certificados

\n \n \n \n \n \n \n \n \n
\n {this.state.selectedOperator.image_medium &&\n }\n
\n \n \n

Certificado de Tradición

\n \n\n\n { this.setState({ townSelected: value }); }}\n />\n \n {/* */}\n\n \n \n this.setState({ snrLicense: event.target.value })}\n />\n \n \n \n

Resumen de compra

\n \n \n \n \n
\n
\n
\n {!this.state.loading &&\n \n \n \n Buscar \n \n \n }\n
\n\n
\n\n \n \n Certificado\n \n
\n \n
\n
\n Celular:\n
\n \n \n
\n

\n
\n
\n Identificación:\n
\n \n \n
\n

\n
\n
\n E-mail:\n
\n \n \n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n {/* {this.state.modalNotification && this.closeModal(flag)} type={\"Pin\"} message={\"Recarga de \" + this.state.selectedOperator.name + \" realizada exitosamente\"} />}\n {this.state.loading && } */}\n \n )\n }\n}\n\n\n\nexport default Certificados;","import Odoo from 'odoo-xmlrpc';\nimport { OdooConfig } from '../utilities/odoo-config';\nimport { Desencrypt } from '../utilities/cipher';\n\nexport const searchPrestamo = async (product_id, tipo, id_solicitud, cedula, callback) => {\n\n /* console.log(\"product_id\",product_id)\n console.log(\"tipo\",tipo)\n console.log(\"id_solicitud\",id_solicitud)\n console.log(\"cedula\",cedula) */\n\n const args = [[0, product_id, id_solicitud, cedula, tipo]];\n /* console.log(\"SERVICIO ARGS ver\",args) */\n\n const config = await OdooConfig();//SESSION\n const user = await Desencrypt();\n //console.log(\"user\",user) \n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: user.user,\n password: user.password\n });\n //console.log(\"client\", client)\n const params = {\n model: 'movilgo.webservice',\n method: 'obtenerSolicitudCreditoMovilgo',\n }\n /* const args = [0, product_id, ids, cc, t]; */\n /* const newArgs = [0, product_id, id_solicitud, cedula, tipo];\n console.log(\"newArgs\", newArgs )\n let str = JSON.stringify(newArgs).replace(/\\\\/g, '');\n str = str.replace('\\'', '\\ '); \n let args = str; \n console.log(\"SERVICIO ARGS ver\",args) \n */\n\n client.connect((err, response) => {\n\n if (err) {\n //console.log(\"NOCONEXION:\", err) \n return/* callback(response, false) */;\n }\n /* else { */\n client.execute_kw(params.model, params.method, args, (err2, response2) => { /* */\n /* console.log(\"Response NOVA\", response2)\n console.log(\"err NOVA\", err2)*/\n\n if (err2) {\n /* callback(err2, false); */\n callback(err2, false, null);\n return false;\n }\n ///////start\n /* if (response2) {\n if (response2.errores && response2.errores.id) {\n callback(false, response2);\n return false;\n }\n callback(true, response2);\n return true;\n }\n return false; */\n //////end\n //console.log(\"err y respons2\", response2)\n /////solo estaba lo siguiente\n callback(response2, true, tipo);\n });\n /* } */\n })\n}\n/* export const searchPrestamo = async (product_id,tipo,id_solicitud,cedula,callback) => {\n \n \n const args = [0, product_id, id_solicitud, cedula, tipo];\n console.log(\"SERVICIO tipo ARGS\",args )\n \n const config = await OdooConfig();\n const data = await Desencrypt();\n\n\n\n const params = {\n model: 'movilgo.webservice',\n method: 'obtenerSolicitudCreditoMovilgo',\n };\n\n const client = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n console.log(\"client e nova\", client)\n client.connect((response, err ) => {\n console.log(\"responsedel concet\", response)\n console.log(\"err del conect\", err)\n if (err) { \n \n return callback(response, false,tipo)\n } else {\n client.execute_kw(params.model, params.method, args, (err, response) => {\n console.log(\"response AQUIIIIIIIIIIIIIIIIIIIIIIIIIIIII\", response);\n if (err) {\n \n console.log(\"ERRAAAAAAAAAA\", err)\n \n callback(err, false,tipo);\n return false;\n }\n callback(response, true,tipo);\n });\n }\n })\n};\n */\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Transaction } from '../../../services/product.service';\n//import { PrestamosBuscar } from '../busca';\nimport { Button, Card, Row, Container, FormControl, Modal, InputGroup } from 'react-bootstrap';\nimport { FormatMoney } from '../../../utilities/formats';\nimport MenuServices from '../../menu-services/menu-service';\nimport { LoadingMovilGo } from '../../../shared/components/loadingMovilGo';\nimport { ModalNotificationTransaction } from '../../../shared/components/modalNotificationTransaction';\nimport { jsPdfGenerator } from '../../../shared/components/pdfTransaction';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\n//import { dataPrestamo } from '../busca';\n//import { ModalNotificationTransaction } from '../../shared/components/modalNotificationTransaction';\n//import { cleanup } from '@testing-library/react';\n//import {FormatMoney} from '../../../shared/utilities/formats';\n\nexport const Pago = (props) => {\n //const {/* data, */loading ,/* productId,document,closeAction, */clean,setLoading } = props; \n const [pago, setPago] = useState(\"\");\n const [valorPagoError, setValorPagoError] = useState('');\n const [flagButton, setFlagButton] = useState(false)//esta asociado a la desactivación del botón de pago \n const [flagError, setFlagError] = useState(false)\n const [loading, setLoading] = useState(false);\n const [notification, setNotification] = useState(false);\n /* const clearData = () => {\n }; */\n\n const deuda = () => {\n if (parseInt(props.data.valor_deuda) === 0) {\n const info = () => toast.info('MóvilGo, Estos datos no tienen deuda pendiente');\n info()\n if (info) {\n props.clean()\n }\n /* alert('MovilGo, Estos datos no tienen deuda pendiente',\n [{text: 'Ok', onPress: () => {props.closeAction()}}]) */\n }\n }\n\n const verifyFields = (flag) => {\n setLoading(true);\n setFlagButton(true) //esta asociado a la desactivación del botón de pago\n\n try {\n const product = {\n product_id: props.productId,\n atributes: {\n valorPagar: pago,\n idsolicitud: props.data.account_move_id,\n cedula: props.document,\n cliente_nombre: props.data.partner_name,\n tipo: 'pago'\n }\n }\n //console.log(\"Variable product PAGO\",product) \n Transaction(product, navigateNext);\n\n } catch (error) {\n const errorr = () => toast.error(\"Error, Problemas al obtener datos de sesión\");\n errorr();\n //alert(\"Error, Problemas al obtener datos de sesión\");\n //this.setState({ \"loading\": false });\n }\n /* } */\n };\n\n /* const Error = (id) => {\n console.log(\"esto ingreso al error\") \n getTableFromDB(ERROS_SCHEMA, true)\n .then((response) => {\n \n response.forEach(element => {\n console.log(\"response de los errores\",element) \n if(element.id===id){\n Alert.alert('Error ',element.comment);\n } \n });\n //this.setState({soats: response}); \n })\n .catch((err) => console.error(err));\n }; */\n\n\n\n const navigateNext = (flag, response) => {\n // console.log(\"respuesta del PAGO \", response) //console.log(\"flag del pago \",flag) \n // console.log(\"----->PAGO\", pago)\n if (flag) {\n if (response.errores) {\n if (response.errores.observacion) {\n const error = () => toast.error('Error,' + response.errores.observacion);\n error(); /* alert('Error ',response.errores.observacion); //setLoading(false);*/\n } else { // setLoading(false);\n Error(response.errores.id)\n }\n } else { //setLoading(false); \n const success = () => toast.success('Móvilgo, ¡Tu transacción fue exitosa!');\n success(); /* alert('Movilgo, ¡Tu transacción fue exitosa!');*/\n props.finish(true)\n props.closeAction();\n props.rst(response, props, pago)\n //setNotification(true);\n }\n } else {\n if (response) {\n if (response.errores) {\n const error = () => toast.error('Error,' + response.errores.observacion);\n error(); //alert('Error', response.errores.observacion/* , [ {text: 'Volver', onPress: () => clearData()},] */ //);\n } else {\n const error = () => toast.error('Error en la transacción');\n error(); //alert('Error', 'Error en la transaccion '/* , [ {text: 'Volver', onPress: () => clearData()},] */ //);\n }\n }\n }\n };\n\n useEffect(() => {\n // console.log(\"---> CONTENIDO PROPS\", props)\n // const values = props\n // dataPrestamo(values)\n deuda();\n }, []);\n\n return (\n <>\n {loading && }\n \n \n

Datos del pago

\n \n \n \n {/* Modal con la información del pago a realizar */}\n
\n
\n
\n

Cliente

\n

{props.data.partner_name}

\n {/*

{data.partner_name}

*/}\n

Solicitud

\n

{props.data.account_move_id}

\n {/*

{data.account_move_id}

*/}\n

Documento

\n

{props.document}

\n

Saldo pendiente

\n

{FormatMoney(props.data.valor_deuda)}

\n

Saldo a cancelar

\n { setPago(e.target.value) }}\n />\n
\n {/* {
\n
\n
} */}\n
{flagError && (

{valorPagoError}

)}
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n );\n};\n\nPago.propTypes = {\n vehicle: PropTypes.object,\n closeAction: PropTypes.func,\n};\nPago.defaultProps = {\n vehicle: {},\n closeAction: () => { },\n};\n\nconst styles =/* StyleSheet.create */({\n\n marco: {\n margin: 5,\n borderWidth: 1,\n padding: 5,\n borderColor: '#078fa4',\n borderRadius: 10\n },\n title: {\n fontWeight: 'bold',\n },\n container: {\n paddingHorizontal: 10,\n maxHeight: '100%',\n //backgroundColor: '#078FA5'\n },\n titleSummary: {\n alignSelf: 'center',\n fontWeight: 'bold',\n fontSize: 28,\n color: '#07A2BA',\n },\n colContainer: {\n width: '32%',\n },\n rowContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n marginVertical: 5,\n },\n});\n","import React, { useState/*, useEffect*/ } from 'react';\n//import PropTypes from 'prop-types';\nimport { Button, Card, Row, Container, FormControl } from 'react-bootstrap';\n//import { FormatMoney } from '../../../utilities/formats';\nimport { Transaction } from '../../../services/product.service';\nimport { LoadingMovilGo } from '../../../shared/components/loadingMovilGo';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nexport const Desembolso = (props) => {\n\n //el de pago funciona // const { data, loading, productId, document, closeAction, clean, setLoading } = props;\n const [flagButton, setFlagButton] = useState(false)//esta asociado a la desactivación del botón de pago \n const [loadinglocal, setLoadingl] = useState(false);\n\n const Desembolsar = () => {\n\n setLoadingl(true); //activa loading movilgo\n setFlagButton(true) //esta asociado a la desactivación del botón de pago\n\n try {\n const product = {\n //product_id: productId, \n product_id: props.productId,\n atributes: {\n // valorPagar: data.solicitud_valoraprobado,\n //idsolicitud: data.id,\n //cedula: document,\n //cliente_nombre: data.partner_name,\n valorPagar: props.data.solicitud_valoraprobado,\n idsolicitud: props.data.id,\n cedula: props.document,\n cliente_nombre: props.data.partner_name,\n tipo: 'venta'\n }\n }\n // console.log(\"ENTRA rendija props: \", props)\n // console.log(\"------> DATOS PARA ENVIAR A TRANSACTION: \", product.atributes.cedula)\n\n //navigateNext()\n Transaction(product, navigateNext);\n } catch (error) {\n const errorr = () => toast.error(\"Error, Problemas al obtener datos de sesión\");\n errorr();\n\n /* alert(\"Error\", \"Problemas al obtener datos de sesión\"); */\n }\n };\n\n const navigateNext = (flag, response) => {\n // console.log(\"ENTRA flag: \", flag)\n // console.log(\"ENTRA response: \", response)\n\n\n //console.log(\"ENTRA props: \", props.data.id)\n if (flag) {\n //console.log(\"ENTRA 1\")\n if (response.errores) {\n //console.log(\"ENTRA 2\")\n if (response.errores.observacion) {\n // console.log(\"ENTRA 3\")\n const error = () => toast.error('Error,' + response.errores.observacion);\n error();\n /* if(error){ this.clearData(); } */\n /* alert('Error ',response.errores.observacion); setLoading(false); */\n } else {\n //console.log(\"ENTRA 4\")\n Error(response.errores.id)/* setLoading(false); */\n }\n } else {\n //console.log(\"ENTRA 5\")\n props.setLoading(false);\n //////////// \n const success = () => toast.success('Móvilgo, ¡Tu transacción fue exitosa!');\n success();\n /* if(error){ this.clearData(); } */\n /* alert('Movilgo, ¡Tu transacción fue exitosa!'); */\n //console.log(\"ENTRA RENDIJAJAJA\", props.closeAction())\n props.finish(true)\n props.closeAction();\n props.rst(response, props, null)\n props.clean();\n }\n\n } else {\n\n //console.log(\"ENTRA 6\")\n /*props.rst(response, props) */\n\n //const error = () => toast.error('Error en la transacción');\n //props.finish(true)\n props.clean();\n props.closeAction();\n const error = () => toast.error(response.errores.observacion);\n error();\n //props.setLoading(false);\n /* alert('Error en la transacción'); */\n }\n };\n\n return (\n <>\n {loadinglocal && }\n \n \n

Datos del Crédito

\n \n \n \n
\n

Cliente

\n {/*

{document}

*/}\n

{props.document}

\n
\n
\n

Solicitud

\n {/*

{data.id}

*/}\n

{props.data.id}

\n
\n
\n

Valor aprobado

\n {/*

{data.solicitud_valoraprobado}

*/}\n

{props.data.solicitud_valoraprobado}

\n
\n
\n

Fecha de solicitud

\n {/*

{data.fecha_solicitud}

*/}\n

{props.data.fecha_solicitud}

\n
\n \n \n
\n
\n
\n
\n \n );\n};\n\n\nconst styles = ({\n title: {\n fontWeight: 'bold',\n },\n container: {\n paddingHorizontal: 10,\n maxHeight: '100%',\n //backgroundColor: '#078FA5'\n },\n titleSummary: {\n alignSelf: 'center',\n fontWeight: 'bold',\n fontSize: 28,\n color: '#07A2BA',\n },\n colContainer: {\n width: '42%',\n },\n rowContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n marginVertical: 5,\n },\n});\n","import React, {/* PureComponent,useEffect ,*/useEffect, useState/* , Fragment, useRef */ } from 'react';\nimport { Button, Card, Row, Container, FormControl, Modal, /* InputGroup, */ModalBody } from 'react-bootstrap';\n//import { Container, Row, Col, Form, Card, Button, Image} from 'react-bootstrap';\n//import { DateToString } from '../../utilities/formats';\n//import { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\n//import { Prestamos } from '../prestamos';\n//import { Link } from 'react-router-dom';\nimport { searchPrestamo } from '../../services/nova.service';\nimport Select from \"react-select\";\nimport { Pago } from './componentes/pago';\nimport { Desembolso } from './componentes/desembolso';\nimport { LoadingMovilGo } from '../../shared/components/loadingMovilGo';\nimport { ModalNotificationTransaction } from '../../shared/components/modalNotificationTransaction';\nimport { jsPdfGenerator } from '../../shared/components/pdfTransaction';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { ManagmentErrors } from '../../shared/components/managmentErrors';\n\nexport const PrestamosBuscar = (props) => {\n\n /* const [cedula, setCedula] = useState(\"\");\n const [id_solicitud, setId_solicitud] = useState(\"\"); */\n /* const [cedula, setCedula] = useState(\"105456925\");\n const [id_solicitud, setId_solicitud] = useState(\"6079\"); */\n const [cedula, setCedula] = useState(\"987085244\");\n const [id_solicitud, setId_solicitud] = useState(\"6081\");\n const [tipo, setTipo] = useState(\"\");\n const [produc_id, setProduc_id] = useState('');\n const [showDesembolso, setShowDesembolso] = useState(false);\n const [showPago, setShowPago] = useState(false);\n const [loading, setLoading] = useState(false);\n const [data, setData] = useState({});\n const [notification, setNotification] = useState(false);\n const [dataPago, setDataPago] = useState();\n const [dataInfo, setDataInfo] = useState();\n const [deuda, setDeuda] = useState();\n const [abonado, setAbonado] = useState(0);\n\n var cedulita = 0;\n\n const clearData = () => {\n setLoading(false);\n setShowDesembolso(false)\n setShowPago(false)\n setCedula('');\n setId_solicitud('');\n };\n\n const searchDisburse = (datatipo) => {\n\n setLoading(true)\n setTipo(datatipo)\n\n const newLocal = JSON.stringify(props.mitecnova).replace(/\\\\/g, '');\n let str = newLocal;\n str = newLocal.replace('[', '');\n str = str.replace(']', '');\n const productNova = JSON.parse(str);\n\n setProduc_id(productNova.id)\n\n //console.log(\"NOVA\", productNova.id)\n\n if (datatipo === \"venta\") {\n //searchedData()\n searchPrestamo(productNova.id, datatipo, id_solicitud, cedula, searchedData)\n } else {\n searchPrestamo(productNova.id, datatipo, id_solicitud, cedula, searchedData)\n }\n }\n\n const searchedData = (res, flag, tipo2) => {\n\n //console.log(\"----> INFORMACION cedula, id_solicitud\", cedula, id_solicitud)\n if (flag) {\n // console.log(\"1\")\n if (res.errores) {\n // console.log(\"2\")\n const error = () => toast.error(res.errores.observacion);\n error()\n alert('Error, ' + res.errores.observacion);\n setLoading(false)\n } else {\n //console.log(\"3\")\n if (res.solictud_ids.length === 0) {\n //console.log(\"4\")\n //alert( 'Error, Por favor verifique la información ingresada' ) \n const success = () => toast.error(\"Error, Por favor verifique la información ingresada\");\n success();\n setLoading(false)\n } else {\n //console.log(\"5\")\n if (tipo2.toString() === 'venta') {\n setData(res.solictud_ids[0])\n setShowDesembolso(true);\n } else {\n // console.log(\"6\")\n setData(res.solictud_ids[0])\n setShowPago(true)\n }\n }\n }\n } else {\n /* console.log(\"7\")\n setLoading(false)\n //setData(res.solictud_ids[0])\n setShowDesembolso(true); */\n /* alert( 'Error, Por favor verifique los datos. Si el error persiste comuniquese con MovilGo',\n [{text: 'Volver', onPress: () => clearData()}],\n ); */\n //const message = ManagmentErrors(\"response.errores.id\");\n //const notify = () => toast(\"Wow so easy!\");\n\n //const message = ManagmentErrors();\n const error = () => toast.error(\"Error, Por favor verifique los datos. Si el error persiste comuniquese con MóvilGo\");\n error();\n }\n };\n\n const saveInfoPay = (responsePago, info, abono) => {\n //console.log(\"recibo \", responsePago)\n //console.log(\"info \", info)\n // console.log(\"ABONO \", abono)\n setDataPago(responsePago)\n setDataInfo(info)\n if (info.data.valor_deuda) {\n // console.log(\"PAGO \", info.data.valor_deuda)\n setDeuda(info.data.valor_deuda)\n console.log(\"valor_deuda \", deuda)\n } else {\n // console.log(\"V dese \", info.data.solicitud_valoraprobado)\n setDeuda(info.data.solicitud_valoraprobado)\n // console.log(\"valoraprobado \", deuda)\n // //console.log(\"llega document antes\", dataInfo.document)\n // //cedulita = info.document;\n // console.log(\"cedulita \", info.document);\n // setId_solicitud(info.data.id)\n // console.log(\" llega id_solicitud \", id_solicitud)\n }\n setAbonado(abono)\n //closeModal()\n }\n\n const closeModal = (flag, response) => {\n setNotification(flag);\n\n // console.log(\"flag\", flag, response)\n // console.log(\"cedula\", cedula,)\n // console.log(\"DEUDA\", deuda)\n // console.log(\"id_solicitud\", id_solicitud)\n // console.log(\"--->dataPago\", dataPago) \n var data = []\n if (abonado) {\n data = [\n \"Factura No: \" + dataPago.valida.id,\n \"Fecha:\" + dataPago.valida.fecha,\n \"No.Aprobacion:\" + dataPago.valida.numero_aprobacion,\n \"Id. Cliente: \" + cedula,\n \"Id. Solicitud: \" + id_solicitud,\n \"Valor del Abono: \" + abonado,\n \"Saldo: \" + (deuda - abonado),\n // \"Deuda: \" + (deuda - abonado),\n ]\n }\n else {\n // console.log(\"FINcedula\", cedula)\n // console.log(\"FINid_solicitud\", id_solicitud)\n data = [\n \"Factura No: \" + dataPago.valida.id,\n \"Fecha:\" + dataPago.valida.fecha,\n \"No.Aprobacion:\" + dataPago.valida.numero_aprobacion,\n \"Id. Cliente: \" + dataInfo.document,\n \"Id. Solicitud: \" + dataInfo.data.id,\n \"Valor del Desembolso: \" + deuda,\n //\"Saldo: \" + (deuda - abonado),\n ]\n // console.log(\"FINcedula 2\", cedula)\n // console.log(\"FINid_solicitud 2\", id_solicitud)\n }\n\n //console.log(\"DATADATA\", data)\n jsPdfGenerator(data);\n clearData();\n }\n return (\n <>\n {loading && }\n \n
\n
\n \n

Consulta de Crédito



\n \n \n \n

Ingrese el Id

\n { setId_solicitud(e.target.value) }}\n />\n

\n

Ingrese n° Cédula

\n { setCedula(e.target.value) }}\n />\n

\n

¿Qué desea realizar?

\n\n \n\n \n\n { { setShowDesembolso(false) }; { setLoading(false) } }} backdrop=\"static\" >\n \n Realizar Desembolso\n \n \n setShowDesembolso(false)}\n clean={() => clearData()}\n setLoading={(flag) => setLoading(loading)}\n finish={(flag) => setNotification(flag)}\n rst={(infoRecibo, info, abono) => (saveInfoPay(infoRecibo, info, abono))}\n //rst={(infoRecibo) => (saveInfoPay(infoRecibo))}\n />\n \n \n\n { { setShowPago(false) }; { setLoading(false) }/* clearData() */ }}\n backdrop=\"static\" >\n \n Realizar Pago\n \n \n setShowPago(false)}\n clean={() => clearData()}\n setLoading={(flag) => setLoading(loading)}\n finish={(flag) => setNotification(flag)}\n rst={(infoRecibo, info, abono) => (saveInfoPay(infoRecibo, info, abono))}\n >\n \n \n \n\n {notification &&\n closeModal(flag)} */\n closeModal={(flag) => closeModal(flag)}\n type={\"Crédito\"}\n message={\"Crédito diligenciado exitosamente\"} />\n }\n\n
\n
\n
\n
\n
\n
\n
\n {/* */}\n
\n \n );\n};\n\nconst styles = {\n title: {\n fontWeight: \"bold\",\n align: \"center\",\n },\n container: {\n paddingHorizontal: 10,\n maxHeight: \"100%\",\n //backgroundColor: '#078FA5'\n },\n titleSummary: {\n alignSelf: \"center\",\n fontWeight: \"bold\",\n fontSize: 18,\n color: \"#07A2BA\",\n },\n colContainer: {\n width: \"32%\",\n },\n rowContainer: {\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n marginVertical: 5,\n width: \"100%\",\n paddingLeft: 15,\n },\n};\n","import React from 'react';\nimport { Switch, Route, withRouter } from 'react-router-dom';\n\nimport Recargas from './screens/recargas/recargas';\nimport MenuServices from './screens/menu-services/menu-service';\nimport PaquetesComponent from './screens/paquetes/paquetes-component';\nimport RifasComponent from './screens/rifas/rifas-component';\nimport RecargasPines from './screens/recargas-pines/recargas-pines';\nimport Abonos from './screens/rifas/components/abonar';\nimport Compras from './screens/rifas/components/comprar';\nimport RecargasDeportivas from './screens/recargas-deportivas/recargas-deportivas';\nimport Caja from './screens/caja/caja';\nimport CajaFecha from './screens/cajafecha/cajafecha'\nimport { Desencrypt } from './utilities/cipher';\nimport HomeComponent from './screens/home/home-component';\nimport { Soat } from './screens/soat/soat';\nimport { SoatBuscar } from './screens/soat/buscar/buscar';\nimport { SoatComprar } from './screens/soat/comprar/comprar';\nimport { ShowRifa } from './screens/rifas/components/showRifa';\nimport { TermsAndConditions } from './screens/rifas/components/terms-and-conditions';\nimport { Political } from './screens/rifas/components/political';\nimport { Recaudo } from './screens/recaudo/recaudo';\nimport { SuperBingo } from './screens/super-bingo/super-bingo';\nimport Certificados from './screens/certificaciones/certificados';\n//import Prestamos from './screens/prestamos/prestamos';\n//import PrestamosBuscar from './screens/prestamos/buscar/busca';\nimport { PrestamosBuscar } from './screens/prestamos/busca';\nimport { Desembolso } from './screens/prestamos/componentes/desembolso';\nimport {Pago} from './screens/prestamos/componentes/pago';\n\n//import { PrestamosPagar } from './screens/prestamos/comprar/comprar';\n\nconst Routes = (props) => {\n const { products } = props;\n const data = Desencrypt(); \n\n if (data) {\n return (\n \n \n \n } />\n } />\n \n {/* PENDIENTE consumir o identificar como viene el logo de los certificados(products.recargasDeportivas, se cambia)*/}\n } /> \n\n {/* } /> */}\n } />\n } />\n } />\n \n {/* } /> */}\n \n } />\n \n \n } />\n } />\n } />\n } />\n \n } />\n } />\n } />\n \n } />\n } />\n \n \n \n \n\n\n \n )\n } else {\n return (\n \n \n \n \n \n \n )\n }\n\n}\n\nexport default withRouter(Routes);","import Odoo from 'odoo-xmlrpc';\nimport { OdooConfig, idCardoso } from '../utilities/odoo-config';\n\nlet listProducts = {};\nexport const Login = async (data, call) => {\n const config = await OdooConfig();\n const odoo = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n//console.log(\"config\",config)\nconsole.log(\"odoo\",odoo)\n odoo.connect((err, response) => {\n if (err) {\n call(1, false)\n } else {\n setData(odoo, call, data);\n data['id'] = response\n console.log(\"odoo connect\",response)\n }\n })\n}\n\nexport const setData = async (odoo, call, user) => {\n odoo.connect((err, response) => {\n if (err) {\n return call(response, false)\n } else {\n const args = [[\n 0,\n { version: 1.3, product_write_date: null, error_write_date: null, documento_write_date: null }\n ]]\n const paramsOdoo = {\n model: \"movilgo.webservice\",\n method: \"asignarDatos\",\n };\n return odoo.execute_kw(paramsOdoo.model, paramsOdoo.method, args, async (err, response) => {\n if (err) {\n call(2, false, err);\n return false;\n } else {\n if (response.parent_id == idCardoso) {\n localStorage.setItem(\"NombrePadre\",\"cardoso\")\n /* console.log(\"id del padre del if cardoso\") */\n }\n\n let data = {};\n if (response.permiso === 'cobrador') {\n data = {\n user: user,\n products: {}\n }\n if (response.errores) {\n SaveErrores(response.errores)\n }\n localStorage.setItem(\"Permission\", \"\" + response.permiso);\n call(data, true)\n } else {\n console.log(\"el response de asignarDatos: \", response);\n localStorage.setItem(\"idPadre\", response.parent_id)\n if (response.productos) {\n SaveProducts(response.productos);\n }\n if (response.errores) {\n SaveErrores(response.errores)\n }\n localStorage.setItem(\"Permission\", \"\" + response.permiso);\n data = {\n user: user,\n products: listProducts\n }\n if (response) {\n call(data, true)\n } else {\n call(0, false)\n }\n }\n\n }\n });\n }\n })\n}\n\nconst SaveErrores = async (errores) => {\n localStorage.setItem(\"Errores\", JSON.stringify(errores));\n}\n\nconst SaveProducts = async (products) => {\n /* console.log(\"PRODUCTS - login.service\", products) */\n listProducts = {};\n /* console.log(\"listProductslistProducts\", listProducts) */\n products.forEach(element => {\n /* console.log(\"ELEMENT INICIAL\", element) */\n if (element.active) {\n if (element.categ_id_name === \"Recargas\") {\n if (listProducts.recarga) {\n listProducts.recarga.push(element)\n } else {\n listProducts['recarga'] = [];\n listProducts.recarga.push(element)\n }\n } \n else if (element.categ_id_name === \"Todo incluido\" ||\n element.categ_id_name === \"Voz\" ||\n element.categ_id_name === \"Datos\" ||\n element.categ_id_name === \"Voz y Datos\" ||\n element.categ_id_name === \"TV\" ||\n element.categ_id_name === \"Aplicaciones\") {\n if (listProducts.paquete) {\n listProducts.paquete.push(element);\n } else {\n listProducts['paquete'] = [];\n listProducts.paquete.push(element)\n }\n } else if (element.categ_id_name === \"Rifas\") {\n\n if (listProducts.rifas) {\n listProducts.rifas.push(element)\n } else {\n listProducts['rifas'] = [];\n listProducts.rifas.push(element)\n }\n } else if (element.categ_id_name === \"TV\") {\n if (listProducts.tv) {\n listProducts.tv.push(element)\n } else {\n listProducts['tv'] = [];\n listProducts.tv.push(element)\n }\n } else if (element.categ_id_name === \"Pines\") {\n //console.log(\"PINES1 imagenes: \",listProducts.pines)\n if (listProducts.pinPines) {\n listProducts.pinPines.push(element)\n } else {\n listProducts['pinPines'] = [];\n listProducts.pinPines.push(element);\n }\n\n } //CONTENIDO DE PAQUETES DE PINES\n else if (element.tipo === \"pines\") {\n //console.log(\"PINES2 contenido: \",listProducts.paquetesPines) \n if (listProducts.paquetesPines) {\n listProducts.paquetesPines.push(element)\n } else {\n listProducts['paquetesPines'] = [];\n listProducts.paquetesPines.push(element);\n }\n } else if (element.categ_id_name === \"Recargas deportivas\") {\n if (listProducts.recargasDeportivas) {\n listProducts.recargasDeportivas.push(element)\n } else {\n listProducts['recargasDeportivas'] = [];\n listProducts.recargasDeportivas.push(element)\n }\n } else if (element.categ_id_name === \"Soat\") {\n //console.log(\"SOAT: \", element)\n if (listProducts.soats) {\n listProducts.soats.push(element)\n } else {\n listProducts['soats'] = [];\n listProducts.soats.push(element)\n }\n } else if (element.categ_id_name === \"Mitecnova\") {\n// console.log(\"MITECNOVA: \", element)\n if (listProducts.mitecnova) {\n listProducts.mitecnova.push(element)\n } else {\n listProducts['mitecnova'] = [];\n listProducts.mitecnova.push(element)\n }\n } else if (element.categ_id_name === \"Certificados\") {\n //console.log(\"CERTIFICADOS: \",listProducts.certificados)\n\n if (listProducts.certificados) {\n listProducts.certificados.push(element)\n \n } else {\n listProducts['certificados'] = [];\n listProducts.certificados.push(element)\n //console.log(\"certificadosave\", listProducts.certificados)\n }\n } else if (element.name === \"Carga Bolsa\") {\n localStorage.setItem(\"CargaBolsa\", element.id);\n } else if (element.categ_id_name === \"Bingo\") {\n if (listProducts.bingo) {\n listProducts.bingo.push(element)\n } else {\n listProducts['bingo'] = [];\n listProducts.bingo.push(element)\n }\n }\n }\n })\n\n}\n\n\n","import React from 'react';\n\n// Campos de solo texto\nexport const InputForm = (props) => {\n const { title = \"\", value = \"\", type = \"\", handleChange, placeholder = \"\", onBlur = () => { }, required, setError, name, error = \"\", enterKey=()=>{} } = props\n if (typeof title === 'string') {\n return (\n
\n \n { handleChange(e.target.value); setError('') }}\n onBlur={() => onBlur(name, value, required, setError)}\n onKeyDown={(e) => { if(e.keyCode === 13) {enterKey()} }}\n placeholder={placeholder}\n style={{ borderColor: error !== '' ? 'red' : '' }}\n >\n \n \n
\n )\n } else {\n return (\n
\n {title}\n { handleChange(e.target.value); setError('') }}\n onBlur={() => onBlur(name, value, required, setError)}\n placeholder={placeholder}\n style={{ borderColor: error !== '' ? 'red' : '' }}\n onKeyDown={(e) => { if(e.keyCode === 13) {enterKey()} }}\n >\n \n \n
\n )\n }\n\n}\n// Campos de solo numeros\nexport const InputNumber = (props) => {\n const { title = \"\", field = {}, type = \"\", handleChange, placeholder = \"\", onBlur = () => { } } = props\n return (\n
\n

\n handleChange(field.name, e.target.value.replace(/\\D/, ''))}\n onBlur={() => onBlur(field.name)}\n placeholder={placeholder}\n >\n \n
\n
\n )\n}\n\n\nexport const RadioForm = (props) => {\n const { title = \"\", field = {}, type = \"vertical\", handleChange, options = [] } = props\n if (type === 'horizontal') {\n return (\n
\n
\n
\n {options.map((option, i) => {\n return (\n \n )\n })}\n
\n
\n
\n )\n } else {\n return (\n
\n
\n
\n {options.map((option, i) => {\n return (\n
\n
\n
)\n })}\n
\n
\n
\n )\n }\n\n}\n\nexport const ComboBoxForm = props => {\n const { title = \"\", field = {}, handleChange, options = [] } = props\n return (\n
\n
\n
\n \n\n
\n
\n
\n )\n}\n\n\n// tipo date\nexport const DateForm = props => {\n const { title = \"\", field = {}, handleChange, type = \"\" } = props\n return (\n
\n
\n
\n handleChange(field.name, e.target.value)}\n />\n
\n
\n
\n )\n}","import { faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport React, { useState } from 'react'\nimport { Button, Modal } from \"react-bootstrap\";\n\n\nexport const Config = (props) => {\n const { close, conexion } = props\n const [configuracionList ] = useState([{ value: 'pruebas', title: 'Pruebas' }, { value: 'produccion', title: 'Producción' }]);\n const [conexionSelect, setConexionSelect] = useState(conexion)\n\n const saveConfiguration = async () => {\n localStorage.setItem(\"conexion\", conexionSelect);\n close();\n }\n\n const onChange = (value) => {\n setConexionSelect(value);\n }\n\n\n return (\n close()}\n >\n \n Configuración\n \n \n \n
\n
Conexión
\n
\n \n\n
\n\n
\n\n
\n \n \n \n\n \n )\n}","import React, { useEffect, useState } from 'react'\nimport { Button, Modal } from 'react-bootstrap'\nimport { Login } from '../../services/login.service';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCog, faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { LoadingMovilGo, } from '../../shared/components/loadingMovilGo';\nimport { InputForm } from '../../shared/components/inputs';\nimport { Config } from './components/config';\n\nexport const LoginComponent = (props) => {\n\n const { onLogin, viewModalLogin, loading } = props\n\n const [cargar, setCargar] = useState(false);\n const [config, setConfig] = useState(false)\n const [user, setUser] = useState(\"\");\n const [opacity, setOpacity] = useState(1);\n const [password, setPassword] = useState(\"\");\n const [errUser, setErrUser] = useState(\"\");\n const [errPass, setErrPass] = useState(\"\");\n const [conexionSelect, setConexionSelect] = useState('')\n\n const login = async () => {\n let campos = [{ name: 'name', value: user, required: true, setError: setErrUser },\n { name: 'password', value: password, required: true, setError: setErrPass },]\n\n //let allOk = true;\n campos.forEach(element => {\n //console.log(\"ELEMENTE LOGIN\", element)\n const verify = verifyField(element.name, element.value, element.required, element.setError);\n if (verify) { //allOk = false;\n }\n });\n\n const data = { user, password };\n if (user === '' && password === '') {\n onLogin(3, false)\n } else if (user === '') {\n onLogin(4, false)\n } else if (password === '') {\n onLogin(5, false)\n } else {\n setCargar(true);\n setOpacity(0.4);\n Login(data, onLogin);\n }\n // console.log(\"USUARIO\", data)\n }\n\n useEffect(() => {\n setCargar(false);\n setOpacity(1);\n const conexion = localStorage.getItem(\"conexion\");\n if (conexion) {\n setConexionSelect(conexion)\n } else {\n localStorage.setItem(\"conexion\", \"produccion\")\n }\n }, [loading])\n\n const verifyField = (name, value, required, setError) => {\n\n let errorMessage = \"\";\n if (required) {\n if (typeof (value) == 'string') {\n if (value.trim() === \"\") {\n errorMessage = \"Este campo es obligatorio\";\n }\n }\n }\n if (errorMessage !== \"\") {\n setError(errorMessage);\n return true;\n } else {\n return false;\n }\n }\n\n const handleClose = () => {\n viewModalLogin(false)\n }\n\n useEffect(() => {\n }, [])\n\n return (\n <>\n
\n {cargar && }\n {
\n \n \n Iniciar Sesión\n \n \n \n
\n \n
\n Usuario}\n required={true} enterKey={login} error={errUser} placeholder=\"Usuario\"\n onBlur={(name, value, required, setError) => verifyField(name, value, required, setError)}\n handleChange={(e) => { setUser(e) }}\n value={user}\n setError={setErrUser}\n />\n Contraseña}\n required={true} error={errPass} type=\"password\" placeholder=\"Contraseña\"\n onBlur={(name, value, required, setError) => verifyField(name, value, required, setError)}\n value={password} handleChange={(e) => { setPassword(e) }}\n setError={setErrPass}\n enterKey={login}\n />\n
\n \n \n \n
\n
}\n
\n {config && setConfig(false)} />}\n \n )\n}\n\n","\nimport React, { useEffect, useState } from 'react';\nimport { Navbar, Nav, NavDropdown } from 'react-bootstrap';\nimport { NavLink, Redirect } from 'react-router-dom';\nimport Modal from 'react-modal';\nimport Logo from '../../assets/logo.png';\nimport logoCardoso from '../../assets/Cardoso_Logo.png';\nimport { Button } from 'react-bootstrap'\nimport { LoginComponent } from '../../screens/login/login';\nimport { Encrypt, Desencrypt } from '../../utilities/cipher';\nimport { useToasts } from 'react-toast-notifications'\nimport { toast } from 'react-toastify';\nimport { Login } from '../../services/login.service';\nimport header from '../../assets/header/header.css';\nimport { idCardoso, idCardosoVendedor, idMobilgoVendedor, idRDominicVendedor } from '../../utilities/odoo-config';\n\n\nconst HeaderDefault = (props) => {\n const {init} = props;\n const [viewModalLogin, setViewModalLogin] = useState(false);\n const [loading, setLoading] = useState(false);\n const [userLog, setUserLog] = useState(false);\n const [userName, setUserName] = useState('preparent');\n const [redirect, setRedirect] = useState(<>);\n const [showcardoso, setShowcardoso] = useState(false);\n const [showcajas, setShowcajas] = useState(true)\n\n\n Modal.setAppElement('div')\n const { addToast } = useToasts()\n const initialiceData = async () => {\n const data = await Desencrypt();\n const Idpadre = localStorage.getItem('idPadre');\n if (data) {\n setUserName(data.user);\n setUserLog(true);\n if ((data.id == idCardosoVendedor)||(data.id == idMobilgoVendedor)||(data.id == idRDominicVendedor)){\n setShowcajas(false);\n } else {\n setShowcajas(true);\n }\n console.log(\"Datos de sesion\", data)\n \n if ((data.id == idCardosoVendedor)||(Idpadre == idCardoso)){\n setShowcardoso(true)\n } else {\n setShowcardoso( false)\n }\n } else {\n setUserName('');\n }\n }\n useEffect (()=>{\n let url = window.location.search.split(\"&&\");\n if (url[0].includes('?')){\n logueo()\n }\n \n },[])\n \n\n const logueo=()=>{\n let url = window.location.search.split(\"&&\");\n const user= JSON.stringify(url[0]).replace('?','').replace('\"', '').replace('\"', '');\n const password=url[1]\n const data ={user, password}\n console.log(\"data de la url\",data)\n Login(data, (flag, response)=>{\n if (flag){\n login(flag, response)\n setRedirect()\n \n }else{\n addToast('Error', {\n appearance: 'error',\n autoDismiss: true,\n });\n }\n });\n \n }\n\n initialiceData();\n const login = (data, flag, err) => {\n if (flag) { \n Encrypt(data.user);\n setUserName(data.user.user);\n setUserLog(true);\n setViewModalLogin(false);\n addToast('Bienvenido a MóvilGo ' + data.user.user, {\n appearance: 'success',\n autoDismiss: true,\n })\n setTimeout(() => {\n init();\n // window.location.reload();\n }, 10000);\n return\n } else {\n const errorr = JSON.stringify(\"ErrorSession TypeError: network erro\");\n\n switch (data) {\n case 1:\n addToast('Usuario y/o contraseña incorrecta.', {\n appearance: 'error',\n autoDismiss: true,\n });\n\n break;\n case 2:\n addToast(errorr, {\n appearance: 'error',\n autoDismiss: true,\n });\n break;\n\n case 3:\n addToast('Debe ingresar el usuario y la contraseña.', {\n appearance: 'error',\n autoDismiss: true,\n });\n\n break;\n case 4:\n addToast('Debe ingresar el usuario.', {\n appearance: 'error',\n autoDismiss: true,\n });\n\n break;\n case 5:\n addToast('Debe ingresar la contraseña.', {\n appearance: 'error',\n autoDismiss: true,\n });\n break;\n default:\n break;\n }\n }\n setLoading(!loading)\n\n }\n\n const closeSession = () => {\n localStorage.removeItem(\"Session\");\n localStorage.removeItem(\"Permission\");\n setUserLog(false);\n setRedirect()\n }\n return (\n <>\n \n {redirect}\n \n\n \n \n\n\n {showcardoso &&\n }\n \n\n \n \n\n\n \n \n\n {viewModalLogin && setViewModalLogin(flag)} onLogin={(resp, flag) => { login(resp, flag) }} />}\n\n \n\n \n );\n}\n\n\nexport default HeaderDefault;","import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faMapMarkerAlt,faEnvelope, faMobileAlt } from '@fortawesome/free-solid-svg-icons'\nimport movilgoFrente from '../../assets/movilgoFrente.png'\nimport Logo from '../../assets/logo.png';\n\nconst Footer = () => {\n return (\n <>\n \n
\n
\n < div className=\"row\">\n\n
\n
\n \n Capitalia Centro Empresarial - Carrera 23 # 62 - 39 (AV. Santander) - OF. 404B\n
\n
\n \n 316 819 4210\n
\n
\n \n mercadeo@movilgo.com.co\n
\n\n
© 2020 Copyright:\n Reactiva.com.co\n
\n
\n\n
\n
\n \"\"\n \"Saquenme\n
\n
\n
\n \n
\n \n );\n}\n\nexport default Footer;","import React, { PureComponent } from 'react';\nimport Routes from './routes';\nimport HeaderDefault from './shared/components/header';\nimport Footer from './shared/components/footer'\nimport { ToastProvider } from 'react-toast-notifications'\nimport Odoo from 'odoo-xmlrpc';\nimport { OdooConfig } from './utilities/odoo-config';\nimport { setData } from './services/login.service';\nimport { Desencrypt } from './utilities/cipher'\nimport fondo from './assets/fondo.png'\n\nclass App extends PureComponent {\n constructor() {\n super();\n this.state = {\n products: {}\n }\n }\n \n getListProducts = (products, flag) => {\n if (flag) { //console.log(\"PRODUCTS -App.js\", products.products)\n this.setState({ products: products.products });\n }\n }\n\n initialiceData = async () => {\n const config = await OdooConfig();\n const data = await Desencrypt();\n if (data) { //console.log(\"APP - DATA\", data)\n const permiso = localStorage.getItem('Permission');\n if (permiso !== 'cobrador') { //console.log(\"APP - permiso\", permiso)\n const odoo = new Odoo({\n url: config.host,\n port: config.port,\n db: config.database,\n username: data.user,\n password: data.password\n });\n \n setData(odoo, this.getListProducts, data);\n } //console.log(\"APP - permiso\", permiso)\n }\n }\n\n componentDidMount = () => {\n this.initialiceData();\n\n }\n render() {\n return (\n \n \n \n\n \n
\n {/* */}\n \n
\n