{"version":3,"sources":["assets/imgs/iconos/ico_message.png","assets/imgs/iconos/ico_discount.png","assets/imgs/iconos/ico_user.png","assets/imgs/iconos/ico_admin.png","assets/imgs/iconos/ico_home.png","assets/imgs/iconos/ico_profile.png","assets/imgs/ico_ticket.svg","assets/imgs/RV-03.jpg","assets/imgs/paymentMethods/red-pay.png","assets/imgs/paymentMethods/balance-pay.png","assets/imgs/red-pay-logo.png","assets/imgs/picture_help.png","assets/imgs/iconos/ico_poll.png","assets/imgs/iconos/ico_rewards.png","components/menuAside/menuAside.js","store/actions.js","store/reducers.js","store/configureStore.js","services/service.js","services/user.service.js","services/backend.service.js","components/header/header.js","components/blockScreen/blockScreen.js","pages/profile/preferences.js","hooks/shouldShowPrompt.js","hooks/iosInstallPrompt.js","hooks/webInstallPrompt.js","components/pwa/installPWA.js","components/layouts.js","helpers/cart.helper.js","services/ecommerce.service.js","pages/discount/orderDetail.js","services/companyHoliday.service.js","components/sliderHome/sliderHome.js","components/boxUserProfile/boxUserProfile.js","services/message.service.js","pages/home/home.js","pages/login/recoverPassword.js","pages/login/login.js","pages/messages/dropDownsMessage.js","services/messagePrivilige.service.js","pages/messages/inboxMessages.js","pages/messages/sentMessages.js","pages/messages/archivedMessages.js","components/CustonHooks/inputFormHook.js","services/companyPost.service.js","services/helper.service.js","components/Helpers/SelectCustom.js","pages/messages/selectMessageTo.js","components/Helpers/generalUpload.js","pages/messages/editorMessage.js","services/storage.service.js","pages/messages/messageAttachment.js","pages/messages/composeNewMessage.js","pages/messages/configurePrivileges.js","pages/messages/draftMessages.js","pages/messages/messages.js","pages/messages/answerMessage.js","pages/messages/readMessage.js","helpers/string.helper.js","services/backoffice/userProfile.service.js","components/boxPayMethod/itemPayMethod/itemPayMethodModal.js","components/boxPayMethod/boxPayMethodModal.js","components/providerModal/providerModal.js","components/hubItemProvider/hubItemProvider.js","components/itemPurchaseDetails/itemPurchaseDetails.js","components/itemPurchase/itemPurchase.js","components/boxPayMethod/itemPayMethod/itemPayMethod.js","services/control/company.service.js","components/boxPayMethod/boxPayMethod.js","components/asidePurchase/asidePurchase.js","components/toolDiscount/toolDiscount.js","pages/discount/discount.js","components/providerImage/providerImage.js","components/providerVideo/providerVideo.js","components/itemProduct/itemProduct.js","pages/discount/provider/provider.js","pages/discount/paymentCanceled.js","pages/discount/shoppingHistory/purchasedItemDetails/index.js","pages/discount/shoppingHistory/purchasedItem/index.js","pages/discount/shoppingHistory/pagination.js","pages/discount/shoppingHistory/shoppingHistory.js","pages/discount/companyShoppingHistory/purchasedItemDetails/index.js","pages/discount/companyShoppingHistory/purchasedItem/index.js","pages/discount/companyShoppingHistory/pagination.js","pages/discount/companyShoppingHistory/companyShoppingHistory.js","pages/discount/oxxoPay/oxxoPay.js","services/eventType.service.js","components/EventAdmin/searchEventType.js","services/event.service.js","components/EventAdmin/searchEvent.js","services/attendee.service.js","components/EventAdmin/searchAttendee.js","services/companyEventType.service.js","backoffice/control/searchCompEventType.js","backoffice/control/adminCompanyEventType.js","pages/profile/pending.js","pages/profile/profile.js","pages/login/resetPassword.js","components/CustonHooks/FormHook.js","services/helpContact.service.js","pages/help/help.js","backoffice/users/users.js","backoffice/users/userDetails.js","backoffice/users/bulkLoad.js","services/deparment.service.js","backoffice/control/searchDeparment.js","backoffice/control/adminDeparment.js","services/branchOffice.service.js","backoffice/control/branchOffice/searchBranchOffice.js","backoffice/control/branchOffice/branchOffice.js","services/jobRole.service.js","backoffice/control/jobRoles/editJobRole.js","backoffice/control/jobRoles/searchJobRoles.js","backoffice/control/jobRoles/adminJobRole.js","backoffice/control/notice/listNotice.js","backoffice/control/notice/editNotice.js","backoffice/control/notice/notice.js","services/backoffice/companyCustomize.service.js","backoffice/control/companyCustomize/companyCustomize.js","backoffice/control/control.js","control/company/searchCompany.js","control/company/adminCompany.js","services/backoffice/levels.service.js","control/company/editCompany.js","control/company/detailsCompany.js","services/control/balance.service.js","control/balance/searchBalance.js","control/balance/balance.js","services/backoffice/paymenttype.service.js","services/backoffice/tradingmethod.service.js","control/balance/editBalance.js","control/balance/detailsBalance.js","services/backoffice/product.service.js","control/products/searchProducts.js","control/products/products.js","control/products/editProduct.js","control/products/detailsProducts.js","services/backoffice/companyProduct.service.js","control/discount/searchDiscount.js","control/discount/discount.js","control/discount/editDiscount.js","control/discount/detailsDiscount.js","App.js","registerServiceWorker.js","index.js","assets/imgs/R_C.png","assets/imgs/iconos/ico_pass.png"],"names":["module","exports","MenuAside","activeMenu","closeAll","roleName","useSelector","state","userSettings","useState","isOpen","setIsOpen","toggleCollapse","MenuUsuario","className","to","onClick","src","IcoHome","alt","IcoProfile","IcoMessage","IcoDiscount","MenuIntermediario","IcoAdmin","Collapse","MenuEmpresa","MenuAdministrador","toggleBlocking","status","type","payload","setUserSettings","initState","companyId","countrySetting","cultureCode","isoCurrency","currency","cartQuantity","blocking","calendarStrings","lastDay","sameDay","nextDay","lastWeek","nextWeek","sameElse","createStore","action","localStorage","applyMiddleware","thunk","callApi","url","method","body","a","contentType","options","headers","JSON","stringify","store","dispatch","fetch","process","then","response","handleResponse","catch","handleError","callApiFileStorage","isFileResponse","callApiFile","blob","text","data","parse","e","ok","refreshToken","error","msg","statusText","Promise","reject","console","log","message","result","responseCode","token","userId","window","location","href","callApiNoBlocking","handleResponseNoBlocking","handleErrorNoBlocking","userService","login","logout","forgotPassword","resetPassword","editProfile","params","setItem","removeItem","swal","icon","responseMessage","formData","FormData","append","ProfileImage","nickname","trim","Notification","Preferences","Mobile","value","backendService","widgets","userProfile","userProfileActivity","GetNotificationData","CountNotificationUser","getCompanyBalance","getUserProfileBalance","active","Header","MyFun","activeBtn","history","useHistory","pad2","n","date","Date","settings","companyLogo","getFullYear","toString","getMonth","getDate","getHours","getMinutes","getSeconds","LogoCompany","tooltipOpen","setTooltipOpen","notificationInfoData","companyBalance","setCompanyBalance","useEffect","Number","creditBalance","toLocaleString","minimumFractionDigits","maximumFractionDigits","prepaidBalance","style","document","getElementsByTagName","removeChild","length","push","id","Tooltip","placement","target","toggle","BlockScreen","Modal","show","keyboard","name","color","props","useForm","handleSubmit","register","PrimaryColor","primaryColor","SecondaryColor","secondaryColor","pref","setPreferences","changePreference","setChangePreference","userPreferences","setUserPreferences","setUserNotification","handleChange","event","checked","preferences","notification","styles","primary","background","secondary","onSubmit","reload","htmlFor","for","setInstallPromptSeenToday","promptName","today","moment","toISOString","getUserShouldBePromptedToInstall","daysToWaitBeforePromptingAgain","lastPrompt","getItem","getInstallPromptLastSeenAt","daysSinceLastPrompt","diff","isNaN","useShouldShowPrompt","userShouldBePromptedToInstall","setUserShouldBePromptedToInstall","handleUserSeeingInstallPrompt","isIOS","navigator","standalone","ua","userAgent","isIPad","match","isIPhone","useIosInstallPrompt","useWebInstallPrompt","installPromptEvent","setInstallPromptEvent","beforeInstallPromptHandler","preventDefault","addEventListener","removeEventListener","prompt","userChoice","choice","outcome","InstallPWA","iosInstallPrompt","handleIOSInstallDeclined","webInstallPrompt","handleWebInstallDeclined","handleWebInstallAccepted","centered","Card","borderTopRightRadius","borderTopLeftRadius","backgroundColor","marginTop","width","CardBody","CardTitle","CardText","margin","Button","LayoutFull","useDispatch","setStateMenu","setStateBtn","companyCustom","createElement","innerHTML","appendChild","setCompanyCustom","children","LayoutLess","cartHelper","addItem","onChangeQuantity","deleteItem","deleteItemDetail","getItems","cart","items","map","provider","Items","itemtemp","item","ProductId","UrlImage","Name","ProductPrice","Price","Cant","Quantity","ProductCode","Code","Description","Descripcion","ProviderId","Reference","clean","product","total","parseFloat","quantity","productId","productPrice","productCode","urlLogoClrs","description","providerId","Total","reference","undefined","foundProvider","find","p","isNew","foundProduct","itemProvider","ProviderName","Logo","filter","ecommerceService","getProviders","getProviderProducts","getPaymentMethods","payOrder","getPurchaseOrder","getPurchaseOrderDetail","downloadSaleAsPDF","payOrderExternal","downloadSaleAsCSV","getPurchaseOrdersFromCompany","downloadSalesAsCSV","CompanyProducts","model","startDate","endDate","size","require","saveAs","OrderDetail","orderDetail","orderId","setTimeout","setState","bind","this","setCartQuantity","SuccessImg","orderNumber","format","Component","connect","useCompanyHoliday","createCompanyHoliday","updateCompanyHoliday","deleteCompanyHoliday","getCompanyHolidays","getCompanyHolidayById","getCompanyHolidayWithFilesById","getCompanyHolidayFront","handleRsponse","compayHolidayId","typeId","files","i","f","SliderHome","sliderItems","setSliderItems","temp","ch","key","companyHolidayId","file","imagePath","dots","infinite","speed","slidesToShow","slidesToScroll","autoplay","autoplaySpeed","adaptiveHeight","D_N","marginLeft","marginRight","display","BoxUserProfile","profile","setProfileInfo","urlProfileImage","middleName","lastName","firstName","jobRole","messageService","getMessage","getMessageById","createMessage","updateDraftMessage","updateMessage","deleteMessage","orderBy","Home","surveyWidget","messageWidget","rewardWidget","providerWidget","logoCrls","setWidgets","messages","setMessages","arrows","now","RecoverPassword","aria-describedby","placeholder","ref","IcoUser","Login","showLogeo","setShowLogeo","toggleLogeo","CargarLogeo","showPass","setShowPass","showIco","setShowIco","username","user","password","IcoPass","DropDownDate","title","setFilter","role","data-toggle","aria-haspopup","aria-expanded","aria-labelledby","DropDownStatus","messagePrivilegeService","deleteMessagePrivileges","addMessagePrivileges","getAllUserPrivileges","getUserPrivilege","InboxMessages","userMessages","setUserMessages","dateFilter","setDateFilter","statusFilter","setStatusFilter","isSender","setIsSender","getMessages","getUserPermissions","archiveMessage","messageDto","isReceiverArchived","rolesAdmin","includes","setIsActive","setDraft","scope","index","messageDetail","isRead","finally","messageId","readMessage","messageUserFrom","subject","createDate","SentMessage","ArchivedMessages","useInputSingleForm","callback","initialValues","inputs","setInputs","handleInputChange","persist","companyPostService","getPostUsers","DepartmentId","JobRoleId","helperService","getGenericCatalog","alert","SelectCustom","React","setItems","controller","getCatalog","selectName","onChange","handleOnChange","selectvalue","selectValue","required","disabled","valueField","textField","extraOption","SelectMessageTo","localfiles","setLocalFiles","localAttachments","setLocalAttachments","dataUsers","setDataUsers","userSelec","setuserSelec","setChecked","gridRef","useRef","handleCleanForm","cleanForm","needUpdate","setNeedUpdate","CompanyPostId","parseInt","Title","Subtitle","Text","ListUser","create","current","refreshDataGrid","update","check","setUsersTo","FormGroup","Label","filterPrivilege","users","userPrivilige","userProfileId","UserProfileId","EmployeeNo","employeeNo","department","departmentName","stopPropagation","handleSelectUser","GeneralUpload","setFiles","IsMultipe","isMultiple","TitleLabel","Input","fileList","targetfiles","handleOnChangeFiles","multiple","EditorMessage","editorState","setEditorState","count","setCount","html","content","contentBlock","htmlToDraft","contentState","ContentState","createFromBlockArray","contentBlocks","EditorState","createWithContent","wrapperClassName","editorClassName","toolbarClassName","onEditorStateChange","draftToHtml","convertToRaw","getCurrentContent","toolbar","storageService","uploadFiles","deleteStorage","addStorage","updateStorage","Id","Des","MessageAttachment","entityId","entityTypeId","sequence","download","fileName","isDelete","EntityId","EntityTypeId","Sequence","storage","handleDelete","ComposeNewMessage","messageText","attachemts","setAttachments","draft","onSave","mode","draftMessage","sendMessage","isDraft","creatMessage","forEach","attachemt","b64toBlob","b64Data","sliceSize","byteCharacters","atob","byteArrays","offset","slice","byteNumbers","Array","charCodeAt","byteArray","Uint8Array","Blob","usersTo","goMessages","ConfigurePrivileges","setCleanForm","userNoPrivilege","setUserNoPrivilege","setUserPrivilige","updateUserList","element","addPrivileges","DraftMessages","editMessage","Messages","isActive","aria-label","AnswerMessage","originMessageId","userProfileFrom","messageUserTo","setShow","ReadMessage","setMessage","useParams","isAnswer","setIsAnswer","class","onerror","locale","myName","from","isDeleted","dangerouslySetInnerHTML","__html","messagesList","answerd","ParentMessage","stringHelper","upperCapital","string","charAt","toUpperCase","userProfileService","getAll","getById","getCatalogs","edit","uploadMigrationFile","getSavedReference","getReferenceByUser","deleteReference","pageIndex","pageCount","filterBy","ascending","totalPages","list","param","providerInputValueId","referenceList","referenceId","ItemPayMethodModal","onCloseClick","showBalanceOnly","productPurchase","onlyOneClick","setOnlyOneClick","Products","PaymentMethodId","paymentMethodId","o","BoxPayMethodModal","showBalancePay","paymentMethods","setPaymentMethods","ProviderModal","modal","setModal","userProfileBalance","isBalanceOnly","showSaveReferencePanel","setshowSaveReferencePanel","inputSave","setInputSave","savedReferenceList","setSavedReferenceList","providerProducts","setProviderProducts","selectedProduct","setSelectedProduct","showSummary","setShowSummary","confirm","amount","isSaveReference","referenceData","setReferenceData","numbers","products","isVariable","providerInputValueDto","resData","togglePanel","button","closeOnEsc","timer","$","removeClass","ModalBody","min","step","selectedIndex","selectedString","getAttribute","selectedObject","cant","onSelect","data-product","inputName","toLowerCase","userProfileInputValueId","selectedReference","keyName","maxLength","CustomInput","label","onClose","inputType","HubItemProvider","currentProvider","actionProvider","addClass","providerDTO","category","noClick","providerLogo","ItemPurchaseDetails","ItemPurchase","activeAccordion","setStateAccordion","activeChevron","setStateChevron","data-parent","itemDetail","ItemPayMethod","AplicationId","redpaylogo","balancepay","companyService","get","getByCompanyId","getByDomain","getCompanyCatalog","getCompanyUsersCatalog","deleteCompany","getRVOL","domain","BoxPayMethod","companiesData","setCompaniesData","AsidePurchase","activeAside","setCart","setTotal","providerName","dangerMode","buttons","willDelete","Fragment","LogRedPay","ToolDiscount","setStateAside","Discount","currentCategory","setCurrentCategory","providerCategory","setProviderCategory","setUserProfileBalance","Nav","tabs","NavItem","providerCategoryId","NavLink","ProviderImage","urlImageVideo","ProviderVideo","urlVideo","height","frameborder","allow","allowfullscreen","ItemProduct","activeBoxTooltip","setBoxTooltip","showBoxTooltip","urlImage","restrictions","Provider","PaymentCanceled","displayName","PurchasedItemDetails","logo","subTotal","PurchasedItem","collapse","setCollapse","details","itemTypeToComponent","ITEM_TYPES","PAGE","isDisabled","ELLIPSIS","FIRST_PAGE_LINK","PREVIOUS_PAGE_LINK","NEXT_PAGE_LINK","LAST_PAGE_LINK","PaginatedPage","createUltimatePagination","ShoppingHistory","shoppingHistory","setShoppingHistory","page","setPage","currentPage","productName","companyName","userName","CompanyShoppingHistory","startOf","datesFilter","setDatesFilter","isMoreThanThreeMonths","endDateValidator","isAfter","startDateValidator","OxxoPay","eventTypeService","editEventType","getEventType","deleteEventType","forwardRef","dataGrid","setDataGrid","getEventTypes","useImperativeHandle","Table","eventTypeId","handleRowSelect","eventName","computed","actionTypeId","eventService","createEvent","updateEvent","getEvent","deleteEvent","getEvents","eventId","companyEventTypeId","eventTitle","attendeeService","createAttendee","updateAttendee","getAttendee","deleteAttendee","getAttendeeUsers","BranchOfficeId","getAttende","atendeeId","branchOfficeId","departmentId","companyEventTypeService","createCompanyActionType","updateCompanyActionType","getCompanyEventType","deletetCompanyEventType","SearchCompanyEventType","getCompanyEventTypes","eventTypeDesc","isRewarded","isNotification","reward","AdminCompanyEventType","showEdit","setShowEdit","companyEventType","CompanyEventTypeId","EventTypeId","IsRewarded","Reward","CompanyEventTypeNotificationId","IsNotification","Boolean","NotificationMessage","CompanyId","Form","gridItem","companyEventTypeNotificationId","notificationMessage","Active","Pending","setPending","asideShow","Profile","setDisabled","changeImage","setChangeImage","btnImage","setBtnImage","setReferenceList","originValues","setOriginValues","inputClass","setInputClass","placeHolderText","setPlaceHolderText","getProfileInfo","groupReference","groupBy","array","reduce","currentValue","setAsideshow","activeTab","setActiveTab","tab","accept","URL","createObjectURL","aspNetRoleName","birthday","TabContent","TabPane","tabId","readOnly","email","Object","keys","cat","allClose","ResetPassword","setInputPass","search","split","useInputForm","handleInputFileChange","contactInfoService","createContact","Help","businessName","contactInfo","reset","PictureHelp","Tab","Container","defaultActiveKey","variant","Item","Link","eventKey","Content","Pane","rows","Users","totalCount","tableData","setTableData","dropdownOpen","setDropdownOpen","getUsers","handleOrdering","ButtonDropdown","prevState","DropdownToggle","caret","DropdownMenu","right","DropdownItem","divider","aspNetUserId","gender","seniority","branchOfficeName","jobRoleName","Pagination","prev","last","next","first","ellipsis","maxButtons","boundaryLinks","pages","activePage","UserDetails","aspNetRolesCatalog","branchOfficeCatalog","departmentCatalog","jobRoleCatalog","catalogs","setCatalogs","setIsNew","setUser","classnames","roleId","defaultValue","mobile","phoneNumber","extension","hiringDate","jobRoleId","BulkLoad","useDropzone","acceptedFiles","getRootProps","getInputProps","path","deparmentService","createDeparment","updateDeparment","getDeparment","deletetDeparment","SearchDeparment","AdminDeparment","deparmentInit","DepartmentName","branchOfficeService","deleteBranchOffice","SearchBranchOffice","BranchOffice","initBranchOff","BranchOfficeName","useJobRole","createJobRole","updateJobRole","deleteJobRole","getJobRoles","EditJobRole","survey","setSurvey","newP","currentJobRole","onCancelEdit","SearchJobRole","jobs","jobsData","setJobsData","refresh","job","onSelectJobRole","AdminJobRoles","selectedJobRole","setSelectedJobRole","setRefresh","ListNotice","CompanyHolidays","CompanyHolidaysData","setCompanyHolidaysData","onNewClicked","companyHoliday","onSelectCompanyHoliday","EditNotice","CompanyHolidayId","WorkingDay","StartDate","EndDate","CompanyHoliday","setCompanyHoliday","TypeId","images","setImages","currentCompanyHoliday","formatDate","Notice","selectedCompanyHoliday","setSelectedCompanyHoliday","workingDay","companyCustomizeService","CompanyCustomizeId","CustomizeValues","CompanyLogoFile","CompanyCustomize","customizeValues","CompanyLogo","values","setValues","companyCustomizeId","companyLogoFile","customize","setCustomize","object","styleDrop","Control","SearchCompany","companies","getCompanies","stat","new_stat","statusValue","company","levelName","urlRedVoucher","paymentMethodName","AdminCompany","statusSelected","setStatus","selected","levelsService","EditCompany","levels","setLevels","telephone1","telephone2","levelId","minimunAmount","setCompany","getLevels","DetailsCompany","balanceService","getBalanceAll","alertPassword","balanceStatus","userReceiveId","tradingMethodId","balanceAmount","folio","voucherImage","paymentTypeId","balanceStatusId","succesMode","attributes","contetnType","SearchBalance","balances","balanceData","setBalanceData","onClickAction","balanceId","balance","paymentTypeName","tradingMethodName","companyReceiveId","companyReceiveName","userReceiveName","myBlob","link","pop","setAttribute","click","editable","tooltip","balanceStatusName","Balance","paymenttypeService","tradingmethodService","EditBalance","paymentType","setPaymentType","tradingMethod","setTradingMethod","companyUserProfCatalog","setCompanyUserProfCatalog","DetailsBalance","productService","getProducts","saleChannelId","SearchProducts","setData","commissionProductId","saleChannelName","cost","commission","price","EditProduct","providers","setProviders","setProducts","max","DetailsProducts","companyProductService","SearchDiscount","pecentageDiscountUser","EditDiscount","DetailsDiscount","App","useLocation","ReactGA","initialize","plugin","pageview","pathname","exact","render","x","isLocalhost","hostname","registerValidSW","swUrl","config","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","onUpdate","onSuccess","ReactDOM","StrictMode","getElementById","origin","indexOf","ready","unregister","checkValidServiceWorker","registerServiceWorker","waiting","postMessage"],"mappings":"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","file":"static/js/main.38974db8.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/ico_message.5b337d5c.png\";","module.exports = __webpack_public_path__ + \"static/media/ico_discount.6e679918.png\";","module.exports = __webpack_public_path__ + \"static/media/ico_user.0962f88d.png\";","module.exports = __webpack_public_path__ + \"static/media/ico_admin.1bc3f0bf.png\";","module.exports = __webpack_public_path__ + \"static/media/ico_home.67a5275c.png\";","module.exports = __webpack_public_path__ + \"static/media/ico_profile.ece9c6b1.png\";","module.exports = __webpack_public_path__ + \"static/media/ico_ticket.be4a5354.svg\";","module.exports = __webpack_public_path__ + \"static/media/RV-03.d0fedc31.jpg\";","module.exports = __webpack_public_path__ + \"static/media/red-pay.266d18be.png\";","module.exports = __webpack_public_path__ + \"static/media/balance-pay.b0ccff59.png\";","module.exports = __webpack_public_path__ + \"static/media/red-pay-logo.d84f2cb5.png\";","module.exports = __webpack_public_path__ + \"static/media/picture_help.410726e3.png\";","module.exports = \"data:image/png;base64,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yRdI/I73UFxD/0ZOJ4/PL1dNrKFlKfUBl8pWXCv7kceTg8hvkV3ynzUh1tKylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSesiylKQSemguyvLCHE6SZoIear0sf5esja9afMdRk/f7Djeb5ZCSNHX00Efq9lgk7/uiHG45/vFR5Ma6G8n7/YTsmkNK0lRRQ1vSQV+q22ORuO/69euPziGX49/35guvnGAj4ZfkoBxSkqaK/rkPuXqCHht+4/fEHHI5/n0nvuCHDWzktBxSkqaK/jkx+ygs66gREm4nD80hl6Pn1iwsLHylgbK8njwih5WkqaB+7kX3xPMmk3bYpdzslsNWoyzfPsmGInn/r3JzrxxWklpF38TPKj+Y/VPZTaMk7//PMV4OXY0veHZ+ceVAoybHOJebvXNoSWoFPXMP+ub92TuhspdGSY7x5hx6ZXzdXnzhVXmHysFGTY5xGTmZ7JmbkKRG0Cu7kGPIN7NvQmUfjZiwnpSfpGZ7a/jCT+WGqwYbKzFO4OOryD+RM8h/I28zxpiaeQ/5BzJ4QjrwcWUHjZMc5yKyY1bipvGFz2pq48PEeJLUtKq+qZk7c8g3ZhWWcZ+7c4f/G/daNJAxxvQ22XfxSp4HZRWOhjucYFkaY1ZLsu/emRU4Ou50d3K+hWmM6Xuy564k+2QFjoc7HkzWklC5EWOMmfdkWZ6c1VcPA0z8InVjjOlqst8+R7bO2quHAXZkrIl+BdIYY7qY7LUfk32z8ibDQPuR+F1JC9MY04tkn91InpZV1wwGjDcGnuTt24wxphPJHruFHJMV1ywGPpD81MI0xsxrsr9uIi/MamsH2/ltNnJhbjBUTsgYY7qW7K0ryDOz0trF9nZjY2fGhsNwIsYY08VkVUVXfYnsn1U2HWx3czZ6PPnxhmlYmsaYbiWrKbrpZ+QUsn1W2PSx8T3IW8m1Oa8B/rty8sYY03KGb4gRPXQTNx/i9uFZWbPHZB5I/gv5Plm3Yaob8N9DVTtmjDF1M5BVsxGfivfRfRd5dFZU9zDPHZjgYSTes/I8cgO5S3lKUlPolzvIzeSb5HRyFNklK2k+sB/bMOndyUHkWPIa8md8/lRjjKkbeuQvyOvIi8hT+Vz8Ge/Z/TxSkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkqROu9vd/j9hX/x06HLnvwAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/ico_rewards.791b7b77.png\";","import React, { useState } from 'react'\nimport { NavLink } from 'react-router-dom'\nimport { Collapse } from 'reactstrap';\n\nimport './menuAside.scss';\nimport IcoHome from '../../assets/imgs/iconos/ico_home.png'\nimport IcoProfile from '../../assets/imgs/iconos/ico_profile.png'\nimport IcoMessage from '../../assets/imgs/iconos/ico_message.png'\nimport IcoAdmin from '../../assets/imgs/iconos/ico_admin.png'\nimport IcoDiscount from '../../assets/imgs/iconos/ico_discount.png'\nimport { useSelector } from 'react-redux';\n\nexport function MenuAside({ activeMenu, closeAll }) {\n const roleName = useSelector(state => state.userSettings.roleName)\n const [isOpen, setIsOpen] = useState(false);\n const toggleCollapse = () => setIsOpen(!isOpen);\n\n const MenuUsuario = () => {\n return
\n
  • \n \n \n \"Menu\"\n \n Muro\n \n
  • \n
  • \n \n \n \"Menu\"\n \n Mi perfil\n \n
  • \n
  • \n \n \n \"Menu\"\n \n Mensajes\n \n
  • \n
  • \n \n \n \"Menu\"\n \n Tienda\n \n
  • \n
    \n }\n\n const MenuIntermediario = () => {\n return
  • \n
    \n \n \"Menu\"\n \n Intermediario \n
    \n \n \n \n
    \n \n
  • \n }\n\n const MenuEmpresa = () => {\n return
  • \n
    \n \n \"Menu\"\n \n Empresa \n
    \n \n \n \n
    \n \n
  • \n }\n\n const MenuAdministrador = () => {\n return
  • \n
    \n \n \"Menu\"\n \n Administrador \n
    \n \n \n \n
    \n \n
  • \n }\n\n return (\n \n )\n}\n","export const setCountrySetting = (countrySetting) => {\n return {\n type: \"Set_CountrySetting\",\n countrySetting\n }\n}\n\nexport const setCartQuantity = () => {\n return {\n type: \"Set_CartQuantity\"\n }\n}\n\nexport const toggleBlocking = (status) => {\n return {\n type: \"Toggle_Blocking\", \n payload: status\n }\n}\n\nexport const setUserSettings = (userSettings) => {\n return {\n type: \"Set_UserSettings\",\n userSettings\n }\n}","const initState = {\n userSettings: {\n companyId: 0,\n roleName: \"\",\n },\n countrySetting: {\n cultureCode: \"es-MX\",\n isoCurrency: \"MXN\",\n currency: \"$\"\n },\n cartQuantity: 0,\n blocking: false,\n calendarStrings: {\n lastDay: '[ayer]',\n sameDay: '[hoy]',\n nextDay: '[mañana]',\n lastWeek: '[el] dddd [anterior]',\n nextWeek: '[el] dddd',\n sameElse: '[el] DD [de] MMMM [de] yyyy'\n }\n};\n\nexport const reducers = (state = initState, action) => {\n switch (action.type) {\n case \"Set_CountrySetting\":\n return {\n ...state,\n countrySetting: action.countrySetting\n };\n case \"Set_CartQuantity\":\n return {\n ...state,\n cartQuantity: localStorage[\"cartQuantityKuimby\"]\n };\n case \"Toggle_Blocking\":\n return {\n ...state,\n blocking: action.payload\n };\n case \"Set_UserSettings\":\n return {\n ...state,\n userSettings: action.userSettings\n };\n default:\n return state;\n }\n}","import { createStore, applyMiddleware } from 'redux';\nimport thunk from 'redux-thunk';\nimport { reducers } from \"./reducers\";\n\nexport default createStore(reducers, applyMiddleware(thunk));;","/**\n * Communication with the API\n * @param {*} url\n * @param {*} method\n * @param {*} body\n * @param {*} contentType\n */\nimport { toggleBlocking } from '../store/actions'\nimport store from '../store/configureStore'\n\nexport async function callApi(url, method, body, contentType = 'application/json') {\n var options = {\n method: method,\n headers: {\n 'Content-Type': contentType,\n 'Authorization': 'Bearer ' + localStorage[\"kuimby_token\"]\n },\n body: JSON.stringify(body)\n };\n\n store.dispatch(toggleBlocking(true))\n return fetch(`${process.env.REACT_APP_API_URL}${url}`, options)\n .then(response => handleResponse(response, false))\n .catch(handleError);\n}\n\n/**\n * Communication with the API\n * @param {*} url\n * @param {*} method\n * @param {*} body\n * @param {*} contentType\n */\n\nexport async function callApiFileStorage(url, method, body, isFileResponse = true) {\n var options = {\n method: method,\n headers: {\n 'Authorization': 'Bearer ' + localStorage[\"kuimby_token\"]\n },\n body: body\n };\n\n store.dispatch(toggleBlocking(true))\n return fetch(`${process.env.REACT_APP_API_URL}${url}`, options)\n .then(response => handleResponse(response, isFileResponse))\n .catch(handleError);\n}\n\n/**\n * Communication with the API\n * @param {*} url\n * @param {*} method\n * @param {*} body\n * @param {*} contentType\n */\n\nexport async function callApiFile(url, method, body, contentType = 'application/json') {\n var options = {\n method: method,\n headers: {\n 'Content-Type': contentType,\n 'Authorization': 'Bearer ' + localStorage[\"kuimby_token\"]\n },\n body: JSON.stringify(body)\n };\n\n store.dispatch(toggleBlocking(true))\n return fetch(`${process.env.REACT_APP_API_URL}${url}`, options)\n .then(response => handleResponse(response, true))\n .catch(handleError);\n}\n\n\nexport function handleResponse(response, isFileResponse) {\n store.dispatch(toggleBlocking(false))\n if (!isFileResponse)\n return response.text()\n .then(text => {\n let data\n\n try {\n data = text && JSON.parse(text);\n }\n catch (e) {\n data = text\n }\n\n if (!response.ok) {\n if (response.status === 401)\n refreshToken();\n\n const error = data === \"\" ? { msg: response.statusText } : data ?? { msg: response.statusText }\n return Promise.reject(error);\n }\n\n return data;\n });\n else return response.blob();\n}\n\nexport function handleError(error) {\n store.dispatch(toggleBlocking(false))\n console.log('error', error)\n if (error.message === \"Failed to fetch\")\n error.message = \"El servicio no se encuentra disponible temporalmente\";\n return Promise.reject(error);\n}\n\nasync function refreshToken() {\n if (localStorage[\"kuimby_refresh_token\"]) {\n if (localStorage[\"kuimby_refresh_token\"] != \"updating\") {\n localStorage[\"kuimby_token\"] = localStorage[\"kuimby_refresh_token\"];\n localStorage[\"kuimby_refresh_token\"] = \"updating\";\n callApi(`/auth/refreshtoken`, 'POST')\n .then((result) => {\n if (result.responseCode === \"00\") {\n localStorage['roleName'] = result.data.roleName;\n localStorage['kuimby_token'] = result.data.token;\n localStorage['kuimby_refresh_token'] = result.data.refreshToken;\n localStorage['userId'] = result.data.userId;\n } else {\n localStorage['kuimby_refresh_token'] = \"\";\n window.location.href = \"/login\";\n }\n });\n }\n }\n else\n window.location.href = \"/login\";\n}\n\n//Sin bloquear la pantalla\nexport async function callApiNoBlocking(url, method, body, contentType = 'application/json') {\n var options = {\n method: method,\n headers: {\n 'Content-Type': contentType,\n 'Authorization': 'Bearer ' + localStorage[\"kuimby_token\"]\n },\n body: JSON.stringify(body)\n };\n\n return fetch(`${process.env.REACT_APP_API_URL}${url}`, options)\n .then(response => handleResponseNoBlocking(response, false))\n .catch(handleErrorNoBlocking);\n}\n\nexport function handleResponseNoBlocking(response, isFileResponse) {\n if (!isFileResponse)\n return response.text()\n .then(text => {\n let data\n\n try {\n data = text && JSON.parse(text);\n }\n catch (e) {\n data = text\n }\n\n if (!response.ok) {\n if (response.status === 401)\n refreshToken();\n\n const error = data === \"\" ? { msg: response.statusText } : data ?? { msg: response.statusText }\n return Promise.reject(error);\n }\n\n return data;\n });\n else return response.blob();\n}\n\nexport function handleErrorNoBlocking(error) {\n console.log('error', error)\n if (error.message === \"Failed to fetch\")\n error.message = \"El Servicio no se encuentra disponible\";\n return Promise.reject(error);\n}","import { callApi, callApiFileStorage } from './service'\nimport swal from \"sweetalert\"\n\nexport const userService = {\n login,\n logout,\n forgotPassword,\n resetPassword,\n editProfile\n};\n\n/**\n * Login\n */\nasync function login(params) {\n return callApi('/Auth/Login', 'POST', params)\n .then((result) => {\n if (result.responseCode === \"00\") {\n localStorage.setItem('roleName', result.data.roleName);\n localStorage.setItem('kuimby_token', result.data.token);\n localStorage.setItem('kuimby_refresh_token', result.data.refreshToken);\n localStorage.setItem('userId', result.data.userId);\n console.log(result.data);\n return result.data;\n } else {\n return false;\n }\n });\n}\n\n/**\n * Logout\n */\nasync function logout() {\n localStorage.removeItem('kuimby_token');\n localStorage.removeItem('kuimby_refresh_token');\n localStorage.removeItem('roleName');\n}\n\n/*\n Send email to recovery password\n */\nasync function forgotPassword(params) {\n return callApi('/Auth/ForgotPassword', 'POST', params)\n .then((result) => {\n if (result.responseCode === \"00\") {\n swal({ text: \"Se ha enviado un link a tu correo para reestablecer tu contraseña\", icon: \"success\" }).then(() => window.location.href = \"/login\")\n } else {\n swal({ text: result.responseMessage, icon: \"error\" });\n }\n })\n}\n\n/*\n Set the new user password\n */\nasync function resetPassword(params) {\n return callApi('/Auth/ResetPassword', 'POST', params)\n .then((result) => {\n if (result.responseCode === \"00\") {\n swal({ text: \"Tu contraseña ha sido restablecida.\", icon: \"success\" }).then(() => window.location.href = \"/login\")\n } else {\n swal({ text: result.responseMessage, icon: \"error\" });\n }\n })\n}\n\n\nasync function editProfile(data, companyId) {\n const formData = new FormData();\n formData.append(\"CompanyId\", companyId);\n formData.append(\"ProfileImage\", data.ProfileImage != null ? data.ProfileImage[0] : null);\n if (data.nickname != null && data.nickname != 'undefined') {\n if (data.nickname.trim() == '') {\n formData.append(\"nickname\", \"a5cdc20f-c8fe-48df-be43-fc56f43a198a\");\n\n }\n else {\n formData.append(\"nickname\", data.nickname);\n }\n }\n if (data.Notification != null) {\n formData.append(\"Notification\", data.Notification ? \"1\" : \"0\");\n }\n\n\n if (data.Preferences != null) formData.append(\"Preferences\", data.Preferences);\n if (data.Mobile != null) formData.append(\"Mobile\", data.Mobile);\n return callApiFileStorage('/Account/EditProfile', 'POST', formData, false)\n .then((result) => {\n if (result.responseCode === \"00\") {\n return swal({ text: \"El perfil se actualizó correctamente\", icon: \"success\" }).then((value) => {\n return true;\n });\n } else {\n swal({ text: result.responseMessage, icon: \"error\" });\n return false;\n }\n });\n}","import { callApi, callApiNoBlocking } from './service'\n\n\nexport const backendService = {\n widgets,\n userProfile,\n userSettings,\n userProfileActivity,\n GetNotificationData,\n CountNotificationUser,\n getCompanyBalance,\n getUserProfileBalance\n}\n\nasync function widgets() {\n return callApi('/Home/Widgets', 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return null;\n }\n });\n};\n\nasync function CountNotificationUser() {\n\n return callApi('/Home/GetNotificationCount', 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return null;\n }\n });\n};\n\nasync function GetNotificationData() {\n return callApiNoBlocking('/Home/GetNotification', 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return null;\n }\n });\n};\n\n/*\nGet user profile info\n */\n\nasync function userProfile() {\n return callApi(`/BackEnd/Profile?UserId=${localStorage[\"userId\"]}`, 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n }\n else {\n return null;\n }\n });\n}\n\nasync function userSettings() {\n return callApi(\"/Home/UserSettings\", 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n }\n else {\n return {};\n }\n });\n}\n\nasync function userProfileActivity(active) {\n return callApi(\"/BackOffice/Attendee/GetUserActivity/\" + active, 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n }\n else {\n return {};\n }\n });\n}\n\n\nasync function getCompanyBalance() {\n return callApi(\"/BackEnd/Company/Balance\", 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n }\n else {\n return null;\n }\n });\n}\n\nasync function getUserProfileBalance() {\n return callApi(\"/BackEnd/UserProfile/Balance\", 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n }\n else {\n return null;\n }\n });\n}\n","import React, { useEffect, useState } from \"react\";\nimport { NavLink, useHistory } from \"react-router-dom\";\n\nimport { Tooltip } from \"reactstrap\";\nimport { Dropdown, DropdownMenu, DropdownToggle } from \"reactstrap\";\n\nimport \"./header.scss\";\n\n//import LogoCompany from '../../assets/imgs/R_C.png'\nimport { userService } from \"../../services/user.service\";\nimport { useSelector } from \"react-redux\";\nimport { backendService } from \"../../services/backend.service\";\nimport LogoCompany from \"../../assets/imgs/R_C.png\";\n\nexport function Header({ MyFun, activeBtn }) {\n const history = useHistory();\n function pad2(n) {\n return n < 10 ? \"0\" + n : n;\n }\n const date = new Date();\n const settings = useSelector((state) => state.userSettings);\n const companyLogo =\n settings.companyLogo != null\n ? settings.companyLogo +\n \"?v=\" +\n date.getFullYear().toString() +\n pad2(date.getMonth() + 1) +\n pad2(date.getDate()) +\n pad2(date.getHours()) +\n pad2(date.getMinutes()) +\n pad2(date.getSeconds())\n : LogoCompany;\n const [dropdownOpen, setDropdownOpen] = useState(false);\n const toggle = () => {\n setDropdownOpen((prevState) => !prevState);\n };\n\n const [tooltipOpen, setTooltipOpen] = useState(false);\n const togglex = () => setTooltipOpen(!tooltipOpen);\n\n const logout = () => {\n var style = document.getElementsByTagName(\"style\");\n document\n .getElementsByTagName(\"head\")[0]\n .removeChild(style[style.length - 1]);\n userService.logout().then(() => {\n history.push(\"/\");\n });\n };\n\n const [notificationInfo, setNotificationInfo] = useState({\n notificationInfoData: [],\n });\n\n //useEffect(() => {\n // getNotificationInfo();\n //});\n\n async function getNotificationInfo() {\n backendService.GetNotificationData().then((result) => {\n if (result) {\n setNotificationInfo({ notificationInfoData: result });\n }\n });\n }\n\n //Company balance\n const countrySetting = useSelector(state => state.countrySetting);\n const [companyBalance, setCompanyBalance] = useState(null);\n\n useEffect(() => {\n if (settings.roleName == \"Admin_Intermediario\" || settings.roleName == \"Admin_Empresa\")\n getCompanyBalance();\n }, [settings.roleName]);\n\n const getCompanyBalance = () => {\n backendService.getCompanyBalance()\n .then(result => setCompanyBalance(result));\n }\n\n return (\n
    \n
    \n \n \n \n \n \n \n \"Brand\"\n \n
    \n
    \n {/*
    \n
    \n
    \n
    \n
    \n \n
    \n
    */}\n
    \n {companyBalance &&\n
    \n
    \n {countrySetting.currency}{(Number(companyBalance.creditBalance)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}\n Saldo de compañía a credito\n
    \n
    \n {countrySetting.currency}{(Number(companyBalance.prepaidBalance)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}\n Saldo de compañía de pre pago\n
    \n
    }\n {/*\n \n \n \n \n {\" \"}\n {notificationInfo.notificationInfoData.length}{\" \"}\n \n \n \n \n {notificationInfo.notificationInfoData.length > 0 ? (\n notificationInfo.notificationInfoData.map((item) => (\n \n \n {item.companyEventTypeNotificationMessage}{\" \"}\n {item.notificationMessage}{\" \"}\n \n \n ))\n ) : (\n \n No hay nuevas notificaciones\n \n )}\n \n */}\n \n \n \n \n Cerrar sesión\n \n \n \n
    \n
    \n
    \n );\n}\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Modal } from 'react-bootstrap';\nimport Spinner from 'react-spinkit';\nimport './blockScreen.scss';\n\nexport const BlockScreen = () => {\n const blocking = useSelector(state => state.blocking);\n return (\n \n
    \n \n
    \n
    \n );\n}","import React, { useEffect, useState } from 'react';\nimport { userService } from '../../services/user.service'\nimport { useSelector } from 'react-redux';\nimport { useForm } from 'react-hook-form';\n\n\nexport function Preferences(props) {\n const { register, handleSubmit } = useForm();\n const companyId = useSelector(state => state.userSettings.companyId)\n const PrimaryColor = useSelector(state => state.userSettings.primaryColor);\n const SecondaryColor = useSelector(state => state.userSettings.secondaryColor);\n const [pref, setPreferences] = useState({Preferences: \"\", ProfileImage: null, Mobile: null, Notification: false})\n const [changePreference, setChangePreference] = useState(false)\n const [userPreferences, setUserPreferences] = useState({ PrimaryColor: null, Notification: false })\n const [userNotification, setUserNotification] = useState(true)\n\n\n const handleChange = (event) => {\n if (event.target.id == \"PrimaryColor\" && userPreferences.PrimaryColor != \"PrimaryColor\") {\n setChangePreference(true);\n setUserPreferences({ PrimaryColor: \"PrimaryColor\" });\n // setPreferences( {... pref, Preferences: JSON.stringify({ \"PrimaryColor\": PrimaryColor })\n // });\n setPreferences( {... pref, Preferences: \"PrimaryColor\" });\n }\n if (event.target.id == \"SecondaryColor\" && userPreferences.PrimaryColor != \"SecondaryColor\") {\n setChangePreference(true);\n setUserPreferences({ PrimaryColor: \"SecondaryColor\",});\n // setPreferences({... pref, Preferences: JSON.stringify({ \"PrimaryColor\": SecondaryColor })\n // });\n setPreferences({... pref, Preferences: \"SecondaryColor\" });\n }\n if (event.target.id ==\"notification\"){\n // debugger\n setChangePreference(true);\n setUserNotification(event.target.checked)\n setPreferences( {... pref, Notification : event.target.checked });\n }\n }\n\n \n \n \n \n useEffect(() => {\n // debugger\n if (props.preferences != null) {\n // let obj = JSON.parse(props.preferences)\n setPreferences({... pref, Preferences: props.preferences, Notification: props.notification })\n // setUserPreferences({ PrimaryColor: obj.PrimaryColor });\n setUserPreferences({ PrimaryColor: props.preferences });\n setUserNotification(props.notification)\n }\n else\n {\n // setPreferences({... pref, Preferences: JSON.stringify({ \"PrimaryColor\": PrimaryColor }), Notification: props.notification })\n setPreferences({... pref, Preferences: \"PrimaryColor\", Notification: props.notification })\n // setUserPreferences( { PrimaryColor: PrimaryColor });\n setUserPreferences( { PrimaryColor: \"PrimaryColor\" });\n setUserNotification(props.notification)\n\n }\n },[props]);\n\n const styles = {\n primary: {\n background: PrimaryColor\n },\n secondary: {\n background: SecondaryColor\n }\n }\n const onSubmit = (data, e) =>\n {\n // debugger\n userService.editProfile(pref, companyId)\n .then((result) => {\n if (result)\n {\n window.location.reload();\n }\n });\n }\n \n return (\n
    \n
    Preferencias
    \n
    \n
    \n
    \n \n
    \n {/* */}\n \n\n \n
    \n
    \n {/* */}\n \n \n
    \n

    \n {/*
    \n \n \n
    */}\n {changePreference ? : null}\n
    \n
    \n
    \n\n )\n}","import { useState } from 'react';\nimport moment from 'moment';\n\nconst getInstallPromptLastSeenAt = (promptName) => localStorage.getItem(promptName);\n\nconst setInstallPromptSeenToday = (promptName) => {\n const today = moment().toISOString();\n localStorage.setItem(promptName, today);\n};\n\nfunction getUserShouldBePromptedToInstall(promptName, daysToWaitBeforePromptingAgain) {\n const lastPrompt = moment(getInstallPromptLastSeenAt(promptName));\n const daysSinceLastPrompt = moment().diff(lastPrompt, 'days');\n return isNaN(daysSinceLastPrompt) || daysSinceLastPrompt > daysToWaitBeforePromptingAgain;\n}\n\nconst useShouldShowPrompt = (promptName, daysToWaitBeforePromptingAgain = 30) => {\n const [userShouldBePromptedToInstall, setUserShouldBePromptedToInstall] = useState(\n getUserShouldBePromptedToInstall(promptName, daysToWaitBeforePromptingAgain)\n );\n\n const handleUserSeeingInstallPrompt = () => {\n setUserShouldBePromptedToInstall(false);\n setInstallPromptSeenToday(promptName);\n };\n\n return [userShouldBePromptedToInstall, handleUserSeeingInstallPrompt];\n};\nexport default useShouldShowPrompt;","import useShouldShowPrompt from './shouldShowPrompt';\n\nconst iosInstallPromptedAt = 'iosInstallPromptedAt';\n\nconst isIOS = () => {\n // @ts-ignore\n if (navigator.standalone) {\n //user has already installed the app\n return false;\n }\n const ua = window.navigator.userAgent;\n const isIPad = !!ua.match(/iPad/i);\n const isIPhone = !!ua.match(/iPhone/i);\n return isIPad || isIPhone;\n};\n\nconst useIosInstallPrompt = () => {\n const [userShouldBePromptedToInstall, handleUserSeeingInstallPrompt] = useShouldShowPrompt(iosInstallPromptedAt);\n\n return [isIOS() && userShouldBePromptedToInstall, handleUserSeeingInstallPrompt];\n};\nexport default useIosInstallPrompt;","import { useState, useEffect } from 'react';\nimport useShouldShowPrompt from './shouldShowPrompt';\n\nconst webInstallPromptedAt = 'webInstallPromptedAt';\n\nconst useWebInstallPrompt = () => {\n const [installPromptEvent, setInstallPromptEvent] = useState();\n const [userShouldBePromptedToInstall, handleUserSeeingInstallPrompt] = useShouldShowPrompt(webInstallPromptedAt);\n\n useEffect(() => {\n const beforeInstallPromptHandler = event => {\n event.preventDefault();\n\n // check if user has already been asked\n if (userShouldBePromptedToInstall) {\n // store the event for later use\n setInstallPromptEvent(event);\n }\n };\n window.addEventListener('beforeinstallprompt', beforeInstallPromptHandler);\n return () => window.removeEventListener('beforeinstallprompt', beforeInstallPromptHandler);\n }, [userShouldBePromptedToInstall]);\n\n const handleInstallDeclined = () => {\n handleUserSeeingInstallPrompt();\n setInstallPromptEvent(null);\n };\n\n const handleInstallAccepted = () => {\n // show native prompt\n installPromptEvent.prompt();\n\n // decide what to do after the user chooses\n installPromptEvent.userChoice.then(choice => {\n // if the user declined, we don't want to show the prompt again\n if (choice.outcome !== 'accepted') {\n handleUserSeeingInstallPrompt();\n }\n setInstallPromptEvent(null);\n });\n };\n return [installPromptEvent, handleInstallDeclined, handleInstallAccepted];\n};\nexport default useWebInstallPrompt;","import React from 'react';\nimport { Button, Modal, Card, CardText, CardBody, CardTitle } from 'reactstrap';\nimport useIosInstallPrompt from '../../hooks/iosInstallPrompt';\nimport useWebInstallPrompt from '../../hooks/webInstallPrompt';\n\nexport const InstallPWA = () => {\n const [iosInstallPrompt, handleIOSInstallDeclined] = useIosInstallPrompt();\n const [webInstallPrompt, handleWebInstallDeclined, handleWebInstallAccepted] = useWebInstallPrompt();\n\n if (!iosInstallPrompt && !webInstallPrompt) {\n return null;\n }\n return (\n \n \n \n \n \n

    Instalar App

    \n
    \n {iosInstallPrompt && (\n <>\n \n Tap\n \n then "Add to Home Screen"\n \n
    \n \n
    \n \n )}\n {webInstallPrompt && (\n
    \n \n \n
    \n )}\n
    \n
    \n
    \n );\n};","import React, { useState, useEffect } from 'react'\nimport { MenuAside } from './menuAside/menuAside'\nimport { Header } from './header/header'\nimport { backendService } from '../services/backend.service';\nimport { useDispatch } from 'react-redux';\nimport { setUserSettings } from '../store/actions'\nimport { BlockScreen } from './blockScreen/blockScreen';\nimport { Preferences } from '../pages/profile/preferences';\nimport { InstallPWA } from './pwa/installPWA';\n\nexport function LayoutFull(props) {\n const dispatch = useDispatch();\n const [activeMenu, setStateMenu] = useState('')\n const MenuPurchaseBox = () => {\n setStateMenu(activeMenu === '' ? ' is-show' : '')\n }\n\n const [activeBtn, setStateBtn] = useState('')\n const BtnSet = () => {\n setStateBtn(activeBtn === '' ? ' visible_menu' : '')\n }\n\n const MyFun = () => {\n BtnSet();\n MenuPurchaseBox();\n }\n const setCompanyCustom = (companyCustom) => {\n var userPreferences = companyCustom.preferences!= null? JSON.parse(companyCustom.preferences):null\n var style = document.createElement('style')\n style.type = 'text/css';\n style.innerHTML = `:root {--primary_color: ${userPreferences && userPreferences.PrimaryColor != null ? userPreferences.PrimaryColor: companyCustom.primaryColor};--secondary_color: ${companyCustom.secondaryColor};}`;\n document.getElementsByTagName('head')[0].appendChild(style);\n }\n useEffect(() => {\n backendService.userSettings()\n .then((result) => {\n dispatch(setUserSettings(result))\n setCompanyCustom(result);\n });\n \n }, []);\n\n return (\n
    \n \n MyFun()}\n />\n\n
    \n
    MyFun()} activeBtn={activeBtn} history={props.history} />\n {props.children}\n
    \n \n
    \n )\n}\n\nexport function LayoutOperations(props) {\n const dispatch = useDispatch();\n const [activeMenu, setStateMenu] = useState('')\n const MenuPurchaseBox = () => {\n setStateMenu(activeMenu === '' ? ' is-show' : '')\n }\n\n const [activeBtn, setStateBtn] = useState('')\n const BtnSet = () => {\n setStateBtn(activeBtn === '' ? ' visible_menu' : '')\n }\n\n const MyFun = () => {\n BtnSet();\n MenuPurchaseBox();\n }\n\n useEffect(() => {\n backendService.userSettings()\n .then((result) => dispatch(setUserSettings(result)));\n }, []);\n\n return (\n
    \n \n MyFun()}\n />\n\n
    \n
    MyFun()} activeBtn={activeBtn} history={props.history} />\n {props.children}\n
    \n \n\n
    \n )\n}\n\nexport function LayoutLess(props) {\n return (\n
    \n \n {props.children}\n \n\n
    \n )\n}","import swal from \"sweetalert\";\n\nexport const cartHelper = {\n addItem,\n onChangeQuantity,\n deleteItem,\n deleteItemDetail,\n getItems,\n clean\n}\n\nasync function addItem(product, provider) {\n debugger\n let cart = JSON.parse(localStorage[\"cartKuimby\"])\n let total = parseFloat(localStorage[\"cartTotalKuimby\"]);\n let quantity = parseFloat(localStorage[\"cartQuantityKuimby\"]);\n\n let item = {\n ProductId: product.productId,\n Name: product.name,\n Price: product.productPrice,\n Quantity: 1,\n Code: product.productCode,\n UrlImage: provider.urlLogoClrs,\n Descripcion: product.description,\n ProviderId: product.providerId,\n Total: product.productPrice,\n Reference: product.reference\n }\n\n let foundProvider = cart.find(p => p.ProviderId == provider.providerId);\n if (foundProvider != undefined) {\n let isNew = true;\n if(!item.Reference)\n {\n let foundProduct = foundProvider.Items.find(p => p.ProductId == item.ProductId);\n if (foundProduct != undefined) {\n foundProduct.Quantity += item.Quantity;\n foundProduct.Total = foundProduct.Quantity * item.Price\n isNew = false;\n }\n }\n else\n {\n let foundProduct = foundProvider.Items.find(p => p.ProductId == item.ProductId && p.Reference.reference == item.Reference.reference);\n if (foundProduct != undefined) {\n swal({ text: \"Esta referencia ya esta en carrito de compras\", icon: \"error\" });\n return false;\n }\n }\n \n if (isNew) foundProvider.Items.push(item)\n\n foundProvider.Total += item.Total;\n foundProvider.Quantity += item.Quantity;\n } else {\n let itemProvider =\n {\n ProviderId: provider.providerId,\n ProviderName: provider.name,\n Logo: provider.urlLogoClrs,\n Total: item.Price,\n Quantity: item.Quantity,\n Items: [item]\n }\n\n cart.push(itemProvider)\n }\n\n localStorage[\"cartTotalKuimby\"] = total + item.Price\n localStorage[\"cartKuimby\"] = JSON.stringify(cart)\n localStorage[\"cartQuantityKuimby\"] = quantity + 1;\n}\n\nasync function onChangeQuantity(providerId, productId, value) {\n let cart = JSON.parse(localStorage[\"cartKuimby\"]);\n let total = parseFloat(localStorage[\"cartTotalKuimby\"]);\n let quantity = parseFloat(localStorage[\"cartQuantityKuimby\"]);\n\n let foundProvider = cart.find(p => p.ProviderId == providerId);\n if (foundProvider != undefined) {\n let foundProduct = foundProvider.Items.find(p => p.ProductId == productId);\n if (foundProduct != undefined) {\n\n foundProvider.Quantity -= foundProduct.Quantity;\n quantity -= foundProduct.Quantity;\n\n foundProvider.Total -= foundProduct.Total;\n total -= foundProduct.Total;\n\n foundProduct.Quantity = value;\n foundProduct.Total = foundProduct.Quantity * foundProduct.Price;\n\n foundProvider.Quantity += foundProduct.Quantity;\n quantity += foundProduct.Quantity;\n\n foundProvider.Total += foundProduct.Total;\n total += foundProduct.Total;\n }\n }\n\n localStorage[\"cartTotalKuimby\"] = total;\n localStorage[\"cartKuimby\"] = JSON.stringify(cart);\n localStorage[\"cartQuantityKuimby\"] = quantity;\n}\n\nasync function deleteItem(providerId) {\n let cart = JSON.parse(localStorage[\"cartKuimby\"]);\n let total = parseFloat(localStorage[\"cartTotalKuimby\"]);\n let quantity = parseFloat(localStorage[\"cartQuantityKuimby\"]);\n\n let foundProvider = cart.find(p => p.ProviderId == providerId);\n if (foundProvider != undefined) {\n\n total -= foundProvider.Total;\n quantity -= foundProvider.Quantity;\n cart = cart.filter(p => p.ProviderId != providerId);\n }\n\n localStorage[\"cartTotalKuimby\"] = total;\n localStorage[\"cartKuimby\"] = JSON.stringify(cart);\n localStorage[\"cartQuantityKuimby\"] = quantity;\n}\n\nasync function deleteItemDetail(providerId, productId) {\n let cart = JSON.parse(localStorage[\"cartKuimby\"]);\n let total = parseFloat(localStorage[\"cartTotalKuimby\"]);\n let quantity = parseFloat(localStorage[\"cartQuantityKuimby\"]);\n\n let foundProvider = cart.find(p => p.ProviderId == providerId);\n if (foundProvider != undefined) {\n let foundProduct = foundProvider.Items.find(p => p.ProductId == productId);\n if (foundProduct != undefined) {\n foundProvider.Quantity -= foundProduct.Quantity;\n quantity -= foundProduct.Quantity;\n\n foundProvider.Total -= foundProduct.Total;\n total -= foundProduct.Total;\n foundProvider.Items = foundProvider.Items.filter(p => p.ProductId != productId);\n\n if (foundProvider.Total == 0) cart = cart.filter(p => p.ProviderId != providerId);\n }\n }\n\n localStorage[\"cartTotalKuimby\"] = total;\n localStorage[\"cartKuimby\"] = JSON.stringify(cart);\n localStorage[\"cartQuantityKuimby\"] = quantity;\n}\n\nfunction getItems() {\n let cart = JSON.parse(localStorage[\"cartKuimby\"])\n\n let items = [];\n cart.map(provider => {\n provider.Items.map(itemtemp => {\n let item = {\n ProductId: itemtemp.ProductId,\n UrlImage: itemtemp.UrlImage,\n Name: itemtemp.Name,\n ProductPrice: itemtemp.Price,\n Cant: itemtemp.Quantity,\n ProductCode: itemtemp.Code,\n Description: itemtemp.Descripcion,\n ProviderId: itemtemp.ProviderId,\n Reference: itemtemp.Reference\n };\n items.push(item);\n })\n });\n\n return items;\n}\n\nasync function clean() {\n localStorage[\"cartTotalKuimby\"] = 0;\n localStorage[\"cartKuimby\"] = \"[]\";\n localStorage[\"cartQuantityKuimby\"] = 0;\n}","import { callApi, callApiFile } from './service'\n\nexport const ecommerceService = {\n getProviders,\n getProviderProducts,\n getPaymentMethods,\n payOrder,\n getPurchaseOrder,\n getPurchaseOrderDetail,\n downloadSaleAsPDF, \n payOrderExternal,\n downloadSaleAsCSV,\n getPurchaseOrdersFromCompany,\n downloadSalesAsCSV\n};\n\nasync function getProviders() {\n return await callApi('/Ecommerce/Providers', 'GET')\n .then(result => {\n if (result.responseCode === \"00\")\n return result.data;\n else\n return [];\n })\n .catch(error => {\n console.log('error', error);\n return []\n });\n}\n\nasync function getProviderProducts(providerId) {\n return await callApi('/Ecommerce/ProviderProducts?providerId=' + providerId, 'GET')\n .then(result => {\n if (result.responseCode === \"00\")\n return result.data;\n else\n return { CompanyProducts: [] };\n })\n .catch(error => {\n console.log('error', error);\n return { CompanyProducts: [] };\n });\n}\n\nasync function getPaymentMethods() {\n return await callApi('/Ecommerce/PaymentMethods', 'GET')\n .then(result => {\n if (result.responseCode === \"00\")\n return result.data;\n else\n return [];\n })\n .catch(error => {\n console.log('error', error);\n return [];\n });\n}\n\nasync function payOrder(model) {\n return await callApi('/Ecommerce/PayOrder', 'POST', model)\n .then(result => {\n if (result.responseCode === \"00\")\n return result.data;\n else\n return undefined;\n })\n .catch(error => {\n console.log('error', error);\n return undefined;\n });\n}\n\nasync function payOrderExternal(model) {\n return await callApi('/Ecommerce/PayOrderExternal', 'POST', model)\n .then(result => {\n return result;\n })\n .catch(error => {\n console.log('error', error);\n return error;\n });\n}\n\n\nasync function getPurchaseOrder() {\n return await callApi('/Ecommerce/PurchaseOrders', 'GET')\n .then(result => {\n if (result.responseCode === \"00\")\n return result.data;\n else\n return [];\n })\n .catch(error => {\n console.log('error', error);\n return [];\n });\n}\n\nasync function getPurchaseOrdersFromCompany(startDate, endDate) {\n return await callApi(`/Ecommerce/PurchaseOrdersCompany?startDate=${startDate}&endDate=${endDate}`, 'GET')\n .then(result => {\n if (result.responseCode === \"00\")\n return result.data;\n else\n return [];\n })\n .catch(error => {\n console.log('error', error);\n return [];\n });\n}\n\nasync function getPurchaseOrderDetail(id) {\n return await callApi('/Ecommerce/PurchaseOrderDetail?id=' + id, 'GET')\n .then(result => {\n if (result.responseCode === \"00\")\n return result.data;\n else\n return {};\n })\n .catch(error => {\n console.log('error', error);\n return {};\n });\n}\n\nasync function downloadSaleAsPDF(id) {\n return await callApiFile(`/Ecommerce/DownloadSale?orderId=${id}&fileType=PDF` , 'GET')\n .then(function (blob) {\n if (blob.size !== 0) {\n var FileSaver = require('file-saver');\n FileSaver.saveAs(blob, \"order_\" + id + \".pdf\");\n }\n })\n .catch(error => {\n console.log('error', error);\n return {};\n });\n}\nasync function downloadSaleAsCSV(id) {\n return await callApiFile(`/Ecommerce/DownloadSale?orderId=${id}&fileType=CSV` , 'GET')\n .then(function (blob) {\n if (blob.size !== 0) {\n var FileSaver = require('file-saver');\n FileSaver.saveAs(blob, \"order_\" + id + \".csv\");\n }\n })\n .catch(error => {\n console.log('error', error);\n return {};\n });\n}\n\nasync function downloadSalesAsCSV(startDate, endDate) {\n return await callApiFile(`/Ecommerce/DownloadSales?startDate=${startDate}&endDate=${endDate}` , 'GET')\n .then(function (blob) {\n if (blob.size !== 0 && blob.type !== 'text/plain') {\n var FileSaver = require('file-saver');\n FileSaver.saveAs(blob, \"orders_\" + startDate + \"-\" + endDate + \".csv\");\n }\n })\n .catch(error => {\n console.log('error', error);\n return {};\n });\n}","import React, { Component } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { cartHelper } from \"../../helpers/cart.helper\";\nimport { connect } from \"react-redux\";\nimport { setCartQuantity } from \"../../store/actions\";\nimport { ecommerceService } from \"../../services/ecommerce.service\";\nimport Moment from \"react-moment\";\n\nimport SuccessImg from \"../../assets/imgs/ico_ticket.svg\";\n\nclass OrderDetail extends Component {\n constructor(props) {\n super(props);\n this.state = {\n orderDetail: \"\",\n };\n }\n\n componentWillMount() {\n cartHelper.clean();\n this.props.setCartQuantity();\n this.orderDetail(this.props.match.params.id);\n }\n\n orderDetail = (orderId) => {\n window.setTimeout(\n function () {\n ecommerceService.getPurchaseOrderDetail(orderId).then((result) => {\n this.setState({ orderDetail: result });\n });\n }.bind(this),\n 2000\n );\n };\n\n render() {\n const { orderDetail } = this.state;\n return (\n
    \n
    \n
    \n
    \n
    \n
    \n \n \"EXITO\"{\" \"}\n \n

    ¡Compra exitosa!

    \n
    \n En breve recibirás un correo con la información de tu\n compra.\n
    \n
    \n
    \n

    \n Número de pedido: \n {orderDetail.orderNumber}\n

    \n

    \n Estado: \n {orderDetail.status}\n

    \n

    \n Fecha: \n {orderDetail.date}\n

    \n
    \n
    \n \n Ir a tienda\n \n \n Mis compras\n \n
    \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n countrySetting: state.countrySetting,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n setCartQuantity: () => dispatch(setCartQuantity()),\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(OrderDetail);\n","import { callApi, callApiFileStorage } from './service'\nimport swal from \"sweetalert\"\n\nexport const useCompanyHoliday = {\n createCompanyHoliday,\n updateCompanyHoliday,\n deleteCompanyHoliday,\n getCompanyHolidays,\n getCompanyHolidayById,\n getCompanyHolidayWithFilesById,\n getCompanyHolidayFront\n};\nasync function getCompanyHolidays() {\n return callApi('/backoffice/CompanyHoliday', 'GET').then((result) => handleRsponse(result));\n}\nasync function getCompanyHolidayById(compayHolidayId) {\n return callApi('/backoffice/CompanyHoliday/' + compayHolidayId, 'GET').then((result) => handleRsponse(result));\n}\nasync function getCompanyHolidayWithFilesById(compayHolidayId) {\n return callApi('/backoffice/CompanyHoliday/WithFiles/' + compayHolidayId, 'GET').then((result) => handleRsponse(result));\n}\nasync function getCompanyHolidayFront(typeId) {\n return callApi('/backend/CompanyHoliday/filtered/' + typeId, 'GET').then((result) => handleRsponse(result));\n}\nasync function createCompanyHoliday(params, files) {\n var data = new FormData();\n if (files)\n for (var i = 0; i < files.length; i++) {\n var f = files[i];\n data.append('files', f, f.name);\n }\n data.append(\"model\", JSON.stringify(params));\n\n return callApiFileStorage('/backoffice/CompanyHoliday', 'POST', data,false).then((result) => {\n return handleRsponse(result);\n });\n}\nasync function updateCompanyHoliday(params, files) {\n var data = new FormData();\n if (files)\n for (var i = 0; i < files.length; i++) {\n var f = files[i];\n data.append('files', f, f.name);\n }\n data.append(\"model\", JSON.stringify(params));\n return callApiFileStorage('/backoffice/CompanyHoliday', 'PUT', data, false).then((result) => handleRsponse(result));\n}\nasync function deleteCompanyHoliday(params) {\n return callApi('/backoffice/CompanyHoliday', 'DELETE', params).then((result) => handleRsponse(result));\n}\nfunction handleRsponse(result) {\n if (result.responseCode === '00')\n return result.data;\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null;\n }\n}","import React, { useState, useEffect } from 'react';\nimport Slider from \"react-slick\"\nimport D_N from \"../../assets/imgs/RV-03.jpg\";\nimport './sliderHome.scss'\n\nimport { useCompanyHoliday } from '../../services/companyHoliday.service';\n\nexport function SliderHome() {\n const [sliderItems, setSliderItems] = useState([]);\n\n useEffect(() => {\n getCompanyHolidays();\n }, []);\n\n async function getCompanyHolidays() {\n useCompanyHoliday.getCompanyHolidayFront(1).then((result) => {\n if (result) {\n var temp = [];\n result.map((ch) => {\n temp.push({\n key: ch.companyHolidayId.toString(),\n file: ch.imagePath,\n description: ch.description\n });\n });\n setSliderItems(temp);\n }\n });\n }\n\n\n const settings = {\n dots: false,\n infinite: true,\n speed: 800,\n slidesToShow: 1,\n slidesToScroll: 1,\n autoplay: true,\n autoplaySpeed: 3500,\n adaptiveHeight: true\n };\n return (\n
    \n {sliderItems && sliderItems.length > 0 ?\n \n {\n sliderItems.map(item =>\n
    \n {item.description}\n
    )\n }\n
    \n : \"Red}\n
    \n )\n}\n","import React, { useState, useEffect, Fragment } from 'react';\nimport './boxUserProfile.scss'\nimport { Link } from 'react-router-dom'\nimport { backendService } from './../../services/backend.service'\n\n\nexport function BoxUserProfile() {\n const [profile, setProfileInfo] = useState()\n useEffect(() => {\n backendService.userProfile()\n .then((data) => setProfileInfo(data))\n }, [])\n\n return (\n
    \n \n \n \n
    \n
    \n \n \"NameUser\"\n \n
    \n
    \n
    \n

    {profile && profile.middleName} {profile && profile.lastName} {profile && profile.firstName}

    \n {profile && profile.nickname}\n
    {profile && profile.jobRole}
    \n
    \n {/*
    \n
    \n
    No. Empleado
    \n

    {profile && profile.employeeNo}

    \n
    \n
    \n
    Dirección
    \n

    {profile && profile.deparment}

    \n
    \n
    \n
    Antigüedad
    \n

    {profile && profile.seniority}

    \n
    \n
    */}\n
    \n )\n}","import { callApi, callApiFileStorage } from './service'\nimport swal from \"sweetalert\"\n\nexport const messageService = {\n getMessage,\n getMessageById,\n createMessage,\n updateDraftMessage,\n updateMessage,\n deleteMessage\n}\n\nasync function getMessage(type, orderBy, status) {\n return callApi('/backend/Message?type=' + type + '&orderBy=' + orderBy + '&status=' + status, 'GET').then((result) => {\n if (result.responseCode === '00')\n return result.data\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return []\n }\n });\n}\n\nasync function getMessageById(id) {\n return callApi('/backend/Message/' + id, 'GET').then((result) => {\n if (result.responseCode === '00')\n return result.data\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null\n }\n });\n}\n\nasync function createMessage(params, files) {\n var data = new FormData();\n if (files)\n for (var i = 0; i < files.length; i++) {\n var f = files[i];\n data.append('files', f, f.name);\n }\n data.append(\"model\", JSON.stringify(params))\n\n return callApiFileStorage('/backoffice/Message', 'POST', data, false)\n .then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"Creación exitosa\", icon: \"success\" })\n return result.data\n }\n else if(result.responseCode === '06'){\n swal({ text: \"No puedes enviarte un mensaje a ti mismo\", icon: \"error\" })\n return false\n }\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null\n }\n\n });\n}\n\nasync function updateDraftMessage(params, files) {\n var data = new FormData();\n if (files)\n for (var i = 0; i < files.length; i++) {\n var f = files[i];\n data.append('files', f, f.name);\n }\n data.append(\"model\", JSON.stringify(params))\n\n return callApiFileStorage('/backoffice/Message', 'PUT', data, false)\n .then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"Actualizado correctamente\", icon: \"success\" })\n return result.data\n }\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null\n }\n });\n}\n\nasync function updateMessage(params) {\n var data = new FormData()\n data.append(\"model\", JSON.stringify(params))\n\n return callApiFileStorage('/backend/Message', 'PUT', data, false).then((result) => {\n if (result.responseCode === '00') {\n return result.data\n }\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null\n }\n });\n}\n\nasync function deleteMessage(id) {\n return callApi('/backend/Message/' + id, 'DELETE').then((result) => {\n if (result.responseCode === '00')\n return result.data\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null\n }\n });\n}","import React, { useState, useEffect } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport Slider from \"react-slick\";\n\nimport { SliderHome } from \"../../components/sliderHome/sliderHome\";\nimport { BoxUserProfile } from \"../../components/boxUserProfile/boxUserProfile\";\nimport { backendService } from \"../../services/backend.service\";\nimport { messageService } from \"../../services/message.service\";\n\n// ==ICONOS==\nimport IcoMessage from \"../../assets/imgs/iconos/ico_message.png\";\nimport IcoPoll from \"../../assets/imgs/iconos/ico_poll.png\";\nimport IcoDiscount from \"../../assets/imgs/iconos/ico_discount.png\";\nimport IcoRewards from \"../../assets/imgs/iconos/ico_rewards.png\";\nimport Moment from \"react-moment\";\nimport \"moment/locale/es\";\nimport { useSelector } from \"react-redux\";\n\nexport function Home() {\n const calendarStrings = useSelector((state) => state.calendarStrings);\n const trigger = undefined;\n const [widgets, setWidgets] = useState({\n surveyWidget: {},\n messageWidget: {},\n rewardWidget: {},\n providerWidget: [{ id: 0, logoCrls: \"\" }],\n });\n const [messages, setMessages] = useState([]);\n\n useEffect(() => {\n backendService.widgets().then((data) => {\n setWidgets(data);\n });\n\n messageService\n .getMessage(0, \"desc\", \"pending\")\n .then((data) => setMessages(data));\n }, [trigger]);\n\n const settings = {\n dots: false,\n infinite: true,\n speed: 800,\n slidesToShow: 1,\n slidesToScroll: 1,\n autoplay: true,\n autoplaySpeed: 2800,\n arrows: false,\n adaptiveHeight: true,\n };\n\n return (\n
    \n
    \n \n
    \n
    \n

    {messages.length}

    \n
    Mensajes
    \n
    \n
    \n \"Mensaje\"\n
    \n
    \n \n \n
    \n
    \n \n {widgets.providerWidget &&\n widgets.providerWidget.map((item) => (\n
    \n \n
    \n ))}\n
    \n
    \n
    \n \"Company\"\n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n );\n}\n","import React from 'react';\nimport IcoUser from '../../assets/imgs/iconos/ico_user.png'\nimport { userService } from '../../services/user.service';\nimport { useForm } from 'react-hook-form';\n\nexport function RecoverPassword() {\n const { register, handleSubmit } = useForm();\n\n const onSubmit = (data, e) => {\n userService.forgotPassword(data);\n }\n\n return (\n
    \n

    Recuperar contraseña

    \n
    Ingresa tu correo electrónico y te enviaremos las instrucciones sobre cómo restablecerla.
    \n
    \n \n \n \n \"User\"\n \n \n
    \n
    \n \n
    \n
    \n )\n}","import React, { useState } from \"react\";\nimport { userService } from \"../../services/user.service\";\nimport swal from \"sweetalert\";\nimport { RecoverPassword } from \"./recoverPassword\";\nimport \"./login.scss\";\n\nimport LogoCompany from \"../../assets/imgs/R_C.png\";\nimport IcoUser from \"../../assets/imgs/iconos/ico_user.png\";\nimport IcoPass from \"../../assets/imgs/iconos/ico_pass.png\";\n\nexport function Login(props) {\n const handleSubmit = (event) => {\n event.preventDefault();\n\n let params = {\n username: event.target.user.value,\n password: event.target.password.value,\n };\n userService.login(params).then((result) => {\n if (result) {\n let roleName = localStorage.getItem(\"roleName\");\n if (roleName === \"Operaciones\") props.history.push(\"/homeOps/1\");\n else props.history.push(\"/home\");\n } else {\n swal({ text: \"Datos incorrectos.\", icon: \"error\" });\n }\n });\n };\n\n const [showLogeo, setShowLogeo] = useState(false);\n const toggleLogeo = () => setShowLogeo(!showLogeo);\n\n const CargarLogeo = () => {\n return showLogeo === false ? (\n
    \n \n Olvidaste tu contraseña\n \n
    \n ) : (\n
    \n \n Iniciar sesión\n \n
    \n );\n };\n\n const [showPass, setShowPass] = useState(\"password\");\n const [showIco, setShowIco] = useState(\"fa-eye-slash\");\n\n const setInputPass = () => {\n setShowPass(showPass === \"password\" ? \"text\" : \"password\");\n setShowIco(showIco === \"fa-eye-slash\" ? \"fa-eye\" : \"fa-eye-slash\");\n };\n\n return (\n
    \n
    \n
    \n
    \n

    Bienvenidos

    \n

    \n Únete a este gran equipo e interactúa con nosotros\n

    \n
    \n
    \n
    \n
    \n
    \n \"Name\n
    \n\n {showLogeo === false ? (\n
    \n

    \n Ingresa a tu cuenta\n

    \n
    \n \n \n \n \"User\"\n \n \n
    \n
    \n \n \n \n {/* */}\n \n \"Password\"\n \n \n
    \n
    \n \n
    \n
    \n ) : (\n \n )}\n\n \n
    \n
    \n
    \n
    \n );\n}\n","import React from 'react'\n\nexport function DropDownDate(props) {\n let { title, setFilter } = { ...props }\n\n return (\n
    \n
    Ordenar:
    \n
    \n {title}\n\n
    \n \n \n
    \n
    \n
    \n )\n}\n\nexport function DropDownStatus(props) {\n let { title, setFilter } = { ...props }\n\n return (\n
    \n
    Mostrar:
    \n
    \n {title}\n
    \n \n \n \n
    \n
    \n
    \n )\n}","import { callApi, callApiFileStorage } from './service'\nimport swal from \"sweetalert\"\n\nexport const messagePrivilegeService = {\n deleteMessagePrivileges,\n addMessagePrivileges,\n getAllUserPrivileges,\n getUserPrivilege\n}\n\nasync function getAllUserPrivileges(){\n return callApi('/backoffice/MessageSender', 'GET').then((result) => {\n if (result.responseCode === '00')\n return result.data\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null\n }\n });\n}\n\nasync function getUserPrivilege(){\n return callApi('/backoffice/MessageSender/user', 'GET').then((result) => {\n if (result.responseCode === '00')\n return result.data\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null\n }\n });\n}\n\nasync function deleteMessagePrivileges(id){\n return callApi('/backoffice/MessageSender/' + id, 'DELETE').then((result) => {\n if (result.responseCode === '00')\n return result.data\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null\n }\n });\n}\n\nasync function addMessagePrivileges(params){\n\n return callApi('/backoffice/MessageSender', 'POST', params).then((result) => {\n if (result.responseCode === '00')\n return result.data\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null\n }\n });\n}","import React, { useEffect, useState } from 'react'\nimport { messageService } from '../../services/message.service'\nimport Moment from 'react-moment'\nimport { useHistory } from 'react-router-dom'\nimport { DropDownDate, DropDownStatus } from './dropDownsMessage'\nimport { Link } from 'react-router-dom'\nimport { useSelector } from 'react-redux';\nimport { messagePrivilegeService } from '../../services/messagePrivilige.service'\n\n\nexport default function InboxMessages(props) {\n const roleName = useSelector(state => state.userSettings.roleName)\n const [userMessages, setUserMessages] = useState([])\n const [dateFilter, setDateFilter] = useState({ title: 'Descendente', value: 'desc' })\n const [statusFilter, setStatusFilter] = useState({ title: 'Todos', value: '' })\n const [isSender, setIsSender] = useState(false);\n const history = useHistory();\n\n const readMessage = (message) => {\n message.isRead = true\n messageService.updateMessage(message)\n .finally(() => history.push(`/messages/${message.messageId}`))\n }\n\n useEffect(() => {\n getMessages()\n }, [dateFilter, statusFilter])\n\n useEffect(() => {\n getUserPermissions()\n }, [roleName])\n\n\n const archiveMessage = (messageDto) => {\n messageDto.message.isReceiverArchived = true\n\n const getMessages = () => {\n messageService.getMessage(0, dateFilter.value, statusFilter.value)\n .then((data) => setUserMessages(data))\n }\n\n messageService.updateMessage(messageDto.message)\n .then(() => getMessages())\n }\n\n const getMessages = () => {\n messageService.getMessage(0, dateFilter.value, statusFilter.value)\n .then((data) => setUserMessages(data))\n }\n\n const getUserPermissions = () => {\n messagePrivilegeService.getUserPrivilege().then((data) => {\n if (props.rolesAdmin.includes(roleName) || data) {\n setIsSender(true)\n return true;\n }\n else {\n setIsSender(false)\n return false;\n }\n })\n }\n\n const deleteMessage = (id) => messageService.deleteMessage(id).then(getMessages)\n\n return (\n
    \n\n
    \n
    \n

    Mensajes de liderazgo

    \n
    \n {isSender &&\n \n }\n
    \n
    \n
    \n
    \n \n \n
    \n\n
    \n \n \n \n \n \n \n \n \n \n \n {userMessages.map((message, index) =>\n\n \n {console.log(message)}\n \n \n \n \n \n )}\n \n
    De:AsuntoFechaAcciones
    readMessage(message.message)}>\n\n
    \n \n \n \n
    \n {\n //(message.messageUserFrom.nickname == null || message.messageUserFrom.nickname == \"\") ?\n message.messageUserFrom.middleName + \" \" + message.messageUserFrom.lastName + \" \" + message.messageUserFrom.firstName\n // : message.messageUserFrom.nickname\n }\n
    {message.message.subject}{message.message.createDate}\n archiveMessage(message)}>\n \n \n {/* deleteMessage(message.message.messageId)}>\n \n */}\n
    \n
    \n
    \n )\n}","import React, { Fragment, useEffect, useState } from 'react'\nimport { messageService } from '../../services/message.service'\nimport Moment from 'react-moment'\nimport { useHistory } from 'react-router-dom'\nimport { DropDownDate, DropDownStatus } from './dropDownsMessage'\nimport { useSelector } from 'react-redux';\nimport { messagePrivilegeService } from '../../services/messagePrivilige.service'\n\nexport default function SentMessage(props) {\n const roleName = useSelector(state => state.userSettings.roleName)\n const [userMessages, setUserMessages] = useState([])\n const [dateFilter, setDateFilter] = useState({ title: 'Descendente', value: 'desc' })\n const [statusFilter, setStatusFilter] = useState({ title: 'Todos', value: '' })\n const [isSender, setIsSender] = useState(false);\n const history = useHistory()\n const readMessage = (id) => history.push(`/messages/${id}`)\n\n useEffect(() => {\n getMessages()\n }, [dateFilter, statusFilter])\n\n useEffect(() => {\n getUserPermissions()\n }, [roleName])\n\n const getMessages = () => {\n messageService.getMessage(1, dateFilter.value, statusFilter.value)\n .then((data) => setUserMessages(data))\n }\n\n const getUserPermissions = () => {\n messagePrivilegeService.getUserPrivilege().then((data) => {\n\n if (props.rolesAdmin.includes(roleName) || data) {\n setIsSender(true)\n return true;\n }\n else {\n setIsSender(false)\n return false;\n }\n })\n }\n\n const deleteMessage = (id) => messageService.deleteMessage(id).then(getMessages)\n\n return (\n \n
    \n
    \n

    Mensajes enviados

    \n
    \n {isSender &&\n \n }\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n {userMessages.map((message, index) =>\n \n \n \n \n \n )}\n \n
    AsuntoFechaAcciones
    readMessage(message.message.messageId)}>{message.message.subject}{message.message.createDate}\n {/* deleteMessage(message.message.messageId)}>\n \n */}\n
    \n
    \n\n
    \n )\n}","import React, { Fragment, useEffect, useState } from 'react'\nimport { messageService } from '../../services/message.service'\nimport Moment from 'react-moment'\nimport { useHistory } from 'react-router-dom'\nimport { DropDownDate, DropDownStatus } from './dropDownsMessage'\nimport { useSelector } from 'react-redux';\nimport { messagePrivilegeService } from '../../services/messagePrivilige.service'\n\nexport default function ArchivedMessages(props) {\n const roleName = useSelector(state => state.userSettings.roleName)\n const [userMessages, setUserMessages] = useState([])\n const [dateFilter, setDateFilter] = useState({ title: 'Descendente', value: 'desc' })\n const [statusFilter, setStatusFilter] = useState({ title: 'Todos', value: '' })\n const [isSender, setIsSender] = useState(false);\n const history = useHistory()\n const readMessage = (id) => history.push(`/messages/${id}`)\n const deleteMessage = (id) => messageService.deleteMessage(id).then(getMessages)\n\n useEffect(() => {\n getMessages()\n }, [dateFilter, statusFilter])\n\n useEffect(() => {\n getUserPermissions()\n }, [roleName])\n\n const getMessages = () => {\n messageService.getMessage(2, dateFilter.value, statusFilter.value)\n .then((data) => setUserMessages(data))\n }\n\n const getUserPermissions = () => {\n messagePrivilegeService.getUserPrivilege().then((data) => {\n if (props.rolesAdmin.includes(roleName) || data) {\n setIsSender(true)\n return true;\n }\n else {\n setIsSender(false)\n return false;\n }\n })\n }\n\n return (\n \n\n
    \n
    \n

    Archivados

    \n
    \n {isSender &&\n \n }\n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n \n \n \n \n \n \n \n \n {userMessages.map((message, index) =>\n \n \n \n \n \n \n )}\n \n
    De:AsuntoFechaAcciones
    \n
    readMessage(message.message.messageId)}>\n
    \n \n \n \n
    \n {message.messageUserFrom.middleName + \" \" + message.messageUserFrom.lastName + \" \" + message.messageUserFrom.firstName}\n
    \n
    {message.message.subject}{message.message.createDate}\n {/* deleteMessage(message.message.messageId)}>\n \n */}\n
    \n
    \n\n
    \n )\n}","import { useState } from 'react';\n\nconst useInputSingleForm = (callback, initialValues) => {\n const [inputs, setInputs] = useState(initialValues);\n\n const handleSubmit = (event) => {\n if (event)\n event.preventDefault();\n callback();\n }\n const handleInputChange = (event) => {\n if (event.persist !== undefined) event.persist();\n if (event.target.type === 'checkbox') {\n setInputs(inputs => ({ ...inputs, [event.target.name]: event.target.checked }));\n } else {\n setInputs(inputs => ({ ...inputs, [event.target.name]: event.target.value }));\n }\n }\n\n return {\n handleSubmit,\n handleInputChange,\n inputs,\n setInputs\n };\n}\nexport default useInputSingleForm;\n","import { callApi, callApiFileStorage } from './service'\nimport swal from \"sweetalert\"\n\nexport const companyPostService = {\n getPostUsers\n};\n\nasync function getPostUsers(params) {\n return callApi('/backoffice/UserProfile/GetByFilter/' + params.DepartmentId + '/' + params.JobRoleId, 'GET').then((result) => {\n\n if (result.responseCode == '00') {\n return result.data;\n } else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null;\n }\n\n });\n}","import { callApi } from './service'\n\nexport const helperService = {\n getGenericCatalog,\n getPostUsers\n};\n\nasync function getGenericCatalog(method) {\n return callApi(method, 'GET').then((result) => {\n if (result.responseCode)\n if (result.responseCode === '00')\n return result.data;\n else {\n alert(result.responseMessage);\n return null;\n }\n else {\n return result;\n }\n }, () => {\n if (method === '/backoffice/colaborator') {\n return [{ text: 'Jorge Rial', value: 1 }]\n }\n });\n}\n\nasync function getPostUsers(params) {\n return callApi('/backoffice/CompanyPost/getPostUsers/' + params.DepartmentId + '/' + params.JobRoleId, 'GET').then((result) => {\n\n if (result.responseCode === '00') {\n return result.data;\n } else {\n alert(result.responseMessage);\n return null;\n }\n\n });\n}\n","import React from 'react';\nimport { helperService } from '../../services/helper.service';\n\nexport function SelectCustom(props) {\n const [items, setItems] = React.useState([]);\n React.useEffect(() => {\n getCatalog();\n }, [props.method]);\n\n async function getCatalog() {\n helperService.getGenericCatalog(\"/\" + (props.controller ?? \"backoffice\") + \"/\" + props.method)\n .then((result) => {\n if (result) {\n setItems(result);\n }\n else\n setItems([]);\n });\n }\n\n return (\n \n );\n}\n","import React, { useState, useRef, useEffect } from 'react'\nimport { FormGroup, Label } from \"reactstrap\"\nimport useInputSingleForm from '../../components/CustonHooks/inputFormHook'\n\nimport { companyPostService } from '../../services/companyPost.service'\nimport { SelectCustom } from '../../components/Helpers/SelectCustom'\nimport swal from \"sweetalert\"\n\nexport default function SelectMessageTo(props) {\n const [localfiles, setLocalFiles] = useState([]);\n const [localAttachments, setLocalAttachments] = useState([]);\n const [dataUsers, setDataUsers] = useState([]);\n const [userSelec, setuserSelec] = useState([]);\n const [checked, setChecked] = useState(false);\n const gridRef = useRef();\n\n useEffect(() => {\n handleCleanForm();\n }, [props.cleanForm])\n\n useEffect(() => {\n if (props.needUpdate == 1) {\n setDataUsers([])\n props.setNeedUpdate(0)\n }\n }, [props.needUpdate])\n\n const onSave = () => {\n let model = {\n CompanyPostId: parseInt(inputs.CompanyPostId), Title: inputs.Title, Subtitle: inputs.Subtitle, Text: inputs.Text, ListUser: userSelec\n }\n\n if (parseInt(inputs.CompanyPostId) === 0) {\n if (userSelec.length > 0) {\n companyPostService.create(model, localfiles, localAttachments).then((result) => {\n gridRef.current.refreshDataGrid();\n });\n } else {\n swal({ text: \"Debes elegir al menos un empleado\", icon: \"error\" });\n }\n } else {\n companyPostService.update(model, localfiles, localAttachments).then((result) => {\n gridRef.current.refreshDataGrid();\n });\n }\n setuserSelec([]);\n setDataUsers([]);\n setInputs({});\n setLocalFiles([]);\n setLocalAttachments([]);\n }\n const { inputs, handleInputChange, handleSubmit, setInputs } = useInputSingleForm(onSave, {});\n\n const handleOnSearch = () => {\n let model = {\n DepartmentId: parseInt(!inputs.DepartmentId ? 0 : inputs.DepartmentId), JobRoleId: parseInt(!inputs.JobRoleId ? 0 : inputs.JobRoleId)\n }\n companyPostService.getPostUsers(model)\n .then((result) => {\n if (result) {\n if (props.filterPrivilege) {\n let users = result\n if (props.userPrivilige.length > 0) {\n props.userPrivilige.map((user) => {\n users = users.filter((item) => item.userProfileId != user.id)\n setDataUsers(users)\n })\n }\n else {\n setDataUsers(users)\n }\n }\n else {\n setDataUsers(result);\n }\n }\n });\n }\n\n const handleSelectUser = (event, data) => {\n data.check = event.target.checked;\n if (data.check) {\n setuserSelec([...userSelec, { UserProfileId: data.userProfileId, EmployeeNo: data.employeeNo }])\n props.setUsersTo([...userSelec, { UserProfileId: data.userProfileId, EmployeeNo: data.employeeNo }])\n } else {\n let result = userSelec.filter((item) => item.UserProfileId != data.userProfileId);\n setuserSelec(result);\n props.setUsersTo(result)\n }\n event.stopPropagation()\n }\n\n const handleSelectUserAll = (event) => {\n setuserSelec([])\n setChecked(!checked)\n dataUsers.map(data => {\n if (event.target.checked && !data.check) {\n userSelec.push({ UserProfileId: data.userProfileId, EmployeeNo: data.employeeNo })\n setuserSelec([...userSelec])\n props.setUsersTo([...userSelec])\n }\n data.check = event.target.checked\n })\n }\n\n const handleCleanForm = () => {\n setuserSelec([]);\n dataUsers.map(data => {\n data.check = false;\n })\n setChecked(false);\n props.setUsersTo([])\n }\n\n return (\n
    \n Destinatarios:\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 {dataUsers.map(item => (\n \n \n \n \n\n \n \n ))}\n \n
    No. EmpleadoNombre de empleadoDepartamento\n {dataUsers.length > 0 ?\n
    \n \n \n
    : \"Seleccionar\"}\n
    {item.employeeNo}\n {\n //(item.nickname == null || item.nickname == '') ?\n item.middleName + ' ' + item.lastName + ' ' + item.firstName \n // : item.nickname\n }\n\n {item.department.departmentName}\n
    \n handleSelectUser(event, item)} checked={item.check} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n )\n}","import React, { useState } from 'react';\nimport { FormGroup, Label, Input } from \"reactstrap\";\nimport swal from \"sweetalert\"\n\nexport function GeneralUpload(props) {\n\n const [files, setFiles] = useState([]);\n const [isMultiple] = useState(props.IsMultipe != null ? props.IsMultipe : false);\n\n const maxSize = process.env.REACT_APP_MAX_FILESIZE;\n\n const handleOnChangeFile = (event) => {\n\n let fileList = [];\n if (event.target.files != null && event.target.files.length > 0) {\n\n var targetfiles = event.target.files;\n\n for (var i = 0; i < targetfiles.length; i++) {\n var file = targetfiles[i];\n var size = file.size / 1024 / 1024;\n if (size < maxSize) {\n fileList = [...fileList, file];\n } else {\n swal({ text: 'Los archivos debe ser menores a ' + maxSize + ' MB.', icon: \"error\" });\n event.target.value = null;\n break;\n }\n\n }\n setFiles(fileList);\n }\n\n if (props.handleOnChangeFiles) {\n props.handleOnChangeFiles(fileList);\n }\n }\n\n return (\n\n \n \n \n \n );\n}","import React, { useState, useEffect } from 'react'\nimport { EditorState, convertToRaw, ContentState } from 'draft-js'\nimport { Editor } from 'react-draft-wysiwyg'\nimport draftToHtml from 'draftjs-to-html'\nimport htmlToDraft from 'html-to-draftjs'\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css'\n\nexport function EditorMessage(props) {\n\tconst [editorState, setEditorState] = useState()\n\tconst [count, setCount] = useState(0)\n\n\tuseEffect(() => {\n\t\tif (count < 2) {\n\t\t\tlet html = props.content;\n\t\t\tlet contentBlock = htmlToDraft(html);\n\t\t\tif (contentBlock) {\n\t\t\t\tlet contentState = ContentState.createFromBlockArray(contentBlock.contentBlocks);\n\t\t\t\tlet editorState = EditorState.createWithContent(contentState);\n\t\t\t\tsetEditorState(editorState)\n\t\t\t}\n\t\t\tlet i = count + 1\n\t\t\tsetCount(i)\n\t\t}\n\t}, [props.content])\n\n\tconst onEditorStateChange = (editorState) => {\n\t\tprops.handleInputChange({ target: { name: props.name, value: draftToHtml(convertToRaw(editorState.getCurrentContent())) } })\n\t\tsetEditorState(editorState)\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t
    \n\t)\n}","import { callApi, callApiFileStorage } from './service'\n\nexport const storageService = {\n uploadFiles,\n deleteStorage,\n addStorage,\n updateStorage\n};\n\nasync function uploadFiles(files) {\n\n var data = new FormData();\n data.append(\"model\", JSON.stringify({ Id: 1, Des: 'aaaaa' }));\n\n for (var i = 0; i < files.length; i++) {\n var f = files[i];\n data.append('files', f, f.name);\n }\n\n return callApiFileStorage('/backoffice/uploadFiles', 'POST', data);\n}\nasync function deleteStorage(params) {\n return callApi('/backoffice/Storage', 'DELETE', params).then((result) => handleRsponse(result));\n}\nasync function addStorage(params, file) {\n var data = new FormData();\n data.append(\"model\", JSON.stringify(params));\n data.append('files', file, file.name);\n return callApiFileStorage('/backoffice/Storage', 'POST', data).then((result) => handleRsponse(result));\n}\nasync function updateStorage(params, file) {\n var data = new FormData();\n data.append(\"model\", JSON.stringify(params));\n data.append('files', file, file.name);\n return callApiFileStorage('/backoffice/Storage', 'PUT', data).then((result) => handleRsponse(result));\n}\n\nfunction handleRsponse(result) {\n if (result.responseCode === '00')\n return result.data;\n else {\n alert(result.responseMessage);\n return null;\n }\n}","import React from 'react'\nimport { storageService } from '../../services/storage.service'\n\nexport function MessageAttachment(props) {\n\n const handleDelete = (event, data) => {\n storageService.deleteStorage({ EntityId: data.entityId, EntityTypeId: data.entityTypeId, Sequence: data.sequence })\n .then(() => {\n props.setFiles(\n props.files.filter((storage) => storage.sequence !== data.sequence)\n )\n })\n event.stopPropagation()\n };\n\n return (\n \n {props.files != null && props.files.length > 0 &&\n \n {props.files.map(item => (\n \n \n\n \n {item.fileName}\n \n {props.isDelete != null && props.isDelete &&\n handleDelete(event, item)}>\n \n \n }\n \n ))}\n \n }\n \n );\n}\n","import React, { Fragment, useEffect, useState } from \"react\";\nimport useInputSingleForm from \"../../components/CustonHooks/inputFormHook\";\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\nimport SelectMessageTo from \"./selectMessageTo\";\nimport { GeneralUpload } from \"../../components/Helpers/generalUpload\";\nimport { messageService } from \"../../services/message.service\";\nimport { EditorMessage } from \"./editorMessage\";\nimport { MessageAttachment } from \"./messageAttachment\";\nimport swal from \"sweetalert\";\nimport { useSelector } from \"react-redux\";\n\nexport default function ComposeNewMessage(props) {\n const roleName = useSelector((state) => state.userSettings.roleName);\n const [message] = useState({ subject: \"\", messageText: \"\" });\n const [userSelec, setuserSelec] = useState([]);\n const [localfiles, setLocalFiles] = useState([]);\n const [attachemts, setAttachments] = useState([]);\n\n useEffect(() => {\n if (props.draft.messageId) {\n setInputs({\n subject: props.draft.subject,\n messageText: props.draft.messageText,\n });\n messageService.getMessageById(props.draft.messageId).then((data) => {\n setAttachments(data.files);\n });\n } else {\n setInputs({ subject: \"\", messageText: \"\" });\n }\n }, [props.draft]);\n\n const onSave = (mode) => {\n if (mode === \"draft\") draftMessage(mode);\n else sendMessage();\n };\n\n const draftMessage = (mode) => {\n inputs.isDraft = true;\n if (props.draft.messageId) {\n inputs.messageId = props.draft.messageId;\n updateMessage();\n } else {\n swal({\n text: \"Este mensaje se guardara sin destinatarios\",\n icon: \"info\",\n }).then((value) => {\n if (value) {\n setuserSelec([]);\n creatMessage(localfiles, mode);\n }\n });\n }\n };\n\n const sendMessage = () => {\n if (userSelec.length < 1)\n swal({ text: \"Debes elegir al menos un empleado\", icon: \"error\" });\n\n if (inputs.subject === \"\")\n swal({ text: \"El mensaje debe tener un asunto\", icon: \"error\" });\n\n if (userSelec.length > 0 && inputs.subject !== \"\") {\n let files = localfiles;\n if (attachemts) {\n attachemts.forEach((attachemt) => {\n let blob = b64toBlob(attachemt.file);\n blob.name = attachemt.fileName;\n files.push(blob);\n });\n }\n creatMessage(files);\n setLocalFiles([]);\n }\n };\n\n const b64toBlob = (\n b64Data,\n contentType = \"application/octet-stream\",\n sliceSize = 512\n ) => {\n const byteCharacters = atob(b64Data);\n const byteArrays = [];\n\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n const slice = byteCharacters.slice(offset, offset + sliceSize);\n\n const byteNumbers = new Array(slice.length);\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n\n const byteArray = new Uint8Array(byteNumbers);\n byteArrays.push(byteArray);\n }\n\n const blob = new Blob(byteArrays, { type: contentType });\n return blob;\n };\n\n const creatMessage = (files, mode) => {\n let usersTo = [];\n if (mode !== \"draft\")\n userSelec.forEach((user) => usersTo.push(user.UserProfileId));\n let data = { message: inputs, usersTo: usersTo };\n messageService.createMessage(data, files).then((data) => {\n if (data != false) {\n props.setDraft({});\n goMessages();\n }\n });\n };\n\n const updateMessage = () =>\n messageService.updateDraftMessage(inputs, localfiles).then(() => {\n props.setDraft({});\n goMessages();\n });\n\n const goMessages = () => props.setIsActive(1);\n const {\n inputs,\n handleInputChange,\n handleSubmit,\n setInputs,\n } = useInputSingleForm(onSave, message);\n\n return (\n \n
    \n
    \n

    Nuevo Mensaje

    \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n {props.draft.messageId && (\n \n )}\n \n
    \n
    \n
    \n
    \n\n \n \n
    \n {props.rolesAdmin.includes(roleName) && (\n onSave(\"draft\")}\n >\n Guardar\n \n )}\n props.setIsActive(props.draft.messageId ? 4 : 1)}\n >\n {props.draft.messageId ? \"Regresar\" : \"Cancelar\"}\n \n onSave(\"send\")}\n >\n Enviar\n \n
    \n
    \n
    \n );\n}\n","import React, { Fragment, useEffect, useState } from 'react';\nimport useInputSingleForm from '../../components/CustonHooks/inputFormHook'\nimport SelectMessageTo from './selectMessageTo';\nimport { messagePrivilegeService } from '../../services/messagePrivilige.service'\n\nexport default function ConfigurePrivileges(props) {\n const [activeAsideSurvey, setStateAsideSurvey] = useState('');\n const [userSelec, setuserSelec] = useState([]);//USUARIOS QUE VIENEN DEL DROPDOWN\n const [cleanForm, setCleanForm] = useState(false);\n const [checked, setChecked] = useState(false);\n const [userNoPrivilege, setUserNoPrivilege] = useState([]);//ARRAY PARA REMOVER PRIVILEGIOS A USUARIOS\n const [userPrivilige, setUserPrivilige] = useState([])//USUARIOS CON PRIVILEGIOS\n const [needUpdate, setNeedUpdate] = useState(0);\n\n useEffect(() => {\n messagePrivilegeService.getAllUserPrivileges().then((data) => {\n setUserPrivilige(data);\n })\n }, [])\n\n const addPrivileges = () => {\n let body = [];\n userSelec.forEach(element => {\n body.push({ id: element.UserProfileId })\n });\n messagePrivilegeService.addMessagePrivileges(body).then(() => { updateUserList() })\n setCleanForm(!cleanForm)\n }\n\n const removePrivileges = () => {\n userNoPrivilege.forEach(element => {\n messagePrivilegeService.deleteMessagePrivileges(element.userProfileId).then(() => {\n updateUserList()\n })\n });\n setUserNoPrivilege([])\n }\n\n const handleSelectUser = (event, data) => {\n data.check = event.target.checked;\n if (data.check) {\n setUserNoPrivilege([...userNoPrivilege, { userProfileId: data.id }])\n } else {\n let result = userNoPrivilege.filter((item) => item.userProfileId != data.id);\n setUserNoPrivilege(result);\n }\n event.stopPropagation()\n }\n\n const updateUserList = () => {\n messagePrivilegeService.getAllUserPrivileges().then((data) => {\n setUserPrivilige(data);\n })\n }\n\n return (\n \n
    \n Liderazgo:\n
    \n
    \n
    \n \n \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n

    Eliminar privilegios

    \n \n
    \n
    \n\n {/* Tabla de usuarios habilitados para enviar mensajes */}\n
    \n \n \n {/* */}\n \n \n {userPrivilige &&\n \n {userPrivilige.map((user, index) =>\n \n \n \n \n )}\n \n }\n
    NombrePermisos
    \n
    \n \n \n \n
    \n {user.middleName + \" \" + user.lastName + \" \" + user.firstName}\n
    \n
    \n handleSelectUser(event, user)} checked={user.check}>\n \n
    \n
    \n
    \n {/* Aside con la informacion del usuario seleccionado */}\n
    \n )\n}","import React, { Fragment, useEffect, useState } from 'react'\nimport { messageService } from '../../services/message.service'\nimport Moment from 'react-moment'\nimport { DropDownDate } from './dropDownsMessage'\nimport { useSelector } from 'react-redux';\n\nexport default function DraftMessages(props) {\n const roleName = useSelector(state => state.userSettings.roleName)\n const [userMessages, setUserMessages] = useState([])\n const [dateFilter, setDateFilter] = useState({ title: 'Descendente', value: 'desc' })\n const deleteMessage = (id) => messageService.deleteMessage(id).then(getMessages)\n const editMessage = (message) => {\n props.setDraft(message)\n props.setIsActive(5)\n }\n\n useEffect(() => {\n getMessages()\n }, [dateFilter])\n\n const getMessages = () => {\n messageService.getMessage(3, dateFilter.value, '')\n .then((data) => setUserMessages(data))\n }\n\n return (\n \n
    \n
    \n

    Borradores

    \n
    \n {props.rolesAdmin.includes(roleName) &&\n \n }\n
    \n
    \n
    \n
    \n \n
    \n\n
    \n \n \n \n \n \n \n \n \n \n {userMessages.map((message, index) =>\n \n \n \n \n \n )}\n \n
    AsuntoFechaAcciones
    editMessage(message.message)}>{message.message.subject}{message.message.createDate}\n {/* deleteMessage(message.message.messageId)}>\n \n */}\n
    \n
    \n\n
    \n )\n}","import React, { Fragment, useState } from 'react'\nimport InboxMessages from './inboxMessages'\nimport SentMessages from './sentMessages'\nimport ArchivedMessages from './archivedMessages'\nimport ComposeNewMessage from './composeNewMessage'\nimport ConfigurePrivileges from './configurePrivileges'\nimport DraftMessages from './draftMessages'\nimport { useSelector } from 'react-redux';\n\nimport './messages.scss'\n\nexport function Messages(props) {\n const roleName = useSelector(state => state.userSettings.roleName)\n const [isActive, setIsActive] = useState(1)\n const [draft, setDraft] = useState({})\n const rolesAdmin = [\"Administrador\", \"Admin_Intermediario\", \"Admin_Empresa\"];\n\n return (\n
    \n
    \n
    \n
    \n \n \n \n {rolesAdmin.includes(roleName) &&\n \n \n \n \n }\n
    \n
    \n
    \n {isActive === 1 && }\n {isActive === 2 && }\n {isActive === 3 && }\n {isActive === 4 && }\n {isActive === 5 && }\n {isActive === 6 && }\n
    \n
    \n
    \n )\n}","import React, { Fragment, useState } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport useInputSingleForm from '../../components/CustonHooks/inputFormHook'\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css'\nimport { GeneralUpload } from '../../components/Helpers/generalUpload'\nimport { messageService } from '../../services/message.service'\nimport { EditorMessage } from './editorMessage'\n\n\nexport default function AnswerMessage(props) {\n const [localfiles, setLocalFiles] = useState([])\n const history = useHistory()\n\n const onSave = () => {\n inputs.originMessageId = props.originMessageId\n inputs.userProfileFrom = props.messageUserFrom\n inputs.subject = props.subject\n let usersTo = [props.messageUserTo]\n let data = { message: inputs, usersTo: usersTo }\n createMessage(data)\n }\n\n const createMessage = (data) => messageService.createMessage(data, localfiles)\n .then(() => history.push('/messages'))\n\n const { inputs, handleInputChange, handleSubmit } = useInputSingleForm(onSave, { messageText: '' })\n\n return (\n
    \n \n Responder\n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n\n )\n}","import React, { Fragment, useEffect, useState } from 'react'\nimport { messageService } from '../../services/message.service'\nimport { backendService } from '../../services/backend.service'\nimport { useParams, Link } from 'react-router-dom'\nimport Moment from 'react-moment'\nimport AnswerMessage from './answerMessage'\nimport { MessageAttachment } from './messageAttachment'\n\nexport function ReadMessage(props) {\n const [message, setMessage] = useState()\n const [files, setFiles] = useState()\n const { id } = useParams()\n const [isAnswer, setIsAnswer] = useState(false)\n const [profile, setProfileInfo] = useState()\n\n useEffect(() => {\n messageService.getMessageById(id).then((data) => {\n setMessage(data.data);\n setFiles(data.files);\n })\n }, []);\n\n useEffect(() => {\n backendService.userProfile()\n .then((data) => setProfileInfo(data))\n }, [])\n\n const isSender = () => {\n let myName = ''\n let from = ''\n if (profile && message) {\n myName = profile.firstName + profile.middleName + profile.lastName\n from = message.messageUserFrom.middleName + message.messageUserFrom.lastName + message.messageUserFrom.firstName\n }\n return profile && message && myName === from\n }\n\n\n return (\n
    \n
    \n \n Atrás\n \n
    \n {message &&\n
    \n
    \n \n
    \n {message.message.subject}\n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    {\n //message.messageUserFrom.nickname == null || message.messageUserFrom.nickname == '' ? \n message.messageUserFrom.middleName + \" \" + message.messageUserFrom.lastName + \" \" + message.messageUserFrom.firstName\n //: message.messageUserFrom.nickname\n }
    \n
    \n
    \n
    \n
    \n
    \n\n

    {message.message.createDate}

    \n {!isSender() &&\n setIsAnswer(!isAnswer)}> Responder\n }\n
    \n
    \n
    \n
    \n {files &&\n \n
    \n Archivos:\n \n
    \n }\n
    \n
    \n
    \n
    \n
    \n
    \n {isAnswer &&\n \n\n }\n
    \n {message.messagesList &&\n \n {message.messagesList.map(answerd =>\n \n )}\n \n }\n
    \n }\n
    \n )\n}\n\nexport default function ParentMessage(props) {\n const [message, setMessage] = useState();\n const [files, setFiles] = useState();\n\n useEffect(() => {\n messageService.getMessageById(props.messageId).then((data) => {\n setMessage(data.data);\n setFiles(data.files);\n })\n }, []);\n\n return (\n \n {message &&\n
    \n
    \n \n {!message.message.originMessageId &&\n
    \n {message.message.subject}\n
    \n }\n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    {\n //message.messageUserFrom.nickname == null || message.messageUserFrom.nickname == '' ? \n message.messageUserFrom.middleName + \" \" + message.messageUserFrom.lastName + \" \" + message.messageUserFrom.firstName\n //: message.messageUserFrom.nickname\n // message.messageUserFrom.firstName + \" \" + message.messageUserFrom.middleName + \" \" + message.messageUserFrom.lastName\n }\n \n
    \n
    \n
    \n
    \n
    \n
    \n

    {message.message.createDate}

    \n
    \n
    \n
    \n
    \n
    \n {files &&\n
    \n \n
    \n }\n
    \n
    \n
    \n
    \n\n
    \n\n
    \n }\n
    \n )\n}","export const stringHelper = {\n upperCapital,\n};\n\nfunction upperCapital(string) \n{\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","import { callApi, callApiFileStorage } from '../service'\nimport swal from \"sweetalert\"\n\nexport const userProfileService = {\n getAll,\n getById,\n getCatalogs,\n create,\n edit,\n uploadMigrationFile,\n getSavedReference,\n getReferenceByUser,\n deleteReference\n};\n\nasync function getAll(pageIndex, pageCount, filterBy, filter, orderBy, ascending) {\n return callApi(`/BackOffice/UserProfile?pageIndex=${pageIndex}&pageCount=${pageCount}&filterBy=${filterBy}&filter=${filter}&orderBy=${orderBy}&ascending=${ascending}`, 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return { totalPages: 0, list: [] };\n }\n });\n}\n\nasync function getById(id) {\n return callApi('/Account/Get?userId=' + id, 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return {};\n }\n });\n}\n\nasync function getCatalogs() {\n return callApi('/BackOffice/UserProfileCatalogs', 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return {};\n }\n });\n}\n\nasync function create(param) {\n return callApi('/Account/Create', 'POST', param)\n .then((result) => {\n if (result.responseCode === \"00\") {\n swal({ text: \"Usuario guardado exitosamente\", icon: \"success\" })\n .then(() => window.location.href = \"/users\");\n } else {\n swal({ text: result.responseMessage, icon: \"error\" });\n }\n });\n}\n\n\nasync function edit(param) {\n debugger\n return callApi('/Account/Edit', 'POST', param)\n .then((result) => {\n if (result.responseCode === \"00\") {\n swal({ text: \"Usuario guardado exitosamente\", icon: \"success\" })\n .then(() => window.location.href = \"/users\");\n } else {\n swal({ text: result.responseMessage, icon: \"error\" });\n }\n });\n}\n\nasync function uploadMigrationFile(companyId, file) {\n const formData = new FormData();\n formData.append(\"file\", file);\n return callApiFileStorage('/Account/UploadMigrationFile?companyId=' + companyId, 'POST', formData, false)\n .then((result) => {\n if (result.responseCode === \"00\") {\n swal({ text: \"El proceso de carga de usuarios inicio correctamente\", icon: \"success\" }).then(() => {\n window.location.href = \"/users\";\n })\n return true;\n } else {\n swal({ text: result.responseMessage, icon: \"error\" });\n return false;\n }\n });\n}\nasync function getSavedReference(providerInputValueId){\n return callApi('/Backend/UserProfileInputValue/' + providerInputValueId, 'GET').\n then((result) => {\n if(result.responseCode = \"00\"){\n return result.data;\n }\n else{\n return{};\n }\n });\n}\nasync function getReferenceByUser(referenceList){\n return callApi('/Backend/UserProfileInputValue/', 'GET').\n then((result) => {\n if(result.responseCode = \"00\"){\n \n return result.data;\n }\n else{\n return{};\n }\n });\n}\nasync function deleteReference(referenceId){\n return callApi('/BackEnd/UserProfileInputValue/' + referenceId, 'DELETE').\n then((result) => {\n if(result.responseCode = \"00\"){\n \n return result.data;\n }\n else {\n swal({ text: result.responseMessage, icon: \"error\" })\n return null\n }\n });\n}","import React, { useState } from 'react';\nimport { useHistory } from 'react-router-dom';\n// import { useDispatch } from 'react-redux';\nimport swal from \"sweetalert\"\nimport { ecommerceService } from '../../../services/ecommerce.service'\nimport { cartHelper } from '../../../helpers/cart.helper'\n\nconst ItemPayMethodModal = ({ onCloseClick, method, showBalanceOnly, productPurchase }) => {\n // const dispatch = useDispatch();\n const history = useHistory();\n const [onlyOneClick, setOnlyOneClick] = useState(false)\n \n let model = {\n Products: [],\n PaymentMethodId: method.paymentMethodId\n };\n\n\n const payOrder = () => {\n if (!onlyOneClick) {\n setOnlyOneClick(true);\n\n if (!showBalanceOnly)\n {\n model = {\n Products: cartHelper.getItems(),\n PaymentMethodId: method.paymentMethodId\n };\n }\n else {\n model.Products.push(productPurchase);\n }\n\n\n if (model.Products.length > 0 ) {\n if (showBalanceOnly){\n ecommerceService.payOrderExternal(model)\n .then(function (result) {\n if (result != undefined) {\n if(result.responseCode !== \"00\")\n {\n setOnlyOneClick(false);\n swal({ text: result.responseMessage, icon: \"error\" }).then(o=> {\n if ( result.responseCode !== \"-1\")\n window.location.href = result.data\n }) \n }\n else{\n setOnlyOneClick(false);\n window.location.href = result.data\n }\n } else {\n setOnlyOneClick(false);\n swal({ text: \"Ocurrió un error al abrir método de pago\", icon: \"error\" })\n }\n });\n }\n else{\n ecommerceService.payOrder(model)\n .then(function (result) {\n if (result != undefined) {\n setOnlyOneClick(false);\n if (onCloseClick != undefined) onCloseClick();\n window.location.href = result\n } else {\n setOnlyOneClick(false);\n swal({ text: \"Ocurrió un error al abrir método de pago\", icon: \"error\" })\n }\n });\n }\n\n } else {\n swal({ text: \"No hay ningún producto en el carrito de compras\", icon: \"error\" })\n setOnlyOneClick(false);\n }\n\n }\n }\n\n return (\n \n Pagar\n \n )\n}\n\nexport default ItemPayMethodModal","import React, { useState, useEffect } from 'react';\nimport ItemPayMethodModal from './itemPayMethod/itemPayMethodModal'\nimport './boxPayMethod.scss'\nimport { ecommerceService } from \"../../services/ecommerce.service\";\n\nconst BoxPayMethodModal = ({ onCloseClick, showBalancePay, showBalanceOnly, productPurchase }) => {\n const [paymentMethods, setPaymentMethods] = useState([]);\n\n useEffect(() => {\n ecommerceService.getPaymentMethods()\n .then((result => {\n setPaymentMethods(result);\n }));\n }, []);\n\n return (\n
    \n {\n paymentMethods.map(method => {\n if (showBalanceOnly)\n {\n return (method.paymentMethodId == 15 && showBalancePay) && \n } \n else\n {\n return (method.paymentMethodId != 15 || showBalancePay) && \n } \n })\n }\n
    \n )\n}\n\nexport default BoxPayMethodModal","import React, { useState, useEffect } from \"react\";\nimport { stringHelper } from \"../../helpers/string.helper\";\nimport {\n Modal,\n ModalBody,\n CustomInput,\n FormGroup,\n} from \"reactstrap\";\nimport { ecommerceService } from \"../../services/ecommerce.service\";\nimport { userProfileService } from \"../../services/backoffice/userProfile.service\";\nimport { useDispatch } from \"react-redux\";\nimport BoxPayMethodModal from \"../boxPayMethod/boxPayMethodModal\";\nimport swal from \"sweetalert\";\nimport $ from 'jquery'\n\nconst ProviderModal = ({\n modal,\n setModal,\n provider,\n userProfileBalance,\n isBalanceOnly,\n}) => {\n const dispatch = useDispatch();\n const [showSaveReferencePanel, setshowSaveReferencePanel] = useState(false);\n const [inputSave, setInputSave] = useState(false);\n const [savedReferenceList, setSavedReferenceList] = useState([]);\n const [providerProducts, setProviderProducts] = useState([]);\n const [selectedProduct, setSelectedProduct] = useState({\n product: null,\n provider: null,\n });\n const [showSummary, setShowSummary] = useState(false);\n const [referenceData, setReferenceData] = useState({\n reference: \"\",\n confirm: \"\",\n name: \"\",\n amount: \"\",\n isSaveReference: false,\n });\n\n const numbers = /^[0-9]+$/;\n\n const toggleModal = () => {\n setshowSaveReferencePanel(savedReferenceList.length > 0);\n setInputSave(false);\n setReferenceData({\n reference: \"\",\n confirm: \"\",\n name: \"\",\n amount: \"\",\n isSaveReference: false,\n });\n $('body').removeClass('modal_is_open');\n setSelectedProduct({ product: null, provider: null });\n // setShowPayButton(false);\n setModal(!modal);\n setShowSummary(false);\n };\n\n useEffect(() => {\n if (modal) {\n if (provider.id)\n ecommerceService.getProviderProducts(provider.id).then((result) => {\n setProviderProducts(result);\n if (result.products && result.products[0].isVariable) {\n setSelectedProduct({ product: result.products[0], provider });\n }\n userProfileService\n .getSavedReference(\n provider.providerInputValueDto.providerInputValueId\n )\n .then((resData) => {\n setSavedReferenceList(resData);\n setshowSaveReferencePanel(resData.length > 0);\n });\n });\n }\n }, [provider, modal]);\n\n const togglePanel = () => {\n if (selectedProduct.product) {\n setshowSaveReferencePanel(!showSaveReferencePanel);\n setReferenceData({\n reference: \"\",\n confirm: \"\",\n name: \"\",\n amount: \"\",\n isSaveReference: false,\n });\n setSelectedProduct({ ...selectedProduct });\n } else {\n swal({\n icon: \"warning\",\n title: \"Validación\",\n text: \"Selecciona primero un monto\",\n button: false,\n closeOnEsc: true,\n timer: 2250,\n });\n }\n };\n\n const clickInputSave = () => {\n setInputSave(!inputSave);\n\n if (!inputSave) {\n setReferenceData({ ...referenceData, name: \"\" });\n }\n\n // setShowPayButton(false);\n };\n\n const onChange = (event) => {\n switch (event.target.id) {\n case \"reference\":\n setReferenceData({ ...referenceData, reference: event.target.value });\n break;\n case \"referenceConfirm\":\n setReferenceData({ ...referenceData, confirm: event.target.value });\n break;\n case \"referenceName\":\n setReferenceData({ ...referenceData, name: event.target.value });\n break;\n case \"amount\":\n setReferenceData({ ...referenceData, amount: event.target.value });\n break;\n }\n selectedProduct.product.reference = referenceData;\n selectedProduct.product.reference.isSaveReference = inputSave;\n };\n\n const onSelectReference = (selectedReference) => {\n setReferenceData({\n ...referenceData,\n reference: selectedReference,\n confirm: selectedReference,\n isSaveReference: inputSave,\n });\n setSelectedProduct({\n ...selectedProduct,\n product: { ...selectedProduct.product, reference: referenceData },\n });\n };\n\n const validatePurchaseItem = () => {\n let quantity = 1;\n let amount = 0.0;\n if (!selectedProduct.product) {\n swal({\n icon: \"error\",\n title: \"Validación\",\n text: \"Debe indicarse un monto para pagar\",\n button: false,\n closeOnEsc: true,\n timer: 2250,\n onClose: setShowSummary(false),\n });\n return;\n }\n if (\n (selectedProduct.product.productPrice == undefined ||\n selectedProduct.product.productPrice <= 0) &&\n (referenceData.amount == undefined || referenceData.amount <= 0)\n ) {\n swal({\n icon: \"error\",\n title: \"Validación\",\n text: \"Debe indicarse un monto para pagar\",\n button: false,\n closeOnEsc: true,\n timer: 2250,\n onClose: setShowSummary(false),\n });\n return;\n }\n if (referenceData.reference === \"\") {\n swal({\n icon: \"error\",\n title: \"Validación\",\n text: \"Debe indicarse una referencia para poder continuar\",\n button: false,\n closeOnEsc: true,\n timer: 2250,\n onClose: setShowSummary(false),\n });\n return;\n }\n if (\n referenceData.reference &&\n referenceData.reference !== referenceData.confirm\n ) {\n swal({\n icon: \"error\",\n title: \"Validación\",\n text: \"La referencia capturada y la confirmación deben coincidir para poder continuar\",\n button: false,\n closeOnEsc: true,\n timer: 2250,\n onClose: setShowSummary(false),\n });\n return;\n }\n\n if (\n referenceData.reference &&\n provider.providerInputValueDto.inputType === \"number\" &&\n !referenceData.reference.match(numbers)\n ) {\n swal({\n icon: \"error\",\n title: \"Validación\",\n text: `Las referencias de ${provider.name} deben contener únicamente números.`,\n button: false,\n closeOnEsc: true,\n timer: 2250,\n onClose: setShowSummary(false),\n });\n return;\n }\n\n if (\n referenceData.reference &&\n referenceData.reference.length !== provider.providerInputValueDto.size\n ) {\n swal({\n icon: \"error\",\n title: \"Validación\",\n text: `La referencias de ${provider.name} deben ser de ${\n provider.providerInputValueDto.size\n } ${\n provider.providerInputValueDto.inputType === \"number\"\n ? \"dígitos\"\n : \"caracteres\"\n }.`,\n button: false,\n closeOnEsc: true,\n timer: 2250,\n onClose: setShowSummary(false),\n });\n return;\n }\n\n if (inputSave) {\n if (\n referenceData.name == null ||\n referenceData.name == undefined ||\n referenceData.name == \"\"\n ) {\n swal({\n icon: \"error\",\n title: \"Validación\",\n text: \"Debe elegir un nombre para la nueva referencia\",\n button: false,\n closeOnEsc: true,\n timer: 2250,\n onClose: setShowSummary(false),\n });\n return;\n }\n }\n if (referenceData.amount && selectedProduct.product.productPrice === 0) {\n setSelectedProduct({\n ...selectedProduct,\n product: {\n ...selectedProduct.product,\n productPrice: Number(referenceData.amount),\n cant: quantity,\n },\n });\n }\n\n selectedProduct.product.reference = referenceData;\n selectedProduct.product.reference.isSaveReference = inputSave;\n setShowSummary(true);\n };\n\n const onSelect = (provider, event) => {\n let index = event.target.selectedIndex;\n let selectedString = event.target[index].getAttribute(\"data-product\");\n const selectedObject = JSON.parse(selectedString);\n selectedObject.cant = 1;\n if (selectedObject != null)\n setSelectedProduct({ product: selectedObject, provider });\n else {\n setReferenceData({ ...referenceData, reference: null, confirm: null });\n setSelectedProduct({ product: null, provider: null });\n }\n };\n\n return (\n \n \n \n \n \n
    \n \n
    \n
    \n
    \n {providerProducts.products &&\n providerProducts.products[0].isVariable ? (\n
    \n
    \n \n \n
    \n
    \n ) : (\n
    \n
    \n \n \n onSelect(providerProducts.provider, event)\n }\n >\n \n {providerProducts.products &&\n providerProducts.products.map((item) => {\n return (\n \n {item.name}{\" \"}\n \n );\n })}\n ;\n \n
    \n
    \n )}\n
    \n {showSaveReferencePanel ? (\n
    \n \n Mis{\" \"}\n {provider.providerInputValueDto &&\n `${provider.providerInputValueDto.inputName.toLowerCase()}s guardados`}{\" \"}\n \n {savedReferenceList &&\n savedReferenceList.map((item) => {\n return (\n \n onSelectReference(item.value)}\n disabled={selectedProduct.product == null}\n />\n \n
    \n {item.keyName}\n
    \n

    {item.value}

    \n \n
    \n );\n })}\n
    \n togglePanel()}>\n Agregar Nuevo\n \n
    \n \n ) : (\n
    \n Captura de referencia {} \n {savedReferenceList.length > 0 ? (\n togglePanel()}>\n Mis{\" \"}\n {provider.providerInputValueDto &&\n `${provider.providerInputValueDto.inputName.toLowerCase()}s`}\n \n ) : null}\n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n \n Nombre de la referencia\n
    \n \n
    \n
    \n {providerProducts.products &&\n !providerProducts.products[0].isVariable ? (\n
    \n \n \n \n
    \n ) : null}\n \n \n )}\n
    \n
    \n \n {\" \"}\n Confirmar{\" \"}\n \n
    \n \n\n
    \n
    \n
    \n
    \n RESUMEN DE COMPRA\n
    \n
    \n

    \n {selectedProduct.provider && selectedProduct.provider.name}\n

    \n {providerProducts.products &&\n providerProducts.products[0].isVariable === true ? (\n <>\n

    \n {selectedProduct.product &&\n selectedProduct.product.name +\n \" - Monto: \" +\n selectedProduct.product.productPrice}\n

    \n \n ) : (\n <>\n

    \n {selectedProduct.product && selectedProduct.product.name}\n

    \n \n )}\n\n

    \n {referenceData &&\n provider.providerInputValueDto &&\n `${provider.providerInputValueDto.inputName}: ${referenceData.reference}`}\n

    \n
    \n\n
    \n
    \n \n
    \n
    \n setShowSummary(false)}\n >\n Regresar\n \n
    \n
    \n
    \n
    \n \n );\n};\n\nexport default ProviderModal;\n","import React, { Component } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport \"./hubItemProvider.scss\";\nimport ProviderModal from \"../providerModal/providerModal\";\n\nimport $ from 'jquery'\nexport class HubItemProvider extends Component {\n constructor(props) {\n super(props);\n this.state = {\n modal: false,\n currentProvider: {},\n };\n }\n\n\n componentWillMount() {\n // localStorage cart\n if (localStorage.getItem(\"cartKuimby\") == undefined)\n localStorage.setItem(\"cartKuimby\", \"[]\");\n if (localStorage.getItem(\"cartTotalKuimby\") == undefined)\n localStorage.setItem(\"cartTotalKuimby\", 0);\n if (localStorage.getItem(\"cartQuantityKuimby\") == undefined)\n localStorage.setItem(\"cartQuantityKuimby\", 0);\n\n \n }\n\n \n\n\n setModal = (modal, item) => {\n this.setState({ modal });\n if (item) this.setState({ currentProvider: item });\n };\n\n\n actionProvider = (item) => {\n if (item.providerInputValueDto.providerInputValueId > 0) {\n return { onClick: () => { $('body').addClass('modal_is_open'); this.setModal(true, item) }};\n } else return { to: \"/provider/\" + item.id };\n };\n\n\n render() {\n const { providerDTO } = this.props.category;\n\n return (\n
    \n {providerDTO &&\n providerDTO.map((item) => {\n return (\n \n

    \n

    \n \"Proveedor\n

    \n

    \n \n );\n })}\n \n
    \n
    \n );\n }\n}\n","import React from 'react';\nimport './itemPurchaseDetails.scss'\nimport { useSelector } from 'react-redux';\n\nconst ItemPurchaseDetails = (props) => {\n const countrySetting = useSelector(state => state.countrySetting);\n\n return (\n
    \n
    \n props.deleteItemDetail(props.ProviderId, props.ProductId)} >\n
    \n
    \n

    {props.Name}

    \n {!props.Reference ? \n

    Precio individual {countrySetting.currency + (props.Price).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}

    \n : \n

    Referencia {props.Reference.reference}

    \n }\n
    \n
    \n {\n !props.Reference &&\n \n }\n
    \n
    {countrySetting.currency}{(props.Total).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}
    \n
    \n )\n}\n\nexport default ItemPurchaseDetails","import React, { useState } from 'react';\nimport ItemPurchaseDetails from '../itemPurchaseDetails/itemPurchaseDetails'\nimport './itemPurchase.scss'\nimport { useSelector } from 'react-redux';\n\nconst ItemPurchase = (props) => {\n const countrySetting = useSelector(state => state.countrySetting);\n\n const [activeAccordion, setStateAccordion] = useState('')\n const [activeChevron, setStateChevron] = useState('')\n\n function AsidePurchaseBox() {\n setStateAccordion(activeAccordion === '' ? 'show' : '')\n setStateChevron(activeChevron === '' ? 'open' : '')\n }\n\n const items = props.Items;\n return (\n
    \n props.deleteItem(props.ProviderId, props.ProviderName)}> Eliminar\n
    \n
    \n
    \n \n \"Nombre\n \n
    \n
    \n
    {props.ProviderName}
    \n

    Ir a la tienda

    \n
    \n
    \n
    {countrySetting.currency}{(props.Total).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}
    \n \n \n \n
    \n
    \n
    \n
    \n {\n items.map(itemDetail => {\n return \n })\n }\n
    \n
    \n
    \n
    \n )\n}\n\nexport default ItemPurchase","import React, { useState } from 'react';\nimport { useHistory } from 'react-router-dom';\n// import { useDispatch } from 'react-redux';\nimport swal from \"sweetalert\"\nimport { ecommerceService } from '../../../services/ecommerce.service'\nimport { cartHelper } from '../../../helpers/cart.helper'\nimport redpaylogo from '../../../assets/imgs/paymentMethods/red-pay.png'\nimport balancepay from '../../../assets/imgs/paymentMethods/balance-pay.png'\n\nconst ItemPayMethod = ({ onCloseClick, method, showBalanceOnly, productPurchase }) => {\n // const dispatch = useDispatch();\n const history = useHistory();\n const [onlyOneClick, setOnlyOneClick] = useState(false)\n \n let model = {\n Products: [],\n PaymentMethodId: method.paymentMethodId,\n AplicationId: 10\n };\n\n const payOrder = () => {\n if (!onlyOneClick) {\n setOnlyOneClick(true);\n\n if (!showBalanceOnly)\n {\n model = {\n Products: cartHelper.getItems(),\n PaymentMethodId: method.paymentMethodId\n };\n }\n else {\n model.Products.push(productPurchase);\n }\n\n\n if (model.Products.length > 0 ) {\n if (showBalanceOnly){\n ecommerceService.payOrderExternal(model)\n .then(function (result) {\n if (result != undefined) {\n if(result.responseCode !== \"00\")\n {\n setOnlyOneClick(false);\n swal({ text: result.responseMessage, icon: \"error\" }).then(o=> {\n if ( result.responseCode !== \"-1\")\n window.location.href = result.data\n }) \n }\n else{\n setOnlyOneClick(false);\n window.location.href = result.data\n }\n } else {\n setOnlyOneClick(false);\n swal({ text: \"Ocurrió un error al abrir método de pago\", icon: \"error\" })\n }\n });\n }\n else{\n ecommerceService.payOrder(model)\n .then(function (result) {\n if (result != undefined) {\n setOnlyOneClick(false);\n if (onCloseClick != undefined) onCloseClick();\n window.location.href = result\n } else {\n setOnlyOneClick(false);\n swal({ text: \"Ocurrió un error al abrir método de pago\", icon: \"error\" })\n }\n });\n }\n\n } else {\n swal({ text: \"No hay ningún producto en el carrito de compras\", icon: \"error\" })\n setOnlyOneClick(false);\n }\n\n }\n }\n\n return (\n <>\n {method.paymentMethodId == 0 ? \"Solicite al administrador un método de pago\" : \n \n \"Paga \n \n }\n \n )\n}\n\nexport default ItemPayMethod","import { callApi } from '../service'\nimport swal from \"sweetalert\"\n\nexport const companyService = {\n create,\n get,\n getById,\n getByCompanyId,\n getByDomain,\n getCompanyCatalog,\n getCompanyUsersCatalog,\n edit,\n deleteCompany,\n getRVOL\n};\n\nasync function create(data) {\n return callApi('/BackOffice/Company', 'POST', data)\n .then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"Se guardo exitosamente\", icon: \"success\" }).then(() => window.location.href = \"/AdminCompany\")\n } else {\n console.log(result.responseMessage);\n swal({ text: result.responseMessage, icon: \"error\" });\n }\n });\n}\n\nasync function get(status) {\n return await callApi('/BackOffice/Company?status=' + status, 'GET')\n .then(result => {\n if (result.responseCode == \"00\")\n return result.data;\n else\n return [];\n })\n .catch(error => {\n console.log('error', error);\n return []\n });\n}\n\nasync function getById(id) {\n return callApi('/BackOffice/Company/' + id, 'GET').then((result) => {\n if (result.responseCode === '00')\n return result.data;\n else {\n alert(result.responseMessage);\n return null;\n }\n });\n}\nasync function getByCompanyId(id) {\n return callApi('/BackEnd/Company/GetByCompanyId/' + id, 'GET').then((result) => {\n if (result.responseCode === '00')\n return result.data;\n else {\n alert(result.responseMessage);\n return null;\n }\n });\n}\n\nasync function getByDomain(domain) {\n return callApi('/BackOffice/Company/GetByDomain/' + domain, 'GET').then((result) => {\n if (result.responseCode === '00')\n return result.data;\n else {\n alert(result.responseMessage);\n return null;\n }\n });\n}\n\nasync function getCompanyCatalog() {\n return callApi('/BackOffice/CompanyCatalog/', 'GET').then((result) => {\n if (result.responseCode === '00')\n // console.log(result.data)\n return result.data;\n else {\n alert(result.responseMessage);\n return [];\n }\n });\n}\n\n\nasync function getCompanyUsersCatalog() {\n return callApi('/BackOffice/UserProfileCatalog/', 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n // console.log(result.data)\n return result.data;\n } else {\n return {};\n }\n });\n}\n\n\nasync function edit(data) {\n debugger\n return callApi('/BackOffice/Company', 'PUT', data)\n .then((result) => {\n debugger\n if (result.responseCode === \"00\") {\n swal({ text: \"Se actualizó correctamente\", icon: \"success\" }).then(() => window.location.href = \"/AdminCompany\")\n return true;\n } else {\n swal({ text: result.responseMessage, icon: \"error\" });\n return false;\n }\n });\n}\n\nasync function deleteCompany(id) {\n return callApi('/BackOffice/Company/' + id, 'DELETE', null).then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"se desactivó correctamente\", icon: \"success\" })\n return result.data;\n } else {\n console.log(result.responseMessage);\n swal({ text: \"Error al desactivar la compañía\", icon: \"error\" });\n return null;\n }\n });\n}\n\nasync function getRVOL() {\n return await callApi('/Ecommerce/Company', 'GET')\n .then(result => {\n if (result.responseCode == \"00\")\n return result.data;\n else\n return [];\n })\n .catch(error => {\n console.log('error', error);\n return []\n });\n}\n\n\n","import React, { useState, useEffect } from 'react';\nimport ItemPayMethod from './itemPayMethod/itemPayMethod'\nimport './boxPayMethod.scss'\n// import { ecommerceService } from \"../../services/ecommerce.service\";\nimport { companyService } from '../../services/control/company.service';\nimport { useSelector } from 'react-redux';\n\nconst BoxPayMethod = ({ onCloseClick, showBalancePay, showBalanceOnly, productPurchase }) => {\n const [companiesData, setCompaniesData] = useState([]);\n const companyId = useSelector((state) => state.userSettings.companyId);\n useEffect(() => { \n companyService.getByCompanyId(companyId)\n .then((result) => {\n setCompaniesData(result);\n })\n }, [companyId]);\n\n return (\n
    \n {/* {\n paymentMethods.map(method => {\n if (showBalanceOnly)\n {\n return (method.paymentMethodId == 15 && showBalancePay) && \n } \n else\n {\n return (method.paymentMethodId != 15 || showBalancePay) && \n } \n })\n } */}\n {\n companiesData.map(method => { \n if (showBalanceOnly)\n {\n return (method.paymentMethodId == 15 && showBalancePay) && \n } \n else\n {\n return (method.paymentMethodId != 15 || showBalancePay) && \n } \n })\n }\n
    \n )\n}\n\nexport default BoxPayMethod","import React from 'react';\nimport ItemPurchase from '../itemPurchase/itemPurchase'\nimport BoxPayMethod from '../boxPayMethod/boxPayMethod'\nimport './asidePurchase.scss'\nimport LogRedPay from '../../assets/imgs/red-pay-logo.png'\nimport { useSelector } from 'react-redux';\nimport { useDispatch } from 'react-redux';\nimport { setCartQuantity } from '../../store/actions';\nimport { cartHelper } from '../../helpers/cart.helper';\nimport swal from \"sweetalert\";\n\nconst AsidePurchase = ({ activeAside, onCloseClick, cart, total, setCart, setTotal, showBalancePay }) => {\n const dispatch = useDispatch();\n const countrySetting = useSelector(state => state.countrySetting);\n\n const onChangeQuantity = (providerId, productId, value) => {\n cartHelper.onChangeQuantity(providerId, productId, parseInt(value))\n .then(function () {\n setTotal(JSON.parse(localStorage[\"cartTotalKuimby\"]));\n setCart(JSON.parse(localStorage[\"cartKuimby\"]));\n dispatch(setCartQuantity());\n });\n }\n\n const deleteItem = (providerId, providerName) => {\n swal({\n title: \"¿Estas seguro?\",\n text: \"¡Desea eliminar los productos de \" + providerName + \" del carrito de compras!\",\n icon: \"warning\",\n dangerMode: true,\n buttons: [\"Cancelar\", \"Si, eliminar\"]\n })\n .then((willDelete) => {\n if (willDelete) {\n cartHelper.deleteItem(providerId)\n .then(function () {\n setTotal(JSON.parse(localStorage[\"cartTotalKuimby\"]));\n setCart(JSON.parse(localStorage[\"cartKuimby\"]));\n dispatch(setCartQuantity());\n });\n }\n });\n }\n\n const deleteItemDetail = (providerId, productId) => {\n swal({\n title: \"¿Estas seguro?\",\n text: \"¡Desea eliminar este productos del carrito de compras!\",\n icon: \"warning\",\n buttons: [\"Cancelar\", \"Si, eliminar\"],\n dangerMode: true,\n })\n .then((willDelete) => {\n if (willDelete) {\n cartHelper.deleteItemDetail(providerId, productId)\n .then(function () {\n setTotal(JSON.parse(localStorage[\"cartTotalKuimby\"]));\n setCart(JSON.parse(localStorage[\"cartKuimby\"]));\n dispatch(setCartQuantity());\n });\n }\n });\n }\n\n return \n \n
    \n
    \n}\n\nexport default AsidePurchase","import React, { Fragment, useState, useEffect } from 'react'\nimport { Link } from 'react-router-dom';\nimport './toolDiscount.scss'\n\nimport AsidePurchase from '../../components/asidePurchase/asidePurchase'\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { setCartQuantity } from '../../store/actions';\n\nexport function ToolDiscount( { userProfileBalance }) {\n const dispatch = useDispatch();\n\n const cartQuantity = useSelector(state => state.cartQuantity);\n const roleName = localStorage.getItem('roleName');\n const [activeAside, setStateAside] = useState('');\n const [cart, setCart] = useState([]);\n const [total, setTotal] = useState(0);\n\n useEffect(() => {\n dispatch(setCartQuantity());\n });\n\n const AsidePurchaseBox = () => {\n setStateAside(activeAside === '' ? ' is-show' : '')\n\n if (activeAside === '') {\n setCart(JSON.parse(localStorage[\"cartKuimby\"]));\n setTotal(JSON.parse(localStorage[\"cartTotalKuimby\"]));\n }\n }\n\n //User balance\n const countrySetting = useSelector(state => state.countrySetting);\n\n\n return \n
    \n
    \n {countrySetting.currency}{(Number(userProfileBalance.creditBalance)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}\n Tu saldo a crédito\n
    \n
    \n {countrySetting.currency}{(Number(userProfileBalance.prepaidBalance)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}\n Tu saldo de pre-pago\n
    \n \n \n Tiendas\n \n {roleName == 'Administrador' && \n \n Reportes\n }\n \n \n Mis compras\n \n \n \n Carrito ({cartQuantity})\n \n
    \n = total}\n activeAside={activeAside}\n onCloseClick={() => setStateAside('')}\n cart={cart}\n total={total}\n setCart={setCart}\n setTotal={setTotal}\n />\n\n
    \n}","import React, { useState, useEffect } from \"react\";\nimport { HubItemProvider } from \"../../components/hubItemProvider/hubItemProvider\";\nimport { ToolDiscount } from \"../../components/toolDiscount/toolDiscount\";\nimport { backendService } from \"../../services/backend.service\";\n\nimport { Nav, NavItem, NavLink } from \"reactstrap\";\nimport \"./discount.scss\";\nimport { ecommerceService } from \"../../services/ecommerce.service\";\n\nexport const Discount = () => {\n const [currentCategory, setCurrentCategory] = useState({});\n const [providerCategory, setProviderCategory] = useState([]);\n const [userProfileBalance, setUserProfileBalance] = useState({\n creditBalance: 0,\n prepaidBalance: 0,\n });\n\n const getUserProfileBalance = () => {\n backendService\n .getUserProfileBalance()\n .then((result) => setUserProfileBalance(result));\n };\n\n useEffect(() => {\n getUserProfileBalance();\n }, []);\n\n useEffect(() => {\n ecommerceService.getProviders().then((result) => {\n console.log(\"providerCategory:\", result);\n setProviderCategory(result);\n });\n }, []);\n\n return (\n
    \n
    \n
    \n

    Tienda

    \n \n
    \n\n

    \n \n \n \n \n Diversión y entretenimiento sin límite\n \n

    \n\n

    \n Entra a tus marcas favoritas y sorpréndete{\" \"}\n

    \n
    \n\n \n \n
    \n );\n};\n","import React from 'react'\nimport './providerImage.scss'\n\nconst ProviderImage = ({ urlImageVideo }) => {\n return (\n
    \n \"Proveedor\"\n
    \n )\n}\n\nexport default ProviderImage;","import React from 'react'\nimport './providerVideo.scss'\n\nconst ProviderVideo = ({ urlVideo }) => {\n return (\n
    \n \n
    \n )\n}\n\nexport default ProviderVideo;","import React, { useState } from \"react\";\nimport { Tooltip } from \"reactstrap\";\nimport { useSelector } from \"react-redux\";\nimport { useDispatch } from \"react-redux\";\nimport { setCartQuantity } from \"../../store/actions\";\nimport { cartHelper } from \"../../helpers/cart.helper\";\nimport swal from \"sweetalert\";\n\nconst ItemProduct = ({ product, provider }) => {\n const dispatch = useDispatch();\n const countrySetting = useSelector((state) => state.countrySetting);\n\n const [tooltipOpen, setTooltipOpen] = useState(false);\n const [activeBoxTooltip, setBoxTooltip] = useState(\"\");\n\n const showBoxTooltip = () => {\n setBoxTooltip(activeBoxTooltip === \"\" ? \" is-show\" : \"\");\n };\n\n const toggle = () => setTooltipOpen(!tooltipOpen);\n\n const addPruchaseItem = () => {\n cartHelper.addItem(product, provider);\n dispatch(setCartQuantity());\n swal({\n icon: \"success\",\n title: \"Agregado\",\n text: \"Se agrego el producto a tu carrito\",\n button: false,\n closeOnEsc: true,\n timer: 2250,\n });\n };\n\n return (\n
    \n
    \n
    \n \"product\"\n
    \n
    \n
    \n

    {product.name}

    \n \n \n \n
    \n
    \n \n Por solo\n

    \n {countrySetting.currency}\n {Number(\n product.productPrice\n ).toLocaleString(countrySetting.cultureCode, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n })}\n

    \n
    \n \n \n \n \n \n Agregar a canasta\n \n \n
    \n
    \n
    \n
    \n \n \n \n {product.restrictions}\n
    \n
    \n );\n};\n\nexport default ItemProduct;\n","import React, { Component } from 'react'\nimport { ToolDiscount } from '../../../components/toolDiscount/toolDiscount'\n\nimport ProviderImage from '../../../components/providerImage/providerImage'\nimport ProviderVideo from '../../../components/providerVideo/providerVideo'\nimport ItemProduct from '../../../components/itemProduct/itemProduct'\nimport { backendService } from \"../../../services/backend.service\";\n\nimport './provider.scss'\nimport { ecommerceService } from \"../../../services/ecommerce.service\";\n\n\nexport class Provider extends Component {\n constructor(props) {\n super(props)\n this.state = {\n providerProducts: {\n provider: {},\n products: [],\n \n }, \n userProfileBalance: { creditBalance: 0, prepaidBalance: 0 }\n }\n }\n componentWillMount() {\n \n ecommerceService.getProviderProducts(this.props.match.params.id)\n .then((result) => {\n console.log(result);\n this.setState({ providerProducts: result });\n })\n\n backendService.getUserProfileBalance()\n .then(result => this.setState({userProfileBalance: result}));\n\n }\n\n render() {\n const { providerProducts } = this.state;\n const { provider } = providerProducts;\n const { products } = providerProducts;\n\n return (\n
    \n
    \n
    \n
    \n
    \n \"LogoProvider\"\n
    \n
    \n \n
    \n
    \n
    Compra aquí con los mejores descuentos
    \n \n
    \n
    \n
    \n {\n provider.urlVideo != \"\"\n ? \n : \n }\n
    \n
    \n
    \n
    \n\n
    \n {\n products.map(item => )\n }\n
    \n
    \n
    \n )\n }\n} ","import React, { Component } from 'react';\nimport BoxPayMethod from '../../components/boxPayMethod/boxPayMethod'\nimport { Link } from 'react-router-dom';\n\nexport class PaymentCanceled extends Component {\n\tstatic displayName = PaymentCanceled.name;\n\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t

    CANCELACIÓN

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

    ¡Oops!

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    Algo salió mal con tu orden

    \n\t\t\t\t\t\t\t\t\t

    Ocurrió un problema con el pago de tu orden, ha sido cancelada o rechazada por el banco.

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    Intentémos de nuevo

    \n\t\t\t\t\t\t\t\t\t

    ¿Quieres volver a intentar con otra tarjeta u otra forma de pago?

    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{/*

    o ¿Quieres guardar tu compra para más tarde?

    \n

    Recuerda que tienes 12hrs. para volver por tu compra

    */}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\tIr a inicio\n\t\t\t\t\t\t\t\t\t{/*Si, guardar compra*/}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\n\t\t\t
    \n\t\t);\n\t}\n}\n","import React from 'react';\nimport './purchasedItemDetails.scss';\nimport { useSelector } from 'react-redux';\n\nconst PurchasedItemDetails = (props) => {\n const countrySetting = useSelector(state => state.countrySetting);\n\n return (\n
    \n
    \n
    \n \n \"\"\n \n
    \n
    \n

    \n ({props.quantity})\n {props.description}\n {countrySetting.currency}{(Number(props.subTotal)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}\n

    \n
    \n
    \n
    \n )\n}\n\nexport default PurchasedItemDetails;","import React, { useState } from 'react'\nimport { Collapse } from 'reactstrap';\nimport PurchasedItemDetails from '../purchasedItemDetails';\nimport './purchasedItem.scss';\nimport { useSelector } from 'react-redux';\nimport { ecommerceService } from \"../../../../services/ecommerce.service\";\n\nconst PurchasedItem = (props) => {\n const countrySetting = useSelector(state => state.countrySetting);\n\n const [collapse, setCollapse] = useState(false);\n const [activeChevron, setStateChevron] = useState('')\n\n const download = (orderId) => {\n //dispatch(toggleBlocking());\n ecommerceService.downloadSaleAsPDF(orderId);\n }\n\n const downloadCSV = (orderId) => {\n //dispatch(toggleBlocking());\n ecommerceService.downloadSaleAsCSV(orderId);\n }\n\n\n function toggle() {\n setCollapse(!collapse);\n setStateChevron(activeChevron === '' ? 'open' : '')\n }\n\n return (\n
    \n\n
    \n
    \n \n \n \n
    \n
    Fecha de pedido
    \n

    {props.date}

    \n
    \n
    \n
    No. de pedido
    \n

    {props.orderNumber}

    \n
    \n
    \n
    Total
    \n

    {countrySetting.currency}{(Number(props.total)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}

    \n
    \n
    \n
    Estatus
    \n

    {props.status}

    \n
    \n
    \n
    \n \n
    \n
    \n {\n props.details.map(item => {\n return \n })\n }\n
    \n\n
    \n
    \n {props.status === \"La orden ha sido pagada\" && \n

    \n \n \n

    }\n

    Si tuviste algun problema para recibir tus folios, vuelve a intentarlo aquí.

    \n
    \n
    \n
    \n\n \n
    \n )\n}\nexport default PurchasedItem;","import React from 'react';\nimport { createUltimatePagination, ITEM_TYPES } from 'react-ultimate-pagination';\n\n\nconst Page = ({ value, isActive, onClick, isDisabled }) => (\n {value}\n \n);\n\nconst Ellipsis = ({ onClick, isDisabled }) => (\n ...\n);\n\nconst FirstPageLink = ({ onClick, isDisabled }) => (\n \n);\n\nconst PreviousPageLink = ({ onClick, isDisabled }) => (\n \n);\n\nconst NextPageLink = ({ onClick, isDisabled }) => (\n \n);\n\nconst LastPageLink = ({ onClick, isDisabled }) => (\n \n);\n\nconst itemTypeToComponent = {\n [ITEM_TYPES.PAGE]: Page,\n [ITEM_TYPES.ELLIPSIS]: Ellipsis,\n [ITEM_TYPES.FIRST_PAGE_LINK]: FirstPageLink,\n [ITEM_TYPES.PREVIOUS_PAGE_LINK]: PreviousPageLink,\n [ITEM_TYPES.NEXT_PAGE_LINK]: NextPageLink,\n [ITEM_TYPES.LAST_PAGE_LINK]: LastPageLink\n};\n\nexport const PaginatedPage = createUltimatePagination({ itemTypeToComponent });","import React, { useState, useEffect } from 'react';\nimport { ToolDiscount } from '../../../components/toolDiscount/toolDiscount'\nimport PurchasedItem from './purchasedItem';\nimport { PaginatedPage } from './pagination';\nimport './shoppingHistory.scss'\nimport { ecommerceService } from '../../../services/ecommerce.service';\nimport { backendService } from \"../../../services/backend.service\";\n\n\nexport function ShoppingHistory() {\n\n const [shoppingHistory, setShoppingHistory] = useState([]);\n const [userProfileBalance, setUserProfileBalance] = useState({ creditBalance: 0, prepaidBalance: 0 });\n\n const [page, setPage] = useState(1);\n const totalPages = shoppingHistory.length > 0 ? shoppingHistory.length : 1;\n\n useEffect(() => {\n ecommerceService.getPurchaseOrder()\n .then(result => setShoppingHistory(result));\n\n getUserProfileBalance();\n\n }, []);\n\n\n const getUserProfileBalance = () => {\n backendService.getUserProfileBalance()\n .then(result => setUserProfileBalance(result));\n }\n\n return (\n
    \n
    \n
    \n

    Mis compras

    \n \n
    \n
    \n
    \n
    \n {\n shoppingHistory.length > 0\n ? shoppingHistory[page - 1].map(item => {\n return \n })\n : \"\"\n }\n
    \n setPage(page)}\n />\n
    \n
    \n
    \n
    \n );\n}\n","import React from 'react';\nimport './purchasedItemDetails.scss';\nimport { useSelector } from 'react-redux';\n\nconst PurchasedItemDetails = (props) => {\n const countrySetting = useSelector(state => state.countrySetting);\n\n return (\n
    \n
    \n
    \n \n \"\"\n \n
    \n
    \n

    \n ({props.quantity})\n {props.productName ? props.productName : 'Producto no encontrado'}\n {countrySetting.currency}{(Number(props.subTotal)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}\n

    \n
    \n
    \n
    \n )\n}\n\nexport default PurchasedItemDetails;","import React, { useState } from 'react'\nimport { Collapse } from 'reactstrap';\nimport PurchasedItemDetails from '../purchasedItemDetails';\nimport './purchasedItem.scss';\nimport { useSelector } from 'react-redux';\nimport { ecommerceService } from \"../../../../services/ecommerce.service\";\n\nconst PurchasedItem = (props) => {\n const countrySetting = useSelector(state => state.countrySetting);\n\n const [collapse, setCollapse] = useState(false);\n const [activeChevron, setStateChevron] = useState('')\n\n const download = (orderId) => {\n //dispatch(toggleBlocking());\n ecommerceService.downloadSaleAsPDF(orderId);\n }\n\n const downloadCSV = (orderId) => {\n //dispatch(toggleBlocking());\n ecommerceService.downloadSaleAsCSV(orderId);\n }\n\n\n function toggle() {\n setCollapse(!collapse);\n setStateChevron(activeChevron === '' ? 'open' : '')\n }\n\n return (\n
    \n\n
    \n
    \n \n \n \n
    \n
    Fecha de pedido
    \n

    {props.date}

    \n
    \n
    \n
    Empresa
    \n

    {props.user.companyName}

    \n
    \n
    \n
    No. de pedido
    \n

    {props.orderNumber}

    \n
    \n
    \n
    Total
    \n

    {countrySetting.currency}{(Number(props.total)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}

    \n
    \n
    \n
    Estatus
    \n

    {props.status}

    \n
    \n
    \n
    \n \n
    \n
    \n {\n props.details.map(item => {\n return (\n <>\n \n

    Compra realizada por: {props.user.userName ? props.user.userName : 'Usuario no encontrado'}

    \n \n )\n })\n }\n
    \n
    \n\n \n
    \n )\n}\nexport default PurchasedItem;","import React from 'react';\nimport { createUltimatePagination, ITEM_TYPES } from 'react-ultimate-pagination';\n\n\nconst Page = ({ value, isActive, onClick, isDisabled }) => (\n {value}\n \n);\n\nconst Ellipsis = ({ onClick, isDisabled }) => (\n ...\n);\n\nconst FirstPageLink = ({ onClick, isDisabled }) => (\n \n);\n\nconst PreviousPageLink = ({ onClick, isDisabled }) => (\n \n);\n\nconst NextPageLink = ({ onClick, isDisabled }) => (\n \n);\n\nconst LastPageLink = ({ onClick, isDisabled }) => (\n \n);\n\nconst itemTypeToComponent = {\n [ITEM_TYPES.PAGE]: Page,\n [ITEM_TYPES.ELLIPSIS]: Ellipsis,\n [ITEM_TYPES.FIRST_PAGE_LINK]: FirstPageLink,\n [ITEM_TYPES.PREVIOUS_PAGE_LINK]: PreviousPageLink,\n [ITEM_TYPES.NEXT_PAGE_LINK]: NextPageLink,\n [ITEM_TYPES.LAST_PAGE_LINK]: LastPageLink\n};\n\nexport const PaginatedPage = createUltimatePagination({ itemTypeToComponent });","import React, { useState, useEffect } from 'react';\nimport { ToolDiscount } from '../../../components/toolDiscount/toolDiscount'\nimport PurchasedItem from './purchasedItem';\nimport { PaginatedPage } from './pagination';\nimport './companyShoppingHistory.scss'\nimport { ecommerceService } from '../../../services/ecommerce.service';\nimport { backendService } from \"../../../services/backend.service\";\nimport moment from 'moment';\nimport { Tooltip } from 'reactstrap';\n\nexport function CompanyShoppingHistory() {\n\n const [shoppingHistory, setShoppingHistory] = useState([]);\n const [userProfileBalance, setUserProfileBalance] = useState({ creditBalance: 0, prepaidBalance: 0 });\n const [datesFilter, setDatesFilter] = useState({ startDate: moment().startOf('month').format('YYYY-MM-DD'), endDate: moment().format('YYYY-MM-DD') });\n\n const [page, setPage] = useState(1);\n const totalPages = shoppingHistory.length > 0 ? shoppingHistory.length : 1;\n const isMoreThanThreeMonths = moment(datesFilter.startDate).diff(datesFilter.endDate, 'months', true) < (0 - 3);\n\n useEffect(() => {\n ecommerceService.getPurchaseOrdersFromCompany(datesFilter.startDate, datesFilter.endDate)\n .then(result => setShoppingHistory(result));\n\n getUserProfileBalance();\n\n }, []);\n\n\n const getUserProfileBalance = () => {\n backendService.getUserProfileBalance()\n .then(result => setUserProfileBalance(result));\n }\n\n const filterPurchaseOrders = () => {\n ecommerceService.getPurchaseOrdersFromCompany(datesFilter.startDate, datesFilter.endDate)\n .then(result => { setShoppingHistory(result); getUserProfileBalance(); });\n }\n\n const downloadCSV = () => {\n //dispatch(toggleBlocking());\n ecommerceService.downloadSalesAsCSV(datesFilter.startDate, datesFilter.endDate);\n }\n\n const endDateValidator = !datesFilter.startDate || !datesFilter.endDate || moment(datesFilter.startDate).isAfter(moment(datesFilter.endDate)) || isMoreThanThreeMonths;\n\n\n const startDateValidator = !datesFilter.startDate || !datesFilter.endDate || moment(datesFilter.startDate).isAfter(moment(datesFilter.endDate));\n\n return (\n
    \n
    \n
    \n

    Reportes

    \n \n
    \n
    \n
    \n
    \n \n
    \n setDatesFilter({ ...datesFilter, startDate: e.target.value })} />\n setDatesFilter({ ...datesFilter, endDate: e.target.value })} />\n \n \n
    \n {\n shoppingHistory.length > 0\n ? shoppingHistory[page - 1].map(item => {\n return \n })\n : \"\"\n }\n
    \n setPage(page)}\n />\n
    \n
    \n
    \n
    \n );\n}\n","import React, { useEffect } from \"react\";\nimport \"./oxxoPay.scss\";\nimport { cartHelper } from '../../../helpers/cart.helper';\nimport { Link } from 'react-router-dom';\n\n\nexport function OxxoPay() {\n useEffect(() => {\n cartHelper.clean();\n });\n\n return (\n
    \n

    Felicidades

    \n

    Estas muy cerca de tener tus folios.

    \n

    Te hemos enviado un email, con las instrucciones para que realices tu pago en Oxxo Pay.

    \n \"Oxxo\n \n

    Regresar al inicio

    \n
    \n );\n}","import { callApi } from './service'\n\nexport const eventTypeService = {\n editEventType,\n getEventType,\n deleteEventType\n};\n\n\nasync function editEventType(params) {\n return callApi('/backoffice/EventType', 'POST', params);\n}\n\nasync function getEventType() {\n return callApi('/backoffice/EventType', 'GET').then((result) => {\n\n if (result.responseCode == '00') {\n return result.data;\n } else {\n alert(result.responseMessage);\n return null;\n }\n\n });\n}\n\nasync function deleteEventType(params) {\n return callApi('/backoffice/EventType', 'DELETE', params);\n}","import React, { useEffect, useState, forwardRef, useImperativeHandle } from 'react';\nimport { Table } from \"reactstrap\";\nimport { eventTypeService } from '../../services/eventType.service';\n\nconst SearchEventType = forwardRef((props, ref) => {\n\n const [dataGrid, setDataGrid] = useState([]);\n const handleDelete = (event,data) => {\n eventTypeService.deleteEventType(data).then((result) => { getEventTypes(); });\n event.stopPropagation();\n };\n\n async function getEventTypes() {\n eventTypeService.getEventType()\n .then((result) => {\n if (result) {\n setDataGrid(result);\n }\n });\n }\n\n useEffect(() => {\n getEventTypes();\n }, []);\n\n const refreshDataGrid = () => { \n getEventTypes();\n }\n\n useImperativeHandle(ref, () => ({\n refreshDataGrid: refreshDataGrid\n }));\n\n return (\n\n \n \n \n \n \n \n \n \n \n \n \n {dataGrid.map(item => (\n props.handleRowSelect(item)}>\n \n \n \n \n \n {item.active ? : null}\n \n ))}\n\n \n
    Event NameDescriptionComputedAction TypeEstatus
    {item.eventName}{item.description}{item.computed ? 'True' : 'False'}{item.actionTypeId}{item.active ? 'Active' : 'Inactive'}
    \n );\n});\n\nexport default SearchEventType;\n","import { callApi } from './service'\n\nexport const eventService = {\n createEvent,\n updateEvent,\n getEvent,\n deleteEvent\n};\n\n\nasync function createEvent(params) {\n return callApi('/backoffice/Event', 'POST', params);\n}\n\nasync function updateEvent(params) {\n return callApi('/backoffice/Event', 'PUT', params);\n}\n\nasync function getEvent() {\n return callApi('/backoffice/Event', 'GET').then((result) => {\n\n if (result.responseCode == '00') {\n return result.data;\n } else {\n alert(result.responseMessage);\n return null;\n }\n\n });\n}\n\nasync function deleteEvent(params) {\n return callApi('/backoffice/Event', 'DELETE', params);\n}","import React, { useEffect, useState, forwardRef, useImperativeHandle } from 'react';\nimport { Table } from \"reactstrap\";\nimport { eventService } from '../../services/event.service';\n\nconst SearchEvent = forwardRef((props, ref) => {\n\n const [dataGrid, setDataGrid] = useState([]);\n const handleDelete = (event, data) => { \n eventService.deleteEvent(data).then((result) => { getEvents(); });\n event.stopPropagation();\n };\n\n async function getEvents() {\n eventService.getEvent()\n .then((result) => {\n if (result) {\n setDataGrid(result);\n }\n });\n }\n\n useEffect(() => {\n getEvents();\n }, []);\n\n const refreshDataGrid = () => {\n getEvents();\n }\n\n useImperativeHandle(ref, () => ({\n refreshDataGrid: refreshDataGrid\n }));\n\n return (\n\n \n \n \n \n \n \n \n \n \n \n \n {dataGrid.map(item => (\n props.handleRowSelect(item)}>\n \n \n \n \n \n {item.active ? : null}\n \n ))}\n\n \n
    Company Event IdEvent TitleStart DateEnd DateEstatus
    {item.companyEventTypeId}{item.eventTitle}{item.startDate}{item.endDate}{item.active ? 'Active' : 'Inactive'}
    \n );\n});\n\nexport default SearchEvent;\n","import { callApi } from './service'\n\nexport const attendeeService = {\n createAttendee,\n updateAttendee,\n getAttendee,\n deleteAttendee,\n getAttendeeUsers\n};\n\n\nasync function createAttendee(params) {\n return callApi('/backoffice/Attendee', 'POST', params);\n}\n\nasync function updateAttendee(params) {\n return callApi('/backoffice/Attendee', 'PUT', params);\n}\n\nasync function getAttendee() {\n return callApi('/backoffice/Attendee', 'GET').then((result) => {\n\n if (result.responseCode == '00') {\n return result.data;\n } else {\n alert(result.responseMessage);\n return null;\n }\n\n });\n}\n\nasync function getAttendeeUsers(params) {\n return callApi('/backoffice/Attendee/getAttendeeUsers/' + params.BranchOfficeId + '/'\n + params.DepartmentId + '/' + params.JobRoleId, 'GET').then((result) => {\n\n if (result.responseCode == '00') {\n return result.data;\n } else {\n alert(result.responseMessage);\n return null;\n }\n\n });\n}\n\n\nasync function deleteAttendee(params) {\n return callApi('/backoffice/Attendee', 'DELETE', params);\n}","import React, { useEffect, useState, forwardRef, useImperativeHandle } from 'react';\nimport { Table } from \"reactstrap\";\nimport { attendeeService } from '../../services/attendee.service';\n\nconst SearchAttendee = forwardRef((props, ref) => {\n\n const [dataGrid, setDataGrid] = useState([]);\n const handleDelete = (event, data) => {\n attendeeService.deleteAttendee(data).then((result) => { getAttende(); });\n event.stopPropagation();\n };\n\n async function getAttende() {\n attendeeService.getAttendee()\n .then((result) => {\n if (result) {\n setDataGrid(result);\n }\n });\n }\n\n useEffect(() => {\n getAttende();\n }, []);\n\n const refreshDataGrid = () => {\n getAttende();\n }\n\n useImperativeHandle(ref, () => ({\n refreshDataGrid: refreshDataGrid\n }));\n\n return (\n\n \n \n \n \n \n \n \n \n \n \n {dataGrid.map(item => ( \n \n \n \n \n \n {item.active ? : null}\n \n ))}\n\n \n
    EventBranchOfficeDepartmentEstatus
    {item.eventId}{item.branchOfficeId}{item.departmentId}{item.active ? 'Active' : 'Inactive'}
    \n );\n\n});\n\nexport default SearchAttendee;\n","import { callApi } from './service'\nimport swal from \"sweetalert\"\n\n\nexport const companyEventTypeService = {\n createCompanyActionType,\n updateCompanyActionType,\n getCompanyEventType,\n deletetCompanyEventType\n};\n\n\nasync function createCompanyActionType(params) {\n return callApi('/backoffice/CompanyEventType', 'POST', params).then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"El tipo de evento se creó correctamente\", icon: \"success\" })\n } else {\n console.log(result.responseMessage);\n swal({ text: \"Error al crear el tipo de evento\", icon: \"error\" });\n }\n });\n}\n\nasync function updateCompanyActionType(params) {\n \n return callApi('/backoffice/CompanyEventType', 'PUT', params).then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"El tipo de evento se actualizó correctamente\", icon: \"success\" })\n } else {\n console.log(result.responseMessage);\n swal({ text: \"Error al actualizar el tipo de evento\", icon: \"error\" });\n }\n });\n}\n\nasync function getCompanyEventType() {\n return callApi('/backoffice/CompanyEventType/getByCompany', 'GET').then((result) => {\n\n if (result.responseCode == '00') {\n return result.data;\n } else {\n alert(result.responseMessage);\n return null;\n }\n\n });\n}\n\nasync function deletetCompanyEventType(params) {\n return callApi('/backoffice/CompanyEventType', 'DELETE', params).then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"El tipo de evento se desactivo correctamente\", icon: \"success\" })\n } else {\n console.log(result.responseMessage);\n swal({ text: \"Error al desactivar el tipo de evento\", icon: \"error\" });\n }\n });\n}","import React, { useEffect, useState, forwardRef, useImperativeHandle } from 'react';\nimport { Table } from \"reactstrap\";\nimport { companyEventTypeService } from '../../services/companyEventType.service';\n\nconst SearchCompanyEventType = forwardRef((props, ref) => {\n\n const [dataGrid, setDataGrid] = useState([]);\n const handleDelete = (event, data) => {\n companyEventTypeService.deletetCompanyEventType(data).then((result) => { getCompanyEventTypes(); });\n event.stopPropagation();\n };\n\n async function getCompanyEventTypes() {\n companyEventTypeService.getCompanyEventType()\n .then((result) => {\n if (result) {\n setDataGrid(result);\n }\n });\n }\n\n useEffect(() => {\n getCompanyEventTypes();\n }, []);\n\n const refreshDataGrid = () => {\n getCompanyEventTypes();\n }\n\n useImperativeHandle(ref, () => ({\n refreshDataGrid: refreshDataGrid\n }));\n\n return (\n\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n {dataGrid.map(item => (\n \n \n \n \n \n \n {item.active ?\n \n : null}\n \n ))}\n \n
    Tipo de evento¿Genera recompensa?¿Genera notificación?PuntosEstatusAcciones
    {item.eventTypeDesc}{item.isRewarded ? 'Si' : 'No'}{item.isNotification ? 'Si' : 'No'}{item.reward}{item.active ? 'Activo' : 'Inactivo'}\n props.handleRowSelect(item)}>\n \n \n handleDelete(event, item)}>\n \n \n
    \n
    \n\n );\n});\n\nexport default SearchCompanyEventType;","import React, { useRef, useState } from 'react';\nimport { Col, Form, FormGroup, Label, Input } from \"reactstrap\";\nimport useInputSingleForm from '../../components/CustonHooks/inputFormHook';\nimport { SelectCustom } from '../../components/Helpers/SelectCustom';\nimport SearchCompanyEventType from './searchCompEventType';\nimport { companyEventTypeService } from '../../services/companyEventType.service';\nimport { useSelector } from 'react-redux';\n\nexport function AdminCompanyEventType() {\n\tconst companyId = useSelector(state => state.userSettings.companyId)\n\n const gridRef = useRef();\n const [showEdit, setShowEdit] = useState(false);\n let companyEventType = { CompanyEventTypeId: 0, EventTypeId: '', IsRewarded: false, Reward: 0, CompanyEventTypeNotificationId: 0, IsNotification: false }\n const onSave = () => {\n let model = {\n CompanyEventTypeId: parseInt(inputs.CompanyEventTypeId),\n EventTypeId: parseInt(inputs.EventTypeId),\n CompanyEventTypeNotificationId: parseInt(inputs.CompanyEventTypeNotificationId),\n IsRewarded: Boolean(inputs.IsRewarded),\n Reward: parseInt(inputs.Reward),\n IsNotification: Boolean(inputs.IsNotification),\n NotificationMessage: inputs.NotificationMessage,\n CompanyId: companyId\n }\n\n\t\tif (parseInt(inputs.CompanyEventTypeId) === 0) {\n\t\t\tcompanyEventTypeService.createCompanyActionType(model).then((result) => {\n\t\t\t\tgridRef.current.refreshDataGrid();\n\n\t\t\t});\n\t\t} else {\n\t\t\tcompanyEventTypeService.updateCompanyActionType(model).then((result) => {\n\t\t\t\tgridRef.current.refreshDataGrid();\n\t\t\t});\n\t\t}\n\t\tsetInputs({});\n\t\tsetShowEdit(false);\n\t};\n\tconst { inputs, handleInputChange, handleSubmit, setInputs } = useInputSingleForm(onSave, companyEventType);\n\n\tconst handleOnNewCompanyEvent = () => {\n\t\tsetInputs(companyEventType);\n\t\tsetShowEdit(true);\n\t};\n\n\tconst handleOnCancel = () => {\n\t\tsetInputs({});\n\t\tsetShowEdit(false);\n\t}\n\n\tconst handleRowSelect = (gridItem) => {\n\t\tsetShowEdit(true);\n\t\tsetInputs({\n\t\t\tCompanyEventTypeId: gridItem.companyEventTypeId,\n\t\t\tEventTypeId: gridItem.eventTypeId,\n\t\t\tCompanyEventTypeNotificationId: gridItem.companyEventTypeNotificationId,\n\t\t\tIsRewarded: gridItem.isRewarded,\n\t\t\tReward: gridItem.reward,\n\t\t\tIsNotification: gridItem.isNotification,\n\t\t\tNotificationMessage: gridItem.notificationMessage,\n\t\t\tCompanyId: gridItem.companyId,\n\t\t\tActive: gridItem.active\n\t\t});\n\t}\n\n return (\n
    \n
    \n
    \n

    Lista de tipos de evento

    \n
    \n \n
    \n
    \n
    \n
    \n
    \n {showEdit ?\n
    \n
    \n {inputs.CompanyEventTypeId == 0 ? \"Nuevo tipo de evento\" : \"Editar tipo de evento\"}\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
    \n
    \n \n \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    : null}\n
    \n
    \n \n
    \n );\n}","import React, { useState, useEffect } from 'react';\nimport { Link } from 'react-router-dom'\nimport { backendService } from './../../services/backend.service'\nimport Moment from 'react-moment'\nimport 'moment/locale/es';\nimport { useSelector } from 'react-redux';\nimport { Preferences } from './preferences'\n\nexport function Pending(props) {\n const [pending, setPending] = useState([])\n const calendarStrings = useSelector(state => state.calendarStrings);\n const [profile, setProfileInfo] = useState()\n\n useEffect(() => {\n backendService.userProfileActivity(true)\n .then((data) => {\n setPending(data)\n });\n }, [])\n\n return (\n \n )\n}","import React, { useState, useEffect } from \"react\";\nimport { backendService } from \"./../../services/backend.service\";\nimport swal from \"sweetalert\";\nimport { userProfileService } from \"../../services/backoffice/userProfile.service\"\nimport { userService } from \"../../services/user.service\";\nimport { Pending } from \"./pending\";\nimport { useForm } from \"react-hook-form\";\nimport {\n TabContent,\n TabPane,\n Nav,\n NavItem,\n NavLink,\n Card,\n Button,\n CardTitle,\n CardText,\n Row,\n Col,\n} from \"reactstrap\";\nimport \"./profile.scss\";\nimport Moment from \"react-moment\";\nimport \"moment/locale/es\";\nimport { useSelector } from \"react-redux\";\n\nexport function Profile() {\n const trigger = undefined;\n const [disabled, setDisabled] = useState(true);\n const [profile, setProfileInfo] = useState();\n const [changeImage, setChangeImage] = useState(false);\n const [btnImage, setBtnImage] = useState(\"fa fa-edit\");\n const [referenceList, setReferenceList] = useState([]);\n const [originValues, setOriginValues] = useState({ nickname: \"\" });\n const [inputClass, setInputClass] = useState(\n \"form-control-plaintext text-primary\"\n );\n const [placeHolderText, setPlaceHolderText] = useState(\"\");\n const { register, handleSubmit } = useForm();\n const companyId = useSelector((state) => state.userSettings.companyId);\n\n useEffect(() => {\n getProfileInfo();\n getReferenceByUser();\n \n }, [trigger]);\n\n const getProfileInfo = () => {\n backendService.userProfile().then((data) => {\n setOriginValues({ nickname: data.nickname ?? \"\" });\n setProfileInfo(data);\n });\n };\n\n const getReferenceByUser =()=> {\n userProfileService.getReferenceByUser().then((data)=> {\n const groupReference = groupBy(data, 'providerName');\n setReferenceList(groupReference);\n });\n }\n\n const deleteReference = (referenceId) => {\n swal({\n title: \"¿Estas seguro?\",\n text: \"¿Desea eliminar la referencia?\",\n icon: \"warning\",\n dangerMode: true,\n buttons: [\"Cancelar\", \"Si, eliminar\"]\n })\n .then((willDelete) => {\n \n if (willDelete) {\n userProfileService.deleteReference(referenceId)\n .then(function () {\n swal({ text: \"La referencia se eliminó correctamente\", icon: \"success\" })\n getReferenceByUser();\n });\n }\n });\n}\n\n\n const groupBy = (array, key) => {\n return array.reduce((result, currentValue) => {\n (result[currentValue[key]] = result[currentValue[key]] || []).push(\n currentValue\n );\n return result;\n }, {}); \n };\n\n\n const handleChange = (event) => {\n setChangeImage(event.target.files.length > 0);\n if (event.target.files.length > 0)\n setProfileInfo({\n ...profile,\n urlProfileImage: URL.createObjectURL(event.target.files[0]),\n });\n };\n\n const handleInputChange = (event) => {\n setProfileInfo({ ...profile, nickname: event.target.value });\n };\n\n const onSubmit = (data, e) => {\n data.Mobile = data.Mobile == undefined ? null : data.Mobile;\n data.Preferences = data.Preferences == undefined ? null : data.Preferences;\n\n userService.editProfile(data, companyId).then((result) => {\n if (result) {\n setChangeImage(false);\n setOriginValues({ nickname: profile.nickname ?? \"\" });\n } else {\n setProfileInfo({ ...profile, nickname: originValues.nickname });\n }\n\n setDisabled(true);\n setBtnImage(\"fa fa-edit\");\n setInputClass(\"form-control-plaintext text-primary\");\n setPlaceHolderText(\"\");\n });\n };\n\n const handleDisabled = () => {\n setDisabled(!disabled);\n if (disabled) {\n setBtnImage(\"fa fa-ban\");\n setInputClass(\"form-control\");\n setPlaceHolderText(\"Ingrese un sobre nombre\");\n } else {\n setBtnImage(\"fa fa-edit\");\n setInputClass(\"form-control-plaintext text-primary\");\n setPlaceHolderText(\"\");\n setProfileInfo({ ...profile, nickname: originValues.nickname });\n }\n };\n\n const [asideShow, setAsideshow] = useState(\"\");\n const activeAside = () => {\n setAsideshow(asideShow === \"\" ? \" is-show\" : \"\");\n };\n\n const [activeTab, setActiveTab] = useState(\"1\");\n\n const toggle = (tab) => {\n if (activeTab !== tab) setActiveTab(tab);\n };\n\n return (\n
    \n
    \n
    \n

    Mi Perfil

    \n
    \n
    \n\n
    \n
    \n \n \n \n\n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n \n {changeImage ? (\n \n ) : null}\n
    \n\n
    \n
    \n {\" \"}\n {profile && profile.middleName}{\" \"}\n {profile && profile.lastName}{\" \"}\n {profile && profile.firstName}\n
    \n
    {profile && profile.jobRole}
    \n
    \n
    \n
    \n
    \n
    Perfil
    \n
    \n {profile && profile.aspNetRoleName}\n
    \n
    \n
    \n
    \n Fecha de nacimiento\n
    \n
    \n \n {profile && profile.birthday}\n \n
    \n
    \n
    \n
    \n\n
    \n {/*
    \n
    \n ANTIGÜEDAD{\" \"}\n
    \n
    {profile && profile.seniority}
    \n
    \n
    \n
    \n DEPARTAMENTO{\" \"}\n
    \n
    {profile && profile.deparment}
    \n
    \n
    \n
    \n Sucursal{\" \"}\n
    \n
    \n {profile && profile.branchOfficeName}\n
    \n
    \n
    \n
    \n NO. EMPLEADO{\" \"}\n
    \n
    \n {profile && profile.employeeNo}\n
    \n
    */}\n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n Detalle de la\n cuenta\n \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n {!disabled ? (\n <>\n
    \n \n \n ) : null}\n
    \n
    \n
    \n \n
    \n
    \n Referencias guardadas\n {Object.keys(referenceList).length !== 0 ? \n
    \n {Object.keys(referenceList).map(cat => (\n
    \n
    \n
    \n {cat}\n
    \n { referenceList && referenceList[cat].map(ref => (\n
      \n
    • \n

      {ref.keyName}

      \n

      {ref.value}

      \n deleteReference(ref.userProfileInputValueId)}>\n \n \n
    • \n
    \n ))}\n\n
    \n
    \n )\n )}\n
    \n : \n
    \n
    \n
    \n No existen referencias guardadas para este usuario\n
    \n
    \n
    \n }\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n );\n}\n","import React, { useState } from \"react\";\n\nimport LogoCompany from \"../../assets/imgs/R_C.png\";\nimport IcoPass from \"../../assets/imgs/iconos/ico_pass.png\";\nimport { userService } from \"../../services/user.service\";\nimport { useForm } from \"react-hook-form\";\n\nexport function ResetPassword(props) {\n const { register, handleSubmit } = useForm();\n\n const onSubmit = (data, e) => {\n userService.resetPassword(data);\n };\n\n const [showPass, setShowPass] = useState(\"password\");\n const [showIco, setShowIco] = useState(\"fa-eye-slash\");\n\n const setInputPass = () => {\n setShowPass(showPass === \"password\" ? \"text\" : \"password\");\n setShowIco(showIco === \"fa-eye-slash\" ? \"fa-eye\" : \"fa-eye-slash\");\n };\n\n return (\n
    \n
    \n
    \n
    \n

    Bienvenidos

    \n

    \n Únete a este gran equipo e interactúa con nosotros\n

    \n
    \n
    \n
    \n
    \n
    \n \"Name\n
    \n

    \n Ingresa tu nueva contraseña\n

    \n
    \n \n \n\n
    \n \n \n \n \n \n \n \"Password\"\n \n \n
    \n
    \n \n \n \n \n \n \n \"Password\"\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n}\n","import { useEffect, useState } from 'react';\n\nconst useInputForm = (callback,initialValues) => {\n const [inputs, setInputs] = useState(initialValues);\n\n const handleSubmit = (event) => {\n if (event)\n event.preventDefault();\n callback(event);\n }\n useEffect(() => {\n setInputs(initialValues);\n }, [initialValues]);\n const handleInputChange = (event) => {\n event.persist(); \n setInputs(inputs => ({ ...inputs, [event.target.name]: event.target.type === 'checkbox' ? event.target.checked : event.target.value }));\n }\n const handleInputFileChange = (event) => {\n event.persist();\n setInputs(inputs => ({ ...inputs, [event.target.name]: event.target.files.length > 0? event.target.files[0]: null }));\n }\n\n return {\n handleSubmit,\n handleInputChange,\n handleInputFileChange,\n inputs,\n setInputs\n };\n}\nexport default useInputForm;\n\n","import { callApi } from './service'\nimport swal from \"sweetalert\"\n\nexport const contactInfoService = {\n createContact\n};\nasync function createContact(params) {\n return callApi('/Site/HelpContact', 'POST', params).then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"Gracias por comunicarte con nosotros, en breve un ejecutivo se pondrá en contacto.\", icon: \"success\" });\n return true\n } else {\n swal({ text: \"Ocurrió un error al enviar la información.\", icon: \"error\" });\n return false\n }\n });\n}\n","import React, { useState } from 'react'\nimport useInputForm from '../../components/CustonHooks/FormHook'\nimport { contactInfoService } from '../../services/helpContact.service'\nimport Tab from 'react-bootstrap/Tab'\nimport Nav from 'react-bootstrap/Nav'\nimport './help.scss'\n\nimport PictureHelp from '../../assets/imgs/picture_help.png'\n\nexport function Help() {\n const onSave = (event) => {\n contactInfoService.createContact(inputs);\n event.target.reset();\n };\n\n const [contactInfo, setContactInfo] = useState({\n name: \"\",\n businessName: \"\",\n email: \"\",\n message: \"\"\n });\n\n const { handleSubmit, handleInputChange, handleInputFileChange, inputs, setInputs } = useInputForm(onSave, contactInfo);\n return (\n
    \n {/*

    Ayuda

    */}\n
    \n
    \n \"Encuestas\"\n
    \n
    \n

    Ayuda y soporte técnico

    \n

    Te damos la bienvenida a nuestro Centro de Soporte Técnico, por favor identifica tu solicitud de servicio y sigue las instrucciones.

    \n
    \n
    \n
    \n
    Uso de la Plataforma
    \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n
    ¿Cómo funciona el sistema?
    \n
    \n
    \n

    video

    \n
    \n
    \n
    \n \n
    \n
    \n \n
    Canje de puntos
    \n
    \n
    \n
      \n
    1. \n
      Acumula puntos por distintas acciones como:
      \n
        \n
      • Ingresa la sección encuestas y realiza las encuestas disponibles.
      • \n
      • Ingresa a la sección capacitación y toma las capacitaciones asignadas por tu organización.
      • \n
      • Realiza cualquier otra acción que tu organización haya determinado para sumar y acumular puntos.
      • \n
      \n
    2. \n\n
    3. \n
      Canjea tus puntos por recompensas:
      \n
        \n
      • Ingresa a la sección recompensas y consulta tus puntos acumulados.
      • \n
      • Consulta las recompensas disponibles y puntos requeridos para su canje.
      • \n
      • Selecciona tu recompensa, canjea tus puntos, obtén tu cupón y disfruta de tu beneficio.
      • \n
      \n
    4. \n\n
    5. \n
      Consulta tu historial:
      \n
        \n
      • Consulta tu historial de canje para visualizar tus recompensas descargadas durante el mes.
      • \n
      • Consulta tu estado de cuenta para visualizar tus puntos canjeados, activos y por vencer.
      • \n
      \n\n
    6. \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n \n
    Descuentos corporativos
    \n
    \n
    \n
    ¿Cómo funciona?
    \n

    \n Ingresa a la sección descuentos corporativos, consulta las marcas disponibles y adquiere paquetes y productos a precios especiales.\n

    \n
    \n
    \n
    \n \n
    \n
    \n \n
    Atención de incidencias
    \n
    \n
    \n
    ¿Necesitas apoyo con la plataforma?
    \n

    Por favor contáctanos a través del siguiente\n formulario y un ejecutivo se pondrá en contacto contigo.

    \n\n
    Horario de atención:
    \n

    9:00 a 18:00 hrs de Lunes a Jueves

    \n

    9:00 a 15:00 hrs Viernes

    \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\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n )\n}","import React, { useState, useEffect } from 'react'\nimport { Link } from 'react-router-dom';\n\nimport { ButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { Pagination } from 'rsuite';\nimport 'rsuite/dist/styles/rsuite-default.css'\nimport './users.scss'\nimport { userProfileService } from '../../services/backoffice/userProfile.service'\nimport moment from 'moment';\n\nexport function Users() {\n const [tableData, setTableData] = useState({ list: [], totalPages: 1, totalCount: 0, pageIndex: 1, filterBy: \"\", filter: \"\", orderBy: \"EmployeeNo\", ascending: false });\n const [dropdownOpen, setDropdownOpen] = useState(false);\n const toggle = () => setDropdownOpen(prevState => !prevState);\n\n useEffect(() => {\n getUsers(1, tableData.filterBy, tableData.filter, tableData.orderBy, tableData.ascending);\n }, []);\n\n const getUsers = (pageIndex, filterBy, filter, orderBy, ascending) => {\n userProfileService.getAll(pageIndex, 20, filterBy, filter, orderBy, ascending).\n then((result) => {\n if (result.list.length > 0)\n setTableData({ list: result.list, totalPages: result.totalPages, totalCount: result.totalCount, pageIndex, filterBy, filter, orderBy, ascending });\n });\n }\n\n const handleSelectPage = (pageIndex) => {\n getUsers(pageIndex, tableData.filterBy, tableData.filter, tableData.orderBy, tableData.ascending);\n }\n\n const handleFind = () => {\n const filterBy = tableData.filter == \"\" ? \"\" : \"Name\";\n getUsers(tableData.pageIndex, filterBy, tableData.filter, tableData.orderBy, tableData.ascending);\n }\n\n const handleOrdering = (orderBy) => {\n const ascending = orderBy == tableData.orderBy ? !tableData.ascending : false;\n getUsers(tableData.pageIndex, tableData.filterBy, tableData.filter, orderBy, ascending);\n }\n\n return (\n
    \n
    \n
    \n

    Usuarios

    \n
    \n {/**/}\n \n \n Cargar usuarios\n \n \n \n \n Carga indivual\n \n \n \n {/*\n \n Carga masiva\n \n */}\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    Total de usuarios: {tableData.totalCount}
    \n
    \n
    \n
    \n setTableData({ ...tableData, filter: e.target.value })} />\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 tableData.list.map(user =>\n \n \n \n \n \n \n \n \n \n \n )\n }\n \n
    handleOrdering(\"EmployeeNo\")}>\n No. Empleado\n {tableData.orderBy == \"EmployeeNo\" && }\n handleOrdering(\"Name\")}>\n Nombre completo\n {tableData.orderBy == \"Name\" && }\n handleOrdering(\"Gender\")}>\n Género\n {tableData.orderBy == \"Gender\" && }\n handleOrdering(\"Age\")}>\n Edad\n {tableData.orderBy == \"Age\" && }\n handleOrdering(\"Seniority\")}>\n Antigüedad\n {tableData.orderBy == \"Seniority\" && }\n handleOrdering(\"BranchOffice\")}>\n Sucursal\n {tableData.orderBy == \"BranchOffice\" && }\n handleOrdering(\"Department\")}>\n Departamento\n {tableData.orderBy == \"Department\" && }\n handleOrdering(\"JobRole\")}>\n Puesto\n {tableData.orderBy == \"JobRole\" && }\n Status
    {user.employeeNo}{user.name}{user.gender}{moment().diff(user.birthday, 'years')}{user.seniority}{user.branchOfficeName}{user.departmentName}{user.jobRoleName}{user.active ? \"Activo\" : \"Inactivo\"}
    \n \n
    \n
    \n )\n}","import React, { useState, useEffect } from 'react'\nimport { TabContent, TabPane, Nav, NavItem, NavLink } from 'reactstrap';\nimport classnames from 'classnames';\nimport { UserActivity } from '../../components/userActivity/userActivity'\n\nimport { userProfileService } from '../../services/backoffice/userProfile.service'\nimport moment from 'moment';\nimport { useForm } from 'react-hook-form';\nimport './users.scss'\nimport { useSelector } from 'react-redux';\n\n\nexport function UserDetails(props) {\n\tconst companyId = useSelector(state => state.userSettings.companyId)\n\tconst { register, handleSubmit } = useForm();\n\tconst [catalogs, setCatalogs] = useState({ aspNetRolesCatalog: [], branchOfficeCatalog: [], departmentCatalog: [], jobRoleCatalog: [] });\n\tconst [isNew, setIsNew] = useState(false);\n\tconst [user, setUser] = useState({active : true});\n\tconst [activeTab, setActiveTab] = useState('1');\n\n\tconst toggle = tab => {\n\t\tif (activeTab !== tab) setActiveTab(tab);\n\t}\n\n\tuseEffect(() => {\n\t\tuserProfileService.getCatalogs()\n\t\t\t.then((result) => {\n\t\t\t\tsetCatalogs(result);\n\t\t\t\tsetIsNew(props.match.params.id == \"new\");\n\t\t\t\tif (!isNew) {\n\t\t\t\t\tgetById(props.match.params.id);\n\t\t\t\t}\t\t\t\t\n\t\t\t});\n\n\t}, [props.match.params.id]);\n\n\tconst getById = (id) => {\n\t\t// debugger\n\t\tuserProfileService.getById(id)\n\t\t\t.then((result) => {\n\t\t\t\t// debugger\n\t\t\t\tsetUser(result);\n\t\t\t});\n\t}\n\n\tconst handleActive = (e) => {\n\t\tsetUser({ ...user, active: !user.active });\n\t}\n\n\tconst onSubmit = (data, e) => {\n\t\tdata.CompanyId = companyId;\n\t\tdata.Notification = data.Notification == 'true';\n\t\tdata.BranchOfficeId = parseInt(data.BranchOfficeId);\n\t\tdata.DepartmentId = parseInt(data.DepartmentId);\n\t\tdata.JobRoleId = parseInt(data.JobRoleId);\n\t\tdata.Active = data.active;\n\t\t\n\t\tif (isNew)\n\t\t\tuserProfileService.create(data);\n\t\telse\n\t\t\tuserProfileService.edit(data);\n\t}\n\n\tconst handleChange = (event) => {\n\t\tsetUser({ ...user, [event.target.id]: event.target.value });\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    Usuario

    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    {isNew ? \"Usuario nuevo\" : \"Detalle del usuario\"}

    \n\t\t\t\t
    \n\t\t\t
    \n\n\t\t\t
    \n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\tDatos de la cuenta\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n \t\t\t\t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tisNew ?\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\tDatos de usuario\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t{/*\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t*/}\n\t\t\t\t
    \n\t\t\t
    \n\n\n\n\t\t
    \n\t)\n}","import React from 'react'\nimport { useDropzone } from 'react-dropzone';\nimport { userProfileService } from '../../services/backoffice/userProfile.service'\n\nimport './users.scss'\n\nimport swal from \"sweetalert\"\nimport { useSelector } from 'react-redux';\n\n\nexport function BulkLoad() {\n\tconst companyId = useSelector(state => state.userSettings.companyId)\n\tconst { acceptedFiles, getRootProps, getInputProps } = useDropzone({ multiple: false });\n\n\tconst files = acceptedFiles.map(file => (\n\t\t
  • \n\t\t\t{file.path} - {file.size} bytes\n\t\t
  • \n\t));\n\n\tconst upload = () => {\n\t\tif (acceptedFiles.length === 0) {\n\t\t\tswal({ text: \"Debes cargar un archivo para continuar\", icon: \"warning\" });\n\t\t} else {\n\t\t\tuserProfileService.uploadMigrationFile(companyId, acceptedFiles[0]);\n\t\t}\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t

    Usuario

    \n\t\t\t\t\t\t
    Carga masiva
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t Descargar template\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t\t\n\t\t\t\t\t\t

    Arrastre y suelte un archivo .cvs aquí, o haga clic para seleccionar un archivo.

    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\n\t\t
    \n\t)\n}","import { callApi } from './service'\nimport swal from \"sweetalert\"\n\nexport const deparmentService = {\n createDeparment,\n updateDeparment,\n getDeparment,\n deletetDeparment\n};\n\n\nasync function createDeparment(params) {\n return callApi('/backoffice/Department', 'POST', params);\n}\n\nasync function updateDeparment(params) {\n return callApi('/backoffice/Department', 'PUT', params);\n}\n\nasync function getDeparment() {\n return callApi('/backoffice/Department', 'GET').then((result) => {\n\n if (result.responseCode == '00') {\n return result.data;\n } else {\n alert(result.responseMessage);\n return null;\n }\n\n });\n}\n\nasync function deletetDeparment(params) {\n return callApi('/backoffice/Department', 'DELETE', params).then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"El departamento se desactivo correctamente\", icon: \"success\" })\n } else {\n console.log(result.responseMessage);\n swal({ text: \"Error al desactivar el departamento\", icon: \"error\" });\n }\n });\n}\n\n","import React, { useEffect, useState, forwardRef, useImperativeHandle } from 'react';\nimport { deparmentService } from '../../services/deparment.service';\n\n\nconst SearchDeparment = forwardRef((props, ref) => {\n\n\tconst [dataGrid, setDataGrid] = useState([]);\n\tconst handleDelete = (event, data) => {\n\t\tdeparmentService.deletetDeparment(data).then((result) => { getDeparment(); });\n\t\tevent.stopPropagation();\n\t};\n\n\tasync function getDeparment() {\n\t\tdeparmentService.getDeparment()\n\t\t\t.then((result) => {\n\t\t\t\tif (result) {\n\t\t\t\t\tsetDataGrid(result);\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tuseEffect(() => {\n\t\tgetDeparment();\n\t}, []);\n\n\tconst refreshDataGrid = () => {\n\t\tgetDeparment();\n\t}\n\n\tuseImperativeHandle(ref, () => ({\n\t\trefreshDataGrid: refreshDataGrid\n\t}));\n\n\treturn (\n\n\t\t
    \n\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{dataGrid.map(item => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t
    DepartamentoEstatusAcciones
    props.handleRowSelect(item)}>{item.departmentName} {item.active ? 'Activo' : 'Inactivo'}\n\t\t\t\t\t\t\t\t{item.active ?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t props.handleRowSelect(item)}>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t handleDelete(event, item)}>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t : null}\n\n\t\t\t\t\t\t\t
    \n\t\t
    \n\n\t);\n\n});\n\nexport default SearchDeparment;","import React, { useRef, useState } from 'react';\nimport { Form, FormGroup, Label, Input } from \"reactstrap\";\nimport useInputSingleForm from '../../components/CustonHooks/inputFormHook';\nimport { SelectCustom } from '../../components/Helpers/SelectCustom';\nimport SearchDeparment from './searchDeparment';\nimport { deparmentService } from '../../services/deparment.service';\nimport { useSelector } from 'react-redux';\n\nexport function AdminDeparment() {\n\tconst companyId = useSelector(state => state.userSettings.companyId)\n\n\tconst gridRef = useRef();\n\tlet deparmentInit = { DepartmentId: 0, CompanyId: 0, DepartmentName: '' }\n\tconst [showEdit, setShowEdit] = useState(false);\n\tconst onSave = () => {\n\t\tlet model = {\n\t\t\tDepartmentId: parseInt(inputs.DepartmentId), CompanyId: companyId, DepartmentName: inputs.DepartmentName\n\t\t}\n\n\t\tif (parseInt(inputs.DepartmentId) === 0) {\n\t\t\tdeparmentService.createDeparment(model).then((result) => {\n\t\t\t\tgridRef.current.refreshDataGrid();\n\n\t\t\t});\n\t\t} else {\n\t\t\tdeparmentService.updateDeparment(model).then((result) => {\n\t\t\t\tgridRef.current.refreshDataGrid();\n\t\t\t});\n\t\t}\n\t\tsetInputs({});\n\t\tsetShowEdit(false);\n\n\t};\n\tconst { inputs, handleInputChange, handleSubmit, setInputs } = useInputSingleForm(onSave, {});\n\n\tconst handleOnCancel = () => {\n\t\tsetInputs({});\n\t\tsetShowEdit(false);\n\t}\n\n\tconst handleOnNewDeparment = () => {\n\t\tsetInputs(deparmentInit);\n\t\tsetShowEdit(true);\n\t};\n\n\tconst handleRowSelect = (gridItem) => {\n\t\tsetShowEdit(true);\n\t\tsetInputs({ DepartmentId: gridItem.departmentId, CompanyId: gridItem.companyId, DepartmentName: gridItem.departmentName });\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    Lista de departamentos

    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\n\t\t\t
    \n\n\t\t\t\t
    \n\t\t\t\t\t{showEdit ?\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{inputs.DepartmentId == 0 ? \"Nuevo departamento\" : \"Editar departamento\"}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    : null}\n\n\t\t\t\t\t\n\n\t\t\t\t
    \n\t\t\t
    \n\n\t\t
    \n\t);\n}","import { callApi } from './service'\nimport swal from \"sweetalert\"\n\nexport const branchOfficeService = {\n create,\n update,\n getAll,\n deleteBranchOffice\n};\n\nasync function create(params) {\n return callApi('/backoffice/BranchOffice', 'POST', params);\n}\n\nasync function update(params) {\n return callApi('/backoffice/BranchOffice', 'PUT', params);\n}\n\nasync function getAll() {\n return callApi('/backoffice/BranchOffice', 'GET').then((result) => {\n\n if (result.responseCode == '00') {\n return result.data;\n } else {\n alert(result.responseMessage);\n return null;\n }\n\n });\n}\n\nasync function deleteBranchOffice(params) {\n return callApi('/backoffice/BranchOffice', 'DELETE', params).then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"La sucursal se desactivo correctamente\", icon: \"success\" })\n } else {\n console.log(result.responseMessage);\n swal({ text: \"Error al desactivar la sucursal\", icon: \"error\" });\n }\n });\n}\n","import React, { useEffect, useState, forwardRef, useImperativeHandle } from 'react';\nimport { Table } from \"reactstrap\";\nimport { branchOfficeService } from '../../../services/branchOffice.service';\n\n\nconst SearchBranchOffice = forwardRef((props, ref) => {\n\n const [dataGrid, setDataGrid] = useState([]);\n const handleDelete = (event, data) => {\n branchOfficeService.deleteBranchOffice(data).then((result) => { getAll(); });\n event.stopPropagation();\n };\n\n async function getAll() {\n branchOfficeService.getAll()\n .then((result) => {\n if (result) {\n setDataGrid(result);\n }\n });\n }\n\n useEffect(() => {\n getAll();\n }, []);\n\n const refreshDataGrid = () => {\n getAll();\n }\n\n useImperativeHandle(ref, () => ({\n refreshDataGrid: refreshDataGrid\n }));\n\n return (\n\n
    \n \n \n \n \n \n \n \n \n \n {dataGrid.map(item => (\n \n \n \n \n \n ))}\n\n \n\n
    SucursalEstatusAcciones
    {item.branchOfficeName}{item.active ? 'Activo' : 'Inactivo'}\n {item.active ?\n \n props.handleRowSelect(item)}>\n \n \n handleDelete(event, item)}>\n \n \n \n : null}\n
    \n
    \n );\n});\n\nexport default SearchBranchOffice;\n","import React, { useRef, useState } from 'react';\nimport { Col, Form, FormGroup, Label, Input } from \"reactstrap\";\nimport useInputSingleForm from '../../../components/CustonHooks/inputFormHook';\nimport SearchBranchOffice from './searchBranchOffice';\nimport { branchOfficeService } from '../../../services/branchOffice.service';\n\nexport function BranchOffice() {\n\n const gridRef = useRef();\n const [showEdit, setShowEdit] = useState(false);\n let initBranchOff = { BranchOfficeId: 0, BranchOfficeName: '' }\n const onSave = () => {\n\n let model = { BranchOfficeId: parseInt(inputs.BranchOfficeId), BranchOfficeName: inputs.BranchOfficeName };\n\n if (parseInt(inputs.BranchOfficeId) === 0) {\n branchOfficeService.create(model).then((result) => {\n gridRef.current.refreshDataGrid();\n setInputs({});\n setShowEdit(false);\n });\n } else {\n branchOfficeService.update(model).then((result) => {\n gridRef.current.refreshDataGrid();\n setInputs({});\n setShowEdit(false);\n });\n }\n\n }\n const { inputs, handleInputChange, handleSubmit, setInputs } = useInputSingleForm(onSave, initBranchOff);\n\n const handleRowSelect = (gridItem) => {\n setShowEdit(true);\n setInputs({ BranchOfficeId: gridItem.branchOfficeId, BranchOfficeName: gridItem.branchOfficeName });\n }\n\n const handleOnCancel = () => {\n setInputs({});\n setShowEdit(false);\n }\n\n const handleOnNew = () => {\n setInputs(initBranchOff);\n setShowEdit(true);\n };\n\n return (\n
    \n
    \n
    \n

    Lista de sucursales

    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n {showEdit ?\n
    \n\n
    \n \n {inputs.BranchOfficeId == 0 ? \"Nuevo sucursal\" : \"Editar sucursal\"}\n\n
    \n
    \n \n \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    : null}\n\n
    \n
    \n\n\n\n \n\n\n
    \n );\n}\n","import { callApi } from './service'\nimport swal from \"sweetalert\"\n\nexport const useJobRole = {\n createJobRole,\n updateJobRole,\n deleteJobRole,\n getJobRoles\n};\nasync function createJobRole(params) {\n return callApi('/backoffice/JobRole', 'POST', params).then((result) => {\n if (result.responseCode === '00')\n return result.data;\n else {\n alert(result.responseMessage);\n return null;\n }\n });\n}\nasync function getJobRoles() {\n return callApi('/backoffice/JobRole', 'GET').then((result) => {\n if (result.responseCode === '00')\n return result.data;\n else {\n alert(result.responseMessage);\n return null;\n }\n });\n}\nasync function updateJobRole(params) {\n return callApi('/backoffice/JobRole', 'PUT', params).then((result) => {\n if (result.responseCode === '00')\n return result.data;\n else {\n alert(result.responseMessage);\n return null;\n }\n });\n}\nasync function deleteJobRole(params) {\n return callApi('/backoffice/JobRole', 'DELETE', params).then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"El puesto se desactivo correctamente\", icon: \"success\" })\n } else {\n console.log(result.responseMessage);\n swal({ text: \"Error al desactivar el puesto\", icon: \"error\" });\n }\n });\n}","import React, { useEffect, useState } from 'react';\nimport useInputForm from '../../../components/CustonHooks/FormHook'\n\nimport { useJobRole } from '../../../services/jobRole.service'\n\nexport function EditJobRole(props) {\n const onSave = () => {\n if (inputs.JobRoleId && inputs.JobRoleId > 0)\n useJobRole.updateJobRole({ JobRoleId: parseInt(inputs.JobRoleId), Name: inputs.Name, Description: inputs.Description }).then((result) => {\n if (props.onSave)\n props.onSave();\n });\n else\n useJobRole.createJobRole({ Name: inputs.Name, Description: inputs.Description }).then((result) => {\n if (props.onSave)\n props.onSave();\n });\n };\n const handleOnCancel = () => {\n if (props.onCancelEdit)\n props.onCancelEdit();\n };\n const [survey, setSurvey] = useState({ JobRoleId: \"\", Description: \"\", Name: \"\" });\n const { handleSubmit, handleInputChange, inputs, setInputs } = useInputForm(onSave, survey);\n\n useEffect(() => {\n let newP = {};\n if (props.currentJobRole) {\n newP = { JobRoleId: props.currentJobRole.JobRoleId.toString(), Description: props.currentJobRole.Description, Name: props.currentJobRole.Name };\n setSurvey(newP);\n }\n else\n setSurvey({ JobRoleId: \"\", Description: \"\", Name: \"\" });\n }, [props.currentJobRole]);\n\n return (\n
    \n
    \n
    \n
    \n \n {inputs.JobRoleId == 0 ? \"Nuevo puesto\" : \"Editar puesto\"}\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} ","import React, { useEffect, useState } from 'react';\nimport { useJobRole } from '../../../services/jobRole.service';\n\nexport function SearchJobRole(props) {\n const [jobsData, setJobsData] = useState({ jobs: [] });\n const handleDelete = (data) => {\n useJobRole.deleteJobRole(data).then((result) => { getJobRoles(); });\n };\n\n useEffect(() => {\n getJobRoles();\n }, [props.refresh]);\n\n async function getJobRoles() {\n useJobRole.getJobRoles().then((result) => {\n if (result) {\n setJobsData({ jobs: result });\n }\n });\n }\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n {jobsData.jobs.map(job => (\n \n \n \n \n \n \n ))}\n \n
    NombreDescripcionEstatusAcciones
    {job.name}{job.description}{job.active ? 'Activo' : 'Inactivo'}\n {job.active ?\n \n props.onSelectJobRole(job)}>\n \n \n handleDelete(job)}>\n \n \n \n : null}\n
    \n
    \n\n );\n}","import React, { useState } from 'react';\nimport { EditJobRole } from './editJobRole';\nimport { SearchJobRole } from './searchJobRoles';\n\nexport function AdminJobRoles() {\n\tconst [showEdit, setShowEdit] = useState(false);\n\tconst [selectedJobRole, setSelectedJobRole] = useState();\n\tconst [refresh, setRefresh] = useState(0);\n\n\tconst handleOnSelected = (jobRole) => {\n\t\tsetShowEdit(true);\n\t\tsetSelectedJobRole({ JobRoleId: jobRole.jobRoleId, Description: jobRole.description, Name: jobRole.name });\n\t};\n\tconst handleOnNew = () => {\n\t\tsetSelectedJobRole(null);\n\t\tsetShowEdit(true);\n\t};\n\tconst handleOnCancelEdit = () => {\n\t\tsetSelectedJobRole(null);\n\t\tsetShowEdit(false);\n\t}\n\tconst handleOnSaveEdit = () => {\n\t\tsetRefresh(prev => prev + 1);\n\t\tsetShowEdit(false);\n\t}\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    Lista de puestos

    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{showEdit ?\n\t\t\t\t\t\t\n\t\t\t\t\t\t: null}\n\t\t\t\t
    \n\t\t\t
    \n\n\t\t\t\n\t\t\n\t\t
    \n\t);\n}","import React, { useEffect, useState } from 'react';\nimport { useCompanyHoliday } from '../../../services/companyHoliday.service';\n\nexport function ListNotice(props) {\n const [CompanyHolidaysData, setCompanyHolidaysData] = useState({ CompanyHolidays: [] });\n const handleDelete = (data) => {\n useCompanyHoliday.deleteCompanyHoliday(data).then((result) => { getCompanyHolidays(); });\n };\n\n useEffect(() => {\n getCompanyHolidays();\n }, [props.refresh]);\n\n async function getCompanyHolidays() {\n useCompanyHoliday.getCompanyHolidays().then((result) => {\n if (result) {\n setCompanyHolidaysData({ CompanyHolidays: result });\n }\n });\n }\n return (\n
    \n
    \n
    \n

    Lista de avisos

    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n {CompanyHolidaysData.CompanyHolidays.map(companyHoliday => (\n \n \n \n \n \n \n \n \n ))}\n \n
    ImagenAvisoFechaFecha de inicioFecha de finalAcciones
    \n \n {companyHoliday.description}{companyHoliday.date}{companyHoliday.startDate}{companyHoliday.endDate}\n props.onSelectCompanyHoliday(companyHoliday)} >\n \n \n handleDelete(companyHoliday)}>\n \n \n
    \n\n
    \n
    \n\n )\n}","import React, { useEffect, useState } from 'react';\nimport { Input } from \"reactstrap\";\nimport { GeneralUpload } from '../../../components/Helpers/generalUpload';\nimport useInputForm from '../../../components/CustonHooks/FormHook'\nimport { useCompanyHoliday } from '../../../services/companyHoliday.service'\n\n\nexport function EditNotice(props) {\n const onSave = () => {\n if (inputs.CompanyHolidayId && inputs.CompanyHolidayId > 0)\n useCompanyHoliday.updateCompanyHoliday({ CompanyHolidayId: parseInt(inputs.CompanyHolidayId), Description: inputs.Description, Date: inputs.Date, WorkingDay: inputs.WorkingDay, EndDate: inputs.EndDate, StartDate: inputs.StartDate, TypeId: 1 }, localfiles).then((result) => {\n if (props.onSave)\n props.onSave(result);\n });\n else\n useCompanyHoliday.createCompanyHoliday({ Description: inputs.Description, Date: inputs.Date, WorkingDay: inputs.WorkingDay, EndDate: inputs.EndDate, StartDate: inputs.StartDate, TypeId: 1 }, localfiles).then((result) => {\n if (props.onSave)\n props.onSave(result);\n });\n };\n const handleOnCancel = () => {\n if (props.onCancelEdit)\n props.onCancelEdit();\n };\n const handleOnChangeFile = (files) => {\n setLocalFiles(files);\n }\n\n const [CompanyHoliday, setCompanyHoliday] = useState({ CompanyHolidayId: \"\", Description: \"\", Date: \"\", WorkingDay: false, StartDate: \"\", EndDate: \"\"});\n const { handleSubmit, handleInputChange, inputs, setInputs } = useInputForm(onSave, CompanyHoliday);\n const [localfiles, setLocalFiles] = useState([]);\n const [images, setImages] = useState([]);\n\n useEffect(() => {\n let newP = {};\n if (props.currentCompanyHoliday) {\n newP = { CompanyHolidayId: props.currentCompanyHoliday.CompanyHolidayId.toString(), Description: props.currentCompanyHoliday.Description, Date: formatDate(new Date(props.currentCompanyHoliday.Date)), WorkingDay: props.currentCompanyHoliday.WorkingDay, EndDate: formatDate(new Date(props.currentCompanyHoliday.EndDate)), StartDate: formatDate(new Date(props.currentCompanyHoliday.StartDate)), TypeId: 1 };\n setCompanyHoliday(newP);\n useCompanyHoliday.getCompanyHolidayWithFilesById(newP.CompanyHolidayId).then((result) => {\n setImages(result.files);\n });\n }\n else\n setCompanyHoliday({ CompanyHolidayId: \"\", Description: \"\", Date: \"\", WorkingDay: false, StartDate: \"\", EndDate: \"\", TypeId: 0 });\n }, [props.currentCompanyHoliday]);\n\n const formatDate = (date) => {\n\n let datestring = date.getFullYear() + \"-\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"-\" + (\"0\" + date.getDate()).slice(-2);\n return datestring;\n };\n\n return (\n
    \n
    \n Nuevo / Editar Aviso\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
    \n {images && images.length > 0 ?\n
    \n \n\n
    : null}\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n )\n}","import React, { useState } from 'react';\nimport { ListNotice } from './listNotice'\nimport { EditNotice } from './editNotice'\n\nexport function Notice() {\n const [showEdit, setShowEdit] = useState(false);\n const [selectedCompanyHoliday, setSelectedCompanyHoliday] = useState();\n const [refresh, setRefresh] = useState(0);\n\n const handleOnCompanyHolidaySelected = (CompanyHoliday) => {\n setShowEdit(true);\n setSelectedCompanyHoliday({ CompanyHolidayId: CompanyHoliday.companyHolidayId, Description: CompanyHoliday.description, StartDate: CompanyHoliday.startDate, EndDate: CompanyHoliday.endDate, Date: CompanyHoliday.date, WorkingDay: CompanyHoliday.workingDay });\n };\n const handleOnNewCompanyHoliday = () => {\n setSelectedCompanyHoliday(null);\n setShowEdit(true);\n };\n const handleOnCancelEdit = () => {\n setSelectedCompanyHoliday(null);\n setShowEdit(false);\n }\n const handleOnSaveEdit = (result) => {\n setRefresh(prev => prev + 1);\n if (result)\n setShowEdit(false);\n }\n return(\n
    \n {showEdit ? : null}\n {!showEdit ? : null}\n
    \n )\n} ","import { callApi, callApiFileStorage } from '../service'\nimport swal from \"sweetalert\"\n\nexport const companyCustomizeService = {\n getById,\n getByCompanyId,\n create,\n edit\n};\n\n\nasync function getById(id) {\n return callApi('/BackOffice/CompanyCustomize/' + id, 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return {};\n }\n });\n}\nasync function getByCompanyId(companyId) {\n return callApi('/BackOffice/CompanyCustomize/GetByCompanyId/' + companyId, 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data[0];\n } else {\n return {};\n }\n });\n}\n\n\nasync function create(data) {\n debugger;\n const formData = new FormData();\n formData.append(\"companyCustomizeId\", data.CompanyCustomizeId);\n formData.append(\"companyId\", data.CompanyId);\n formData.append(\"customizeValues\", data.CustomizeValues);\n formData.append(\"companyLogoFile\", data.CompanyLogoFile);\n \n return callApiFileStorage('/BackOffice/CompanyCustomize', 'POST', formData, false)\n .then((result) => {\n if (result.responseCode === \"00\") {\n return swal({ text: \"Registro guardado exitosamente\", icon: \"success\" })\n .then(() => {\n return true;;\n });\n }else {\n swal({ text: result.responseMessage, icon: \"error\" });\n }\n });\n}\n\nasync function edit(data) {\n debugger;\n const formData = new FormData();\n formData.append(\"companyCustomizeId\", data.CompanyCustomizeId);\n formData.append(\"companyId\", data.CompanyId);\n formData.append(\"customizeValues\", data.CustomizeValues);\n formData.append(\"companyLogoFile\", data.CompanyLogoFile);\n return callApiFileStorage('/BackOffice/CompanyCustomize', 'PUT', formData,false)\n .then((result) => {\n if (result.responseCode === \"00\") {\n return swal({ text: \"Registro guardado exitosamente\", icon: \"success\" })\n .then((value) => {\n return true;\n });\n } else {\n swal({ text: result.responseMessage, icon: \"error\" });\n }\n });\n}\n\n\n","import React, { useEffect, useState } from 'react';\nimport useInputForm from '../../../components/CustonHooks/FormHook'\nimport { companyCustomizeService } from '../../../services/backoffice/companyCustomize.service';\n\nexport function CompanyCustomize(props) {\n\n\tconst [values, setValues] = useState({\n\t\tCompanyLogoFile: null,\n\t\tCompanyCustomizeId: 0,\n\t\tcustomizeValues: \"\",\n\t\tCompanyId: props.CompanyId,\n\t\tCompanyLogo: \"\",\n\t\tPrimaryColor: \"\",\n\t\tSecondaryColor: \"\"\n\t});\n\n\tconst [customize, setCustomize] = useState({\n\t\tcompanyCustomizeId: 0,\n\t\tcompanyId: props.CompanyId,\n\t\tcustomizeValues: \"\",\n\t\tcompanyLogoFile: null\n\t});\n\n\tconst onSave = () => {\n\t\tinputs.CompanyId = parseInt(inputs.CompanyId);\n\t\tinputs.CompanyCustomizeId = parseInt(inputs.CompanyCustomizeId);\n\t\tinputs.CustomizeValues = JSON.stringify({ \"CompanyLogo\": inputs.CompanyLogo, \"PrimaryColor\": inputs.PrimaryColor, \"SecondaryColor\": inputs.SecondaryColor })\n\t\tif (customize.companyCustomizeId && customize.companyCustomizeId > 0)\n\t\t\tcompanyCustomizeService.edit(inputs)\n\t\t\t\t.then((result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\telse\n\t\t\tcompanyCustomizeService.create(inputs)\n\t\t\t\t.then((result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (props.CompanyId !== 0) {\n\t\t\tcompanyCustomizeService.getByCompanyId(props.CompanyId).then((result) => {\n\t\t\t\t// debugger\n\t\t\t\tif (result && result != null) {\n\t\t\t\t\tsetCustomize({\n\t\t\t\t\t\tcompanyCustomizeId: result.companyCustomizeId,\n\t\t\t\t\t\tcompanyId: result.CompanyId,\n\t\t\t\t\t\tCustomizeValues: result.customizeValues,\n\t\t\t\t\t\tcompanyLogoFile: null\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tsetCustomize({\n\t\t\t\t\t\tcompanyCustomizeId: 0,\n\t\t\t\t\t\tcompanyId: props.CompanyId,\n\t\t\t\t\t\tCustomizeValues: null,\n\t\t\t\t\t\tcompanyLogoFile: null\n\t\t\t\t\t});\n\n\t\t\t\t}\n\t\t\t\tvar object = result && result.customizeValues != \"\" ? JSON.parse(result.customizeValues) : null;\n\t\t\t\tif (object !== null) {\n\t\t\t\t\tsetValues({\n\t\t\t\t\t\tCompanyCustomizeId: result.companyCustomizeId,\n\t\t\t\t\t\tCompanyId: props.CompanyId,\n\t\t\t\t\t\tCustomizeValues: result.customizeValues,\n\t\t\t\t\t\tCompanyLogoFile: null,\n\t\t\t\t\t\tCompanyLogo: object.CompanyLogo,\n\t\t\t\t\t\tPrimaryColor: object.PrimaryColor,\n\t\t\t\t\t\tSecondaryColor: object.SecondaryColor\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tsetValues({\n\t\t\t\t\t\tCompanyCustomizeId: 0,\n\t\t\t\t\t\tCompanyId: props.CompanyId,\n\t\t\t\t\t\tCustomizeValues: 0,\n\t\t\t\t\t\tCompanyLogoFile: null,\n\t\t\t\t\t\tCompanyLogo: null,\n\t\t\t\t\t\tPrimaryColor: null,\n\t\t\t\t\t\tSecondaryColor: null\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, [props.CompanyId]);\n\n\tconst { handleSubmit, handleInputChange, handleInputFileChange, inputs } = useInputForm(onSave, values);\n\n\tconst styleDrop = {\n\t\tprimary: {\n\t\t\tbackground: inputs.PrimaryColor\n\t\t},\n\t\tsecondary: {\n\t\t\tbackground: inputs.SecondaryColor\n\t\t}\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\tPersonalización\n\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n} \n","import React, { useState } from 'react';\nimport { TabContent, TabPane, Nav, NavItem, NavLink } from 'reactstrap';\nimport classnames from 'classnames';\nimport { AdminDeparment } from './adminDeparment'\nimport { AdminCompanyEventType } from './adminCompanyEventType'\nimport { BranchOffice } from './branchOffice/branchOffice'\nimport { AdminJobRoles } from './jobRoles/adminJobRole'\nimport { Notice } from './notice/notice'\nimport { CompanyCustomize } from './companyCustomize/companyCustomize'\nimport { useSelector } from 'react-redux';\n\nimport './control.scss'\n\nexport function Control() {\n\tconst [activeTab, setActiveTab] = useState('1');\n\tconst companyId = useSelector(state => state.userSettings.companyId)\n\tconsole.log(\"companyId: \",companyId)\n\tconst toggle = tab => {\n\t\t\n\t\tif (activeTab !== tab) setActiveTab(tab);\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    Control

    \n\t\t\t\t
    \n\t\t\t
    \n\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t{/*\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    */}\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t)\n}","import React, { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { companyService } from '../../services/control/company.service';\nimport { useSelector } from \"react-redux\";\n import { companyPaymentMethodService } from \"../../services/control/companyPaymentMethod.service\";\nexport function SearchCompany(props) {\n const countrySetting = useSelector(state => state.countrySetting);\n const [companiesData, setCompaniesData] = useState({ companies: [] });\n\n const handleDelete = (data) => {\n companyService.deleteCompany(data).then((result) => { getCompanies(); });\n };\n\n const [paymentMethods, setPaymentMethods] = useState([]);\n useEffect(() => {\n getCompanies(props.statusValue);\n }, [props.statusValue]);\n\n async function getCompanies(stat) {\n let new_stat\n if(stat === undefined)\n new_stat = true;\n else\n new_stat = stat;\n\n companyService.get(new_stat).then((result) => {\n if (result) {\n setCompaniesData({ companies: result });\n }\n });\n }\n return (\n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {companiesData.companies.map(company => (\n \n \n \n \n \n \n \n \n \n \n \n ))}\n \n
    ID\n\t\t\t\t\tNombre\n\t\t\t\t\tNivel\n\t\t\t\t\tDominio\n\t\t\t\t\tMétodo de pago\n\t\t\t\t\tSaldo a credito\n\t\t\t\t\tSaldo de pre pago\n\t\t\t\t\tEstatus\n\t\t\t\t\t\n
    \n {company.companyId}\n \n {company.companyName}\n \n {company.levelName}\n \n {company.urlRedVoucher}\n \n {company.paymentMethodName ?? \"Sin método de pago\" }\n \n {countrySetting.currency}{(Number(company.creditBalance)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}\n \n {countrySetting.currency}{(Number(company.prepaidBalance)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}\n {company.active ? \"Activo\" : \"Inactivo\"}\n {\n company.active ?\n handleDelete(company.companyId)}>\n \n \n : \"\"\n }\n
    \n
    \n\n );\n}","import React, { useState } from 'react';\nimport { SearchCompany } from './searchCompany';\nimport './companyAdmin.scss'\nimport { Link } from 'react-router-dom';\n\nexport function AdminCompany() {\n\n const [statusSelected, setStatus] = useState(true)\n const handleSelectChange = (event) => {\n setStatus(event.target.value);\n }\n return (\n
    \n
    \n
    \n
    \n

    Empresas

    \n
    \n
    \n \n \n
    \n
    \n Agregar Empresa\n
    \n
    \n
    \n
    \n \n
    \n\n
    \n );\n}","import { callApi } from '../service'\n\nexport const levelsService = {\n getAll\n};\n\nasync function getAll() {\n return callApi('/BackOffice/levels', 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return [];\n }\n });\n}","import React, { useEffect, useState } from 'react';\nimport useInputForm from '../../components/CustonHooks/FormHook'\nimport { companyService } from '../../services/control/company.service';\nimport { levelsService } from '../../services/backoffice/levels.service';\nimport { ecommerceService } from \"../../services/ecommerce.service\";\n\nimport { Link } from 'react-router-dom';\n\nexport function EditCompany(props) {\n \n const [levels, setLevels] = useState([]);\n const onSave = () => {\n inputs.levelId = parseInt(inputs.levelId);\n inputs.minimunAmount = parseFloat(inputs.minimunAmount);\n inputs.paymentMethodId = inputs.paymentMethodId;\n if (inputs.companyId && inputs.companyId > 0)\n companyService.edit(inputs);\n else {\n companyService.create(inputs);\n }\n };\n\n const [company, setCompany] = useState({\n companyId: 0,\n companyName: \"\",\n businessName: \"\",\n urlRedVoucher: \"\",\n telephone1: \"\",\n telephone2: \"\",\n username: \"\",\n password: \"\",\n levelId: 0,\n active: true,\n minimunAmount: 0,\n paymentMethodId: 0\n });\n\n const [paymentMethods, setPaymentMethods] = useState([]);\n \n useEffect(() => {\n ecommerceService.getPaymentMethods()\n .then((result => {\n setPaymentMethods(result);\n }));\n getLevels();\n if (props.companyId != 0) {\n companyService.getById(props.companyId).then((result) => {\n setCompany({\n companyId: result.companyId,\n companyName: result.companyName,\n businessName: result.businessName,\n urlRedVoucher: result.urlRedVoucher,\n telephone1: result.telephone1,\n telephone2: result.telephone2,\n username: result.password,\n password: result.password,\n levelId: result.levelId,\n active: result.active,\n minimunAmount: result.minimunAmount,\n paymentMethodId: result.paymentMethodId\n });\n });\n }\n }, [props.company]);\n\n const { handleSubmit, handleInputChange, inputs, setInputs } = useInputForm(onSave, company);\n\n const handleChangeLevel = (event) => {\n setInputs({ ...inputs, levelId: event.target.value });\n }\n const handleChangeMethod = (event) => {\n setInputs({ ...inputs, paymentMethodId: event.target.value });\n }\n\n const getLevels = () => {\n levelsService.getAll()\n .then((result) => setLevels(result));\n }\n \n return (\n
    \n
    \n
    \n {props.companyId !== 0 ? \"Editar \" : \"Nueva \"}Empresa\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
    \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 {props.companyId == 0 ?\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n : null}\n
    \n
    \n Cancelar\n \n
    \n
    \n
    \n
    \n );\n} ","import React, { useState } from 'react';\nimport { EditCompany } from './editCompany'\n\nexport function DetailsCompany(props) {\n\n return (\n
    \n
    \n
    \n
    \n

    Empresas

    \n
    {props.match.params.id != 0 ? \"Editar \" : \"Nueva \"}empresa
    \n
    \n
    \n
    \n\n \n
    \n );\n} \n","import { callApi, callApiFileStorage } from '../service'\nimport swal from \"sweetalert\"\n\nexport const balanceService = {\n create,\n get,\n getById,\n getBalanceAll,\n edit,\n deleteCompany,\n alertPassword\n};\n\n\nasync function create(data) {\n const formData = new FormData();\n if (data.balanceStatus == 2) formData.append(\"userReceiveId\", data.userReceiveId);\n formData.append(\"tradingMethodId\", data.tradingMethodId);\n formData.append(\"balanceAmount\", data.balanceAmount);\n formData.append(\"folio\", data.folio);\n formData.append(\"voucherImage\", data.voucherImage);\n formData.append(\"paymentTypeId\", data.paymentTypeId);\n formData.append(\"balanceStatusId\", data.balanceStatus);\n formData.append(\"password\", data.password);\n\n return await callApiFileStorage('/BackOffice/Balance', 'POST', formData, false)\n .then(result => {\n if (result.responseCode === '00') {\n swal({ text: \"Se guardo exitosamente\", icon: \"success\" }).then(() => window.location.href = \"/balance\");\n } else {\n console.log(result.responseMessage);\n swal({ text: result.responseMessage, icon: \"error\" });\n }\n });\n}\n\nasync function get(status) {\n return await callApi('/BackOffice/Balance?status=' + status, 'GET')\n .then(result => {\n if (result.responseCode == \"00\")\n return result.data;\n else\n return [];\n })\n .catch(error => {\n console.log('error', error);\n return []\n });\n}\n\nasync function getById(id) {\n return callApi('/BackOffice/Balance/' + id, 'GET').then((result) => {\n if (result.responseCode === '00')\n return result.data;\n else {\n alert(result.responseMessage);\n return null;\n }\n });\n}\n\nasync function getBalanceAll() {\n return callApi('/BackOffice/BalanceAll', 'GET').then((result) => {\n if (result.responseCode === '00')\n // console.log(result.data);\n return result.data;\n else {\n alert(result.responseMessage);\n return null;\n }\n });\n}\n\nasync function edit(data) {\n return callApi('/BackOffice/Balance', 'PUT', data)\n .then((result) => {\n if (result.responseCode === \"00\") {\n swal({ text: `Se ${data.balanceStatusId == 2 ? 'autorizo' : 'rechazo'} correctamente`, icon: \"success\" });\n return true;\n } else {\n swal({ text: result.responseMessage, icon: \"error\" });\n return false;\n }\n });\n}\n\nasync function deleteCompany(id) {\n return callApi('/BackOffice/Balance/' + id, 'DELETE', null).then((result) => {\n if (result.responseCode === '00') {\n swal({ text: \"se desactivó correctamente\", icon: \"success\" })\n return result.data;\n } else {\n console.log(result.responseMessage);\n swal({ text: \"Error al desactivar la compañía\", icon: \"error\" });\n return null;\n }\n });\n}\n\n\nasync function alertPassword(action) {\n // validate password is correct\n return swal({\n title: `Confirmar ${action}`,\n text: \"Para realizar la acción favor de confirmar con su contraseña.\",\n icon: \"warning\",\n buttons: true,\n succesMode: true,\n content: {\n element: \"input\",\n attributes: {\n placeholder: \"Escribe tu contraseña\",\n type: \"password\",\n },\n },\n contetnType: \"password\",\n })\n .then((value) => value);\n}\n\n\n","import React, { useEffect, useState } from 'react';\nimport { balanceService } from '../../services/control/balance.service';\nimport swal from \"sweetalert\"\nimport { useSelector } from \"react-redux\";\n\nimport './balance.scss'\n\nexport function SearchBalance(props) {\n const countrySetting = useSelector(state => state.countrySetting);\n const [balanceData, setBalanceData] = useState({ balances: [] });\n\n const getBalanceAll = () => {\n balanceService.getBalanceAll().then((result) => {\n if (result) {\n setBalanceData({ balances: result });\n }\n });\n }\n\n useEffect(() => {\n getBalanceAll();\n }, []);\n\n\n const onClickAction = (id, status) => {\n balanceService.alertPassword(status == 2 ? \"Autorización\" : \"Rechazo\").then(result => {\n if (result) {\n balanceService.edit({ balanceId: id, balanceStatusId: status, password: result })\n .then(result => { if (result) getBalanceAll() });\n }\n else swal(\"No se ingreso contraseña\", \"Favor de Ingresar su contraseña para realizar acción!\", \"error\");\n });\n }\n\n const downloadVoucherIMage = (data) => {\n fetch(data)\n .then(response => response.blob())\n .then(function(myBlob) {\n const url = window.URL.createObjectURL(new Blob([myBlob]));\n const link = document.createElement('a');\n var extension = data.split('.').pop(); \n link.href = url;\n link.setAttribute('download', `Comprobante.${extension}`);\n document.body.appendChild(link);\n link.click();\n });\n \n }\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/**/}\n \n \n \n {\n balanceData.balances.map(balance => (\n \n \n \n \n \n \n \n \n \n \n \n {/**/}\n \n ))\n }\n \n
    ID TraspasoMétodo de PagoMétodo de NegociaciónSaldoIntermediario / CompañiaUsuario FinalFolioFecha de CreaciónComprobanteEstatus
    {balance.balanceId}{balance.paymentTypeName}{balance.tradingMethodName}{countrySetting.currency}{(Number(balance.balanceAmount)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}{(balance.companyReceiveId === null) ? \"\" : balance.companyReceiveName}{(balance.userReceiveId === null) ? \"\" : balance.userReceiveName}{(balance.folio === null) ? \"\" : balance.folio}{balance.createDate}{\n (balance.voucherImage === null) \n ? \"\" \n : \n }\n \n {balance.balanceStatusId == 1 && balance.editable\n ?\n \n onClickAction(balance.balanceId, 2)} tooltip=''>\n Autorizar\n \n
    \n onClickAction(balance.balanceId, 3)}>\n Rechazar\n \n
    \n : \n {balance.balanceStatusName}\n \n }\n
    \n \n \n \n
    \n
    \n )\n}","import React, { Fragment, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { SearchBalance } from './searchBalance';\nimport { ButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { useSelector } from \"react-redux\";\n\nimport './balance.scss'\n\nexport function Balance() {\n const roleName = useSelector((state) => state.userSettings.roleName);\n const [dropdownOpen, setDropdownOpen] = useState(false);\n const toggle = () => setDropdownOpen(prevState => !prevState);\n\n return (\n
    \n
    \n
    \n
    \n

    Saldos

    \n
    \n
    \n \n \n Saldo\n \n \n {roleName != \"Administrador\" && \n \n Solicitar\n \n \n }\n\n \n \n Asignar\n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n )\n}","import { callApi } from '../service'\n\nexport const paymenttypeService = {\n getAll\n};\n\nasync function getAll() {\n return callApi('/BackOffice/PaymentType', 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return [];\n }\n });\n}","import { callApi } from '../service'\n\nexport const tradingmethodService = {\n getAll\n};\n\nasync function getAll() {\n return callApi('/BackOffice/TradingMethod', 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return [];\n }\n });\n}","import React, { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport swal from \"sweetalert\"\n\nimport useInputForm from '../../components/CustonHooks/FormHook';\nimport { paymenttypeService } from '../../services/backoffice/paymenttype.service';\nimport { tradingmethodService } from '../../services/backoffice/tradingmethod.service';\n\nimport { companyService } from '../../services/control/company.service';\nimport { balanceService } from '../../services/control/balance.service';\n\nexport function EditBalance(props) {\n const [paymentType, setPaymentType] = useState([]);\n const [tradingMethod, setTradingMethod] = useState([]);\n const [companyUserProfCatalog, setCompanyUserProfCatalog] = useState([]);\n const [balance, setBalance] = useState({\n tradingMethodId: 0,\n userReceiveId: 0,\n balanceAmount: 0.0,\n folio: \"\",\n voucherImage: \"\",\n paymentTypeId: 0,\n active: true,\n balanceStatus: props.status\n });\n\n const onSave = () => {\n inputs.paymentTypeId = parseInt(inputs.paymentTypeId);\n inputs.tradingMethodId = parseInt(inputs.tradingMethodId);\n inputs.userReceiveId = parseInt(inputs.userReceiveId);\n inputs.balanceAmount = parseFloat(inputs.balanceAmount);\n inputs.balanceStatus = parseInt(inputs.balanceStatus)\n if (inputs.balanceStatus == 2) {\n balanceService.alertPassword(\"Asignación\").then(result => {\n if (result) {\n inputs.password = result;\n balanceService.create(inputs);\n }\n else swal(\"No se ingreso contraseña\", \"Favor de Ingresar su contraseña para realizar acción!\", \"error\");\n });\n } else balanceService.create(inputs);\n };\n\n const handleChangeCompanyUsersCatalog = (event) => {\n setInputs({ ...inputs, userReceiveId: parseInt(event.target.value) });\n }\n\n const handleChangePaymentType = (event) => {\n setInputs({ ...inputs, paymentTypeId: event.target.value });\n }\n\n const handleChangeTradingMethod = (event) => {\n setInputs({ ...inputs, tradingMethodId: event.target.value });\n }\n\n const getUserProfCompanyCatalog = () => {\n companyService.getCompanyUsersCatalog()\n .then((result) => { setCompanyUserProfCatalog(result) });\n }\n\n const getPaymentType = () => {\n paymenttypeService.getAll()\n .then((result) => setPaymentType(result));\n }\n\n const getTradingMethod = () => {\n tradingmethodService.getAll()\n .then((result) => setTradingMethod(result));\n }\n\n useEffect(() => {\n getUserProfCompanyCatalog();\n getPaymentType();\n getTradingMethod();\n }, [props.balance]);\n\n const { handleSubmit, handleInputChange, handleInputFileChange, inputs, setInputs } = useInputForm(onSave, balance);\n\n return (\n
    \n
    \n
    \n {props.status == 1 ? \"Solicitar \" : \"Asignar \"}Saldo\n {props.status == 2 &&\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
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Regresar\n \n
    \n
    \n
    \n
    \n )\n}","import React, { useState } from 'react';\nimport { EditBalance } from './editBalance'\n\nexport function DetailsBalance(props) {\n\n return (\n
    \n
    \n
    \n
    \n

    Saldos

    \n
    {props.match.params.status == 1 ? \"Solicitar \" : \"Asignar \"}Saldo
    \n
    \n
    \n
    \n\n \n
    \n );\n} \n","import { callApi } from '../service'\nimport swal from \"sweetalert\"\n\nexport const productService = {\n create,\n update,\n getAll,\n getById,\n getProviders,\n getProducts\n};\n\nasync function create(data) {\n data.productId = parseInt(data.productId.split(\"-\")[0]);\n return await callApi('/BackOfficeProducts/Commission', 'POST', data)\n .then(result => {\n if (result.responseCode === '00') {\n swal({ text: \"Se guardo exitosamente\", icon: \"success\" }).then(() => window.location.href = \"/products\");\n } else {\n console.log(result.responseMessage);\n swal({ text: result.responseMessage, icon: \"error\" });\n }\n });\n}\n\nasync function update(data) {\n return await callApi('/BackOfficeProducts/Commission', 'Patch', data)\n .then(result => {\n if (result.responseCode === '00') {\n swal({ text: \"Se guardo exitosamente\", icon: \"success\" }).then(() => window.location.href = \"/products\");\n } else {\n console.log(result.responseMessage);\n swal({ text: result.responseMessage, icon: \"error\" });\n }\n });\n}\n\nasync function getAll() {\n return callApi('/BackOfficeProducts/Commission', 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return [];\n }\n });\n}\n\nasync function getById(id) {\n return callApi('/BackOfficeProducts/Commission/' + id, 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return {};\n }\n });\n}\n\n\nasync function getProviders(saleChannelId) {\n return callApi(`/BackOfficeProducts/SaleChannel/${saleChannelId}/Providers`, 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return [];\n }\n });\n}\n\nasync function getProducts(saleChannelId, providerId) {\n return callApi(`/BackOfficeProducts/SaleChannel/${saleChannelId}/Provider/${providerId}`, 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return [];\n }\n });\n}","import React, { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useSelector } from \"react-redux\";\nimport { productService } from '../../services/backoffice/product.service';\n\nimport './products.scss'\n\nexport function SearchProducts(props) {\n const roleName = useSelector(state => state.userSettings.roleName)\n const [data, setData] = useState([]);\n\n const getAll = () => {\n productService.getAll().then((result) => {\n if (result) {\n setData(result);\n }\n });\n }\n\n useEffect(() => {\n getAll();\n }, []);\n\n const countrySetting = useSelector(state => state.countrySetting);\n\n return (\n
    \n \n \n \n \n \n \n \n \n {roleName != 'Administrador' && }\n \n \n \n \n \n {\n data.map(item => (\n \n \n \n \n \n \n {roleName != 'Administrador' && }\n \n \n \n ))\n }\n \n
    Intermediario/CompañiaProveedor Canal de ventaProductoValor Facial/PrecioCostoDescuento %Precio Final
    {item.companyName}{item.providerName}{item.saleChannelName}{item.productName}{countrySetting.currency}{(Number(item.value)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}{countrySetting.currency}{(Number(item.cost)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}{item.commission} %{countrySetting.currency}{(Number(item.price)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}
    \n
    \n )\n}","import React, { Fragment, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { SearchProducts } from './searchProducts';\nimport { ButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { useSelector } from \"react-redux\";\n\nimport './products.scss'\n\nexport function Products() {\n const roleName = useSelector((state) => state.userSettings.roleName);\n const [dropdownOpen, setDropdownOpen] = useState(false);\n const toggle = () => setDropdownOpen(prevState => !prevState);\n\n return (\n
    \n
    \n
    \n
    \n

    Productos

    \n
    \n
    \n \n \n Productos\n \n \n \n \n Asignar\n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n )\n}","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport swal from \"sweetalert\";\n\nimport useInputForm from \"../../components/CustonHooks/FormHook\";\n\nimport { companyService } from \"../../services/control/company.service\";\nimport { productService } from \"../../services/backoffice/product.service\";\n\nexport function EditProduct(props) {\n // inputs\n const [company, setCompany] = useState([]);\n const [providers, setProviders] = useState([]);\n const [products, setProducts] = useState([]);\n const [commission, setCommision] = useState({\n saleChannelId: 0,\n providerId: 0,\n productId: 0,\n companyId: 0,\n commission: 0,\n value: 0,\n price: 0,\n });\n\n // submit form\n const onSave = () => {\n if (props.id == 0) {\n inputs.saleChannelId = parseInt(inputs.saleChannelId);\n inputs.providerId = parseInt(inputs.providerId);\n inputs.companyId = parseInt(inputs.companyId);\n productService.create(inputs);\n } else {\n inputs.id = props.id;\n productService.update(inputs);\n }\n };\n\n const handleChangeSaleChannel = (event) => {\n setInputs({ ...inputs, saleChannelId: event.target.value });\n if (event.target.value != \"\") getProviders(event.target.value);\n else setProviders([]);\n };\n\n const handleChangeProviders = (event) => {\n setInputs({ ...inputs, providerId: event.target.value });\n if (event.target.value != \"\") {\n getProducts(inputs.saleChannelId, event.target.value);\n } else {\n setProducts([]);\n }\n };\n\n const handleChangeProducts = (event) => {\n const value = parseInt(event.target.value.split(\"-\")[1]);\n setInputs({\n ...inputs,\n productId: event.target.value,\n value: value,\n price: (value * (100 - inputs.commission)) / 100,\n });\n };\n\n const handleChangeCompany = (event) => {\n setInputs({ ...inputs, companyId: event.target.value });\n };\n\n const handleChangeCommission = (event) => {\n const commission = parseFloat(event.target.value);\n setInputs({\n ...inputs,\n commission: parseFloat(event.target.value),\n price: (inputs.value * (100 - commission)) / 100,\n });\n };\n\n const getCompanies = () => {\n companyService.getCompanyCatalog().then((result) => {\n setCompany(result);\n });\n };\n\n const getProducts = (providerId, saleChannelId) => {\n productService.getProducts(providerId, saleChannelId).then((result) => {\n setProducts(result);\n });\n };\n\n const getProviders = (saleChannelId) => {\n productService.getProviders(saleChannelId).then((result) => {\n setProviders(result);\n });\n };\n\n // ciclelife\n useEffect(() => {\n if (props.id == 0) {\n getCompanies();\n } else {\n productService.getById(props.id).then((result) => {\n setInputs(result);\n });\n }\n }, [props.id]);\n\n const { handleSubmit, handleInputChange, inputs, setInputs } = useInputForm(\n onSave,\n commission\n );\n\n return (\n
    \n
    \n
    \n \n {props.id == 0 ? \"Asignar producto\" : \"Editar comisión\"}\n \n
    \n
    \n
    \n \n {props.id == 0 ? (\n \n \n \n \n \n ) : (\n \n {inputs.saleChannelName}\n \n )}\n
    \n
    \n
    \n
    \n \n {props.id == 0 ? (\n \n \n {providers.map((item) => (\n \n ))}\n \n ) : (\n \n {inputs.providerName}\n \n )}\n
    \n
    \n
    \n
    \n
    \n
    \n \n {props.id == 0 ? (\n \n \n {products\n ? products.map((item) => (\n \n {item.productName}\n \n ))\n : null}\n \n ) : (\n \n {inputs.productName}\n \n )}\n
    \n
    \n
    \n
    \n \n {props.id == 0 ? (\n \n \n {company.map((item) => (\n \n ))}\n \n ) : (\n \n {inputs.companyName}\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 Regresar\n \n \n
    \n
    \n
    \n
    \n );\n}\n","import React, { useState } from 'react';\nimport { EditProduct } from './editProduct'\n\nexport function DetailsProducts(props) {\n\n return (\n
    \n
    \n
    \n
    \n

    Productos

    \n
    {props.match.params.id == 0 ? \"Asignar producto\" : \"Editar comisión\"}
    \n
    \n
    \n
    \n\n \n
    \n );\n} \n","import { callApi } from '../service'\nimport swal from \"sweetalert\"\n\nexport const companyProductService = {\n update,\n getAll,\n getById\n};\n\nasync function update(data) {\n return await callApi('/BackOffice/DiscountUser', 'PUT', data)\n .then(result => {\n if (result.responseCode === '00') {\n swal({ text: \"Se guardo exitosamente\", icon: \"success\" }).then(() => window.location.href = \"/discount-user\");\n } else {\n console.log(result.responseMessage);\n swal({ text: result.responseMessage, icon: \"error\" });\n }\n });\n}\n\nasync function getAll() {\n return callApi('/BackOffice/DiscountUser', 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return [];\n }\n });\n}\n\nasync function getById(productId, providerId) {\n return callApi('/BackOffice/DiscountUser/' + productId + '/' + providerId, 'GET')\n .then((result) => {\n if (result.responseCode === \"00\") {\n return result.data;\n } else {\n return {};\n }\n });\n}","import React, { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport swal from \"sweetalert\"\nimport { useSelector } from \"react-redux\";\nimport { companyProductService } from '../../services/backoffice/companyProduct.service';\n\nimport './discount.scss'\n\nexport function SearchDiscount(props) {\n const [data, setData] = useState([]);\n\n const getAllCompanyProduct = () => {\n companyProductService.getAll().then((result) => {\n if (result) {\n setData(result);\n }\n });\n }\n\n useEffect(() => {\n getAllCompanyProduct();\n }, []);\n\n const countrySetting = useSelector(state => state.countrySetting);\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n {\n data.map(item => (\n \n \n \n \n \n \n \n ))\n }\n \n
    Proveedor ProductoValor Facial/PrecioDescuento %Precio Final
    {item.providerName}{item.productName}{countrySetting.currency}{(Number(item.value)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}{(item.pecentageDiscountUser != null) ? item.pecentageDiscountUser : \"0\"} %\n {countrySetting.currency}{(Number(item.price)).toLocaleString(countrySetting.cultureCode, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}\n
    \n
    \n )\n}","import React, { Fragment, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { SearchDiscount } from './searchDiscount';\nimport { ButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { useSelector } from \"react-redux\";\n\nimport './discount.scss'\n\nexport function Discount() {\n const roleName = useSelector((state) => state.userSettings.roleName);\n const [dropdownOpen, setDropdownOpen] = useState(false);\n const toggle = () => setDropdownOpen(prevState => !prevState);\n\n return (\n
    \n
    \n
    \n
    \n

    Descuentos

    \n
    \n {/*
    \n \n \n Descuentos\n \n \n \n \n Asignar\n \n \n \n \n
    */}\n
    \n
    \n
    \n \n
    \n\n
    \n )\n}","import React, { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport swal from \"sweetalert\"\n\nimport useInputForm from '../../components/CustonHooks/FormHook';\n\nimport { companyProductService } from '../../services/backoffice/companyProduct.service';\n\nexport function EditDiscount(props) {\n // inputs\n const [company, setCompany] = useState([]);\n const [providers, setProviders] = useState([]);\n const [productsProvider, setProductsProvider] = useState([]);\n const [selectedProvider, setSelectedProvider] = useState(false);\n const [commission, setCommision] = useState({\n providerId: 0,\n productId: 0,\n companyId: 0,\n pecentageDiscountUser: 0,\n value: 0,\n price: 0\n });\n\n // submit form\n const onSave = () => {\n inputs.productId = parseInt(inputs.productId);\n inputs.providerId = parseInt(inputs.providerId);\n inputs.companyId = parseInt(inputs.companyId);\n inputs.pecentageDiscountUser = parseInt(inputs.pecentageDiscountUser);\n companyProductService.update(inputs);\n };\n\n // handleinputs\n const handleChangePercentageDiscount = (event) => {\n const commission = parseInt(event.target.value);\n setInputs({ ...inputs, pecentageDiscountUser: parseInt(event.target.value), price: (inputs.value * (100 - commission)) / 100 });\n }\n\n // ciclelife\n useEffect(() => {\n if (props.productId != 0) {\n companyProductService.getById(parseInt(props.productId), parseInt(props.providerId))\n .then((result) => { setInputs(result) });\n }\n }, [props.productId, props.providerId]);\n\n const { handleSubmit, handleInputChange, inputs, setInputs } = useInputForm(onSave, commission);\n\n return (\n
    \n
    \n
    \n Editar Descuento\n
    \n
    \n
    \n \n { props.productId == 0 ?\n null\n :\n {inputs.providerName}\n }\n
    \n
    \n
    \n
    \n \n { props.productId == 0 ?\n null\n :\n {inputs.productName}\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 Regresar\n \n
    \n
    \n
    \n
    \n )\n}","import React, { useState } from 'react';\nimport { EditDiscount } from './editDiscount'\n\nexport function DetailsDiscount(props) {\n\n return (\n
    \n
    \n
    \n
    \n

    Descuentos

    \n
    Editar descuento
    \n
    \n
    \n
    \n\n \n
    \n );\n} \n","import React, { useEffect } from 'react';\nimport {\n Route,\n Switch,\n Redirect,\n useLocation\n} from 'react-router-dom'\nimport {\n LayoutFull,\n LayoutLess\n} from './components/layouts'\n\nimport * as Pages from './pages'\nimport * as Admin from './backoffice'\nimport * as Control from './control'\nimport ReactGA from 'react-ga';\n\nexport function App(props) {\n const location = useLocation();\n\n useEffect(() => {\n //Google Analytics()\n ReactGA.initialize(process.env.REACT_APP_TRACKING_ID_GA);\n ReactGA.plugin.require('displayfeatures');\n ReactGA.pageview(location.pathname);\n }, []);\n\n useEffect(() => {\n ReactGA.pageview(location.pathname)\n }, [location.pathname]);\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\n {/* == OPERACIONES == */}\n (} />)} />\n (} />)} />\n\n {/* == Saldos == */}\n (} />)} />\n (} />)} />\n\n {/* == Asignar Productos a Inter/Company == */}\n (} />)} />\n (} />)} />\n\n {/* == Descuentos a usuarios == */}\n (} />)} />\n (} />)} />\n\n \n\n \n\n )\n}","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport {\n BrowserRouter as Router\n} from 'react-router-dom'\nimport { App } from './App';\nimport * as registerServiceWorker from './registerServiceWorker';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './assets/theme/main.scss'\nimport { Provider } from 'react-redux';\nimport store from './store/configureStore';\n\nReactDOM.render(\n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\nregisterServiceWorker.register({\n onUpdate: registration => {\n if (registration && registration.waiting) {\n registration.waiting.postMessage({ type: 'SKIP_WAITING' });\n }\n window.location.reload();\n }\n});\n\n","module.exports = __webpack_public_path__ + \"static/media/R_C.1853217b.png\";","module.exports = __webpack_public_path__ + \"static/media/ico_pass.2279f1a3.png\";"],"sourceRoot":""}